diff options
1704 files changed, 42538 insertions, 14966 deletions
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index 21cbdd9860..cea485a67b 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -42,8 +42,8 @@ Source: https://github.com/godotengine/godot Files: * Comment: Godot Engine -Copyright: 2007-2017, Juan Linietsky, Ariel Manzur. - 2014-2017, Godot Engine contributors. +Copyright: 2007-2018, Juan Linietsky, Ariel Manzur. + 2014-2018, Godot Engine contributors. License: Expat Files: ./icon.png @@ -91,8 +91,8 @@ Files: ./platform/android/power_android.cpp ./platform/x11/power_x11.cpp Comment: Simple DirectMedia Layer Copyright: 1997-2017, Sam Lantinga - 2007-2017, Juan Linietsky, Ariel Manzur. - 2014-2017, Godot Engine contributors. + 2007-2018, Juan Linietsky, Ariel Manzur. + 2014-2018, Godot Engine contributors. License: Expat and Zlib Files: ./servers/physics/gjk_epa.cpp @@ -107,16 +107,16 @@ Files: ./servers/physics/gjk_epa.cpp ./servers/physics/joints/slider_joint_sw.h Comment: Bullet Continuous Collision Detection and Physics Library Copyright: 2003-2008, Erwin Coumans - 2007-2017, Juan Linietsky, Ariel Manzur. - 2014-2017, Godot Engine contributors. + 2007-2018, Juan Linietsky, Ariel Manzur. + 2014-2018, Godot Engine contributors. License: Expat and Zlib Files: ./servers/physics/joints/cone_twist_joint_sw.cpp ./servers/physics/joints/cone_twist_joint_sw.h Comment: Bullet Continuous Collision Detection and Physics Library Copyright: 2007, Starbreeze Studios - 2007-2017, Juan Linietsky, Ariel Manzur. - 2014-2017, Godot Engine contributors. + 2007-2018, Juan Linietsky, Ariel Manzur. + 2014-2018, Godot Engine contributors. License: Expat and Zlib Files: ./thirdparty/b2d_convexdecomp/ diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index dbfb2bdeab..ddddc3a1a9 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -1,5 +1,5 @@ **Godot version:** -<!-- If thirdparty of self-compiled, specify the build date or commit hash. --> +<!-- If thirdparty or self-compiled, specify the build date or commit hash. --> **OS/device including version:** @@ -15,3 +15,6 @@ **Minimal reproduction project:** <!-- Optional but greatly speeds up debugging. You can drag and drop a zip archive to upload it. --> + + +- [ ] I searched the existing [GitHub issues](https://github.com/godotengine/godot/issues?utf8=%E2%9C%93&q=is%3Aissue+) for potential duplicates. diff --git a/LICENSE.txt b/LICENSE.txt index bcce1a3a33..c7ad3ddaa3 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ -Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. -Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/SConstruct b/SConstruct index 88cd1494f1..88b29695cb 100644 --- a/SConstruct +++ b/SConstruct @@ -168,7 +168,6 @@ opts.Add(BoolVariable('vsproj', "Generate Visual Studio Project.", False)) opts.Add(EnumVariable('warnings', "Set the level of warnings emitted during compilation", 'no', ('extra', 'all', 'moderate', 'no'))) opts.Add(BoolVariable('progress', "Show a progress indicator during build", True)) opts.Add(BoolVariable('dev', "If yes, alias for verbose=yes warnings=all", False)) -opts.Add(BoolVariable('openmp', "If yes, enable OpenMP", True)) opts.Add(EnumVariable('macports_clang', "Build using clang from MacPorts", 'no', ('no', '5.0', 'devel'))) # Thirdparty libraries @@ -411,9 +410,7 @@ if selected_platform in platform_list: methods.update_version(env.module_version_string) - suffix += env.module_version_string - - env["PROGSUFFIX"] = suffix + env["PROGSUFFIX"] + env["PROGSUFFIX"] = suffix + env.module_version_string + env["PROGSUFFIX"] env["OBJSUFFIX"] = suffix + env["OBJSUFFIX"] env["LIBSUFFIX"] = suffix + env["LIBSUFFIX"] env["SHLIBSUFFIX"] = suffix + env["SHLIBSUFFIX"] diff --git a/core/allocators.h b/core/allocators.h index 0b891b76a9..0d5989b4ab 100644 --- a/core/allocators.h +++ b/core/allocators.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/array.cpp b/core/array.cpp index 1ccbbae147..a333830d3a 100644 --- a/core/array.cpp +++ b/core/array.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/array.h b/core/array.h index 3d70a31d2f..4aef4f49c5 100644 --- a/core/array.h +++ b/core/array.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index f6011c3976..c1e33c1493 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index b642a907fb..ed4111fea4 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/class_db.cpp b/core/class_db.cpp index b18e3d2b65..141bc1c5e2 100644 --- a/core/class_db.cpp +++ b/core/class_db.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/class_db.h b/core/class_db.h index 55fe01ec6d..c977068be1 100644 --- a/core/class_db.h +++ b/core/class_db.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/color.cpp b/core/color.cpp index 78b11a84df..00a31dfdd8 100644 --- a/core/color.cpp +++ b/core/color.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/color.h b/core/color.h index da2bfdcd98..70b0e1fea2 100644 --- a/core/color.h +++ b/core/color.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/command_queue_mt.cpp b/core/command_queue_mt.cpp index 2028a18a06..8ce0ba7810 100644 --- a/core/command_queue_mt.cpp +++ b/core/command_queue_mt.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/command_queue_mt.h b/core/command_queue_mt.h index af91ee0cd9..e53ded6755 100644 --- a/core/command_queue_mt.h +++ b/core/command_queue_mt.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/compressed_translation.cpp b/core/compressed_translation.cpp index 5c7b793590..b393b67d50 100644 --- a/core/compressed_translation.cpp +++ b/core/compressed_translation.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/compressed_translation.h b/core/compressed_translation.h index acccf95743..bedd38d1bc 100644 --- a/core/compressed_translation.h +++ b/core/compressed_translation.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/core_string_names.cpp b/core/core_string_names.cpp index 3091c80607..7a9edcad46 100644 --- a/core/core_string_names.cpp +++ b/core/core_string_names.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/core_string_names.h b/core/core_string_names.h index 6fcc773169..f48692f470 100644 --- a/core/core_string_names.h +++ b/core/core_string_names.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/dictionary.cpp b/core/dictionary.cpp index 66af6a1a9a..72893c41f6 100644 --- a/core/dictionary.cpp +++ b/core/dictionary.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/dictionary.h b/core/dictionary.h index 1d8ca0023e..86f676fc38 100644 --- a/core/dictionary.h +++ b/core/dictionary.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/dvector.cpp b/core/dvector.cpp index 185cecd531..653c04b498 100644 --- a/core/dvector.cpp +++ b/core/dvector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/dvector.h b/core/dvector.h index 66bf0e7862..492a4e0ed9 100644 --- a/core/dvector.h +++ b/core/dvector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/engine.cpp b/core/engine.cpp index 53c7a73b43..4cadad1f6e 100644 --- a/core/engine.cpp +++ b/core/engine.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/engine.h b/core/engine.h index 1becebe34a..2741d09b52 100644 --- a/core/engine.h +++ b/core/engine.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/error_list.h b/core/error_list.h index 9a36b27aab..47233e39fe 100644 --- a/core/error_list.h +++ b/core/error_list.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/error_macros.cpp b/core/error_macros.cpp index a942b1dd2d..76be0756b8 100644 --- a/core/error_macros.cpp +++ b/core/error_macros.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/error_macros.h b/core/error_macros.h index 8d2f588706..2bfa94b99e 100644 --- a/core/error_macros.h +++ b/core/error_macros.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/func_ref.cpp b/core/func_ref.cpp index d9a8f6bcdb..98053808b4 100644 --- a/core/func_ref.cpp +++ b/core/func_ref.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/func_ref.h b/core/func_ref.h index b9b1988ede..9f2df8cb5d 100644 --- a/core/func_ref.h +++ b/core/func_ref.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/global_constants.cpp b/core/global_constants.cpp index a8f6e4da6c..abe829420a 100644 --- a/core/global_constants.cpp +++ b/core/global_constants.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -98,6 +98,11 @@ void register_global_constants() { BIND_GLOBAL_ENUM_CONSTANT(MARGIN_RIGHT); BIND_GLOBAL_ENUM_CONSTANT(MARGIN_BOTTOM); + BIND_GLOBAL_ENUM_CONSTANT(CORNER_TOP_LEFT); + BIND_GLOBAL_ENUM_CONSTANT(CORNER_TOP_RIGHT); + BIND_GLOBAL_ENUM_CONSTANT(CORNER_BOTTOM_RIGHT); + BIND_GLOBAL_ENUM_CONSTANT(CORNER_BOTTOM_LEFT); + BIND_GLOBAL_ENUM_CONSTANT(VERTICAL); BIND_GLOBAL_ENUM_CONSTANT(HORIZONTAL); @@ -573,6 +578,38 @@ void register_global_constants() { BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("TYPE_VECTOR3_ARRAY", Variant::POOL_VECTOR3_ARRAY); BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("TYPE_COLOR_ARRAY", Variant::POOL_COLOR_ARRAY); BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("TYPE_MAX", Variant::VARIANT_MAX); + + //comparation + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_EQUAL", Variant::OP_EQUAL); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_NOT_EQUAL", Variant::OP_NOT_EQUAL); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_LESS", Variant::OP_LESS); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_LESS_EQUAL", Variant::OP_LESS_EQUAL); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_GREATER", Variant::OP_GREATER); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_GREATER_EQUAL", Variant::OP_GREATER_EQUAL); + //mathematic + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_ADD", Variant::OP_ADD); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_SUBTRACT", Variant::OP_SUBTRACT); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_MULTIPLY", Variant::OP_MULTIPLY); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_DIVIDE", Variant::OP_DIVIDE); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_NEGATE", Variant::OP_NEGATE); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_POSITIVE", Variant::OP_POSITIVE); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_MODULE", Variant::OP_MODULE); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_STRING_CONCAT", Variant::OP_STRING_CONCAT); + //bitwise + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_SHIFT_LEFT", Variant::OP_SHIFT_LEFT); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_SHIFT_RIGHT", Variant::OP_SHIFT_RIGHT); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_BIT_AND", Variant::OP_BIT_AND); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_BIT_OR", Variant::OP_BIT_OR); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_BIT_XOR", Variant::OP_BIT_XOR); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_BIT_NEGATE", Variant::OP_BIT_NEGATE); + //logic + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_AND", Variant::OP_AND); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_OR", Variant::OP_OR); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_XOR", Variant::OP_XOR); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_NOT", Variant::OP_NOT); + //containment + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_IN", Variant::OP_IN); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_MAX", Variant::OP_MAX); } void unregister_global_constants() { diff --git a/core/global_constants.h b/core/global_constants.h index 350018e336..09f93e34a2 100644 --- a/core/global_constants.h +++ b/core/global_constants.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/hash_map.h b/core/hash_map.h index 3ec3961d73..1a4f879fea 100644 --- a/core/hash_map.h +++ b/core/hash_map.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/hashfuncs.h b/core/hashfuncs.h index 2880cc451e..0725a7ebf6 100644 --- a/core/hashfuncs.h +++ b/core/hashfuncs.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/helper/math_fieldwise.cpp b/core/helper/math_fieldwise.cpp index 9e5eab2ee8..ff3f8b3520 100644 --- a/core/helper/math_fieldwise.cpp +++ b/core/helper/math_fieldwise.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/helper/math_fieldwise.h b/core/helper/math_fieldwise.h index 400df040a4..c883c44f84 100644 --- a/core/helper/math_fieldwise.h +++ b/core/helper/math_fieldwise.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/helper/value_evaluator.h b/core/helper/value_evaluator.h index bb234de989..954d229517 100644 --- a/core/helper/value_evaluator.h +++ b/core/helper/value_evaluator.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/image.cpp b/core/image.cpp index 422c0e407b..11429b8782 100644 --- a/core/image.cpp +++ b/core/image.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -2287,6 +2287,9 @@ void Image::_bind_methods() { ClassDB::bind_method(D_METHOD("set_pixel", "x", "y", "color"), &Image::set_pixel); ClassDB::bind_method(D_METHOD("get_pixel", "x", "y"), &Image::get_pixel); + ClassDB::bind_method(D_METHOD("load_png_from_buffer", "buffer"), &Image::load_png_from_buffer); + ClassDB::bind_method(D_METHOD("load_jpg_from_buffer", "buffer"), &Image::load_jpg_from_buffer); + ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "_set_data", "_get_data"); BIND_ENUM_CONSTANT(FORMAT_L8); //luminance @@ -2505,6 +2508,40 @@ String Image::get_format_name(Format p_format) { return format_names[p_format]; } +Error Image::load_png_from_buffer(const PoolVector<uint8_t> &p_array) { + + int buffer_size = p_array.size(); + + ERR_FAIL_COND_V(buffer_size == 0, ERR_INVALID_PARAMETER); + ERR_FAIL_COND_V(!_png_mem_loader_func, ERR_INVALID_PARAMETER); + + PoolVector<uint8_t>::Read r = p_array.read(); + + Ref<Image> image = _png_mem_loader_func(r.ptr(), buffer_size); + ERR_FAIL_COND_V(!image.is_valid(), ERR_PARSE_ERROR); + + copy_internals_from(image); + + return OK; +} + +Error Image::load_jpg_from_buffer(const PoolVector<uint8_t> &p_array) { + + int buffer_size = p_array.size(); + + ERR_FAIL_COND_V(buffer_size == 0, ERR_INVALID_PARAMETER); + ERR_FAIL_COND_V(!_jpg_mem_loader_func, ERR_INVALID_PARAMETER); + + PoolVector<uint8_t>::Read r = p_array.read(); + + Ref<Image> image = _jpg_mem_loader_func(r.ptr(), buffer_size); + ERR_FAIL_COND_V(!image.is_valid(), ERR_PARSE_ERROR); + + copy_internals_from(image); + + return OK; +} + Image::Image(const uint8_t *p_mem_png_jpg, int p_len) { width = 0; diff --git a/core/image.h b/core/image.h index 24693aa706..767f3c6ac5 100644 --- a/core/image.h +++ b/core/image.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -296,6 +296,9 @@ public: static void set_compress_bc_func(void (*p_compress_func)(Image *, CompressSource)); static String get_format_name(Format p_format); + Error load_png_from_buffer(const PoolVector<uint8_t> &p_array); + Error load_jpg_from_buffer(const PoolVector<uint8_t> &p_array); + Image(const uint8_t *p_mem_png_jpg, int p_len = -1); Image(const char **p_xpm); diff --git a/core/input_map.cpp b/core/input_map.cpp index 82a2eaddae..7833aab3f3 100644 --- a/core/input_map.cpp +++ b/core/input_map.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/input_map.h b/core/input_map.h index 18e6b04d4e..12ac1b339b 100644 --- a/core/input_map.h +++ b/core/input_map.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/int_types.h b/core/int_types.h index e9bcc88ee8..e2b70d58fc 100644 --- a/core/int_types.h +++ b/core/int_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/compression.cpp b/core/io/compression.cpp index 51d48901cf..a4dbebe9f7 100644 --- a/core/io/compression.cpp +++ b/core/io/compression.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/compression.h b/core/io/compression.h index 5a9aedec31..034c5ab708 100644 --- a/core/io/compression.h +++ b/core/io/compression.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/config_file.cpp b/core/io/config_file.cpp index 2b60150832..9a013cb775 100644 --- a/core/io/config_file.cpp +++ b/core/io/config_file.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/config_file.h b/core/io/config_file.h index 29bd369a24..2168e654dd 100644 --- a/core/io/config_file.h +++ b/core/io/config_file.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_buffered.cpp b/core/io/file_access_buffered.cpp index 9ec03bf32b..442ab2c6e4 100644 --- a/core/io/file_access_buffered.cpp +++ b/core/io/file_access_buffered.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_buffered.h b/core/io/file_access_buffered.h index 70aaeb8ae0..2d6df5d48a 100644 --- a/core/io/file_access_buffered.h +++ b/core/io/file_access_buffered.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_buffered_fa.h b/core/io/file_access_buffered_fa.h index 67751e840f..bb3d3f33f6 100644 --- a/core/io/file_access_buffered_fa.h +++ b/core/io/file_access_buffered_fa.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_compressed.cpp b/core/io/file_access_compressed.cpp index c6f31dc8f0..aabd70cc7b 100644 --- a/core/io/file_access_compressed.cpp +++ b/core/io/file_access_compressed.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_compressed.h b/core/io/file_access_compressed.h index 1d99e5bfd4..65eefbcd97 100644 --- a/core/io/file_access_compressed.h +++ b/core/io/file_access_compressed.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_encrypted.cpp b/core/io/file_access_encrypted.cpp index 71ebf57508..67151f6934 100644 --- a/core/io/file_access_encrypted.cpp +++ b/core/io/file_access_encrypted.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_encrypted.h b/core/io/file_access_encrypted.h index d83fed3e0e..002a124e86 100644 --- a/core/io/file_access_encrypted.h +++ b/core/io/file_access_encrypted.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_memory.cpp b/core/io/file_access_memory.cpp index 0a5815fca8..8812aa847e 100644 --- a/core/io/file_access_memory.cpp +++ b/core/io/file_access_memory.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_memory.h b/core/io/file_access_memory.h index 23392719b4..1d438409cc 100644 --- a/core/io/file_access_memory.h +++ b/core/io/file_access_memory.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_network.cpp b/core/io/file_access_network.cpp index 61a0521cae..1aa431dcae 100644 --- a/core/io/file_access_network.cpp +++ b/core/io/file_access_network.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_network.h b/core/io/file_access_network.h index 20614476d0..4d8e8f1a9a 100644 --- a/core/io/file_access_network.h +++ b/core/io/file_access_network.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_pack.cpp b/core/io/file_access_pack.cpp index c46e645ed8..318e3ad759 100644 --- a/core/io/file_access_pack.cpp +++ b/core/io/file_access_pack.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_pack.h b/core/io/file_access_pack.h index 12187a353a..6c5fec1498 100644 --- a/core/io/file_access_pack.h +++ b/core/io/file_access_pack.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_zip.cpp b/core/io/file_access_zip.cpp index ec809011a9..c439ac7fa5 100644 --- a/core/io/file_access_zip.cpp +++ b/core/io/file_access_zip.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/file_access_zip.h b/core/io/file_access_zip.h index 0977b241ee..b8f4a93e2a 100644 --- a/core/io/file_access_zip.h +++ b/core/io/file_access_zip.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/http_client.cpp b/core/io/http_client.cpp index e457a4ac1e..088c05dfae 100644 --- a/core/io/http_client.cpp +++ b/core/io/http_client.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/http_client.h b/core/io/http_client.h index 3d8953c156..0fcaf26fdb 100644 --- a/core/io/http_client.h +++ b/core/io/http_client.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/image_loader.cpp b/core/io/image_loader.cpp index 637b95ccf8..c4cdb86c85 100644 --- a/core/io/image_loader.cpp +++ b/core/io/image_loader.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/image_loader.h b/core/io/image_loader.h index 17a89603fa..b147566aed 100644 --- a/core/io/image_loader.h +++ b/core/io/image_loader.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/ip.cpp b/core/io/ip.cpp index 60a44b2128..9d55c5258f 100644 --- a/core/io/ip.cpp +++ b/core/io/ip.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/ip.h b/core/io/ip.h index 04c6811792..69a9b7fd67 100644 --- a/core/io/ip.h +++ b/core/io/ip.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/ip_address.cpp b/core/io/ip_address.cpp index da74f6c116..6495e0503d 100644 --- a/core/io/ip_address.cpp +++ b/core/io/ip_address.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/ip_address.h b/core/io/ip_address.h index 205efd9a0e..7a1c1a17e6 100644 --- a/core/io/ip_address.h +++ b/core/io/ip_address.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/json.cpp b/core/io/json.cpp index 82e938d2db..1cc44f8558 100644 --- a/core/io/json.cpp +++ b/core/io/json.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/json.h b/core/io/json.h index fbb7875c7c..f47e0c42c4 100644 --- a/core/io/json.h +++ b/core/io/json.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/logger.cpp b/core/io/logger.cpp index 7177359c8a..983b829d8d 100644 --- a/core/io/logger.cpp +++ b/core/io/logger.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/logger.h b/core/io/logger.h index f8a394193f..631e7a0589 100644 --- a/core/io/logger.h +++ b/core/io/logger.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/marshalls.cpp b/core/io/marshalls.cpp index 7dd3468c48..3bdd4454e1 100644 --- a/core/io/marshalls.cpp +++ b/core/io/marshalls.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/marshalls.h b/core/io/marshalls.h index 5541e52a89..b7ce1d39e2 100644 --- a/core/io/marshalls.h +++ b/core/io/marshalls.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/networked_multiplayer_peer.cpp b/core/io/networked_multiplayer_peer.cpp index dea6fab350..95a2048b09 100644 --- a/core/io/networked_multiplayer_peer.cpp +++ b/core/io/networked_multiplayer_peer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/networked_multiplayer_peer.h b/core/io/networked_multiplayer_peer.h index efaea46b84..3094aa8b99 100644 --- a/core/io/networked_multiplayer_peer.h +++ b/core/io/networked_multiplayer_peer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/packet_peer.cpp b/core/io/packet_peer.cpp index c6b12f73ae..472f6296d2 100644 --- a/core/io/packet_peer.cpp +++ b/core/io/packet_peer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/packet_peer.h b/core/io/packet_peer.h index a6d363ec12..3e9373a18d 100644 --- a/core/io/packet_peer.h +++ b/core/io/packet_peer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/packet_peer_udp.cpp b/core/io/packet_peer_udp.cpp index 2773d2a5a3..708c7d456c 100644 --- a/core/io/packet_peer_udp.cpp +++ b/core/io/packet_peer_udp.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/packet_peer_udp.h b/core/io/packet_peer_udp.h index 5a2b54774f..d0a1bcf195 100644 --- a/core/io/packet_peer_udp.h +++ b/core/io/packet_peer_udp.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/pck_packer.cpp b/core/io/pck_packer.cpp index 23e86580d1..13a36813ca 100644 --- a/core/io/pck_packer.cpp +++ b/core/io/pck_packer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/pck_packer.h b/core/io/pck_packer.h index c0a6acd859..e725155ed2 100644 --- a/core/io/pck_packer.h +++ b/core/io/pck_packer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/resource_format_binary.cpp b/core/io/resource_format_binary.cpp index 92fdbc1581..d652720ad0 100644 --- a/core/io/resource_format_binary.cpp +++ b/core/io/resource_format_binary.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/resource_format_binary.h b/core/io/resource_format_binary.h index 176b8350cf..0329d02981 100644 --- a/core/io/resource_format_binary.h +++ b/core/io/resource_format_binary.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/resource_import.cpp b/core/io/resource_import.cpp index 401d704222..8d21f41eab 100644 --- a/core/io/resource_import.cpp +++ b/core/io/resource_import.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/resource_import.h b/core/io/resource_import.h index 166fff85cf..3583584092 100644 --- a/core/io/resource_import.h +++ b/core/io/resource_import.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp index dea9f38634..527e6997e1 100644 --- a/core/io/resource_loader.cpp +++ b/core/io/resource_loader.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/resource_loader.h b/core/io/resource_loader.h index 05f01d8d31..fad768778b 100644 --- a/core/io/resource_loader.h +++ b/core/io/resource_loader.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/resource_saver.cpp b/core/io/resource_saver.cpp index e6187c9e3c..8a0ccd90ce 100644 --- a/core/io/resource_saver.cpp +++ b/core/io/resource_saver.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/resource_saver.h b/core/io/resource_saver.h index 3fdd00133a..fd4d563e4a 100644 --- a/core/io/resource_saver.h +++ b/core/io/resource_saver.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/stream_peer.cpp b/core/io/stream_peer.cpp index 42a258a10d..b0fd229ac0 100644 --- a/core/io/stream_peer.cpp +++ b/core/io/stream_peer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/stream_peer.h b/core/io/stream_peer.h index b120d18501..212bff0e3e 100644 --- a/core/io/stream_peer.h +++ b/core/io/stream_peer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/stream_peer_ssl.cpp b/core/io/stream_peer_ssl.cpp index d1fe214343..f92b57a044 100644 --- a/core/io/stream_peer_ssl.cpp +++ b/core/io/stream_peer_ssl.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/stream_peer_ssl.h b/core/io/stream_peer_ssl.h index bcbbeb0d48..bb4d2edced 100644 --- a/core/io/stream_peer_ssl.h +++ b/core/io/stream_peer_ssl.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/stream_peer_tcp.cpp b/core/io/stream_peer_tcp.cpp index 0e047a8f32..0524a35908 100644 --- a/core/io/stream_peer_tcp.cpp +++ b/core/io/stream_peer_tcp.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/stream_peer_tcp.h b/core/io/stream_peer_tcp.h index 45c93c2d36..9a14f57c28 100644 --- a/core/io/stream_peer_tcp.h +++ b/core/io/stream_peer_tcp.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/tcp_server.cpp b/core/io/tcp_server.cpp index a4364fa17c..5d33cd6f15 100644 --- a/core/io/tcp_server.cpp +++ b/core/io/tcp_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/tcp_server.h b/core/io/tcp_server.h index a7276401e4..28c80f76f7 100644 --- a/core/io/tcp_server.h +++ b/core/io/tcp_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/translation_loader_po.cpp b/core/io/translation_loader_po.cpp index 92af247823..0f62dbeb94 100644 --- a/core/io/translation_loader_po.cpp +++ b/core/io/translation_loader_po.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/translation_loader_po.h b/core/io/translation_loader_po.h index a14238f1df..82a2da103f 100644 --- a/core/io/translation_loader_po.h +++ b/core/io/translation_loader_po.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/xml_parser.cpp b/core/io/xml_parser.cpp index 8ae68183d7..a88150fa36 100644 --- a/core/io/xml_parser.cpp +++ b/core/io/xml_parser.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/xml_parser.h b/core/io/xml_parser.h index 26616ed94a..62d2d2bc94 100644 --- a/core/io/xml_parser.h +++ b/core/io/xml_parser.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/io/zip_io.h b/core/io/zip_io.h index ce3c919b77..d3c1d1fc57 100644 --- a/core/io/zip_io.h +++ b/core/io/zip_io.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/list.h b/core/list.h index 448be4a5ab..0c748aeb85 100644 --- a/core/list.h +++ b/core/list.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/map.h b/core/map.h index fb24a5868c..1e47b42625 100644 --- a/core/map.h +++ b/core/map.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/a_star.cpp b/core/math/a_star.cpp index 4498efeb41..cb90116d63 100644 --- a/core/math/a_star.cpp +++ b/core/math/a_star.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -459,7 +459,7 @@ void AStar::_bind_methods() { ClassDB::bind_method(D_METHOD("has_point", "id"), &AStar::has_point); ClassDB::bind_method(D_METHOD("get_points"), &AStar::get_points); - ClassDB::bind_method(D_METHOD("get_point_connections"), &AStar::get_point_connections); + ClassDB::bind_method(D_METHOD("get_point_connections", "id"), &AStar::get_point_connections); ClassDB::bind_method(D_METHOD("connect_points", "id", "to_id", "bidirectional"), &AStar::connect_points, DEFVAL(true)); ClassDB::bind_method(D_METHOD("disconnect_points", "id", "to_id"), &AStar::disconnect_points); diff --git a/core/math/a_star.h b/core/math/a_star.h index 1f13f4fae8..563f82826d 100644 --- a/core/math/a_star.h +++ b/core/math/a_star.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/aabb.cpp b/core/math/aabb.cpp index 737a42b337..a6e5ced296 100644 --- a/core/math/aabb.cpp +++ b/core/math/aabb.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/aabb.h b/core/math/aabb.h index c5ba79e172..ff49337204 100644 --- a/core/math/aabb.h +++ b/core/math/aabb.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/audio_frame.cpp b/core/math/audio_frame.cpp index 555d3536df..d22b0f05f4 100644 --- a/core/math/audio_frame.cpp +++ b/core/math/audio_frame.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/audio_frame.h b/core/math/audio_frame.h index cfc7331767..fd58848c0b 100644 --- a/core/math/audio_frame.h +++ b/core/math/audio_frame.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/bsp_tree.cpp b/core/math/bsp_tree.cpp index ecda777583..5d8ac000ad 100644 --- a/core/math/bsp_tree.cpp +++ b/core/math/bsp_tree.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/bsp_tree.h b/core/math/bsp_tree.h index f64a13ce39..6a7b577fd0 100644 --- a/core/math/bsp_tree.h +++ b/core/math/bsp_tree.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/camera_matrix.cpp b/core/math/camera_matrix.cpp index 42d2d0373a..8714a07336 100644 --- a/core/math/camera_matrix.cpp +++ b/core/math/camera_matrix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/camera_matrix.h b/core/math/camera_matrix.h index 15d6b8128e..9dde244e58 100644 --- a/core/math/camera_matrix.h +++ b/core/math/camera_matrix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/face3.cpp b/core/math/face3.cpp index 7e586a1fd2..e76719f736 100644 --- a/core/math/face3.cpp +++ b/core/math/face3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/face3.h b/core/math/face3.h index 9a1f6b2c2e..dd4cb25c82 100644 --- a/core/math/face3.h +++ b/core/math/face3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/geometry.cpp b/core/math/geometry.cpp index 39bd34f03c..a3b48320b1 100644 --- a/core/math/geometry.cpp +++ b/core/math/geometry.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -30,6 +30,17 @@ #include "geometry.h" #include "print_string.h" +bool Geometry::is_point_in_polygon(const Vector2 &p_point, const Vector<Vector2> &p_polygon) { + + Vector<int> indices = Geometry::triangulate_polygon(p_polygon); + for (int j = 0; j + 3 <= indices.size(); j += 3) { + int i1 = indices[j], i2 = indices[j + 1], i3 = indices[j + 2]; + if (Geometry::is_point_in_triangle(p_point, p_polygon[i1], p_polygon[i2], p_polygon[i3])) + return true; + } + return false; +} + void Geometry::MeshData::optimize_vertices() { Map<int, int> vtx_remap; diff --git a/core/math/geometry.h b/core/math/geometry.h index cd069bd7a3..fefdd88794 100644 --- a/core/math/geometry.h +++ b/core/math/geometry.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -512,6 +512,9 @@ public: return true; } + + static bool is_point_in_polygon(const Vector2 &p_point, const Vector<Vector2> &p_polygon); + static Vector2 get_closest_point_to_segment_uncapped_2d(const Vector2 &p_point, const Vector2 *p_segment) { Vector2 p = p_point - p_segment[0]; diff --git a/core/math/math_2d.cpp b/core/math/math_2d.cpp index 11003c1cd5..2c83bc1976 100644 --- a/core/math/math_2d.cpp +++ b/core/math/math_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -102,69 +102,6 @@ Vector2 Vector2::cross(real_t p_other) const { return Vector2(p_other * y, -p_other * x); } -Vector2 Vector2::operator+(const Vector2 &p_v) const { - - return Vector2(x + p_v.x, y + p_v.y); -} -void Vector2::operator+=(const Vector2 &p_v) { - - x += p_v.x; - y += p_v.y; -} -Vector2 Vector2::operator-(const Vector2 &p_v) const { - - return Vector2(x - p_v.x, y - p_v.y); -} -void Vector2::operator-=(const Vector2 &p_v) { - - x -= p_v.x; - y -= p_v.y; -} - -Vector2 Vector2::operator*(const Vector2 &p_v1) const { - - return Vector2(x * p_v1.x, y * p_v1.y); -}; - -Vector2 Vector2::operator*(const real_t &rvalue) const { - - return Vector2(x * rvalue, y * rvalue); -}; -void Vector2::operator*=(const real_t &rvalue) { - - x *= rvalue; - y *= rvalue; -}; - -Vector2 Vector2::operator/(const Vector2 &p_v1) const { - - return Vector2(x / p_v1.x, y / p_v1.y); -}; - -Vector2 Vector2::operator/(const real_t &rvalue) const { - - return Vector2(x / rvalue, y / rvalue); -}; - -void Vector2::operator/=(const real_t &rvalue) { - - x /= rvalue; - y /= rvalue; -}; - -Vector2 Vector2::operator-() const { - - return Vector2(-x, -y); -} - -bool Vector2::operator==(const Vector2 &p_vec2) const { - - return x == p_vec2.x && y == p_vec2.y; -} -bool Vector2::operator!=(const Vector2 &p_vec2) const { - - return x != p_vec2.x || y != p_vec2.y; -} Vector2 Vector2::floor() const { return Vector2(Math::floor(x), Math::floor(y)); diff --git a/core/math/math_2d.h b/core/math/math_2d.h index 60351445c0..32e1bb9152 100644 --- a/core/math/math_2d.h +++ b/core/math/math_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -187,6 +187,70 @@ _FORCE_INLINE_ Vector2 operator*(real_t p_scalar, const Vector2 &p_vec) { return p_vec * p_scalar; } +_FORCE_INLINE_ Vector2 Vector2::operator+(const Vector2 &p_v) const { + + return Vector2(x + p_v.x, y + p_v.y); +} +_FORCE_INLINE_ void Vector2::operator+=(const Vector2 &p_v) { + + x += p_v.x; + y += p_v.y; +} +_FORCE_INLINE_ Vector2 Vector2::operator-(const Vector2 &p_v) const { + + return Vector2(x - p_v.x, y - p_v.y); +} +_FORCE_INLINE_ void Vector2::operator-=(const Vector2 &p_v) { + + x -= p_v.x; + y -= p_v.y; +} + +_FORCE_INLINE_ Vector2 Vector2::operator*(const Vector2 &p_v1) const { + + return Vector2(x * p_v1.x, y * p_v1.y); +}; + +_FORCE_INLINE_ Vector2 Vector2::operator*(const real_t &rvalue) const { + + return Vector2(x * rvalue, y * rvalue); +}; +_FORCE_INLINE_ void Vector2::operator*=(const real_t &rvalue) { + + x *= rvalue; + y *= rvalue; +}; + +_FORCE_INLINE_ Vector2 Vector2::operator/(const Vector2 &p_v1) const { + + return Vector2(x / p_v1.x, y / p_v1.y); +}; + +_FORCE_INLINE_ Vector2 Vector2::operator/(const real_t &rvalue) const { + + return Vector2(x / rvalue, y / rvalue); +}; + +_FORCE_INLINE_ void Vector2::operator/=(const real_t &rvalue) { + + x /= rvalue; + y /= rvalue; +}; + +_FORCE_INLINE_ Vector2 Vector2::operator-() const { + + return Vector2(-x, -y); +} + +_FORCE_INLINE_ bool Vector2::operator==(const Vector2 &p_vec2) const { + + return x == p_vec2.x && y == p_vec2.y; +} +_FORCE_INLINE_ bool Vector2::operator!=(const Vector2 &p_vec2) const { + + return x != p_vec2.x || y != p_vec2.y; +} + Vector2 Vector2::linear_interpolate(const Vector2 &p_b, real_t p_t) const { Vector2 res = *this; @@ -239,22 +303,31 @@ struct Rect2 { inline real_t distance_to(const Vector2 &p_point) const { - real_t dist = 1e20; + real_t dist; + bool inside = true; if (p_point.x < position.x) { - dist = MIN(dist, position.x - p_point.x); + real_t d = position.x - p_point.x; + dist = inside ? d : MIN(dist, d); + inside = false; } if (p_point.y < position.y) { - dist = MIN(dist, position.y - p_point.y); + real_t d = position.y - p_point.y; + dist = inside ? d : MIN(dist, d); + inside = false; } if (p_point.x >= (position.x + size.x)) { - dist = MIN(p_point.x - (position.x + size.x), dist); + real_t d = p_point.x - (position.x + size.x); + dist = inside ? d : MIN(dist, d); + inside = false; } if (p_point.y >= (position.y + size.y)) { - dist = MIN(p_point.y - (position.y + size.y), dist); + real_t d = p_point.y - (position.y + size.y); + dist = inside ? d : MIN(dist, d); + inside = false; } - if (dist == 1e20) + if (inside) return 0; else return dist; @@ -336,9 +409,10 @@ struct Rect2 { g.size.height += p_by * 2; return g; } + inline Rect2 grow_margin(Margin p_margin, real_t p_amount) const { Rect2 g = *this; - g.grow_individual((MARGIN_LEFT == p_margin) ? p_amount : 0, + g = g.grow_individual((MARGIN_LEFT == p_margin) ? p_amount : 0, (MARGIN_TOP == p_margin) ? p_amount : 0, (MARGIN_RIGHT == p_margin) ? p_amount : 0, (MARGIN_BOTTOM == p_margin) ? p_amount : 0); diff --git a/core/math/math_defs.h b/core/math/math_defs.h index 904cbc1abc..e260bcd54f 100644 --- a/core/math/math_defs.h +++ b/core/math/math_defs.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/math_funcs.cpp b/core/math/math_funcs.cpp index 64e01e5841..1025e8be75 100644 --- a/core/math/math_funcs.cpp +++ b/core/math/math_funcs.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/math_funcs.h b/core/math/math_funcs.h index 80e5805451..d2d49d85d6 100644 --- a/core/math/math_funcs.h +++ b/core/math/math_funcs.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/matrix3.cpp b/core/math/matrix3.cpp index ab3bca79ae..ceaff04ae8 100644 --- a/core/math/matrix3.cpp +++ b/core/math/matrix3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -228,12 +228,24 @@ void Basis::scale(const Vector3 &p_scale) { } Basis Basis::scaled(const Vector3 &p_scale) const { - Basis m = *this; m.scale(p_scale); return m; } +void Basis::scale_local(const Vector3 &p_scale) { + // performs a scaling in object-local coordinate system: + // M -> (M.S.Minv).M = M.S. + *this = scaled_local(p_scale); +} + +Basis Basis::scaled_local(const Vector3 &p_scale) const { + Basis b; + b.set_scale(p_scale); + + return (*this) * b; +} + void Basis::set_scale(const Vector3 &p_scale) { set_axis(0, get_axis(0).normalized() * p_scale.x); @@ -311,6 +323,16 @@ void Basis::rotate(const Vector3 &p_axis, real_t p_phi) { *this = rotated(p_axis, p_phi); } +void Basis::rotate_local(const Vector3 &p_axis, real_t p_phi) { + // performs a rotation in object-local coordinate system: + // M -> (M.R.Minv).M = M.R. + *this = rotated_local(p_axis, p_phi); +} +Basis Basis::rotated_local(const Vector3 &p_axis, real_t p_phi) const { + + return (*this) * Basis(p_axis, p_phi); +} + Basis Basis::rotated(const Vector3 &p_euler) const { return Basis(p_euler) * (*this); } diff --git a/core/math/matrix3.h b/core/math/matrix3.h index 9a33b8203d..c426435729 100644 --- a/core/math/matrix3.h +++ b/core/math/matrix3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -75,6 +75,9 @@ public: void rotate(const Vector3 &p_axis, real_t p_phi); Basis rotated(const Vector3 &p_axis, real_t p_phi) const; + void rotate_local(const Vector3 &p_axis, real_t p_phi); + Basis rotated_local(const Vector3 &p_axis, real_t p_phi) const; + void rotate(const Vector3 &p_euler); Basis rotated(const Vector3 &p_euler) const; @@ -100,6 +103,9 @@ public: void scale(const Vector3 &p_scale); Basis scaled(const Vector3 &p_scale) const; + void scale_local(const Vector3 &p_scale); + Basis scaled_local(const Vector3 &p_scale) const; + void set_scale(const Vector3 &p_scale); Vector3 get_scale() const; Vector3 get_signed_scale() const; diff --git a/core/math/octree.h b/core/math/octree.h index 6acd4c5f75..c874d60894 100644 --- a/core/math/octree.h +++ b/core/math/octree.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/plane.cpp b/core/math/plane.cpp index 08395ed07b..c4e2f04fa6 100644 --- a/core/math/plane.cpp +++ b/core/math/plane.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/plane.h b/core/math/plane.h index 1d02b5d523..5497fde592 100644 --- a/core/math/plane.h +++ b/core/math/plane.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/quat.cpp b/core/math/quat.cpp index cebc5b9522..5706848b35 100644 --- a/core/math/quat.cpp +++ b/core/math/quat.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/quat.h b/core/math/quat.h index 9668f8c7a3..ebc924504b 100644 --- a/core/math/quat.h +++ b/core/math/quat.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/quick_hull.cpp b/core/math/quick_hull.cpp index 946d9f6b79..e13f2e9c18 100644 --- a/core/math/quick_hull.cpp +++ b/core/math/quick_hull.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/quick_hull.h b/core/math/quick_hull.h index f014d0decc..40f601536f 100644 --- a/core/math/quick_hull.h +++ b/core/math/quick_hull.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/transform.cpp b/core/math/transform.cpp index fb4ca16565..ffad8cfc41 100644 --- a/core/math/transform.cpp +++ b/core/math/transform.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/transform.h b/core/math/transform.h index 4d91869121..e5bc7832a0 100644 --- a/core/math/transform.h +++ b/core/math/transform.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/triangle_mesh.cpp b/core/math/triangle_mesh.cpp index 5f57c7c26a..6138abc6b9 100644 --- a/core/math/triangle_mesh.cpp +++ b/core/math/triangle_mesh.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/triangle_mesh.h b/core/math/triangle_mesh.h index 4bd9fecf37..4687b0e91b 100644 --- a/core/math/triangle_mesh.h +++ b/core/math/triangle_mesh.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/triangulate.cpp b/core/math/triangulate.cpp index b20f2e06d5..ff65142341 100644 --- a/core/math/triangulate.cpp +++ b/core/math/triangulate.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/triangulate.h b/core/math/triangulate.h index 21e148249e..01b4a50a3e 100644 --- a/core/math/triangulate.h +++ b/core/math/triangulate.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/vector3.cpp b/core/math/vector3.cpp index 144234f4d1..02140bc337 100644 --- a/core/math/vector3.cpp +++ b/core/math/vector3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/math/vector3.h b/core/math/vector3.h index 74c822fcd7..17dbdafbd4 100644 --- a/core/math/vector3.h +++ b/core/math/vector3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/message_queue.cpp b/core/message_queue.cpp index 040fb69805..b7b8827f4a 100644 --- a/core/message_queue.cpp +++ b/core/message_queue.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/message_queue.h b/core/message_queue.h index 193d2b6907..7312f0e1e4 100644 --- a/core/message_queue.h +++ b/core/message_queue.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/method_bind.cpp b/core/method_bind.cpp index 8cace0bbaa..4022b22ffe 100644 --- a/core/method_bind.cpp +++ b/core/method_bind.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/method_bind.h b/core/method_bind.h index 3c43f86b54..aaf3640ce9 100644 --- a/core/method_bind.h +++ b/core/method_bind.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/method_ptrcall.h b/core/method_ptrcall.h index d819dfbc27..1fe0cf0bc0 100644 --- a/core/method_ptrcall.h +++ b/core/method_ptrcall.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/node_path.cpp b/core/node_path.cpp index a12152aca6..abde887b35 100644 --- a/core/node_path.cpp +++ b/core/node_path.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/node_path.h b/core/node_path.h index 063c4f62db..af134e8409 100644 --- a/core/node_path.h +++ b/core/node_path.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/oa_hash_map.h b/core/oa_hash_map.h index 66a1e348a1..308624dcc3 100644 --- a/core/oa_hash_map.h +++ b/core/oa_hash_map.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/object.cpp b/core/object.cpp index cf1472243b..2e3196dc47 100644 --- a/core/object.cpp +++ b/core/object.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/object.h b/core/object.h index 3d93953227..635c599154 100644 --- a/core/object.h +++ b/core/object.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/ordered_hash_map.h b/core/ordered_hash_map.h index fed16809e6..5954952b6c 100644 --- a/core/ordered_hash_map.h +++ b/core/ordered_hash_map.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/copymem.h b/core/os/copymem.h index 789dce76e7..998c0a8b9b 100644 --- a/core/os/copymem.h +++ b/core/os/copymem.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp index e19c8e8ea5..eadb8e8546 100644 --- a/core/os/dir_access.cpp +++ b/core/os/dir_access.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -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 f3d1320041..c94ced657b 100644 --- a/core/os/dir_access.h +++ b/core/os/dir_access.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -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/core/os/file_access.cpp b/core/os/file_access.cpp index 20c1221f2b..989230b162 100644 --- a/core/os/file_access.cpp +++ b/core/os/file_access.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -569,6 +569,37 @@ String FileAccess::get_md5(const String &p_file) { return ret; } +String FileAccess::get_multiple_md5(const Vector<String> &p_file) { + + MD5_CTX md5; + MD5Init(&md5); + + for (int i = 0; i < p_file.size(); i++) { + FileAccess *f = FileAccess::open(p_file[i], READ); + ERR_CONTINUE(!f); + + unsigned char step[32768]; + + while (true) { + + int br = f->get_buffer(step, 32768); + if (br > 0) { + + MD5Update(&md5, step, br); + } + if (br < 4096) + break; + } + memdelete(f); + } + + MD5Final(&md5); + + String ret = String::md5(md5.digest); + + return ret; +} + String FileAccess::get_sha256(const String &p_file) { FileAccess *f = FileAccess::open(p_file, READ); diff --git a/core/os/file_access.h b/core/os/file_access.h index 6fda3d9668..61edc9a5db 100644 --- a/core/os/file_access.h +++ b/core/os/file_access.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -155,6 +155,7 @@ public: static String get_md5(const String &p_file); static String get_sha256(const String &p_file); + static String get_multiple_md5(const Vector<String> &p_file); static Vector<uint8_t> get_file_as_array(const String &p_path); diff --git a/core/os/input.cpp b/core/os/input.cpp index 848b003d5e..a44adde425 100644 --- a/core/os/input.cpp +++ b/core/os/input.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -84,7 +84,7 @@ void Input::_bind_methods() { ClassDB::bind_method(D_METHOD("warp_mouse_position", "to"), &Input::warp_mouse_position); ClassDB::bind_method(D_METHOD("action_press", "action"), &Input::action_press); ClassDB::bind_method(D_METHOD("action_release", "action"), &Input::action_release); - ClassDB::bind_method(D_METHOD("set_custom_mouse_cursor", "image", "hotspot"), &Input::set_custom_mouse_cursor, DEFVAL(Vector2())); + ClassDB::bind_method(D_METHOD("set_custom_mouse_cursor", "image", "shape", "hotspot"), &Input::set_custom_mouse_cursor, DEFVAL(CURSOR_ARROW), DEFVAL(Vector2())); ClassDB::bind_method(D_METHOD("parse_input_event", "event"), &Input::parse_input_event); BIND_ENUM_CONSTANT(MOUSE_MODE_VISIBLE); @@ -92,6 +92,24 @@ void Input::_bind_methods() { BIND_ENUM_CONSTANT(MOUSE_MODE_CAPTURED); BIND_ENUM_CONSTANT(MOUSE_MODE_CONFINED); + BIND_ENUM_CONSTANT(CURSOR_ARROW); + BIND_ENUM_CONSTANT(CURSOR_IBEAM); + BIND_ENUM_CONSTANT(CURSOR_POINTING_HAND); + BIND_ENUM_CONSTANT(CURSOR_CROSS); + BIND_ENUM_CONSTANT(CURSOR_WAIT); + BIND_ENUM_CONSTANT(CURSOR_BUSY); + BIND_ENUM_CONSTANT(CURSOR_DRAG); + BIND_ENUM_CONSTANT(CURSOR_CAN_DROP); + BIND_ENUM_CONSTANT(CURSOR_FORBIDDEN); + BIND_ENUM_CONSTANT(CURSOR_VSIZE); + BIND_ENUM_CONSTANT(CURSOR_HSIZE); + BIND_ENUM_CONSTANT(CURSOR_BDIAGSIZE); + BIND_ENUM_CONSTANT(CURSOR_FDIAGSIZE); + BIND_ENUM_CONSTANT(CURSOR_MOVE); + BIND_ENUM_CONSTANT(CURSOR_VSPLIT); + BIND_ENUM_CONSTANT(CURSOR_HSPLIT); + BIND_ENUM_CONSTANT(CURSOR_HELP); + ADD_SIGNAL(MethodInfo("joy_connection_changed", PropertyInfo(Variant::INT, "index"), PropertyInfo(Variant::BOOL, "connected"))); } diff --git a/core/os/input.h b/core/os/input.h index 97d3bef4f9..140d11de4d 100644 --- a/core/os/input.h +++ b/core/os/input.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -51,6 +51,28 @@ public: MOUSE_MODE_CONFINED }; +#undef CursorShape + enum CursorShape { + CURSOR_ARROW, + CURSOR_IBEAM, + CURSOR_POINTING_HAND, + CURSOR_CROSS, + CURSOR_WAIT, + CURSOR_BUSY, + CURSOR_DRAG, + CURSOR_CAN_DROP, + CURSOR_FORBIDDEN, + CURSOR_VSIZE, + CURSOR_HSIZE, + CURSOR_BDIAGSIZE, + CURSOR_FDIAGSIZE, + CURSOR_MOVE, + CURSOR_VSPLIT, + CURSOR_HSPLIT, + CURSOR_HELP, + CURSOR_MAX + }; + void set_mouse_mode(MouseMode p_mode); MouseMode get_mouse_mode() const; @@ -96,7 +118,7 @@ public: virtual bool is_emulating_touchscreen() const = 0; - virtual void set_custom_mouse_cursor(const RES &p_cursor, const Vector2 &p_hotspot = Vector2()) = 0; + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape = CURSOR_ARROW, const Vector2 &p_hotspot = Vector2()) = 0; virtual void set_mouse_in_window(bool p_in_window) = 0; virtual String get_joy_button_string(int p_button) = 0; @@ -110,5 +132,6 @@ public: }; VARIANT_ENUM_CAST(Input::MouseMode); +VARIANT_ENUM_CAST(Input::CursorShape); #endif // INPUT_H diff --git a/core/os/input_event.cpp b/core/os/input_event.cpp index 9b2bd30868..67590517fb 100644 --- a/core/os/input_event.cpp +++ b/core/os/input_event.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -32,14 +32,6 @@ #include "input_map.h" #include "os/keyboard.h" -void InputEvent::set_id(uint32_t p_id) { - id = p_id; -} - -uint32_t InputEvent::get_id() const { - return id; -} - void InputEvent::set_device(int p_device) { device = p_device; } @@ -99,9 +91,6 @@ bool InputEvent::is_action_type() const { void InputEvent::_bind_methods() { - ClassDB::bind_method(D_METHOD("set_id", "id"), &InputEvent::set_id); - ClassDB::bind_method(D_METHOD("get_id"), &InputEvent::get_id); - ClassDB::bind_method(D_METHOD("set_device", "device"), &InputEvent::set_device); ClassDB::bind_method(D_METHOD("get_device"), &InputEvent::get_device); @@ -125,7 +114,6 @@ void InputEvent::_bind_methods() { InputEvent::InputEvent() { - id = 0; device = 0; } @@ -441,7 +429,6 @@ Ref<InputEvent> InputEventMouseButton::xformed_by(const Transform2D &p_xform, co Ref<InputEventMouseButton> mb; mb.instance(); - mb->set_id(get_id()); mb->set_device(get_device()); mb->set_modifiers_from_event(this); @@ -557,7 +544,6 @@ Ref<InputEvent> InputEventMouseMotion::xformed_by(const Transform2D &p_xform, co Ref<InputEventMouseMotion> mm; mm.instance(); - mm->set_id(get_id()); mm->set_device(get_device()); mm->set_modifiers_from_event(this); @@ -764,7 +750,6 @@ Ref<InputEvent> InputEventScreenTouch::xformed_by(const Transform2D &p_xform, co Ref<InputEventScreenTouch> st; st.instance(); - st->set_id(get_id()); st->set_device(get_device()); st->set_index(index); st->set_position(p_xform.xform(pos + p_local_ofs)); @@ -845,7 +830,6 @@ Ref<InputEvent> InputEventScreenDrag::xformed_by(const Transform2D &p_xform, con sd.instance(); - sd->set_id(get_id()); sd->set_device(get_device()); sd->set_index(index); @@ -968,7 +952,6 @@ Ref<InputEvent> InputEventMagnifyGesture::xformed_by(const Transform2D &p_xform, Ref<InputEventMagnifyGesture> ev; ev.instance(); - ev->set_id(get_id()); ev->set_device(get_device()); ev->set_modifiers_from_event(this); @@ -1006,7 +989,6 @@ Ref<InputEvent> InputEventPanGesture::xformed_by(const Transform2D &p_xform, con Ref<InputEventPanGesture> ev; ev.instance(); - ev->set_id(get_id()); ev->set_device(get_device()); ev->set_modifiers_from_event(this); diff --git a/core/os/input_event.h b/core/os/input_event.h index 614a3289ba..53da79f59f 100644 --- a/core/os/input_event.h +++ b/core/os/input_event.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -144,16 +144,12 @@ enum JoystickList { class InputEvent : public Resource { GDCLASS(InputEvent, Resource) - uint32_t id; int device; protected: static void _bind_methods(); public: - void set_id(uint32_t p_id); - uint32_t get_id() const; - void set_device(int p_device); int get_device() const; diff --git a/core/os/keyboard.cpp b/core/os/keyboard.cpp index dead3b6ac0..00d78d71f7 100644 --- a/core/os/keyboard.cpp +++ b/core/os/keyboard.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/keyboard.h b/core/os/keyboard.h index f49cbc6b18..f910f07f99 100644 --- a/core/os/keyboard.h +++ b/core/os/keyboard.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/main_loop.cpp b/core/os/main_loop.cpp index 8b4449586b..186acb0342 100644 --- a/core/os/main_loop.cpp +++ b/core/os/main_loop.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/main_loop.h b/core/os/main_loop.h index fd76d8454f..e5d917ec6b 100644 --- a/core/os/main_loop.h +++ b/core/os/main_loop.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/memory.cpp b/core/os/memory.cpp index 439951f711..a8b49a0852 100644 --- a/core/os/memory.cpp +++ b/core/os/memory.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/memory.h b/core/os/memory.h index 7801d56837..27eb57c873 100644 --- a/core/os/memory.h +++ b/core/os/memory.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/mutex.cpp b/core/os/mutex.cpp index d3edc2c423..21480fecee 100644 --- a/core/os/mutex.cpp +++ b/core/os/mutex.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/mutex.h b/core/os/mutex.h index 9e353df33d..ecd1f59151 100644 --- a/core/os/mutex.h +++ b/core/os/mutex.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/os.cpp b/core/os/os.cpp index 7010d44930..bdcdfed060 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/os.h b/core/os/os.h index 2faaa6ab8f..c9c228cfaf 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -325,6 +325,7 @@ public: virtual int get_virtual_keyboard_height() const; virtual void set_cursor_shape(CursorShape p_shape) = 0; + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) = 0; virtual bool get_swap_ok_cancel() { return false; } virtual void dump_memory_to_file(const char *p_file); diff --git a/core/os/rw_lock.cpp b/core/os/rw_lock.cpp index d0ad249afa..9603ccf0bb 100644 --- a/core/os/rw_lock.cpp +++ b/core/os/rw_lock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/rw_lock.h b/core/os/rw_lock.h index c13eb8147c..d0ce38f453 100644 --- a/core/os/rw_lock.h +++ b/core/os/rw_lock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/semaphore.cpp b/core/os/semaphore.cpp index ea0a02ae22..9455124e48 100644 --- a/core/os/semaphore.cpp +++ b/core/os/semaphore.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/semaphore.h b/core/os/semaphore.h index c169e0212e..8bad64ace3 100644 --- a/core/os/semaphore.h +++ b/core/os/semaphore.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/shell.cpp b/core/os/shell.cpp index 07e4924c38..781d922d4b 100644 --- a/core/os/shell.cpp +++ b/core/os/shell.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/shell.h b/core/os/shell.h index 7cb95dd5c8..84ac7eae42 100644 --- a/core/os/shell.h +++ b/core/os/shell.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/thread.cpp b/core/os/thread.cpp index af8ae847dc..13bf147caf 100644 --- a/core/os/thread.cpp +++ b/core/os/thread.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/thread.h b/core/os/thread.h index 697494708e..92dd00cf0d 100644 --- a/core/os/thread.h +++ b/core/os/thread.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/thread_dummy.cpp b/core/os/thread_dummy.cpp index 39b5bdd9b8..2f8f3d4940 100644 --- a/core/os/thread_dummy.cpp +++ b/core/os/thread_dummy.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/thread_dummy.h b/core/os/thread_dummy.h index 56e7061eee..5681f45092 100644 --- a/core/os/thread_dummy.h +++ b/core/os/thread_dummy.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/thread_safe.cpp b/core/os/thread_safe.cpp index a49d412254..394876ae16 100644 --- a/core/os/thread_safe.cpp +++ b/core/os/thread_safe.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/thread_safe.h b/core/os/thread_safe.h index f9a1d0f62b..05510bcbb9 100644 --- a/core/os/thread_safe.h +++ b/core/os/thread_safe.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/os/threaded_array_processor.cpp b/core/os/threaded_array_processor.cpp new file mode 100644 index 0000000000..8e92508ea5 --- /dev/null +++ b/core/os/threaded_array_processor.cpp @@ -0,0 +1,2 @@ +#include "threaded_array_processor.h" + diff --git a/core/os/threaded_array_processor.h b/core/os/threaded_array_processor.h new file mode 100644 index 0000000000..e584fbb193 --- /dev/null +++ b/core/os/threaded_array_processor.h @@ -0,0 +1,80 @@ +#ifndef THREADED_ARRAY_PROCESSOR_H +#define THREADED_ARRAY_PROCESSOR_H + +#include "os/mutex.h" +#include "os/os.h" +#include "os/thread.h" +#include "safe_refcount.h" +#include "thread_safe.h" + +template <class C, class U> +struct ThreadArrayProcessData { + uint32_t elements; + uint32_t index; + C *instance; + U userdata; + void (C::*method)(uint32_t, U); + + void process(uint32_t p_index) { + (instance->*method)(p_index, userdata); + } +}; + +#ifndef NO_THREADS + +template <class T> +void process_array_thread(void *ud) { + + T &data = *(T *)ud; + while (true) { + uint32_t index = atomic_increment(&data.index); + if (index >= data.elements) + break; + data.process(index); + } +} + +template <class C, class M, class U> +void thread_process_array(uint32_t p_elements, C *p_instance, M p_method, U p_userdata) { + + ThreadArrayProcessData<C, U> data; + data.method = p_method; + data.instance = p_instance; + data.userdata = p_userdata; + data.index = 0; + data.elements = p_elements; + data.process(data.index); //process first, let threads increment for next + + Vector<Thread *> threads; + + threads.resize(OS::get_singleton()->get_processor_count()); + + for (int i = 0; i < threads.size(); i++) { + threads[i] = Thread::create(process_array_thread<ThreadArrayProcessData<C, U> >, &data); + } + + for (int i = 0; i < threads.size(); i++) { + Thread::wait_to_finish(threads[i]); + memdelete(threads[i]); + } +} + +#else + +template <class C, class M, class U> +void thread_process_array(uint32_t p_elements, C *p_instance, M p_method, U p_userdata) { + + ThreadArrayProcessData<C, U> data; + data.method = p_method; + data.instance = p_instance; + data.userdata = p_userdata; + data.index = 0; + data.elements = p_elements; + for (uint32_t i = 0; i < p_elements; i++) { + data.process(i); + } +} + +#endif + +#endif // THREADED_ARRAY_PROCESSOR_H diff --git a/core/packed_data_container.cpp b/core/packed_data_container.cpp index 3748df12f7..4d5890685b 100644 --- a/core/packed_data_container.cpp +++ b/core/packed_data_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/packed_data_container.h b/core/packed_data_container.h index e6a674d7ce..b711d795de 100644 --- a/core/packed_data_container.h +++ b/core/packed_data_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/pair.h b/core/pair.h index aa51b77a4f..349c034ab7 100644 --- a/core/pair.h +++ b/core/pair.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/path_remap.cpp b/core/path_remap.cpp index d8fa2748bc..d92d034f1a 100644 --- a/core/path_remap.cpp +++ b/core/path_remap.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/path_remap.h b/core/path_remap.h index 04da4c1510..1b40c9cace 100644 --- a/core/path_remap.h +++ b/core/path_remap.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/pool_allocator.cpp b/core/pool_allocator.cpp index c5f6d0dde0..13d5c5082f 100644 --- a/core/pool_allocator.cpp +++ b/core/pool_allocator.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/pool_allocator.h b/core/pool_allocator.h index 12de4d58e8..a1cc65f1fd 100644 --- a/core/pool_allocator.h +++ b/core/pool_allocator.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/print_string.cpp b/core/print_string.cpp index 520fb3daec..2b366f8145 100644 --- a/core/print_string.cpp +++ b/core/print_string.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/print_string.h b/core/print_string.h index 6b68380b9d..c3eaf3f336 100644 --- a/core/print_string.h +++ b/core/print_string.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/project_settings.cpp b/core/project_settings.cpp index 67b081de34..bb2408fb1f 100644 --- a/core/project_settings.cpp +++ b/core/project_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/project_settings.h b/core/project_settings.h index d8a1ea1f7a..e60efea222 100644 --- a/core/project_settings.h +++ b/core/project_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/ref_ptr.cpp b/core/ref_ptr.cpp index 4a27b523fb..0f5abdd455 100644 --- a/core/ref_ptr.cpp +++ b/core/ref_ptr.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/ref_ptr.h b/core/ref_ptr.h index bb98f0507a..27acfb7982 100644 --- a/core/ref_ptr.h +++ b/core/ref_ptr.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/reference.cpp b/core/reference.cpp index 7f93922d22..3b5a9bc7cc 100644 --- a/core/reference.cpp +++ b/core/reference.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/reference.h b/core/reference.h index bafc164276..16b912a402 100644 --- a/core/reference.h +++ b/core/reference.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/register_core_types.cpp b/core/register_core_types.cpp index 17f951e4f4..29c7cf4606 100644 --- a/core/register_core_types.cpp +++ b/core/register_core_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/register_core_types.h b/core/register_core_types.h index cf84d70930..4f5b7e03af 100644 --- a/core/register_core_types.h +++ b/core/register_core_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/resource.cpp b/core/resource.cpp index be6da792ad..3e411a8753 100644 --- a/core/resource.cpp +++ b/core/resource.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/resource.h b/core/resource.h index 19714a68d1..4c5a44d7fd 100644 --- a/core/resource.h +++ b/core/resource.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/rid.cpp b/core/rid.cpp index cb16715936..3cfb28c044 100644 --- a/core/rid.cpp +++ b/core/rid.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/rid.h b/core/rid.h index 276375167e..3768083fe3 100644 --- a/core/rid.h +++ b/core/rid.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/ring_buffer.h b/core/ring_buffer.h index 6c882f1ef9..c8562a0570 100644 --- a/core/ring_buffer.h +++ b/core/ring_buffer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -40,7 +40,7 @@ class RingBuffer { int write_pos; int size_mask; - inline int inc(int &p_var, int p_size) { + inline int inc(int &p_var, int p_size) const { int ret = p_var; p_var += p_size; p_var = p_var & size_mask; @@ -50,7 +50,7 @@ class RingBuffer { public: T read() { ERR_FAIL_COND_V(space_left() < 1, T()); - return data[inc(read_pos, 1)]; + return data.ptr()[inc(read_pos, 1)]; }; int read(T *p_buf, int p_size, bool p_advance = true) { @@ -63,8 +63,9 @@ public: int end = pos + to_read; end = MIN(end, size()); int total = end - pos; + const T *read = data.ptr(); for (int i = 0; i < total; i++) { - p_buf[dst++] = data[pos + i]; + p_buf[dst++] = read[pos + i]; }; to_read -= total; pos = 0; @@ -75,7 +76,7 @@ public: return p_size; }; - int copy(T *p_buf, int p_offset, int p_size) { + int copy(T *p_buf, int p_offset, int p_size) const { int left = data_left(); if ((p_offset + p_size) > left) { @@ -101,7 +102,7 @@ public: return p_size; }; - int find(const T &t, int p_offset, int p_max_size) { + int find(const T &t, int p_offset, int p_max_size) const { int left = data_left(); if ((p_offset + p_max_size) > left) { @@ -164,7 +165,7 @@ public: return p_size; }; - inline int space_left() { + inline int space_left() const { int left = read_pos - write_pos; if (left < 0) { return size() + left - 1; @@ -174,11 +175,11 @@ public: }; return left - 1; }; - inline int data_left() { + inline int data_left() const { return size() - space_left() - 1; }; - inline int size() { + inline int size() const { return data.size(); }; diff --git a/core/safe_refcount.cpp b/core/safe_refcount.cpp index 908c8a34b5..ff2f17103c 100644 --- a/core/safe_refcount.cpp +++ b/core/safe_refcount.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/safe_refcount.h b/core/safe_refcount.h index 39967d5ac4..217cf69145 100644 --- a/core/safe_refcount.h +++ b/core/safe_refcount.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/script_debugger_local.cpp b/core/script_debugger_local.cpp index 94c48f1c8f..83cdb348bd 100644 --- a/core/script_debugger_local.cpp +++ b/core/script_debugger_local.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/script_debugger_local.h b/core/script_debugger_local.h index 91f787052c..f1111612b3 100644 --- a/core/script_debugger_local.h +++ b/core/script_debugger_local.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/script_debugger_remote.cpp b/core/script_debugger_remote.cpp index 658b72b47a..a0a55ce86e 100644 --- a/core/script_debugger_remote.cpp +++ b/core/script_debugger_remote.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -67,17 +67,20 @@ Error ScriptDebuggerRemote::connect_to_host(const String &p_host, uint16_t p_por int port = p_port; - int tries = 3; + const int tries = 6; + int waits[tries] = { 1, 10, 100, 1000, 1000, 1000 }; + tcp_client->connect_to_host(ip, port); - while (tries--) { + for (int i = 0; i < tries; i++) { if (tcp_client->get_status() == StreamPeerTCP::STATUS_CONNECTED) { break; } else { - OS::get_singleton()->delay_usec(1000000); - print_line("Remote Debugger: Connection failed with status: '" + String::num(tcp_client->get_status()) + "', retrying in 1 sec."); + const int ms = waits[i]; + OS::get_singleton()->delay_usec(ms * 1000); + print_line("Remote Debugger: Connection failed with status: '" + String::num(tcp_client->get_status()) + "', retrying in " + String::num(ms) + " msec."); }; }; @@ -126,15 +129,21 @@ static ObjectID safe_get_instance_id(const Variant &p_v) { void ScriptDebuggerRemote::_put_variable(const String &p_name, const Variant &p_variable) { packet_peer_stream->put_var(p_name); + + Variant var = p_variable; + if (p_variable.get_type() == Variant::OBJECT && !ObjectDB::instance_validate(p_variable)) { + var = Variant(); + } + int len = 0; - Error err = encode_variant(p_variable, NULL, len); + Error err = encode_variant(var, NULL, len); if (err != OK) ERR_PRINT("Failed to encode variant"); if (len > packet_peer_stream->get_output_buffer_max_size()) { //limit to max size packet_peer_stream->put_var(Variant()); } else { - packet_peer_stream->put_var(p_variable); + packet_peer_stream->put_var(var); } } diff --git a/core/script_debugger_remote.h b/core/script_debugger_remote.h index 90d2daf1f8..15afc866e3 100644 --- a/core/script_debugger_remote.h +++ b/core/script_debugger_remote.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/script_language.cpp b/core/script_language.cpp index 2c32054e77..773eb29036 100644 --- a/core/script_language.cpp +++ b/core/script_language.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/script_language.h b/core/script_language.h index 3d01381f3b..1a9d101ddd 100644 --- a/core/script_language.h +++ b/core/script_language.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/self_list.h b/core/self_list.h index 053ab40162..bb7f1a8a5b 100644 --- a/core/self_list.h +++ b/core/self_list.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/set.h b/core/set.h index 331979d4e3..b2a8ee1636 100644 --- a/core/set.h +++ b/core/set.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/simple_type.h b/core/simple_type.h index 96e79966e0..5429719f02 100644 --- a/core/simple_type.h +++ b/core/simple_type.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/sort.h b/core/sort.h index a5e23f53df..94c2c1ecdf 100644 --- a/core/sort.h +++ b/core/sort.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/string_buffer.cpp b/core/string_buffer.cpp index 8489df2599..970477b90b 100644 --- a/core/string_buffer.cpp +++ b/core/string_buffer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -46,7 +46,7 @@ StringBuffer &StringBuffer::append(const char *p_str) { reserve(string_length + len + 1); CharType *buf = current_buffer_ptr(); - for (const char *c_ptr = p_str; c_ptr; ++c_ptr) { + for (const char *c_ptr = p_str; *c_ptr; ++c_ptr) { buf[string_length++] = *c_ptr; } return *this; diff --git a/core/string_buffer.h b/core/string_buffer.h index b6ccd4af20..4b502f3d92 100644 --- a/core/string_buffer.h +++ b/core/string_buffer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/string_builder.cpp b/core/string_builder.cpp index 18c710ed2d..f24e23c986 100644 --- a/core/string_builder.cpp +++ b/core/string_builder.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/string_builder.h b/core/string_builder.h index 7cf2f07872..48e3fd663f 100644 --- a/core/string_builder.h +++ b/core/string_builder.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/string_db.cpp b/core/string_db.cpp index ef38491a6b..3d77aee0a1 100644 --- a/core/string_db.cpp +++ b/core/string_db.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/string_db.h b/core/string_db.h index de91e2abd8..5e3086d4ec 100644 --- a/core/string_db.h +++ b/core/string_db.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -138,7 +138,22 @@ public: _FORCE_INLINE_ bool operator()(const StringName &l, const StringName &r) const { - return l.operator String() < r.operator String(); + const char *l_cname = l._data ? l._data->cname : ""; + const char *r_cname = r._data ? r._data->cname : ""; + + if (l_cname) { + + if (r_cname) + return is_str_less(l_cname, r_cname); + else + return is_str_less(l_cname, r._data->name.ptr()); + } else { + + if (r_cname) + return is_str_less(l._data->name.ptr(), r_cname); + else + return is_str_less(l._data->name.ptr(), r._data->name.ptr()); + } } }; diff --git a/core/translation.cpp b/core/translation.cpp index 515b5f1134..0c9af4e624 100644 --- a/core/translation.cpp +++ b/core/translation.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/translation.h b/core/translation.h index 0cdab3b0bc..b8ff1722f5 100644 --- a/core/translation.h +++ b/core/translation.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/typedefs.h b/core/typedefs.h index 889513ddc9..9508fe28db 100644 --- a/core/typedefs.h +++ b/core/typedefs.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/ucaps.h b/core/ucaps.h index f6c42f37d6..764350504a 100644 --- a/core/ucaps.h +++ b/core/ucaps.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/undo_redo.cpp b/core/undo_redo.cpp index 27fc73ec63..46d38b3abc 100644 --- a/core/undo_redo.cpp +++ b/core/undo_redo.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/undo_redo.h b/core/undo_redo.h index 84133c4eea..27bd7c2fd0 100644 --- a/core/undo_redo.h +++ b/core/undo_redo.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/ustring.cpp b/core/ustring.cpp index ceafe209ea..11d83a5733 100644 --- a/core/ustring.cpp +++ b/core/ustring.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -56,34 +56,49 @@ #define IS_DIGIT(m_d) ((m_d) >= '0' && (m_d) <= '9') #define IS_HEX_DIGIT(m_d) (((m_d) >= '0' && (m_d) <= '9') || ((m_d) >= 'a' && (m_d) <= 'f') || ((m_d) >= 'A' && (m_d) <= 'F')) -/** STRING **/ +bool is_symbol(CharType c) { + return c != '_' && ((c >= '!' && c <= '/') || (c >= ':' && c <= '@') || (c >= '[' && c <= '`') || (c >= '{' && c <= '~') || c == '\t' || c == ' '); +} -bool CharString::operator<(const CharString &p_right) const { +bool select_word(const String &p_s, int p_col, int &r_beg, int &r_end) { - if (length() == 0) { - return p_right.length() != 0; + const String &s = p_s; + int beg = CLAMP(p_col, 0, s.length()); + int end = beg; + + if (s[beg] > 32 || beg == s.length()) { + + bool symbol = beg < s.length() && is_symbol(s[beg]); + + while (beg > 0 && s[beg - 1] > 32 && (symbol == is_symbol(s[beg - 1]))) { + beg--; + } + while (end < s.length() && s[end + 1] > 32 && (symbol == is_symbol(s[end + 1]))) { + end++; + } + + if (end < s.length()) + end += 1; + + r_beg = beg; + r_end = end; + + return true; + } else { + + return false; } +} - const char *this_str = get_data(); - const char *that_str = p_right.get_data(); - while (true) { +/** STRING **/ - if (*that_str == 0 && *this_str == 0) - return false; //this can't be equal, sadly - else if (*this_str == 0) - return true; //if this is empty, and the other one is not, then we're less.. I think? - else if (*that_str == 0) - return false; //otherwise the other one is smaller.. - else if (*this_str < *that_str) //more than - return true; - else if (*this_str > *that_str) //less than - return false; +bool CharString::operator<(const CharString &p_right) const { - this_str++; - that_str++; + if (length() == 0) { + return p_right.length() != 0; } - return false; //should never reach here anyway + return is_str_less(get_data(), p_right.get_data()); } const char *CharString::get_data() const { @@ -372,25 +387,7 @@ bool String::operator<(const CharType *p_str) const { if (empty()) return true; - const CharType *this_str = c_str(); - while (true) { - - if (*p_str == 0 && *this_str == 0) - return false; //this can't be equal, sadly - else if (*this_str == 0) - return true; //if this is empty, and the other one is not, then we're less.. I think? - else if (*p_str == 0) - return false; //otherwise the other one is smaller.. - else if (*this_str < *p_str) //more than - return true; - else if (*this_str > *p_str) //less than - return false; - - this_str++; - p_str++; - } - - return false; //should never reach here anyway + return is_str_less(c_str(), p_str); } bool String::operator<=(const String &p_str) const { @@ -405,25 +402,7 @@ bool String::operator<(const char *p_str) const { if (empty()) return true; - const CharType *this_str = c_str(); - while (true) { - - if (*p_str == 0 && *this_str == 0) - return false; //this can't be equal, sadly - else if (*this_str == 0) - return true; //if this is empty, and the other one is not, then we're less.. I think? - else if (*p_str == 0) - return false; //otherwise the other one is smaller.. - else if (*this_str < *p_str) //more than - return true; - else if (*this_str > *p_str) //less than - return false; - - this_str++; - p_str++; - } - - return false; //should never reach here anyway + return is_str_less(c_str(), p_str); } bool String::operator<(const String &p_str) const { diff --git a/core/ustring.h b/core/ustring.h index 73537bfd13..8dd8b0fed3 100644 --- a/core/ustring.h +++ b/core/ustring.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -279,6 +279,29 @@ struct NaturalNoCaseComparator { } }; +template <typename L, typename R> +_FORCE_INLINE_ bool is_str_less(const L *l_ptr, const R *r_ptr) { + + while (true) { + + if (*l_ptr == 0 && *r_ptr == 0) + return false; + else if (*l_ptr == 0) + return true; + else if (*r_ptr == 0) + return false; + else if (*l_ptr < *r_ptr) + return true; + else if (*l_ptr > *r_ptr) + return false; + + l_ptr++; + r_ptr++; + } + + CRASH_COND(true); // unreachable +} + /* end of namespace */ //tool translate @@ -295,4 +318,7 @@ String TTR(const String &); //tool or regular translate String RTR(const String &); +bool is_symbol(CharType c); +bool select_word(const String &p_s, int p_col, int &r_beg, int &r_end); + #endif diff --git a/core/variant.cpp b/core/variant.cpp index 7f0cabbce4..5d4879dba7 100644 --- a/core/variant.cpp +++ b/core/variant.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/variant.h b/core/variant.h index 8ba4d576cf..6c9204a18e 100644 --- a/core/variant.h +++ b/core/variant.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/variant_call.cpp b/core/variant_call.cpp index 0284c4d866..81e823b5db 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -101,9 +101,10 @@ struct _VariantCall { const Variant *newargs[VARIANT_ARG_MAX]; for (int i = 0; i < p_argcount; i++) newargs[i] = p_args[i]; - int defargcount = def_argcount; + // fill in any remaining parameters with defaults + int first_default_arg = arg_count - def_argcount; for (int i = p_argcount; i < arg_count; i++) - newargs[i] = &default_args[defargcount - (i - p_argcount) - 1]; //default arguments + newargs[i] = &default_args[i - first_default_arg]; #ifdef DEBUG_ENABLED if (!verify_arguments(newargs, r_error)) return; diff --git a/core/variant_construct_string.cpp b/core/variant_construct_string.cpp index ccbb70d689..408e54bc99 100644 --- a/core/variant_construct_string.cpp +++ b/core/variant_construct_string.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/variant_op.cpp b/core/variant_op.cpp index c793d70ed8..96b09c904d 100644 --- a/core/variant_op.cpp +++ b/core/variant_op.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/variant_parser.cpp b/core/variant_parser.cpp index 1c02c627b5..a78e18112d 100644 --- a/core/variant_parser.cpp +++ b/core/variant_parser.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/variant_parser.h b/core/variant_parser.h index 524891cdfd..18b6998f55 100644 --- a/core/variant_parser.h +++ b/core/variant_parser.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/vector.h b/core/vector.h index a5c4b3b155..456d446a4b 100644 --- a/core/vector.h +++ b/core/vector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/version.h b/core/version.h index b217d82c5d..bf2f2c9d99 100644 --- a/core/version.h +++ b/core/version.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/vmap.h b/core/vmap.h index 8165a919b6..341fc273d4 100644 --- a/core/vmap.h +++ b/core/vmap.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/vset.h b/core/vset.h index 67af6c1a4c..f4036c7c7e 100644 --- a/core/vset.h +++ b/core/vset.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/doc/classes/@GDScript.xml b/doc/classes/@GDScript.xml index bee2cdf387..cd05c83347 100644 --- a/doc/classes/@GDScript.xml +++ b/doc/classes/@GDScript.xml @@ -535,7 +535,7 @@ <argument index="0" name="path" type="String"> </argument> <description> - Loads a resource from the filesystem located at 'path'. Note: resource paths can be obtained by right clicking on a resource in the Assets Panel and choosing "Copy Path". + Loads a resource from the filesystem located at [code]path[/code]. Note: resource paths can be obtained by right clicking on a resource in the Assets Panel and choosing "Copy Path". [codeblock] # load a scene called main located in the root of the project directory var main = load("res://main.tscn") @@ -866,9 +866,10 @@ <argument index="0" name="s" type="float"> </argument> <description> - Returns sign of [code]s[/code] -1 or 1. + Returns the sign of [code]s[/code]: -1 or 1. Returns 0 if [code]s[/code] is 0. [codeblock] sign(-6) # returns -1 + sign(0) # returns 0 sign(6) # returns 1 [/codeblock] </description> diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index de5dc18702..6e8b760966 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -93,6 +93,14 @@ <constant name="MARGIN_BOTTOM" value="3" enum="Margin"> Bottom margin, used usually for [Control] or [StyleBox] derived classes. </constant> + <constant name="CORNER_TOP_LEFT" value="0" enum="Corner"> + </constant> + <constant name="CORNER_TOP_RIGHT" value="1" enum="Corner"> + </constant> + <constant name="CORNER_BOTTOM_RIGHT" value="2" enum="Corner"> + </constant> + <constant name="CORNER_BOTTOM_LEFT" value="3" enum="Corner"> + </constant> <constant name="VERTICAL" value="1" enum="Orientation"> General vertical alignment, used usually for [Separator], [ScrollBar], [Slider], etc. </constant> @@ -1385,5 +1393,57 @@ <constant name="TYPE_MAX" value="27" enum="Variant.Type"> Marker for end of type constants. </constant> + <constant name="OP_EQUAL" value="0" enum="Variant.Operator"> + </constant> + <constant name="OP_NOT_EQUAL" value="1" enum="Variant.Operator"> + </constant> + <constant name="OP_LESS" value="2" enum="Variant.Operator"> + </constant> + <constant name="OP_LESS_EQUAL" value="3" enum="Variant.Operator"> + </constant> + <constant name="OP_GREATER" value="4" enum="Variant.Operator"> + </constant> + <constant name="OP_GREATER_EQUAL" value="5" enum="Variant.Operator"> + </constant> + <constant name="OP_ADD" value="6" enum="Variant.Operator"> + </constant> + <constant name="OP_SUBTRACT" value="7" enum="Variant.Operator"> + </constant> + <constant name="OP_MULTIPLY" value="8" enum="Variant.Operator"> + </constant> + <constant name="OP_DIVIDE" value="9" enum="Variant.Operator"> + </constant> + <constant name="OP_NEGATE" value="10" enum="Variant.Operator"> + </constant> + <constant name="OP_POSITIVE" value="11" enum="Variant.Operator"> + </constant> + <constant name="OP_MODULE" value="12" enum="Variant.Operator"> + </constant> + <constant name="OP_STRING_CONCAT" value="13" enum="Variant.Operator"> + </constant> + <constant name="OP_SHIFT_LEFT" value="14" enum="Variant.Operator"> + </constant> + <constant name="OP_SHIFT_RIGHT" value="15" enum="Variant.Operator"> + </constant> + <constant name="OP_BIT_AND" value="16" enum="Variant.Operator"> + </constant> + <constant name="OP_BIT_OR" value="17" enum="Variant.Operator"> + </constant> + <constant name="OP_BIT_XOR" value="18" enum="Variant.Operator"> + </constant> + <constant name="OP_BIT_NEGATE" value="19" enum="Variant.Operator"> + </constant> + <constant name="OP_AND" value="20" enum="Variant.Operator"> + </constant> + <constant name="OP_OR" value="21" enum="Variant.Operator"> + </constant> + <constant name="OP_XOR" value="22" enum="Variant.Operator"> + </constant> + <constant name="OP_NOT" value="23" enum="Variant.Operator"> + </constant> + <constant name="OP_IN" value="24" enum="Variant.Operator"> + </constant> + <constant name="OP_MAX" value="25" enum="Variant.Operator"> + </constant> </constants> </class> diff --git a/doc/classes/ARVRController.xml b/doc/classes/ARVRController.xml index 47a9341643..2adc073ebe 100644 --- a/doc/classes/ARVRController.xml +++ b/doc/classes/ARVRController.xml @@ -62,7 +62,10 @@ </methods> <members> <member name="controller_id" type="int" setter="set_controller_id" getter="get_controller_id"> - The controller's id. The first controller that the [ARVRServer] detects will have id 1, the second id 2, the third id 3, etc. When a controller is turned off, it's slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off. + The controller's id. + A controller id of 0 is unbound and will always result in an inactive node. Controller id 1 is reserved for the first controller that identifies itself as the left hand controller and id 2 is reserved for the first controller that identifies itself as the right hand controller. + For any other controller that the [ARVRServer] detects we continue with controller id 3. + When a controller is turned off, its slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off. </member> <member name="rumble" type="float" setter="set_rumble" getter="get_rumble"> The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to [code]1.0[/code] with precision [code].01[/code]. If changed, updates [member ARVRPositionalTracker.rumble] accordingly. diff --git a/doc/classes/ARVRServer.xml b/doc/classes/ARVRServer.xml index 17202c8c2c..7f9eedce50 100644 --- a/doc/classes/ARVRServer.xml +++ b/doc/classes/ARVRServer.xml @@ -14,7 +14,7 @@ <method name="center_on_hmd"> <return type="void"> </return> - <argument index="0" name="ignore_tilt" type="bool"> + <argument index="0" name="rotation_mode" type="int" enum="ARVRServer.RotationMode"> </argument> <argument index="1" name="keep_height" type="bool"> </argument> @@ -154,5 +154,14 @@ <constant name="TRACKER_ANY" value="255" enum="TrackerType"> Used internally to select all trackers. </constant> + <constant name="RESET_FULL_ROTATION" value="0" enum="RotationMode"> + Fully reset the orientation of the HMD. Regardless of what direction the user is looking to in the real world. The user will look dead ahead in the virtual world. + </constant> + <constant name="RESET_BUT_KEEP_TILT" value="1" enum="RotationMode"> + Resets the orientation but keeps the tilt of the device. So if we're looking down, we keep looking down but heading will be reset. + </constant> + <constant name="DONT_RESET_ROTATION" value="2" enum="RotationMode"> + Does not reset the orientation of the HMD, only the position of the player gets centered. + </constant> </constants> </class> diff --git a/doc/classes/AStar.xml b/doc/classes/AStar.xml index e0e3261edf..08ac12736a 100644 --- a/doc/classes/AStar.xml +++ b/doc/classes/AStar.xml @@ -171,7 +171,7 @@ <method name="get_point_connections"> <return type="PoolIntArray"> </return> - <argument index="0" name="arg0" type="int"> + <argument index="0" name="id" type="int"> </argument> <description> Returns an array with the ids of the points that form the connect with the given point. diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml index 570f5e9741..a244788020 100644 --- a/doc/classes/AnimationPlayer.xml +++ b/doc/classes/AnimationPlayer.xml @@ -133,6 +133,7 @@ <return type="float"> </return> <description> + Returns the speed scaling ratio of the current animation channel. For instance, if this value is 1 then the animation plays at normal speed. If it's 0.5 then it plays at half speed. If it's 2 then it plays at double speed. </description> </method> <method name="has_animation" qualifiers="const"> diff --git a/doc/classes/BakedLightmap.xml b/doc/classes/BakedLightmap.xml index b351aeac05..b23b608589 100644 --- a/doc/classes/BakedLightmap.xml +++ b/doc/classes/BakedLightmap.xml @@ -27,38 +27,28 @@ </method> </methods> <members> - <member name="bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="BakedLightmap.BakeMode"> + <member name="bake_cell_size" type="float" setter="set_bake_cell_size" getter="get_bake_cell_size"> </member> - <member name="bake_quality" type="int" setter="set_bake_quality" getter="get_bake_quality" enum="BakedLightmap.BakeQuality"> + <member name="bake_energy" type="float" setter="set_energy" getter="get_energy"> + </member> + <member name="bake_extents" type="Vector3" setter="set_extents" getter="get_extents"> </member> - <member name="bake_subdiv" type="int" setter="set_bake_subdiv" getter="get_bake_subdiv" enum="BakedLightmap.Subdiv"> + <member name="bake_hdr" type="bool" setter="set_hdr" getter="is_hdr"> </member> - <member name="capture_subdiv" type="int" setter="set_capture_subdiv" getter="get_capture_subdiv" enum="BakedLightmap.Subdiv"> + <member name="bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="BakedLightmap.BakeMode"> </member> - <member name="energy" type="float" setter="set_energy" getter="get_energy"> + <member name="bake_propagation" type="float" setter="set_propagation" getter="get_propagation"> </member> - <member name="extents" type="Vector3" setter="set_extents" getter="get_extents"> + <member name="bake_quality" type="int" setter="set_bake_quality" getter="get_bake_quality" enum="BakedLightmap.BakeQuality"> </member> - <member name="hdr" type="bool" setter="set_hdr" getter="is_hdr"> + <member name="capture_cell_size" type="float" setter="set_capture_cell_size" getter="get_capture_cell_size"> </member> <member name="image_path" type="String" setter="set_image_path" getter="get_image_path"> </member> <member name="light_data" type="BakedLightmapData" setter="set_light_data" getter="get_light_data"> </member> - <member name="propagation" type="float" setter="set_propagation" getter="get_propagation"> - </member> </members> <constants> - <constant name="SUBDIV_128" value="0" enum="Subdiv"> - </constant> - <constant name="SUBDIV_256" value="1" enum="Subdiv"> - </constant> - <constant name="SUBDIV_512" value="2" enum="Subdiv"> - </constant> - <constant name="SUBDIV_1024" value="3" enum="Subdiv"> - </constant> - <constant name="SUBDIV_MAX" value="4" enum="Subdiv"> - </constant> <constant name="BAKE_QUALITY_LOW" value="0" enum="BakeQuality"> </constant> <constant name="BAKE_QUALITY_MEDIUM" value="1" enum="BakeQuality"> diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml index a873bd9a27..1573596487 100644 --- a/doc/classes/Basis.xml +++ b/doc/classes/Basis.xml @@ -38,7 +38,7 @@ <argument index="1" name="phi" type="float"> </argument> <description> - Create a rotation matrix which rotates around the given axis by the specified angle. The axis must be a normalized vector. + Create a rotation matrix which rotates around the given axis by the specified angle, in radians. The axis must be a normalized vector. </description> </method> <method name="Basis"> diff --git a/doc/classes/Camera.xml b/doc/classes/Camera.xml index 91c9ecc774..c2ae9101e1 100644 --- a/doc/classes/Camera.xml +++ b/doc/classes/Camera.xml @@ -150,9 +150,6 @@ <member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset"> The horizontal (Y) offset of the Camear viewport. </member> - <member name="vaspect" type="bool" setter="set_vaspect" getter="get_vaspect"> - A boolean representation of [member keep_aspect] in which [code]true[/code] is equivalent to [code]KEEP_WIDTH[/code]. - </member> </members> <constants> <constant name="PROJECTION_PERSPECTIVE" value="0" enum="Projection"> diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml index 185460eef2..87d00b7600 100644 --- a/doc/classes/ColorPickerButton.xml +++ b/doc/classes/ColorPickerButton.xml @@ -11,14 +11,14 @@ <demos> </demos> <methods> - <method name="get_picker"> + <method name="get_picker" qualifiers="const"> <return type="ColorPicker"> </return> <description> Returns the [code]ColorPicker[/code] that this [code]ColorPickerButton[/code] toggles. </description> </method> - <method name="get_popup"> + <method name="get_popup" qualifiers="const"> <return type="PopupPanel"> </return> <description> diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index 54eaf6cc7a..a01ffc99be 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -314,6 +314,22 @@ Loads an image from file [code]path[/code]. </description> </method> + <method name="load_jpg_from_buffer"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="buffer" type="PoolByteArray"> + </argument> + <description> + </description> + </method> + <method name="load_png_from_buffer"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="buffer" type="PoolByteArray"> + </argument> + <description> + </description> + </method> <method name="lock"> <return type="void"> </return> diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index 1200ac5170..79dc45fa1f 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -275,9 +275,12 @@ </return> <argument index="0" name="image" type="Resource"> </argument> - <argument index="1" name="hotspot" type="Vector2" default="Vector2( 0, 0 )"> + <argument index="1" name="shape" type="int" enum="Input.CursorShape" default="0"> + </argument> + <argument index="2" name="hotspot" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> + Set a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified. See enum [code]CURSOR_*[/code] for the list of shapes. </description> </method> <method name="set_mouse_mode"> @@ -347,5 +350,39 @@ </constant> <constant name="MOUSE_MODE_CONFINED" value="3" enum="MouseMode"> </constant> + <constant name="CURSOR_ARROW" value="0" enum="CursorShape"> + </constant> + <constant name="CURSOR_IBEAM" value="1" enum="CursorShape"> + </constant> + <constant name="CURSOR_POINTING_HAND" value="2" enum="CursorShape"> + </constant> + <constant name="CURSOR_CROSS" value="3" enum="CursorShape"> + </constant> + <constant name="CURSOR_WAIT" value="4" enum="CursorShape"> + </constant> + <constant name="CURSOR_BUSY" value="5" enum="CursorShape"> + </constant> + <constant name="CURSOR_DRAG" value="6" enum="CursorShape"> + </constant> + <constant name="CURSOR_CAN_DROP" value="7" enum="CursorShape"> + </constant> + <constant name="CURSOR_FORBIDDEN" value="8" enum="CursorShape"> + </constant> + <constant name="CURSOR_VSIZE" value="9" enum="CursorShape"> + </constant> + <constant name="CURSOR_HSIZE" value="10" enum="CursorShape"> + </constant> + <constant name="CURSOR_BDIAGSIZE" value="11" enum="CursorShape"> + </constant> + <constant name="CURSOR_FDIAGSIZE" value="12" enum="CursorShape"> + </constant> + <constant name="CURSOR_MOVE" value="13" enum="CursorShape"> + </constant> + <constant name="CURSOR_VSPLIT" value="14" enum="CursorShape"> + </constant> + <constant name="CURSOR_HSPLIT" value="15" enum="CursorShape"> + </constant> + <constant name="CURSOR_HELP" value="16" enum="CursorShape"> + </constant> </constants> </class> diff --git a/doc/classes/InputEvent.xml b/doc/classes/InputEvent.xml index cc31da0627..a8abe60f78 100644 --- a/doc/classes/InputEvent.xml +++ b/doc/classes/InputEvent.xml @@ -28,13 +28,6 @@ Returns a [String] representation of the event. </description> </method> - <method name="get_id" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the event's ID. - </description> - </method> <method name="is_action" qualifiers="const"> <return type="bool"> </return> @@ -83,14 +76,6 @@ Returns [code]true[/code] if this input event is pressed. Not relevant for the event types [code]MOUSE_MOTION[/code], [code]SCREEN_DRAG[/code] or [code]NONE[/code]. </description> </method> - <method name="set_id"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - </description> - </method> <method name="shortcut_match" qualifiers="const"> <return type="bool"> </return> diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml index c41c86d693..af681c9456 100644 --- a/doc/classes/MenuButton.xml +++ b/doc/classes/MenuButton.xml @@ -11,13 +11,21 @@ <demos> </demos> <methods> - <method name="get_popup"> + <method name="get_popup" qualifiers="const"> <return type="PopupMenu"> </return> <description> Return the [PopupMenu] contained in this button. </description> </method> + <method name="set_disable_shortcuts"> + <return type="void"> + </return> + <argument index="0" name="disabled" type="bool"> + </argument> + <description> + </description> + </method> </methods> <signals> <signal name="about_to_show"> diff --git a/doc/classes/Mutex.xml b/doc/classes/Mutex.xml index 4b845c05ad..74d59b2dd3 100644 --- a/doc/classes/Mutex.xml +++ b/doc/classes/Mutex.xml @@ -4,7 +4,7 @@ A synchronization Mutex. </brief_description> <description> - A synchronization Mutex. Element used in multi-threadding. Basically a binary [Semaphore]. Guarantees that only one thread has this lock, can be used to protect a critical section. + A synchronization Mutex. Element used to synchronize multiple [Thread]s. Basically a binary [Semaphore]. Guarantees that only one thread can ever acquire this lock at a time. Can be used to protect a critical section. Be careful to avoid deadlocks. </description> <tutorials> </tutorials> @@ -22,14 +22,14 @@ <return type="int" enum="Error"> </return> <description> - Try locking this [code]Mutex[/code], does not block. Returns [OK] on success else [ERR_BUSY]. + Try locking this [code]Mutex[/code], does not block. Returns [OK] on success, [ERR_BUSY] otherwise. </description> </method> <method name="unlock"> <return type="void"> </return> <description> - Unlock this [code]Mutex[/code], leaving it to others threads. + Unlock this [code]Mutex[/code], leaving it to other threads. </description> </method> </methods> diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml index 81978809d7..5b7def99dc 100644 --- a/doc/classes/Node2D.xml +++ b/doc/classes/Node2D.xml @@ -157,12 +157,12 @@ <member name="transform" type="Transform2D" setter="set_transform" getter="get_transform"> Local [Transform2D]. </member> - <member name="z" type="int" setter="set_z" getter="get_z"> - Z-index. Controls the order in which the nodes render. A node with a higher Z-index will display in front of others. - </member> <member name="z_as_relative" type="bool" setter="set_z_as_relative" getter="is_z_relative"> If [code]true[/code] the node's Z-index is relative to its parent's Z-index. If this node's Z-index is 2 and its parent's effective Z-index is 3, then this node's effective Z-index will be 2 + 3 = 5. </member> + <member name="z_index" type="int" setter="set_z_index" getter="get_z_index"> + Z-index. Controls the order in which the nodes render. A node with a higher Z-index will display in front of others. + </member> </members> <constants> </constants> diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml index 76265e700a..ff3e513c79 100644 --- a/doc/classes/OptionButton.xml +++ b/doc/classes/OptionButton.xml @@ -91,6 +91,13 @@ Return the text of the item at index "idx". </description> </method> + <method name="get_popup" qualifiers="const"> + <return type="PopupMenu"> + </return> + <description> + Return the [PopupMenu] contained in this button. + </description> + </method> <method name="get_selected_id" qualifiers="const"> <return type="int"> </return> diff --git a/doc/classes/Physics2DDirectSpaceState.xml b/doc/classes/Physics2DDirectSpaceState.xml index f63b8f17bc..2e2d8e95f9 100644 --- a/doc/classes/Physics2DDirectSpaceState.xml +++ b/doc/classes/Physics2DDirectSpaceState.xml @@ -17,8 +17,8 @@ <argument index="0" name="shape" type="Physics2DShapeQueryParameters"> </argument> <description> - Check whether the shape can travel to a point. If it can, the method will return an array with two floats: The first is the distance the shape can move in that direction without colliding, and the second is the distance at which it will collide. - If the shape can not move, the array will be empty. + Checks how far the shape can travel toward a point. Note that both the shape and the motion are supplied through a [Physics2DShapeQueryParameters] object. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [1, 1]. + If the shape can not move, the array will be empty ([code]dir.empty()==true[/code]). </description> </method> <method name="collide_shape"> @@ -29,7 +29,7 @@ <argument index="1" name="max_results" type="int" default="32"> </argument> <description> - Check the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. + Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. </description> </method> <method name="get_rest_info"> @@ -38,16 +38,15 @@ <argument index="0" name="shape" type="Physics2DShapeQueryParameters"> </argument> <description> - Check the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. If it collides with more than a shape, the nearest one is selected. The returned object is a dictionary containing the following fields: - pointo: Place where the shapes intersect. - normal: Normal of the object at the point where the shapes intersect. - shape: Shape index within the object against which the shape intersected. - metadata: Metadata of the shape against which the shape intersected. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. - collider_id: Id of the object against which the shape intersected. - collider: Object against which the shape intersected. - rid: [RID] of the object against which the shape intersected. - linear_velocity: The movement vector of the object the shape intersected, if it was a body. If it was an area, it is (0,0). - If the shape did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead. + Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. If it collides with more than one shape, the nearest one is selected. Note that this method does not take into account the [code]motion[/code] property of the object. The returned object is a dictionary containing the following fields: + [code]collider_id[/code]: The colliding object's ID. + [code]linear_velocity[/code]: The colliding object's velocity [Vector2]. If the object is an [Area2D], the result is [code](0, 0)[/code]. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]normal[/code]: The object's surface normal at the intersection point. + [code]point[/code]: The intersection point. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + If the shape did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. </description> </method> <method name="intersect_point"> @@ -62,12 +61,12 @@ <argument index="3" name="collision_layer" type="int" default="2147483647"> </argument> <description> - Check whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields: - shape: Shape index within the object the point is in. - metadata: Metadata of the shape the point is in. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. - collider_id: Id of the object the point is in. - collider: Object the point is inside of. - rid: [RID] of the object the point is in. + Checks whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in. </description> </method> @@ -83,15 +82,15 @@ <argument index="3" name="collision_layer" type="int" default="2147483647"> </argument> <description> - Intersect a ray in a given space. The returned object is a dictionary with the following fields: - position: Place where ray is stopped. - normal: Normal of the object at the point where the ray was stopped. - shape: Shape index within the object against which the ray was stopped. - metadata: Metadata of the shape against which the ray was stopped. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. - collider_id: Id of the object against which the ray was stopped. - collider: Object against which the ray was stopped. - rid: [RID] of the object against which the ray was stopped. - If the ray did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead. + Intersects a ray in a given space. The returned object is a dictionary with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]normal[/code]: The object's surface normal at the intersection point. + [code]position[/code]: The intersection point. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + If the ray did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in. </description> </method> @@ -103,12 +102,12 @@ <argument index="1" name="max_results" type="int" default="32"> </argument> <description> - Check the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields: - shape: Shape index within the object the shape intersected. - metadata: Metadata of the shape intersected by the shape given through the [Physics2DShapeQueryParameters]. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. - collider_id: Id of the object the shape intersected. - collider: Object the shape intersected. - rid: [RID] of the object the shape intersected. + Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. Note that this method does not take into account the [code]motion[/code] property of the object. The intersected shapes are returned in an array containing dictionaries with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. The number of intersections can be limited with the second parameter, to reduce the processing time. </description> </method> diff --git a/doc/classes/Physics2DServer.xml b/doc/classes/Physics2DServer.xml index 67f5f84a49..8bad396b84 100644 --- a/doc/classes/Physics2DServer.xml +++ b/doc/classes/Physics2DServer.xml @@ -216,7 +216,7 @@ <argument index="2" name="disable" type="bool"> </argument> <description> - Disables a given shape in this area if [code]disable is true[/code] + Disables a given shape in an area. </description> </method> <method name="area_set_shape_transform"> @@ -638,7 +638,7 @@ <argument index="2" name="enable" type="bool"> </argument> <description> - Enables one way collision on body if [code]enable is true[/code]. + Enables one way collision on body if [code]enable[/code] is [code]true[/code]. </description> </method> <method name="body_set_shape_disabled"> @@ -651,7 +651,7 @@ <argument index="2" name="disable" type="bool"> </argument> <description> - Disables shape in body if [code]disable is true[/code]. + Disables shape in body if [code]disable[/code] is [code]true[/code]. </description> </method> <method name="body_set_shape_metadata"> @@ -1135,6 +1135,12 @@ <constant name="JOINT_DAMPED_SPRING" value="2" enum="JointType"> Constant to create damped spring joints. </constant> + <constant name="JOINT_PARAM_BIAS" value="0" enum="JointParam"> + </constant> + <constant name="JOINT_PARAM_MAX_BIAS" value="1" enum="JointParam"> + </constant> + <constant name="JOINT_PARAM_MAX_FORCE" value="2" enum="JointParam"> + </constant> <constant name="DAMPED_STRING_REST_LENGTH" value="0" enum="DampedStringParam"> Set the resting length of the spring joint. The joint will always try to go to back this length when pulled apart. </constant> diff --git a/doc/classes/PhysicsDirectSpaceState.xml b/doc/classes/PhysicsDirectSpaceState.xml index 21576646f9..d93550eb47 100644 --- a/doc/classes/PhysicsDirectSpaceState.xml +++ b/doc/classes/PhysicsDirectSpaceState.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PhysicsDirectSpaceState" inherits="Object" category="Core" version="3.0-beta"> <brief_description> + Direct access object to a space in the [PhysicsServer]. </brief_description> <description> + Direct access object to a space in the [PhysicsServer]. It's used mainly to do queries against objects and areas residing in a given space. </description> <tutorials> </tutorials> @@ -17,6 +19,8 @@ <argument index="1" name="motion" type="Vector3"> </argument> <description> + Checks whether the shape can travel to a point. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [1, 1]. + If the shape can not move, the array will be empty ([code]dir.empty()==true[/code]). </description> </method> <method name="collide_shape"> @@ -27,6 +31,7 @@ <argument index="1" name="max_results" type="int" default="32"> </argument> <description> + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. </description> </method> <method name="get_rest_info"> @@ -35,6 +40,14 @@ <argument index="0" name="shape" type="PhysicsShapeQueryParameters"> </argument> <description> + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. If it collides with more than a shape, the nearest one is selected. The returned object is a dictionary containing the following fields: + [code]collider_id[/code]: The colliding object's ID. + [code]linear_velocity[/code]: The colliding object's velocity [Vector3]. If the object is an [Area], the result is [code](0, 0, 0)[/code]. + [code]normal[/code]: The object's surface normal at the intersection point. + [code]point[/code]: The intersection point. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + If the shape did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. </description> </method> <method name="intersect_ray"> @@ -49,6 +62,15 @@ <argument index="3" name="collision_layer" type="int" default="2147483647"> </argument> <description> + Intersects a ray in a given space. The returned object is a dictionary with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]normal[/code]: The object's surface normal at the intersection point. + [code]position[/code]: The intersection point. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + If the ray did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. + Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in. </description> </method> <method name="intersect_shape"> @@ -59,6 +81,12 @@ <argument index="1" name="max_results" type="int" default="32"> </argument> <description> + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + The number of intersections can be limited with the second parameter, to reduce the processing time. </description> </method> </methods> diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml index f3dd953c6f..3a4b843b06 100644 --- a/doc/classes/SceneTree.xml +++ b/doc/classes/SceneTree.xml @@ -165,6 +165,12 @@ <description> </description> </method> + <method name="is_using_font_oversampling" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> <method name="notify_group"> <return type="void"> </return> @@ -296,6 +302,14 @@ <description> </description> </method> + <method name="set_quit_on_go_back"> + <return type="void"> + </return> + <argument index="0" name="enabled" type="bool"> + </argument> + <description> + </description> + </method> <method name="set_refuse_new_network_connections"> <return type="void"> </return> @@ -318,6 +332,14 @@ <description> </description> </method> + <method name="set_use_font_oversampling"> + <return type="void"> + </return> + <argument index="0" name="enable" type="bool"> + </argument> + <description> + </description> + </method> </methods> <signals> <signal name="connected_to_server"> @@ -388,13 +410,13 @@ </signal> </signals> <constants> - <constant name="GROUP_CALL_DEFAULT" value="0" enum="CallGroupFlags"> + <constant name="GROUP_CALL_DEFAULT" value="0" enum="GroupCallFlags"> </constant> - <constant name="GROUP_CALL_REVERSE" value="1" enum="CallGroupFlags"> + <constant name="GROUP_CALL_REVERSE" value="1" enum="GroupCallFlags"> </constant> - <constant name="GROUP_CALL_REALTIME" value="2" enum="CallGroupFlags"> + <constant name="GROUP_CALL_REALTIME" value="2" enum="GroupCallFlags"> </constant> - <constant name="GROUP_CALL_UNIQUE" value="4" enum="CallGroupFlags"> + <constant name="GROUP_CALL_UNIQUE" value="4" enum="GroupCallFlags"> </constant> <constant name="STRETCH_MODE_DISABLED" value="0" enum="StretchMode"> </constant> diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml index d45283c10c..c7df24879e 100644 --- a/doc/classes/Script.xml +++ b/doc/classes/Script.xml @@ -19,6 +19,18 @@ Returns true if the script can be instanced. </description> </method> + <method name="get_base_script" qualifiers="const"> + <return type="Script"> + </return> + <description> + </description> + </method> + <method name="get_instance_base_type" qualifiers="const"> + <return type="String"> + </return> + <description> + </description> + </method> <method name="get_source_code" qualifiers="const"> <return type="String"> </return> diff --git a/doc/classes/ScriptEditor.xml b/doc/classes/ScriptEditor.xml index 81b0b3d0c3..1e1a8d516e 100644 --- a/doc/classes/ScriptEditor.xml +++ b/doc/classes/ScriptEditor.xml @@ -12,11 +12,11 @@ <method name="can_drop_data_fw" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="arg0" type="Vector2"> + <argument index="0" name="point" type="Vector2"> </argument> - <argument index="1" name="arg1" type="Variant"> + <argument index="1" name="data" type="Variant"> </argument> - <argument index="2" name="arg2" type="Control"> + <argument index="2" name="from" type="Control"> </argument> <description> </description> @@ -24,11 +24,11 @@ <method name="drop_data_fw"> <return type="void"> </return> - <argument index="0" name="arg0" type="Vector2"> + <argument index="0" name="point" type="Vector2"> </argument> - <argument index="1" name="arg1" type="Variant"> + <argument index="1" name="data" type="Variant"> </argument> - <argument index="2" name="arg2" type="Control"> + <argument index="2" name="from" type="Control"> </argument> <description> </description> @@ -43,9 +43,9 @@ <method name="get_drag_data_fw"> <return type="Variant"> </return> - <argument index="0" name="arg0" type="Vector2"> + <argument index="0" name="point" type="Vector2"> </argument> - <argument index="1" name="arg1" type="Control"> + <argument index="1" name="from" type="Control"> </argument> <description> </description> diff --git a/doc/classes/Semaphore.xml b/doc/classes/Semaphore.xml index d8deb9651a..c8206ff2c2 100644 --- a/doc/classes/Semaphore.xml +++ b/doc/classes/Semaphore.xml @@ -4,7 +4,7 @@ A synchronization Semaphore. </brief_description> <description> - A synchronization Semaphore. Element used in multi-threadding. Initialized to zero on creation. + A synchronization Semaphore. Element used to synchronize multiple [Thread]s. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see [Mutex]. </description> <tutorials> </tutorials> @@ -15,14 +15,14 @@ <return type="int" enum="Error"> </return> <description> - Lowers the [code]Semaphore[/code], allowing one more thread in. + Lowers the [code]Semaphore[/code], allowing one more thread in. Returns [OK] on success, [ERR_BUSY] otherwise. </description> </method> <method name="wait"> <return type="int" enum="Error"> </return> <description> - Tries to wait for the [code]Semaphore[/code], if its value is zero, blocks until non-zero. + Tries to wait for the [code]Semaphore[/code], if its value is zero, blocks until non-zero. Returns [OK] on success, [ERR_BUSY] otherwise. </description> </method> </methods> diff --git a/doc/classes/Spatial.xml b/doc/classes/Spatial.xml index ea04192a5e..d0addcf9f9 100644 --- a/doc/classes/Spatial.xml +++ b/doc/classes/Spatial.xml @@ -5,6 +5,8 @@ </brief_description> <description> Most basic 3D game object, with a 3D [Transform] and visibility settings. All other 3D game objects inherit from Spatial. Use Spatial as a parent node to move, scale, rotate and show/hide children in a 3D project. + + Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the Spatial object is set as top level. Affine operations in this coordinate system correspond to direct affine operations on the Spatial's transform. The word local below refers to this coordinate system. The coordinate system that is attached to the Spatial object itself is referred to as object-local coordinate system. </description> <tutorials> </tutorials> @@ -35,12 +37,20 @@ <method name="global_rotate"> <return type="void"> </return> - <argument index="0" name="normal" type="Vector3"> + <argument index="0" name="axis" type="Vector3"> </argument> - <argument index="1" name="radians" type="float"> + <argument index="1" name="angle" type="float"> + </argument> + <description> + Rotates the global (world) transformation around axis, a unit [Vector3], by specified angle in radians. The rotation axis is in global coordinate system. + </description> + </method> + <method name="global_scale"> + <return type="void"> + </return> + <argument index="0" name="scale" type="Vector3"> </argument> <description> - Rotates the current node along normal [Vector3] by angle in radians in Global space. </description> </method> <method name="global_translate"> @@ -49,7 +59,7 @@ <argument index="0" name="offset" type="Vector3"> </argument> <description> - Moves the node by [Vector3] offset in Global space. + Moves the global (world) transformation by [Vector3] offset. The offset is in global coordinate system. </description> </method> <method name="hide"> @@ -115,45 +125,65 @@ <return type="void"> </return> <description> - Resets this node's transformations (like scale, skew and taper) preserving its rotation and translation. Performs orthonormalization on this node [Transform3D]. + Resets this node's transformations (like scale, skew and taper) preserving its rotation and translation by performing Gram-Schmidt orthonormalization on this node's [Transform3D]. </description> </method> <method name="rotate"> <return type="void"> </return> - <argument index="0" name="normal" type="Vector3"> + <argument index="0" name="axis" type="Vector3"> + </argument> + <argument index="1" name="angle" type="float"> + </argument> + <description> + Rotates the local transformation around axis, a unit [Vector3], by specified angle in radians. + </description> + </method> + <method name="rotate_object_local"> + <return type="void"> + </return> + <argument index="0" name="axis" type="Vector3"> </argument> - <argument index="1" name="radians" type="float"> + <argument index="1" name="angle" type="float"> </argument> <description> - Rotates the node in local space on given normal [Vector3] by angle in radians. + Rotates the local transformation around axis, a unit [Vector3], by specified angle in radians. The rotation axis is in object-local coordinate system. </description> </method> <method name="rotate_x"> <return type="void"> </return> - <argument index="0" name="radians" type="float"> + <argument index="0" name="angle" type="float"> </argument> <description> - Rotates the node in local space on X axis by angle in radians. + Rotates the local transformation around the X axis by angle in radians </description> </method> <method name="rotate_y"> <return type="void"> </return> - <argument index="0" name="radians" type="float"> + <argument index="0" name="angle" type="float"> </argument> <description> - Rotates the node in local space on Y axis by angle in radians. + Rotates the local transformation around the Y axis by angle in radians. </description> </method> <method name="rotate_z"> <return type="void"> </return> - <argument index="0" name="radians" type="float"> + <argument index="0" name="angle" type="float"> </argument> <description> - Rotates the node in local space on Z axis by angle in radians. + Rotates the local transformation around the Z axis by angle in radians. + </description> + </method> + <method name="scale_object_local"> + <return type="void"> + </return> + <argument index="0" name="scale" type="Vector3"> + </argument> + <description> + Scales the local transformation by given 3D scale factors in object-local coordinate system. </description> </method> <method name="set_as_toplevel"> @@ -242,6 +272,14 @@ Changes the node's position by given offset [Vector3]. </description> </method> + <method name="translate_object_local"> + <return type="void"> + </return> + <argument index="0" name="offset" type="Vector3"> + </argument> + <description> + </description> + </method> <method name="update_gizmo"> <return type="void"> </return> @@ -255,16 +293,18 @@ World space (global) [Transform] of this node. </member> <member name="rotation" type="Vector3" setter="set_rotation" getter="get_rotation"> - Local euler rotation in radians of this node. + Rotation part of the local transformation, specified in terms of YXZ-Euler angles in the format (X-angle, Y-angle, Z-angle), in radians. + + Note that in the mathematical sense, rotation is a matrix and not a vector. The three Euler angles, which are the three indepdent parameters of the Euler-angle parametrization of the rotation matrix, are stored in a [Vector3] data structure not because the rotation is a vector, but only because [Vector3] exists as a convenient data-structure to store 3 floating point numbers. Therefore, applying affine operations on the rotation "vector" is not meaningful. </member> <member name="rotation_degrees" type="Vector3" setter="set_rotation_degrees" getter="get_rotation_degrees"> - Local euler rotation in degrees of this node. + Rotation part of the local transformation, specified in terms of YXZ-Euler angles in the format (X-angle, Y-angle, Z-angle), in degrees. </member> <member name="scale" type="Vector3" setter="set_scale" getter="get_scale"> - Local scale of this node. + Scale part of the local transformation. </member> <member name="transform" type="Transform" setter="set_transform" getter="get_transform"> - Local space [Transform] of this node. + Local space [Transform] of this node, with respect to the parent node. </member> <member name="translation" type="Vector3" setter="set_translation" getter="get_translation"> Local translation of this node. diff --git a/doc/classes/StreamPeer.xml b/doc/classes/StreamPeer.xml index d757b6f2d8..8ecd9e5816 100644 --- a/doc/classes/StreamPeer.xml +++ b/doc/classes/StreamPeer.xml @@ -105,7 +105,7 @@ <return type="int"> </return> <description> - Get an unsigned 16 bit value from the stream. + Get an unsigned 64 bit value from the stream. </description> </method> <method name="get_u8"> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index 85cbeaaa03..f4d80c46b4 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -213,7 +213,7 @@ <method name="is_line_hidden" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="arg0" type="int"> + <argument index="0" name="line" type="int"> </argument> <description> </description> @@ -345,18 +345,28 @@ </methods> <members> <member name="caret_blink" type="bool" setter="cursor_set_blink_enabled" getter="cursor_get_blink_enabled"> + If [code]true[/code] the caret (visual cursor) blinks. </member> <member name="caret_blink_speed" type="float" setter="cursor_set_blink_speed" getter="cursor_get_blink_speed"> + Duration (in seconds) of a caret's blinking cycle. </member> <member name="caret_block_mode" type="bool" setter="cursor_set_block_mode" getter="cursor_is_block_mode"> + If [code]true[/code] the caret displays as a rectangle. + If [code]false[/code] the caret displays as a bar. + </member> + <member name="caret_moving_by_right_click" type="bool" setter="set_right_click_moves_caret" getter="is_right_click_moving_caret"> + If [code]true[/code] a right click moves the cursor at the mouse position before displaying the context menu. + If [code]false[/code] the context menu disregards mouse location. </member> <member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled"> + If [code]true[/code] a right click displays the context menu. </member> <member name="hiding_enabled" type="int" setter="set_hiding_enabled" getter="is_hiding_enabled"> </member> <member name="highlight_all_occurrences" type="bool" setter="set_highlight_all_occurrences" getter="is_highlight_all_occurrences_enabled"> </member> <member name="highlight_current_line" type="bool" setter="set_highlight_current_line" getter="is_highlight_current_line_enabled"> + If [code]true[/code] the line containing the cursor is highlighted. </member> <member name="override_selected_font_color" type="bool" setter="set_override_selected_font_color" getter="is_overriding_selected_font_color"> </member> @@ -364,6 +374,7 @@ If [code]true[/code] read-only mode is enabled. Existing text cannot be modified and new text cannot be added. </member> <member name="show_line_numbers" type="bool" setter="set_show_line_numbers" getter="is_show_line_numbers_enabled"> + If [code]true[/code] line numbers are displayed to the left of the text. </member> <member name="smooth_scrolling" type="bool" setter="set_smooth_scroll_enable" getter="is_smooth_scroll_enabled"> </member> @@ -419,16 +430,22 @@ Search from end to beginning. </constant> <constant name="MENU_CUT" value="0" enum="MenuItems"> + Cuts (Copies and clears) the selected text. </constant> <constant name="MENU_COPY" value="1" enum="MenuItems"> + Copies the selected text. </constant> <constant name="MENU_PASTE" value="2" enum="MenuItems"> + Pastes the clipboard text over the selected text (or at the cursor's position). </constant> <constant name="MENU_CLEAR" value="3" enum="MenuItems"> + Erases the whole [TextEdit] text. </constant> <constant name="MENU_SELECT_ALL" value="4" enum="MenuItems"> + Selects the whole [TextEdit] text. </constant> <constant name="MENU_UNDO" value="5" enum="MenuItems"> + Undoes the previous action. </constant> <constant name="MENU_MAX" value="6" enum="MenuItems"> </constant> diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index 510a215fbc..daba0a0fc1 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -185,9 +185,10 @@ <method name="update_bitmask_area"> <return type="void"> </return> - <argument index="0" name="arg0" type="Vector2"> + <argument index="0" name="position" type="Vector2"> </argument> <description> + Applies autotiling rules to the cell (and its adjacent cells) referenced by its grid-based X and Y coordinates. </description> </method> <method name="update_bitmask_region"> @@ -198,6 +199,8 @@ <argument index="1" name="end" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> + Applies autotiling rules to the cells in the given region (specified by grid-based X and Y coordinates). + Calling with invalid (or missing) parameters applies autotiling rules for the entire TileMap. </description> </method> <method name="world_to_map" qualifiers="const"> diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml index 3dbf172c5a..716f89eab6 100644 --- a/doc/classes/TileSet.xml +++ b/doc/classes/TileSet.xml @@ -39,7 +39,7 @@ <method name="autotile_get_bitmask_mode" qualifiers="const"> <return type="int" enum="TileSet.BitmaskMode"> </return> - <argument index="0" name="arg0" type="int"> + <argument index="0" name="id" type="int"> </argument> <description> </description> @@ -47,9 +47,9 @@ <method name="autotile_set_bitmask_mode"> <return type="void"> </return> - <argument index="0" name="mode" type="int"> + <argument index="0" name="id" type="int"> </argument> - <argument index="1" name="arg1" type="int" enum="TileSet.BitmaskMode"> + <argument index="1" name="mode" type="int" enum="TileSet.BitmaskMode"> </argument> <description> </description> diff --git a/doc/classes/Timer.xml b/doc/classes/Timer.xml index 7ea83b0b22..09071b2ad1 100644 --- a/doc/classes/Timer.xml +++ b/doc/classes/Timer.xml @@ -15,20 +15,21 @@ <return type="float"> </return> <description> - Return the time left for timeout in seconds if the timer is active, 0 otherwise. + Returns the timer's remaining time in seconds. Returns 0 if the timer is inactive. </description> </method> <method name="is_paused" qualifiers="const"> <return type="bool"> </return> <description> - Return if the timer is paused or not. + Returns [code]true[/code] if the timer is paused. </description> </method> <method name="is_stopped" qualifiers="const"> <return type="bool"> </return> <description> + Returns [code]true[/code] if the timer is stopped. </description> </method> <method name="set_paused"> @@ -37,14 +38,15 @@ <argument index="0" name="paused" type="bool"> </argument> <description> - Set whether the timer is paused or not. A paused timer will be inactive until it is unpaused again. + Pauses the timer. If [code]paused[/code] is [code]true[/code], the timer will not process until it is started or unpaused again, even if [method start] is called. </description> </method> <method name="start"> <return type="void"> </return> <description> - Start the Timer. + Starts the timer. This also resets the remaining time to [code]wait_time[/code]. + Note: this method will not resume a paused timer. See [method set_paused]. </description> </method> <method name="stop"> diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml index 17576f33ed..f4717aa995 100644 --- a/doc/classes/Transform2D.xml +++ b/doc/classes/Transform2D.xml @@ -4,7 +4,7 @@ 2D Transformation. 3x2 matrix. </brief_description> <description> - Represents one or many transformations in 3D space such as translation, rotation, or scaling. It consists of a two [Vector2] x, y and [Vector2] "origin". It is similar to a 3x2 matrix. + Represents one or many transformations in 2D space such as translation, rotation, or scaling. It consists of a two [Vector2] x, y and [Vector2] "origin". It is similar to a 3x2 matrix. </description> <tutorials> </tutorials> @@ -17,7 +17,7 @@ <argument index="0" name="from" type="Transform"> </argument> <description> - Constructs the [code]Transform2D[/code] from a 3D [Transform]. + Constructs the transform from a 3D [Transform]. </description> </method> <method name="Transform2D"> @@ -30,7 +30,7 @@ <argument index="2" name="origin" type="Vector2"> </argument> <description> - Constructs the [code]Transform2D[/code] from 3 [Vector2] consisting of rows x, y and origin. + Constructs the transform from 3 [Vector2]s representing x, y, and origin. </description> </method> <method name="Transform2D"> @@ -41,7 +41,7 @@ <argument index="1" name="position" type="Vector2"> </argument> <description> - Constructs the [code]Transform2D[/code] from rotation angle in radians and position [Vector2]. + Constructs the transform from a given angle (in radians) and position. </description> </method> <method name="affine_inverse"> @@ -57,7 +57,7 @@ <argument index="0" name="v" type="var"> </argument> <description> - Transforms the given vector "v" by this transform basis (no translation). + Transforms the given vector by this transform's basis (no translation). </description> </method> <method name="basis_xform_inv"> @@ -66,21 +66,21 @@ <argument index="0" name="v" type="var"> </argument> <description> - Inverse-transforms the given vector "v" by this transform basis (no translation). + Inverse-transforms the given vector by this transform's basis (no translation). </description> </method> <method name="get_origin"> <return type="Vector2"> </return> <description> - Returns the origin [Vector2] (translation). + Returns the transform's origin (translation). </description> </method> <method name="get_rotation"> <return type="float"> </return> <description> - Returns the rotation (in radians). + Returns the transform's rotation (in radians). </description> </method> <method name="get_scale"> @@ -98,7 +98,7 @@ <argument index="1" name="weight" type="float"> </argument> <description> - Interpolates the transform to other Transform2D by weight amount (0-1). + Returns a transform interpolated between this transform and another by a given weight (0-1). </description> </method> <method name="inverse"> @@ -121,7 +121,7 @@ <argument index="0" name="phi" type="float"> </argument> <description> - Rotates the transform by phi. + Rotates the transform by the given angle (in radians). </description> </method> <method name="scaled"> @@ -130,7 +130,7 @@ <argument index="0" name="scale" type="Vector2"> </argument> <description> - Scales the transform by the specified 2D scaling factors. + Scales the transform by the given factor. </description> </method> <method name="translated"> @@ -139,7 +139,7 @@ <argument index="0" name="offset" type="Vector2"> </argument> <description> - Translates the transform by the specified offset. + Translates the transform by the given offset. </description> </method> <method name="xform"> @@ -163,13 +163,13 @@ </methods> <members> <member name="origin" type="Vector2" setter="" getter=""> - The translation offset of the transform. + The transform's translation offset. </member> <member name="x" type="Vector2" setter="" getter=""> - The X axis of 2x2 basis matrix containing 2 [Vector2] as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object. + The X axis of 2x2 basis matrix containing 2 [Vector2]s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object. </member> <member name="y" type="Vector2" setter="" getter=""> - The Y axis of 2x2 basis matrix containing 2 [Vector2] as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object. + The Y axis of 2x2 basis matrix containing 2 [Vector2]s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object. </member> </members> <constants> diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index 11bd3b3b86..e26082c47e 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -41,6 +41,8 @@ </return> <argument index="0" name="parent" type="Object" default="null"> </argument> + <argument index="1" name="idx" type="int" default="-1"> + </argument> <description> Create an item in the tree and add it as the last child of [code]parent[/code]. If parent is not given, it will be added as the root's last child, or it'll the be the root itself if the tree is empty. </description> diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml index 0cba132de8..28fb83d572 100644 --- a/doc/classes/VisualServer.xml +++ b/doc/classes/VisualServer.xml @@ -504,26 +504,26 @@ Sets if the canvas item (including its children) is visible. </description> </method> - <method name="canvas_item_set_z"> + <method name="canvas_item_set_z_as_relative_to_parent"> <return type="void"> </return> <argument index="0" name="item" type="RID"> </argument> - <argument index="1" name="z" type="int"> + <argument index="1" name="enabled" type="bool"> </argument> <description> - Sets the [CanvasItem]'s z order position. + If this is enabled, the z-index of the parent will be added to the children's z-index. </description> </method> - <method name="canvas_item_set_z_as_relative_to_parent"> + <method name="canvas_item_set_z_index"> <return type="void"> </return> <argument index="0" name="item" type="RID"> </argument> - <argument index="1" name="enabled" type="bool"> + <argument index="1" name="z_index" type="int"> </argument> <description> - If this is enabled, the z-position of the parent will be added to the childrens z-position. + Sets the [CanvasItem]'s z-index, i.e. its draw order (lower indexes are drawn first). </description> </method> <method name="canvas_light_attach_to_canvas"> diff --git a/drivers/alsa/audio_driver_alsa.cpp b/drivers/alsa/audio_driver_alsa.cpp index 216100bac6..b54a1ce0fc 100644 --- a/drivers/alsa/audio_driver_alsa.cpp +++ b/drivers/alsa/audio_driver_alsa.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/alsa/audio_driver_alsa.h b/drivers/alsa/audio_driver_alsa.h index c76ec0da61..8fcc368b65 100644 --- a/drivers/alsa/audio_driver_alsa.h +++ b/drivers/alsa/audio_driver_alsa.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/convex_decomp/b2d_decompose.cpp b/drivers/convex_decomp/b2d_decompose.cpp index c7681ed2ad..07be20979d 100644 --- a/drivers/convex_decomp/b2d_decompose.cpp +++ b/drivers/convex_decomp/b2d_decompose.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/convex_decomp/b2d_decompose.h b/drivers/convex_decomp/b2d_decompose.h index a87f5a656c..117fd2b5b0 100644 --- a/drivers/convex_decomp/b2d_decompose.h +++ b/drivers/convex_decomp/b2d_decompose.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/coreaudio/audio_driver_coreaudio.cpp b/drivers/coreaudio/audio_driver_coreaudio.cpp index 313704ae2e..4e940e91c9 100644 --- a/drivers/coreaudio/audio_driver_coreaudio.cpp +++ b/drivers/coreaudio/audio_driver_coreaudio.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/coreaudio/audio_driver_coreaudio.h b/drivers/coreaudio/audio_driver_coreaudio.h index 33b3ba93ec..d04d789a70 100644 --- a/drivers/coreaudio/audio_driver_coreaudio.h +++ b/drivers/coreaudio/audio_driver_coreaudio.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/gl_context/context_gl.cpp b/drivers/gl_context/context_gl.cpp index 1581512369..8cb5c3e8c6 100644 --- a/drivers/gl_context/context_gl.cpp +++ b/drivers/gl_context/context_gl.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/gl_context/context_gl.h b/drivers/gl_context/context_gl.h index 3496f2948c..e6cb586bca 100644 --- a/drivers/gl_context/context_gl.h +++ b/drivers/gl_context/context_gl.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp index a4daa77b50..52269a44fe 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.cpp +++ b/drivers/gles3/rasterizer_canvas_gles3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1086,19 +1086,22 @@ void RasterizerCanvasGLES3::canvas_render_items(Item *p_item_list, int p_z, cons } } - if (shader_ptr && shader_ptr != shader_cache) { + if (shader_ptr) { if (shader_ptr->canvas_item.uses_screen_texture && !state.canvas_texscreen_used) { //copy if not copied before _copy_texscreen(Rect2()); } - if (shader_ptr->canvas_item.uses_time) { - VisualServerRaster::redraw_request(); - } + if (shader_ptr != shader_cache) { - state.canvas_shader.set_custom_shader(shader_ptr->custom_code_id); - state.canvas_shader.bind(); + if (shader_ptr->canvas_item.uses_time) { + VisualServerRaster::redraw_request(); + } + + state.canvas_shader.set_custom_shader(shader_ptr->custom_code_id); + state.canvas_shader.bind(); + } if (material_ptr->ubo_id) { glBindBufferBase(GL_UNIFORM_BUFFER, 2, material_ptr->ubo_id); @@ -1147,7 +1150,7 @@ void RasterizerCanvasGLES3::canvas_render_items(Item *p_item_list, int p_z, cons glBindTexture(t->target, t->tex_id); } - } else if (!shader_ptr) { + } else { state.canvas_shader.set_custom_shader(0); state.canvas_shader.bind(); } diff --git a/drivers/gles3/rasterizer_canvas_gles3.h b/drivers/gles3/rasterizer_canvas_gles3.h index bf07b8b08b..f4d97bd727 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.h +++ b/drivers/gles3/rasterizer_canvas_gles3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/gles3/rasterizer_gles3.cpp b/drivers/gles3/rasterizer_gles3.cpp index 6b827002f8..7ae1758643 100644 --- a/drivers/gles3/rasterizer_gles3.cpp +++ b/drivers/gles3/rasterizer_gles3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -338,6 +338,15 @@ void RasterizerGLES3::blit_render_target_to_screen(RID p_render_target, const Re RasterizerStorageGLES3::RenderTarget *rt = storage->render_target_owner.getornull(p_render_target); ERR_FAIL_COND(!rt); +#if 1 + + Size2 win_size = OS::get_singleton()->get_window_size(); + glBindFramebuffer(GL_READ_FRAMEBUFFER, rt->fbo); + glReadBuffer(GL_COLOR_ATTACHMENT0); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, RasterizerStorageGLES3::system_fbo); + glBlitFramebuffer(0, 0, rt->width, rt->height, p_screen_rect.position.x, win_size.height - p_screen_rect.position.y - p_screen_rect.size.height, p_screen_rect.position.x + p_screen_rect.size.width, win_size.height, GL_COLOR_BUFFER_BIT, GL_NEAREST); + +#else canvas->canvas_begin(); glDisable(GL_BLEND); glBindFramebuffer(GL_FRAMEBUFFER, RasterizerStorageGLES3::system_fbo); @@ -350,6 +359,7 @@ void RasterizerGLES3::blit_render_target_to_screen(RID p_render_target, const Re canvas->draw_generic_textured_rect(p_screen_rect, Rect2(0, 0, 1, -1)); glBindTexture(GL_TEXTURE_2D, 0); canvas->canvas_end(); +#endif } void RasterizerGLES3::end_frame(bool p_swap_buffers) { diff --git a/drivers/gles3/rasterizer_gles3.h b/drivers/gles3/rasterizer_gles3.h index c27af7d019..a8342104cc 100644 --- a/drivers/gles3/rasterizer_gles3.h +++ b/drivers/gles3/rasterizer_gles3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index b777f9343a..ed29cc2de6 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1541,7 +1541,19 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { if (c.texture.is_valid() && storage->texture_owner.owns(c.texture)) { - const RasterizerStorageGLES3::Texture *t = storage->texture_owner.get(c.texture); + RasterizerStorageGLES3::Texture *t = storage->texture_owner.get(c.texture); + + t = t->get_ptr(); //resolve for proxies +#ifdef TOOLS_ENABLED + if (t->detect_3d) { + t->detect_3d(t->detect_3d_ud); + } +#endif + + if (t->render_target) { + t->render_target->used_in_frame = true; + } + glActiveTexture(GL_TEXTURE0); glBindTexture(t->target, t->tex_id); restore_tex = true; diff --git a/drivers/gles3/rasterizer_scene_gles3.h b/drivers/gles3/rasterizer_scene_gles3.h index 6df223c961..07a58c2945 100644 --- a/drivers/gles3/rasterizer_scene_gles3.h +++ b/drivers/gles3/rasterizer_scene_gles3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index 8ee9e3fdb8..d35d624589 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -5334,6 +5334,14 @@ void RasterizerStorageGLES3::particles_set_emitting(RID p_particles, bool p_emit } particles->emitting = p_emitting; } + +bool RasterizerStorageGLES3::particles_get_emitting(RID p_particles) { + Particles *particles = particles_owner.getornull(p_particles); + ERR_FAIL_COND_V(!particles, false); + + return particles->emitting; +} + void RasterizerStorageGLES3::particles_set_amount(RID p_particles, int p_amount) { Particles *particles = particles_owner.getornull(p_particles); @@ -6935,6 +6943,10 @@ bool RasterizerStorageGLES3::free(RID p_rid) { glDeleteTextures(1, &cls->distance); canvas_light_shadow_owner.free(p_rid); memdelete(cls); + } else if (particles_owner.owns(p_rid)) { + Particles *particles = particles_owner.get(p_rid); + particles_owner.free(p_rid); + memdelete(particles); } else { return false; } diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h index 6647372688..74bd0a3cc1 100644 --- a/drivers/gles3/rasterizer_storage_gles3.h +++ b/drivers/gles3/rasterizer_storage_gles3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1180,7 +1180,7 @@ public: clear = true; inactive = true; - inactive_time = false; + inactive_time = 0.0; glGenBuffers(2, particle_buffers); glGenVertexArrays(2, particle_vaos); @@ -1206,6 +1206,7 @@ public: virtual RID particles_create(); virtual void particles_set_emitting(RID p_particles, bool p_emitting); + virtual bool particles_get_emitting(RID p_particles); virtual void particles_set_amount(RID p_particles, int p_amount); virtual void particles_set_lifetime(RID p_particles, float p_lifetime); virtual void particles_set_one_shot(RID p_particles, bool p_one_shot); diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp index 101978548d..8b8a7dd807 100644 --- a/drivers/gles3/shader_compiler_gles3.cpp +++ b/drivers/gles3/shader_compiler_gles3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -806,7 +806,6 @@ ShaderCompilerGLES3::ShaderCompilerGLES3() { actions[VS::SHADER_SPATIAL].renames["SCREEN_UV"] = "screen_uv"; actions[VS::SHADER_SPATIAL].renames["SCREEN_TEXTURE"] = "screen_texture"; actions[VS::SHADER_SPATIAL].renames["DEPTH_TEXTURE"] = "depth_buffer"; - actions[VS::SHADER_SPATIAL].renames["SIDE"] = "side"; actions[VS::SHADER_SPATIAL].renames["ALPHA_SCISSOR"] = "alpha_scissor"; //for light @@ -847,6 +846,8 @@ ShaderCompilerGLES3::ShaderCompilerGLES3() { actions[VS::SHADER_SPATIAL].render_mode_defines["skip_vertex_transform"] = "#define SKIP_TRANSFORM_USED\n"; actions[VS::SHADER_SPATIAL].render_mode_defines["world_vertex_coords"] = "#define VERTEX_WORLD_COORDS_USED\n"; + actions[VS::SHADER_SPATIAL].render_mode_defines["cull_front"] = "#define DO_SIDE_CHECK\n"; + actions[VS::SHADER_SPATIAL].render_mode_defines["cull_disabled"] = "#define DO_SIDE_CHECK\n"; actions[VS::SHADER_SPATIAL].render_mode_defines["diffuse_burley"] = "#define DIFFUSE_BURLEY\n"; actions[VS::SHADER_SPATIAL].render_mode_defines["diffuse_oren_nayar"] = "#define DIFFUSE_OREN_NAYAR\n"; diff --git a/drivers/gles3/shader_compiler_gles3.h b/drivers/gles3/shader_compiler_gles3.h index 46bb6b1b9e..0d79b0f4cc 100644 --- a/drivers/gles3/shader_compiler_gles3.h +++ b/drivers/gles3/shader_compiler_gles3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/gles3/shader_gles3.cpp b/drivers/gles3/shader_gles3.cpp index 56b1cfdf0f..6f7b58e922 100644 --- a/drivers/gles3/shader_gles3.cpp +++ b/drivers/gles3/shader_gles3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/gles3/shader_gles3.h b/drivers/gles3/shader_gles3.h index 3be0e86496..95119a9718 100644 --- a/drivers/gles3/shader_gles3.h +++ b/drivers/gles3/shader_gles3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl index 0b8230234b..46641482ec 100644 --- a/drivers/gles3/shaders/canvas.glsl +++ b/drivers/gles3/shaders/canvas.glsl @@ -42,7 +42,7 @@ uniform highp mat4 modelview_matrix; uniform highp mat4 extra_matrix; -out mediump vec2 uv_interp; +out highp vec2 uv_interp; out mediump vec4 color_interp; #ifdef USE_NINEPATCH @@ -207,7 +207,7 @@ uniform mediump sampler2D color_texture; // texunit:0 uniform highp vec2 color_texpixel_size; uniform mediump sampler2D normal_texture; // texunit:1 -in mediump vec2 uv_interp; +in highp vec2 uv_interp; in mediump vec4 color_interp; diff --git a/drivers/gles3/shaders/scene.glsl b/drivers/gles3/shaders/scene.glsl index 9bc2bc079d..6427e3d967 100644 --- a/drivers/gles3/shaders/scene.glsl +++ b/drivers/gles3/shaders/scene.glsl @@ -174,7 +174,7 @@ void light_compute(vec3 N, vec3 L,vec3 V, vec3 light_color, float roughness, ino vec3 H = normalize(V + L); float dotNH = max(dot(N,H), 0.0 ); - float intensity = pow( dotNH, (1.0-roughness) * 256.0); + float intensity = (roughness >= 1.0 ? 1.0 : pow( dotNH, (1.0-roughness) * 256.0)); specular += light_color * intensity; } @@ -296,6 +296,48 @@ void main() { #endif + +#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) + + vec3 binormal = normalize( cross(normal,tangent) * binormalf ); +#endif + +#if defined(ENABLE_UV_INTERP) + uv_interp = uv_attrib; +#endif + +#if defined(ENABLE_UV2_INTERP) || defined(USE_LIGHTMAP) + uv2_interp = uv2_attrib; +#endif + +#if defined(USE_INSTANCING) && defined(ENABLE_INSTANCE_CUSTOM) + vec4 instance_custom = instance_custom_data; +#else + vec4 instance_custom = vec4(0.0); +#endif + + highp mat4 local_projection = projection_matrix; + +//using world coordinates +#if !defined(SKIP_TRANSFORM_USED) && defined(VERTEX_WORLD_COORDS_USED) + + vertex = world_matrix * vertex; + normal = normalize((world_matrix * vec4(normal,0.0)).xyz); + +#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) + + tangent = normalize((world_matrix * vec4(tangent,0.0)).xyz); + binormal = normalize((world_matrix * vec4(binormal,0.0)).xyz); +#endif +#endif + + float roughness=0.0; + +//defines that make writing custom shaders easier +#define projection_matrix local_projection +#define world_transform world_matrix + + #ifdef USE_SKELETON { //skeleton transform @@ -333,57 +375,13 @@ void main() { texelFetch(skeleton_texture,tex_ofs+ivec2(0,2),0) ) * bone_weights.w; + mat4 bone_matrix = transpose(mat4(m[0],m[1],m[2],vec4(0.0,0.0,0.0,1.0))); - vertex.xyz = vertex * m; - - normal = vec4(normal,0.0) * m; -#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) - tangent.xyz = vec4(tangent.xyz,0.0) * m; -#endif + world_matrix = bone_matrix * world_matrix; } #endif - -#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) - - vec3 binormal = normalize( cross(normal,tangent) * binormalf ); -#endif - -#if defined(ENABLE_UV_INTERP) - uv_interp = uv_attrib; -#endif - -#if defined(ENABLE_UV2_INTERP) || defined(USE_LIGHTMAP) - uv2_interp = uv2_attrib; -#endif - -#if defined(USE_INSTANCING) && defined(ENABLE_INSTANCE_CUSTOM) - vec4 instance_custom = instance_custom_data; -#else - vec4 instance_custom = vec4(0.0); -#endif - - highp mat4 modelview = camera_inverse_matrix * world_matrix; - highp mat4 local_projection = projection_matrix; - -//using world coordinates -#if !defined(SKIP_TRANSFORM_USED) && defined(VERTEX_WORLD_COORDS_USED) - - vertex = world_matrix * vertex; - normal = normalize((world_matrix * vec4(normal,0.0)).xyz); - -#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) - - tangent = normalize((world_matrix * vec4(tangent,0.0)).xyz); - binormal = normalize((world_matrix * vec4(binormal,0.0)).xyz); -#endif -#endif - - float roughness=0.0; - -//defines that make writing custom shaders easier -#define projection_matrix local_projection -#define world_transform world_matrix + mat4 modelview = camera_inverse_matrix * world_matrix; { VERTEX_SHADER_CODE @@ -1617,7 +1615,7 @@ void main() { float alpha = 1.0; -#ifdef METERIAL_DOUBLESIDED +#if defined(DO_SIDE_CHECK) float side=float(gl_FrontFacing)*2.0-1.0; #else float side=1.0; diff --git a/drivers/png/image_loader_png.cpp b/drivers/png/image_loader_png.cpp index 246d4d7650..4f43006cb0 100644 --- a/drivers/png/image_loader_png.cpp +++ b/drivers/png/image_loader_png.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/png/image_loader_png.h b/drivers/png/image_loader_png.h index fe14108194..155240a048 100644 --- a/drivers/png/image_loader_png.h +++ b/drivers/png/image_loader_png.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/png/resource_saver_png.cpp b/drivers/png/resource_saver_png.cpp index 98a3f21245..7f5300bb39 100644 --- a/drivers/png/resource_saver_png.cpp +++ b/drivers/png/resource_saver_png.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/png/resource_saver_png.h b/drivers/png/resource_saver_png.h index a9ff6db86a..c921dcf24c 100644 --- a/drivers/png/resource_saver_png.h +++ b/drivers/png/resource_saver_png.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.cpp b/drivers/pulseaudio/audio_driver_pulseaudio.cpp index 49ac9e6e22..815b5b47ef 100644 --- a/drivers/pulseaudio/audio_driver_pulseaudio.cpp +++ b/drivers/pulseaudio/audio_driver_pulseaudio.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.h b/drivers/pulseaudio/audio_driver_pulseaudio.h index 3ede684496..71d4b42dfe 100644 --- a/drivers/pulseaudio/audio_driver_pulseaudio.h +++ b/drivers/pulseaudio/audio_driver_pulseaudio.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/register_driver_types.cpp b/drivers/register_driver_types.cpp index ffe7d77a4a..497be89614 100644 --- a/drivers/register_driver_types.cpp +++ b/drivers/register_driver_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/register_driver_types.h b/drivers/register_driver_types.h index f02db428ce..09c9dd898f 100644 --- a/drivers/register_driver_types.h +++ b/drivers/register_driver_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/rtaudio/audio_driver_rtaudio.cpp b/drivers/rtaudio/audio_driver_rtaudio.cpp index a184c9e9cf..2bfa62f30d 100644 --- a/drivers/rtaudio/audio_driver_rtaudio.cpp +++ b/drivers/rtaudio/audio_driver_rtaudio.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/rtaudio/audio_driver_rtaudio.h b/drivers/rtaudio/audio_driver_rtaudio.h index 858a51eb73..5fd46887c9 100644 --- a/drivers/rtaudio/audio_driver_rtaudio.h +++ b/drivers/rtaudio/audio_driver_rtaudio.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp index e7054e11a3..db398691b0 100644 --- a/drivers/unix/dir_access_unix.cpp +++ b/drivers/unix/dir_access_unix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/dir_access_unix.h b/drivers/unix/dir_access_unix.h index ea0df2fa3f..fdc433fe1d 100644 --- a/drivers/unix/dir_access_unix.h +++ b/drivers/unix/dir_access_unix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/file_access_unix.cpp b/drivers/unix/file_access_unix.cpp index 206f57d4a2..d4b71b2c05 100644 --- a/drivers/unix/file_access_unix.cpp +++ b/drivers/unix/file_access_unix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/file_access_unix.h b/drivers/unix/file_access_unix.h index 96f2ff8e26..e096feb775 100644 --- a/drivers/unix/file_access_unix.h +++ b/drivers/unix/file_access_unix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp index 6254466efc..11f44f8eb8 100644 --- a/drivers/unix/ip_unix.cpp +++ b/drivers/unix/ip_unix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/ip_unix.h b/drivers/unix/ip_unix.h index 1f3b885635..4c3d996d9b 100644 --- a/drivers/unix/ip_unix.h +++ b/drivers/unix/ip_unix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/mutex_posix.cpp b/drivers/unix/mutex_posix.cpp index c8fe9e0749..ab21a66008 100644 --- a/drivers/unix/mutex_posix.cpp +++ b/drivers/unix/mutex_posix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/mutex_posix.h b/drivers/unix/mutex_posix.h index 20d546c72a..c615a39545 100644 --- a/drivers/unix/mutex_posix.h +++ b/drivers/unix/mutex_posix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp index bc18707deb..fa8094f31a 100644 --- a/drivers/unix/os_unix.cpp +++ b/drivers/unix/os_unix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -298,7 +298,7 @@ Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, bo args.push_back(0); #ifdef __FreeBSD__ - if (p_path.find("/")) { + if (p_path.find("/") != -1) { // exec name contains path so use it execv(p_path.utf8().get_data(), &args[0]); } else { diff --git a/drivers/unix/os_unix.h b/drivers/unix/os_unix.h index 1a4c73ce4c..7929a791cb 100644 --- a/drivers/unix/os_unix.h +++ b/drivers/unix/os_unix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/packet_peer_udp_posix.cpp b/drivers/unix/packet_peer_udp_posix.cpp index f6742d8114..2e03a106a2 100644 --- a/drivers/unix/packet_peer_udp_posix.cpp +++ b/drivers/unix/packet_peer_udp_posix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/packet_peer_udp_posix.h b/drivers/unix/packet_peer_udp_posix.h index ad7be5bbe0..b8ea4c867a 100644 --- a/drivers/unix/packet_peer_udp_posix.h +++ b/drivers/unix/packet_peer_udp_posix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/rw_lock_posix.cpp b/drivers/unix/rw_lock_posix.cpp index 00125809c0..6adc2c25f3 100644 --- a/drivers/unix/rw_lock_posix.cpp +++ b/drivers/unix/rw_lock_posix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/rw_lock_posix.h b/drivers/unix/rw_lock_posix.h index 40b41ce171..3cf1b8924e 100644 --- a/drivers/unix/rw_lock_posix.h +++ b/drivers/unix/rw_lock_posix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/semaphore_posix.cpp b/drivers/unix/semaphore_posix.cpp index 093c6b663a..18b0cd7956 100644 --- a/drivers/unix/semaphore_posix.cpp +++ b/drivers/unix/semaphore_posix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/semaphore_posix.h b/drivers/unix/semaphore_posix.h index e33de78545..719fd73880 100644 --- a/drivers/unix/semaphore_posix.h +++ b/drivers/unix/semaphore_posix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/socket_helpers.h b/drivers/unix/socket_helpers.h index 0995e5236f..1cdc4cc65d 100644 --- a/drivers/unix/socket_helpers.h +++ b/drivers/unix/socket_helpers.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/stream_peer_tcp_posix.cpp b/drivers/unix/stream_peer_tcp_posix.cpp index e88a7d7de1..959131d47a 100644 --- a/drivers/unix/stream_peer_tcp_posix.cpp +++ b/drivers/unix/stream_peer_tcp_posix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/stream_peer_tcp_posix.h b/drivers/unix/stream_peer_tcp_posix.h index 4c3504714c..bfe6d88977 100644 --- a/drivers/unix/stream_peer_tcp_posix.h +++ b/drivers/unix/stream_peer_tcp_posix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/syslog_logger.cpp b/drivers/unix/syslog_logger.cpp index d57f391325..727672458c 100644 --- a/drivers/unix/syslog_logger.cpp +++ b/drivers/unix/syslog_logger.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/syslog_logger.h b/drivers/unix/syslog_logger.h index b3cf2f9e3a..40bf26cee1 100644 --- a/drivers/unix/syslog_logger.h +++ b/drivers/unix/syslog_logger.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/tcp_server_posix.cpp b/drivers/unix/tcp_server_posix.cpp index 5062a74b63..9f4ce51dc2 100644 --- a/drivers/unix/tcp_server_posix.cpp +++ b/drivers/unix/tcp_server_posix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/tcp_server_posix.h b/drivers/unix/tcp_server_posix.h index a10bafcafe..3bb4a3b5bf 100644 --- a/drivers/unix/tcp_server_posix.h +++ b/drivers/unix/tcp_server_posix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/thread_posix.cpp b/drivers/unix/thread_posix.cpp index 5908246929..f19932ae8e 100644 --- a/drivers/unix/thread_posix.cpp +++ b/drivers/unix/thread_posix.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/unix/thread_posix.h b/drivers/unix/thread_posix.h index d6a41ed119..c7da800d2b 100644 --- a/drivers/unix/thread_posix.h +++ b/drivers/unix/thread_posix.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/wasapi/audio_driver_wasapi.cpp b/drivers/wasapi/audio_driver_wasapi.cpp index 10b6a61b2d..cd0e56dcc5 100644 --- a/drivers/wasapi/audio_driver_wasapi.cpp +++ b/drivers/wasapi/audio_driver_wasapi.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/wasapi/audio_driver_wasapi.h b/drivers/wasapi/audio_driver_wasapi.h index 5921645f6e..57efeaf1e4 100644 --- a/drivers/wasapi/audio_driver_wasapi.h +++ b/drivers/wasapi/audio_driver_wasapi.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp index 0bc4201ba3..8a470e0717 100644 --- a/drivers/windows/dir_access_windows.cpp +++ b/drivers/windows/dir_access_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/dir_access_windows.h b/drivers/windows/dir_access_windows.h index cb0fffdd47..845fc9941a 100644 --- a/drivers/windows/dir_access_windows.h +++ b/drivers/windows/dir_access_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/file_access_windows.cpp b/drivers/windows/file_access_windows.cpp index 3b6e469c9c..5b9cc2ba09 100644 --- a/drivers/windows/file_access_windows.cpp +++ b/drivers/windows/file_access_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/file_access_windows.h b/drivers/windows/file_access_windows.h index e5e7fd4a13..b9ec9e34a3 100644 --- a/drivers/windows/file_access_windows.h +++ b/drivers/windows/file_access_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/mutex_windows.cpp b/drivers/windows/mutex_windows.cpp index d862d528e3..2d60a22a86 100644 --- a/drivers/windows/mutex_windows.cpp +++ b/drivers/windows/mutex_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/mutex_windows.h b/drivers/windows/mutex_windows.h index 2f436b5754..d6fc85dcc3 100644 --- a/drivers/windows/mutex_windows.h +++ b/drivers/windows/mutex_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/packet_peer_udp_winsock.cpp b/drivers/windows/packet_peer_udp_winsock.cpp index 119ee68bd2..9901f29e19 100644 --- a/drivers/windows/packet_peer_udp_winsock.cpp +++ b/drivers/windows/packet_peer_udp_winsock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/packet_peer_udp_winsock.h b/drivers/windows/packet_peer_udp_winsock.h index 8ce2cff741..3f7d090068 100644 --- a/drivers/windows/packet_peer_udp_winsock.h +++ b/drivers/windows/packet_peer_udp_winsock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/rw_lock_windows.cpp b/drivers/windows/rw_lock_windows.cpp index 5cbedeba2f..a428b7910f 100644 --- a/drivers/windows/rw_lock_windows.cpp +++ b/drivers/windows/rw_lock_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/rw_lock_windows.h b/drivers/windows/rw_lock_windows.h index 15911c21e7..1ca2095d6b 100644 --- a/drivers/windows/rw_lock_windows.h +++ b/drivers/windows/rw_lock_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/semaphore_windows.cpp b/drivers/windows/semaphore_windows.cpp index c88329d56c..92daacb775 100644 --- a/drivers/windows/semaphore_windows.cpp +++ b/drivers/windows/semaphore_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/semaphore_windows.h b/drivers/windows/semaphore_windows.h index 8e242ae148..da0c68f1fc 100644 --- a/drivers/windows/semaphore_windows.h +++ b/drivers/windows/semaphore_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/shell_windows.cpp b/drivers/windows/shell_windows.cpp index 139a8756fb..c25df26c48 100644 --- a/drivers/windows/shell_windows.cpp +++ b/drivers/windows/shell_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/shell_windows.h b/drivers/windows/shell_windows.h index de4fdc4d73..18ae7828a1 100644 --- a/drivers/windows/shell_windows.h +++ b/drivers/windows/shell_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/stream_peer_tcp_winsock.cpp b/drivers/windows/stream_peer_tcp_winsock.cpp index f4cd38079d..6bcd5af5a1 100644 --- a/drivers/windows/stream_peer_tcp_winsock.cpp +++ b/drivers/windows/stream_peer_tcp_winsock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/stream_peer_tcp_winsock.h b/drivers/windows/stream_peer_tcp_winsock.h index fef457c43f..53be9d6ac5 100644 --- a/drivers/windows/stream_peer_tcp_winsock.h +++ b/drivers/windows/stream_peer_tcp_winsock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/tcp_server_winsock.cpp b/drivers/windows/tcp_server_winsock.cpp index 49de279793..3936ee64c7 100644 --- a/drivers/windows/tcp_server_winsock.cpp +++ b/drivers/windows/tcp_server_winsock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/tcp_server_winsock.h b/drivers/windows/tcp_server_winsock.h index fd16480167..ffd20bd6b7 100644 --- a/drivers/windows/tcp_server_winsock.h +++ b/drivers/windows/tcp_server_winsock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/thread_windows.cpp b/drivers/windows/thread_windows.cpp index 2ff4715b1c..062387e3cb 100644 --- a/drivers/windows/thread_windows.cpp +++ b/drivers/windows/thread_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/windows/thread_windows.h b/drivers/windows/thread_windows.h index 2c3a325f88..5d26e8fc68 100644 --- a/drivers/windows/thread_windows.h +++ b/drivers/windows/thread_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/xaudio2/audio_driver_xaudio2.cpp b/drivers/xaudio2/audio_driver_xaudio2.cpp index 1bd338ead9..de71b6daba 100644 --- a/drivers/xaudio2/audio_driver_xaudio2.cpp +++ b/drivers/xaudio2/audio_driver_xaudio2.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/drivers/xaudio2/audio_driver_xaudio2.h b/drivers/xaudio2/audio_driver_xaudio2.h index dd4fc76047..4fac1ec2b6 100644 --- a/drivers/xaudio2/audio_driver_xaudio2.h +++ b/drivers/xaudio2/audio_driver_xaudio2.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/animation_editor.cpp b/editor/animation_editor.cpp index c6381864b3..f73c81ed9c 100644 --- a/editor/animation_editor.cpp +++ b/editor/animation_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/animation_editor.h b/editor/animation_editor.h index 8a89dc1a1c..56e3f34aac 100644 --- a/editor/animation_editor.h +++ b/editor/animation_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/array_property_edit.cpp b/editor/array_property_edit.cpp index bcf1600b36..3c2fc5c23f 100644 --- a/editor/array_property_edit.cpp +++ b/editor/array_property_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/array_property_edit.h b/editor/array_property_edit.h index c028c45b04..6b637f8b52 100644 --- a/editor/array_property_edit.h +++ b/editor/array_property_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 216f2027fb..4b59656903 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1251,7 +1251,7 @@ CodeTextEditor::CodeTextEditor() { error = memnew(Label); status_bar->add_child(error); - error->set_clip_text(true); //do not change, or else very long errors can push the whole container to the right + error->set_autowrap(true); error->set_valign(Label::VALIGN_CENTER); error->add_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_color("error_color", "Editor")); error->add_font_override("font", EditorNode::get_singleton()->get_gui_base()->get_font("status_source", "EditorFonts")); diff --git a/editor/code_editor.h b/editor/code_editor.h index 656ea4b47b..6f4e45352b 100644 --- a/editor/code_editor.h +++ b/editor/code_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/collada/collada.cpp b/editor/collada/collada.cpp index 6dbfd84c86..f7f11f40f5 100644 --- a/editor/collada/collada.cpp +++ b/editor/collada/collada.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/collada/collada.h b/editor/collada/collada.h index d41a72d7c5..34bd93bcfe 100644 --- a/editor/collada/collada.h +++ b/editor/collada/collada.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp index c095229374..9783d0cc4e 100644 --- a/editor/connections_dialog.cpp +++ b/editor/connections_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/connections_dialog.h b/editor/connections_dialog.h index 99a83ff599..59715c15c3 100644 --- a/editor/connections_dialog.h +++ b/editor/connections_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index 2584d26fc4..96c3a27ea7 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -37,7 +37,7 @@ #include "print_string.h" #include "scene/gui/box_container.h" -void CreateDialog::popup_create(bool p_dontclear) { +void CreateDialog::popup_create(bool p_dont_clear, bool p_replace_mode) { recent->clear(); @@ -89,11 +89,12 @@ void CreateDialog::popup_create(bool p_dontclear) { popup_centered_ratio(); } - if (p_dontclear) + if (p_dont_clear) { search_box->select_all(); - else { + } else { search_box->clear(); } + search_box->grab_focus(); _update_search(); @@ -104,8 +105,19 @@ void CreateDialog::popup_create(bool p_dontclear) { if (enable_rl) { search_options->add_constant_override("draw_relationship_lines", 1); search_options->add_color_override("relationship_line_color", rl_color); - } else + } else { search_options->add_constant_override("draw_relationship_lines", 0); + } + + is_replace_mode = p_replace_mode; + + if (p_replace_mode) { + set_title(vformat(TTR("Change %s Type"), base_type)); + get_ok()->set_text(TTR("Change")); + } else { + set_title(vformat(TTR("Create New %s"), base_type)); + get_ok()->set_text(TTR("Create")); + } } void CreateDialog::_text_changed(const String &p_newtext) { @@ -267,7 +279,6 @@ void CreateDialog::_update_search() { if (EditorNode::get_editor_data().get_custom_types().has(type) && ClassDB::is_parent_class(type, base_type)) { //there are custom types based on this... cool. - //print_line("there are custom types"); const Vector<EditorData::CustomType> &ct = EditorNode::get_editor_data().get_custom_types()[type]; for (int i = 0; i < ct.size(); i++) { @@ -370,7 +381,11 @@ void CreateDialog::_notification(int p_what) { void CreateDialog::set_base_type(const String &p_base) { base_type = p_base; - set_title(vformat(TTR("Create New %s"), p_base)); + if (is_replace_mode) + set_title(vformat(TTR("Change %s Type"), p_base)); + else + set_title(vformat(TTR("Create New %s"), p_base)); + _update_search(); } @@ -625,36 +640,47 @@ void CreateDialog::_bind_methods() { CreateDialog::CreateDialog() { + is_replace_mode = false; + ClassDB::get_class_list(&type_list); type_list.sort_custom<StringName::AlphCompare>(); set_resizable(true); - HSplitContainer *hbc = memnew(HSplitContainer); + HSplitContainer *hsc = memnew(HSplitContainer); + add_child(hsc); - add_child(hbc); + VSplitContainer *vsc = memnew(VSplitContainer); + hsc->add_child(vsc); - VBoxContainer *lvbc = memnew(VBoxContainer); - hbc->add_child(lvbc); - lvbc->set_custom_minimum_size(Size2(150, 0) * EDSCALE); + VBoxContainer *fav_vb = memnew(VBoxContainer); + vsc->add_child(fav_vb); + fav_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); + fav_vb->set_v_size_flags(SIZE_EXPAND_FILL); favorites = memnew(Tree); - lvbc->add_margin_child(TTR("Favorites:"), favorites, true); + fav_vb->add_margin_child(TTR("Favorites:"), favorites, true); favorites->set_hide_root(true); favorites->set_hide_folding(true); favorites->connect("cell_selected", this, "_favorite_selected"); favorites->connect("item_activated", this, "_favorite_activated"); favorites->set_drag_forwarding(this); + VBoxContainer *rec_vb = memnew(VBoxContainer); + vsc->add_child(rec_vb); + rec_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); + rec_vb->set_v_size_flags(SIZE_EXPAND_FILL); + recent = memnew(Tree); - lvbc->add_margin_child(TTR("Recent:"), recent, true); + rec_vb->add_margin_child(TTR("Recent:"), recent, true); recent->set_hide_root(true); recent->set_hide_folding(true); recent->connect("cell_selected", this, "_history_selected"); recent->connect("item_activated", this, "_history_activated"); VBoxContainer *vbc = memnew(VBoxContainer); - hbc->add_child(vbc); + hsc->add_child(vbc); + vbc->set_custom_minimum_size(Size2(300, 0) * EDSCALE); vbc->set_h_size_flags(SIZE_EXPAND_FILL); HBoxContainer *search_hb = memnew(HBoxContainer); search_box = memnew(LineEdit); @@ -670,13 +696,11 @@ CreateDialog::CreateDialog() { search_box->connect("gui_input", this, "_sbox_input"); search_options = memnew(Tree); vbc->add_margin_child(TTR("Matches:"), search_options, true); - get_ok()->set_text(TTR("Create")); get_ok()->set_disabled(true); register_text_enter(search_box); set_hide_on_ok(false); search_options->connect("item_activated", this, "_confirmed"); search_options->connect("cell_selected", this, "_item_selected"); - //search_options->set_hide_root(true); base_type = "Object"; preferred_search_result_type = ""; diff --git a/editor/create_dialog.h b/editor/create_dialog.h index 157c126c66..ed23fb4ae8 100644 --- a/editor/create_dialog.h +++ b/editor/create_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -52,6 +52,7 @@ class CreateDialog : public ConfirmationDialog { Button *favorite; LineEdit *search_box; Tree *search_options; + bool is_replace_mode; String base_type; String preferred_search_result_type; EditorHelpBit *help_bit; @@ -97,7 +98,7 @@ public: void set_preferred_search_result_type(const String &p_preferred_type); String get_preferred_search_result_type(); - void popup_create(bool p_dontclear); + void popup_create(bool p_dont_clear, bool p_replace_mode = false); CreateDialog(); }; diff --git a/editor/dependency_editor.cpp b/editor/dependency_editor.cpp index f357f1e51f..f18a966151 100644 --- a/editor/dependency_editor.cpp +++ b/editor/dependency_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dependency_editor.h b/editor/dependency_editor.h index 0cc153945d..bbe2b3494b 100644 --- a/editor/dependency_editor.h +++ b/editor/dependency_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dictionary_property_edit.cpp b/editor/dictionary_property_edit.cpp index 5b5a7ec9b0..b1451dc378 100644 --- a/editor/dictionary_property_edit.cpp +++ b/editor/dictionary_property_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/dictionary_property_edit.h b/editor/dictionary_property_edit.h index 7a86727fb2..8e495b31a9 100644 --- a/editor/dictionary_property_edit.h +++ b/editor/dictionary_property_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc/doc_data.cpp b/editor/doc/doc_data.cpp index 0bb059f425..4a99ce8f51 100644 --- a/editor/doc/doc_data.cpp +++ b/editor/doc/doc_data.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc/doc_data.h b/editor/doc/doc_data.h index 68d30d8237..53774ce1f0 100644 --- a/editor/doc/doc_data.h +++ b/editor/doc/doc_data.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc/doc_dump.cpp b/editor/doc/doc_dump.cpp index 9dd05d9d0f..8d35cad6d6 100644 --- a/editor/doc/doc_dump.cpp +++ b/editor/doc/doc_dump.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc/doc_dump.h b/editor/doc/doc_dump.h index 4764a0e0d4..70280195c4 100644 --- a/editor/doc/doc_dump.h +++ b/editor/doc/doc_dump.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc_code_font.h b/editor/doc_code_font.h index e962351daf..41713befcb 100644 --- a/editor/doc_code_font.h +++ b/editor/doc_code_font.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc_font.h b/editor/doc_font.h index 4ec8c39db2..ae80db7b1c 100644 --- a/editor/doc_font.h +++ b/editor/doc_font.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/doc_title_font.h b/editor/doc_title_font.h index dd1bb7ca8e..d190896f18 100644 --- a/editor/doc_title_font.h +++ b/editor/doc_title_font.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_about.cpp b/editor/editor_about.cpp index 5f026abb6d..7fa4776141 100644 --- a/editor/editor_about.cpp +++ b/editor/editor_about.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -131,7 +131,8 @@ EditorAbout::EditorAbout() { Label *about_text = memnew(Label); about_text->set_v_size_flags(Control::SIZE_SHRINK_CENTER); - about_text->set_text(VERSION_FULL_NAME + hash + String::utf8("\n\xc2\xa9 2007-2017 Juan Linietsky, Ariel Manzur.\n\xc2\xa9 2014-2017 ") + + about_text->set_text(VERSION_FULL_NAME + hash + + String::utf8("\n\xc2\xa9 2007-2018 Juan Linietsky, Ariel Manzur.\n\xc2\xa9 2014-2018 ") + TTR("Godot Engine contributors") + "\n"); hbc->add_child(about_text); @@ -145,7 +146,7 @@ EditorAbout::EditorAbout() { List<String> dev_sections; dev_sections.push_back(TTR("Project Founders")); dev_sections.push_back(TTR("Lead Developer")); - dev_sections.push_back(TTR("Project Manager")); + dev_sections.push_back(TTR("Project Manager ")); // " " appended to distinguish between 'project supervisor' and 'project list' dev_sections.push_back(TTR("Developers")); const char **dev_src[] = { dev_founders, dev_lead, dev_manager, dev_names }; tc->add_child(_populate_list(TTR("Authors"), dev_sections, dev_src, 1)); diff --git a/editor/editor_about.h b/editor/editor_about.h index fe40ce5f14..c573382679 100644 --- a/editor/editor_about.h +++ b/editor/editor_about.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_asset_installer.cpp b/editor/editor_asset_installer.cpp index 94108a52fc..8a3e1e85f7 100644 --- a/editor/editor_asset_installer.cpp +++ b/editor/editor_asset_installer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_asset_installer.h b/editor/editor_asset_installer.h index cda1b4d2b5..09ea405c07 100644 --- a/editor/editor_asset_installer.h +++ b/editor/editor_asset_installer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index 6e507fac9b..a64b4922f2 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_audio_buses.h b/editor/editor_audio_buses.h index 995def468c..850cb0bd15 100644 --- a/editor/editor_audio_buses.h +++ b/editor/editor_audio_buses.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp index 2796f776d7..960e0e0bb7 100644 --- a/editor/editor_autoload_settings.cpp +++ b/editor/editor_autoload_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_autoload_settings.h b/editor/editor_autoload_settings.h index 2e0ce8835e..39f902179c 100644 --- a/editor/editor_autoload_settings.h +++ b/editor/editor_autoload_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp index 49d55e6305..4acee1363c 100644 --- a/editor/editor_data.cpp +++ b/editor/editor_data.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -701,6 +701,15 @@ String EditorData::get_scene_title(int p_idx) const { return name; } +void EditorData::set_scene_path(int p_idx, const String &p_path) { + + ERR_FAIL_INDEX(p_idx, edited_scene.size()); + + if (!edited_scene[p_idx].root) + return; + edited_scene[p_idx].root->set_filename(p_path); +} + String EditorData::get_scene_path(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, edited_scene.size(), String()); diff --git a/editor/editor_data.h b/editor/editor_data.h index 33a4091a65..2c95c3feea 100644 --- a/editor/editor_data.h +++ b/editor/editor_data.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -185,6 +185,7 @@ public: String get_scene_title(int p_idx) const; String get_scene_path(int p_idx) const; String get_scene_type(int p_idx) const; + void set_scene_path(int p_idx, const String &p_path); Ref<Script> get_scene_root_script(int p_idx) const; void set_edited_scene_version(uint64_t version, int p_scene_idx = -1); uint64_t get_edited_scene_version() const; diff --git a/editor/editor_dir_dialog.cpp b/editor/editor_dir_dialog.cpp index 658c12d4d0..bf9c1ec9c6 100644 --- a/editor/editor_dir_dialog.cpp +++ b/editor/editor_dir_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_dir_dialog.h b/editor/editor_dir_dialog.h index 8aa685947b..8f585ae311 100644 --- a/editor/editor_dir_dialog.h +++ b/editor/editor_dir_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 1b88a56b75..1a10040bac 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_export.h b/editor/editor_export.h index 02b15aff10..aa0391c8f5 100644 --- a/editor/editor_export.h +++ b/editor/editor_export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index deba16a524..1bf4c6741d 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -54,7 +54,7 @@ void EditorFileDialog::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE) { - //_update_icons + // update icons mode_thumbnails->set_icon(get_icon("FileThumbnail", "EditorIcons")); mode_list->set_icon(get_icon("FileList", "EditorIcons")); dir_prev->set_icon(get_icon("Back", "EditorIcons")); @@ -65,7 +65,6 @@ void EditorFileDialog::_notification(int p_what) { fav_up->set_icon(get_icon("MoveUp", "EditorIcons")); fav_down->set_icon(get_icon("MoveDown", "EditorIcons")); - fav_rm->set_icon(get_icon("Remove", "EditorIcons")); } else if (p_what == NOTIFICATION_PROCESS) { @@ -80,10 +79,6 @@ void EditorFileDialog::_notification(int p_what) { preview_wheel_timeout = 0.1; } } - } else if (p_what == NOTIFICATION_DRAW) { - - //RID ci = get_canvas_item(); - //get_stylebox("panel","PopupMenu")->draw(ci,Rect2(Point2(),get_size())); } else if (p_what == NOTIFICATION_POPUP_HIDE) { set_process_unhandled_input(false); @@ -95,7 +90,7 @@ void EditorFileDialog::_notification(int p_what) { set_show_hidden_files(show_hidden); set_display_mode((DisplayMode)EditorSettings::get_singleton()->get("filesystem/file_dialog/display_mode").operator int()); - //_update_icons + // update icons mode_thumbnails->set_icon(get_icon("FileThumbnail", "EditorIcons")); mode_list->set_icon(get_icon("FileList", "EditorIcons")); dir_prev->set_icon(get_icon("Back", "EditorIcons")); @@ -106,7 +101,6 @@ void EditorFileDialog::_notification(int p_what) { fav_up->set_icon(get_icon("MoveUp", "EditorIcons")); fav_down->set_icon(get_icon("MoveDown", "EditorIcons")); - fav_rm->set_icon(get_icon("Remove", "EditorIcons")); // DO NOT CALL UPDATE FILE LIST HERE, ALL HUNDREDS OF HIDDEN DIALOGS WILL RESPOND, CALL INVALIDATE INSTEAD invalidate(); } @@ -260,7 +254,6 @@ void EditorFileDialog::_post_popup() { name = name.get_file() + "/"; } - //print_line("file: "+name); recent->add_item(name, folder); recent->set_item_metadata(recent->get_item_count() - 1, recentd[i]); } @@ -316,7 +309,7 @@ void EditorFileDialog::_request_single_thumbnail(const String &p_path) { return; EditorResourcePreview::get_singleton()->queue_resource_preview(p_path, this, "_thumbnail_done", p_path); - //print_line("want file "+p_path); + set_process(true); preview_waiting = true; preview_wheel_timeout = 0; @@ -376,7 +369,7 @@ void EditorFileDialog::_action_pressed() { bool valid = false; if (filter->get_selected() == filter->get_item_count() - 1) { - valid = true; //match none + valid = true; // match none } else if (filters.size() > 1 && filter->get_selected() == 0) { // match all filters for (int i = 0; i < filters.size(); i++) { @@ -777,14 +770,12 @@ void EditorFileDialog::update_file_list() { } if (match) { - //TreeItem *ti=tree->create_item(root); - //ti->set_text(0,files.front()->get()); + item_list->add_item(files.front()->get()); if (get_icon_func) { Ref<Texture> icon = get_icon_func(cdir.plus_file(files.front()->get())); - //ti->set_icon(0,icon); if (display_mode == DISPLAY_THUMBNAILS) { item_list->set_item_icon(item_list->get_item_count() - 1, file_thumbnail); @@ -794,11 +785,6 @@ void EditorFileDialog::update_file_list() { } } - if (mode == MODE_OPEN_DIR) { - //disabled mode? - //ti->set_custom_color(0,get_color("files_disabled")); - //ti->set_selectable(0,false); - } Dictionary d; d["name"] = files.front()->get(); d["dir"] = false; @@ -807,7 +793,6 @@ void EditorFileDialog::update_file_list() { EditorResourcePreview::get_singleton()->queue_resource_preview(fullpath, this, "_thumbnail_result", fullpath); } d["path"] = fullpath; - //ti->set_metadata(0,d); item_list->set_item_metadata(item_list->get_item_count() - 1, d); if (file->get_text() == files.front()->get()) @@ -838,11 +823,6 @@ void EditorFileDialog::update_file_list() { break; } } - // ?? - /* - if (tree->get_root() && tree->get_root()->get_children()) - tree->get_root()->get_children()->select(0); - */ files.clear(); } @@ -916,7 +896,6 @@ void EditorFileDialog::set_current_dir(const String &p_dir) { dir_access->change_dir(p_dir); update_dir(); invalidate(); - //_push_history(); } void EditorFileDialog::set_current_file(const String &p_file) { @@ -1191,7 +1170,6 @@ void EditorFileDialog::_update_favorites() { name = name.get_file() + "/"; } - //print_line("file: "+name); favorites->add_item(name, star); favorites->set_item_metadata(favorites->get_item_count() - 1, favorited[i]); @@ -1442,6 +1420,8 @@ bool EditorFileDialog::is_overwrite_warning_disabled() const { EditorFileDialog::EditorFileDialog() { + set_resizable(true); + show_hidden_files = default_show_hidden_files; display_mode = default_display_mode; local_history_pos = 0; @@ -1499,6 +1479,8 @@ EditorFileDialog::EditorFileDialog() { Ref<ButtonGroup> view_mode_group; view_mode_group.instance(); + pathhb->add_child(memnew(VSeparator)); + mode_thumbnails = memnew(ToolButton); mode_thumbnails->connect("pressed", this, "set_display_mode", varray(DISPLAY_THUMBNAILS)); mode_thumbnails->set_toggle_mode(true); @@ -1528,8 +1510,13 @@ EditorFileDialog::EditorFileDialog() { vbc->add_child(list_hb); list_hb->set_v_size_flags(SIZE_EXPAND_FILL); + VSplitContainer *vsc = memnew(VSplitContainer); + list_hb->add_child(vsc); + VBoxContainer *fav_vb = memnew(VBoxContainer); - list_hb->add_child(fav_vb); + vsc->add_child(fav_vb); + fav_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); + fav_vb->set_v_size_flags(SIZE_EXPAND_FILL); HBoxContainer *fav_hb = memnew(HBoxContainer); fav_vb->add_child(fav_hb); fav_hb->add_child(memnew(Label(TTR("Favorites:")))); @@ -1540,23 +1527,23 @@ EditorFileDialog::EditorFileDialog() { fav_down = memnew(ToolButton); fav_hb->add_child(fav_down); fav_down->connect("pressed", this, "_favorite_move_down"); - fav_rm = memnew(ToolButton); - fav_hb->add_child(fav_rm); - fav_rm->hide(); // redundant - MarginContainer *fav_mv = memnew(MarginContainer); - fav_vb->add_child(fav_mv); - fav_mv->set_v_size_flags(SIZE_EXPAND_FILL); favorites = memnew(ItemList); - fav_mv->add_child(favorites); + fav_vb->add_child(favorites); + favorites->set_v_size_flags(SIZE_EXPAND_FILL); favorites->connect("item_selected", this, "_favorite_selected"); + VBoxContainer *rec_vb = memnew(VBoxContainer); + vsc->add_child(rec_vb); + rec_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); + rec_vb->set_v_size_flags(SIZE_EXPAND_FILL); recent = memnew(ItemList); - fav_vb->add_margin_child(TTR("Recent:"), recent, true); + rec_vb->add_margin_child(TTR("Recent:"), recent, true); recent->connect("item_selected", this, "_recent_selected"); VBoxContainer *item_vb = memnew(VBoxContainer); list_hb->add_child(item_vb); + item_vb->set_custom_minimum_size(Size2(320, 0) * EDSCALE); HBoxContainer *preview_hb = memnew(HBoxContainer); preview_hb->set_v_size_flags(SIZE_EXPAND_FILL); @@ -1599,7 +1586,7 @@ EditorFileDialog::EditorFileDialog() { filter = memnew(OptionButton); filter->set_stretch_ratio(3); filter->set_h_size_flags(SIZE_EXPAND_FILL); - filter->set_clip_text(true); //too many extensions overflow it + filter->set_clip_text(true); // too many extensions overflow it filename_hbc->add_child(filter); filename_hbc->set_h_size_flags(SIZE_EXPAND_FILL); item_vb->add_child(filename_hbc); @@ -1609,7 +1596,6 @@ EditorFileDialog::EditorFileDialog() { _update_drives(); connect("confirmed", this, "_action_pressed"); - //cancel->connect("pressed", this,"_cancel_pressed"); item_list->connect("item_selected", this, "_item_selected", varray(), CONNECT_DEFERRED); item_list->connect("item_activated", this, "_item_db_selected", varray()); item_list->connect("nothing_selected", this, "_items_clear_selection"); @@ -1643,7 +1629,6 @@ EditorFileDialog::EditorFileDialog() { exterr->set_text(TTR("Must use a valid extension.")); add_child(exterr); - //update_file_list(); update_filters(); update_dir(); diff --git a/editor/editor_file_dialog.h b/editor/editor_file_dialog.h index f4a9a174e7..1a7fa756cc 100644 --- a/editor/editor_file_dialog.h +++ b/editor/editor_file_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -36,6 +36,7 @@ #include "scene/gui/item_list.h" #include "scene/gui/line_edit.h" #include "scene/gui/option_button.h" +#include "scene/gui/separator.h" #include "scene/gui/split_container.h" #include "scene/gui/texture_rect.h" #include "scene/gui/tool_button.h" diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index d462cce908..bff090cdbc 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -320,7 +320,10 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo List<String> to_check; + String source_file; String source_md5; + Vector<String> dest_files; + String dest_md5; while (true) { @@ -346,8 +349,16 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo for (int i = 0; i < fa.size(); i++) { to_check.push_back(fa[i]); } - } else if (!p_only_imported_files && assign == "source_md5") { - source_md5 = value; + } else if (!p_only_imported_files) { + if (assign == "source_md5") { + source_md5 = value; + } else if (assign == "source_file") { + source_file = value; + } else if (assign == "dest_md5") { + dest_md5 = value; + } else if (assign == "dest_files") { + dest_files = value; + } } } else if (next_tag.name != "remap" && next_tag.name != "deps") { @@ -366,6 +377,11 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo //check source md5 matching if (!p_only_imported_files) { + + if (source_file != String() && source_file != p_path) { + return true; //file was moved, reimport + } + if (source_md5 == String()) { return true; //lacks md5, so just reimport } @@ -374,6 +390,13 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo if (md5 != source_md5) { return true; } + + if (dest_files.size() && dest_md5 != String()) { + md5 = FileAccess::get_multiple_md5(dest_files); + if (md5 != dest_md5) { + return true; + } + } } return false; //nothing changed @@ -1388,6 +1411,8 @@ void EditorFileSystem::_reimport_file(const String &p_file) { f->store_line("type=\"" + importer->get_resource_type() + "\""); } + Vector<String> dest_paths; + if (err == OK) { if (importer->get_save_extension() == "") { @@ -1399,10 +1424,12 @@ void EditorFileSystem::_reimport_file(const String &p_file) { String path = base_path.c_escape() + "." + E->get() + "." + importer->get_save_extension(); f->store_line("path." + E->get() + "=\"" + path + "\""); + dest_paths.push_back(path); } } else { - - f->store_line("path=\"" + base_path + "." + importer->get_save_extension() + "\""); + String path = base_path + "." + importer->get_save_extension(); + f->store_line("path=\"" + path + "\""); + dest_paths.push_back(path); } } else { @@ -1418,6 +1445,7 @@ void EditorFileSystem::_reimport_file(const String &p_file) { Array genf; for (List<String>::Element *E = gen_files.front(); E; E = E->next()) { genf.push_back(E->get()); + dest_paths.push_back(E->get()); } String value; @@ -1426,8 +1454,18 @@ void EditorFileSystem::_reimport_file(const String &p_file) { f->store_line(""); } + f->store_line("source_file=" + Variant(p_file).get_construct_string()); f->store_line("source_md5=\"" + FileAccess::get_md5(p_file) + "\"\n"); + if (dest_paths.size()) { + Array dp; + for (int i = 0; i < dest_paths.size(); i++) { + dp.push_back(dest_paths[i]); + } + f->store_line("dest_files=" + Variant(dp).get_construct_string()); + f->store_line("dest_md5=\"" + FileAccess::get_multiple_md5(dest_paths) + "\"\n"); + } + f->store_line("[params]"); f->store_line(""); diff --git a/editor/editor_file_system.h b/editor/editor_file_system.h index f2470bfd40..3e0325dfdc 100644 --- a/editor/editor_file_system.h +++ b/editor/editor_file_system.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_fonts.cpp b/editor/editor_fonts.cpp index 8aca007e6b..c50995fc2b 100644 --- a/editor/editor_fonts.cpp +++ b/editor/editor_fonts.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -77,12 +77,27 @@ static Ref<BitmapFont> make_font(int p_height, int p_ascent, int p_valign, int p Ref<DynamicFont> m_name; \ m_name.instance(); \ m_name->set_size(m_size); \ - m_name->set_font_data(DefaultFont); \ + if (CustomFont.is_valid()) { \ + m_name->set_font_data(CustomFont); \ + m_name->add_fallback(DefaultFont); \ + } else { \ + m_name->set_font_data(DefaultFont); \ + } \ m_name->set_spacing(DynamicFont::SPACING_TOP, -EDSCALE); \ m_name->set_spacing(DynamicFont::SPACING_BOTTOM, -EDSCALE); \ MAKE_FALLBACKS(m_name); void editor_register_fonts(Ref<Theme> p_theme) { + /* Custom font */ + + String custom_font = EditorSettings::get_singleton()->get("interface/editor/custom_font"); + Ref<DynamicFontData> CustomFont; + if (custom_font.length() > 0) { + CustomFont.instance(); + CustomFont->set_font_path(custom_font); + CustomFont->set_force_autohinter(true); //just looks better..i think? + } + /* Droid Sans */ Ref<DynamicFontData> DefaultFont; @@ -173,11 +188,12 @@ void editor_register_fonts(Ref<Theme> p_theme) { p_theme->set_font("output_source", "EditorFonts", df_output_code); Ref<DynamicFont> df_text_editor_status_code; - df_output_code.instance(); - df_output_code->set_size(14 * EDSCALE); - df_output_code->set_spacing(DynamicFont::SPACING_TOP, -EDSCALE); - df_output_code->set_spacing(DynamicFont::SPACING_BOTTOM, -EDSCALE); - df_output_code->set_font_data(dfmono); - MAKE_FALLBACKS(df_output_code); - p_theme->set_font("status_source", "EditorFonts", df_output_code); + df_text_editor_status_code.instance(); + df_text_editor_status_code->set_size(14 * EDSCALE); + df_text_editor_status_code->set_spacing(DynamicFont::SPACING_TOP, -EDSCALE); + df_text_editor_status_code->set_spacing(DynamicFont::SPACING_BOTTOM, -EDSCALE); + df_text_editor_status_code->set_font_data(dfmono); + MAKE_FALLBACKS(df_text_editor_status_code); + + p_theme->set_font("status_source", "EditorFonts", df_text_editor_status_code); } diff --git a/editor/editor_fonts.h b/editor/editor_fonts.h index 6a55876fd0..abbccb685d 100644 --- a/editor/editor_fonts.h +++ b/editor/editor_fonts.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index 46badc8c86..c094d4be6b 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -324,23 +324,14 @@ EditorHelpSearch::EditorHelpSearch() { set_hide_on_ok(false); search_options->connect("item_activated", this, "_confirmed"); set_title(TTR("Search Help")); - - //search_options->set_hide_root(true); } ///////////////////////////////// -//////////////////////////////////// -/// ///////////////////////////////// - void EditorHelpIndex::add_type(const String &p_type, HashMap<String, TreeItem *> &p_types, TreeItem *p_root) { if (p_types.has(p_type)) return; - /* - if (!ClassDB::is_type(p_type,base) || p_type==base) - return; - */ String inherits = EditorHelp::get_doc_data()->class_list[p_type].inherits; @@ -379,8 +370,6 @@ void EditorHelpIndex::_tree_item_selected() { EditorNode::get_singleton()->set_visible_editor(EditorNode::EDITOR_SCRIPT); emit_signal("open_class", s->get_text(0)); hide(); - - //_goto_desc(s->get_text(0)); } void EditorHelpIndex::select_class(const String &p_class) { @@ -518,8 +507,6 @@ EditorHelpIndex::EditorHelpIndex() { ///////////////////////////////// -//////////////////////////////////// -/// ///////////////////////////////// DocData *EditorHelp::doc = NULL; void EditorHelp::_init_colors() { @@ -572,9 +559,7 @@ void EditorHelp::_class_list_select(const String &p_select) { void EditorHelp::_class_desc_select(const String &p_select) { - //print_line("LINK: "+p_select); if (p_select.begins_with("$")) { //enum - //_goto_desc(p_select.substr(1,p_select.length())); String select = p_select.substr(1, p_select.length()); String class_name; if (select.find(".") != -1) { @@ -585,7 +570,6 @@ void EditorHelp::_class_desc_select(const String &p_select) { emit_signal("go_to_help", "class_enum:" + class_name + ":" + select); return; } else if (p_select.begins_with("#")) { - //_goto_desc(p_select.substr(1,p_select.length())); emit_signal("go_to_help", "class_name:" + p_select.substr(1, p_select.length())); return; } else if (p_select.begins_with("@")) { @@ -612,7 +596,6 @@ void EditorHelp::_class_desc_select(const String &p_select) { } if (link.find(".") != -1) { - //must go somewhere else emit_signal("go_to_help", topic + ":" + link.get_slice(".", 0) + ":" + link.get_slice(".", 1)); } else { @@ -630,7 +613,7 @@ void EditorHelp::_class_desc_input(const Ref<InputEvent> &p_input) { Ref<InputEventMouseButton> mb = p_input; - if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == 1) { + if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == 1 && !mb->is_doubleclick()) { class_desc->set_selection_enabled(false); class_desc->set_selection_enabled(true); } @@ -749,16 +732,13 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { - //ERR_FAIL_COND(!doc->class_list.has(p_class)); if (!doc->class_list.has(p_class)) return ERR_DOES_NOT_EXIST; - //if (tree_item_map.has(p_class)) { select_locked = true; - //} class_desc->show(); - //tabs->set_current_tab(PAGE_CLASS_DESC); + description_line = 0; if (p_class == edited_class) @@ -770,7 +750,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { method_line.clear(); section_line.clear(); edited_class = p_class; - //edited_class->show(); _init_colors(); @@ -866,7 +845,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->pop(); class_desc->pop(); - //class_desc->add_newline(); class_desc->add_newline(); class_desc->push_color(text_color); class_desc->push_font(doc_font); @@ -891,7 +869,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->add_text(TTR("Members:")); class_desc->pop(); class_desc->pop(); - //class_desc->add_newline(); class_desc->push_indent(1); class_desc->push_table(2); @@ -970,9 +947,7 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->pop(); class_desc->pop(); - //class_desc->add_newline(); - //class_desc->add_newline(); - + class_desc->push_font(doc_code_font); class_desc->push_indent(1); class_desc->push_table(2); class_desc->set_table_column_expand(1, 1); @@ -1028,6 +1003,7 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->pop(); //table class_desc->pop(); + class_desc->pop(); // font class_desc->add_newline(); class_desc->add_newline(); } @@ -1098,7 +1074,7 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->pop(); class_desc->add_newline(); - //class_desc->add_newline(); + class_desc->add_newline(); class_desc->push_indent(1); @@ -1106,8 +1082,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { signal_line[cd.signals[i].name] = class_desc->get_line_count() - 2; //gets overridden if description class_desc->push_font(doc_code_font); // monofont - //_add_type("void"); - //class_desc->add_text(" "); class_desc->push_color(headline_color); _add_text(cd.signals[i].name); class_desc->pop(); @@ -1141,7 +1115,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->push_font(doc_font); class_desc->push_color(comment_color); class_desc->push_indent(1); - // class_desc->add_text(" "); _add_text(cd.signals[i].description); class_desc->pop(); // indent class_desc->pop(); @@ -1185,7 +1158,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->push_indent(1); class_desc->add_newline(); - //class_desc->add_newline(); for (Map<String, Vector<DocData::ConstantDoc> >::Element *E = enums.front(); E; E = E->next()) { @@ -1260,7 +1232,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->push_indent(1); class_desc->add_newline(); - //class_desc->add_newline(); for (int i = 0; i < constants.size(); i++) { @@ -1279,7 +1250,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { if (constants[i].description != "") { class_desc->push_font(doc_font); class_desc->push_indent(1); - //class_desc->add_text(" "); class_desc->push_color(comment_color); _add_text(constants[i].description); class_desc->pop(); @@ -1353,8 +1323,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->pop(); // font class_desc->pop(); // cell - //class_desc->add_text(" "); - if (cd.properties[i].setter != "") { class_desc->push_cell(); @@ -1428,7 +1396,9 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { for (int i = 0; i < methods.size(); i++) { + class_desc->push_font(doc_code_font); _add_method(methods[i], false); + class_desc->pop(); class_desc->add_newline(); class_desc->push_color(text_color); @@ -1538,7 +1508,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { } if (brk_pos == bbcode.length()) - break; //nothing else o add + break; //nothing else to add int brk_end = bbcode.find("]", brk_pos + 1); @@ -1734,10 +1704,6 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { pos = brk_pos + 1; } } - - /*p_rt->pop(); - p_rt->pop(); - p_rt->pop();*/ } void EditorHelp::_add_text(const String &p_bbcode) { @@ -1762,8 +1728,7 @@ void EditorHelp::_notification(int p_what) { switch (p_what) { case NOTIFICATION_READY: { - //forward->set_icon(get_icon("Forward","EditorIcons")); - //back->set_icon(get_icon("Back","EditorIcons")); + _update_doc(); } break; @@ -1836,7 +1801,6 @@ void EditorHelp::_bind_methods() { ClassDB::bind_method("_class_list_select", &EditorHelp::_class_list_select); ClassDB::bind_method("_class_desc_select", &EditorHelp::_class_desc_select); ClassDB::bind_method("_class_desc_input", &EditorHelp::_class_desc_input); - //ClassDB::bind_method("_button_pressed",&EditorHelp::_button_pressed); ClassDB::bind_method("_request_help", &EditorHelp::_request_help); ClassDB::bind_method("_unhandled_key_input", &EditorHelp::_unhandled_key_input); ClassDB::bind_method("_search", &EditorHelp::_search); @@ -1848,21 +1812,16 @@ void EditorHelp::_bind_methods() { EditorHelp::EditorHelp() { - VBoxContainer *vbc = this; + set_custom_minimum_size(Size2(150 * EDSCALE, 0)); EDITOR_DEF("text_editor/help/sort_functions_alphabetically", true); - //class_list->connect("meta_clicked",this,"_class_list_select"); - //class_list->set_selection_enabled(true); - - { - class_desc = memnew(RichTextLabel); - vbc->add_child(class_desc); - class_desc->set_v_size_flags(SIZE_EXPAND_FILL); - class_desc->add_color_override("selection_color", get_color("text_editor/theme/selection_color", "Editor")); - class_desc->connect("meta_clicked", this, "_class_desc_select"); - class_desc->connect("gui_input", this, "_class_desc_input"); - } + class_desc = memnew(RichTextLabel); + add_child(class_desc); + class_desc->set_v_size_flags(SIZE_EXPAND_FILL); + class_desc->add_color_override("selection_color", get_color("text_editor/theme/selection_color", "Editor")); + class_desc->connect("meta_clicked", this, "_class_desc_select"); + class_desc->connect("gui_input", this, "_class_desc_input"); class_desc->set_selection_enabled(true); @@ -1882,12 +1841,6 @@ EditorHelp::EditorHelp() { search_dialog->get_ok()->set_text(TTR("Find")); search_dialog->connect("confirmed", this, "_search_cbk"); search_dialog->set_hide_on_ok(false); - - /*class_search = memnew( EditorHelpSearch(editor) ); - editor->get_gui_base()->add_child(class_search); - class_search->connect("go_to_help",this,"_help_callback");*/ - - //prev_search_page=-1; } EditorHelp::~EditorHelp() { @@ -1905,9 +1858,9 @@ void EditorHelpBit::_go_to_help(String p_what) { void EditorHelpBit::_meta_clicked(String p_select) { print_line("got meta " + p_select); - //print_line("LINK: "+p_select); + if (p_select.begins_with("$")) { //enum - //_goto_desc(p_select.substr(1,p_select.length())); + String select = p_select.substr(1, p_select.length()); String class_name; if (select.find(".") != -1) { @@ -1918,24 +1871,15 @@ void EditorHelpBit::_meta_clicked(String p_select) { _go_to_help("class_enum:" + class_name + ":" + select); return; } else if (p_select.begins_with("#")) { - //_goto_desc(p_select.substr(1,p_select.length())); + _go_to_help("class_name:" + p_select.substr(1, p_select.length())); return; } else if (p_select.begins_with("@")) { String m = p_select.substr(1, p_select.length()); - if (m.find(".") != -1) { - //must go somewhere else - - _go_to_help("class_method:" + m.get_slice(".", 0) + ":" + m.get_slice(".", 0)); - } else { - /* - if (!method_line.has(m)) - return; - class_desc->scroll_to_line(method_line[m]); - */ - } + if (m.find(".") != -1) + _go_to_help("class_method:" + m.get_slice(".", 0) + ":" + m.get_slice(".", 0)); //must go somewhere else } } diff --git a/editor/editor_help.h b/editor/editor_help.h index 96a3309ca3..adcd73471e 100644 --- a/editor/editor_help.h +++ b/editor/editor_help.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_initialize_ssl.cpp b/editor/editor_initialize_ssl.cpp index 4bc194a47c..81521bc0a5 100644 --- a/editor/editor_initialize_ssl.cpp +++ b/editor/editor_initialize_ssl.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_initialize_ssl.h b/editor/editor_initialize_ssl.h index cad219c56b..52b67dea92 100644 --- a/editor/editor_initialize_ssl.h +++ b/editor/editor_initialize_ssl.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp index 407420d3d0..79542f3b5c 100644 --- a/editor/editor_log.cpp +++ b/editor/editor_log.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -29,6 +29,7 @@ /*************************************************************************/ #include "editor_log.h" +#include "core/os/keyboard.h" #include "editor_node.h" #include "scene/gui/center_container.h" #include "scene/resources/dynamic_font.h" @@ -65,7 +66,9 @@ void EditorLog::_notification(int p_what) { Ref<DynamicFont> df_output_code = get_font("output_source", "EditorFonts"); if (df_output_code.is_valid()) { df_output_code->set_size(int(EDITOR_DEF("run/output/font_size", 13)) * EDSCALE); - log->add_font_override("normal_font", get_font("output_source", "EditorFonts")); + if (log != NULL) { + log->add_font_override("normal_font", get_font("output_source", "EditorFonts")); + } } } @@ -154,6 +157,7 @@ EditorLog::EditorLog() { clearbutton = memnew(Button); hb->add_child(clearbutton); clearbutton->set_text(TTR("Clear")); + clearbutton->set_shortcut(ED_SHORTCUT("editor/clear_output", TTR("Clear Output"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_K)); clearbutton->connect("pressed", this, "_clear_request"); log = memnew(RichTextLabel); @@ -164,7 +168,7 @@ EditorLog::EditorLog() { log->set_v_size_flags(SIZE_EXPAND_FILL); log->set_h_size_flags(SIZE_EXPAND_FILL); vb->add_child(log); - add_message(VERSION_FULL_NAME " (c) 2008-2017 Juan Linietsky, Ariel Manzur."); + add_message(VERSION_FULL_NAME " (c) 2007-2018 Juan Linietsky, Ariel Manzur & Godot Contributors."); //log->add_text("Initialization Complete.\n"); //because it looks cool. eh.errfunc = _error_handler; diff --git a/editor/editor_log.h b/editor/editor_log.h index e551623140..c75dc0dd44 100644 --- a/editor/editor_log.h +++ b/editor/editor_log.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_name_dialog.cpp b/editor/editor_name_dialog.cpp index 9f3593c269..25d12a75ff 100644 --- a/editor/editor_name_dialog.cpp +++ b/editor/editor_name_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_name_dialog.h b/editor/editor_name_dialog.h index 2ec8c67169..e8a3da57ca 100644 --- a/editor/editor_name_dialog.h +++ b/editor/editor_name_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index f8e350bee3..b52161813d 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -115,7 +115,7 @@ EditorNode *EditorNode::singleton = NULL; void EditorNode::_update_scene_tabs() { - bool show_rb = EditorSettings::get_singleton()->get("interface/editor/show_script_in_scene_tabs"); + bool show_rb = EditorSettings::get_singleton()->get("interface/scene_tabs/show_script_button"); scene_tabs->clear_tabs(); Ref<Texture> script_icon = gui_base->get_icon("Script", "EditorIcons"); @@ -305,7 +305,7 @@ void EditorNode::_notification(int p_what) { } if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) { - scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/editor/always_show_close_button_in_scene_tabs", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); + scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/scene_tabs/always_show_close_button", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); Ref<Theme> theme = create_editor_theme(theme_base->get_theme()); theme_base->set_theme(theme); @@ -3529,6 +3529,11 @@ void EditorNode::_dock_select_input(const Ref<InputEvent> &p_input) { splits[i]->hide(); } + if (right_l_vsplit->is_visible() || right_r_vsplit->is_visible()) + right_hsplit->show(); + else + right_hsplit->hide(); + _edit_current(); _save_docks(); } @@ -3805,7 +3810,11 @@ void EditorNode::_update_dock_slots_visibility() { } } bottom_panel->show(); - right_hsplit->show(); + + if (right_l_vsplit->is_visible() || right_r_vsplit->is_visible()) + right_hsplit->show(); + else + right_hsplit->hide(); } } @@ -3895,6 +3904,11 @@ void EditorNode::_load_docks_from_config(Ref<ConfigFile> p_layout, const String splits[i]->hide(); } + if (right_l_vsplit->is_visible() || right_r_vsplit->is_visible()) + right_hsplit->show(); + else + right_hsplit->hide(); + for (int i = 0; i < DOCK_SLOT_MAX; i++) { if (dock_slot[i]->is_visible() && dock_slot[i]->get_tab_count()) { @@ -4405,10 +4419,11 @@ void EditorNode::_dropped_files(const Vector<String> &p_files, int p_screen) { String to_path = ProjectSettings::get_singleton()->globalize_path(get_filesystem_dock()->get_current_path()); DirAccessRef dir = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); + Vector<String> just_copy = String("ttf,otf").split(","); for (int i = 0; i < p_files.size(); i++) { String from = p_files[i]; - if (!ResourceFormatImporter::get_singleton()->can_be_imported(from)) { + if (!ResourceFormatImporter::get_singleton()->can_be_imported(from) && (just_copy.find(from.get_extension().to_lower()) != -1)) { continue; } String to = to_path.plus_file(from.get_file()); @@ -4994,7 +5009,7 @@ EditorNode::EditorNode() { scene_tabs->add_style_override("tab_bg", gui_base->get_stylebox("SceneTabBG", "EditorStyles")); scene_tabs->add_tab("unsaved"); scene_tabs->set_tab_align(Tabs::ALIGN_LEFT); - scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/editor/always_show_close_button_in_scene_tabs", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); + scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/scene_tabs/always_show_close_button", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); scene_tabs->set_min_width(int(EDITOR_DEF("interface/scene_tabs/minimum_width", 50)) * EDSCALE); scene_tabs->connect("tab_changed", this, "_scene_tab_changed"); scene_tabs->connect("right_button_pressed", this, "_scene_tab_script_edited"); diff --git a/editor/editor_node.h b/editor/editor_node.h index e7ef9eefb5..d090d83241 100644 --- a/editor/editor_node.h +++ b/editor/editor_node.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_path.cpp b/editor/editor_path.cpp index f0d3c29c11..c01f56581f 100644 --- a/editor/editor_path.cpp +++ b/editor/editor_path.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_path.h b/editor/editor_path.h index c79968c5e3..597746faf4 100644 --- a/editor/editor_path.h +++ b/editor/editor_path.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index 6eac7d9ae5..16e60edda7 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h index c1e1fc328a..887e599208 100644 --- a/editor/editor_plugin.h +++ b/editor/editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_plugin_settings.cpp b/editor/editor_plugin_settings.cpp index 8baa56b9b4..234363cdff 100644 --- a/editor/editor_plugin_settings.cpp +++ b/editor/editor_plugin_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_plugin_settings.h b/editor/editor_plugin_settings.h index f24b2b8781..fac14fa177 100644 --- a/editor/editor_plugin_settings.h +++ b/editor/editor_plugin_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_profiler.cpp b/editor/editor_profiler.cpp index 71c26244ee..c55d62fbe5 100644 --- a/editor/editor_profiler.cpp +++ b/editor/editor_profiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_profiler.h b/editor/editor_profiler.h index e9e88ed7f2..c4543848ab 100644 --- a/editor/editor_profiler.h +++ b/editor/editor_profiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_resource_preview.cpp b/editor/editor_resource_preview.cpp index 467451cd2b..b981f74242 100644 --- a/editor/editor_resource_preview.cpp +++ b/editor/editor_resource_preview.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_resource_preview.h b/editor/editor_resource_preview.h index 60eaee9c5e..6f1719e0a5 100644 --- a/editor/editor_resource_preview.h +++ b/editor/editor_resource_preview.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run.cpp b/editor/editor_run.cpp index 09bfa0aff0..ecb4b4aa8f 100644 --- a/editor/editor_run.cpp +++ b/editor/editor_run.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run.h b/editor/editor_run.h index 3745a76ea3..9eee1122c8 100644 --- a/editor/editor_run.h +++ b/editor/editor_run.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_native.cpp b/editor/editor_run_native.cpp index 95700915d5..a546f34c17 100644 --- a/editor/editor_run_native.cpp +++ b/editor/editor_run_native.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_native.h b/editor/editor_run_native.h index de0cec7f34..d9bce34e48 100644 --- a/editor/editor_run_native.h +++ b/editor/editor_run_native.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_script.cpp b/editor/editor_run_script.cpp index 87eba78a3e..4ead241bbb 100644 --- a/editor/editor_run_script.cpp +++ b/editor/editor_run_script.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_run_script.h b/editor/editor_run_script.h index 52905ccc86..c613e61feb 100644 --- a/editor/editor_run_script.h +++ b/editor/editor_run_script.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_scale.cpp b/editor/editor_scale.cpp index 6b4d6192f5..d3ef5bfa32 100644 --- a/editor/editor_scale.cpp +++ b/editor/editor_scale.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_scale.h b/editor/editor_scale.h index a47539dc31..9af245e8d2 100644 --- a/editor/editor_scale.h +++ b/editor/editor_scale.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index d199b27b83..a5001cb1ac 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http:/www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -75,20 +75,33 @@ bool EditorSettings::_set(const StringName &p_name, const Variant &p_value, bool return true; } + bool changed = false; + if (p_value.get_type() == Variant::NIL) { - props.erase(p_name); + if (props.has(p_name)) { + props.erase(p_name); + changed = true; + } } else { - if (props.has(p_name)) - props[p_name].variant = p_value; - else + if (props.has(p_name)) { + if (p_value != props[p_name].variant) { + props[p_name].variant = p_value; + changed = true; + } + } else { props[p_name] = VariantContainer(p_value, last_order++); + changed = true; + } if (save_changed_setting) { - props[p_name].save = true; + if (props[p_name].save != true) { + props[p_name].save = true; + changed = true; + } } } - if (p_emit_signal) { + if (changed && p_emit_signal) { emit_signal("settings_changed"); } return true; @@ -258,13 +271,13 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("interface/editor/hidpi_mode", 0); hints["interface/editor/hidpi_mode"] = PropertyInfo(Variant::INT, "interface/editor/hidpi_mode", PROPERTY_HINT_ENUM, "Auto,VeryLoDPI,LoDPI,MidDPI,HiDPI", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); - _initial_set("interface/editor/show_script_in_scene_tabs", false); + _initial_set("interface/scene_tabs/show_script_button", false); _initial_set("interface/editor/font_size", 14); hints["interface/editor/font_size"] = PropertyInfo(Variant::INT, "interface/editor/font_size", PROPERTY_HINT_RANGE, "10,40,1", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); _initial_set("interface/editor/source_font_size", 14); hints["interface/editor/source_font_size"] = PropertyInfo(Variant::INT, "interface/editor/source_font_size", PROPERTY_HINT_RANGE, "8,96,1", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); _initial_set("interface/editor/custom_font", ""); - hints["interface/editor/custom_font"] = PropertyInfo(Variant::STRING, "interface/editor/custom_font", PROPERTY_HINT_GLOBAL_FILE, "*.font,*.tres,*.res", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); + hints["interface/editor/custom_font"] = PropertyInfo(Variant::STRING, "interface/editor/custom_font", PROPERTY_HINT_GLOBAL_FILE, "*.ttf,*.otf", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); _initial_set("interface/editor/dim_editor_on_dialog_popup", true); _initial_set("interface/editor/dim_amount", 0.6f); hints["interface/editor/dim_amount"] = PropertyInfo(Variant::REAL, "interface/editor/dim_amount", PROPERTY_HINT_RANGE, "0,1,0.01", PROPERTY_USAGE_DEFAULT); @@ -307,10 +320,10 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { hints["filesystem/directories/default_project_path"] = PropertyInfo(Variant::STRING, "filesystem/directories/default_project_path", PROPERTY_HINT_GLOBAL_DIR); _initial_set("filesystem/directories/default_project_export_path", ""); hints["filesystem/directories/default_project_export_path"] = PropertyInfo(Variant::STRING, "filesystem/directories/default_project_export_path", PROPERTY_HINT_GLOBAL_DIR); - _initial_set("interface/editor/show_script_in_scene_tabs", false); + _initial_set("interface/scene_tabs/show_script_button", false); _initial_set("text_editor/theme/color_theme", "Adaptive"); - hints["text_editor/theme/color_theme"] = PropertyInfo(Variant::STRING, "text_editor/theme/color_theme", PROPERTY_HINT_ENUM, "Adaptive,Default"); + hints["text_editor/theme/color_theme"] = PropertyInfo(Variant::STRING, "text_editor/theme/color_theme", PROPERTY_HINT_ENUM, "Adaptive,Default,Custom"); _initial_set("text_editor/theme/line_spacing", 4); @@ -351,6 +364,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("text_editor/cursor/caret_blink", true); _initial_set("text_editor/cursor/caret_blink_speed", 0.65); hints["text_editor/cursor/caret_blink_speed"] = PropertyInfo(Variant::REAL, "text_editor/cursor/caret_blink_speed", PROPERTY_HINT_RANGE, "0.1, 10, 0.1"); + _initial_set("text_editor/cursor/right_click_moves_caret", true); _initial_set("text_editor/theme/font", ""); hints["text_editor/theme/font"] = PropertyInfo(Variant::STRING, "text_editor/theme/font", PROPERTY_HINT_GLOBAL_FILE, "*.font,*.tres,*.res"); @@ -1140,13 +1154,13 @@ void EditorSettings::load_favorites() { } void EditorSettings::list_text_editor_themes() { - String themes = "Adaptive,Default"; + String themes = "Adaptive,Default,Custom"; DirAccess *d = DirAccess::open(get_text_editor_themes_dir()); if (d) { d->list_dir_begin(); String file = d->get_next(); while (file != String()) { - if (file.get_extension() == "tet" && file.get_basename().to_lower() != "default" && file.get_basename().to_lower() != "adaptive") { + if (file.get_extension() == "tet" && file.get_basename().to_lower() != "default" && file.get_basename().to_lower() != "adaptive" && file.get_basename().to_lower() != "custom") { themes += "," + file.get_basename(); } file = d->get_next(); @@ -1158,7 +1172,7 @@ void EditorSettings::list_text_editor_themes() { } void EditorSettings::load_text_editor_theme() { - if (get("text_editor/theme/color_theme") == "Default" || get("text_editor/theme/color_theme") == "Adaptive") { + if (get("text_editor/theme/color_theme") == "Default" || get("text_editor/theme/color_theme") == "Adaptive" || get("text_editor/theme/color_theme") == "Custom") { _load_default_text_editor_theme(); // sorry for "Settings changed" console spam return; } @@ -1215,7 +1229,7 @@ bool EditorSettings::save_text_editor_theme() { String p_file = get("text_editor/theme/color_theme"); - if (p_file.get_file().to_lower() == "default" || p_file.get_file().to_lower() == "adaptive") { + if (p_file.get_file().to_lower() == "default" || p_file.get_file().to_lower() == "adaptive" || p_file.get_file().to_lower() == "custom") { return false; } String theme_path = get_text_editor_themes_dir().plus_file(p_file + ".tet"); @@ -1227,7 +1241,7 @@ bool EditorSettings::save_text_editor_theme_as(String p_file) { p_file += ".tet"; } - if (p_file.get_file().to_lower() == "default.tet" || p_file.get_file().to_lower() == "adaptive.tet") { + if (p_file.get_file().to_lower() == "default.tet" || p_file.get_file().to_lower() == "adaptive.tet" || p_file.get_file().to_lower() == "custom.tet") { return false; } if (_save_text_editor_theme(p_file)) { @@ -1315,8 +1329,44 @@ Ref<ShortCut> ED_GET_SHORTCUT(const String &p_path) { return sc; } +struct ShortCutMapping { + const char *path; + uint32_t keycode; +}; + Ref<ShortCut> ED_SHORTCUT(const String &p_path, const String &p_name, uint32_t p_keycode) { +#ifdef OSX_ENABLED + static const ShortCutMapping macos_mappings[] = { + { "editor/play", KEY_MASK_CMD | KEY_B }, + { "editor/play_scene", KEY_MASK_CMD | KEY_R }, + { "editor/pause_scene", KEY_MASK_CMD | KEY_MASK_CTRL | KEY_Y }, + { "editor/stop", KEY_MASK_CMD | KEY_PERIOD }, + { "editor/play_custom_scene", KEY_MASK_SHIFT | KEY_MASK_CMD | KEY_R }, + { "editor/editor_2d", KEY_MASK_ALT | KEY_1 }, + { "editor/editor_3d", KEY_MASK_ALT | KEY_2 }, + { "editor/editor_script", KEY_MASK_ALT | KEY_3 }, + { "editor/editor_help", KEY_MASK_ALT | KEY_SPACE }, + { "editor/fullscreen_mode", KEY_MASK_CMD | KEY_MASK_CTRL | KEY_F }, + { "editor/distraction_free_mode", KEY_MASK_CMD | KEY_MASK_CTRL | KEY_D }, + { "script_text_editor/contextual_help", KEY_MASK_ALT | KEY_MASK_SHIFT | KEY_SPACE }, + { "script_text_editor/find_next", KEY_MASK_CMD | KEY_G }, + { "script_text_editor/find_previous", KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_G }, + { "script_text_editor/toggle_breakpoint", KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_B } + }; + + if (p_keycode == KEY_DELETE) { + p_keycode = KEY_MASK_CMD | KEY_BACKSPACE; + } else { + for (int i = 0; i < sizeof(macos_mappings) / sizeof(ShortCutMapping); i++) { + if (p_path == macos_mappings[i].path) { + p_keycode = macos_mappings[i].keycode; + break; + } + } + } +#endif + Ref<InputEventKey> ie; if (p_keycode) { ie.instance(); diff --git a/editor/editor_settings.h b/editor/editor_settings.h index 5b15b1d6be..b079f71b6a 100644 --- a/editor/editor_settings.h +++ b/editor/editor_settings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_sub_scene.cpp b/editor/editor_sub_scene.cpp index fad9346b38..0eaf475c14 100644 --- a/editor/editor_sub_scene.cpp +++ b/editor/editor_sub_scene.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_sub_scene.h b/editor/editor_sub_scene.h index db9d91018a..56c08c7532 100644 --- a/editor/editor_sub_scene.h +++ b/editor/editor_sub_scene.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index cc0b292cc4..8a3e7e6716 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -332,6 +332,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { const Color font_color = mono_color.linear_interpolate(base_color, 0.25); const Color font_color_hl = mono_color.linear_interpolate(base_color, 0.15); const Color font_color_disabled = Color(mono_color.r, mono_color.g, mono_color.b, 0.3); + const Color font_color_selection = Color::html("#7d7d7d"); const Color color_disabled = mono_color.inverted().linear_interpolate(base_color, 0.7); const Color color_disabled_bg = mono_color.inverted().linear_interpolate(base_color, 0.9); @@ -790,6 +791,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("read_only", "LineEdit", font_color_disabled); theme->set_color("font_color", "LineEdit", font_color); theme->set_color("cursor_color", "LineEdit", font_color); + theme->set_color("selection_color", "LineEdit", font_color_selection); // TextEdit theme->set_stylebox("normal", "TextEdit", style_widget); @@ -799,6 +801,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("tab", "TextEdit", theme->get_icon("GuiTab", "EditorIcons")); theme->set_color("font_color", "TextEdit", font_color); theme->set_color("caret_color", "TextEdit", highlight_color); + theme->set_color("selection_color", "TextEdit", font_color_selection); // H/VSplitContainer theme->set_stylebox("bg", "VSplitContainer", make_stylebox(theme->get_icon("GuiVsplitBg", "EditorIcons"), 1, 1, 1, 1)); @@ -972,6 +975,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("commentfocus", "GraphNode", graphsbcommentselected); theme->set_stylebox("breakpoint", "GraphNode", graphsbbreakpoint); theme->set_stylebox("position", "GraphNode", graphsbposition); + + Color default_node_color = Color(mv2, mv2, mv2); + theme->set_color("title_color", "GraphNode", default_node_color); + default_node_color.a = 0.7; + theme->set_color("close_color", "GraphNode", default_node_color); + theme->set_constant("port_offset", "GraphNode", 14 * EDSCALE); theme->set_constant("title_h_offset", "GraphNode", -16 * EDSCALE); theme->set_constant("close_h_offset", "GraphNode", 20 * EDSCALE); @@ -1050,36 +1059,71 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { const Color search_result_color = alpha1; const Color search_result_border_color = alpha4; - theme->set_color("text_editor/theme/symbol_color", "Editor", symbol_color); - theme->set_color("text_editor/theme/keyword_color", "Editor", keyword_color); - theme->set_color("text_editor/theme/basetype_color", "Editor", basetype_color); - theme->set_color("text_editor/theme/type_color", "Editor", type_color); - theme->set_color("text_editor/theme/comment_color", "Editor", comment_color); - theme->set_color("text_editor/theme/string_color", "Editor", string_color); - theme->set_color("text_editor/theme/background_color", "Editor", te_background_color); - theme->set_color("text_editor/theme/completion_background_color", "Editor", completion_background_color); - theme->set_color("text_editor/theme/completion_selected_color", "Editor", completion_selected_color); - theme->set_color("text_editor/theme/completion_existing_color", "Editor", completion_existing_color); - theme->set_color("text_editor/theme/completion_scroll_color", "Editor", completion_scroll_color); - theme->set_color("text_editor/theme/completion_font_color", "Editor", completion_font_color); - theme->set_color("text_editor/theme/text_color", "Editor", text_color); - theme->set_color("text_editor/theme/line_number_color", "Editor", line_number_color); - theme->set_color("text_editor/theme/caret_color", "Editor", caret_color); - theme->set_color("text_editor/theme/caret_background_color", "Editor", caret_background_color); - theme->set_color("text_editor/theme/text_selected_color", "Editor", text_selected_color); - theme->set_color("text_editor/theme/selection_color", "Editor", selection_color); - theme->set_color("text_editor/theme/brace_mismatch_color", "Editor", brace_mismatch_color); - theme->set_color("text_editor/theme/current_line_color", "Editor", current_line_color); - theme->set_color("text_editor/theme/line_length_guideline_color", "Editor", line_length_guideline_color); - theme->set_color("text_editor/theme/word_highlighted_color", "Editor", word_highlighted_color); - theme->set_color("text_editor/theme/number_color", "Editor", number_color); - theme->set_color("text_editor/theme/function_color", "Editor", function_color); - theme->set_color("text_editor/theme/member_variable_color", "Editor", member_variable_color); - theme->set_color("text_editor/theme/mark_color", "Editor", mark_color); - theme->set_color("text_editor/theme/breakpoint_color", "Editor", breakpoint_color); - theme->set_color("text_editor/theme/code_folding_color", "Editor", code_folding_color); - theme->set_color("text_editor/theme/search_result_color", "Editor", search_result_color); - theme->set_color("text_editor/theme/search_result_border_color", "Editor", search_result_border_color); + EditorSettings *setting = EditorSettings::get_singleton(); + String text_editor_color_theme = setting->get("text_editor/theme/color_theme"); + if (text_editor_color_theme == "Adaptive") { + setting->set_manually("text_editor/highlighting/symbol_color", symbol_color); + setting->set_manually("text_editor/highlighting/keyword_color", keyword_color); + setting->set_manually("text_editor/highlighting/base_type_color", basetype_color); + setting->set_manually("text_editor/highlighting/engine_type_color", type_color); + setting->set_manually("text_editor/highlighting/comment_color", comment_color); + setting->set_manually("text_editor/highlighting/string_color", string_color); + setting->set_manually("text_editor/highlighting/background_color", background_color); + setting->set_manually("text_editor/highlighting/completion_background_color", completion_background_color); + setting->set_manually("text_editor/highlighting/completion_selected_color", completion_selected_color); + setting->set_manually("text_editor/highlighting/completion_existing_color", completion_existing_color); + setting->set_manually("text_editor/highlighting/completion_scroll_color", completion_scroll_color); + setting->set_manually("text_editor/highlighting/completion_font_color", completion_font_color); + setting->set_manually("text_editor/highlighting/text_color", text_color); + setting->set_manually("text_editor/highlighting/line_number_color", line_number_color); + setting->set_manually("text_editor/highlighting/caret_color", caret_color); + setting->set_manually("text_editor/highlighting/caret_background_color", caret_background_color); + setting->set_manually("text_editor/highlighting/text_selected_color", text_selected_color); + setting->set_manually("text_editor/highlighting/selection_color", selection_color); + setting->set_manually("text_editor/highlighting/brace_mismatch_color", brace_mismatch_color); + setting->set_manually("text_editor/highlighting/current_line_color", current_line_color); + setting->set_manually("text_editor/highlighting/line_length_guideline_color", line_length_guideline_color); + setting->set_manually("text_editor/highlighting/word_highlighted_color", word_highlighted_color); + setting->set_manually("text_editor/highlighting/number_color", number_color); + setting->set_manually("text_editor/highlighting/function_color", function_color); + setting->set_manually("text_editor/highlighting/member_variable_color", member_variable_color); + setting->set_manually("text_editor/highlighting/mark_color", mark_color); + setting->set_manually("text_editor/highlighting/breakpoint_color", breakpoint_color); + setting->set_manually("text_editor/highlighting/code_folding_color", code_folding_color); + setting->set_manually("text_editor/highlighting/search_result_color", search_result_color); + setting->set_manually("text_editor/highlighting/search_result_border_color", search_result_border_color); + } else if (text_editor_color_theme == "Default") { + setting->set_manually("text_editor/highlighting/symbol_color", Color::html("badfff")); + setting->set_manually("text_editor/highlighting/keyword_color", Color::html("ffffb3")); + setting->set_manually("text_editor/highlighting/base_type_color", Color::html("a4ffd4")); + setting->set_manually("text_editor/highlighting/engine_type_color", Color::html("83d3ff")); + setting->set_manually("text_editor/highlighting/comment_color", Color::html("676767")); + setting->set_manually("text_editor/highlighting/string_color", Color::html("ef6ebe")); + setting->set_manually("text_editor/highlighting/background_color", Color::html("3b000000")); + setting->set_manually("text_editor/highlighting/completion_background_color", Color::html("2C2A32")); + setting->set_manually("text_editor/highlighting/completion_selected_color", Color::html("434244")); + setting->set_manually("text_editor/highlighting/completion_existing_color", Color::html("21dfdfdf")); + setting->set_manually("text_editor/highlighting/completion_scroll_color", Color::html("ffffff")); + setting->set_manually("text_editor/highlighting/completion_font_color", Color::html("aaaaaa")); + setting->set_manually("text_editor/highlighting/text_color", Color::html("aaaaaa")); + setting->set_manually("text_editor/highlighting/line_number_color", Color::html("66aaaaaa")); + setting->set_manually("text_editor/highlighting/caret_color", Color::html("aaaaaa")); + setting->set_manually("text_editor/highlighting/caret_background_color", Color::html("000000")); + setting->set_manually("text_editor/highlighting/text_selected_color", Color::html("000000")); + setting->set_manually("text_editor/highlighting/selection_color", Color::html("6ca9c2")); + setting->set_manually("text_editor/highlighting/brace_mismatch_color", Color(1, 0.2, 0.2)); + setting->set_manually("text_editor/highlighting/current_line_color", Color(0.3, 0.5, 0.8, 0.15)); + setting->set_manually("text_editor/highlighting/line_length_guideline_color", Color(0.3, 0.5, 0.8, 0.1)); + setting->set_manually("text_editor/highlighting/word_highlighted_color", Color(0.8, 0.9, 0.9, 0.15)); + setting->set_manually("text_editor/highlighting/number_color", Color::html("EB9532")); + setting->set_manually("text_editor/highlighting/function_color", Color::html("66a2ce")); + setting->set_manually("text_editor/highlighting/member_variable_color", Color::html("e64e59")); + setting->set_manually("text_editor/highlighting/mark_color", Color(1.0, 0.4, 0.4, 0.4)); + setting->set_manually("text_editor/highlighting/breakpoint_color", Color(0.8, 0.8, 0.4, 0.2)); + setting->set_manually("text_editor/highlighting/code_folding_color", Color(0.8, 0.8, 0.8, 0.8)); + setting->set_manually("text_editor/highlighting/search_result_color", Color(0.05, 0.25, 0.05, 1)); + setting->set_manually("text_editor/highlighting/search_result_border_color", Color(0.1, 0.45, 0.1, 1)); + } return theme; } @@ -1094,16 +1138,5 @@ Ref<Theme> create_custom_theme(const Ref<Theme> p_theme) { theme = create_editor_theme(p_theme); } - String global_font = EditorSettings::get_singleton()->get("interface/editor/custom_font"); - if (global_font != "") { - Ref<Font> fnt = ResourceLoader::load(global_font); - if (fnt.is_valid()) { - if (!theme.is_valid()) { - theme.instance(); - } - theme->set_default_theme_font(fnt); - } - } - return theme; } diff --git a/editor/editor_themes.h b/editor/editor_themes.h index 6f3b83e0b0..6f4e527cb2 100644 --- a/editor/editor_themes.h +++ b/editor/editor_themes.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp index a72769b222..0206e37c43 100644 --- a/editor/export_template_manager.cpp +++ b/editor/export_template_manager.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/export_template_manager.h b/editor/export_template_manager.h index 36093da66a..413fe82593 100644 --- a/editor/export_template_manager.h +++ b/editor/export_template_manager.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/file_type_cache.cpp b/editor/file_type_cache.cpp index c8b21acb36..73adea5779 100644 --- a/editor/file_type_cache.cpp +++ b/editor/file_type_cache.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/file_type_cache.h b/editor/file_type_cache.h index 307e8e27bb..d3ffccc1a8 100644 --- a/editor/file_type_cache.h +++ b/editor/file_type_cache.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/fileserver/editor_file_server.cpp b/editor/fileserver/editor_file_server.cpp index ad035b48f3..de620070aa 100644 --- a/editor/fileserver/editor_file_server.cpp +++ b/editor/fileserver/editor_file_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/fileserver/editor_file_server.h b/editor/fileserver/editor_file_server.h index 32c28b4358..a4a7dba1d2 100644 --- a/editor/fileserver/editor_file_server.h +++ b/editor/fileserver/editor_file_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index c30f077888..b18cd6b747 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -147,7 +147,7 @@ void FileSystemDock::_notification(int p_what) { if (low_height_mode) { - file_list_vb->hide(); + tree->hide(); tree->set_v_size_flags(SIZE_EXPAND_FILL); button_tree->show(); } else { @@ -158,6 +158,7 @@ void FileSystemDock::_notification(int p_what) { button_favorite->show(); _update_tree(true); } + tree->ensure_cursor_is_visible(); if (!file_list_vb->is_visible()) { file_list_vb->show(); @@ -345,11 +346,7 @@ void FileSystemDock::navigate_to_path(const String &p_path) { _update_tree(true); _update_files(false); } else { - if (file_name.empty()) { - _go_to_tree(); - } else { - _go_to_file_list(); - } + _go_to_file_list(); } if (!file_name.empty()) { @@ -406,12 +403,12 @@ void FileSystemDock::_search(EditorFileSystemDirectory *p_path, List<FileInfo> * _search(p_path->get_subdir(i), matches, p_max_items); } - String match = search_box->get_text(); + String match = search_box->get_text().to_lower(); for (int i = 0; i < p_path->get_file_count(); i++) { String file = p_path->get_file(i); - if (file.find(match) != -1) { + if (file.to_lower().find(match) != -1) { FileInfo fi; fi.name = file; @@ -822,7 +819,7 @@ void FileSystemDock::_try_duplicate_item(const FileOrFolder &p_item, const Strin DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES); print_line("Duplicating " + old_path + " -> " + new_path); - Error err = da->copy(old_path, new_path); + Error err = p_item.is_file ? da->copy(old_path, new_path) : da->copy_dir(old_path, new_path); if (err == OK) { //Move/Rename any corresponding import settings too if (p_item.is_file && FileAccess::exists(old_path + ".import")) { @@ -837,6 +834,58 @@ void FileSystemDock::_try_duplicate_item(const FileOrFolder &p_item, const Strin memdelete(da); } +void FileSystemDock::_update_resource_paths_after_move(const Map<String, String> &p_renames) const { + + //Rename all resources loaded, be it subresources or actual resources + List<Ref<Resource> > cached; + ResourceCache::get_cached_resources(&cached); + + for (List<Ref<Resource> >::Element *E = cached.front(); E; E = E->next()) { + + Ref<Resource> r = E->get(); + + String base_path = r->get_path(); + String extra_path; + int sep_pos = r->get_path().find("::"); + if (sep_pos >= 0) { + extra_path = base_path.substr(sep_pos, base_path.length()); + base_path = base_path.substr(0, sep_pos); + } + + if (p_renames.has(base_path)) { + base_path = p_renames[base_path]; + } + + r->set_path(base_path + extra_path); + } + + for (int i = 0; i < EditorNode::get_editor_data().get_edited_scene_count(); i++) { + + String 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_filename(); + } else { + + path = EditorNode::get_editor_data().get_scene_path(i); + } + + if (p_renames.has(path)) { + path = p_renames[path]; + } + + if (i == EditorNode::get_editor_data().get_edited_scene()) { + + get_tree()->get_edited_scene_root()->set_filename(path); + } else { + + EditorNode::get_editor_data().set_scene_path(i, path); + } + } +} + void FileSystemDock::_update_dependencies_after_move(const Map<String, String> &p_renames) const { //The following code assumes that the following holds: // 1) EditorFileSystem contains the old paths/folder structure from before the rename/move. @@ -913,6 +962,7 @@ void FileSystemDock::_rename_operation_confirm() { Map<String, String> renames; _try_move_item(to_rename, new_path, renames); _update_dependencies_after_move(renames); + _update_resource_paths_after_move(renames); //Rescan everything print_line("call rescan!"); @@ -930,10 +980,12 @@ void FileSystemDock::_duplicate_operation_confirm() { return; } - String old_path = to_duplicate.path.ends_with("/") ? to_duplicate.path.substr(0, to_duplicate.path.length() - 1) : to_rename.path; - String new_path = old_path.get_base_dir().plus_file(new_name); - if (old_path == new_path) { - return; + String new_path; + String base_dir = to_duplicate.path.get_base_dir(); + if (to_duplicate.is_file) { + new_path = base_dir.plus_file(new_name); + } else { + new_path = base_dir.substr(0, base_dir.find_last("/")) + "/" + new_name; } //Present a more user friendly warning for name conflict @@ -945,7 +997,7 @@ void FileSystemDock::_duplicate_operation_confirm() { } memdelete(da); - _try_duplicate_item(to_duplicate, new_name); + _try_duplicate_item(to_duplicate, new_path); //Rescan everything print_line("call rescan!"); @@ -962,6 +1014,8 @@ void FileSystemDock::_move_operation_confirm(const String &p_to_path) { } _update_dependencies_after_move(renames); + _update_resource_paths_after_move(renames); + print_line("call rescan!"); _rescan(); } diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h index bc8d835ba1..45c0aff439 100644 --- a/editor/filesystem_dock.h +++ b/editor/filesystem_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -178,6 +178,7 @@ private: void _try_move_item(const FileOrFolder &p_item, const String &p_new_path, Map<String, String> &p_renames) const; void _try_duplicate_item(const FileOrFolder &p_item, const String &p_new_path) const; void _update_dependencies_after_move(const Map<String, String> &p_renames) const; + void _update_resource_paths_after_move(const Map<String, String> &p_renames) const; void _make_dir_confirm(); void _rename_operation_confirm(); diff --git a/editor/groups_editor.cpp b/editor/groups_editor.cpp index dcb96f3531..6f823534ca 100644 --- a/editor/groups_editor.cpp +++ b/editor/groups_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/groups_editor.h b/editor/groups_editor.h index c9b37a405d..c60ab4bc22 100644 --- a/editor/groups_editor.h +++ b/editor/groups_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/editor_import_collada.cpp b/editor/import/editor_import_collada.cpp index c4315f1b83..52659b360f 100644 --- a/editor/import/editor_import_collada.cpp +++ b/editor/import/editor_import_collada.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/editor_import_collada.h b/editor/import/editor_import_collada.h index 904080c19b..004b07b5be 100644 --- a/editor/import/editor_import_collada.h +++ b/editor/import/editor_import_collada.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/editor_import_plugin.cpp b/editor/import/editor_import_plugin.cpp index 8af4ab63c7..6297e1eca6 100644 --- a/editor/import/editor_import_plugin.cpp +++ b/editor/import/editor_import_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/editor_import_plugin.h b/editor/import/editor_import_plugin.h index 08d6de5531..9f860401ed 100644 --- a/editor/import/editor_import_plugin.h +++ b/editor/import/editor_import_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp index 00eb69a568..189e98ea68 100644 --- a/editor/import/editor_scene_importer_gltf.cpp +++ b/editor/import/editor_scene_importer_gltf.cpp @@ -185,11 +185,13 @@ Error EditorSceneImporterGLTF::_parse_nodes(GLTFState &state) { } if (n.has("skin")) { node->skin = n["skin"]; + /* if (!state.skin_users.has(node->skin)) { state.skin_users[node->skin] = Vector<int>(); } state.skin_users[node->skin].push_back(i); + */ } if (n.has("matrix")) { node->xform = _arr_to_xform(n["matrix"]); @@ -1316,8 +1318,10 @@ Error EditorSceneImporterGLTF::_parse_skins(GLTFState &state) { for (int j = 0; j < joints.size(); j++) { int index = joints[j]; ERR_FAIL_INDEX_V(index, state.nodes.size(), ERR_PARSE_ERROR); - state.nodes[index]->joint_skin = state.skins.size(); - state.nodes[index]->joint_bone = j; + GLTFNode::Joint joint; + joint.skin = state.skins.size(); + joint.bone = j; + state.nodes[index]->joints.push_back(joint); GLTFSkin::Bone bone; bone.node = index; if (bind_matrices.size()) { @@ -1331,7 +1335,7 @@ Error EditorSceneImporterGLTF::_parse_skins(GLTFState &state) { if (d.has("skeleton")) { int skeleton = d["skeleton"]; ERR_FAIL_INDEX_V(skeleton, state.nodes.size(), ERR_PARSE_ERROR); - state.nodes[skeleton]->skeleton_skin = state.skins.size(); + //state.nodes[skeleton]->skeleton_skin = state.skins.size(); print_line("setting skeleton skin to" + itos(skeleton)); skin.skeleton = skeleton; } @@ -1341,7 +1345,7 @@ Error EditorSceneImporterGLTF::_parse_skins(GLTFState &state) { } //locate the right place to put a Skeleton node - + /* if (state.skin_users.has(i)) { Vector<int> users = state.skin_users[i]; int skin_node = -1; @@ -1382,6 +1386,7 @@ Error EditorSceneImporterGLTF::_parse_skins(GLTFState &state) { state.nodes[skin_node]->skeleton_children.push_back(i); } } + */ state.skins.push_back(skin); } print_line("total skins: " + itos(state.skins.size())); @@ -1577,7 +1582,7 @@ void EditorSceneImporterGLTF::_assign_scene_names(GLTFState &state) { if (n->name == "") { if (n->mesh >= 0) { n->name = "Mesh"; - } else if (n->joint_skin >= 0) { + } else if (n->joints.size()) { n->name = "Bone"; } else { n->name = "Node"; @@ -1607,6 +1612,7 @@ void EditorSceneImporterGLTF::_generate_node(GLTFState &state, int p_node, Node } node = mi; + } else if (n->camera >= 0) { ERR_FAIL_INDEX(n->camera, state.cameras.size()); Camera *camera = memnew(Camera); @@ -1625,18 +1631,20 @@ void EditorSceneImporterGLTF::_generate_node(GLTFState &state, int p_node, Node node->set_name(n->name); - if (n->child_of_skeleton >= 0) { - //move skeleton around and place it on node, as the node _is_ a skeleton. - Skeleton *s = skeletons[n->child_of_skeleton]; - p_parent = s; - } - p_parent->add_child(node); node->set_owner(p_owner); node->set_transform(n->xform); - n->godot_node = node; + n->godot_nodes.push_back(node); + + if (n->skin >= 0 && Object::cast_to<MeshInstance>(node)) { + MeshInstance *mi = Object::cast_to<MeshInstance>(node); + //move skeleton around and place it on node, as the node _is_ a skeleton. + Skeleton *s = skeletons[n->skin]; + mi->set_skeleton_path(mi->get_path_to(s)); + } +#if 0 for (int i = 0; i < n->skeleton_children.size(); i++) { Skeleton *s = skeletons[n->skeleton_children[i]]; @@ -1644,36 +1652,39 @@ void EditorSceneImporterGLTF::_generate_node(GLTFState &state, int p_node, Node node->add_child(s); s->set_owner(p_owner); } - +#endif for (int i = 0; i < n->children.size(); i++) { - if (state.nodes[n->children[i]]->joint_skin >= 0) { - _generate_bone(state, n->children[i], skeletons, -1); + if (state.nodes[n->children[i]]->joints.size()) { + _generate_bone(state, n->children[i], skeletons, Vector<int>()); } else { _generate_node(state, n->children[i], node, p_owner, skeletons); } } } -void EditorSceneImporterGLTF::_generate_bone(GLTFState &state, int p_node, Vector<Skeleton *> &skeletons, int p_parent_bone) { +void EditorSceneImporterGLTF::_generate_bone(GLTFState &state, int p_node, Vector<Skeleton *> &skeletons, const Vector<int> &p_parent_bones) { ERR_FAIL_INDEX(p_node, state.nodes.size()); GLTFNode *n = state.nodes[p_node]; + Vector<int> parent_bones; - ERR_FAIL_COND(n->joint_skin < 0); + for (int i = 0; i < n->joints.size(); i++) { + ERR_FAIL_COND(n->joints[i].skin < 0); - int bone_index = skeletons[n->joint_skin]->get_bone_count(); - skeletons[n->joint_skin]->add_bone(n->name); - if (p_parent_bone >= 0) { - skeletons[n->joint_skin]->set_bone_parent(bone_index, p_parent_bone); - } - skeletons[n->joint_skin]->set_bone_rest(bone_index, state.skins[n->joint_skin].bones[n->joint_bone].inverse_bind.affine_inverse()); + int bone_index = skeletons[n->joints[i].skin]->get_bone_count(); + skeletons[n->joints[i].skin]->add_bone(n->name); + if (p_parent_bones.size()) { + skeletons[n->joints[i].skin]->set_bone_parent(bone_index, p_parent_bones[i]); + } + skeletons[n->joints[i].skin]->set_bone_rest(bone_index, state.skins[n->joints[i].skin].bones[n->joints[i].bone].inverse_bind.affine_inverse()); - n->godot_node = skeletons[n->joint_skin]; - n->godot_bone_index = bone_index; + n->godot_nodes.push_back(skeletons[n->joints[i].skin]); + n->joints[i].godot_bone_index = bone_index; + parent_bones.push_back(bone_index); + } for (int i = 0; i < n->children.size(); i++) { - ERR_CONTINUE(state.nodes[n->children[i]]->joint_skin < 0); - _generate_bone(state, n->children[i], skeletons, bone_index); + _generate_bone(state, n->children[i], skeletons, parent_bones); } } @@ -1818,141 +1829,104 @@ void EditorSceneImporterGLTF::_import_animation(GLTFState &state, AnimationPlaye NodePath node_path; GLTFNode *node = state.nodes[E->key()]; - ERR_CONTINUE(!node->godot_node); - - if (node->godot_bone_index >= 0) { - Skeleton *sk = (Skeleton *)node->godot_node; - String path = ap->get_parent()->get_path_to(sk); - String bone = sk->get_bone_name(node->godot_bone_index); - node_path = path + ":" + bone; - } else { - node_path = ap->get_parent()->get_path_to(node->godot_node); - } - - float length = 0; + for (int i = 0; i < node->godot_nodes.size(); i++) { - for (int i = 0; i < track.rotation_track.times.size(); i++) { - length = MAX(length, track.rotation_track.times[i]); - } - for (int i = 0; i < track.translation_track.times.size(); i++) { - length = MAX(length, track.translation_track.times[i]); - } - for (int i = 0; i < track.scale_track.times.size(); i++) { - length = MAX(length, track.scale_track.times[i]); - } - - for (int i = 0; i < track.weight_tracks.size(); i++) { - for (int j = 0; j < track.weight_tracks[i].times.size(); j++) { - length = MAX(length, track.weight_tracks[i].times[j]); + if (node->joints.size()) { + Skeleton *sk = (Skeleton *)node->godot_nodes[i]; + String path = ap->get_parent()->get_path_to(sk); + String bone = sk->get_bone_name(node->joints[i].godot_bone_index); + node_path = path + ":" + bone; + } else { + node_path = ap->get_parent()->get_path_to(node->godot_nodes[i]); } - } - - animation->set_length(length); - - if (track.rotation_track.values.size() || track.translation_track.values.size() || track.scale_track.values.size()) { - //make transform track - int track_idx = animation->get_track_count(); - animation->add_track(Animation::TYPE_TRANSFORM); - animation->track_set_path(track_idx, node_path); - //first determine animation length - float increment = 1.0 / float(bake_fps); - float time = 0.0; + float length = 0; - Vector3 base_pos; - Quat base_rot; - Vector3 base_scale = Vector3(1, 1, 1); - - if (!track.rotation_track.values.size()) { - base_rot = state.nodes[E->key()]->rotation; + for (int i = 0; i < track.rotation_track.times.size(); i++) { + length = MAX(length, track.rotation_track.times[i]); } - - if (!track.translation_track.values.size()) { - base_pos = state.nodes[E->key()]->translation; + for (int i = 0; i < track.translation_track.times.size(); i++) { + length = MAX(length, track.translation_track.times[i]); + } + for (int i = 0; i < track.scale_track.times.size(); i++) { + length = MAX(length, track.scale_track.times[i]); } - if (!track.scale_track.values.size()) { - base_scale = state.nodes[E->key()]->scale; + for (int i = 0; i < track.weight_tracks.size(); i++) { + for (int j = 0; j < track.weight_tracks[i].times.size(); j++) { + length = MAX(length, track.weight_tracks[i].times[j]); + } } - bool last = false; - while (true) { + animation->set_length(length); + + if (track.rotation_track.values.size() || track.translation_track.values.size() || track.scale_track.values.size()) { + //make transform track + int track_idx = animation->get_track_count(); + animation->add_track(Animation::TYPE_TRANSFORM); + animation->track_set_path(track_idx, node_path); + //first determine animation length - Vector3 pos = base_pos; - Quat rot = base_rot; - Vector3 scale = base_scale; + float increment = 1.0 / float(bake_fps); + float time = 0.0; - if (track.translation_track.times.size()) { + Vector3 base_pos; + Quat base_rot; + Vector3 base_scale = Vector3(1, 1, 1); - pos = _interpolate_track<Vector3>(track.translation_track.times, track.translation_track.values, time, track.translation_track.interpolation); + if (!track.rotation_track.values.size()) { + base_rot = state.nodes[E->key()]->rotation; } - if (track.rotation_track.times.size()) { + if (!track.translation_track.values.size()) { + base_pos = state.nodes[E->key()]->translation; + } - rot = _interpolate_track<Quat>(track.rotation_track.times, track.rotation_track.values, time, track.rotation_track.interpolation); + if (!track.scale_track.values.size()) { + base_scale = state.nodes[E->key()]->scale; } - if (track.scale_track.times.size()) { + bool last = false; + while (true) { - scale = _interpolate_track<Vector3>(track.scale_track.times, track.scale_track.values, time, track.scale_track.interpolation); - } + Vector3 pos = base_pos; + Quat rot = base_rot; + Vector3 scale = base_scale; - if (node->godot_bone_index >= 0) { + if (track.translation_track.times.size()) { - Transform xform; - xform.basis = Basis(rot); - xform.basis.scale(scale); - xform.origin = pos; + pos = _interpolate_track<Vector3>(track.translation_track.times, track.translation_track.values, time, track.translation_track.interpolation); + } - Skeleton *skeleton = skeletons[node->joint_skin]; - int bone = node->godot_bone_index; - xform = skeleton->get_bone_rest(bone).affine_inverse() * xform; + if (track.rotation_track.times.size()) { - rot = xform.basis; - rot.normalize(); - scale = xform.basis.get_scale(); - pos = xform.origin; - } + rot = _interpolate_track<Quat>(track.rotation_track.times, track.rotation_track.values, time, track.rotation_track.interpolation); + } - animation->transform_track_insert_key(track_idx, time, pos, rot, scale); + if (track.scale_track.times.size()) { - if (last) { - break; - } - time += increment; - if (time >= length) { - last = true; - time = length; - } - } - } + scale = _interpolate_track<Vector3>(track.scale_track.times, track.scale_track.values, time, track.scale_track.interpolation); + } - for (int i = 0; i < track.weight_tracks.size(); i++) { - ERR_CONTINUE(node->mesh < 0 || node->mesh >= state.meshes.size()); - const GLTFMesh &mesh = state.meshes[node->mesh]; - String prop = "blend_shapes/" + mesh.mesh->get_blend_shape_name(i); - node_path = String(node_path) + ":" + prop; + if (node->joints.size()) { - int track_idx = animation->get_track_count(); - animation->add_track(Animation::TYPE_VALUE); - animation->track_set_path(track_idx, node_path); + Transform xform; + xform.basis = Basis(rot); + xform.basis.scale(scale); + xform.origin = pos; - if (track.weight_tracks[i].interpolation <= GLTFAnimation::INTERP_STEP) { - animation->track_set_interpolation_type(track_idx, track.weight_tracks[i].interpolation == GLTFAnimation::INTERP_STEP ? Animation::INTERPOLATION_NEAREST : Animation::INTERPOLATION_NEAREST); - for (int j = 0; j < track.weight_tracks[i].times.size(); j++) { - float t = track.weight_tracks[i].times[j]; - float w = track.weight_tracks[i].values[j]; - animation->track_insert_key(track_idx, t, w); - } - } else { - //must bake, apologies. - float increment = 1.0 / float(bake_fps); - float time = 0.0; + Skeleton *skeleton = skeletons[node->joints[i].skin]; + int bone = node->joints[i].godot_bone_index; + xform = skeleton->get_bone_rest(bone).affine_inverse() * xform; - bool last = false; - while (true) { + rot = xform.basis; + rot.normalize(); + scale = xform.basis.get_scale(); + pos = xform.origin; + } + + animation->transform_track_insert_key(track_idx, time, pos, rot, scale); - _interpolate_track<float>(track.weight_tracks[i].times, track.weight_tracks[i].values, time, track.weight_tracks[i].interpolation); if (last) { break; } @@ -1963,6 +1937,44 @@ void EditorSceneImporterGLTF::_import_animation(GLTFState &state, AnimationPlaye } } } + + for (int i = 0; i < track.weight_tracks.size(); i++) { + ERR_CONTINUE(node->mesh < 0 || node->mesh >= state.meshes.size()); + const GLTFMesh &mesh = state.meshes[node->mesh]; + String prop = "blend_shapes/" + mesh.mesh->get_blend_shape_name(i); + node_path = String(node_path) + ":" + prop; + + int track_idx = animation->get_track_count(); + animation->add_track(Animation::TYPE_VALUE); + animation->track_set_path(track_idx, node_path); + + if (track.weight_tracks[i].interpolation <= GLTFAnimation::INTERP_STEP) { + animation->track_set_interpolation_type(track_idx, track.weight_tracks[i].interpolation == GLTFAnimation::INTERP_STEP ? Animation::INTERPOLATION_NEAREST : Animation::INTERPOLATION_NEAREST); + for (int j = 0; j < track.weight_tracks[i].times.size(); j++) { + float t = track.weight_tracks[i].times[j]; + float w = track.weight_tracks[i].values[j]; + animation->track_insert_key(track_idx, t, w); + } + } else { + //must bake, apologies. + float increment = 1.0 / float(bake_fps); + float time = 0.0; + + bool last = false; + while (true) { + + _interpolate_track<float>(track.weight_tracks[i].times, track.weight_tracks[i].values, time, track.weight_tracks[i].interpolation); + if (last) { + break; + } + time += increment; + if (time >= length) { + last = true; + time = length; + } + } + } + } } } @@ -1987,8 +1999,8 @@ Spatial *EditorSceneImporterGLTF::_generate_scene(GLTFState &state, int p_bake_f skeletons.push_back(s); } for (int i = 0; i < state.root_nodes.size(); i++) { - if (state.nodes[state.root_nodes[i]]->joint_skin >= 0) { - _generate_bone(state, state.root_nodes[i], skeletons, -1); + if (state.nodes[state.root_nodes[i]]->joints.size()) { + _generate_bone(state, state.root_nodes[i], skeletons, Vector<int>()); } else { _generate_node(state, state.root_nodes[i], root, root, skeletons); } diff --git a/editor/import/editor_scene_importer_gltf.h b/editor/import/editor_scene_importer_gltf.h index 91c584a05a..abbdfa418b 100644 --- a/editor/import/editor_scene_importer_gltf.h +++ b/editor/import/editor_scene_importer_gltf.h @@ -52,18 +52,29 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { Transform xform; String name; - Node *godot_node; - int godot_bone_index; + //Node *godot_node; + //int godot_bone_index; int mesh; int camera; int skin; - int skeleton_skin; - int child_of_skeleton; // put as children of skeleton - Vector<int> skeleton_children; //skeleton put as children of this + //int skeleton_skin; + //int child_of_skeleton; // put as children of skeleton + //Vector<int> skeleton_children; //skeleton put as children of this + + struct Joint { + int skin; + int bone; + int godot_bone_index; + + Joint() { + skin = -1; + bone = -1; + godot_bone_index = -1; + } + }; - int joint_skin; - int joint_bone; + Vector<Joint> joints; //keep them for animation Vector3 translation; @@ -71,17 +82,15 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { Vector3 scale; Vector<int> children; + Vector<Node *> godot_nodes; GLTFNode() { - godot_node = NULL; - godot_bone_index = -1; - joint_skin = -1; - joint_bone = -1; - child_of_skeleton = -1; - skeleton_skin = -1; + // child_of_skeleton = -1; + // skeleton_skin = -1; mesh = -1; camera = -1; parent = -1; + skin = -1; scale = Vector3(1, 1, 1); } }; @@ -235,7 +244,7 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { Vector<GLTFAnimation> animations; - Map<int, Vector<int> > skin_users; //cache skin users + //Map<int, Vector<int> > skin_users; //cache skin users ~GLTFState() { for (int i = 0; i < nodes.size(); i++) { @@ -269,7 +278,7 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { Vector<Basis> _decode_accessor_as_basis(GLTFState &state, int p_accessor, bool p_for_vertex); Vector<Transform> _decode_accessor_as_xform(GLTFState &state, int p_accessor, bool p_for_vertex); - void _generate_bone(GLTFState &state, int p_node, Vector<Skeleton *> &skeletons, int p_parent_bone); + void _generate_bone(GLTFState &state, int p_node, Vector<Skeleton *> &skeletons, const Vector<int> &p_parent_bones); void _generate_node(GLTFState &state, int p_node, Node *p_parent, Node *p_owner, Vector<Skeleton *> &skeletons); void _import_animation(GLTFState &state, AnimationPlayer *ap, int index, int bake_fps, Vector<Skeleton *> skeletons); diff --git a/editor/import/resource_importer_csv_translation.cpp b/editor/import/resource_importer_csv_translation.cpp index 4bbf5ba316..70093d13a7 100644 --- a/editor/import/resource_importer_csv_translation.cpp +++ b/editor/import/resource_importer_csv_translation.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_csv_translation.h b/editor/import/resource_importer_csv_translation.h index 8919f4ed33..ca6e63f8aa 100644 --- a/editor/import/resource_importer_csv_translation.h +++ b/editor/import/resource_importer_csv_translation.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp index 0297a6c24e..d2cdfb5013 100644 --- a/editor/import/resource_importer_obj.cpp +++ b/editor/import/resource_importer_obj.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_obj.h b/editor/import/resource_importer_obj.h index e66ea47b69..8710432aa1 100644 --- a/editor/import/resource_importer_obj.h +++ b/editor/import/resource_importer_obj.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index b6e4729352..d36cb5cb59 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h index 933585a48c..4d0e236cf1 100644 --- a/editor/import/resource_importer_scene.h +++ b/editor/import/resource_importer_scene.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp index 3e3f1d1e19..45ce347244 100644 --- a/editor/import/resource_importer_texture.cpp +++ b/editor/import/resource_importer_texture.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_texture.h b/editor/import/resource_importer_texture.h index b374a9bc04..3d9e657017 100644 --- a/editor/import/resource_importer_texture.h +++ b/editor/import/resource_importer_texture.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp index bd15ed535b..de82c12b98 100644 --- a/editor/import/resource_importer_wav.cpp +++ b/editor/import/resource_importer_wav.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import/resource_importer_wav.h b/editor/import/resource_importer_wav.h index f58392e820..89a6bfb015 100644 --- a/editor/import/resource_importer_wav.h +++ b/editor/import/resource_importer_wav.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp index 8a16f125b7..cec7fc6a4c 100644 --- a/editor/import_dock.cpp +++ b/editor/import_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/import_dock.h b/editor/import_dock.h index 28c29e4b20..d6b5c4d9b4 100644 --- a/editor/import_dock.h +++ b/editor/import_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/multi_node_edit.cpp b/editor/multi_node_edit.cpp index df1d7ff3d1..030510feee 100644 --- a/editor/multi_node_edit.cpp +++ b/editor/multi_node_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/multi_node_edit.h b/editor/multi_node_edit.h index 5abe7f6438..c6422faaf2 100644 --- a/editor/multi_node_edit.h +++ b/editor/multi_node_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/node_dock.cpp b/editor/node_dock.cpp index 366230be51..429eb4ae34 100644 --- a/editor/node_dock.cpp +++ b/editor/node_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/node_dock.h b/editor/node_dock.h index 7c4f6bbecc..23bc7af90b 100644 --- a/editor/node_dock.h +++ b/editor/node_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/output_strings.cpp b/editor/output_strings.cpp index 213cd47d01..37198ef6ab 100644 --- a/editor/output_strings.cpp +++ b/editor/output_strings.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/output_strings.h b/editor/output_strings.h index 8482e55752..58d966a6ee 100644 --- a/editor/output_strings.h +++ b/editor/output_strings.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/pane_drag.cpp b/editor/pane_drag.cpp index 33db2307b5..eb76a1ad00 100644 --- a/editor/pane_drag.cpp +++ b/editor/pane_drag.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/pane_drag.h b/editor/pane_drag.h index 55372198d1..22e46a6df7 100644 --- a/editor/pane_drag.h +++ b/editor/pane_drag.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp index ff72a5a25e..06d07ad5e6 100644 --- a/editor/plugins/abstract_polygon_2d_editor.cpp +++ b/editor/plugins/abstract_polygon_2d_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -235,7 +235,7 @@ void AbstractPolygon2DEditor::_wip_close() { if (_is_line()) { _set_polygon(0, wip); - } else if (wip.size() >= 3) { + } else if (wip.size() >= (_is_line() ? 2 : 3)) { undo_redo->create_action(TTR("Create Poly")); _action_add_polygon(wip); @@ -281,46 +281,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) Vector2 gpoint = mb->get_position(); Vector2 cpoint = _get_node()->get_global_transform().affine_inverse().xform(canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(mb->get_position()))); - if (mode == MODE_CREATE) { - - if (mb->get_button_index() == BUTTON_LEFT && mb->is_pressed()) { - - if (!wip_active) { - - wip.clear(); - wip.push_back(cpoint); - wip_active = true; - _wip_changed(); - edited_point = PosVertex(-1, 1, cpoint); - canvas_item_editor->get_viewport_control()->update(); - hover_point = Vertex(); - selected_point = Vertex(0); - edge_point = PosVertex(); - return true; - } else { - - const real_t grab_threshold = EDITOR_DEF("editors/poly_editor/point_grab_radius", 8); - - if (!_is_line() && wip.size() > 1 && xform.xform(wip[0]).distance_to(gpoint) < grab_threshold) { - //wip closed - _wip_close(); - - return true; - } else { - - //add wip point - wip.push_back(cpoint); - _wip_changed(); - edited_point = PosVertex(-1, wip.size(), cpoint); - selected_point = Vertex(wip.size() - 1); - canvas_item_editor->get_viewport_control()->update(); - return true; - } - } - } else if (mb->get_button_index() == BUTTON_RIGHT && mb->is_pressed() && wip_active) { - _wip_close(); - } - } else if (mode == MODE_EDIT) { + if (mode == MODE_EDIT || (_is_line() && mode == MODE_CREATE)) { if (mb->get_button_index() == BUTTON_LEFT) { @@ -332,7 +293,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) Vector<Vector2> vertices = _get_polygon(insert.polygon); - if (vertices.size() < 3) { + if (vertices.size() < (_is_line() ? 2 : 3)) { vertices.push_back(cpoint); undo_redo->create_action(TTR("Edit Poly")); @@ -344,6 +305,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) Vector<Vector2> vertices = _get_polygon(insert.polygon); pre_move_edit = vertices; + printf("setting pre_move_edit\n"); edited_point = PosVertex(insert.polygon, insert.vertex + 1, xform.affine_inverse().xform(insert.pos)); vertices.insert(edited_point.vertex, edited_point.pos); selected_point = edited_point; @@ -362,6 +324,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) if (closest.valid()) { + printf("setting pre_move_edit\n"); pre_move_edit = _get_polygon(closest.polygon); edited_point = PosVertex(closest, xform.affine_inverse().xform(closest.pos)); selected_point = closest; @@ -414,6 +377,56 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) } } } + + if (mode == MODE_CREATE) { + + if (mb->get_button_index() == BUTTON_LEFT && mb->is_pressed()) { + + if (_is_line()) { + + // for lines, we don't have a wip mode, and we can undo each single add point. + Vector<Vector2> vertices = _get_polygon(0); + vertices.push_back(cpoint); + undo_redo->create_action(TTR("Insert Point")); + _action_set_polygon(0, vertices); + _commit_action(); + return true; + } else if (!wip_active) { + + wip.clear(); + wip.push_back(cpoint); + wip_active = true; + _wip_changed(); + edited_point = PosVertex(-1, 1, cpoint); + canvas_item_editor->get_viewport_control()->update(); + hover_point = Vertex(); + selected_point = Vertex(0); + edge_point = PosVertex(); + return true; + } else { + + const real_t grab_threshold = EDITOR_DEF("editors/poly_editor/point_grab_radius", 8); + + if (!_is_line() && wip.size() > 1 && xform.xform(wip[0]).distance_to(gpoint) < grab_threshold) { + //wip closed + _wip_close(); + + return true; + } else { + + //add wip point + wip.push_back(cpoint); + _wip_changed(); + edited_point = PosVertex(-1, wip.size(), cpoint); + selected_point = Vertex(wip.size() - 1); + canvas_item_editor->get_viewport_control()->update(); + return true; + } + } + } else if (mb->get_button_index() == BUTTON_RIGHT && mb->is_pressed() && wip_active) { + _wip_close(); + } + } } Ref<InputEventMouseMotion> mm = p_event; @@ -436,7 +449,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) } canvas_item_editor->get_viewport_control()->update(); - } else if (mode == MODE_EDIT) { + } else if (mode == MODE_EDIT || (_is_line() && mode == MODE_CREATE)) { const PosVertex onEdgeVertex = closest_edge_point(gpoint); @@ -535,7 +548,7 @@ void AbstractPolygon2DEditor::forward_draw_over_viewport(Control *p_overlay) { const Color col = Color(0.5, 0.5, 0.5); // FIXME polygon->get_outline_color(); const int n = pre_move_edit.size(); - for (int i = 0; i < n - is_closed ? 0 : 1; i++) { + for (int i = 0; i < n - (is_closed ? 0 : 1); i++) { Vector2 p, p2; p = pre_move_edit[i] + offset; @@ -544,7 +557,7 @@ void AbstractPolygon2DEditor::forward_draw_over_viewport(Control *p_overlay) { Vector2 point = xform.xform(p); Vector2 next_point = xform.xform(p2); - vpc->draw_line(point, next_point, col, 2); + vpc->draw_line(point, next_point, col, 2 * EDSCALE); } } @@ -568,7 +581,7 @@ void AbstractPolygon2DEditor::forward_draw_over_viewport(Control *p_overlay) { p2 = points[(i + 1) % n_points] + offset; const Vector2 next_point = xform.xform(p2); - vpc->draw_line(point, next_point, col, 2); + vpc->draw_line(point, next_point, col, 2 * EDSCALE); } } @@ -630,7 +643,7 @@ void AbstractPolygon2DEditor::remove_point(const Vertex &p_vertex) { PoolVector<Vector2> vertices = _get_polygon(p_vertex.polygon); - if (vertices.size() > 3) { + if (vertices.size() > (_is_line() ? 2 : 3)) { vertices.remove(p_vertex.vertex); @@ -705,8 +718,9 @@ AbstractPolygon2DEditor::PosVertex AbstractPolygon2DEditor::closest_edge_point(c PoolVector<Vector2> points = _get_polygon(j); const Vector2 offset = _get_offset(j); const int n_points = points.size(); + const int n_segments = n_points - (_is_line() ? 1 : 0); - for (int i = 0; i < n_points; i++) { + for (int i = 0; i < n_segments; i++) { Vector2 segment[2] = { xform.xform(points[i] + offset), xform.xform(points[(i + 1) % n_points] + offset) }; diff --git a/editor/plugins/abstract_polygon_2d_editor.h b/editor/plugins/abstract_polygon_2d_editor.h index 545eff6ef4..38aff47706 100644 --- a/editor/plugins/abstract_polygon_2d_editor.h +++ b/editor/plugins/abstract_polygon_2d_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index d70f41d2e0..dcc766ad0d 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_player_editor_plugin.h b/editor/plugins/animation_player_editor_plugin.h index 1a1e92d7b7..67c6aa1fd7 100644 --- a/editor/plugins/animation_player_editor_plugin.h +++ b/editor/plugins/animation_player_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/animation_tree_editor_plugin.cpp b/editor/plugins/animation_tree_editor_plugin.cpp index 8fe6538653..9337bd21fc 100644 --- a/editor/plugins/animation_tree_editor_plugin.cpp +++ b/editor/plugins/animation_tree_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1435,7 +1435,7 @@ AnimationTreeEditorPlugin::AnimationTreeEditorPlugin(EditorNode *p_node) { anim_tree_editor = memnew(AnimationTreeEditor); anim_tree_editor->set_custom_minimum_size(Size2(0, 300)); - button = editor->add_bottom_panel_item("AnimationTree", anim_tree_editor); + button = editor->add_bottom_panel_item(TTR("AnimationTree"), anim_tree_editor); button->hide(); } diff --git a/editor/plugins/animation_tree_editor_plugin.h b/editor/plugins/animation_tree_editor_plugin.h index a5bef263f4..c46d84893e 100644 --- a/editor/plugins/animation_tree_editor_plugin.h +++ b/editor/plugins/animation_tree_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index f04bc04d92..19b92a8d58 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/asset_library_editor_plugin.h b/editor/plugins/asset_library_editor_plugin.h index 5536fbb2ec..8974e01448 100644 --- a/editor/plugins/asset_library_editor_plugin.h +++ b/editor/plugins/asset_library_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ 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/editor/plugins/camera_editor_plugin.cpp b/editor/plugins/camera_editor_plugin.cpp index c19540116e..c5cdbc0ad8 100644 --- a/editor/plugins/camera_editor_plugin.cpp +++ b/editor/plugins/camera_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/camera_editor_plugin.h b/editor/plugins/camera_editor_plugin.h index 12702db7a5..1fcdc50f68 100644 --- a/editor/plugins/camera_editor_plugin.h +++ b/editor/plugins/camera_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index ad22c12372..a52c914096 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -612,6 +612,7 @@ void CanvasItemEditor::_find_canvas_items_at_pos(const Point2 &p_pos, Node *p_no if (Object::cast_to<Viewport>(p_node)) return; + const real_t grab_distance = EDITOR_DEF("editors/poly_editor/point_grab_radius", 8); CanvasItem *c = Object::cast_to<CanvasItem>(p_node); for (int i = p_node->get_child_count() - 1; i >= 0; i--) { @@ -630,14 +631,17 @@ void CanvasItemEditor::_find_canvas_items_at_pos(const Point2 &p_pos, Node *p_no if (c && c->is_visible_in_tree() && !c->has_meta("_edit_lock_") && !Object::cast_to<CanvasLayer>(c)) { Rect2 rect = c->_edit_get_rect(); - Point2 local_pos = (p_parent_xform * p_canvas_xform * c->get_transform()).affine_inverse().xform(p_pos); + Transform2D to_local = (p_parent_xform * p_canvas_xform * c->get_transform()).affine_inverse(); + Point2 local_pos = to_local.xform(p_pos); + const real_t local_grab_distance = (to_local.xform(p_pos + Vector2(grab_distance, 0)) - local_pos).length(); + Rect2 local_pos_rect = Rect2(local_pos, Vector2(0, 0)).grow(local_grab_distance); - if (rect.has_point(local_pos)) { + if (rect.intersects(local_pos_rect) && c->_edit_is_selected_on_click(local_pos, local_grab_distance)) { Node2D *node = Object::cast_to<Node2D>(c); _SelectResult res; res.item = c; - res.z = node ? node->get_z() : 0; + res.z_index = node ? node->get_z_index() : 0; res.has_z = node; r_items.push_back(res); } @@ -3341,8 +3345,8 @@ void CanvasItemEditor::_zoom_on_position(float p_zoom, Point2 p_position) { zoom = p_zoom; Point2 ofs = p_position; ofs = ofs / prev_zoom - ofs / zoom; - h_scroll->set_value(h_scroll->get_value() + ofs.x); - v_scroll->set_value(v_scroll->get_value() + ofs.y); + h_scroll->set_value(Math::round(h_scroll->get_value() + ofs.x)); + v_scroll->set_value(Math::round(v_scroll->get_value() + ofs.y)); _update_scroll(0); viewport->update(); @@ -3464,7 +3468,7 @@ void CanvasItemEditor::_popup_callback(int p_op) { for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E->get()); - if (!canvas_item || !canvas_item->is_visible_in_tree()) + if (!canvas_item || !canvas_item->is_inside_tree()) continue; if (canvas_item->get_viewport() != EditorNode::get_singleton()->get_scene_root()) @@ -3482,7 +3486,7 @@ void CanvasItemEditor::_popup_callback(int p_op) { for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E->get()); - if (!canvas_item || !canvas_item->is_visible_in_tree()) + if (!canvas_item || !canvas_item->is_inside_tree()) continue; if (canvas_item->get_viewport() != EditorNode::get_singleton()->get_scene_root()) @@ -3502,7 +3506,7 @@ void CanvasItemEditor::_popup_callback(int p_op) { for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E->get()); - if (!canvas_item || !canvas_item->is_visible_in_tree()) + if (!canvas_item || !canvas_item->is_inside_tree()) continue; if (canvas_item->get_viewport() != EditorNode::get_singleton()->get_scene_root()) @@ -3520,7 +3524,7 @@ void CanvasItemEditor::_popup_callback(int p_op) { for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E->get()); - if (!canvas_item || !canvas_item->is_visible_in_tree()) + if (!canvas_item || !canvas_item->is_inside_tree()) continue; if (canvas_item->get_viewport() != EditorNode::get_singleton()->get_scene_root()) @@ -4100,7 +4104,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { select_button->connect("pressed", this, "_tool_select", make_binds(TOOL_SELECT)); select_button->set_pressed(true); select_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/select_mode", TTR("Select Mode"), KEY_Q)); - select_button->set_tooltip(TTR("Select Mode") + " $sc\n" + keycode_get_string(KEY_MASK_CMD) + TTR("Drag: Rotate") + "\n" + TTR("Alt+Drag: Move") + "\n" + TTR("Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving).") + "\n" + TTR("Alt+RMB: Depth list selection")); + select_button->set_tooltip(keycode_get_string(KEY_MASK_CMD) + TTR("Drag: Rotate") + "\n" + TTR("Alt+Drag: Move") + "\n" + TTR("Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving).") + "\n" + TTR("Alt+RMB: Depth list selection")); move_button = memnew(ToolButton); hb->add_child(move_button); @@ -4344,7 +4348,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { additive_selection = false; // Update the menus checkboxes - call_deferred("set_state", get_state()); + set_state(get_state()); } CanvasItemEditor *CanvasItemEditor::singleton = NULL; diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h index 4be09a16e9..0866fe77aa 100644 --- a/editor/plugins/canvas_item_editor_plugin.h +++ b/editor/plugins/canvas_item_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -252,10 +252,10 @@ class CanvasItemEditor : public VBoxContainer { struct _SelectResult { CanvasItem *item; - float z; + float z_index; bool has_z; _FORCE_INLINE_ bool operator<(const _SelectResult &p_rr) const { - return has_z && p_rr.has_z ? p_rr.z < z : p_rr.has_z; + return has_z && p_rr.has_z ? p_rr.z_index < z_index : p_rr.has_z; } }; diff --git a/editor/plugins/collision_polygon_2d_editor_plugin.cpp b/editor/plugins/collision_polygon_2d_editor_plugin.cpp index 6ac80caf94..53b06c17be 100644 --- a/editor/plugins/collision_polygon_2d_editor_plugin.cpp +++ b/editor/plugins/collision_polygon_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_2d_editor_plugin.h b/editor/plugins/collision_polygon_2d_editor_plugin.h index edf3bbcc08..82a30d6b97 100644 --- a/editor/plugins/collision_polygon_2d_editor_plugin.h +++ b/editor/plugins/collision_polygon_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_editor_plugin.cpp b/editor/plugins/collision_polygon_editor_plugin.cpp index 0818c8975e..c95f10441b 100644 --- a/editor/plugins/collision_polygon_editor_plugin.cpp +++ b/editor/plugins/collision_polygon_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_polygon_editor_plugin.h b/editor/plugins/collision_polygon_editor_plugin.h index 0f63810443..0ccdf0ad16 100644 --- a/editor/plugins/collision_polygon_editor_plugin.h +++ b/editor/plugins/collision_polygon_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_shape_2d_editor_plugin.cpp b/editor/plugins/collision_shape_2d_editor_plugin.cpp index 029e3a558d..1da3d55b3d 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.cpp +++ b/editor/plugins/collision_shape_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/collision_shape_2d_editor_plugin.h b/editor/plugins/collision_shape_2d_editor_plugin.h index 1e930ef371..7e5dd44c5e 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.h +++ b/editor/plugins/collision_shape_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cube_grid_theme_editor_plugin.cpp b/editor/plugins/cube_grid_theme_editor_plugin.cpp index 2b31f192b3..416441befc 100644 --- a/editor/plugins/cube_grid_theme_editor_plugin.cpp +++ b/editor/plugins/cube_grid_theme_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/cube_grid_theme_editor_plugin.h b/editor/plugins/cube_grid_theme_editor_plugin.h index b5fa18a4ad..fc5b3d8006 100644 --- a/editor/plugins/cube_grid_theme_editor_plugin.h +++ b/editor/plugins/cube_grid_theme_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/curve_editor_plugin.cpp b/editor/plugins/curve_editor_plugin.cpp index f77016c1d6..3be68f21af 100644 --- a/editor/plugins/curve_editor_plugin.cpp +++ b/editor/plugins/curve_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -347,7 +347,8 @@ void CurveEditor::open_context_menu(Vector2 pos) { _context_menu->set_item_checked(_context_menu->get_item_index(CONTEXT_LINEAR), is_linear); } else { - _context_menu->add_separator(); + if (_selected_point > 0 || _selected_point + 1 < _curve_ref->get_point_count()) + _context_menu->add_separator(); if (_selected_point > 0) { _context_menu->add_check_item(TTR("Left linear"), CONTEXT_LEFT_LINEAR); @@ -367,6 +368,7 @@ void CurveEditor::open_context_menu(Vector2 pos) { _context_menu->add_submenu_item(TTR("Load preset"), _presets_menu->get_name()); + _context_menu->set_size(Size2(0, 0)); _context_menu->popup(); } @@ -566,7 +568,6 @@ static void plot_curve_accurate(const Curve &curve, float step, T plot_func) { Vector2 prev_pos = a; float len = b.x - a.x; - //float step = 4.f / view_size.x; for (float x = step; x < len; x += step) { pos.x = a.x + x; @@ -694,24 +695,6 @@ void CurveEditor::_draw() { CanvasItemPlotCurve plot_func(*this, line_color, edge_line_color); plot_curve_accurate(curve, 4.f / view_size.x, plot_func); - /*// TEST draw baked curve - { - Vector2 pos = Vector2(0, curve.interpolate_baked(0)); - Vector2 prev_pos = pos; - - float len = 1.0; - float step = 4.f / view_size.x; - - for(float x = step; x < len; x += step) { - pos.x = x; - pos.y = curve.interpolate_baked(x); - draw_line(get_point_view_pos(prev_pos), get_point_view_pos(pos), Color(0,1,0)); - prev_pos = pos; - } - - draw_line(get_point_view_pos(prev_pos), get_point_view_pos(Vector2(1, curve.interpolate_baked(1))), Color(0,1,0)); - }//*/ - // Draw points draw_set_transform_matrix(Transform2D()); diff --git a/editor/plugins/curve_editor_plugin.h b/editor/plugins/curve_editor_plugin.h index 2df9d05533..97f1ba2fa1 100644 --- a/editor/plugins/curve_editor_plugin.h +++ b/editor/plugins/curve_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp index 558f44769d..a42f5b09bb 100644 --- a/editor/plugins/editor_preview_plugins.cpp +++ b/editor/plugins/editor_preview_plugins.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/editor_preview_plugins.h b/editor/plugins/editor_preview_plugins.h index c422d5c686..d77bf5e7bb 100644 --- a/editor/plugins/editor_preview_plugins.h +++ b/editor/plugins/editor_preview_plugins.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gi_probe_editor_plugin.cpp b/editor/plugins/gi_probe_editor_plugin.cpp index 416b0edb20..48978aeae5 100644 --- a/editor/plugins/gi_probe_editor_plugin.cpp +++ b/editor/plugins/gi_probe_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gi_probe_editor_plugin.h b/editor/plugins/gi_probe_editor_plugin.h index 527f420510..cf1c8b5aa3 100644 --- a/editor/plugins/gi_probe_editor_plugin.h +++ b/editor/plugins/gi_probe_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gradient_editor_plugin.cpp b/editor/plugins/gradient_editor_plugin.cpp index 51f00e5751..738a92380c 100644 --- a/editor/plugins/gradient_editor_plugin.cpp +++ b/editor/plugins/gradient_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/gradient_editor_plugin.h b/editor/plugins/gradient_editor_plugin.h index ff7bf858c7..6eeb28aa81 100644 --- a/editor/plugins/gradient_editor_plugin.h +++ b/editor/plugins/gradient_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/item_list_editor_plugin.cpp b/editor/plugins/item_list_editor_plugin.cpp index aeb6e5c302..436a9c6532 100644 --- a/editor/plugins/item_list_editor_plugin.cpp +++ b/editor/plugins/item_list_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/item_list_editor_plugin.h b/editor/plugins/item_list_editor_plugin.h index 808f308c0c..6dbea59585 100644 --- a/editor/plugins/item_list_editor_plugin.h +++ b/editor/plugins/item_list_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/light_occluder_2d_editor_plugin.cpp b/editor/plugins/light_occluder_2d_editor_plugin.cpp index 3febc99239..31287ccdfb 100644 --- a/editor/plugins/light_occluder_2d_editor_plugin.cpp +++ b/editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/light_occluder_2d_editor_plugin.h b/editor/plugins/light_occluder_2d_editor_plugin.h index dc3ff74052..a519acb601 100644 --- a/editor/plugins/light_occluder_2d_editor_plugin.h +++ b/editor/plugins/light_occluder_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/line_2d_editor_plugin.cpp b/editor/plugins/line_2d_editor_plugin.cpp index 04d8519b2f..5d5dc8f449 100644 --- a/editor/plugins/line_2d_editor_plugin.cpp +++ b/editor/plugins/line_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/line_2d_editor_plugin.h b/editor/plugins/line_2d_editor_plugin.h index 24c19c420d..04272064ea 100644 --- a/editor/plugins/line_2d_editor_plugin.h +++ b/editor/plugins/line_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/material_editor_plugin.cpp b/editor/plugins/material_editor_plugin.cpp index 1fc112896d..27a16fd3dd 100644 --- a/editor/plugins/material_editor_plugin.cpp +++ b/editor/plugins/material_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/material_editor_plugin.h b/editor/plugins/material_editor_plugin.h index 2cc24be33a..11d707d044 100644 --- a/editor/plugins/material_editor_plugin.h +++ b/editor/plugins/material_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_editor_plugin.cpp b/editor/plugins/mesh_editor_plugin.cpp index 60e8858b2d..4c09d3b760 100644 --- a/editor/plugins/mesh_editor_plugin.cpp +++ b/editor/plugins/mesh_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_editor_plugin.h b/editor/plugins/mesh_editor_plugin.h index 8ae20a5434..b13c6524dc 100644 --- a/editor/plugins/mesh_editor_plugin.h +++ b/editor/plugins/mesh_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_instance_editor_plugin.cpp b/editor/plugins/mesh_instance_editor_plugin.cpp index 9d116349c0..3ad8cef079 100644 --- a/editor/plugins/mesh_instance_editor_plugin.cpp +++ b/editor/plugins/mesh_instance_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/mesh_instance_editor_plugin.h b/editor/plugins/mesh_instance_editor_plugin.h index 32c779509a..a1c0d9eab0 100644 --- a/editor/plugins/mesh_instance_editor_plugin.h +++ b/editor/plugins/mesh_instance_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/multimesh_editor_plugin.cpp b/editor/plugins/multimesh_editor_plugin.cpp index 79345754b6..12fe25f4d7 100644 --- a/editor/plugins/multimesh_editor_plugin.cpp +++ b/editor/plugins/multimesh_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/multimesh_editor_plugin.h b/editor/plugins/multimesh_editor_plugin.h index 6b44662091..67dd92f3a9 100644 --- a/editor/plugins/multimesh_editor_plugin.h +++ b/editor/plugins/multimesh_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_mesh_editor_plugin.cpp b/editor/plugins/navigation_mesh_editor_plugin.cpp index f0f5a62494..8c80225db6 100644 --- a/editor/plugins/navigation_mesh_editor_plugin.cpp +++ b/editor/plugins/navigation_mesh_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_mesh_editor_plugin.h b/editor/plugins/navigation_mesh_editor_plugin.h index bac7f608ab..cecaff5648 100644 --- a/editor/plugins/navigation_mesh_editor_plugin.h +++ b/editor/plugins/navigation_mesh_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_mesh_generator.cpp b/editor/plugins/navigation_mesh_generator.cpp index 005a132e22..0bebdf3c90 100644 --- a/editor/plugins/navigation_mesh_generator.cpp +++ b/editor/plugins/navigation_mesh_generator.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_mesh_generator.h b/editor/plugins/navigation_mesh_generator.h index 0a1c497f8f..dd0c1df718 100644 --- a/editor/plugins/navigation_mesh_generator.h +++ b/editor/plugins/navigation_mesh_generator.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_polygon_editor_plugin.cpp b/editor/plugins/navigation_polygon_editor_plugin.cpp index 36c608310b..260cb7c45e 100644 --- a/editor/plugins/navigation_polygon_editor_plugin.cpp +++ b/editor/plugins/navigation_polygon_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/navigation_polygon_editor_plugin.h b/editor/plugins/navigation_polygon_editor_plugin.h index 54cc347a8c..4652b63095 100644 --- a/editor/plugins/navigation_polygon_editor_plugin.h +++ b/editor/plugins/navigation_polygon_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/particles_2d_editor_plugin.cpp b/editor/plugins/particles_2d_editor_plugin.cpp index ff8a9f93d6..a76775700b 100644 --- a/editor/plugins/particles_2d_editor_plugin.cpp +++ b/editor/plugins/particles_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/particles_2d_editor_plugin.h b/editor/plugins/particles_2d_editor_plugin.h index fd42abb6bd..86f82db84f 100644 --- a/editor/plugins/particles_2d_editor_plugin.h +++ b/editor/plugins/particles_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/particles_editor_plugin.cpp b/editor/plugins/particles_editor_plugin.cpp index 52eba099c6..d129b6c5c3 100644 --- a/editor/plugins/particles_editor_plugin.cpp +++ b/editor/plugins/particles_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/particles_editor_plugin.h b/editor/plugins/particles_editor_plugin.h index a65538c7fa..23fa0d9378 100644 --- a/editor/plugins/particles_editor_plugin.h +++ b/editor/plugins/particles_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_2d_editor_plugin.cpp b/editor/plugins/path_2d_editor_plugin.cpp index 5e811bfa11..d329d547ef 100644 --- a/editor/plugins/path_2d_editor_plugin.cpp +++ b/editor/plugins/path_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_2d_editor_plugin.h b/editor/plugins/path_2d_editor_plugin.h index 638d933797..e15ad2f541 100644 --- a/editor/plugins/path_2d_editor_plugin.h +++ b/editor/plugins/path_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_editor_plugin.cpp b/editor/plugins/path_editor_plugin.cpp index fa97c96614..92f5025956 100644 --- a/editor/plugins/path_editor_plugin.cpp +++ b/editor/plugins/path_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/path_editor_plugin.h b/editor/plugins/path_editor_plugin.h index b672e828a9..a61905ffe0 100644 --- a/editor/plugins/path_editor_plugin.h +++ b/editor/plugins/path_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp index 25e734187d..43d4f5df18 100644 --- a/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/editor/plugins/polygon_2d_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/polygon_2d_editor_plugin.h b/editor/plugins/polygon_2d_editor_plugin.h index 90da3e61c1..3721c98486 100644 --- a/editor/plugins/polygon_2d_editor_plugin.h +++ b/editor/plugins/polygon_2d_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/resource_preloader_editor_plugin.cpp b/editor/plugins/resource_preloader_editor_plugin.cpp index 3210af1433..0db002b689 100644 --- a/editor/plugins/resource_preloader_editor_plugin.cpp +++ b/editor/plugins/resource_preloader_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -444,7 +444,7 @@ ResourcePreloaderEditorPlugin::ResourcePreloaderEditorPlugin(EditorNode *p_node) preloader_editor = memnew(ResourcePreloaderEditor); preloader_editor->set_custom_minimum_size(Size2(0, 250)); - button = editor->add_bottom_panel_item("ResourcePreloader", preloader_editor); + button = editor->add_bottom_panel_item(TTR("ResourcePreloader"), preloader_editor); button->hide(); //preloader_editor->set_anchor( MARGIN_TOP, Control::ANCHOR_END); diff --git a/editor/plugins/resource_preloader_editor_plugin.h b/editor/plugins/resource_preloader_editor_plugin.h index 46539f432c..f18e7a18ec 100644 --- a/editor/plugins/resource_preloader_editor_plugin.h +++ b/editor/plugins/resource_preloader_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 591e6dac56..bc29c92d7f 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -132,7 +132,7 @@ public: I = I->next(); } - if (O != E) { //should never heppane.. + if (O != E) { //should never happen.. cached.erase(O); } } @@ -234,7 +234,6 @@ ScriptEditorQuickOpen::ScriptEditorQuickOpen() { VBoxContainer *vbc = memnew(VBoxContainer); add_child(vbc); - //set_child_rect(vbc); search_box = memnew(LineEdit); vbc->add_margin_child(TTR("Search:"), search_box); search_box->connect("text_changed", this, "_text_changed"); @@ -257,8 +256,6 @@ ScriptEditor *ScriptEditor::script_editor = NULL; String ScriptEditor::_get_debug_tooltip(const String &p_text, Node *_se) { - //ScriptEditorBase *se=Object::cast_to<ScriptEditorBase>(_se); - String val = debugger->get_var_value(p_text); if (val != String()) { return p_text + ": " + val; @@ -551,8 +548,6 @@ void ScriptEditor::_close_tab(int p_idx, bool p_save) { idx = history[history_pos].control->get_index(); } tab_container->set_current_tab(idx); - - //script_list->select(idx); } _update_history_arrows(); @@ -698,7 +693,6 @@ void ScriptEditor::_reload_scripts() { uint64_t last_date = script->get_last_modified_time(); uint64_t date = FileAccess::get_modified_time(script->get_path()); - //printf("last date: %lli vs date: %lli\n",last_date,date); if (last_date == date) { continue; } @@ -776,7 +770,6 @@ bool ScriptEditor::_test_script_times_on_disk(Ref<Script> p_for_script) { uint64_t last_date = script->get_last_modified_time(); uint64_t date = FileAccess::get_modified_time(script->get_path()); - //printf("last date: %lli vs date: %lli\n",last_date,date); if (last_date != date) { TreeItem *ti = disk_changed_list->create_item(r); @@ -786,7 +779,6 @@ bool ScriptEditor::_test_script_times_on_disk(Ref<Script> p_for_script) { need_ask = true; } need_reload = true; - //r->set_metadata(0,); } } } @@ -1035,6 +1027,15 @@ void ScriptEditor::_menu_option(int p_option) { case FILE_COPY_PATH: { _copy_script_path(); } break; + case SHOW_IN_FILE_SYSTEM: { + ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_child(tab_container->get_current_tab())); + Ref<Script> script = se->get_edited_script(); + FileSystemDock *file_system_dock = EditorNode::get_singleton()->get_filesystem_dock(); + file_system_dock->navigate_to_path(script->get_path()); + // Ensure that the FileSystem dock is visible. + TabContainer *tab_container = (TabContainer *)file_system_dock->get_parent_control(); + tab_container->set_current_tab(file_system_dock->get_position_in_parent()); + } break; case CLOSE_DOCS: { _close_docs_tab(); } break; @@ -1205,9 +1206,6 @@ void ScriptEditor::_notification(int p_what) { _update_modified_scripts_for_external_editor(); } break; - case NOTIFICATION_PROCESS: { - } break; - case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { help_search->set_icon(get_icon("HelpSearch", "EditorIcons")); @@ -1367,18 +1365,9 @@ void ScriptEditor::ensure_select_current() { if (!grab_focus_block && is_visible_in_tree()) se->ensure_focus(); - - //edit_menu->show(); - //search_menu->show(); } EditorHelp *eh = Object::cast_to<EditorHelp>(current); - - if (eh) { - //edit_menu->hide(); - //search_menu->hide(); - //script_search_menu->show(); - } } _update_selected_editor_menu(); @@ -1823,12 +1812,8 @@ void ScriptEditor::save_all_scripts() { if (script.is_valid()) se->apply_code(); - if (script->get_path() != "" && script->get_path().find("local://") == -1 && script->get_path().find("::") == -1) { - //external script, save it - - editor->save_resource(script); - //ResourceSaver::save(script->get_path(),script); - } + if (script->get_path() != "" && script->get_path().find("local://") == -1 && script->get_path().find("::") == -1) + editor->save_resource(script); //external script, save it } _update_script_names(); @@ -1886,7 +1871,6 @@ void ScriptEditor::_editor_stop() { void ScriptEditor::_add_callback(Object *p_obj, const String &p_function, const PoolStringArray &p_args) { - //print_line("add callback! hohoho"); kinda sad to remove this ERR_FAIL_COND(!p_obj); Ref<Script> script = p_obj->get_script(); ERR_FAIL_COND(!script.is_valid()); @@ -1981,8 +1965,6 @@ void ScriptEditor::_script_split_dragged(float) { Variant ScriptEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) { - // return Variant(); // return this if drag disabled - Node *cur_node = tab_container->get_child(tab_container->get_current_tab()); HBoxContainer *drag_preview = memnew(HBoxContainer); @@ -2191,7 +2173,7 @@ void ScriptEditor::_make_script_list_context_menu() { context_menu->add_separator(); context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/copy_path"), FILE_COPY_PATH); context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/reload_script_soft"), FILE_TOOL_RELOAD_SOFT); - + context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/show_in_file_system"), SHOW_IN_FILE_SYSTEM); Ref<Script> scr = se->get_edited_script(); if (!scr.is_null() && scr->is_tool()) { context_menu->add_separator(); @@ -2202,9 +2184,6 @@ void ScriptEditor::_make_script_list_context_menu() { } EditorHelp *eh = Object::cast_to<EditorHelp>(tab_container->get_child(selected)); - if (eh) { - // nothing - } context_menu->add_separator(); context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/window_move_up"), WINDOW_MOVE_UP); @@ -2547,9 +2526,9 @@ void ScriptEditor::_bind_methods() { ClassDB::bind_method("_script_changed", &ScriptEditor::_script_changed); ClassDB::bind_method("_update_recent_scripts", &ScriptEditor::_update_recent_scripts); - ClassDB::bind_method(D_METHOD("get_drag_data_fw"), &ScriptEditor::get_drag_data_fw); - ClassDB::bind_method(D_METHOD("can_drop_data_fw"), &ScriptEditor::can_drop_data_fw); - ClassDB::bind_method(D_METHOD("drop_data_fw"), &ScriptEditor::drop_data_fw); + ClassDB::bind_method(D_METHOD("get_drag_data_fw", "point", "from"), &ScriptEditor::get_drag_data_fw); + ClassDB::bind_method(D_METHOD("can_drop_data_fw", "point", "data", "from"), &ScriptEditor::can_drop_data_fw); + ClassDB::bind_method(D_METHOD("drop_data_fw", "point", "data", "from"), &ScriptEditor::drop_data_fw); ClassDB::bind_method(D_METHOD("get_current_script"), &ScriptEditor::_get_current_script); ClassDB::bind_method(D_METHOD("get_open_scripts"), &ScriptEditor::_get_open_scripts); @@ -2588,10 +2567,9 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { script_list = memnew(ItemList); list_split->add_child(script_list); - script_list->set_custom_minimum_size(Size2(150 * EDSCALE, 100)); //need to give a bit of limit to avoid it from disappearing + script_list->set_custom_minimum_size(Size2(150 * EDSCALE, 90)); //need to give a bit of limit to avoid it from disappearing script_list->set_v_size_flags(SIZE_EXPAND_FILL); script_split->set_split_offset(140); - //list_split->set_split_offset(500); _sort_list_on_update = true; script_list->connect("gui_input", this, "_script_list_gui_input"); script_list->set_allow_rmb_select(true); @@ -2603,18 +2581,18 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { members_overview = memnew(ItemList); list_split->add_child(members_overview); - members_overview->set_custom_minimum_size(Size2(0, 100)); //need to give a bit of limit to avoid it from disappearing + members_overview->set_custom_minimum_size(Size2(0, 90)); //need to give a bit of limit to avoid it from disappearing members_overview->set_v_size_flags(SIZE_EXPAND_FILL); help_overview = memnew(ItemList); list_split->add_child(help_overview); - help_overview->set_custom_minimum_size(Size2(0, 100)); //need to give a bit of limit to avoid it from disappearing + help_overview->set_custom_minimum_size(Size2(0, 90)); //need to give a bit of limit to avoid it from disappearing help_overview->set_v_size_flags(SIZE_EXPAND_FILL); tab_container = memnew(TabContainer); tab_container->set_tabs_visible(false); + tab_container->set_custom_minimum_size(Size2(200 * EDSCALE, 0)); script_split->add_child(tab_container); - tab_container->set_h_size_flags(SIZE_EXPAND_FILL); ED_SHORTCUT("script_editor/window_sort", TTR("Sort")); @@ -2644,6 +2622,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { file_menu->get_popup()->add_separator(); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reload_script_soft", TTR("Soft Reload Script"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_R), FILE_TOOL_RELOAD_SOFT); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/copy_path", TTR("Copy Script Path")), FILE_COPY_PATH); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/show_in_file_system", TTR("Show In File System")), SHOW_IN_FILE_SYSTEM); file_menu->get_popup()->add_separator(); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/history_previous", TTR("History Prev"), KEY_MASK_ALT | KEY_LEFT), WINDOW_PREV); @@ -2762,7 +2741,6 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { { VBoxContainer *vbc = memnew(VBoxContainer); disk_changed->add_child(vbc); - //disk_changed->set_child_rect(vbc); Label *dl = memnew(Label); dl->set_text(TTR("The following files are newer on disk.\nWhat action should be taken?:")); diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h index 9d5c110dec..d90cf7b912 100644 --- a/editor/plugins/script_editor_plugin.h +++ b/editor/plugins/script_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -137,6 +137,7 @@ class ScriptEditor : public PanelContainer { CLOSE_ALL, CLOSE_OTHER_TABS, TOGGLE_SCRIPTS_PANEL, + SHOW_IN_FILE_SYSTEM, FILE_COPY_PATH, FILE_TOOL_RELOAD, FILE_TOOL_RELOAD_SOFT, diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index 0610f55b3f..9ad4bfb037 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -75,72 +75,36 @@ void ScriptTextEditor::_load_theme_settings() { text_edit->clear_colors(); - Color background_color = EDITOR_DEF("text_editor/highlighting/background_color", Color(0, 0, 0, 0)); - Color completion_background_color = EDITOR_DEF("text_editor/highlighting/completion_background_color", Color(0, 0, 0, 0)); - Color completion_selected_color = EDITOR_DEF("text_editor/highlighting/completion_selected_color", Color::html("434244")); - Color completion_existing_color = EDITOR_DEF("text_editor/highlighting/completion_existing_color", Color::html("21dfdfdf")); - Color completion_scroll_color = EDITOR_DEF("text_editor/highlighting/completion_scroll_color", Color::html("ffffff")); - Color completion_font_color = EDITOR_DEF("text_editor/highlighting/completion_font_color", Color::html("aaaaaa")); - Color text_color = EDITOR_DEF("text_editor/highlighting/text_color", Color(0, 0, 0)); - Color line_number_color = EDITOR_DEF("text_editor/highlighting/line_number_color", Color(0, 0, 0)); - Color caret_color = EDITOR_DEF("text_editor/highlighting/caret_color", Color(0, 0, 0)); - Color caret_background_color = EDITOR_DEF("text_editor/highlighting/caret_background_color", Color(0, 0, 0)); - Color text_selected_color = EDITOR_DEF("text_editor/highlighting/text_selected_color", Color(1, 1, 1)); - Color selection_color = EDITOR_DEF("text_editor/highlighting/selection_color", Color(0.2, 0.2, 1)); - Color brace_mismatch_color = EDITOR_DEF("text_editor/highlighting/brace_mismatch_color", Color(1, 0.2, 0.2)); - Color current_line_color = EDITOR_DEF("text_editor/highlighting/current_line_color", Color(0.3, 0.5, 0.8, 0.15)); - Color line_length_guideline_color = EDITOR_DEF("text_editor/highlighting/line_length_guideline_color", Color(0, 0, 0)); - Color word_highlighted_color = EDITOR_DEF("text_editor/highlighting/word_highlighted_color", Color(0.8, 0.9, 0.9, 0.15)); - Color number_color = EDITOR_DEF("text_editor/highlighting/number_color", Color(0.9, 0.6, 0.0, 2)); - Color function_color = EDITOR_DEF("text_editor/highlighting/function_color", Color(0.4, 0.6, 0.8)); - Color member_variable_color = EDITOR_DEF("text_editor/highlighting/member_variable_color", Color(0.9, 0.3, 0.3)); - Color mark_color = EDITOR_DEF("text_editor/highlighting/mark_color", Color(1.0, 0.4, 0.4, 0.4)); - Color breakpoint_color = EDITOR_DEF("text_editor/highlighting/breakpoint_color", Color(0.8, 0.8, 0.4, 0.2)); - Color code_folding_color = EDITOR_DEF("text_editor/highlighting/code_folding_color", Color(0.8, 0.8, 0.8, 0.8)); - Color search_result_color = EDITOR_DEF("text_editor/highlighting/search_result_color", Color(0.05, 0.25, 0.05, 1)); - Color search_result_border_color = EDITOR_DEF("text_editor/highlighting/search_result_border_color", Color(0.1, 0.45, 0.1, 1)); - Color symbol_color = EDITOR_DEF("text_editor/highlighting/symbol_color", Color::hex(0x005291ff)); - Color keyword_color = EDITOR_DEF("text_editor/highlighting/keyword_color", Color(0.5, 0.0, 0.2)); - Color basetype_color = EDITOR_DEF("text_editor/highlighting/base_type_color", Color(0.3, 0.3, 0.0)); - Color type_color = EDITOR_DEF("text_editor/highlighting/engine_type_color", Color(0.0, 0.2, 0.4)); - Color comment_color = EDITOR_DEF("text_editor/highlighting/comment_color", Color::hex(0x797e7eff)); - Color string_color = EDITOR_DEF("text_editor/highlighting/string_color", Color::hex(0x6b6f00ff)); - - // Adapt - if (EditorSettings::get_singleton()->get("text_editor/theme/color_theme") == "Adaptive") { - Ref<Theme> tm = EditorNode::get_singleton()->get_theme_base()->get_theme(); - - symbol_color = tm->get_color("text_editor/theme/symbol_color", "Editor"); - keyword_color = tm->get_color("text_editor/theme/keyword_color", "Editor"); - basetype_color = tm->get_color("text_editor/theme/basetype_color", "Editor"); - type_color = tm->get_color("text_editor/theme/type_color", "Editor"); - comment_color = tm->get_color("text_editor/theme/comment_color", "Editor"); - string_color = tm->get_color("text_editor/theme/string_color", "Editor"); - background_color = tm->get_color("text_editor/theme/background_color", "Editor"); - completion_background_color = tm->get_color("text_editor/theme/completion_background_color", "Editor"); - completion_selected_color = tm->get_color("text_editor/theme/completion_selected_color", "Editor"); - completion_existing_color = tm->get_color("text_editor/theme/completion_existing_color", "Editor"); - completion_scroll_color = tm->get_color("text_editor/theme/completion_scroll_color", "Editor"); - completion_font_color = tm->get_color("text_editor/theme/completion_font_color", "Editor"); - text_color = tm->get_color("text_editor/theme/text_color", "Editor"); - line_number_color = tm->get_color("text_editor/theme/line_number_color", "Editor"); - caret_color = tm->get_color("text_editor/theme/caret_color", "Editor"); - caret_background_color = tm->get_color("text_editor/theme/caret_background_color", "Editor"); - text_selected_color = tm->get_color("text_editor/theme/text_selected_color", "Editor"); - selection_color = tm->get_color("text_editor/theme/selection_color", "Editor"); - brace_mismatch_color = tm->get_color("text_editor/theme/brace_mismatch_color", "Editor"); - current_line_color = tm->get_color("text_editor/theme/current_line_color", "Editor"); - line_length_guideline_color = tm->get_color("text_editor/theme/line_length_guideline_color", "Editor"); - word_highlighted_color = tm->get_color("text_editor/theme/word_highlighted_color", "Editor"); - number_color = tm->get_color("text_editor/theme/number_color", "Editor"); - function_color = tm->get_color("text_editor/theme/function_color", "Editor"); - member_variable_color = tm->get_color("text_editor/theme/member_variable_color", "Editor"); - mark_color = tm->get_color("text_editor/theme/mark_color", "Editor"); - breakpoint_color = tm->get_color("text_editor/theme/breakpoint_color", "Editor"); - code_folding_color = tm->get_color("text_editor/theme/code_folding_color", "Editor"); - search_result_color = tm->get_color("text_editor/theme/search_result_color", "Editor"); - search_result_border_color = tm->get_color("text_editor/theme/search_result_border_color", "Editor"); - } + Color background_color = EDITOR_GET("text_editor/highlighting/background_color"); + Color completion_background_color = EDITOR_GET("text_editor/highlighting/completion_background_color"); + Color completion_selected_color = EDITOR_GET("text_editor/highlighting/completion_selected_color"); + Color completion_existing_color = EDITOR_GET("text_editor/highlighting/completion_existing_color"); + Color completion_scroll_color = EDITOR_GET("text_editor/highlighting/completion_scroll_color"); + Color completion_font_color = EDITOR_GET("text_editor/highlighting/completion_font_color"); + Color text_color = EDITOR_GET("text_editor/highlighting/text_color"); + Color line_number_color = EDITOR_GET("text_editor/highlighting/line_number_color"); + Color caret_color = EDITOR_GET("text_editor/highlighting/caret_color"); + Color caret_background_color = EDITOR_GET("text_editor/highlighting/caret_background_color"); + Color text_selected_color = EDITOR_GET("text_editor/highlighting/text_selected_color"); + Color selection_color = EDITOR_GET("text_editor/highlighting/selection_color"); + Color brace_mismatch_color = EDITOR_GET("text_editor/highlighting/brace_mismatch_color"); + Color current_line_color = EDITOR_GET("text_editor/highlighting/current_line_color"); + Color line_length_guideline_color = EDITOR_GET("text_editor/highlighting/line_length_guideline_color"); + Color word_highlighted_color = EDITOR_GET("text_editor/highlighting/word_highlighted_color"); + Color number_color = EDITOR_GET("text_editor/highlighting/number_color"); + Color function_color = EDITOR_GET("text_editor/highlighting/function_color"); + Color member_variable_color = EDITOR_GET("text_editor/highlighting/member_variable_color"); + Color mark_color = EDITOR_GET("text_editor/highlighting/mark_color"); + Color breakpoint_color = EDITOR_GET("text_editor/highlighting/breakpoint_color"); + Color code_folding_color = EDITOR_GET("text_editor/highlighting/code_folding_color"); + Color search_result_color = EDITOR_GET("text_editor/highlighting/search_result_color"); + Color search_result_border_color = EDITOR_GET("text_editor/highlighting/search_result_border_color"); + Color symbol_color = EDITOR_GET("text_editor/highlighting/symbol_color"); + Color keyword_color = EDITOR_GET("text_editor/highlighting/keyword_color"); + Color basetype_color = EDITOR_GET("text_editor/highlighting/base_type_color"); + Color type_color = EDITOR_GET("text_editor/highlighting/engine_type_color"); + Color comment_color = EDITOR_GET("text_editor/highlighting/comment_color"); + Color string_color = EDITOR_GET("text_editor/highlighting/string_color"); text_edit->add_color_override("background_color", background_color); text_edit->add_color_override("completion_background_color", completion_background_color); @@ -1396,48 +1360,70 @@ void ScriptTextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { if (mb.is_valid()) { - if (mb->get_button_index() == BUTTON_RIGHT && !mb->is_pressed()) { + if (mb->get_button_index() == BUTTON_RIGHT) { int col, row; TextEdit *tx = code_editor->get_text_edit(); tx->_get_mouse_pos(mb->get_global_position() - tx->get_global_position(), row, col); Vector2 mpos = mb->get_global_position() - tx->get_global_position(); - bool have_selection = (tx->get_selection_text().length() > 0); - bool have_color = (tx->get_word_at_pos(mpos) == "Color"); + + tx->set_right_click_moves_caret(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); + bool has_color = (tx->get_word_at_pos(mpos) == "Color"); int fold_state = 0; bool can_fold = tx->can_fold(row); bool is_folded = tx->is_folded(row); - if (have_color) { - - String line = tx->get_line(row); - color_line = row; - int begin = 0; - int end = 0; - bool valid = false; - for (int i = col; i < line.length(); i++) { - if (line[i] == '(') { - begin = i; - continue; - } else if (line[i] == ')') { - end = i + 1; - valid = true; - break; + + if (tx->is_right_click_moving_caret()) { + if (tx->is_selection_active()) { + + int from_line = tx->get_selection_from_line(); + int to_line = tx->get_selection_to_line(); + int from_column = tx->get_selection_from_column(); + int to_column = tx->get_selection_to_column(); + + if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) { + // Right click is outside the seleted text + tx->deselect(); } } - if (valid) { - color_args = line.substr(begin, end - begin); - String stripped = color_args.replace(" ", "").replace("(", "").replace(")", ""); - Vector<float> color = stripped.split_floats(","); - if (color.size() > 2) { - float alpha = color.size() > 3 ? color[3] : 1.0f; - color_picker->set_pick_color(Color(color[0], color[1], color[2], alpha)); + if (!tx->is_selection_active()) { + tx->cursor_set_line(row, true, false); + tx->cursor_set_column(col); + } + } + + if (!mb->is_pressed()) { + if (has_color) { + String line = tx->get_line(row); + color_line = row; + int begin = 0; + int end = 0; + bool valid = false; + for (int i = col; i < line.length(); i++) { + if (line[i] == '(') { + begin = i; + continue; + } else if (line[i] == ')') { + end = i + 1; + valid = true; + break; + } + } + if (valid) { + color_args = line.substr(begin, end - begin); + String stripped = color_args.replace(" ", "").replace("(", "").replace(")", ""); + Vector<float> color = stripped.split_floats(","); + if (color.size() > 2) { + float alpha = color.size() > 3 ? color[3] : 1.0f; + color_picker->set_pick_color(Color(color[0], color[1], color[2], alpha)); + } + color_panel->set_position(get_global_transform().xform(get_local_mouse_position())); + } else { + has_color = false; } - color_panel->set_position(get_global_transform().xform(get_local_mouse_position())); - } else { - have_color = false; } + _make_context_menu(tx->is_selection_active(), has_color, can_fold, is_folded); } - _make_context_menu(have_selection, have_color, can_fold, is_folded); } } } diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h index e3b81e7c3f..86b829495d 100644 --- a/editor/plugins/script_text_editor.h +++ b/editor/plugins/script_text_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index 3e00776dfd..4f2fbca862 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -60,73 +60,36 @@ void ShaderTextEditor::_load_theme_settings() { get_text_edit()->clear_colors(); - Color background_color = EDITOR_DEF("text_editor/highlighting/background_color", Color(0, 0, 0, 0)); - Color completion_background_color = EDITOR_DEF("text_editor/highlighting/completion_background_color", Color(0, 0, 0, 0)); - Color completion_selected_color = EDITOR_DEF("text_editor/highlighting/completion_selected_color", Color::html("434244")); - Color completion_existing_color = EDITOR_DEF("text_editor/highlighting/completion_existing_color", Color::html("21dfdfdf")); - Color completion_scroll_color = EDITOR_DEF("text_editor/highlighting/completion_scroll_color", Color::html("ffffff")); - Color completion_font_color = EDITOR_DEF("text_editor/highlighting/completion_font_color", Color::html("aaaaaa")); - Color text_color = EDITOR_DEF("text_editor/highlighting/text_color", Color(0, 0, 0)); - Color line_number_color = EDITOR_DEF("text_editor/highlighting/line_number_color", Color(0, 0, 0)); - Color caret_color = EDITOR_DEF("text_editor/highlighting/caret_color", Color(0, 0, 0)); - Color caret_background_color = EDITOR_DEF("text_editor/highlighting/caret_background_color", Color(0, 0, 0)); - Color text_selected_color = EDITOR_DEF("text_editor/highlighting/text_selected_color", Color(1, 1, 1)); - Color selection_color = EDITOR_DEF("text_editor/highlighting/selection_color", Color(0.2, 0.2, 1)); - Color brace_mismatch_color = EDITOR_DEF("text_editor/highlighting/brace_mismatch_color", Color(1, 0.2, 0.2)); - Color current_line_color = EDITOR_DEF("text_editor/highlighting/current_line_color", Color(0.3, 0.5, 0.8, 0.15)); - Color line_length_guideline_color = EDITOR_DEF("text_editor/highlighting/line_length_guideline_color", Color(0, 0, 0)); - Color word_highlighted_color = EDITOR_DEF("text_editor/highlighting/word_highlighted_color", Color(0.8, 0.9, 0.9, 0.15)); - Color number_color = EDITOR_DEF("text_editor/highlighting/number_color", Color(0.9, 0.6, 0.0, 2)); - Color function_color = EDITOR_DEF("text_editor/highlighting/function_color", Color(0.4, 0.6, 0.8)); - Color member_variable_color = EDITOR_DEF("text_editor/highlighting/member_variable_color", Color(0.9, 0.3, 0.3)); - Color mark_color = EDITOR_DEF("text_editor/highlighting/mark_color", Color(1.0, 0.4, 0.4, 0.4)); - Color breakpoint_color = EDITOR_DEF("text_editor/highlighting/breakpoint_color", Color(0.8, 0.8, 0.4, 0.2)); - Color code_folding_color = EDITOR_DEF("text_editor/highlighting/code_folding_color", Color(0.8, 0.8, 0.8, 0.8)); - Color search_result_color = EDITOR_DEF("text_editor/highlighting/search_result_color", Color(0.05, 0.25, 0.05, 1)); - Color search_result_border_color = EDITOR_DEF("text_editor/highlighting/search_result_border_color", Color(0.1, 0.45, 0.1, 1)); - Color symbol_color = EDITOR_DEF("text_editor/highlighting/symbol_color", Color::hex(0x005291ff)); - - Color keyword_color = EDITOR_DEF("text_editor/highlighting/keyword_color", Color(0.5, 0.0, 0.2)); - Color basetype_color = EDITOR_DEF("text_editor/highlighting/base_type_color", Color(0.3, 0.3, 0.0)); - Color type_color = EDITOR_DEF("text_editor/highlighting/engine_type_color", Color(0.0, 0.2, 0.4)); - Color comment_color = EDITOR_DEF("text_editor/highlighting/comment_color", Color::hex(0x797e7eff)); - Color string_color = EDITOR_DEF("text_editor/highlighting/string_color", Color::hex(0x6b6f00ff)); - - // Adapt - if (EditorSettings::get_singleton()->get("text_editor/theme/color_theme") == "Adaptive") { - Ref<Theme> tm = EditorNode::get_singleton()->get_theme_base()->get_theme(); - - symbol_color = tm->get_color("text_editor/theme/symbol_color", "Editor"); - keyword_color = tm->get_color("text_editor/theme/keyword_color", "Editor"); - basetype_color = tm->get_color("text_editor/theme/basetype_color", "Editor"); - type_color = tm->get_color("text_editor/theme/type_color", "Editor"); - comment_color = tm->get_color("text_editor/theme/comment_color", "Editor"); - string_color = tm->get_color("text_editor/theme/string_color", "Editor"); - background_color = tm->get_color("text_editor/theme/background_color", "Editor"); - completion_background_color = tm->get_color("text_editor/theme/completion_background_color", "Editor"); - completion_selected_color = tm->get_color("text_editor/theme/completion_selected_color", "Editor"); - completion_existing_color = tm->get_color("text_editor/theme/completion_existing_color", "Editor"); - completion_scroll_color = tm->get_color("text_editor/theme/completion_scroll_color", "Editor"); - completion_font_color = tm->get_color("text_editor/theme/completion_font_color", "Editor"); - text_color = tm->get_color("text_editor/theme/text_color", "Editor"); - line_number_color = tm->get_color("text_editor/theme/line_number_color", "Editor"); - caret_color = tm->get_color("text_editor/theme/caret_color", "Editor"); - caret_background_color = tm->get_color("text_editor/theme/caret_background_color", "Editor"); - text_selected_color = tm->get_color("text_editor/theme/text_selected_color", "Editor"); - selection_color = tm->get_color("text_editor/theme/selection_color", "Editor"); - brace_mismatch_color = tm->get_color("text_editor/theme/brace_mismatch_color", "Editor"); - current_line_color = tm->get_color("text_editor/theme/current_line_color", "Editor"); - line_length_guideline_color = tm->get_color("text_editor/theme/line_length_guideline_color", "Editor"); - word_highlighted_color = tm->get_color("text_editor/theme/word_highlighted_color", "Editor"); - number_color = tm->get_color("text_editor/theme/number_color", "Editor"); - function_color = tm->get_color("text_editor/theme/function_color", "Editor"); - member_variable_color = tm->get_color("text_editor/theme/member_variable_color", "Editor"); - mark_color = tm->get_color("text_editor/theme/mark_color", "Editor"); - breakpoint_color = tm->get_color("text_editor/theme/breakpoint_color", "Editor"); - code_folding_color = tm->get_color("text_editor/theme/code_folding_color", "Editor"); - search_result_color = tm->get_color("text_editor/theme/search_result_color", "Editor"); - search_result_border_color = tm->get_color("text_editor/theme/search_result_border_color", "Editor"); - } + Color background_color = EDITOR_GET("text_editor/highlighting/background_color"); + Color completion_background_color = EDITOR_GET("text_editor/highlighting/completion_background_color"); + Color completion_selected_color = EDITOR_GET("text_editor/highlighting/completion_selected_color"); + Color completion_existing_color = EDITOR_GET("text_editor/highlighting/completion_existing_color"); + Color completion_scroll_color = EDITOR_GET("text_editor/highlighting/completion_scroll_color"); + Color completion_font_color = EDITOR_GET("text_editor/highlighting/completion_font_color"); + Color text_color = EDITOR_GET("text_editor/highlighting/text_color"); + Color line_number_color = EDITOR_GET("text_editor/highlighting/line_number_color"); + Color caret_color = EDITOR_GET("text_editor/highlighting/caret_color"); + Color caret_background_color = EDITOR_GET("text_editor/highlighting/caret_background_color"); + Color text_selected_color = EDITOR_GET("text_editor/highlighting/text_selected_color"); + Color selection_color = EDITOR_GET("text_editor/highlighting/selection_color"); + Color brace_mismatch_color = EDITOR_GET("text_editor/highlighting/brace_mismatch_color"); + Color current_line_color = EDITOR_GET("text_editor/highlighting/current_line_color"); + Color line_length_guideline_color = EDITOR_GET("text_editor/highlighting/line_length_guideline_color"); + Color word_highlighted_color = EDITOR_GET("text_editor/highlighting/word_highlighted_color"); + Color number_color = EDITOR_GET("text_editor/highlighting/number_color"); + Color function_color = EDITOR_GET("text_editor/highlighting/function_color"); + Color member_variable_color = EDITOR_GET("text_editor/highlighting/member_variable_color"); + Color mark_color = EDITOR_GET("text_editor/highlighting/mark_color"); + Color breakpoint_color = EDITOR_GET("text_editor/highlighting/breakpoint_color"); + Color code_folding_color = EDITOR_GET("text_editor/highlighting/code_folding_color"); + Color search_result_color = EDITOR_GET("text_editor/highlighting/search_result_color"); + Color search_result_border_color = EDITOR_GET("text_editor/highlighting/search_result_border_color"); + Color symbol_color = EDITOR_GET("text_editor/highlighting/symbol_color"); + Color keyword_color = EDITOR_GET("text_editor/highlighting/keyword_color"); + Color basetype_color = EDITOR_GET("text_editor/highlighting/base_type_color"); + Color type_color = EDITOR_GET("text_editor/highlighting/engine_type_color"); + Color comment_color = EDITOR_GET("text_editor/highlighting/comment_color"); + Color string_color = EDITOR_GET("text_editor/highlighting/string_color"); get_text_edit()->add_color_override("background_color", background_color); get_text_edit()->add_color_override("completion_background_color", completion_background_color); @@ -620,14 +583,36 @@ void ShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { if (mb.is_valid()) { - if (mb->get_button_index() == BUTTON_RIGHT && !mb->is_pressed()) { + if (mb->get_button_index() == BUTTON_RIGHT) { int col, row; TextEdit *tx = shader_editor->get_text_edit(); tx->_get_mouse_pos(mb->get_global_position() - tx->get_global_position(), row, col); Vector2 mpos = mb->get_global_position() - tx->get_global_position(); - bool have_selection = (tx->get_selection_text().length() > 0); - _make_context_menu(have_selection); + tx->set_right_click_moves_caret(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); + + if (tx->is_right_click_moving_caret()) { + if (tx->is_selection_active()) { + + int from_line = tx->get_selection_from_line(); + int to_line = tx->get_selection_to_line(); + int from_column = tx->get_selection_from_column(); + int to_column = tx->get_selection_to_column(); + + if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) { + // Right click is outside the seleted text + tx->deselect(); + } + } + if (!tx->is_selection_active()) { + tx->cursor_set_line(row, true, false); + tx->cursor_set_column(col); + } + } + + if (!mb->is_pressed()) { + _make_context_menu(tx->is_selection_active()); + } } } } diff --git a/editor/plugins/shader_editor_plugin.h b/editor/plugins/shader_editor_plugin.h index b191f5700f..a446fc4134 100644 --- a/editor/plugins/shader_editor_plugin.h +++ b/editor/plugins/shader_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/shader_graph_editor_plugin.cpp b/editor/plugins/shader_graph_editor_plugin.cpp index cd90d47896..59085c203f 100644 --- a/editor/plugins/shader_graph_editor_plugin.cpp +++ b/editor/plugins/shader_graph_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/shader_graph_editor_plugin.h b/editor/plugins/shader_graph_editor_plugin.h index f53dd8200d..98a9365727 100644 --- a/editor/plugins/shader_graph_editor_plugin.h +++ b/editor/plugins/shader_graph_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp index 59da5112ae..f6aef52e8b 100644 --- a/editor/plugins/spatial_editor_plugin.cpp +++ b/editor/plugins/spatial_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -51,7 +51,6 @@ #define GIZMO_ARROW_SIZE 0.35 #define GIZMO_RING_HALF_WIDTH 0.1 -//#define GIZMO_SCALE_DEFAULT 0.28 #define GIZMO_SCALE_DEFAULT 0.15 #define GIZMO_PLANE_SIZE 0.2 #define GIZMO_PLANE_DST 0.3 @@ -94,7 +93,6 @@ void SpatialEditorViewport::_update_camera(float p_interp_delta) { // We interpolate a different point here, because in freelook mode the focus point (cursor.pos) orbits around eye_pos camera_cursor.eye_pos = old_camera_cursor.eye_pos.linear_interpolate(cursor.eye_pos, CLAMP(factor, 0, 1)); - //camera_cursor.pos = camera_cursor.eye_pos + (cursor.pos - cursor.eye_pos); float orbit_inertia = EDITOR_GET("editors/3d/navigation_feel/orbit_inertia"); orbit_inertia = MAX(0.0001, orbit_inertia); @@ -153,13 +151,13 @@ void SpatialEditorViewport::_update_camera(float p_interp_delta) { if (!equal || p_interp_delta == 0 || is_freelook_active() || is_orthogonal != orthogonal) { camera->set_global_transform(to_camera_transform(camera_cursor)); - update_transform_gizmo_view(); - if (orthogonal) { - //camera->set_orthogonal(size.width*cursor.distance,get_znear(),get_zfar()); + if (orthogonal) camera->set_orthogonal(2 * cursor.distance, 0.1, 8192); - } else + else camera->set_perspective(get_fov(), get_znear(), get_zfar()); + + update_transform_gizmo_view(); } } @@ -392,9 +390,6 @@ ObjectID SpatialEditorViewport::_select_ray(const Point2 &p_pos, bool p_append, ERR_PRINT("Bug?"); } } - - // if (editor_selection->is_selected(spat)) - // r_includes_current=true; } if (!item) @@ -561,6 +556,8 @@ void SpatialEditorViewport::_update_name() { view_menu->set_text("[ " + name + " " + ortho + " ]"); else view_menu->set_text("[ " + ortho + " ]"); + + view_menu->set_size(Vector2(0, 0)); // resets the button size } void SpatialEditorViewport::_compute_edit(const Point2 &p_point) { @@ -812,17 +809,27 @@ bool SpatialEditorViewport::_gizmo_select(const Vector2 &p_screenpos, bool p_hig return false; } -void SpatialEditorViewport::_smouseenter() { +void SpatialEditorViewport::_surface_mouse_enter() { if (!surface->has_focus() && (!get_focus_owner() || !get_focus_owner()->is_text_field())) surface->grab_focus(); } -void SpatialEditorViewport::_smouseexit() { +void SpatialEditorViewport::_surface_mouse_exit() { _remove_preview(); } +void SpatialEditorViewport::_surface_focus_enter() { + + view_menu->set_disable_shortcuts(false); +} + +void SpatialEditorViewport::_surface_focus_exit() { + + view_menu->set_disable_shortcuts(true); +} + void SpatialEditorViewport::_list_select(Ref<InputEventMouseButton> b) { _find_items_at_pos(b->get_position(), clicked_includes_current, selection_results, b->get_shift()); @@ -949,7 +956,6 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { if (_edit.mode != TRANSFORM_NONE && b->is_pressed()) { //cancel motion _edit.mode = TRANSFORM_NONE; - //_validate_selection(); List<Node *> &selection = editor_selection->get_selected_node_list(); @@ -966,7 +972,6 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { sp->set_global_transform(se->original); } surface->update(); - //VisualServer::get_singleton()->poly_clear(indicators); set_message(TTR("Transform Aborted."), 3); } @@ -1059,7 +1064,6 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { _edit.gizmo = seg; _edit.gizmo_handle = handle; - //_edit.gizmo_initial_pos=seg->get_handle_pos(gizmo_handle); _edit.gizmo_initial_value = seg->get_handle_value(handle); break; } @@ -1134,13 +1138,10 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { _edit.gizmo = seg; _edit.gizmo_handle = gizmo_handle; - //_edit.gizmo_initial_pos=seg->get_handle_pos(gizmo_handle); _edit.gizmo_initial_value = seg->get_handle_value(gizmo_handle); - //print_line("GIZMO: "+itos(gizmo_handle)+" FROMPOS: "+_edit.orig_gizmo_pos); break; } } - //_compute_edit(Point2(b.x,b.y)); //in case a motion happens.. } surface->update(); @@ -1186,7 +1187,6 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { } undo_redo->commit_action(); _edit.mode = TRANSFORM_NONE; - //VisualServer::get_singleton()->poly_clear(indicators); set_message(""); } @@ -1785,51 +1785,36 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { } } if (ED_IS_SHORTCUT("spatial_editor/bottom_view", p_event)) { - cursor.y_rot = 0; - cursor.x_rot = -Math_PI / 2.0; - set_message(TTR("Bottom View."), 2); - name = TTR("Bottom"); - _update_name(); + _menu_option(VIEW_BOTTOM); } if (ED_IS_SHORTCUT("spatial_editor/top_view", p_event)) { - cursor.y_rot = 0; - cursor.x_rot = Math_PI / 2.0; - set_message(TTR("Top View."), 2); - name = TTR("Top"); - _update_name(); + _menu_option(VIEW_TOP); } if (ED_IS_SHORTCUT("spatial_editor/rear_view", p_event)) { - cursor.x_rot = 0; - cursor.y_rot = Math_PI; - set_message(TTR("Rear View."), 2); - name = TTR("Rear"); - _update_name(); + _menu_option(VIEW_REAR); } if (ED_IS_SHORTCUT("spatial_editor/front_view", p_event)) { - cursor.x_rot = 0; - cursor.y_rot = 0; - set_message(TTR("Front View."), 2); - name = TTR("Front"); - _update_name(); + _menu_option(VIEW_FRONT); } if (ED_IS_SHORTCUT("spatial_editor/left_view", p_event)) { - cursor.x_rot = 0; - cursor.y_rot = Math_PI / 2.0; - set_message(TTR("Left View."), 2); - name = TTR("Left"); - _update_name(); + _menu_option(VIEW_LEFT); } if (ED_IS_SHORTCUT("spatial_editor/right_view", p_event)) { - cursor.x_rot = 0; - cursor.y_rot = -Math_PI / 2.0; - set_message(TTR("Right View."), 2); - name = TTR("Right"); - _update_name(); + _menu_option(VIEW_RIGHT); + } + if (ED_IS_SHORTCUT("spatial_editor/focus_origin", p_event)) { + _menu_option(VIEW_CENTER_TO_ORIGIN); + } + if (ED_IS_SHORTCUT("spatial_editor/focus_selection", p_event)) { + _menu_option(VIEW_CENTER_TO_SELECTION); } if (ED_IS_SHORTCUT("spatial_editor/switch_perspective_orthogonal", p_event)) { _menu_option(orthogonal ? VIEW_PERSPECTIVE : VIEW_ORTHOGONAL); _update_name(); } + if (ED_IS_SHORTCUT("spatial_editor/align_selection_with_view", p_event)) { + _menu_option(VIEW_ALIGN_SELECTION_WITH_VIEW); + } if (ED_IS_SHORTCUT("spatial_editor/insert_anim_key", p_event)) { if (!get_selected_count() || _edit.mode != TRANSFORM_NONE) return; @@ -2114,15 +2099,6 @@ void SpatialEditorViewport::_notification(int p_what) { if (p_what == NOTIFICATION_PROCESS) { - //force editr camera - /* - current_camera=get_root_node()->get_current_camera(); - if (current_camera!=camera) { - - - } - */ - real_t delta = get_process_delta_time(); if (zoom_indicator_delay > 0) { @@ -2248,8 +2224,10 @@ void SpatialEditorViewport::_notification(int p_what) { surface->connect("draw", this, "_draw"); surface->connect("gui_input", this, "_sinput"); - surface->connect("mouse_entered", this, "_smouseenter"); - surface->connect("mouse_exited", this, "_smouseexit"); + surface->connect("mouse_entered", this, "_surface_mouse_enter"); + surface->connect("mouse_exited", this, "_surface_mouse_exit"); + surface->connect("focus_entered", this, "_surface_focus_enter"); + surface->connect("focus_exited", this, "_surface_focus_exit"); info_label->add_style_override("normal", editor->get_gui_base()->get_stylebox("Information3dViewport", "EditorStyles")); fps_label->add_style_override("normal", editor->get_gui_base()->get_stylebox("Information3dViewport", "EditorStyles")); preview_camera->set_icon(get_icon("Camera", "EditorIcons")); @@ -2423,47 +2401,54 @@ void SpatialEditorViewport::_menu_option(int p_option) { case VIEW_TOP: { - cursor.x_rot = Math_PI / 2.0; cursor.y_rot = 0; + cursor.x_rot = Math_PI / 2.0; + set_message(TTR("Top View."), 2); name = TTR("Top"); _update_name(); + } break; case VIEW_BOTTOM: { - cursor.x_rot = -Math_PI / 2.0; cursor.y_rot = 0; + cursor.x_rot = -Math_PI / 2.0; + set_message(TTR("Bottom View."), 2); name = TTR("Bottom"); _update_name(); } break; case VIEW_LEFT: { - cursor.y_rot = Math_PI / 2.0; cursor.x_rot = 0; + cursor.y_rot = Math_PI / 2.0; + set_message(TTR("Left View."), 2); name = TTR("Left"); _update_name(); } break; case VIEW_RIGHT: { - cursor.y_rot = -Math_PI / 2.0; cursor.x_rot = 0; + cursor.y_rot = -Math_PI / 2.0; + set_message(TTR("Right View."), 2); name = TTR("Right"); _update_name(); } break; case VIEW_FRONT: { - cursor.y_rot = 0; cursor.x_rot = 0; + cursor.y_rot = 0; + set_message(TTR("Front View."), 2); name = TTR("Front"); _update_name(); } break; case VIEW_REAR: { - cursor.y_rot = Math_PI; cursor.x_rot = 0; + cursor.y_rot = Math_PI; + set_message(TTR("Rear View."), 2); name = TTR("Rear"); _update_name(); @@ -2590,6 +2575,11 @@ void SpatialEditorViewport::_menu_option(int p_option) { bool current = view_menu->get_popup()->is_item_checked(idx); view_menu->get_popup()->set_item_checked(idx, !current); + if (current) + preview_camera->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 10 * EDSCALE); + else + preview_camera->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 15 * EDSCALE + fps_label->get_size().height); + } break; case VIEW_DISPLAY_NORMAL: { @@ -2641,14 +2631,13 @@ void SpatialEditorViewport::_preview_exited_scene() { void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { - uint32_t layer = 1 << (GIZMO_BASE_LAYER + p_idx); //|(1<<GIZMO_GRID_LAYER); + uint32_t layer = 1 << (GIZMO_BASE_LAYER + p_idx); for (int i = 0; i < 3; i++) { move_gizmo_instance[i] = VS::get_singleton()->instance_create(); VS::get_singleton()->instance_set_base(move_gizmo_instance[i], spatial_editor->get_move_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(move_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(move_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(move_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(move_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(move_gizmo_instance[i], layer); @@ -2656,7 +2645,6 @@ void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { VS::get_singleton()->instance_set_base(move_plane_gizmo_instance[i], spatial_editor->get_move_plane_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(move_plane_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(move_plane_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(move_plane_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(move_plane_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(move_plane_gizmo_instance[i], layer); @@ -2664,7 +2652,6 @@ void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { VS::get_singleton()->instance_set_base(rotate_gizmo_instance[i], spatial_editor->get_rotate_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(rotate_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(rotate_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(rotate_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(rotate_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(rotate_gizmo_instance[i], layer); @@ -2672,7 +2659,6 @@ void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { VS::get_singleton()->instance_set_base(scale_gizmo_instance[i], spatial_editor->get_scale_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(scale_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(scale_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(scale_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(scale_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(scale_gizmo_instance[i], layer); @@ -2680,7 +2666,6 @@ void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { VS::get_singleton()->instance_set_base(scale_plane_gizmo_instance[i], spatial_editor->get_scale_plane_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(scale_plane_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(scale_plane_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(scale_plane_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(scale_plane_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(scale_plane_gizmo_instance[i], layer); } @@ -2745,16 +2730,8 @@ void SpatialEditorViewport::set_can_preview(Camera *p_preview) { preview = p_preview; - if (!preview_camera->is_pressed()) { - - if (p_preview) { - fps_label->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 15 * EDSCALE + preview_camera->get_size().height); - preview_camera->show(); - } else { - fps_label->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 10 * EDSCALE); - preview_camera->hide(); - } - } + if (!preview_camera->is_pressed()) + preview_camera->set_visible(p_preview); } void SpatialEditorViewport::update_transform_gizmo_view() { @@ -2781,8 +2758,6 @@ void SpatialEditorViewport::update_transform_gizmo_view() { xform.basis.scale(scale); - //xform.basis.scale(GIZMO_SCALE_DEFAULT*Vector3(1,1,1)); - for (int i = 0; i < 3; i++) { VisualServer::get_singleton()->instance_set_transform(move_gizmo_instance[i], xform); VisualServer::get_singleton()->instance_set_visible(move_gizmo_instance[i], spatial_editor->is_gizmo_visible() && (spatial_editor->get_tool_mode() == SpatialEditor::TOOL_MODE_SELECT || spatial_editor->get_tool_mode() == SpatialEditor::TOOL_MODE_MOVE)); @@ -2799,18 +2774,36 @@ void SpatialEditorViewport::update_transform_gizmo_view() { void SpatialEditorViewport::set_state(const Dictionary &p_state) { - cursor.pos = p_state["position"]; - cursor.x_rot = p_state["x_rotation"]; - cursor.y_rot = p_state["y_rotation"]; - cursor.distance = p_state["distance"]; - bool env = p_state["use_environment"]; - bool orth = p_state["use_orthogonal"]; - if (orth) - _menu_option(VIEW_ORTHOGONAL); - else - _menu_option(VIEW_PERSPECTIVE); - if (env != camera->get_environment().is_valid()) - _menu_option(VIEW_ENVIRONMENT); + if (p_state.has("position")) + cursor.pos = p_state["position"]; + if (p_state.has("x_rotation")) + cursor.x_rot = p_state["x_rotation"]; + if (p_state.has("y_rotation")) + cursor.y_rot = p_state["y_rotation"]; + if (p_state.has("distance")) + cursor.distance = p_state["distance"]; + + if (p_state.has("use_orthogonal")) { + bool orth = p_state["use_orthogonal"]; + + if (orth) + _menu_option(VIEW_ORTHOGONAL); + else + _menu_option(VIEW_PERSPECTIVE); + } + if (p_state.has("display_mode")) { + int display = p_state["display_mode"]; + + int idx = view_menu->get_popup()->get_item_index(display); + if (!view_menu->get_popup()->is_item_checked(idx)) + _menu_option(display); + } + if (p_state.has("use_environment")) { + bool env = p_state["use_environment"]; + + if (env != camera->get_environment().is_valid()) + _menu_option(VIEW_ENVIRONMENT); + } if (p_state.has("listener")) { bool listener = p_state["listener"]; @@ -2839,6 +2832,13 @@ void SpatialEditorViewport::set_state(const Dictionary &p_state) { if (view_menu->get_popup()->is_item_checked(idx) != information) _menu_option(VIEW_INFORMATION); } + if (p_state.has("fps")) { + bool fps = p_state["fps"]; + + int idx = view_menu->get_popup()->get_item_index(VIEW_FPS); + if (view_menu->get_popup()->is_item_checked(idx) != fps) + _menu_option(VIEW_FPS); + } if (p_state.has("half_res")) { bool half_res = p_state["half_res"]; @@ -2869,14 +2869,22 @@ Dictionary SpatialEditorViewport::get_state() const { d["distance"] = cursor.distance; d["use_environment"] = camera->get_environment().is_valid(); d["use_orthogonal"] = camera->get_projection() == Camera::PROJECTION_ORTHOGONAL; + if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_NORMAL))) + d["display_mode"] = VIEW_DISPLAY_NORMAL; + else if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_WIREFRAME))) + d["display_mode"] = VIEW_DISPLAY_WIREFRAME; + else if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_OVERDRAW))) + d["display_mode"] = VIEW_DISPLAY_OVERDRAW; + else if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_SHADELESS))) + d["display_mode"] = VIEW_DISPLAY_SHADELESS; d["listener"] = viewport->is_audio_listener(); d["doppler"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_AUDIO_DOPPLER)); d["gizmos"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_GIZMOS)); d["information"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_INFORMATION)); + d["fps"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_FPS)); d["half_res"] = viewport_container->get_stretch_shrink() > 1; - if (previewing) { + if (previewing) d["previewing"] = EditorNode::get_singleton()->get_edited_scene()->get_path_to(previewing); - } return d; } @@ -2884,8 +2892,11 @@ Dictionary SpatialEditorViewport::get_state() const { void SpatialEditorViewport::_bind_methods() { ClassDB::bind_method(D_METHOD("_draw"), &SpatialEditorViewport::_draw); - ClassDB::bind_method(D_METHOD("_smouseenter"), &SpatialEditorViewport::_smouseenter); - ClassDB::bind_method(D_METHOD("_smouseexit"), &SpatialEditorViewport::_smouseexit); + + ClassDB::bind_method(D_METHOD("_surface_mouse_enter"), &SpatialEditorViewport::_surface_mouse_enter); + ClassDB::bind_method(D_METHOD("_surface_mouse_exit"), &SpatialEditorViewport::_surface_mouse_exit); + ClassDB::bind_method(D_METHOD("_surface_focus_enter"), &SpatialEditorViewport::_surface_focus_enter); + ClassDB::bind_method(D_METHOD("_surface_focus_exit"), &SpatialEditorViewport::_surface_focus_exit); ClassDB::bind_method(D_METHOD("_sinput"), &SpatialEditorViewport::_sinput); ClassDB::bind_method(D_METHOD("_menu_option"), &SpatialEditorViewport::_menu_option); ClassDB::bind_method(D_METHOD("_toggle_camera_preview"), &SpatialEditorViewport::_toggle_camera_preview); @@ -3202,7 +3213,7 @@ bool SpatialEditorViewport::can_drop_data_fw(const Point2 &p_point, const Varian continue; } memdelete(instanced_scene); - } else if (type == "Mesh" || "ArrayMesh" || "PrimitiveMesh") { + } else if (type == "Mesh" || type == "ArrayMesh" || type == "PrimitiveMesh") { Ref<Mesh> mesh = ResourceLoader::load(files[i]); if (!mesh.is_valid()) { continue; @@ -3309,7 +3320,6 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed camera = memnew(Camera); camera->set_disable_gizmo(true); camera->set_cull_mask(((1 << 20) - 1) | (1 << (GIZMO_BASE_LAYER + p_index)) | (1 << GIZMO_EDIT_LAYER) | (1 << GIZMO_GRID_LAYER)); - //camera->set_environment(SpatialEditor::get_singleton()->get_viewport_environment()); viewport->add_child(camera); camera->make_current(); surface->set_focus_mode(FOCUS_ALL); @@ -3353,6 +3363,8 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed view_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("spatial_editor/align_selection_with_view"), VIEW_ALIGN_SELECTION_WITH_VIEW); view_menu->get_popup()->connect("id_pressed", this, "_menu_option"); + view_menu->set_disable_shortcuts(true); + ED_SHORTCUT("spatial_editor/freelook_left", TTR("Freelook Left"), KEY_A); ED_SHORTCUT("spatial_editor/freelook_right", TTR("Freelook Right"), KEY_D); ED_SHORTCUT("spatial_editor/freelook_forward", TTR("Freelook Forward"), KEY_W); @@ -3367,7 +3379,7 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed preview_camera->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 10 * EDSCALE); preview_camera->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -10 * EDSCALE); preview_camera->set_h_grow_direction(GROW_DIRECTION_BEGIN); - preview_camera->set_text(TTR("preview")); + preview_camera->set_text(TTR("Preview")); surface->add_child(preview_camera); preview_camera->hide(); preview_camera->connect("toggled", this, "_toggle_camera_preview"); @@ -3771,7 +3783,6 @@ void SpatialEditor::update_transform_gizmo() { center.expand_to(xf.origin); gizmo_basis = Basis(); } - //count++; } Vector3 pcenter = center.position + center.size * 0.5; @@ -3994,17 +4005,6 @@ void SpatialEditor::edit(Spatial *p_spatial) { } } } - - /* - if (p_spatial) { - _validate_selection(); - if (selected.has(p_spatial->get_instance_id()) && selected.size()==1) - return; - _select(p_spatial->get_instance_id(),false,true); - - // should become the selection - } - */ } void SpatialEditor::_xform_dialog_action() { @@ -4348,9 +4348,6 @@ void SpatialEditor::_init_indicators() { VisualServer::get_singleton()->mesh_add_surface_from_arrays(origin, VisualServer::PRIMITIVE_LINES, d); VisualServer::get_singleton()->mesh_surface_set_material(origin, 0, indicator_mat->get_rid()); - //origin = VisualServer::get_singleton()->poly_create(); - //VisualServer::get_singleton()->poly_add_primitive(origin,origin_points,Vector<Vector3>(),origin_colors,Vector<Vector3>()); - //VisualServer::get_singleton()->poly_set_material(origin,indicator_mat,true); origin_instance = VisualServer::get_singleton()->instance_create2(origin, get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_layer_mask(origin_instance, 1 << SpatialEditorViewport::GIZMO_GRID_LAYER); @@ -4635,9 +4632,6 @@ void SpatialEditor::_finish_indicators() { VisualServer::get_singleton()->free(grid_instance[i]); VisualServer::get_singleton()->free(grid[i]); } - //VisualServer::get_singleton()->free(poly); - //VisualServer::get_singleton()->free(indicators_instance); - //VisualServer::get_singleton()->free(indicators); } bool SpatialEditor::is_any_freelook_active() const { @@ -4879,7 +4873,6 @@ void SpatialEditor::_node_removed(Node *p_node) { void SpatialEditor::_bind_methods() { - //ClassDB::bind_method("_gui_input",&SpatialEditor::_gui_input); ClassDB::bind_method("_unhandled_key_input", &SpatialEditor::_unhandled_key_input); ClassDB::bind_method("_node_removed", &SpatialEditor::_node_removed); ClassDB::bind_method("_menu_item_pressed", &SpatialEditor::_menu_item_pressed); @@ -4940,8 +4933,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { snap_enabled = false; tool_mode = TOOL_MODE_SELECT; - //set_focus_mode(FOCUS_ALL); - hbc_menu = memnew(HBoxContainer); vbc->add_child(hbc_menu); @@ -5116,7 +5107,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { viewports[i]->assign_pending_data_pointers(preview_node, &preview_bounds, accept); viewport_base->add_child(viewports[i]); } - //vbc->add_child(viewport_base); /* SNAP DIALOG */ @@ -5126,7 +5116,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { VBoxContainer *snap_dialog_vbc = memnew(VBoxContainer); snap_dialog->add_child(snap_dialog_vbc); - //snap_dialog->set_child_rect(snap_dialog_vbc); snap_translate = memnew(LineEdit); snap_translate->set_text("1"); @@ -5148,7 +5137,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { settings_vbc = memnew(VBoxContainer); settings_vbc->set_custom_minimum_size(Size2(200, 0) * EDSCALE); settings_dialog->add_child(settings_vbc); - //settings_dialog->set_child_rect(settings_vbc); settings_fov = memnew(SpinBox); settings_fov->set_max(MAX_FOV); @@ -5171,7 +5159,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { settings_zfar->set_value(EDITOR_DEF("editors/3d/default_z_far", 1500)); settings_vbc->add_margin_child(TTR("View Z-Far:"), settings_zfar); - //settings_dialog->get_cancel()->hide(); /* XFORM DIALOG */ xform_dialog = memnew(ConfirmationDialog); @@ -5257,14 +5244,12 @@ void SpatialEditorPlugin::make_visible(bool p_visible) { spatial_editor->show(); spatial_editor->set_process(true); - //VisualServer::get_singleton()->viewport_set_hide_scenario(editor->get_scene_root()->get_viewport(),false); spatial_editor->grab_focus(); } else { spatial_editor->hide(); spatial_editor->set_process(false); - //VisualServer::get_singleton()->viewport_set_hide_scenario(editor->get_scene_root()->get_viewport(),true); } } void SpatialEditorPlugin::edit(Object *p_object) { @@ -5317,11 +5302,8 @@ SpatialEditorPlugin::SpatialEditorPlugin(EditorNode *p_node) { spatial_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL); editor->get_viewport()->add_child(spatial_editor); - //spatial_editor->set_anchors_and_margins_preset(Control::PRESET_WIDE); spatial_editor->hide(); spatial_editor->connect("transform_key_request", editor, "_transform_keyed"); - - //spatial_editor->set_process(true); } SpatialEditorPlugin::~SpatialEditorPlugin() { diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h index 4aa1d9c0c1..b1d4a03893 100644 --- a/editor/plugins/spatial_editor_plugin.h +++ b/editor/plugins/spatial_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -273,8 +273,11 @@ private: Transform to_camera_transform(const Cursor &p_cursor) const; void _draw(); - void _smouseenter(); - void _smouseexit(); + void _surface_mouse_enter(); + void _surface_mouse_exit(); + void _surface_focus_enter(); + void _surface_focus_exit(); + void _sinput(const Ref<InputEvent> &p_event); void _update_freelook(real_t delta); SpatialEditor *spatial_editor; diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 175655119f..35fc987e10 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -840,7 +840,7 @@ SpriteFramesEditorPlugin::SpriteFramesEditorPlugin(EditorNode *p_node) { editor = p_node; frames_editor = memnew(SpriteFramesEditor); frames_editor->set_custom_minimum_size(Size2(0, 300) * EDSCALE); - button = editor->add_bottom_panel_item("SpriteFrames", frames_editor); + button = editor->add_bottom_panel_item(TTR("SpriteFrames"), frames_editor); button->hide(); } diff --git a/editor/plugins/sprite_frames_editor_plugin.h b/editor/plugins/sprite_frames_editor_plugin.h index 9fdab37f0e..f94eb6f98c 100644 --- a/editor/plugins/sprite_frames_editor_plugin.h +++ b/editor/plugins/sprite_frames_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/style_box_editor_plugin.cpp b/editor/plugins/style_box_editor_plugin.cpp index 5c965e4a05..a0c7eb178a 100644 --- a/editor/plugins/style_box_editor_plugin.cpp +++ b/editor/plugins/style_box_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -103,6 +103,6 @@ StyleBoxEditorPlugin::StyleBoxEditorPlugin(EditorNode *p_node) { stylebox_editor->set_custom_minimum_size(Size2(0, 250)); //p_node->get_viewport()->add_child(stylebox_editor); - button = p_node->add_bottom_panel_item("StyleBox", stylebox_editor); + button = p_node->add_bottom_panel_item(TTR("StyleBox"), stylebox_editor); button->hide(); } diff --git a/editor/plugins/style_box_editor_plugin.h b/editor/plugins/style_box_editor_plugin.h index bf3c56197c..7a8e5aa99b 100644 --- a/editor/plugins/style_box_editor_plugin.h +++ b/editor/plugins/style_box_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_editor_plugin.cpp b/editor/plugins/texture_editor_plugin.cpp index 855e857d80..572e2f9d83 100644 --- a/editor/plugins/texture_editor_plugin.cpp +++ b/editor/plugins/texture_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_editor_plugin.h b/editor/plugins/texture_editor_plugin.h index c7734b5b3d..590dd6d9aa 100644 --- a/editor/plugins/texture_editor_plugin.h +++ b/editor/plugins/texture_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index 48aed0cf6c..861af05c61 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Author: Mariano Suligoy */ /* */ diff --git a/editor/plugins/texture_region_editor_plugin.h b/editor/plugins/texture_region_editor_plugin.h index 2058dad791..b84480d3d6 100644 --- a/editor/plugins/texture_region_editor_plugin.h +++ b/editor/plugins/texture_region_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Author: Mariano Suligoy */ /* */ diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index 7f956b01ff..5f1944fe74 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -934,6 +934,6 @@ ThemeEditorPlugin::ThemeEditorPlugin(EditorNode *p_node) { theme_editor->set_custom_minimum_size(Size2(0, 200)); //p_node->get_viewport()->add_child(theme_editor); - button = editor->add_bottom_panel_item("Theme", theme_editor); + button = editor->add_bottom_panel_item(TTR("Theme"), theme_editor); button->hide(); } diff --git a/editor/plugins/theme_editor_plugin.h b/editor/plugins/theme_editor_plugin.h index 4d46282ba1..6484fb948d 100644 --- a/editor/plugins/theme_editor_plugin.h +++ b/editor/plugins/theme_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tile_map_editor_plugin.cpp b/editor/plugins/tile_map_editor_plugin.cpp index 40abc4026a..acaf2ebcd3 100644 --- a/editor/plugins/tile_map_editor_plugin.cpp +++ b/editor/plugins/tile_map_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tile_map_editor_plugin.h b/editor/plugins/tile_map_editor_plugin.h index b5f2618576..6388cfb3cc 100644 --- a/editor/plugins/tile_map_editor_plugin.h +++ b/editor/plugins/tile_map_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index 5eb3435e24..50db80ba01 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -238,19 +238,16 @@ void TileSetEditor::_bind_methods() { TileSetEditor::TileSetEditor(EditorNode *p_editor) { - Panel *panel = memnew(Panel); - panel->set_anchors_and_margins_preset(Control::PRESET_WIDE); - add_child(panel); - MenuButton *options = memnew(MenuButton); - panel->add_child(options); - options->set_position(Point2(1, 1)); - options->set_text(TTR("Tile Set")); - options->get_popup()->add_item(TTR("Add Item"), MENU_OPTION_ADD_ITEM); - options->get_popup()->add_item(TTR("Remove Item"), MENU_OPTION_REMOVE_ITEM); - options->get_popup()->add_separator(); - options->get_popup()->add_item(TTR("Create from Scene"), MENU_OPTION_CREATE_FROM_SCENE); - options->get_popup()->add_item(TTR("Merge from Scene"), MENU_OPTION_MERGE_FROM_SCENE); - options->get_popup()->connect("id_pressed", this, "_menu_cbk"); + menu = memnew(MenuButton); + CanvasItemEditor::get_singleton()->add_control_to_menu_panel(menu); + menu->hide(); + menu->set_text(TTR("Tile Set")); + menu->get_popup()->add_item(TTR("Add Item"), MENU_OPTION_ADD_ITEM); + menu->get_popup()->add_item(TTR("Remove Item"), MENU_OPTION_REMOVE_ITEM); + menu->get_popup()->add_separator(); + menu->get_popup()->add_item(TTR("Create from Scene"), MENU_OPTION_CREATE_FROM_SCENE); + menu->get_popup()->add_item(TTR("Merge from Scene"), MENU_OPTION_MERGE_FROM_SCENE); + menu->get_popup()->connect("id_pressed", this, "_menu_cbk"); editor = p_editor; cd = memnew(ConfirmationDialog); add_child(cd); @@ -286,6 +283,7 @@ void TileSetEditorPlugin::make_visible(bool p_visible) { if (p_visible) { tileset_editor->show(); + tileset_editor->menu->show(); autotile_button->show(); autotile_editor->side_panel->show(); if (autotile_button->is_pressed()) { @@ -293,6 +291,7 @@ void TileSetEditorPlugin::make_visible(bool p_visible) { } } else { tileset_editor->hide(); + tileset_editor->menu->hide(); autotile_editor->side_panel->hide(); autotile_editor->hide(); autotile_button->hide(); @@ -314,7 +313,7 @@ TileSetEditorPlugin::TileSetEditorPlugin(EditorNode *p_node) { autotile_editor->side_panel->set_anchors_and_margins_preset(Control::PRESET_WIDE); autotile_editor->side_panel->set_custom_minimum_size(Size2(200, 0)); autotile_editor->side_panel->hide(); - autotile_button = p_node->add_bottom_panel_item("Autotiles", autotile_editor); + autotile_button = p_node->add_bottom_panel_item(TTR("Autotiles"), autotile_editor); autotile_button->hide(); } @@ -333,7 +332,7 @@ AutotileEditor::AutotileEditor(EditorNode *p_editor) { autotile_list = memnew(ItemList); autotile_list->set_v_size_flags(SIZE_EXPAND_FILL); autotile_list->set_h_size_flags(SIZE_EXPAND_FILL); - autotile_list->set_custom_minimum_size(Size2(02, 200)); + autotile_list->set_custom_minimum_size(Size2(10, 200)); autotile_list->connect("item_selected", this, "_on_autotile_selected"); split->add_child(autotile_list); @@ -343,12 +342,13 @@ AutotileEditor::AutotileEditor(EditorNode *p_editor) { split->add_child(property_editor); helper = memnew(AutotileEditorHelper(this)); - property_editor->call_deferred("edit", helper); + property_editor->edit(helper); - // Editor + //Editor dragging_point = -1; creating_shape = false; + snap_step = Vector2(32, 32); set_custom_minimum_size(Size2(0, 150)); @@ -387,7 +387,7 @@ AutotileEditor::AutotileEditor(EditorNode *p_editor) { tools[TOOL_SELECT] = memnew(ToolButton); tool_containers[TOOLBAR_DUMMY]->add_child(tools[TOOL_SELECT]); - tools[TOOL_SELECT]->set_tooltip("Select sub-tile to use as icon, this will be also used on invalid autotile bindings."); + tools[TOOL_SELECT]->set_tooltip(TTR("Select sub-tile to use as icon, this will be also used on invalid autotile bindings.")); tools[TOOL_SELECT]->set_toggle_mode(true); tools[TOOL_SELECT]->set_button_group(tg); tools[TOOL_SELECT]->set_pressed(true); @@ -419,17 +419,83 @@ AutotileEditor::AutotileEditor(EditorNode *p_editor) { p.push_back((int)SHAPE_DELETE); tools[SHAPE_DELETE]->connect("pressed", this, "_on_tool_clicked", p); tool_containers[TOOLBAR_SHAPE]->add_child(tools[SHAPE_DELETE]); - //tools[SHAPE_CREATE_FROM_NOT_BITMASKED] = memnew(ToolButton); - //tool_containers[TOOLBAR_SHAPE]->add_child(tools[SHAPE_CREATE_FROM_NOT_BITMASKED]); tool_containers[TOOLBAR_SHAPE]->add_change_receptor(memnew(VSeparator)); tools[SHAPE_KEEP_INSIDE_TILE] = memnew(ToolButton); tools[SHAPE_KEEP_INSIDE_TILE]->set_toggle_mode(true); tools[SHAPE_KEEP_INSIDE_TILE]->set_pressed(true); tool_containers[TOOLBAR_SHAPE]->add_child(tools[SHAPE_KEEP_INSIDE_TILE]); - tools[SHAPE_SNAP_TO_BITMASK_GRID] = memnew(ToolButton); - tools[SHAPE_SNAP_TO_BITMASK_GRID]->set_toggle_mode(true); - tools[SHAPE_SNAP_TO_BITMASK_GRID]->set_pressed(true); - tool_containers[TOOLBAR_SHAPE]->add_child(tools[SHAPE_SNAP_TO_BITMASK_GRID]); + tools[SHAPE_GRID_SNAP] = memnew(ToolButton); + tools[SHAPE_GRID_SNAP]->set_toggle_mode(true); + tools[SHAPE_GRID_SNAP]->connect("toggled", this, "_on_grid_snap_toggled"); + tool_containers[TOOLBAR_SHAPE]->add_child(tools[SHAPE_GRID_SNAP]); + + hb_grid = memnew(HBoxContainer); + tool_containers[TOOLBAR_SHAPE]->add_child(hb_grid); + + hb_grid->add_child(memnew(VSeparator)); + hb_grid->add_child(memnew(Label(TTR("Offset:")))); + + sb_off_x = memnew(SpinBox); + sb_off_x->set_min(-256); + sb_off_x->set_max(256); + sb_off_x->set_step(1); + sb_off_x->set_value(snap_offset.x); + sb_off_x->set_suffix("px"); + sb_off_x->connect("value_changed", this, "_set_snap_off_x"); + hb_grid->add_child(sb_off_x); + + sb_off_y = memnew(SpinBox); + sb_off_y->set_min(-256); + sb_off_y->set_max(256); + sb_off_y->set_step(1); + sb_off_y->set_value(snap_offset.y); + sb_off_y->set_suffix("px"); + sb_off_y->connect("value_changed", this, "_set_snap_off_y"); + hb_grid->add_child(sb_off_y); + + hb_grid->add_child(memnew(VSeparator)); + hb_grid->add_child(memnew(Label(TTR("Step:")))); + + sb_step_x = memnew(SpinBox); + sb_step_x->set_min(-256); + sb_step_x->set_max(256); + sb_step_x->set_step(1); + sb_step_x->set_value(snap_step.x); + sb_step_x->set_suffix("px"); + sb_step_x->connect("value_changed", this, "_set_snap_step_x"); + hb_grid->add_child(sb_step_x); + + sb_step_y = memnew(SpinBox); + sb_step_y->set_min(-256); + sb_step_y->set_max(256); + sb_step_y->set_step(1); + sb_step_y->set_value(snap_step.y); + sb_step_y->set_suffix("px"); + sb_step_y->connect("value_changed", this, "_set_snap_step_y"); + hb_grid->add_child(sb_step_y); + + hb_grid->add_child(memnew(VSeparator)); + hb_grid->add_child(memnew(Label(TTR("Separation:")))); + + sb_sep_x = memnew(SpinBox); + sb_sep_x->set_min(0); + sb_sep_x->set_max(256); + sb_sep_x->set_step(1); + sb_sep_x->set_value(snap_separation.x); + sb_sep_x->set_suffix("px"); + sb_sep_x->connect("value_changed", this, "_set_snap_sep_x"); + hb_grid->add_child(sb_sep_x); + + sb_sep_y = memnew(SpinBox); + sb_sep_y->set_min(0); + sb_sep_y->set_max(256); + sb_sep_y->set_step(1); + sb_sep_y->set_value(snap_separation.y); + sb_sep_y->set_suffix("px"); + sb_sep_y->connect("value_changed", this, "_set_snap_sep_y"); + hb_grid->add_child(sb_sep_y); + + hb_grid->hide(); spin_priority = memnew(SpinBox); spin_priority->set_min(1); @@ -462,7 +528,7 @@ AutotileEditor::AutotileEditor(EditorNode *p_editor) { main_vb->add_child(toolbar); - ScrollContainer *scroll = memnew(ScrollContainer); + scroll = memnew(ScrollContainer); main_vb->add_child(scroll); scroll->set_v_size_flags(SIZE_EXPAND_FILL); @@ -489,6 +555,13 @@ void AutotileEditor::_bind_methods() { ClassDB::bind_method("_on_workspace_input", &AutotileEditor::_on_workspace_input); ClassDB::bind_method("_on_tool_clicked", &AutotileEditor::_on_tool_clicked); ClassDB::bind_method("_on_priority_changed", &AutotileEditor::_on_priority_changed); + ClassDB::bind_method("_on_grid_snap_toggled", &AutotileEditor::_on_grid_snap_toggled); + ClassDB::bind_method("_set_snap_step_x", &AutotileEditor::_set_snap_step_x); + ClassDB::bind_method("_set_snap_step_y", &AutotileEditor::_set_snap_step_y); + ClassDB::bind_method("_set_snap_off_x", &AutotileEditor::_set_snap_off_x); + ClassDB::bind_method("_set_snap_off_y", &AutotileEditor::_set_snap_off_y); + ClassDB::bind_method("_set_snap_sep_x", &AutotileEditor::_set_snap_sep_x); + ClassDB::bind_method("_set_snap_sep_y", &AutotileEditor::_set_snap_sep_y); } void AutotileEditor::_notification(int p_what) { @@ -501,7 +574,7 @@ void AutotileEditor::_notification(int p_what) { tools[SHAPE_NEW_POLYGON]->set_icon(get_icon("CollisionPolygon2D", "EditorIcons")); tools[SHAPE_DELETE]->set_icon(get_icon("Remove", "EditorIcons")); tools[SHAPE_KEEP_INSIDE_TILE]->set_icon(get_icon("Snap", "EditorIcons")); - tools[SHAPE_SNAP_TO_BITMASK_GRID]->set_icon(get_icon("SnapGrid", "EditorIcons")); + tools[SHAPE_GRID_SNAP]->set_icon(get_icon("SnapGrid", "EditorIcons")); tools[ZOOM_OUT]->set_icon(get_icon("ZoomLess", "EditorIcons")); tools[ZOOM_1]->set_icon(get_icon("ZoomReset", "EditorIcons")); tools[ZOOM_IN]->set_icon(get_icon("ZoomMore", "EditorIcons")); @@ -533,7 +606,7 @@ void AutotileEditor::_on_edit_mode_changed(int p_edit_mode) { tool_containers[TOOLBAR_BITMASK]->show(); tool_containers[TOOLBAR_SHAPE]->hide(); tools[TOOL_SELECT]->set_pressed(true); - tools[TOOL_SELECT]->set_tooltip("LMB: set bit on.\nRMB: set bit off."); + tools[TOOL_SELECT]->set_tooltip(TTR("LMB: set bit on.\nRMB: set bit off.")); spin_priority->hide(); } break; case EDITMODE_COLLISION: @@ -542,7 +615,8 @@ void AutotileEditor::_on_edit_mode_changed(int p_edit_mode) { tool_containers[TOOLBAR_DUMMY]->show(); tool_containers[TOOLBAR_BITMASK]->hide(); tool_containers[TOOLBAR_SHAPE]->show(); - tools[TOOL_SELECT]->set_tooltip("Select current edited sub-tile."); + tools[TOOL_SELECT]->set_tooltip(TTR("Select current edited sub-tile.")); + current_shape = PoolVector2Array(); spin_priority->hide(); } break; default: { @@ -550,10 +624,10 @@ void AutotileEditor::_on_edit_mode_changed(int p_edit_mode) { tool_containers[TOOLBAR_BITMASK]->hide(); tool_containers[TOOLBAR_SHAPE]->hide(); if (edit_mode == EDITMODE_ICON) { - tools[TOOL_SELECT]->set_tooltip("Select sub-tile to use as icon, this will be also used on invalid autotile bindings."); + tools[TOOL_SELECT]->set_tooltip(TTR("Select sub-tile to use as icon, this will be also used on invalid autotile bindings.")); spin_priority->hide(); } else { - tools[TOOL_SELECT]->set_tooltip("Select sub-tile to change it's priority."); + tools[TOOL_SELECT]->set_tooltip(TTR("Select sub-tile to change it's priority.")); spin_priority->show(); } } break; @@ -632,6 +706,7 @@ void AutotileEditor::_on_workspace_draw() { Vector2 coord = edited_shape_coord; draw_highlight_tile(coord); draw_polygon_shapes(); + draw_grid_snap(); } break; case EDITMODE_PRIORITY: { spin_priority->set_value(tile_set->autotile_get_subtile_priority(get_current_tile(), edited_shape_coord)); @@ -880,15 +955,15 @@ void AutotileEditor::_on_workspace_input(const Ref<InputEvent> &p_ie) { Vector<TileSet::ShapeData> sd = tile_set->tile_get_shapes(get_current_tile()); for (int i = 0; i < sd.size(); i++) { if (sd[i].autotile_coord == coord) { - Ref<ConcavePolygonShape2D> shape = sd[i].shape; + Ref<ConvexPolygonShape2D> shape = sd[i].shape; if (shape.is_valid()) { - //FIXME: i need a way to know if the point is countained on the polygon instead of the rect + Rect2 bounding_rect; PoolVector2Array polygon; - bounding_rect.position = shape->get_segments()[0]; - for (int j = 0; j < shape->get_segments().size(); j += 2) { - polygon.push_back(shape->get_segments()[j] + shape_anchor); - bounding_rect.expand_to(shape->get_segments()[j] + shape_anchor); + bounding_rect.position = shape->get_points()[0]; + for (int j = 0; j < shape->get_points().size(); j++) { + polygon.push_back(shape->get_points()[j] + shape_anchor); + bounding_rect.expand_to(shape->get_points()[j] + shape_anchor); } if (bounding_rect.has_point(mb->get_position())) { current_shape = polygon; @@ -905,17 +980,17 @@ void AutotileEditor::_on_workspace_input(const Ref<InputEvent> &p_ie) { if (dragging_point >= 0) { dragging_point = -1; - PoolVector<Vector2> segments; - segments.resize(current_shape.size() * 2); - PoolVector<Vector2>::Write w = segments.write(); + Vector<Vector2> points; for (int i = 0; i < current_shape.size(); i++) { - w[(i << 1) + 0] = current_shape[i] - shape_anchor; - w[(i << 1) + 1] = current_shape[(i + 1) % current_shape.size()] - shape_anchor; + Vector2 p = current_shape[i]; + if (tools[SHAPE_GRID_SNAP]->is_pressed() || tools[SHAPE_KEEP_INSIDE_TILE]->is_pressed()) { + p = snap_point(p); + } + points.push_back(p - shape_anchor); } - w = PoolVector<Vector2>::Write(); - edited_collision_shape->set_segments(segments); + edited_collision_shape->set_points(points); workspace->update(); } @@ -982,11 +1057,53 @@ void AutotileEditor::_on_workspace_input(const Ref<InputEvent> &p_ie) { current_shape.push_back(pos); workspace->update(); } else { + int t_id = get_current_tile(); + if (t_id >= 0) { + if (edit_mode == EDITMODE_COLLISION) { + Vector<TileSet::ShapeData> sd = tile_set->tile_get_shapes(t_id); + for (int i = 0; i < sd.size(); i++) { + if (sd[i].autotile_coord == edited_shape_coord) { + Ref<ConvexPolygonShape2D> shape = sd[i].shape; + + if (!shape.is_null()) { + sd.remove(i); + tile_set->tile_set_shapes(get_current_tile(), sd); + edited_collision_shape = Ref<Shape2D>(); + workspace->update(); + } + break; + } + } + } else if (edit_mode == EDITMODE_OCCLUSION) { + Map<Vector2, Ref<OccluderPolygon2D> > map = tile_set->autotile_get_light_oclusion_map(t_id); + for (Map<Vector2, Ref<OccluderPolygon2D> >::Element *E = map.front(); E; E = E->next()) { + if (E->key() == edited_shape_coord) { + tile_set->autotile_set_light_occluder(get_current_tile(), Ref<OccluderPolygon2D>(), edited_shape_coord); + break; + } + } + + edited_occlusion_shape = Ref<OccluderPolygon2D>(); + workspace->update(); + } else if (edit_mode == EDITMODE_NAVIGATION) { + Map<Vector2, Ref<NavigationPolygon> > map = tile_set->autotile_get_navigation_map(t_id); + for (Map<Vector2, Ref<NavigationPolygon> >::Element *E = map.front(); E; E = E->next()) { + if (E->key() == edited_shape_coord) { + tile_set->autotile_set_navigation_polygon(t_id, Ref<NavigationPolygon>(), edited_shape_coord); + break; + } + } + + edited_navigation_shape = Ref<NavigationPolygon>(); + workspace->update(); + } + } + creating_shape = true; current_shape.resize(0); current_shape.push_back(snap_point(pos)); } - } else if (mb->is_pressed() && mb->get_button_index() == BUTTON_RIGHT) { + } else if (mb->is_pressed() && mb->get_button_index() == BUTTON_RIGHT && current_shape.size() > 2) { if (creating_shape) { close_shape(shape_anchor); } @@ -999,6 +1116,16 @@ void AutotileEditor::_on_workspace_input(const Ref<InputEvent> &p_ie) { } } break; } + + //Drag Middle Mouse + if (mm.is_valid()) { + if (mm->get_button_mask() & BUTTON_MASK_MIDDLE) { + + Vector2 dragged(mm->get_relative().x, mm->get_relative().y); + scroll->set_h_scroll(scroll->get_h_scroll() - dragged.x * workspace->get_scale().x); + scroll->set_v_scroll(scroll->get_v_scroll() - dragged.y * workspace->get_scale().x); + } + } } } @@ -1034,7 +1161,7 @@ void AutotileEditor::_on_tool_clicked(int p_tool) { if (index >= 0) { sd.remove(index); tile_set->tile_set_shapes(get_current_tile(), sd); - edited_collision_shape = Ref<ConcavePolygonShape2D>(); + edited_collision_shape = Ref<Shape2D>(); current_shape.resize(0); workspace->update(); } @@ -1081,6 +1208,43 @@ void AutotileEditor::_on_priority_changed(float val) { workspace->update(); } +void AutotileEditor::_on_grid_snap_toggled(bool p_val) { + if (p_val) + hb_grid->show(); + else + hb_grid->hide(); + workspace->update(); +} + +void AutotileEditor::_set_snap_step_x(float p_val) { + snap_step.x = p_val; + workspace->update(); +} + +void AutotileEditor::_set_snap_step_y(float p_val) { + snap_step.y = p_val; + workspace->update(); +} + +void AutotileEditor::_set_snap_off_x(float p_val) { + snap_offset.x = p_val; + workspace->update(); +} + +void AutotileEditor::_set_snap_off_y(float p_val) { + snap_offset.y = p_val; + workspace->update(); +} +void AutotileEditor::_set_snap_sep_x(float p_val) { + snap_separation.x = p_val; + workspace->update(); +} + +void AutotileEditor::_set_snap_sep_y(float p_val) { + snap_separation.y = p_val; + workspace->update(); +} + void AutotileEditor::draw_highlight_tile(Vector2 coord, const Vector<Vector2> &other_highlighted) { Vector2 size = tile_set->autotile_get_size(get_current_tile()); @@ -1103,6 +1267,49 @@ void AutotileEditor::draw_highlight_tile(Vector2 coord, const Vector<Vector2> &o } } +void AutotileEditor::draw_grid_snap() { + if (tools[SHAPE_GRID_SNAP]->is_pressed()) { + Color grid_color = Color(0.39, 0, 1, 0.2f); + Size2 s = workspace->get_size(); + + Vector2 size = tile_set->autotile_get_size(get_current_tile()); + + int width_count = (int)(s.width / (snap_step.x + snap_separation.x)); + int height_count = (int)(s.height / (snap_step.y + snap_separation.y)); + + if (snap_step.x != 0) { + int last_p = 0; + for (int i = 0; i <= width_count; i++) { + if (i == 0 && snap_offset.x != 0) { + last_p = snap_offset.x; + } + if (snap_separation.x != 0 && i != 0) { + workspace->draw_rect(Rect2(last_p, 0, snap_separation.x, s.height), grid_color); + last_p += snap_separation.x; + } else + workspace->draw_line(Point2(last_p, 0), Point2(last_p, s.height), grid_color); + + last_p += snap_step.x; + } + } + + if (snap_step.y != 0) { + int last_p = 0; + for (int i = 0; i <= height_count; i++) { + if (i == 0 && snap_offset.y != 0) { + last_p = snap_offset.y; + } + if (snap_separation.x != 0 && i != 0) { + workspace->draw_rect(Rect2(0, last_p, s.width, snap_separation.y), grid_color); + last_p += snap_separation.y; + } else + workspace->draw_line(Point2(0, last_p), Point2(s.width, last_p), grid_color); + last_p += snap_step.y; + } + } + } +} + void AutotileEditor::draw_polygon_shapes() { int t_id = get_current_tile(); @@ -1119,7 +1326,7 @@ void AutotileEditor::draw_polygon_shapes() { anchor.y += tile_set->autotile_get_spacing(t_id); anchor.x *= coord.x; anchor.y *= coord.y; - Ref<ConcavePolygonShape2D> shape = sd[i].shape; + Ref<ConvexPolygonShape2D> shape = sd[i].shape; if (shape.is_valid()) { Color c_bg; Color c_border; @@ -1138,19 +1345,22 @@ void AutotileEditor::draw_polygon_shapes() { colors.push_back(c_bg); } } else { - for (int j = 0; j < shape->get_segments().size(); j += 2) { - polygon.push_back(shape->get_segments()[j] + anchor); + for (int j = 0; j < shape->get_points().size(); j++) { + polygon.push_back(shape->get_points()[j] + anchor); colors.push_back(c_bg); } } - workspace->draw_polygon(polygon, colors); + if (polygon.size() > 2) { + workspace->draw_polygon(polygon, colors); + } if (coord == edited_shape_coord) { - for (int j = 0; j < shape->get_segments().size(); j += 2) { - workspace->draw_line(shape->get_segments()[j] + anchor, shape->get_segments()[j + 1] + anchor, c_border, 1, true); + for (int j = 0; j < shape->get_points().size() - 1; j++) { + workspace->draw_line(shape->get_points()[j] + anchor, shape->get_points()[j + 1] + anchor, c_border, 1, true); } + if (shape == edited_collision_shape) { for (int j = 0; j < current_shape.size(); j++) { - workspace->draw_circle(current_shape[j], 5, Color(1, 0, 0)); + workspace->draw_circle(current_shape[j], 8 / workspace->get_scale().x, Color(1, 0, 0, 0.7f)); } } } @@ -1198,7 +1408,7 @@ void AutotileEditor::draw_polygon_shapes() { workspace->draw_line(shape->get_polygon()[shape->get_polygon().size() - 1] + anchor, shape->get_polygon()[0] + anchor, c_border, 1, true); if (shape == edited_occlusion_shape) { for (int j = 0; j < current_shape.size(); j++) { - workspace->draw_circle(current_shape[j], 5, Color(1, 0, 0)); + workspace->draw_circle(current_shape[j], 8 / workspace->get_scale().x, Color(1, 0, 0)); } } } @@ -1248,7 +1458,7 @@ void AutotileEditor::draw_polygon_shapes() { } if (shape == edited_navigation_shape) { for (int j = 0; j < current_shape.size(); j++) { - workspace->draw_circle(current_shape[j], 5, Color(1, 0, 0)); + workspace->draw_circle(current_shape[j], 8 / workspace->get_scale().x, Color(1, 0, 0)); } } } @@ -1270,22 +1480,30 @@ void AutotileEditor::close_shape(const Vector2 &shape_anchor) { creating_shape = false; if (edit_mode == EDITMODE_COLLISION) { - Ref<ConcavePolygonShape2D> shape = memnew(ConcavePolygonShape2D); + if (current_shape.size() >= 3) { + Ref<ConvexPolygonShape2D> shape = memnew(ConvexPolygonShape2D); - PoolVector<Vector2> segments; - segments.resize(current_shape.size() * 2); - PoolVector<Vector2>::Write w = segments.write(); + Vector<Vector2> segments; + float p_total = 0; - for (int i = 0; i < current_shape.size(); i++) { - w[(i << 1) + 0] = current_shape[i] - shape_anchor; - w[(i << 1) + 1] = current_shape[(i + 1) % current_shape.size()] - shape_anchor; - } + for (int i = 0; i < current_shape.size(); i++) { + segments.push_back(current_shape[i] - shape_anchor); - w = PoolVector<Vector2>::Write(); - shape->set_segments(segments); + if (i != current_shape.size() - 1) + p_total += ((current_shape[i + 1].x - current_shape[i].x) * (-current_shape[i + 1].y + (-current_shape[i].y))); + else + p_total += ((current_shape[0].x - current_shape[i].x) * (-current_shape[0].y + (-current_shape[i].y))); + } + + if (p_total < 0) + segments.invert(); + + shape->set_points(segments); + + tile_set->tile_add_shape(get_current_tile(), shape, Transform2D(), false, edited_shape_coord); + edited_collision_shape = shape; + } - tile_set->tile_add_shape(get_current_tile(), shape, Transform2D(), false, edited_shape_coord); - edited_collision_shape = shape; tools[TOOL_SELECT]->set_pressed(true); workspace->update(); } else if (edit_mode == EDITMODE_OCCLUSION) { @@ -1338,6 +1556,10 @@ Vector2 AutotileEditor::snap_point(const Vector2 &point) { anchor.x *= (tile_size.x + spacing); anchor.y *= (tile_size.y + spacing); Rect2 region(anchor, tile_size); + if (tools[SHAPE_GRID_SNAP]->is_pressed()) { + p.x = Math::snap_scalar_seperation(snap_offset.x, snap_step.x, p.x, snap_separation.x); + p.y = Math::snap_scalar_seperation(snap_offset.y, snap_step.y, p.y, snap_separation.y); + } if (tools[SHAPE_KEEP_INSIDE_TILE]->is_pressed()) { if (p.x < region.position.x) p.x = region.position.x; @@ -1348,23 +1570,6 @@ Vector2 AutotileEditor::snap_point(const Vector2 &point) { if (p.y > region.position.y + region.size.y) p.y = region.position.y + region.size.y; } - if (tools[SHAPE_SNAP_TO_BITMASK_GRID]->is_pressed()) { - Vector2 p2 = p; - if (tile_set->autotile_get_bitmask_mode(get_current_tile()) == TileSet::BITMASK_2X2) { - p2.x = Math::stepify(p2.x, tile_size.x / 2); - p2.y = Math::stepify(p2.y, tile_size.y / 2); - if ((p2 - p).length_squared() <= MAX(tile_size.y / 4, MIN_DISTANCE_SQUARED)) { - p = p2; - } - } else if (tile_set->autotile_get_bitmask_mode(get_current_tile()) == TileSet::BITMASK_3X3) { - p2.x = Math::stepify(p2.x, tile_size.x / 3); - p2.y = Math::stepify(p2.y, tile_size.y / 3); - if ((p2 - p).length_squared() <= MAX(tile_size.y / 6, MIN_DISTANCE_SQUARED)) { - p = p2; - } - } - } - p.floor(); return p; } diff --git a/editor/plugins/tile_set_editor_plugin.h b/editor/plugins/tile_set_editor_plugin.h index d60d0d5c3c..0f66f04cb1 100644 --- a/editor/plugins/tile_set_editor_plugin.h +++ b/editor/plugins/tile_set_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -33,7 +33,7 @@ #include "editor/editor_name_dialog.h" #include "editor/editor_node.h" #include "scene/2d/sprite.h" -#include "scene/resources/concave_polygon_shape_2d.h" +#include "scene/resources/convex_polygon_shape_2d.h" #include "scene/resources/tile_set.h" class AutotileEditorHelper; @@ -70,7 +70,7 @@ class AutotileEditor : public Control { SHAPE_CREATE_FROM_BITMASK, SHAPE_CREATE_FROM_NOT_BITMASK, SHAPE_KEEP_INSIDE_TILE, - SHAPE_SNAP_TO_BITMASK_GRID, + SHAPE_GRID_SNAP, ZOOM_OUT, ZOOM_1, ZOOM_IN, @@ -78,7 +78,7 @@ class AutotileEditor : public Control { }; Ref<TileSet> tile_set; - Ref<ConcavePolygonShape2D> edited_collision_shape; + Ref<ConvexPolygonShape2D> edited_collision_shape; Ref<OccluderPolygon2D> edited_occlusion_shape; Ref<NavigationPolygon> edited_navigation_shape; @@ -86,15 +86,27 @@ class AutotileEditor : public Control { int current_item_index; Sprite *preview; + ScrollContainer *scroll; Control *workspace_container; Control *workspace; Button *tool_editmode[EDITMODE_MAX]; HBoxContainer *tool_containers[TOOLBAR_MAX]; HBoxContainer *toolbar; + HBoxContainer *hb_grid; ToolButton *tools[TOOL_MAX]; SpinBox *spin_priority; + SpinBox *sb_step_y; + SpinBox *sb_step_x; + SpinBox *sb_off_y; + SpinBox *sb_off_x; + SpinBox *sb_sep_y; + SpinBox *sb_sep_x; EditMode edit_mode; + Vector2 snap_step; + Vector2 snap_offset; + Vector2 snap_separation; + bool creating_shape; int dragging_point; Vector2 edited_shape_coord; @@ -119,9 +131,16 @@ private: void _on_workspace_input(const Ref<InputEvent> &p_ie); void _on_tool_clicked(int p_tool); void _on_priority_changed(float val); + void _on_grid_snap_toggled(bool p_val); + void _set_snap_step_x(float p_val); + void _set_snap_step_y(float p_val); + void _set_snap_off_x(float p_val); + void _set_snap_off_y(float p_val); + void _set_snap_sep_x(float p_val); + void _set_snap_sep_y(float p_val); void draw_highlight_tile(Vector2 coord, const Vector<Vector2> &other_highlighted = Vector<Vector2>()); - void draw_grid(const Vector2 &size, int spacing); + void draw_grid_snap(); void draw_polygon_shapes(); void close_shape(const Vector2 &shape_anchor); Vector2 snap_point(const Vector2 &point); diff --git a/editor/progress_dialog.cpp b/editor/progress_dialog.cpp index e02925e377..70866df8ec 100644 --- a/editor/progress_dialog.cpp +++ b/editor/progress_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/progress_dialog.h b/editor/progress_dialog.h index b13ea606bc..a914606e6d 100644 --- a/editor/progress_dialog.h +++ b/editor/progress_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_export.cpp b/editor/project_export.cpp index 3c31b70564..dfcd3da42a 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_export.h b/editor/project_export.h index b258112fa8..d793e21f45 100644 --- a/editor/project_export.h +++ b/editor/project_export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 00488a2a88..eb5cec2a2e 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -89,33 +89,50 @@ private: String created_folder_path; void set_message(const String &p_msg, MessageType p_type = MESSAGE_SUCCESS) { + msg->set_text(p_msg); - if (p_msg == "") { - status_btn->set_icon(get_icon("StatusSuccess", "EditorIcons")); - return; - } - msg->hide(); + Ref<Texture> current_icon = status_btn->get_icon(); + switch (p_type) { - case MESSAGE_ERROR: + + case MESSAGE_ERROR: { + msg->add_color_override("font_color", get_color("error_color", "Editor")); - status_btn->set_icon(get_icon("StatusError", "EditorIcons")); - msg->show(); - break; - case MESSAGE_WARNING: + Ref<Texture> new_icon = get_icon("StatusError", "EditorIcons"); + if (current_icon != new_icon) { + + status_btn->set_icon(new_icon); + msg->show(); + } + } break; + case MESSAGE_WARNING: { + msg->add_color_override("font_color", get_color("warning_color", "Editor")); - status_btn->set_icon(get_icon("StatusWarning", "EditorIcons")); - break; - case MESSAGE_SUCCESS: + Ref<Texture> new_icon = get_icon("StatusWarning", "EditorIcons"); + if (current_icon != new_icon) { + + status_btn->set_icon(new_icon); + if (current_icon != get_icon("StatusSuccess", "EditorIcons")) + msg->hide(); + } + } break; + case MESSAGE_SUCCESS: { + msg->add_color_override("font_color", get_color("success_color", "Editor")); - status_btn->set_icon(get_icon("StatusSuccess", "EditorIcons")); - break; + Ref<Texture> new_icon = get_icon("StatusSuccess", "EditorIcons"); + if (current_icon != new_icon) { + + status_btn->set_icon(new_icon); + msg->hide(); + } + } break; } + + set_size(Size2(500, 0) * EDSCALE); } String _test_path() { - set_message(" "); - get_ok()->set_disabled(true); DirAccess *d = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); String valid_path; if (d->change_dir(project_path->get_text()) == OK) { @@ -127,6 +144,7 @@ private: if (valid_path == "") { set_message(TTR("The path does not exist."), MESSAGE_ERROR); memdelete(d); + get_ok()->set_disabled(true); return ""; } @@ -136,6 +154,7 @@ private: set_message(TTR("Please choose a 'project.godot' file."), MESSAGE_ERROR); memdelete(d); + get_ok()->set_disabled(true); return ""; } @@ -155,19 +174,22 @@ private: d->list_dir_end(); if (!is_empty) { + set_message(TTR("Your project will be created in a non empty folder (you might want to create a new folder)."), MESSAGE_WARNING); + memdelete(d); + get_ok()->set_disabled(false); + return valid_path; } - } else { - - if (d->file_exists("project.godot")) { + } else if (d->file_exists("project.godot")) { - set_message(TTR("Please choose a folder that does not contain a 'project.godot' file."), MESSAGE_ERROR); - memdelete(d); - return ""; - } + set_message(TTR("Please choose a folder that does not contain a 'project.godot' file."), MESSAGE_ERROR); + memdelete(d); + get_ok()->set_disabled(true); + return ""; } + set_message(TTR("That's a BINGO!")); memdelete(d); get_ok()->set_disabled(false); return valid_path; @@ -213,7 +235,6 @@ private: } String sp = p.simplify_path(); project_path->set_text(sp); - set_message(" "); // just so it does not disappear get_ok()->call_deferred("grab_focus"); } @@ -242,21 +263,32 @@ private: void _create_folder() { - if (project_name->get_text() == "" || created_folder_path != "") { + if (project_name->get_text() == "" || created_folder_path != "") return; - } DirAccess *d = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); if (d->change_dir(project_path->get_text()) == OK) { + if (!d->dir_exists(project_name->get_text())) { + if (d->make_dir(project_name->get_text()) == OK) { + d->change_dir(project_name->get_text()); project_path->set_text(d->get_current_dir()); created_folder_path = d->get_current_dir(); create_dir->set_disabled(true); + } else { + + dialog_error->set_text(TTR("Couldn't create folder.")); + dialog_error->popup_centered_minsize(); } + } else { + + dialog_error->set_text(TTR("There is already a folder in this path with the specified name.")); + dialog_error->popup_centered_minsize(); } } + memdelete(d); } @@ -337,6 +369,7 @@ private: if (!pkg) { dialog_error->set_text(TTR("Error opening package file, not in zip format.")); + dialog_error->popup_centered_minsize(); return; } @@ -448,7 +481,10 @@ private: } void _toggle_message() { + msg->set_visible(!msg->is_visible()); + if (!msg->is_visible()) + set_size(Size2(500, 0) * EDSCALE); } void cancel_pressed() { @@ -457,6 +493,15 @@ private: project_path->clear(); project_name->clear(); + + if (status_btn->get_icon() == get_icon("StatusError", "EditorIcons")) + msg->show(); + } + + void _notification(int p_what) { + + if (p_what == MainLoop::NOTIFICATION_WM_QUIT_REQUEST) + _remove_created_folder(); } protected: @@ -536,21 +581,21 @@ public: if (mode == MODE_IMPORT) { set_title(TTR("Import Existing Project")); - get_ok()->set_text(TTR("Import")); + get_ok()->set_text(TTR("Import & Edit")); name_container->hide(); project_path->grab_focus(); } else if (mode == MODE_NEW) { set_title(TTR("Create New Project")); - get_ok()->set_text(TTR("Create")); + get_ok()->set_text(TTR("Create & Edit")); name_container->show(); project_name->grab_focus(); } else if (mode == MODE_INSTALL) { set_title(TTR("Install Project:") + " " + zip_title); - get_ok()->set_text(TTR("Install")); + get_ok()->set_text(TTR("Install & Edit")); name_container->hide(); project_path->grab_focus(); } @@ -558,7 +603,7 @@ public: _test_path(); } - popup_centered(Size2(500, 125) * EDSCALE); + popup_centered(Size2(500, 0) * EDSCALE); } ProjectDialog() { @@ -610,7 +655,6 @@ public: pphb->add_child(browse); msg = memnew(Label); - msg->set_text(TTR("That's a BINGO!")); msg->set_align(Label::ALIGN_CENTER); msg->hide(); vb->add_child(msg); @@ -652,19 +696,20 @@ struct ProjectItem { void ProjectManager::_notification(int p_what) { - if (p_what == NOTIFICATION_ENTER_TREE) { - - Engine::get_singleton()->set_editor_hint(false); - - } else if (p_what == NOTIFICATION_READY) { + switch (p_what) { + case NOTIFICATION_ENTER_TREE: { - if (scroll_childs->get_child_count() == 0) { - open_templates->popup_centered_minsize(); - } + Engine::get_singleton()->set_editor_hint(false); + } break; + case NOTIFICATION_READY: { - } else if (p_what == NOTIFICATION_VISIBILITY_CHANGED) { + if (scroll_childs->get_child_count() == 0) + open_templates->popup_centered_minsize(); + } break; + case NOTIFICATION_VISIBILITY_CHANGED: { - set_process_unhandled_input(is_visible_in_tree()); + set_process_unhandled_input(is_visible_in_tree()); + } break; } } @@ -1039,9 +1084,9 @@ void ProjectManager::_load_recent_projects() { favorite->set_normal_texture(favorite_icon); if (!is_favorite) favorite->set_modulate(Color(1, 1, 1, 0.2)); - favorite->set_v_size_flags(SIZE_EXPAND); favorite->connect("pressed", this, "_favorite_pressed", varray(hb)); favorite_box->add_child(favorite); + favorite_box->set_alignment(BoxContainer::ALIGN_CENTER); hb->add_child(favorite_box); TextureRect *tf = memnew(TextureRect); @@ -1214,7 +1259,6 @@ void ProjectManager::_run_project_confirm() { Error err = OS::get_singleton()->execute(exec, args, false, &pid); ERR_FAIL_COND(err); } - //get_scene()->quit(); do not quit } void ProjectManager::_run_project() { @@ -1496,7 +1540,7 @@ ProjectManager::ProjectManager() { String cp; cp.push_back(0xA9); cp.push_back(0); - OS::get_singleton()->set_window_title(VERSION_NAME + String(" - ") + TTR("Project Manager") + " - " + cp + " 2008-2017 Juan Linietsky, Ariel Manzur & Godot Contributors"); + OS::get_singleton()->set_window_title(VERSION_NAME + String(" - ") + TTR("Project Manager") + " - " + cp + " 2007-2018 Juan Linietsky, Ariel Manzur & Godot Contributors"); HBoxContainer *top_hb = memnew(HBoxContainer); vb->add_child(top_hb); @@ -1556,9 +1600,6 @@ ProjectManager::ProjectManager() { scroll_childs->set_h_size_flags(SIZE_EXPAND_FILL); scroll->add_child(scroll_childs); - //HBoxContainer *hb = memnew( HBoxContainer ); - //vb->add_child(hb); - Button *open = memnew(Button); open->set_text(TTR("Edit")); tree_vb->add_child(open); @@ -1663,7 +1704,7 @@ ProjectManager::ProjectManager() { cancel->connect("pressed", this, "_exit_dialog"); vb->add_child(cc); - // + ////////////////////////////////////////////////////////////// language_restart_ask = memnew(ConfirmationDialog); language_restart_ask->get_ok()->set_text(TTR("Restart Now")); @@ -1772,12 +1813,9 @@ void ProjectListFilter::_filter_option_selected(int p_idx) { } void ProjectListFilter::_notification(int p_what) { - switch (p_what) { - case NOTIFICATION_ENTER_TREE: { - clear_search_button->set_icon(get_icon("Close", "EditorIcons")); - } break; - } + if (p_what == NOTIFICATION_ENTER_TREE) + clear_search_button->set_icon(get_icon("Close", "EditorIcons")); } void ProjectListFilter::_bind_methods() { diff --git a/editor/project_manager.h b/editor/project_manager.h index 4080f1df22..7fc938f660 100644 --- a/editor/project_manager.h +++ b/editor/project_manager.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 6f8573cd70..06befe8f3c 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1460,7 +1460,6 @@ void ProjectSettingsEditor::_update_translations() { t2->set_editable(1, true); t2->set_metadata(1, path); int idx = langs.find(locale); - //print_line("find " + locale + " at " + itos(idx)); if (idx < 0) idx = 0; @@ -1709,7 +1708,6 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { add = memnew(Button); hbc->add_child(add); - add->set_custom_minimum_size(Size2(150, 0) * EDSCALE); add->set_text(TTR("Add")); add->set_disabled(true); add->connect("pressed", this, "_action_add"); diff --git a/editor/project_settings_editor.h b/editor/project_settings_editor.h index dbca158133..be5a51dd45 100644 --- a/editor/project_settings_editor.h +++ b/editor/project_settings_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp index 47feac9a12..1dcc5a3231 100644 --- a/editor/property_editor.cpp +++ b/editor/property_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -335,6 +335,8 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: easing_draw->hide(); spinbox->hide(); slider->hide(); + menu->clear(); + menu->set_size(Size2(1, 1) * EDSCALE); for (int i = 0; i < MAX_VALUE_EDITORS; i++) { @@ -413,7 +415,6 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: } else if (hint == PROPERTY_HINT_ENUM) { - menu->clear(); Vector<String> options = hint_text.split(","); for (int i = 0; i < options.size(); i++) { if (options[i].find(":") != -1) { @@ -494,7 +495,6 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: easing_draw->show(); set_size(Size2(200, 150) * EDSCALE); } else if (hint == PROPERTY_HINT_FLAGS) { - menu->clear(); Vector<String> flags = hint_text.split(","); for (int i = 0; i < flags.size(); i++) { String flag = flags[i]; @@ -536,7 +536,6 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: config_action_buttons(names); } else if (hint == PROPERTY_HINT_ENUM) { - menu->clear(); Vector<String> options = hint_text.split(","); for (int i = 0; i < options.size(); i++) { menu->add_item(options[i], i); @@ -869,9 +868,6 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: if (hint != PROPERTY_HINT_RESOURCE_TYPE) break; - menu->clear(); - menu->set_size(Size2(1, 1) * EDSCALE); - if (p_name == "script" && hint_text == "Script" && Object::cast_to<Node>(owner)) { menu->add_icon_item(get_icon("Script", "EditorIcons"), TTR("New Script"), OBJ_MENU_NEW_SCRIPT); menu->add_separator(); @@ -1764,24 +1760,40 @@ void CustomPropertyEditor::_focus_exit() { void CustomPropertyEditor::config_action_buttons(const List<String> &p_strings) { - int cell_width = 60; - int cell_height = 25; - int cell_margin = 5; + Ref<StyleBox> sb = get_stylebox("panel"); + int margin_top = sb->get_margin(MARGIN_TOP); + int margin_left = sb->get_margin(MARGIN_LEFT); + int margin_bottom = sb->get_margin(MARGIN_BOTTOM); + int margin_right = sb->get_margin(MARGIN_RIGHT); - set_size(Size2(cell_margin + (cell_width + cell_margin) * p_strings.size(), (cell_margin * 2) + cell_height) * EDSCALE); + int max_width = 0; + int height = 0; for (int i = 0; i < MAX_ACTION_BUTTONS; i++) { if (i < p_strings.size()) { + action_buttons[i]->show(); action_buttons[i]->set_text(p_strings[i]); - action_buttons[i]->set_position(Point2(cell_margin + (cell_width + cell_margin) * i, cell_margin) * EDSCALE); - action_buttons[i]->set_size(Size2(cell_width, cell_height - cell_margin * 2) * EDSCALE); - action_buttons[i]->set_flat(true); + + Size2 btn_m_size = action_buttons[i]->get_minimum_size(); + if (btn_m_size.width > max_width) + max_width = btn_m_size.width; + } else { action_buttons[i]->hide(); } } + + for (int i = 0; i < p_strings.size(); i++) { + + Size2 btn_m_size = action_buttons[i]->get_size(); + action_buttons[i]->set_position(Point2(0, height) + Point2(margin_left, margin_top)); + action_buttons[i]->set_size(Size2(max_width, btn_m_size.height)); + + height += btn_m_size.height; + } + set_size(Size2(max_width, height) + Size2(margin_left + margin_right, margin_top + margin_bottom)); } void CustomPropertyEditor::config_value_editors(int p_amount, int p_columns, int p_label_w, const List<String> &p_strings) { @@ -1902,6 +1914,7 @@ CustomPropertyEditor::CustomPropertyEditor() { Vector<Variant> binds; binds.push_back(i); action_buttons[i]->connect("pressed", this, "_action_pressed", binds); + action_buttons[i]->set_flat(true); } color_picker = NULL; @@ -3956,11 +3969,13 @@ void PropertyEditor::_edit_button(Object *p_item, int p_column, int p_button) { if (t == Variant::NODE_PATH) { Variant v = obj->get(n); - custom_editor->edit(obj, n, (Variant::Type)t, v, h, ht); Rect2 where = tree->get_item_rect(ti, 1); where.position -= tree->get_scroll(); - where.position += tree->get_global_position(); + where.position += tree->get_global_position() + Point2(where.size.width, 0); + for (int i = ti->get_button_count(p_column) - 1; i >= p_button; i--) + where.position.x -= ti->get_button(p_column, i)->get_width(); custom_editor->set_position(where.position); + custom_editor->edit(obj, n, (Variant::Type)t, v, h, ht); custom_editor->popup(); } else if (t == Variant::STRING) { @@ -3971,7 +3986,9 @@ void PropertyEditor::_edit_button(Object *p_item, int p_column, int p_button) { Rect2 where = tree->get_item_rect(ti, 1); where.position -= tree->get_scroll(); - where.position += tree->get_global_position(); + where.position += tree->get_global_position() + Point2(where.size.width, 0); + for (int i = ti->get_button_count(p_column) - 1; i >= p_button; i--) + where.position.x -= ti->get_button(p_column, i)->get_width(); custom_editor->set_position(where.position); custom_editor->popup(); } else { @@ -4591,6 +4608,8 @@ SectionedPropertyEditor::SectionedPropertyEditor() { search_box = NULL; + add_constant_override("autohide", 1); // Fixes the dragger always showing up + VBoxContainer *left_vb = memnew(VBoxContainer); left_vb->set_custom_minimum_size(Size2(170, 0) * EDSCALE); add_child(left_vb); @@ -4602,6 +4621,7 @@ SectionedPropertyEditor::SectionedPropertyEditor() { left_vb->add_child(sections, true); VBoxContainer *right_vb = memnew(VBoxContainer); + right_vb->set_custom_minimum_size(Size2(300, 0) * EDSCALE); right_vb->set_h_size_flags(SIZE_EXPAND_FILL); add_child(right_vb); diff --git a/editor/property_editor.h b/editor/property_editor.h index 115ce07339..bd088ad0f6 100644 --- a/editor/property_editor.h +++ b/editor/property_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/property_selector.cpp b/editor/property_selector.cpp index 77b73e4635..eac5e2efd7 100644 --- a/editor/property_selector.cpp +++ b/editor/property_selector.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/property_selector.h b/editor/property_selector.h index eb745d776f..1f6903de20 100644 --- a/editor/property_selector.h +++ b/editor/property_selector.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/pvrtc_compress.cpp b/editor/pvrtc_compress.cpp index 575ff40287..aace3e895b 100644 --- a/editor/pvrtc_compress.cpp +++ b/editor/pvrtc_compress.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/pvrtc_compress.h b/editor/pvrtc_compress.h index cd11f260fe..2d626aa9ef 100644 --- a/editor/pvrtc_compress.h +++ b/editor/pvrtc_compress.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/quick_open.cpp b/editor/quick_open.cpp index 4bcbe073ee..c2a194ebaf 100644 --- a/editor/quick_open.cpp +++ b/editor/quick_open.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/quick_open.h b/editor/quick_open.h index 5b91965920..52f9c08ae6 100644 --- a/editor/quick_open.h +++ b/editor/quick_open.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/register_exporters.h b/editor/register_exporters.h index fefa1477b8..9645ffddea 100644 --- a/editor/register_exporters.h +++ b/editor/register_exporters.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/reparent_dialog.cpp b/editor/reparent_dialog.cpp index 5e765fe70f..7aa8d849e6 100644 --- a/editor/reparent_dialog.cpp +++ b/editor/reparent_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/reparent_dialog.h b/editor/reparent_dialog.h index 667c7fe705..2f185b3d88 100644 --- a/editor/reparent_dialog.h +++ b/editor/reparent_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/run_settings_dialog.cpp b/editor/run_settings_dialog.cpp index a76e94a173..dede4c6dc8 100644 --- a/editor/run_settings_dialog.cpp +++ b/editor/run_settings_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/run_settings_dialog.h b/editor/run_settings_dialog.h index 225d5ee085..f9c09b06c2 100644 --- a/editor/run_settings_dialog.h +++ b/editor/run_settings_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 6fbca5c904..e7da78a35c 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -307,7 +307,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { } break; case TOOL_REPLACE: { - create_dialog->popup_create(false); + create_dialog->popup_create(false, true); } break; case TOOL_ATTACH_SCRIPT: { @@ -417,7 +417,6 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { if (editor_selection->is_selected(edited_scene)) { current_option = -1; - //accept->get_cancel()->hide(); accept->get_ok()->set_text(TTR("I see..")); accept->set_text(TTR("This operation can't be done on the tree root.")); accept->popup_centered_minsize(); @@ -1360,6 +1359,7 @@ void SceneTreeDock::_create() { editor_data->get_undo_redo().commit_action(); editor->push_item(c); editor_selection->clear(); + editor_selection->add_node(child); if (Object::cast_to<Control>(c)) { //make editor more comfortable, so some controls don't appear super shrunk Control *ct = Object::cast_to<Control>(c); @@ -1699,7 +1699,7 @@ void SceneTreeDock::_add_children_to_popup(Object *p_obj, int p_depth) { icon = get_icon("Object", "EditorIcons"); if (menu->get_item_count() == 0) { - menu->add_submenu_item(TTR("Sub-Resources:"), "Sub-Resources"); + menu->add_submenu_item(TTR("Sub-Resources"), "Sub-Resources"); } int index = menu_subresources->get_item_count(); menu_subresources->add_icon_item(icon, E->get().name.capitalize(), EDIT_SUBRESOURCE_BASE + subresources.size()); @@ -1733,6 +1733,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) { if (selection.size() == 1) { subresources.clear(); + menu_subresources->clear(); _add_children_to_popup(selection.front()->get(), 0); if (menu->get_item_count() > 0) menu->add_separator(); diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h index 6a281bb7e8..0a5b20ed9c 100644 --- a/editor/scene_tree_dock.h +++ b/editor/scene_tree_dock.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index 827e8d9ee4..957f50a052 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/scene_tree_editor.h b/editor/scene_tree_editor.h index 88d60f9b8a..542b32d4cd 100644 --- a/editor/scene_tree_editor.h +++ b/editor/scene_tree_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp index 97f442b0ec..96863a59d2 100644 --- a/editor/script_create_dialog.cpp +++ b/editor/script_create_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -232,7 +232,7 @@ void ScriptCreateDialog::_lang_changed(int l) { String path = file_path->get_text(); String extension = ""; if (path != "") { - if (path.find(".") >= 0) { + if (path.find(".") != -1) { extension = path.get_extension(); } @@ -359,16 +359,14 @@ void ScriptCreateDialog::_path_changed(const String &p_path) { return; } - if (p.find("/") || p.find("\\")) { - DirAccess *d = DirAccess::create(DirAccess::ACCESS_RESOURCES); - if (d->change_dir(p.get_base_dir()) != OK) { - _msg_path_valid(false, TTR("Invalid base path")); - memdelete(d); - _update_dialog(); - return; - } + DirAccess *d = DirAccess::create(DirAccess::ACCESS_RESOURCES); + if (d->change_dir(p.get_base_dir()) != OK) { + _msg_path_valid(false, TTR("Invalid base path")); memdelete(d); + _update_dialog(); + return; } + memdelete(d); /* Does file already exist */ diff --git a/editor/script_create_dialog.h b/editor/script_create_dialog.h index 1cff9871d8..882e4796f9 100644 --- a/editor/script_create_dialog.h +++ b/editor/script_create_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/script_editor_debugger.cpp b/editor/script_editor_debugger.cpp index a1c1ec3351..f1a5aa4654 100644 --- a/editor/script_editor_debugger.cpp +++ b/editor/script_editor_debugger.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1686,6 +1686,45 @@ void ScriptEditorDebugger::_clear_remote_objects() { remote_objects.clear(); } +void ScriptEditorDebugger::_clear_errors_list() { + + error_list->clear(); + error_count = 0; + _notification(NOTIFICATION_PROCESS); +} + +// Right click on specific file(s) or folder(s). +void ScriptEditorDebugger::_error_list_item_rmb_selected(int p_item, const Vector2 &p_pos) { + + item_menu->clear(); + item_menu->set_size(Size2(1, 1)); + + // Allow specific actions only on one item. + bool single_item_selected = error_list->get_selected_items().size() == 1; + + if (single_item_selected) { + item_menu->add_icon_item(get_icon("CopyNodePath", "EditorIcons"), TTR("Copy Error"), ITEM_MENU_COPY_ERROR); + } + + if (item_menu->get_item_count() > 0) { + item_menu->set_position(error_list->get_global_position() + p_pos); + item_menu->popup(); + } +} + +void ScriptEditorDebugger::_item_menu_id_pressed(int p_option) { + + switch (p_option) { + + case ITEM_MENU_COPY_ERROR: { + String title = error_list->get_item_text(error_list->get_current()); + String desc = error_list->get_item_tooltip(error_list->get_current()); + + OS::get_singleton()->set_clipboard(title + "\n----------\n" + desc); + } break; + } +} + void ScriptEditorDebugger::_bind_methods() { ClassDB::bind_method(D_METHOD("_stack_dump_frame_selected"), &ScriptEditorDebugger::_stack_dump_frame_selected); @@ -1705,6 +1744,10 @@ void ScriptEditorDebugger::_bind_methods() { ClassDB::bind_method(D_METHOD("_error_stack_selected"), &ScriptEditorDebugger::_error_stack_selected); ClassDB::bind_method(D_METHOD("_profiler_activate"), &ScriptEditorDebugger::_profiler_activate); ClassDB::bind_method(D_METHOD("_profiler_seeked"), &ScriptEditorDebugger::_profiler_seeked); + ClassDB::bind_method(D_METHOD("_clear_errors_list"), &ScriptEditorDebugger::_clear_errors_list); + + ClassDB::bind_method(D_METHOD("_error_list_item_rmb_selected"), &ScriptEditorDebugger::_error_list_item_rmb_selected); + ClassDB::bind_method(D_METHOD("_item_menu_id_pressed"), &ScriptEditorDebugger::_item_menu_id_pressed); ClassDB::bind_method(D_METHOD("_paused"), &ScriptEditorDebugger::_paused); @@ -1829,9 +1872,31 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) { error_split = memnew(HSplitContainer); VBoxContainer *errvb = memnew(VBoxContainer); + HBoxContainer *errhb = memnew(HBoxContainer); errvb->set_h_size_flags(SIZE_EXPAND_FILL); + Label *velb = memnew(Label(TTR("Errors:"))); + velb->set_h_size_flags(SIZE_EXPAND_FILL); + errhb->add_child(velb); + + clearbutton = memnew(Button); + clearbutton->set_text(TTR("Clear")); + clearbutton->connect("pressed", this, "_clear_errors_list"); + errhb->add_child(clearbutton); + errvb->add_child(errhb); + error_list = memnew(ItemList); - errvb->add_margin_child(TTR("Errors:"), error_list, true); + error_list->set_v_size_flags(SIZE_EXPAND_FILL); + error_list->set_h_size_flags(SIZE_EXPAND_FILL); + error_list->connect("item_rmb_selected", this, "_error_list_item_rmb_selected"); + error_list->set_allow_rmb_select(true); + error_list->set_autoscroll_to_bottom(true); + + item_menu = memnew(PopupMenu); + item_menu->connect("id_pressed", this, "_item_menu_id_pressed"); + error_list->add_child(item_menu); + + errvb->add_child(error_list); + error_split->add_child(errvb); errvb = memnew(VBoxContainer); diff --git a/editor/script_editor_debugger.h b/editor/script_editor_debugger.h index 82dcba469c..7f8348d82f 100644 --- a/editor/script_editor_debugger.h +++ b/editor/script_editor_debugger.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -62,6 +62,10 @@ class ScriptEditorDebugger : public Control { MESSAGE_SUCCESS, }; + enum ItemMenu { + ITEM_MENU_COPY_ERROR, + }; + AcceptDialog *msgdialog; Button *debugger_button; @@ -85,6 +89,8 @@ class ScriptEditorDebugger : public Control { ItemList *error_list; ItemList *error_stack; Tree *inspect_scene_tree; + Button *clearbutton; + PopupMenu *item_menu; int error_count; int last_error_count; @@ -175,6 +181,10 @@ class ScriptEditorDebugger : public Control { void _set_remote_object(ObjectID p_id, ScriptEditorDebuggerInspectedObject *p_obj); void _clear_remote_objects(); + void _clear_errors_list(); + + void _error_list_item_rmb_selected(int p_item, const Vector2 &p_pos); + void _item_menu_id_pressed(int p_option); protected: void _notification(int p_what); diff --git a/editor/settings_config_dialog.cpp b/editor/settings_config_dialog.cpp index 2bdc824248..1919504b5c 100644 --- a/editor/settings_config_dialog.cpp +++ b/editor/settings_config_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -61,6 +61,8 @@ void EditorSettingsDialog::_settings_property_edited(const String &p_name) { property_editor->get_property_editor()->update_tree(); } else if (full_name == "interface/theme/accent_color" || full_name == "interface/theme/base_color" || full_name == "interface/theme/contrast") { EditorSettings::get_singleton()->set_manually("interface/theme/preset", 6); // set preset to Custom + } else if (full_name.begins_with("text_editor/highlighting")) { + EditorSettings::get_singleton()->set_manually("text_editor/theme/color_theme", "Custom"); } } diff --git a/editor/settings_config_dialog.h b/editor/settings_config_dialog.h index 64b8833821..6925de0777 100644 --- a/editor/settings_config_dialog.h +++ b/editor/settings_config_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp index 5359f9894c..b06d25d8ee 100644 --- a/editor/spatial_editor_gizmos.cpp +++ b/editor/spatial_editor_gizmos.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -2829,11 +2829,7 @@ void BakedIndirectLightGizmo::redraw() { Vector<Vector3> lines; Vector3 extents = baker->get_extents(); - static const int subdivs[BakedLightmap::SUBDIV_MAX] = { 64, 128, 256, 512 }; - AABB aabb = AABB(-extents, extents * 2); - int subdiv = subdivs[baker->get_bake_subdiv()]; - float cell_size = aabb.get_longest_axis_size() / subdiv; for (int i = 0; i < 12; i++) { Vector3 a, b; @@ -2968,227 +2964,220 @@ NavigationMeshSpatialGizmo::NavigationMeshSpatialGizmo(NavigationMeshInstance *p navmesh = p_navmesh; } -////// -/// -/// + ////// + /// + /// + /// -void PinJointSpatialGizmo::redraw() { +#define BODY_A_RADIUS 0.25 +#define BODY_B_RADIUS 0.27 - clear(); - Vector<Vector3> cursor_points; - float cs = 0.25; - cursor_points.push_back(Vector3(+cs, 0, 0)); - cursor_points.push_back(Vector3(-cs, 0, 0)); - cursor_points.push_back(Vector3(0, +cs, 0)); - cursor_points.push_back(Vector3(0, -cs, 0)); - cursor_points.push_back(Vector3(0, 0, +cs)); - cursor_points.push_back(Vector3(0, 0, -cs)); - add_collision_segments(cursor_points); +Basis JointGizmosDrawer::look_body(const Transform &p_joint_transform, const Transform &p_body_transform) { + const Vector3 &p_eye(p_joint_transform.origin); + const Vector3 &p_target(p_body_transform.origin); - Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Vector3 v_x, v_y, v_z; - add_lines(cursor_points, material); + // Look the body with X + v_x = p_target - p_eye; + v_x.normalize(); + + v_z = v_x.cross(Vector3(0, 1, 0)); + v_z.normalize(); + + v_y = v_z.cross(v_x); + v_y.normalize(); + + Basis base; + base.set(v_x, v_y, v_z); + + // Absorb current joint transform + base = p_joint_transform.basis.inverse() * base; + + return base; } -PinJointSpatialGizmo::PinJointSpatialGizmo(PinJoint *p_p3d) { +Basis JointGizmosDrawer::look_body_toward(Vector3::Axis p_axis, const Transform &joint_transform, const Transform &body_transform) { - p3d = p_p3d; - set_spatial_node(p3d); + switch (p_axis) { + case Vector3::AXIS_X: + return look_body_toward_x(joint_transform, body_transform); + case Vector3::AXIS_Y: + return look_body_toward_y(joint_transform, body_transform); + case Vector3::AXIS_Z: + return look_body_toward_z(joint_transform, body_transform); + default: + return Basis(); + } } -//// +Basis JointGizmosDrawer::look_body_toward_x(const Transform &p_joint_transform, const Transform &p_body_transform) { -void HingeJointSpatialGizmo::redraw() { + const Vector3 &p_eye(p_joint_transform.origin); + const Vector3 &p_target(p_body_transform.origin); - clear(); - Vector<Vector3> cursor_points; - float cs = 0.25; - /*cursor_points.push_back(Vector3(+cs,0,0)); - cursor_points.push_back(Vector3(-cs,0,0)); - cursor_points.push_back(Vector3(0,+cs,0)); - cursor_points.push_back(Vector3(0,-cs,0));*/ - cursor_points.push_back(Vector3(0, 0, +cs * 2)); - cursor_points.push_back(Vector3(0, 0, -cs * 2)); + const Vector3 p_front(p_joint_transform.basis.get_axis(0)); - float ll = p3d->get_param(HingeJoint::PARAM_LIMIT_LOWER); - float ul = p3d->get_param(HingeJoint::PARAM_LIMIT_UPPER); + Vector3 v_x, v_y, v_z; - if (p3d->get_flag(HingeJoint::FLAG_USE_LIMIT) && ll < ul) { + // Look the body with X + v_x = p_target - p_eye; + v_x.normalize(); - const int points = 32; + v_y = p_front.cross(v_x); + v_y.normalize(); - for (int i = 0; i < points; i++) { + v_z = v_y.cross(p_front); + v_z.normalize(); - float s = ll + i * (ul - ll) / points; - float n = ll + (i + 1) * (ul - ll) / points; + // Clamp X to FRONT axis + v_x = p_front; + v_x.normalize(); - Vector3 from = Vector3(-Math::sin(s), Math::cos(s), 0) * cs; - Vector3 to = Vector3(-Math::sin(n), Math::cos(n), 0) * cs; + Basis base; + base.set(v_x, v_y, v_z); - if (i == points - 1) { - cursor_points.push_back(to); - cursor_points.push_back(Vector3()); - } - if (i == 0) { - cursor_points.push_back(from); - cursor_points.push_back(Vector3()); - } + // Absorb current joint transform + base = p_joint_transform.basis.inverse() * base; - cursor_points.push_back(from); - cursor_points.push_back(to); - } + return base; +} - cursor_points.push_back(Vector3(0, cs * 1.5, 0)); - cursor_points.push_back(Vector3()); +Basis JointGizmosDrawer::look_body_toward_y(const Transform &p_joint_transform, const Transform &p_body_transform) { - } else { + const Vector3 &p_eye(p_joint_transform.origin); + const Vector3 &p_target(p_body_transform.origin); - const int points = 32; + const Vector3 p_up(p_joint_transform.basis.get_axis(1)); - for (int i = 0; i < points; i++) { + Vector3 v_x, v_y, v_z; - float s = ll + i * (Math_PI * 2.0) / points; - float n = ll + (i + 1) * (Math_PI * 2.0) / points; + // Look the body with X + v_x = p_target - p_eye; + v_x.normalize(); - Vector3 from = Vector3(-Math::sin(s), Math::cos(s), 0) * cs; - Vector3 to = Vector3(-Math::sin(n), Math::cos(n), 0) * cs; + v_z = v_x.cross(p_up); + v_z.normalize(); - cursor_points.push_back(from); - cursor_points.push_back(to); - } - } + v_x = p_up.cross(v_z); + v_x.normalize(); - Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + // Clamp Y to UP axis + v_y = p_up; + v_y.normalize(); - add_collision_segments(cursor_points); - add_lines(cursor_points, material); -} + Basis base; + base.set(v_x, v_y, v_z); -HingeJointSpatialGizmo::HingeJointSpatialGizmo(HingeJoint *p_p3d) { + // Absorb current joint transform + base = p_joint_transform.basis.inverse() * base; - p3d = p_p3d; - set_spatial_node(p3d); + return base; } -/////// -/// -//// +Basis JointGizmosDrawer::look_body_toward_z(const Transform &p_joint_transform, const Transform &p_body_transform) { -void SliderJointSpatialGizmo::redraw() { + const Vector3 &p_eye(p_joint_transform.origin); + const Vector3 &p_target(p_body_transform.origin); - clear(); - Vector<Vector3> cursor_points; - float cs = 0.25; - /*cursor_points.push_back(Vector3(+cs,0,0)); - cursor_points.push_back(Vector3(-cs,0,0)); - cursor_points.push_back(Vector3(0,+cs,0)); - cursor_points.push_back(Vector3(0,-cs,0));*/ - cursor_points.push_back(Vector3(0, 0, +cs * 2)); - cursor_points.push_back(Vector3(0, 0, -cs * 2)); - - float ll = p3d->get_param(SliderJoint::PARAM_ANGULAR_LIMIT_LOWER); - float ul = p3d->get_param(SliderJoint::PARAM_ANGULAR_LIMIT_UPPER); - float lll = p3d->get_param(SliderJoint::PARAM_LINEAR_LIMIT_LOWER); - float lul = p3d->get_param(SliderJoint::PARAM_LINEAR_LIMIT_UPPER); - - if (lll <= lul) { - - cursor_points.push_back(Vector3(lul, 0, 0)); - cursor_points.push_back(Vector3(lll, 0, 0)); - - cursor_points.push_back(Vector3(lul, -cs, -cs)); - cursor_points.push_back(Vector3(lul, -cs, cs)); - cursor_points.push_back(Vector3(lul, -cs, cs)); - cursor_points.push_back(Vector3(lul, cs, cs)); - cursor_points.push_back(Vector3(lul, cs, cs)); - cursor_points.push_back(Vector3(lul, cs, -cs)); - cursor_points.push_back(Vector3(lul, cs, -cs)); - cursor_points.push_back(Vector3(lul, -cs, -cs)); - - cursor_points.push_back(Vector3(lll, -cs, -cs)); - cursor_points.push_back(Vector3(lll, -cs, cs)); - cursor_points.push_back(Vector3(lll, -cs, cs)); - cursor_points.push_back(Vector3(lll, cs, cs)); - cursor_points.push_back(Vector3(lll, cs, cs)); - cursor_points.push_back(Vector3(lll, cs, -cs)); - cursor_points.push_back(Vector3(lll, cs, -cs)); - cursor_points.push_back(Vector3(lll, -cs, -cs)); + const Vector3 p_lateral(p_joint_transform.basis.get_axis(2)); - } else { + Vector3 v_x, v_y, v_z; - cursor_points.push_back(Vector3(+cs * 2, 0, 0)); - cursor_points.push_back(Vector3(-cs * 2, 0, 0)); - } + // Look the body with X + v_x = p_target - p_eye; + v_x.normalize(); - if (ll < ul) { + v_z = p_lateral; + v_z.normalize(); - const int points = 32; + v_y = v_z.cross(v_x); + v_y.normalize(); - for (int i = 0; i < points; i++) { + // Clamp X to Z axis + v_x = v_y.cross(v_z); + v_x.normalize(); - float s = ll + i * (ul - ll) / points; - float n = ll + (i + 1) * (ul - ll) / points; + Basis base; + base.set(v_x, v_y, v_z); - Vector3 from = Vector3(0, Math::cos(s), -Math::sin(s)) * cs; - Vector3 to = Vector3(0, Math::cos(n), -Math::sin(n)) * cs; + // Absorb current joint transform + base = p_joint_transform.basis.inverse() * base; - if (i == points - 1) { - cursor_points.push_back(to); - cursor_points.push_back(Vector3()); - } - if (i == 0) { - cursor_points.push_back(from); - cursor_points.push_back(Vector3()); - } + return base; +} - cursor_points.push_back(from); - cursor_points.push_back(to); - } +void JointGizmosDrawer::draw_circle(Vector3::Axis p_axis, real_t p_radius, const Transform &p_offset, const Basis &p_base, real_t p_limit_lower, real_t p_limit_upper, Vector<Vector3> &r_points, bool p_inverse) { - cursor_points.push_back(Vector3(0, cs * 1.5, 0)); - cursor_points.push_back(Vector3()); + if (p_limit_lower == p_limit_upper) { + + r_points.push_back(p_offset.translated(Vector3()).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(0.5, 0, 0))).origin); } else { + if (p_limit_lower > p_limit_upper) { + p_limit_lower = -Math_PI; + p_limit_upper = Math_PI; + } + const int points = 32; for (int i = 0; i < points; i++) { - float s = ll + i * (Math_PI * 2.0) / points; - float n = ll + (i + 1) * (Math_PI * 2.0) / points; + real_t s = p_limit_lower + i * (p_limit_upper - p_limit_lower) / points; + real_t n = p_limit_lower + (i + 1) * (p_limit_upper - p_limit_lower) / points; + + Vector3 from; + Vector3 to; + switch (p_axis) { + case Vector3::AXIS_X: + if (p_inverse) { + from = p_base.xform(Vector3(0, Math::sin(s), Math::cos(s))) * p_radius; + to = p_base.xform(Vector3(0, Math::sin(n), Math::cos(n))) * p_radius; + } else { + from = p_base.xform(Vector3(0, -Math::sin(s), Math::cos(s))) * p_radius; + to = p_base.xform(Vector3(0, -Math::sin(n), Math::cos(n))) * p_radius; + } + break; + case Vector3::AXIS_Y: + if (p_inverse) { + from = p_base.xform(Vector3(Math::cos(s), 0, -Math::sin(s))) * p_radius; + to = p_base.xform(Vector3(Math::cos(n), 0, -Math::sin(n))) * p_radius; + } else { + from = p_base.xform(Vector3(Math::cos(s), 0, Math::sin(s))) * p_radius; + to = p_base.xform(Vector3(Math::cos(n), 0, Math::sin(n))) * p_radius; + } + break; + case Vector3::AXIS_Z: + from = p_base.xform(Vector3(Math::cos(s), Math::sin(s), 0)) * p_radius; + to = p_base.xform(Vector3(Math::cos(n), Math::sin(n), 0)) * p_radius; + break; + } - Vector3 from = Vector3(0, Math::cos(s), -Math::sin(s)) * cs; - Vector3 to = Vector3(0, Math::cos(n), -Math::sin(n)) * cs; + if (i == points - 1) { + r_points.push_back(p_offset.translated(to).origin); + r_points.push_back(p_offset.translated(Vector3()).origin); + } + if (i == 0) { + r_points.push_back(p_offset.translated(from).origin); + r_points.push_back(p_offset.translated(Vector3()).origin); + } - cursor_points.push_back(from); - cursor_points.push_back(to); + r_points.push_back(p_offset.translated(from).origin); + r_points.push_back(p_offset.translated(to).origin); } - } - - Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); - - add_collision_segments(cursor_points); - add_lines(cursor_points, material); -} - -SliderJointSpatialGizmo::SliderJointSpatialGizmo(SliderJoint *p_p3d) { - p3d = p_p3d; - set_spatial_node(p3d); + r_points.push_back(p_offset.translated(Vector3(0, p_radius * 1.5, 0)).origin); + r_points.push_back(p_offset.translated(Vector3()).origin); + } } -/////// -/// -//// - -void ConeTwistJointSpatialGizmo::redraw() { - - clear(); - Vector<Vector3> points; +void JointGizmosDrawer::draw_cone(const Transform &p_offset, const Basis &p_base, real_t p_swing, real_t p_twist, Vector<Vector3> &r_points) { float r = 1.0; - float w = r * Math::sin(p3d->get_param(ConeTwistJoint::PARAM_SWING_SPAN)); - float d = r * Math::cos(p3d->get_param(ConeTwistJoint::PARAM_SWING_SPAN)); + float w = r * Math::sin(p_swing); + float d = r * Math::cos(p_swing); //swing for (int i = 0; i < 360; i += 10) { @@ -3198,27 +3187,21 @@ void ConeTwistJointSpatialGizmo::redraw() { Point2 a = Vector2(Math::sin(ra), Math::cos(ra)) * w; Point2 b = Vector2(Math::sin(rb), Math::cos(rb)) * w; - /*points.push_back(Vector3(a.x,0,a.y)); - points.push_back(Vector3(b.x,0,b.y)); - points.push_back(Vector3(0,a.x,a.y)); - points.push_back(Vector3(0,b.x,b.y));*/ - points.push_back(Vector3(d, a.x, a.y)); - points.push_back(Vector3(d, b.x, b.y)); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(d, a.x, a.y))).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(d, b.x, b.y))).origin); if (i % 90 == 0) { - points.push_back(Vector3(d, a.x, a.y)); - points.push_back(Vector3()); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(d, a.x, a.y))).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3())).origin); } } - points.push_back(Vector3()); - points.push_back(Vector3(1, 0, 0)); + r_points.push_back(p_offset.translated(p_base.xform(Vector3())).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(1, 0, 0))).origin); - //twist - /* - */ - float ts = Math::rad2deg(p3d->get_param(ConeTwistJoint::PARAM_TWIST_SPAN)); + /// Twist + float ts = Math::rad2deg(p_twist); ts = MIN(ts, 720); for (int i = 0; i < int(ts); i += 5) { @@ -3230,18 +3213,276 @@ void ConeTwistJointSpatialGizmo::redraw() { Point2 a = Vector2(Math::sin(ra), Math::cos(ra)) * w * c; Point2 b = Vector2(Math::sin(rb), Math::cos(rb)) * w * cn; - /*points.push_back(Vector3(a.x,0,a.y)); - points.push_back(Vector3(b.x,0,b.y)); - points.push_back(Vector3(0,a.x,a.y)); - points.push_back(Vector3(0,b.x,b.y));*/ + r_points.push_back(p_offset.translated(p_base.xform(Vector3(c, a.x, a.y))).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(cn, b.x, b.y))).origin); + } +} + +void PinJointSpatialGizmo::CreateGizmo(const Transform &p_offset, Vector<Vector3> &r_cursor_points) { + float cs = 0.25; + + r_cursor_points.push_back(p_offset.translated(Vector3(+cs, 0, 0)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(-cs, 0, 0)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(0, +cs, 0)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(0, -cs, 0)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(0, 0, +cs)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(0, 0, -cs)).origin); +} + +void PinJointSpatialGizmo::redraw() { + + clear(); + Vector<Vector3> cursor_points; + CreateGizmo(Transform(), cursor_points); + add_collision_segments(cursor_points); + + Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + + add_lines(cursor_points, material); +} + +PinJointSpatialGizmo::PinJointSpatialGizmo(PinJoint *p_p3d) { + + p3d = p_p3d; + set_spatial_node(p3d); +} + +//// + +void HingeJointSpatialGizmo::CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_limit_lower, real_t p_limit_upper, bool p_use_limit, Vector<Vector3> &r_common_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points) { + + r_common_points.push_back(p_offset.translated(Vector3(0, 0, 0.5)).origin); + r_common_points.push_back(p_offset.translated(Vector3(0, 0, -0.5)).origin); + + if (!p_use_limit) { + p_limit_upper = -1; + p_limit_lower = 0; + } + + if (r_body_a_points) { + + JointGizmosDrawer::draw_circle(Vector3::AXIS_Z, + BODY_A_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward_z(p_trs_joint, p_trs_body_a), + p_limit_lower, + p_limit_upper, + *r_body_a_points); + } - points.push_back(Vector3(c, a.x, a.y)); - points.push_back(Vector3(cn, b.x, b.y)); + if (r_body_b_points) { + JointGizmosDrawer::draw_circle(Vector3::AXIS_Z, + BODY_B_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward_z(p_trs_joint, p_trs_body_b), + p_limit_lower, + p_limit_upper, + *r_body_b_points); } +} + +void HingeJointSpatialGizmo::redraw() { + + const Spatial *node_body_a = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_a())); + const Spatial *node_body_b = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_b())); + + Vector<Vector3> points; + Vector<Vector3> body_a_points; + Vector<Vector3> body_b_points; + CreateGizmo( + Transform(), + p3d->get_global_transform(), + node_body_a ? node_body_a->get_global_transform() : Transform(), + node_body_b ? node_body_b->get_global_transform() : Transform(), + p3d->get_param(HingeJoint::PARAM_LIMIT_LOWER), + p3d->get_param(HingeJoint::PARAM_LIMIT_UPPER), + p3d->get_flag(HingeJoint::FLAG_USE_LIMIT), + points, + node_body_a ? &body_a_points : NULL, + node_body_b ? &body_b_points : NULL); + + clear(); + + Ref<Material> common_material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Ref<Material> body_a_material = create_material("joint_body_a_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_a")); + Ref<Material> body_b_material = create_material("joint_body_b_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_b")); + + add_collision_segments(points); + add_collision_segments(body_a_points); + add_collision_segments(body_b_points); + + add_lines(points, common_material); + add_lines(body_a_points, body_a_material); + add_lines(body_b_points, body_b_material); +} + +HingeJointSpatialGizmo::HingeJointSpatialGizmo(HingeJoint *p_p3d) { + + p3d = p_p3d; + set_spatial_node(p3d); +} + +/////// +/// +//// + +void SliderJointSpatialGizmo::CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_angular_limit_lower, real_t p_angular_limit_upper, real_t p_linear_limit_lower, real_t p_linear_limit_upper, Vector<Vector3> &r_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points) { + + p_linear_limit_lower = -p_linear_limit_lower; + p_linear_limit_upper = -p_linear_limit_upper; + + float cs = 0.25; + r_points.push_back(p_offset.translated(Vector3(0, 0, 0.5)).origin); + r_points.push_back(p_offset.translated(Vector3(0, 0, -0.5)).origin); + + if (p_linear_limit_lower >= p_linear_limit_upper) { + + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, 0, 0)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, 0, 0)).origin); + + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, -cs)).origin); + + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, -cs)).origin); + + } else { + + r_points.push_back(p_offset.translated(Vector3(+cs * 2, 0, 0)).origin); + r_points.push_back(p_offset.translated(Vector3(-cs * 2, 0, 0)).origin); + } + + if (r_body_a_points) + JointGizmosDrawer::draw_circle( + Vector3::AXIS_X, + BODY_A_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward(Vector3::AXIS_X, p_trs_joint, p_trs_body_a), + p_angular_limit_lower, + p_angular_limit_upper, + *r_body_a_points); + + if (r_body_b_points) + JointGizmosDrawer::draw_circle( + Vector3::AXIS_X, + BODY_B_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward(Vector3::AXIS_X, p_trs_joint, p_trs_body_b), + p_angular_limit_lower, + p_angular_limit_upper, + *r_body_b_points, + true); +} + +void SliderJointSpatialGizmo::redraw() { + + const Spatial *node_body_a = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_a())); + const Spatial *node_body_b = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_b())); + + clear(); + Vector<Vector3> cursor_points; + Vector<Vector3> body_a_points; + Vector<Vector3> body_b_points; + + CreateGizmo( + Transform(), + p3d->get_global_transform(), + node_body_a ? node_body_a->get_global_transform() : Transform(), + node_body_b ? node_body_b->get_global_transform() : Transform(), + p3d->get_param(SliderJoint::PARAM_ANGULAR_LIMIT_LOWER), + p3d->get_param(SliderJoint::PARAM_ANGULAR_LIMIT_UPPER), + p3d->get_param(SliderJoint::PARAM_LINEAR_LIMIT_LOWER), + p3d->get_param(SliderJoint::PARAM_LINEAR_LIMIT_UPPER), + cursor_points, + node_body_a ? &body_a_points : NULL, + node_body_b ? &body_b_points : NULL); Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Ref<Material> body_a_material = create_material("joint_body_a_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_a")); + Ref<Material> body_b_material = create_material("joint_body_b_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_b")); + + add_collision_segments(cursor_points); + add_collision_segments(body_a_points); + add_collision_segments(body_b_points); + + add_lines(cursor_points, material); + add_lines(body_a_points, body_a_material); + add_lines(body_b_points, body_b_material); +} + +SliderJointSpatialGizmo::SliderJointSpatialGizmo(SliderJoint *p_p3d) { + + p3d = p_p3d; + set_spatial_node(p3d); +} + +/////// +/// +//// + +void ConeTwistJointSpatialGizmo::CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_swing, real_t p_twist, Vector<Vector3> &r_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points) { + + if (r_body_a_points) + JointGizmosDrawer::draw_cone( + p_offset, + JointGizmosDrawer::look_body(p_trs_joint, p_trs_body_a), + p_swing, + p_twist, + *r_body_a_points); + + if (r_body_b_points) + JointGizmosDrawer::draw_cone( + p_offset, + JointGizmosDrawer::look_body(p_trs_joint, p_trs_body_b), + p_swing, + p_twist, + *r_body_b_points); +} + +void ConeTwistJointSpatialGizmo::redraw() { + + const Spatial *node_body_a = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_a())); + const Spatial *node_body_b = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_b())); + + clear(); + Vector<Vector3> points; + Vector<Vector3> body_a_points; + Vector<Vector3> body_b_points; + + CreateGizmo( + Transform(), + p3d->get_global_transform(), + node_body_a ? node_body_a->get_global_transform() : Transform(), + node_body_b ? node_body_b->get_global_transform() : Transform(), + p3d->get_param(ConeTwistJoint::PARAM_SWING_SPAN), + p3d->get_param(ConeTwistJoint::PARAM_TWIST_SPAN), + points, + node_body_a ? &body_a_points : NULL, + node_body_b ? &body_b_points : NULL); + + Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Ref<Material> body_a_material = create_material("joint_body_a_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_a")); + Ref<Material> body_b_material = create_material("joint_body_b_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_b")); + add_collision_segments(points); + add_collision_segments(body_a_points); + add_collision_segments(body_b_points); + add_lines(points, material); + add_lines(body_a_points, body_a_material); + add_lines(body_b_points, body_b_material); } ConeTwistJointSpatialGizmo::ConeTwistJointSpatialGizmo(ConeTwistJoint *p_p3d) { @@ -3250,26 +3491,46 @@ ConeTwistJointSpatialGizmo::ConeTwistJointSpatialGizmo(ConeTwistJoint *p_p3d) { set_spatial_node(p3d); } -//////// -/// \brief SpatialEditorGizmos::singleton -/// /////// /// //// -void Generic6DOFJointSpatialGizmo::redraw() { +void Generic6DOFJointSpatialGizmo::CreateGizmo( + const Transform &p_offset, + const Transform &p_trs_joint, + const Transform &p_trs_body_a, + const Transform &p_trs_body_b, + real_t p_angular_limit_lower_x, + real_t p_angular_limit_upper_x, + real_t p_linear_limit_lower_x, + real_t p_linear_limit_upper_x, + bool p_enable_angular_limit_x, + bool p_enable_linear_limit_x, + real_t p_angular_limit_lower_y, + real_t p_angular_limit_upper_y, + real_t p_linear_limit_lower_y, + real_t p_linear_limit_upper_y, + bool p_enable_angular_limit_y, + bool p_enable_linear_limit_y, + real_t p_angular_limit_lower_z, + real_t p_angular_limit_upper_z, + real_t p_linear_limit_lower_z, + real_t p_linear_limit_upper_z, + bool p_enable_angular_limit_z, + bool p_enable_linear_limit_z, + Vector<Vector3> &r_points, + Vector<Vector3> *r_body_a_points, + Vector<Vector3> *r_body_b_points) { - clear(); - Vector<Vector3> cursor_points; float cs = 0.25; for (int ax = 0; ax < 3; ax++) { - /*cursor_points.push_back(Vector3(+cs,0,0)); - cursor_points.push_back(Vector3(-cs,0,0)); - cursor_points.push_back(Vector3(0,+cs,0)); - cursor_points.push_back(Vector3(0,-cs,0)); - cursor_points.push_back(Vector3(0,0,+cs*2)); - cursor_points.push_back(Vector3(0,0,-cs*2)); */ + /*r_points.push_back(p_offset.translated(Vector3(+cs,0,0)).origin); + r_points.push_back(p_offset.translated(Vector3(-cs,0,0)).origin); + r_points.push_back(p_offset.translated(Vector3(0,+cs,0)).origin); + r_points.push_back(p_offset.translated(Vector3(0,-cs,0)).origin); + r_points.push_back(p_offset.translated(Vector3(0,0,+cs*2)).origin); + r_points.push_back(p_offset.translated(Vector3(0,0,-cs*2)).origin); */ float ll; float ul; @@ -3282,61 +3543,50 @@ void Generic6DOFJointSpatialGizmo::redraw() { switch (ax) { case 0: - ll = p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT); - ul = p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT); - lll = p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT); - lul = p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT); - enable_ang = p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT); - enable_lin = p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT); + ll = p_angular_limit_lower_x; + ul = p_angular_limit_upper_x; + lll = -p_linear_limit_lower_x; + lul = -p_linear_limit_upper_x; + enable_ang = p_enable_angular_limit_x; + enable_lin = p_enable_linear_limit_x; a1 = 0; a2 = 1; a3 = 2; break; case 1: - ll = p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT); - ul = p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT); - lll = p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT); - lul = p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT); - enable_ang = p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT); - enable_lin = p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT); - + ll = p_angular_limit_lower_y; + ul = p_angular_limit_upper_y; + lll = -p_linear_limit_lower_y; + lul = -p_linear_limit_upper_y; + enable_ang = p_enable_angular_limit_y; + enable_lin = p_enable_linear_limit_y; a1 = 1; a2 = 2; a3 = 0; break; case 2: - ll = p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT); - ul = p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT); - lll = p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT); - lul = p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT); - enable_ang = p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT); - enable_lin = p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT); - + ll = p_angular_limit_lower_z; + ul = p_angular_limit_upper_z; + lll = -p_linear_limit_lower_z; + lul = -p_linear_limit_upper_z; + enable_ang = p_enable_angular_limit_z; + enable_lin = p_enable_linear_limit_z; a1 = 2; a2 = 0; a3 = 1; break; } -#define ADD_VTX(x, y, z) \ - { \ - Vector3 v; \ - v[a1] = (x); \ - v[a2] = (y); \ - v[a3] = (z); \ - cursor_points.push_back(v); \ - } - -#define SET_VTX(what, x, y, z) \ - { \ - Vector3 v; \ - v[a1] = (x); \ - v[a2] = (y); \ - v[a3] = (z); \ - what = v; \ +#define ADD_VTX(x, y, z) \ + { \ + Vector3 v; \ + v[a1] = (x); \ + v[a2] = (y); \ + v[a3] = (z); \ + r_points.push_back(p_offset.translated(v).origin); \ } - if (enable_lin && lll <= lul) { + if (enable_lin && lll >= lul) { ADD_VTX(lul, 0, 0); ADD_VTX(lll, 0, 0); @@ -3365,69 +3615,88 @@ void Generic6DOFJointSpatialGizmo::redraw() { ADD_VTX(-cs * 2, 0, 0); } - if (enable_ang && ll <= ul) { - - const int points = 32; - - for (int i = 0; i < points; i++) { - - float s = ll + i * (ul - ll) / points; - float n = ll + (i + 1) * (ul - ll) / points; - - Vector3 from; - SET_VTX(from, 0, Math::cos(s), -Math::sin(s)); - from *= cs; - Vector3 to; - SET_VTX(to, 0, Math::cos(n), -Math::sin(n)); - to *= cs; - - if (i == points - 1) { - cursor_points.push_back(to); - cursor_points.push_back(Vector3()); - } - if (i == 0) { - cursor_points.push_back(from); - cursor_points.push_back(Vector3()); - } - - cursor_points.push_back(from); - cursor_points.push_back(to); - } - - ADD_VTX(0, cs * 1.5, 0); - cursor_points.push_back(Vector3()); - - } else { - - const int points = 32; - - for (int i = 0; i < points; i++) { + if (!enable_ang) { + ll = 0; + ul = -1; + } - float s = ll + i * (Math_PI * 2.0) / points; - float n = ll + (i + 1) * (Math_PI * 2.0) / points; + if (r_body_a_points) + JointGizmosDrawer::draw_circle( + static_cast<Vector3::Axis>(ax), + BODY_A_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward(static_cast<Vector3::Axis>(ax), p_trs_joint, p_trs_body_a), + ll, + ul, + *r_body_a_points, + true); + + if (r_body_b_points) + JointGizmosDrawer::draw_circle( + static_cast<Vector3::Axis>(ax), + BODY_B_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward(static_cast<Vector3::Axis>(ax), p_trs_joint, p_trs_body_b), + ll, + ul, + *r_body_b_points); + } - //Vector3 from=Vector3(0,Math::cos(s),-Math::sin(s) )*cs; - //Vector3 to=Vector3( 0,Math::cos(n),-Math::sin(n) )*cs; +#undef ADD_VTX +} - Vector3 from; - SET_VTX(from, 0, Math::cos(s), -Math::sin(s)); - from *= cs; - Vector3 to; - SET_VTX(to, 0, Math::cos(n), -Math::sin(n)); - to *= cs; +void Generic6DOFJointSpatialGizmo::redraw() { - cursor_points.push_back(from); - cursor_points.push_back(to); - } - } - } + const Spatial *node_body_a = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_a())); + const Spatial *node_body_b = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_b())); -#undef ADD_VTX -#undef SET_VTX + clear(); + Vector<Vector3> cursor_points; + Vector<Vector3> body_a_points; + Vector<Vector3> body_b_points; + + CreateGizmo( + Transform(), + p3d->get_global_transform(), + node_body_a ? node_body_a->get_global_transform() : Transform(), + node_body_b ? node_body_b->get_global_transform() : Transform(), + + p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT), + p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT), + p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT), + p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT), + p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT), + p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT), + + p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT), + p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT), + p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT), + p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT), + p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT), + p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT), + + p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT), + p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT), + p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT), + p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT), + p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT), + p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT), + + cursor_points, + node_body_a ? &body_a_points : NULL, + node_body_a ? &body_b_points : NULL); Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Ref<Material> body_a_material = create_material("joint_body_a_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_a")); + Ref<Material> body_b_material = create_material("joint_body_b_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_b")); + add_collision_segments(cursor_points); + add_collision_segments(body_a_points); + add_collision_segments(body_b_points); + add_lines(cursor_points, material); + add_lines(body_a_points, body_a_material); + add_lines(body_b_points, body_b_material); } Generic6DOFJointSpatialGizmo::Generic6DOFJointSpatialGizmo(Generic6DOFJoint *p_p3d) { @@ -3620,6 +3889,8 @@ SpatialEditorGizmos::SpatialEditorGizmos() { EDITOR_DEF("editors/3d_gizmos/gizmo_colors/baked_indirect_light", Color(0.5, 0.6, 1)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/shape", Color(0.5, 0.7, 1)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/joint", Color(0.5, 0.8, 1)); + EDITOR_DEF("editors/3d_gizmos/gizmo_colors/joint_body_a", Color(0.6, 0.8, 1)); + EDITOR_DEF("editors/3d_gizmos/gizmo_colors/joint_body_b", Color(0.6, 0.9, 1)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_edge", Color(0.5, 1, 1)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_edge_disabled", Color(0.7, 0.7, 0.7)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_solid", Color(0.5, 1, 1, 0.4)); diff --git a/editor/spatial_editor_gizmos.h b/editor/spatial_editor_gizmos.h index ea8a33d2c6..240d2145c1 100644 --- a/editor/spatial_editor_gizmos.h +++ b/editor/spatial_editor_gizmos.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -107,6 +107,7 @@ protected: void add_solid_box(Ref<Material> &p_material, Vector3 size); void set_spatial_node(Spatial *p_node); + const Spatial *get_spatial_node() const { return spatial_node; } static void _bind_methods(); @@ -372,6 +373,21 @@ public: NavigationMeshSpatialGizmo(NavigationMeshInstance *p_navmesh = NULL); }; +class JointGizmosDrawer { +public: + static Basis look_body(const Transform &joint_transform, const Transform &body_transform); + static Basis look_body_toward(Vector3::Axis p_axis, const Transform &joint_transform, const Transform &body_transform); + static Basis look_body_toward_x(const Transform &joint_transform, const Transform &body_transform); + static Basis look_body_toward_y(const Transform &joint_transform, const Transform &body_transform); + /// Special function just used for physics joints, it that returns a basis constrained toward Joint Z axis + /// with axis X and Y that are looking toward the body and oriented toward up + static Basis look_body_toward_z(const Transform &joint_transform, const Transform &body_transform); + + // Draw circle around p_axis + static void draw_circle(Vector3::Axis p_axis, real_t p_radius, const Transform &p_offset, const Basis &p_base, real_t p_limit_lower, real_t p_limit_upper, Vector<Vector3> &r_points, bool p_inverse = false); + static void draw_cone(const Transform &p_offset, const Basis &p_base, real_t p_swing, real_t p_twist, Vector<Vector3> &r_points); +}; + class PinJointSpatialGizmo : public EditorSpatialGizmo { GDCLASS(PinJointSpatialGizmo, EditorSpatialGizmo); @@ -379,6 +395,8 @@ class PinJointSpatialGizmo : public EditorSpatialGizmo { PinJoint *p3d; public: + static void CreateGizmo(const Transform &p_offset, Vector<Vector3> &r_cursor_points); + void redraw(); PinJointSpatialGizmo(PinJoint *p_p3d = NULL); }; @@ -390,6 +408,8 @@ class HingeJointSpatialGizmo : public EditorSpatialGizmo { HingeJoint *p3d; public: + static void CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_limit_lower, real_t p_limit_upper, bool p_use_limit, Vector<Vector3> &r_common_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points); + void redraw(); HingeJointSpatialGizmo(HingeJoint *p_p3d = NULL); }; @@ -401,6 +421,8 @@ class SliderJointSpatialGizmo : public EditorSpatialGizmo { SliderJoint *p3d; public: + static void CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_angular_limit_lower, real_t p_angular_limit_upper, real_t p_linear_limit_lower, real_t p_linear_limit_upper, Vector<Vector3> &r_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points); + void redraw(); SliderJointSpatialGizmo(SliderJoint *p_p3d = NULL); }; @@ -412,6 +434,8 @@ class ConeTwistJointSpatialGizmo : public EditorSpatialGizmo { ConeTwistJoint *p3d; public: + static void CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_swing, real_t p_twist, Vector<Vector3> &r_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points); + void redraw(); ConeTwistJointSpatialGizmo(ConeTwistJoint *p_p3d = NULL); }; @@ -423,6 +447,33 @@ class Generic6DOFJointSpatialGizmo : public EditorSpatialGizmo { Generic6DOFJoint *p3d; public: + static void CreateGizmo( + const Transform &p_offset, + const Transform &p_trs_joint, + const Transform &p_trs_body_a, + const Transform &p_trs_body_b, + real_t p_angular_limit_lower_x, + real_t p_angular_limit_upper_x, + real_t p_linear_limit_lower_x, + real_t p_linear_limit_upper_x, + bool p_enable_angular_limit_x, + bool p_enable_linear_limit_x, + real_t p_angular_limit_lower_y, + real_t p_angular_limit_upper_y, + real_t p_linear_limit_lower_y, + real_t p_linear_limit_upper_y, + bool p_enable_angular_limit_y, + bool p_enable_linear_limit_y, + real_t p_angular_limit_lower_z, + real_t p_angular_limit_upper_z, + real_t p_linear_limit_lower_z, + real_t p_linear_limit_upper_z, + bool p_enable_angular_limit_z, + bool p_enable_linear_limit_z, + Vector<Vector3> &r_points, + Vector<Vector3> *r_body_a_points, + Vector<Vector3> *r_body_b_points); + void redraw(); Generic6DOFJointSpatialGizmo(Generic6DOFJoint *p_p3d = NULL); }; diff --git a/editor/translations/af.po b/editor/translations/af.po index accb9d6d5e..cfe5cdc24e 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -1,6 +1,6 @@ # Afrikaans translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Ray West <the.raxar@gmail.com>, 2017. @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-27 02:44+0000\n" +"PO-Revision-Date: 2017-12-01 11:44+0000\n" "Last-Translator: Ray West <the.raxar@gmail.com>\n" "Language-Team: Afrikaans <https://hosted.weblate.org/projects/godot-engine/" "godot/af/>\n" @@ -27,8 +27,9 @@ msgid "All Selection" msgstr "Alle Seleksie" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Skuif Byvoeg Sleutel" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Verander Waarde" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,7 +40,8 @@ msgid "Anim Change Transform" msgstr "Anim Verander Transform" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Verander Waarde" #: editor/animation_editor.cpp @@ -243,7 +245,7 @@ msgstr "Animasie Zoem." #: editor/animation_editor.cpp msgid "Length (s):" -msgstr "Lengte (s):" +msgstr "Lengte(s):" #: editor/animation_editor.cpp msgid "Animation length (in seconds)." @@ -537,8 +539,8 @@ msgstr "Koppel tans Sein:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "Skep Intekening" +msgid "Disconnect '%s' from '%s'" +msgstr "Koppel '%s' aan '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -554,7 +556,8 @@ msgid "Signals" msgstr "Seine" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Skep Nuwe" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -569,7 +572,7 @@ msgstr "Onlangse:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Soek:" @@ -610,6 +613,7 @@ msgstr "" "Verandering sal eers in werking tree nadat herlaai word." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Afhanklikhede" @@ -713,9 +717,10 @@ msgid "Delete selected files?" msgstr "Skrap gekose lêers?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Skrap" @@ -858,6 +863,11 @@ msgid "Rename Audio Bus" msgstr "Hernoem Oudio-Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Wissel Oudio-Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Wissel Oudio-Bus Solo" @@ -905,8 +915,8 @@ msgstr "Omseil" msgid "Bus options" msgstr "Bus opsies" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Dupliseer" @@ -919,6 +929,10 @@ msgid "Delete Effect" msgstr "Skrap Effek" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Voeg Oudio-Bus By" @@ -1072,7 +1086,8 @@ msgstr "Pad:" msgid "Node Name:" msgstr "Nodus Naam:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Naam" @@ -1080,10 +1095,6 @@ msgstr "Naam" msgid "Singleton" msgstr "EnkelHouer" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lys:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Toneel word Opgedateer" @@ -1096,6 +1107,14 @@ msgstr "Plaaslike veranderinge word gebêre..." msgid "Updating scene.." msgstr "Toneel word opgedateer..." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Kies asseblief eerste die basis gids" @@ -1146,6 +1165,22 @@ msgstr "Lêer Bestaan reeds. Oorskryf?" msgid "Select Current Folder" msgstr "Skep Vouer" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Verfris" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Alle Erkende" @@ -1193,10 +1228,6 @@ msgid "Go Up" msgstr "Gaan Op" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Verfris" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Wissel Versteekte Lêers" @@ -1376,7 +1407,8 @@ msgstr "Afvoer:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Vee uit" @@ -2266,6 +2298,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2401,7 +2441,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2448,8 +2488,9 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Koppel" #: editor/export_template_manager.cpp msgid "Connected" @@ -2539,6 +2580,11 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Fout terwyl laai:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2571,32 +2617,35 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Dupliseer" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Dupliseer" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Open Lêer(s)" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2611,6 +2660,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Dupliseer" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2703,6 +2757,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3266,6 +3328,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3307,6 +3370,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3441,7 +3525,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3621,16 +3704,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3822,6 +3895,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3862,6 +3951,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4038,10 +4139,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4059,15 +4156,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4129,10 +4226,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4415,11 +4508,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4435,7 +4530,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4448,6 +4543,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4634,11 +4733,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4966,6 +5061,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5070,6 +5173,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5142,10 +5257,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5187,6 +5298,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5569,6 +5684,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5580,6 +5699,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5697,10 +5820,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5957,7 +6076,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6025,6 +6144,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6201,6 +6324,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6232,6 +6359,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6240,10 +6371,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6793,6 +6920,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6841,15 +6972,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Skuif huidige baan op." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7498,6 +7666,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7526,10 +7710,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7582,10 +7762,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7644,3 +7820,13 @@ msgstr "" #: scene/resources/dynamic_font.cpp msgid "Invalid font size." msgstr "" + +#~ msgid "Move Add Key" +#~ msgstr "Skuif Byvoeg Sleutel" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "Skep Intekening" + +#~ msgid "List:" +#~ msgstr "Lys:" diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 42b75c6802..908f49ab94 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -1,6 +1,6 @@ # Arabic translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # athomield <athomield@hotmail.com>, 2017. @@ -12,13 +12,14 @@ # noureldin sharaf <sharaf.noureldin@yahoo.com>, 2017. # omar anwar aglan <omar.aglan91@yahoo.com>, 2017. # OWs Tetra <owstetra@gmail.com>, 2017. +# Rex_sa <asd1234567890m@gmail.com>, 2017. # Wajdi Feki <wajdi.feki@gmail.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-27 23:44+0000\n" -"Last-Translator: omar anwar aglan <omar.aglan91@yahoo.com>\n" +"PO-Revision-Date: 2017-12-20 15:42+0000\n" +"Last-Translator: Rex_sa <asd1234567890m@gmail.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -26,7 +27,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -37,8 +38,9 @@ msgid "All Selection" msgstr "ÙƒÙÙ„ Ø§Ù„Ù…ÙØØ¯Ø¯" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Ù…ÙØªØ§Ø Ø¥Ø¶Ø§ÙØ© Ø§Ù„ØØ±ÙƒØ©" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "قيمة تغيير Ø§Ù„ØªØØ±ÙŠÙƒ" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -49,7 +51,8 @@ msgid "Anim Change Transform" msgstr "تØÙˆÙŠÙ„ تغيير Ø§Ù„ØªØØ±ÙŠÙƒ" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "قيمة تغيير Ø§Ù„ØªØØ±ÙŠÙƒ" #: editor/animation_editor.cpp @@ -543,8 +546,9 @@ msgid "Connecting Signal:" msgstr "يوصل الإشارة:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "عمل اشتراك" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "وصل '%s' إلي '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -560,7 +564,8 @@ msgid "Signals" msgstr "الإشارات" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "إنشاء جديد" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -575,7 +580,7 @@ msgstr "Ø§Ù„ØØ§Ù„ÙŠ:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Ø¨ØØ«:" @@ -616,6 +621,7 @@ msgstr "" "التغييرات ستظهر بعد إعادة التشغيل." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "التبعيات" @@ -718,9 +724,10 @@ msgid "Delete selected files?" msgstr "Ø¥Ù…Ø³Ø Ø§Ù„Ù…Ù„ÙØ§Øª Ø§Ù„Ù…ØØ¯Ø¯Ø©ØŸ" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "مسØ" @@ -863,6 +870,11 @@ msgid "Rename Audio Bus" msgstr "إعادة تسمية بيوس الصوت" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "تبديل بيوس الصوت إلي ÙØ±Ø¯ÙŠ" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "تبديل بيوس الصوت إلي ÙØ±Ø¯ÙŠ" @@ -910,8 +922,8 @@ msgstr "تخطي" msgid "Bus options" msgstr "إعدادات البيوس" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "تكرير" @@ -924,6 +936,10 @@ msgid "Delete Effect" msgstr "Ø¥Ù…Ø³Ø Ø§Ù„ØªØ£Ø«ÙŠØ±" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "أض٠بيوس الصوت" @@ -1074,7 +1090,8 @@ msgstr "المسار:" msgid "Node Name:" msgstr "إسم العقدة:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "الأسم" @@ -1082,10 +1099,6 @@ msgstr "الأسم" msgid "Singleton" msgstr "Ø§Ù„ÙØ±Ø¯ÙŠØ©" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "القائمة:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "ÙŠÙØØ¯Ø« المشهد" @@ -1098,6 +1111,14 @@ msgstr "جاري تخزين التعديلات المØÙ„ية.." msgid "Updating scene.." msgstr "ÙŠÙØØ¯Ø« المشهد..." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "من ÙØ¶Ù„Ùƒ ØØ¯Ø¯ الوجهة الأساسية أولاً" @@ -1144,9 +1165,24 @@ msgid "File Exists, Overwrite?" msgstr "المل٠موجود، إستبدال؟" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "أنشئ مجلد" +msgstr "ØªØØ¯ÙŠØ¯ المجلد Ø§Ù„ØØ§Ù„ÙŠ" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "نسخ المسار" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "أظهر ÙÙŠ مدير Ø§Ù„Ù…Ù„ÙØ§Øª" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "مجلد جديد.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "ØªØØ¯ÙŠØ«" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1195,10 +1231,6 @@ msgid "Go Up" msgstr "إذهب للأعلي" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "ØªØØ¯ÙŠØ«" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "أظهر Ø§Ù„Ù…Ù„ÙØ§Øª المخÙية" @@ -1378,7 +1410,8 @@ msgstr "الخرج:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "خالي" @@ -1533,14 +1566,12 @@ msgstr "" "هذا النظام." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "توسيع الكل" +msgstr "توسيع كل Ø§Ù„ØªÙØ§ØµÙŠÙ„" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "طوي الكل" +msgstr "طي كل Ø§Ù„ØªÙØ§ØµÙŠÙ„" #: editor/editor_node.cpp msgid "Copy Params" @@ -2319,6 +2350,16 @@ msgstr "ذاتي" msgid "Frame #:" msgstr "اطار #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "الوقت:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "نداء" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "اختار جهاز من القائمة" @@ -2458,7 +2499,8 @@ msgstr "لا يوجد إستجابة." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "ÙØ´Ù„ الطلب." #: editor/export_template_manager.cpp @@ -2505,7 +2547,8 @@ msgid "Connecting.." msgstr "جاري الإتصال..." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "لا يمكن الإتصال" #: editor/export_template_manager.cpp @@ -2599,6 +2642,11 @@ msgid "Error moving:\n" msgstr "خطأ ÙÙŠ ØªØØ±ÙŠÙƒ:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "خطآ ÙÙŠ التØÙ…يل:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "غير قادر علي ØªØØ¯ÙŠØ« التبعيات:\n" @@ -2631,6 +2679,16 @@ msgid "Renaming folder:" msgstr "إعادة تسمية مجلد:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "تكرير" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "إعادة تسمية مجلد:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "توسيع الكل" @@ -2639,10 +2697,6 @@ msgid "Collapse all" msgstr "طوي الكل" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "نسخ المسار" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "إعادة تسمية.." @@ -2651,12 +2705,9 @@ msgid "Move To.." msgstr "ØªØØ±ÙŠÙƒ إلي.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "مجلد جديد.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "أظهر ÙÙŠ مدير Ø§Ù„Ù…Ù„ÙØ§Øª" +#, fuzzy +msgid "Open Scene(s)" +msgstr "ÙØªØ مشهد" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2671,6 +2722,11 @@ msgid "View Owners.." msgstr "أظهر المÙلاك.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "تكرير" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "المجلد السابق" @@ -2765,6 +2821,14 @@ msgid "Importing Scene.." msgstr "ØØ§Ø±ÙŠ Ø¥Ø³ØªÙŠØ±Ø§Ø¯ المشهد.." #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "تشغيل الكود Ø§Ù„Ù…ÙØ®ØµØµ.." @@ -3017,25 +3081,24 @@ msgid "Enable Onion Skinning" msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "الوصÙ" +msgstr "الاتجاهات" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "الماضي" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "المستقبل" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "العمق" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "الخطوة 1" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" @@ -3047,7 +3110,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Ø§Ù„Ø§Ø®ØªÙ„Ø§ÙØ§Øª Ùقط" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3055,7 +3118,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "تضمين جيزموس (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3332,6 +3395,7 @@ msgid "last" msgstr "الأخير" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "الكل" @@ -3373,6 +3437,27 @@ msgstr "تجربة" msgid "Assets ZIP File" msgstr "مل٠أصول مضغوط" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "إستعراض" @@ -3509,7 +3594,6 @@ msgid "Toggles snapping" msgstr "إلغاء/ØªÙØ¹ÙŠÙ„ الكبس" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "إستخدم الكبس" @@ -3689,94 +3773,86 @@ msgstr "خطأ ÙÙŠ ØªÙˆØ¶ÙŠØ Ø§Ù„Ù…Ø´Ù‡Ø¯ من %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ØØ³Ù†Ø§Ù‹ :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "هذه العملية تتطلب عقدة ÙˆØ§ØØ¯Ø© Ù…ØØ¯Ø¯Ø©." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "" +msgstr "غير النوع Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" +"Ø³ØØ¨ وإسقاط + Shift : Ø¥Ø¶Ø§ÙØ© العقدة كقريب لعقدة أخري\n" +"Ø³ØØ¨ Ùˆ إسقاط + Alt : تغيير نوع العقدة" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "إنشاء بولي 3d" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" -msgstr "" +msgstr "ØØ¯Ø¯ المعامل" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "Ù…Ø³Ø Ø§Ù„Ø¹Ù†ØµØ± %dØŸ" #: editor/plugins/cube_grid_theme_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "Ø¥Ø¶Ø§ÙØ© عنصر" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "Ù…Ø³Ø Ø§Ù„Ø¹Ù†ØµØ± Ø§Ù„Ù…ØØ¯Ø¯" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "إستيراد من المشهد" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "ØªØØ¯ÙŠØ« من المشهد" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat0" -msgstr "" +msgstr "مسطØ0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat1" -msgstr "" +msgstr "مسطØ1" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease in" -msgstr "" +msgstr "تخÙي٠للداخل" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "تخÙي٠للخارج" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "خطوة ناعمة" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "" +msgstr "نعديل نقطة الإنØÙ†Ø§Ø¡" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" -msgstr "" +msgstr "تعديل مماس الإنØÙ†Ø§Ø¡" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Curve Preset" -msgstr "" +msgstr "تØÙ…يل إعداد مسبق للإنØÙ†Ø§Ø¡" #: editor/plugins/curve_editor_plugin.cpp msgid "Add point" -msgstr "" +msgstr "Ø¥Ø¶Ø§ÙØ© نقطة" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove point" @@ -3784,15 +3860,15 @@ msgstr "Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©" #: editor/plugins/curve_editor_plugin.cpp msgid "Left linear" -msgstr "" +msgstr "الخط الشمالي" #: editor/plugins/curve_editor_plugin.cpp msgid "Right linear" -msgstr "" +msgstr "الخط اليميني" #: editor/plugins/curve_editor_plugin.cpp msgid "Load preset" -msgstr "" +msgstr "تØÙ…يل الإعداد المعد مسبقاً" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove Curve Point" @@ -3800,114 +3876,132 @@ msgstr "Ù…Ø³Ø Ù†Ù‚Ø·Ø© الإنØÙ†Ø§Ø¡" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" -msgstr "" +msgstr "إلغاء/ØªÙØ¹ÙŠÙ„ مماس خط المنØÙ†ÙŠ" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "إبقي ضاغطاً علي Shift لتعديل المماس ÙØ±Ø¯ÙŠØ§Ù‹" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "طبخ مجس GI" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" -msgstr "" +msgstr "Ø¥Ø¶Ø§ÙØ©/Ù…Ø³Ø Ù†Ù‚Ø·Ø© Ù…Ù†ØØ¯Ø± اللون" #: editor/plugins/gradient_editor_plugin.cpp #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Color Ramp" -msgstr "" +msgstr "تعديل Ù…Ù†ØØ¯Ø± اللون" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "العنصر %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "العناصر" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "" +msgstr "Ù…ÙØ¹Ø¯Ù„ قائمة العناصر" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "" "No OccluderPolygon2D resource on this node.\n" "Create and assign one?" msgstr "" +"لا مصدر شكل Ù…ÙØ·Ø¨Ù‚ 2D ÙÙŠ هذه العقدة.\n" +"أنشئ Ùˆ ضع ÙˆØ§ØØ¯Ø©ØŸ" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "" +msgstr "أنشئ شكل Ù…ÙØ·Ø¨Ù‚" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "" +msgstr "أنشئ شكل جديد من لا شئ." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit existing polygon:" -msgstr "" +msgstr "تعديل الشكل الموجود Ø¨Ø§Ù„ÙØ¹Ù„:" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "" +msgstr "زر Ø§Ù„ÙØ£Ø±Ø© الأوسط: ØªØØ±ÙŠÙƒ النقطة." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "Ctrl+ زر Ø§Ù„ÙØ£Ø±Ø© الأوسط: ÙØµÙ„ المقطع." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." -msgstr "" +msgstr "زر Ø§Ù„ÙØ£Ø±Ø© الأيمن: Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" -msgstr "" +msgstr "الميش ÙØ§Ø±Øº!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" -msgstr "" +msgstr "أنشئ جسم تراميش ثابت" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Convex Body" -msgstr "" +msgstr "أنشئ جسم Ù…ØØ¯Ø¨ ثابت" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "هذا لا يعمل علي جزر المشهد!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" -msgstr "" +msgstr "أنشئ شكل تراميش" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Shape" -msgstr "" +msgstr "أنشئ شكل Ù…ØØ¯Ø¨" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" +msgstr "أنشئ ميش التنقل" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "MeshInstance lacks a Mesh!" +msgid "UV Unwrap failed, mesh may not be manifold?" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Mesh has not surface to create outlines from!" +msgid "No mesh to debug." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Could not create outline!" +msgid "Model has no UV in this layer" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "MeshInstance ÙŠÙØªÙ‚ر إلي ميش!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh has not surface to create outlines from!" +msgstr "الميش ليس لديه Ø³Ø·Ø Ù„ÙƒÙŠ ينشئ ØØ¯ÙˆØ¯ منه!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "لا يمكن إنشاء Ø§Ù„ØØ¯!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "" +msgstr "أنشئ Ø§Ù„ØØ¯" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "الميش" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Static Body" @@ -3927,15 +4021,29 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh.." +msgstr "إنشاء شبكة الخطوط العريضة .." + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "أظهر" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "أظهر" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" -msgstr "" +msgstr "إنشاء شبكة الخطوط العريضة" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Outline Size:" -msgstr "" +msgstr "ØØ¬Ù… الخطوط:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." @@ -4106,10 +4214,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4127,15 +4231,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4197,10 +4301,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4483,11 +4583,13 @@ msgstr "ترتيب" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4503,7 +4605,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4516,6 +4618,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "نسخ المسار" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4702,14 +4809,11 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "خط مطوي" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5034,6 +5138,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "ØØ³Ù†Ø§Ù‹ :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "لا أب للصق الطÙÙ„ عليه." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5138,6 +5250,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "أكبس إلي الموجهات" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5210,10 +5335,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5255,6 +5376,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5637,6 +5762,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "مجموعة البلاط.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5648,6 +5778,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "إلغاء" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5765,10 +5899,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6025,7 +6155,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6093,6 +6223,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6269,6 +6403,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "إجعلة مميزاً" @@ -6300,6 +6438,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6308,10 +6450,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6861,6 +6999,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6909,15 +7051,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Ù…Ø³Ø Ù†Ù‚Ø·Ø© الإنØÙ†Ø§Ø¡" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7575,6 +7754,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7603,10 +7798,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7659,10 +7850,6 @@ msgid "Add current color as a preset" msgstr "أض٠اللون Ø§Ù„ØØ§Ù„ÙŠ كإعداد مسبق" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "إلغاء" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "تنبيه!" @@ -7671,9 +7858,8 @@ msgid "Please Confirm..." msgstr "يرجى التاكيد..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "إختر طريقة" +msgstr "ØØ¯Ø¯ هذا المجلد" #: scene/gui/popup.cpp msgid "" @@ -7723,6 +7909,15 @@ msgstr "" msgid "Invalid font size." msgstr "" +#~ msgid "Move Add Key" +#~ msgstr "Ù…ÙØªØ§Ø Ø¥Ø¶Ø§ÙØ© Ø§Ù„ØØ±ÙƒØ©" + +#~ msgid "Create Subscription" +#~ msgstr "عمل اشتراك" + +#~ msgid "List:" +#~ msgstr "القائمة:" + #~ msgid "Method List For '%s':" #~ msgstr "قائمة الطرق لـ '%s':" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index f2bf979b75..001ec0f321 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -1,6 +1,6 @@ # Bulgarian translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Bojidar Marinov <bojidar.marinov.bg@gmail.com>, 2016. @@ -28,7 +28,7 @@ msgid "All Selection" msgstr "" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -40,7 +40,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -532,7 +532,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -549,8 +549,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "Създаване на нов проект" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -564,7 +565,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "ТърÑене:" @@ -601,6 +602,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -701,9 +703,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -846,6 +849,10 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Change Audio Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -894,8 +901,8 @@ msgstr "" msgid "Bus options" msgstr "ÐаÑтройки за отÑтранÑване на грешки" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -908,6 +915,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1060,7 +1071,8 @@ msgstr "Път:" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1068,10 +1080,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "ОбновÑване на Ñцената" @@ -1084,6 +1092,14 @@ msgstr "" msgid "Updating scene.." msgstr "ОбновÑване на Ñцената.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1135,6 +1151,23 @@ msgstr "Файлът ÑъщеÑтвува. ИÑкате ли да го презРmsgid "Select Current Folder" msgstr "Създаване на папка" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "Създаване на папка" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1182,10 +1215,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1367,7 +1396,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "ИзчиÑтване" @@ -2269,6 +2299,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2406,8 +2444,9 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Запитване.." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2457,7 +2496,7 @@ msgstr "Свързване.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "Създаване на нов проект" #: editor/export_template_manager.cpp @@ -2555,6 +2594,11 @@ msgstr "Имаше грешка при внаÑÑнето:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Имаше грешка при внаÑÑнето:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Сцената '%s' има нарушени завиÑимоÑти:" @@ -2588,15 +2632,20 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +#, fuzzy +msgid "Duplicating file:" +msgstr "Имаше грешка при внаÑÑнето:" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2609,12 +2658,8 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "Създаване на папка" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "ОтварÑне на Ñцена" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2629,6 +2674,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2724,6 +2773,14 @@ msgid "Importing Scene.." msgstr "ВнаÑÑне на Ñцената.." #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3292,6 +3349,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Ð’Ñички" @@ -3333,6 +3391,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3470,7 +3549,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3650,16 +3728,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3852,6 +3920,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3892,6 +3976,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Преглед на файловете" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Преглед на файловете" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4068,10 +4166,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4089,15 +4183,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4159,10 +4253,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4446,11 +4536,13 @@ msgstr "Подреждане:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4466,7 +4558,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4479,6 +4571,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4667,14 +4763,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Изтриване на анимациÑта?" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5000,6 +5092,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5107,6 +5207,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Избиране на вÑичко" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5179,10 +5292,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5224,6 +5333,10 @@ msgid "Settings" msgstr "ÐаÑтройки" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5609,6 +5722,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Файл:" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5620,6 +5738,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Отказ" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5739,10 +5861,6 @@ msgid "Imported Project" msgstr "ВнеÑен проект" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6003,7 +6121,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6071,6 +6189,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6249,6 +6371,10 @@ msgid "New Script" msgstr "Ðов Ñкрипт" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6281,6 +6407,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6289,10 +6419,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Изберете ÑвойÑтво" @@ -6855,6 +6981,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6903,16 +7033,56 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "ПремеÑтване на пътечката нагоре." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "ИзнаÑÑне към платформа" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "ИзнаÑÑне на библиотеката" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "ИзнаÑÑне на библиотеката" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "ИзнаÑÑне на библиотеката" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7609,6 +7779,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7637,10 +7823,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7696,10 +7878,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Отказ" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Тревога!" @@ -7849,10 +8027,6 @@ msgstr "" #~ msgid "Invalid project path, the path must exist!" #~ msgstr "ÐедейÑтвителен път. ПътÑÑ‚ трÑбва да ÑъщеÑтвува!" -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Файл:" - #~ msgid "Close scene? (Unsaved changes will be lost)" #~ msgstr "Да Ñе затвори ли Ñцената? (незаразените промени ще Ñе загубÑÑ‚)" @@ -7892,9 +8066,6 @@ msgstr "" #~ msgid "Project Export Settings" #~ msgstr "ÐаÑтройки за изнаÑÑне на проекта" -#~ msgid "Export to Platform" -#~ msgstr "ИзнаÑÑне към платформа" - #~ msgid "Export all files in the project directory." #~ msgstr "ИзнаÑÑне на вÑички файлове в папката на проекта." diff --git a/editor/translations/bn.po b/editor/translations/bn.po index d329b1a3fc..63719c1a8b 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -1,6 +1,6 @@ # Bengali translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Abu Md. Maruf Sarker <maruf.webdev@gmail.com>, 2016-2017. @@ -29,8 +29,9 @@ msgid "All Selection" msgstr "সব সিলেকà§à¦Ÿ করà§à¦¨" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "অà§à¦¯à¦¾à¦¡ কি মà§à¦ করà§à¦¨" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) à¦à§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,7 +42,8 @@ msgid "Anim Change Transform" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à¦¾à¦¨à§à¦¸à¦«à¦°à§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) à¦à§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_editor.cpp @@ -536,8 +538,9 @@ msgid "Connecting Signal:" msgstr "সংযোজক সংকেত/সিগনà§à¦¯à¦¾à¦²:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "সদসà§à¦¯à¦¤à¦¾/সাবসà§à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ তৈরি করà§à¦¨" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "'%s' à¦à¦° সাথে '%s' সংযà§à¦•à§à¦¤ করà§à¦¨" #: editor/connections_dialog.cpp msgid "Connect.." @@ -553,7 +556,8 @@ msgid "Signals" msgstr "সংকেতসমূহ" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "নতà§à¦¨ তৈরি করà§à¦¨" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -568,7 +572,7 @@ msgstr "সামà§à¦ªà§à¦°à¦¤à¦¿à¦•:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨:" @@ -609,6 +613,7 @@ msgstr "" "পà§à¦¨à¦°à¦¾à§Ÿ-লোড (রিলোড)-à¦à¦° সময় পরিবরà§à¦¤à¦¨à¦¸à¦®à§‚হ কারà§à¦¯à¦•র হবে।" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "নিরà§à¦à¦°à¦¤à¦¾-সমূহ" @@ -712,9 +717,10 @@ msgid "Delete selected files?" msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ ফাইলসমূহ অপসারণ করবেন?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "অপসারণ করà§à¦¨" @@ -856,6 +862,11 @@ msgid "Rename Audio Bus" msgstr "অডিও বাস পà§à¦¨à¦°à¦¾à¦¯à¦¼ নামকরণ করà§à¦¨" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "অডিও বাস সলো টগল করà§à¦¨" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "অডিও বাস সলো টগল করà§à¦¨" @@ -903,8 +914,8 @@ msgstr "বাইপাস" msgid "Bus options" msgstr "বাস অপশন" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "ডà§à¦ªà§à¦²à¦¿à¦•েট" @@ -917,6 +928,10 @@ msgid "Delete Effect" msgstr "ইফেকà§à¦Ÿ ডিলিট করà§à¦¨" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "অডিও বাস যোগ করà§à¦¨" @@ -1073,7 +1088,8 @@ msgstr "পথ:" msgid "Node Name:" msgstr "নোডের নাম:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "নাম" @@ -1081,10 +1097,6 @@ msgstr "নাম" msgid "Singleton" msgstr "à¦à¦•ক-বসà§à¦¤à§/সিঙà§à¦—েলটোন" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "তালিকা:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "দৃশà§à¦¯ হাল নাগাদ হচà§à¦›à§‡" @@ -1097,6 +1109,15 @@ msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ পরিবরà§à¦¤à¦¨-সমূহ সংরক msgid "Updating scene.." msgstr "দৃশà§à¦¯ হাল নাগাদ হচà§à¦›à§‡.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(খালি/শূনà§à¦¯)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1148,6 +1169,23 @@ msgstr "à¦à¦•ই নামের ফাইল উপসà§à¦¥à¦¿à¦¤, তা ম msgid "Select Current Folder" msgstr "ফোলà§à¦¡à¦¾à¦° তৈরি করà§à¦¨" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "পথ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "ফাইল-মà§à¦¯à¦¾à¦¨à§‡à¦œà¦¾à¦°à§‡ দেখà§à¦¨" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "ফোলà§à¦¡à¦¾à¦° তৈরি করà§à¦¨" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "রিফà§à¦°à§‡à¦¸ করà§à¦¨" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "সব ফাইল পরিচিতি সমà§à¦ªà¦¨à§à¦¨" @@ -1195,10 +1233,6 @@ msgid "Go Up" msgstr "উপরের দিকে যান" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "রিফà§à¦°à§‡à¦¸ করà§à¦¨" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "অদৃশà§à¦¯ ফাইলসমূহ অদলবদল/টগল করà§à¦¨" @@ -1392,7 +1426,8 @@ msgstr " আউটপà§à¦Ÿ/ফলাফল:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "পরিসà§à¦•ার করà§à¦¨/কà§à¦²à§€à§Ÿà¦¾à¦°" @@ -2370,6 +2405,16 @@ msgstr "সà§à¦¬à§€à¦¯à¦¼" msgid "Frame #:" msgstr "ফà§à¦°à§‡à¦® #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "সময়:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "ডাকà§à¦¨ (Call)" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "লিসà§à¦Ÿ থেকে ডিà¦à¦¾à¦‡à¦¸ সিলেকà§à¦Ÿ করà§à¦¨" @@ -2518,7 +2563,8 @@ msgstr "কোন পà§à¦°à¦¤à¦¿à¦•à§à¦°à¦¿à§Ÿà¦¾ নেই।" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "রিকà§à§Ÿà§‡à¦¸à§à¦Ÿ বà§à¦¯à¦°à§à¦¥ হয়েছে।" #: editor/export_template_manager.cpp @@ -2573,7 +2619,7 @@ msgstr "সংযোগ.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "সংযোগ.." #: editor/export_template_manager.cpp @@ -2685,6 +2731,11 @@ msgstr "ইমà§à¦ªà§‹à¦°à§à¦Ÿà§‡ সমসà§à¦¯à¦¾ হয়েছে:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "লোডে সমসà§à¦¯à¦¾ হয়েছে:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "'%s' দৃশà§à¦¯à¦Ÿà¦¿à¦° অসংলগà§à¦¨ নিরà§à¦à¦°à¦¤à¦¾ রয়েছে:" @@ -2723,6 +2774,16 @@ msgstr "নোড পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Duplicating file:" +msgstr "ডà§à¦ªà§à¦²à¦¿à¦•েট" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "নোড পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Expand all" msgstr "ধারক/বাহক পরà§à¦¯à¦¨à§à¦¤ বিসà§à¦¤à§ƒà¦¤ করà§à¦¨" @@ -2731,10 +2792,6 @@ msgid "Collapse all" msgstr "কলাপà§à¦¸ করà§à¦¨" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "পথ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨" - -#: editor/filesystem_dock.cpp #, fuzzy msgid "Rename.." msgstr "পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨" @@ -2745,12 +2802,8 @@ msgstr "à¦à¦–ানে সরান.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "ফোলà§à¦¡à¦¾à¦° তৈরি করà§à¦¨" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "ফাইল-মà§à¦¯à¦¾à¦¨à§‡à¦œà¦¾à¦°à§‡ দেখà§à¦¨" +msgid "Open Scene(s)" +msgstr "দৃশà§à¦¯ খà§à¦²à§à¦¨" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2765,6 +2818,11 @@ msgid "View Owners.." msgstr "সà§à¦¬à¦¤à§à¦¬à¦¾à¦§à¦¿à¦•ারীদের দেখà§à¦¨.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "ডà§à¦ªà§à¦²à¦¿à¦•েট" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "পূরà§à¦¬à§‡à¦° সà§à¦¥à¦¾à¦¨" @@ -2862,6 +2920,16 @@ msgid "Importing Scene.." msgstr "দৃশà§à¦¯ ইমà§à¦ªà§‹à¦°à§à¦Ÿ করা হচà§à¦›à§‡.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "লাইটà§à¦®à§à¦¯à¦¾à¦ªà§‡ হসà§à¦¤à¦¾à¦¨à§à¦¤à¦° করà§à¦¨:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "AABB উৎপনà§à¦¨ করà§à¦¨" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "সà§à¦¬à¦¨à¦¿à¦°à§à¦®à¦¿à¦¤ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ চালানো হচà§à¦›à§‡.." @@ -3446,6 +3514,7 @@ msgid "last" msgstr "শেষ" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "সকল" @@ -3487,6 +3556,28 @@ msgstr "পরীকà§à¦·à¦¾à¦®à§‚লক উৎস" msgid "Assets ZIP File" msgstr "পà§à¦°à¦¯à¦¼à§‡à¦¾à¦œà¦¨à§€à¦¯à¦¼ উপকরণসমূহের ZIP ফাইল" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "লাইটà§à¦®à§à¦¯à¦¾à¦ªà§‡ হসà§à¦¤à¦¾à¦¨à§à¦¤à¦° করà§à¦¨:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "পà§à¦°à¦¿à¦à¦¿à¦‰" @@ -3631,7 +3722,6 @@ msgid "Toggles snapping" msgstr "ছেদবিনà§à¦¦à§ অদলবদল করà§à¦¨ (টগল বà§à¦°à§‡à¦•পয়েনà§à¦Ÿ)" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨" @@ -3821,16 +3911,6 @@ msgstr "%s হতে দৃশà§à¦¯ ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করা #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ঠিক আছে :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করার জনà§à¦¯ পà§à¦°à§Ÿà§‹à¦œà¦¨à§€à§Ÿ ধারক উপসà§à¦¥à¦¿à¦¤ নেই।" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "à¦à¦‡ কাজটি করার জনà§à¦¯ à¦à¦•টি à¦à¦•ক নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোড পà§à¦°à§Ÿà§‹à¦œà¦¨à¥¤" @@ -4037,6 +4117,22 @@ msgid "Create Navigation Mesh" msgstr "Navigation Mesh তৈরি করà§à¦¨" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance-ঠMesh নেই!" @@ -4077,6 +4173,20 @@ msgid "Create Outline Mesh.." msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া মেস তৈরি করà§à¦¨.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "দৃশà§à¦¯/পরিদরà§à¦¶à¦¨" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "দৃশà§à¦¯/পরিদরà§à¦¶à¦¨" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া মেস তৈরি করà§à¦¨" @@ -4262,10 +4372,6 @@ msgid "Create Navigation Polygon" msgstr "Navigation Polygon তৈরি করà§à¦¨" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Emission Mask পরিসà§à¦•ার করà§à¦¨" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Generating AABB" @@ -4284,10 +4390,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "সà§à¦¬à¦šà§à¦›à¦¤à¦¾à¦¸à¦¹ কোনো পিকà§à¦¸à§‡à¦² নেই > ছবিতে ১২৮.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Emission Mask সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "à¦à¦¿à¦œà¦¿à¦¬à¦¿à¦²à¦¿à¦Ÿà¦¿ রেকà§à¦Ÿ তৈরি করà§à¦¨" @@ -4296,6 +4398,10 @@ msgid "Load Emission Mask" msgstr "Emission Mask লোড করà§à¦¨" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Emission Mask পরিসà§à¦•ার করà§à¦¨" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Particles" @@ -4361,10 +4467,6 @@ msgid "Create Emission Points From Node" msgstr "Node হতে Emitter তৈরি করà§à¦¨" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Emitter পরিসà§à¦•ার করà§à¦¨" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Emitter তৈরি করà§à¦¨" @@ -4662,11 +4764,13 @@ msgstr "সাজান:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "উপরে যান" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "নীচে যান" @@ -4682,7 +4786,7 @@ msgstr "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ" msgid "File" msgstr "ফাইল" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "নতà§à¦¨" @@ -4695,6 +4799,11 @@ msgid "Soft Reload Script" msgstr "সà§à¦¬à¦²à§à¦ª-পà§à¦°à¦à¦¾à¦¬à¦¸à¦¹ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ রিলোড করà§à¦¨" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "পথ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "পূরà§à¦¬à§‡à¦° ইতিহাস" @@ -4890,11 +4999,7 @@ msgstr "কà§à¦²à§‹à¦¨ করে নীচে নিন" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "লাইন-ঠযান" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "লাইন আনফোলà§à¦¡ করà§à¦¨" #: editor/plugins/script_text_editor.cpp @@ -5230,6 +5335,14 @@ msgstr "à¦à¦« পি à¦à¦¸" msgid "Align with view" msgstr "দরà§à¦¶à¦¨à§‡à¦° সাথে সারিবদà§à¦§ করà§à¦¨" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "ঠিক আছে :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করার জনà§à¦¯ পà§à¦°à§Ÿà§‹à¦œà¦¨à§€à§Ÿ ধারক উপসà§à¦¥à¦¿à¦¤ নেই।" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Normal পà§à¦°à¦¦à¦°à§à¦¶à¦¨" @@ -5346,6 +5459,20 @@ msgid "Scale Mode (R)" msgstr "মাপের মোড করà§à¦¨ (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ সà§à¦¥à¦¾à¦¨à¦¾à¦™à§à¦•সমূহ" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "মাপের মোড করà§à¦¨ (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª মোড:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "নিমà§à¦¨ দরà§à¦¶à¦¨" @@ -5423,10 +5550,6 @@ msgid "Configure Snap.." msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª কনফিগার করà§à¦¨.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ সà§à¦¥à¦¾à¦¨à¦¾à¦™à§à¦•সমূহ" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "রà§à¦ªà¦¾à¦¨à§à¦¤à¦°à§‡à¦° à¦à¦° সংলাপ.." @@ -5468,6 +5591,10 @@ msgid "Settings" msgstr "সেটিংস" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª সেটিংস" @@ -5860,6 +5987,11 @@ msgid "Merge from scene?" msgstr "দৃশà§à¦¯ হতে à¦à¦•তà§à¦°à¦¿à¦¤ করবেন?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet (টাইল-সেট).." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "দৃশà§à¦¯ হতে তৈরি করবেন" @@ -5871,6 +6003,10 @@ msgstr "দৃশà§à¦¯ হতে à¦à¦•তà§à¦°à¦¿à¦¤ করবেন" msgid "Error" msgstr "সমসà§à¦¯à¦¾/à¦à§à¦²" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "বাতিল" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -6014,10 +6150,6 @@ msgid "Imported Project" msgstr "পà§à¦°à¦•লà§à¦ª ইমà§à¦ªà§‹à¦°à§à¦Ÿ করা হয়েছে" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "আপনার পà§à¦°à¦œà§‡à¦•à§à¦Ÿà¦Ÿà¦¿à¦° জনà§à¦¯ à¦à¦•টি নাম নিরà§à¦¦à¦¿à¦·à§à¦Ÿ করà§à¦¨à¥¤" @@ -6296,8 +6428,9 @@ msgid "Joypad Button Index:" msgstr "জয়সà§à¦Ÿà¦¿à¦• বোতাম ইনà§à¦¡à§‡à¦•à§à¦¸:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "ইনপà§à¦Ÿ অà§à¦¯à¦¾à¦•শন যোগ করà§à¦¨" +#, fuzzy +msgid "Erase Input Action" +msgstr "ইনপà§à¦Ÿ অà§à¦¯à¦¾à¦•শন ইà¦à§‡à¦¨à§à¦Ÿ মà§à¦›à§‡ ফেলà§à¦¨" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6370,6 +6503,10 @@ msgid "Already existing" msgstr "সà§à¦¥à¦¾à§Ÿà§€à§Ÿà¦¤à¦¾ টগল করà§à¦¨" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "ইনপà§à¦Ÿ অà§à¦¯à¦¾à¦•শন যোগ করà§à¦¨" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "সংরকà§à¦·à¦£à§‡ সমসà§à¦¯à¦¾ হয়েছে।" @@ -6554,6 +6691,10 @@ msgid "New Script" msgstr "নতà§à¦¨ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "বোনà§â€Œ/হাড় তৈরি করà§à¦¨" @@ -6590,6 +6731,11 @@ msgstr "বিট %d, মান %d।" msgid "On" msgstr "চালà§" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "খালি বসà§à¦¤à§ যোগ করà§à¦¨" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "নিযà§à¦•à§à¦¤ করà§à¦¨ (Set)" @@ -6598,10 +6744,6 @@ msgstr "নিযà§à¦•à§à¦¤ করà§à¦¨ (Set)" msgid "Properties:" msgstr "পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿-সমূহ:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "অংশাদি:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "গà§à¦£à¦¾à¦—à§à¦£/বৈশিষà§à¦Ÿà§à¦¯ বাছাই করà§à¦¨" @@ -7188,6 +7330,10 @@ msgstr "শাখা হতে সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨" msgid "Shortcuts" msgstr "শরà§à¦Ÿà¦•াটসমূহ" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Light à¦à¦° বà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦§ পরিবরà§à¦¤à¦¨ করà§à¦¨" @@ -7236,17 +7382,57 @@ msgstr "পারà§à¦Ÿà¦¿à¦•ল পরিবরà§à¦¤à¦¨ করà§à¦¨ AABB" msgid "Change Probe Extents" msgstr "পà§à¦°à§‹à¦¬à§‡à¦° (Probe) পরিবà§à¦¯à¦¾à¦ªà§à¦¤à¦¿ পরিবরà§à¦¤à¦¨ করà§à¦¨" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "পথের বিনà§à¦¦à§ অপসারণ করà§à¦¨" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "পà§à¦²à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "MeshLibrary (মেস-লাইবà§à¦°à§‡à¦°à¦¿).." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "জিডিনà§à¦¯à¦¾à¦Ÿà¦¿à¦" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "MeshLibrary (মেস-লাইবà§à¦°à§‡à¦°à¦¿).." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "অবসà§à¦¥à¦¾:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "লাইবà§à¦°à§‡à¦°à¦¿: " @@ -7972,6 +8158,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà§à¦›à§‡" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà§à¦›à§‡" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà§à¦›à§‡" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -8009,10 +8214,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà§à¦›à§‡" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -8074,10 +8275,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "বাতিল" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "সতরà§à¦•তা!" @@ -8145,6 +8342,31 @@ msgstr "ফনà§à¦Ÿ তà§à¦²à¦¤à§‡/লোডে সমসà§à¦¯à¦¾ হয়েঠmsgid "Invalid font size." msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤" +#~ msgid "Move Add Key" +#~ msgstr "অà§à¦¯à¦¾à¦¡ কি মà§à¦ করà§à¦¨" + +#~ msgid "Create Subscription" +#~ msgstr "সদসà§à¦¯à¦¤à¦¾/সাবসà§à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ তৈরি করà§à¦¨" + +#~ msgid "List:" +#~ msgstr "তালিকা:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Emission Mask সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨" + +#~ msgid "Clear Emitter" +#~ msgstr "Emitter পরিসà§à¦•ার করà§à¦¨" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "লাইন-ঠযান" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "অংশাদি:" + #, fuzzy #~ msgid "" #~ "\n" @@ -8672,9 +8894,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤" #~ msgid "Making BVH" #~ msgstr "BVH তৈরি করা হচà§à¦›à§‡" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "লাইটà§à¦®à§à¦¯à¦¾à¦ªà§‡ হসà§à¦¤à¦¾à¦¨à§à¦¤à¦° করà§à¦¨:" - #~ msgid "Allocating Texture #" #~ msgstr "গঠনবিনà§à¦¯à¦¾à¦¸ বণà§à¦Ÿà¦¿à¦¤ হচà§à¦›à§‡ #" @@ -8818,9 +9037,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤" #~ msgid "Del" #~ msgstr "ডিলিট/অপসারণ" -#~ msgid "Copy To Platform.." -#~ msgstr "পà§à¦²à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨.." - #~ msgid "just pressed" #~ msgstr "à¦à¦‡à¦®à¦¾à¦¤à§à¦° চাপিত" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index 82fa7fac49..6c30c703c1 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -1,14 +1,15 @@ # Catalan translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # +# BennyBeat <bennybeat@gmail.com>, 2017. # Roger Blanco Ribera <roger.blancoribera@gmail.com>, 2016-2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-28 03:45+0000\n" +"PO-Revision-Date: 2017-12-20 15:42+0000\n" "Last-Translator: Roger Blanco Ribera <roger.blancoribera@gmail.com>\n" "Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/" "godot/ca/>\n" @@ -16,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -27,8 +28,9 @@ msgid "All Selection" msgstr "Tota la Selecció" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mou o Afegeix una Clau" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Modifica el Valor" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,7 +41,8 @@ msgid "Anim Change Transform" msgstr "Modifica la Transformació de l'Animació" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Modifica el Valor" #: editor/animation_editor.cpp @@ -145,7 +148,7 @@ msgstr "Vés al Pas Següent" #: editor/animation_editor.cpp msgid "Goto Prev Step" -msgstr "Vés al Pas Previ" +msgstr "Vés al Pas Anterior" #: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -186,11 +189,11 @@ msgstr "Poleix l'Animació" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "Vol crear una NOVA pista per a %s i inserir-hi una clau?" +msgstr "Voleu crear una NOVA pista per a %s i inserir-hi una clau?" #: editor/animation_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "Vol crear %d noves pistes i inserir-hi claus?" +msgstr "Voleu crear %d NOVES pistes i inserir-hi claus?" #: editor/animation_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp @@ -219,7 +222,7 @@ msgstr "Modifica la durada" #: editor/animation_editor.cpp msgid "Change Anim Loop" -msgstr "Modifica la repetició de l'Animació" +msgstr "Modifica el bucle de l'Animació" #: editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -263,19 +266,19 @@ msgstr "Activa/Desactiva el bucle de l'animació." #: editor/animation_editor.cpp msgid "Add new tracks." -msgstr "Afegir noves pistes." +msgstr "Afegeix noves pistes." #: editor/animation_editor.cpp msgid "Move current track up." -msgstr "Moure amunt la pista actual." +msgstr "Mou amunt." #: editor/animation_editor.cpp msgid "Move current track down." -msgstr "Moure avall la pista actual." +msgstr "Mou avall." #: editor/animation_editor.cpp msgid "Remove selected track." -msgstr "Treure la pista seleccionada." +msgstr "Treu la pista seleccionada." #: editor/animation_editor.cpp msgid "Track tools" @@ -283,7 +286,7 @@ msgstr "Eines de Pista" #: editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." -msgstr "Activa l'editatge individual de claus en clicar-hi." +msgstr "Edició individual de claus en clicar-hi." #: editor/animation_editor.cpp msgid "Anim. Optimizer" @@ -324,11 +327,11 @@ msgstr "Relació d'Escala:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" -msgstr "Cridar Funcions en el Node \"Which\"?" +msgstr "Voleu cridar les Funcions en el Node \"Which\"?" #: editor/animation_editor.cpp msgid "Remove invalid keys" -msgstr "Treure claus invà lides" +msgstr "Treu claus no và lides" #: editor/animation_editor.cpp msgid "Remove unresolved and empty tracks" @@ -340,7 +343,7 @@ msgstr "Poleix totes les animacions" #: editor/animation_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "Poleix la/les Animació/ns (NO ES POT DESFER!)" +msgstr "Poleix les Animacions (No es pot desfer!)" #: editor/animation_editor.cpp msgid "Clean-Up" @@ -348,7 +351,7 @@ msgstr "Poleix" #: editor/array_property_edit.cpp msgid "Resize Array" -msgstr "Redimensiona Matriu" +msgstr "Redimensiona la Matriu" #: editor/array_property_edit.cpp msgid "Change Array Value Type" @@ -474,22 +477,22 @@ msgstr "Connecta al Node:" #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp msgid "Add" -msgstr "Afegir" +msgstr "Afegeix" #: editor/connections_dialog.cpp editor/dependency_editor.cpp #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp #: editor/project_settings_editor.cpp msgid "Remove" -msgstr "Treure" +msgstr "Treu" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "Afegir Argument de Crida Extra:" +msgstr "Arguments de Crida addicionals:" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" -msgstr "Arguments de Crida Extra:" +msgstr "Arguments de Crida addicionals:" #: editor/connections_dialog.cpp msgid "Path to Node:" @@ -534,8 +537,9 @@ msgid "Connecting Signal:" msgstr "Connectant Senyal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Crea Subscripció" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Connecta '%s' amb '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -551,7 +555,8 @@ msgid "Signals" msgstr "Senyals" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Crea Nou" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -566,7 +571,7 @@ msgstr "Recents:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Cerca:" @@ -607,6 +612,7 @@ msgstr "" "Els canvis s'actualitzaran en recarregar." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependències" @@ -649,7 +655,8 @@ msgstr "Propietaris de:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "Elimina fitxer seleccionats del project? (no es pot desfer)" +msgstr "" +"Voleu Eliminar els fitxers seleccionats del projecte? (No es pot desfer!)" #: editor/dependency_editor.cpp msgid "" @@ -657,8 +664,8 @@ msgid "" "work.\n" "Remove them anyway? (no undo)" msgstr "" -"Els fitxers eliminats son necessaris per a altres recursos.\n" -"Eliminar de totes formes? (No es pot desfer)" +"Els fitxers seleccionats són utilitzats per altres recursos.\n" +"Voleu Eliminar-los de totes maneres? (No es pot desfer!)" #: editor/dependency_editor.cpp msgid "Cannot remove:\n" @@ -690,7 +697,7 @@ msgstr "Errors de cà rrega!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "Eliminar permanentment %d element(s)? (No es pot desfer!)" +msgstr "Voleu Eliminar permanentment %d element(s)? (No es pot desfer!)" #: editor/dependency_editor.cpp msgid "Owns" @@ -706,12 +713,13 @@ msgstr "Navegador de Recursos Orfes" #: editor/dependency_editor.cpp msgid "Delete selected files?" -msgstr "Esborra fitxers seleccionats?" +msgstr "Voleu Esborrar els fitxers seleccionats?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Esborra" @@ -745,7 +753,7 @@ msgstr "Desenvolupador Principal" #: editor/editor_about.cpp editor/project_manager.cpp msgid "Project Manager" -msgstr "Gestor De Projectes" +msgstr "Gestor del Projecte" #: editor/editor_about.cpp msgid "Developers" @@ -835,7 +843,7 @@ msgstr "Èxit!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp msgid "Install" -msgstr "Instal·lar" +msgstr "Instal·la" #: editor/editor_asset_installer.cpp msgid "Package Installer" @@ -847,19 +855,24 @@ msgstr "Altaveus" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "Afegir un efecte" +msgstr "Afegeix" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" msgstr "Reanomena Bus d'Àudio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Commuta el solo del Bus d'à udio" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "Commuta el bus d'à udio solo" +msgstr "Commuta el solo del Bus d'à udio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Mute" -msgstr "Silenciar/Desilenciar Bus d'Àudio" +msgstr "Silencia/Desilencia Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" @@ -867,19 +880,19 @@ msgstr "Commuta els Efectes de Bypass del Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "Seleccionar l'enviament del Bus d'Àudio" +msgstr "Selecciona l'Enviament del Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus Effect" -msgstr "Afegir Efecte de bus d'Àudio" +msgstr "Afegeix un Efecte de bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Move Bus Effect" -msgstr "Moure Efecte de Bus" +msgstr "Mou l'Efecte de Bus" #: editor/editor_audio_buses.cpp msgid "Delete Bus Effect" -msgstr "Eliminar Efecte de Bus" +msgstr "Elimina l'Efecte de Bus" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." @@ -901,26 +914,30 @@ msgstr "Derivació" msgid "Bus options" msgstr "Opcions del Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "Duplicar" +msgstr "Duplica" #: editor/editor_audio_buses.cpp msgid "Reset Volume" -msgstr "Restablir el Volum" +msgstr "Restableix el Volum" #: editor/editor_audio_buses.cpp msgid "Delete Effect" msgstr "Elimina l'Efecte" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" -msgstr "Afegir Bus d'Àudio" +msgstr "Afegeix un Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Master bus can't be deleted!" -msgstr "El Bus Mestre no es pot pas eliminar!" +msgstr "El Bus Principal no es pot pas eliminar!" #: editor/editor_audio_buses.cpp msgid "Delete Audio Bus" @@ -928,19 +945,19 @@ msgstr "Elimina Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" -msgstr "Duplicar el Bus d'Àudio" +msgstr "Duplica el Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" -msgstr "Restablir el Volum del Bus" +msgstr "Restableix el Volum del Bus" #: editor/editor_audio_buses.cpp msgid "Move Audio Bus" -msgstr "Moure Bus d'Àudio" +msgstr "Mou el Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Save Audio Bus Layout As.." -msgstr "Desar el Disseny del Bus d'Àudio com..." +msgstr "Anomena i Desa el Disseny del Bus d'Àudio..." #: editor/editor_audio_buses.cpp msgid "Location for New Layout.." @@ -960,7 +977,7 @@ msgstr "Fitxer incorrecte. No és un disseny de bus d'à udio." #: editor/editor_audio_buses.cpp msgid "Add Bus" -msgstr "Afegir Bus" +msgstr "Afegeix Bus" #: editor/editor_audio_buses.cpp msgid "Create a new Bus Layout." @@ -969,28 +986,28 @@ msgstr "Crea un nou Disseny de Bus." #: editor/editor_audio_buses.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "Carregar" +msgstr "Carrega" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." -msgstr "Carregar un Disseny de Bus existent." +msgstr "Carrega un Disseny de Bus existent." #: editor/editor_audio_buses.cpp #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save As" -msgstr "Desar com a" +msgstr "Anomena i Desa" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." -msgstr "Desar el Disseny del Bus en un fitxer." +msgstr "Desa el Disseny del Bus en un fitxer." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "Carregar Valors predeterminats" +msgstr "Carrega Valors predeterminats" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Carregar el disseny del Bus predeterminat." +msgstr "Carrega el disseny del Bus predeterminat." #: editor/editor_autoload_settings.cpp msgid "Invalid name." @@ -1003,17 +1020,20 @@ msgstr "Carà cters và lids:" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." msgstr "" -"Nom no và lid. No pot coincidir amb noms de classe del motor ja existents." +"El Nom no és và lid. No pot coincidir amb noms de classe del motor ja " +"existents." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing buit-in type name." msgstr "" -"Nom no và lid. No pot coincidir amb noms de tipus integrats ja existents." +"El Nom no és và lid. No pot coincidir amb noms de tipus integrats ja " +"existents." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing global constant name." msgstr "" -"Nom no và lid. No pot coincidir amb noms de constants globals ja existents." +"El Nom no és và lid. No pot coincidir amb noms de constants globals ja " +"existents." #: editor/editor_autoload_settings.cpp msgid "Invalid Path." @@ -1029,7 +1049,7 @@ msgstr "Fora del camà dels recursos." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" -msgstr "Afegir AutoCà rrega" +msgstr "Afegeix AutoCà rrega" #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" @@ -1045,11 +1065,11 @@ msgstr "Commuta les Globals d'AutoCà rrega" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" -msgstr "Moure AutoCà rrega" +msgstr "Mou l'AutoCà rrega" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "Treure Autocà rrega" +msgstr "Treu Autocà rrega" #: editor/editor_autoload_settings.cpp msgid "Enable" @@ -1068,7 +1088,8 @@ msgstr "CamÃ:" msgid "Node Name:" msgstr "Nom del node:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nom" @@ -1076,21 +1097,26 @@ msgstr "Nom" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Llista:" - #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "Actualitzant Escena" +msgstr "Actualitzant l'Escena" #: editor/editor_data.cpp msgid "Storing local changes.." -msgstr "Emmagatzemant canvis locals.." +msgstr "Emmagatzemant canvis locals..." #: editor/editor_data.cpp msgid "Updating scene.." -msgstr "Actualitzant escena.." +msgstr "S'està actualitzant l'escena.." + +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(buit)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" @@ -1103,7 +1129,7 @@ msgstr "Tria un Directori" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "Crea una Carpeta" +msgstr "Crea un Directori" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp @@ -1115,7 +1141,7 @@ msgstr "Nom:" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Could not create folder." -msgstr "No s'ha pogut crear la carpeta." +msgstr "No s'ha pogut crear el directori." #: editor/editor_dir_dialog.cpp msgid "Choose" @@ -1131,16 +1157,31 @@ msgstr "Compressió" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:\n" -msgstr "no s'ha trobat la Plantilla:\n" +msgstr "No s'ha trobat la Plantilla:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "Fitxer Existent, Sobreescriure?" +msgstr "Fitxer Existent, Voleu sobreescriure'l?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Crea una Carpeta" +msgstr "Selecciona el Directori Actual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copia CamÃ" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostra en el Gestor de Fitxers" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nou Directori.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Refresca" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1189,12 +1230,8 @@ msgid "Go Up" msgstr "Puja" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Refresca" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "Fitxers Ocults" +msgstr "Commuta Fitxers Ocults" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" @@ -1210,15 +1247,15 @@ msgstr "Enfoca CamÃ" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "Moure Favorit Amunt" +msgstr "Mou Favorit Amunt" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "Moure Favorit Avall" +msgstr "Mou Favorit Avall" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Go to parent folder" -msgstr "Aneu a la carpeta principal" +msgstr "Vés al directori principal" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" @@ -1343,8 +1380,8 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Aquesta proprietat no disposa de cap descripció. Podeu contribuir tot color=" -"$color][url=$url] aportant-ne una[/url][/color]!" +"Aquesta propietat no disposa de cap descripció. Podeu contribuir [color=" +"$color][url=$url] totaportant-ne una[/url][/color]!" #: editor/editor_help.cpp msgid "Methods" @@ -1359,8 +1396,8 @@ msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Aquest mètode no disposa de cap descripció. Podeu contribuir tot color=" -"$color][url=$url] aportant-ne una[/url][/color]!" +"Aquest mètode no disposa de cap descripció. Podeu contribuir [color=$color]" +"[url=$url] tot aportant-ne una[/url][/color]!" #: editor/editor_help.cpp msgid "Search Text" @@ -1372,7 +1409,8 @@ msgstr "Sortida:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Neteja" @@ -1382,7 +1420,7 @@ msgstr "Error en desar recurs!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." -msgstr "Desar Recurs com..." +msgstr "Anomena i Desa el Recurs..." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -1423,7 +1461,7 @@ msgstr "S'ha produït un error en carregar '% s'." #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "Desant Escena" +msgstr "S'està desant l'Escena" #: editor/editor_node.cpp msgid "Analyzing" @@ -1458,11 +1496,11 @@ msgstr "Error en desar MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "No s'ha pogut carregar TileSet per combinar les dades!" +msgstr "No s'ha pogut carregar el TileSet per combinar'ne les dades!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "Error en desar TileSet!" +msgstr "Error en desar el TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" @@ -1486,8 +1524,8 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Aquest recurs pertany a una escena importada, aixà que no és editable.\n" -"Referiu-vos a la documentació rellevant per a la importació d'escenes." +"Un Recurs pertanyent a una escena importada no és editable.\n" +"Referiu-vos a la documentació rellevant sobre la importació d'escenes." #: editor/editor_node.cpp msgid "" @@ -1503,7 +1541,7 @@ msgid "" "import panel and then re-import." msgstr "" "En ser importat, un recurs no és editable. Canvieu-ne la configuració en el " -"panell d'importació i abansd'importar." +"panell d'importació i torneu-lo a importar." #: editor/editor_node.cpp msgid "" @@ -1514,8 +1552,8 @@ msgid "" msgstr "" "En ser una escena importada, no se'n conservaran els canvis. \n" "Instanciar o heretar l'escena permetria la seva modificació.\n" -"Referiu-vos a la documentació rellevant a la importació d'escenes per a més " -"informació." +"Referiu-vos a la documentació rellevant sobre la importació d'escenes per a " +"més informació." #: editor/editor_node.cpp msgid "" @@ -1527,18 +1565,16 @@ msgstr "" "Referiu-vos a la documentació rellevant sobre la Depuració de codi." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Expandir tot" +msgstr "Expandeix totes les propietats" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Col·lapsar tot" +msgstr "Col·lapsa totes les propietats" #: editor/editor_node.cpp msgid "Copy Params" -msgstr "Copia Parà metres" +msgstr "Copia els Parà metres" #: editor/editor_node.cpp msgid "Paste Params" @@ -1546,11 +1582,11 @@ msgstr "Enganxa els Parà metres" #: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp msgid "Paste Resource" -msgstr "Enganxa Recurs" +msgstr "Enganxa el Recurs" #: editor/editor_node.cpp msgid "Copy Resource" -msgstr "Copia Recurs" +msgstr "Copia el Recurs" #: editor/editor_node.cpp msgid "Make Built-In" @@ -1576,7 +1612,7 @@ msgid "" msgstr "" "No s'ha definit cap escena principal. Seleccioneu-ne una.\n" "És possible triar-ne una altra des de \"Configuració del Projecte\" en la " -"categoria \"aplicació\"." +"categoria \"Aplicació\"." #: editor/editor_node.cpp msgid "" @@ -1586,7 +1622,7 @@ msgid "" msgstr "" "L'escena '%s' no existeix. Seleccioneu-ne una de và lida.\n" "És possible triar-ne una altra més endavant a \"Configuració del Projecte\" " -"en la categoria \"aplicació\"." +"en la categoria \"Aplicació\"." #: editor/editor_node.cpp msgid "" @@ -1597,7 +1633,7 @@ msgstr "" "L'escena '%s' seleccionada no és un fitxer d'escena. Seleccioneu-ne un de " "và lid.\n" "És possible triar-ne una altra més endavant a \"Configuració del Projecte\" " -"en la categoria \"aplicació\"." +"en la categoria \"Aplicació\"." #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1610,11 +1646,11 @@ msgstr "No s'ha pogut començar el subprocés!" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "Obre Escena" +msgstr "Obre una Escena" #: editor/editor_node.cpp msgid "Open Base Scene" -msgstr "Obre Escena Base" +msgstr "Obre una Escena Base" #: editor/editor_node.cpp msgid "Quick Open Scene.." @@ -1634,7 +1670,7 @@ msgstr "Desar els canvis a '%s' abans de tancar?" #: editor/editor_node.cpp msgid "Save Scene As.." -msgstr "Desa Escena com..." +msgstr "Anomena i Desa l'Escena..." #: editor/editor_node.cpp msgid "No" @@ -1647,11 +1683,11 @@ msgstr "SÃ" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" msgstr "" -"Aquesta Escena no s'ha desat mai encara. Voleu desar-la abans d'executar-la?" +"Aquesta escena no s'ha desat mai encara. Voleu desar-la abans d'executar-la?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "Aquesta operació no es pot dur a terme sense una escena." +msgstr "Aquesta operació no pot dur-se a terme sense cap escena." #: editor/editor_node.cpp msgid "Export Mesh Library" @@ -1663,7 +1699,7 @@ msgstr "Aquesta operació no es pot dur a terme sense un node arrel." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "Exporta el joc de Mosaics (Tiles)" +msgstr "Exporta el TileSet" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." @@ -1671,11 +1707,11 @@ msgstr "Aquesta operació no es pot dur a terme sense un node seleccionat." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "L'escena actual no s'ha desat. Vol obrir igualment?" +msgstr "L'escena actual no s'ha desat. Voleu obrir-la igualment?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "No es pot recarregar una escena no desada." +msgstr "No es pot recarregar una escena mai desada." #: editor/editor_node.cpp msgid "Revert" @@ -1683,7 +1719,7 @@ msgstr "Reverteix" #: editor/editor_node.cpp msgid "This action cannot be undone. Revert anyway?" -msgstr "No es pot desfer aquesta acció. Vol revertir igualament?" +msgstr "Aquesta acció no es pot desfer. N'esteu segur?" #: editor/editor_node.cpp msgid "Quick Run Scene.." @@ -1707,7 +1743,7 @@ msgstr "Desar i Sortir" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "Desar els canvis a la(les) escena(es) següent(s) abans de Sortir?" +msgstr "Voleu Desar els canvis en les escenes següents abans de Sortir?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" @@ -1720,8 +1756,8 @@ msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" -"Aquesta opció és obsoleta. Es consideren ara errors les situacions on s'ha " -"de forçar el refrescament. Si us plau reporteu-ho." +"Aquesta opció està desfasada. Ara, les situacions on s'ha de forçar el " +"refrescament es consideren errors. Si us plau, informeu-ne." #: editor/editor_node.cpp msgid "Pick a Main Scene" @@ -1779,11 +1815,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" -msgstr "Escena '%s' té dependències no và lides:" +msgstr "L'Escena '%s' té dependències no và lides:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "Netejar Escenes Recents" +msgstr "Buida les Escenes Recents" #: editor/editor_node.cpp msgid "Save Layout" @@ -1816,7 +1852,7 @@ msgstr "%d fitxer(s) més" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "Posició del Acoblament" +msgstr "Posició de l'Acoblador" #: editor/editor_node.cpp msgid "Distraction Free Mode" @@ -1892,7 +1928,7 @@ msgstr "Biblioteca de Models (MeshLibrary)..." #: editor/editor_node.cpp msgid "TileSet.." -msgstr "Joc de Mosaics (TileSet)..." +msgstr "TileSet..." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp @@ -2046,7 +2082,7 @@ msgstr "Mode Pantalla Completa" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" -msgstr "Gestionar Plantilles d'Exportació" +msgstr "Gestor de Plantilles d'Exportació" #: editor/editor_node.cpp msgid "Help" @@ -2150,7 +2186,7 @@ msgstr "Desa el recurs editat ara." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "Desa Com..." +msgstr "Anomena i Desa..." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." @@ -2227,7 +2263,7 @@ msgstr "Errors de Cà rrega" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "Seleccionar" +msgstr "Selecciona" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -2326,9 +2362,19 @@ msgstr "Propi" msgid "Frame #:" msgstr "Fotograma núm.:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Temps:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Crida" + #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "Seleccionar un dispositiu de la llista" +msgstr "Selecciona un dispositiu de la llista" #: editor/editor_run_native.cpp msgid "" @@ -2380,7 +2426,7 @@ msgstr "Importa des del Node:" #: editor/export_template_manager.cpp msgid "Re-Download" -msgstr "Tornar a Descarregar" +msgstr "Torna a Baixar" #: editor/export_template_manager.cpp msgid "Uninstall" @@ -2392,7 +2438,7 @@ msgstr "(Instal·lat)" #: editor/export_template_manager.cpp msgid "Download" -msgstr "Descarregar" +msgstr "Baixa" #: editor/export_template_manager.cpp msgid "(Missing)" @@ -2408,7 +2454,7 @@ msgstr "S'estan buscant rèpliques..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "Eliminar la versió \"%s\" de la plantilla ?" +msgstr "Voleu Eliminar la versió \"%s\" de la plantilla ?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." @@ -2447,8 +2493,8 @@ msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" -"No s'ha trobat cap enllaç de descà rrega per a aquesta versió. Les " -"descà rregues directes només són disponibles per a versions oficials." +"No s'ha trobat cap enllaç de baixada per a aquesta versió. Les baixades " +"directes només són disponibles per a versions oficials." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2467,7 +2513,8 @@ msgstr "Cap resposta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Ha fallat la sol·licitud." #: editor/export_template_manager.cpp @@ -2486,7 +2533,7 @@ msgstr "No es pot escriure el fitxer." #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "Descà rrega Completa." +msgstr "Baixada Completa." #: editor/export_template_manager.cpp msgid "Error requesting url: " @@ -2514,7 +2561,8 @@ msgid "Connecting.." msgstr "Connexió en marxa..." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "No es pot connectar" #: editor/export_template_manager.cpp @@ -2552,7 +2600,7 @@ msgstr "Instal·lar des d'un Fitxer" #: editor/export_template_manager.cpp msgid "Remove Template" -msgstr "Eliminar Plantilla" +msgstr "Elimina la Plantilla" #: editor/export_template_manager.cpp msgid "Select template file" @@ -2564,7 +2612,7 @@ msgstr "Gestor de Plantilles d'Exportació" #: editor/export_template_manager.cpp msgid "Download Templates" -msgstr "Descarrega plantilles" +msgstr "Baixa plantilles" #: editor/export_template_manager.cpp msgid "Select mirror from list: " @@ -2582,11 +2630,11 @@ msgstr "No es pot accedir a '%s'. No es troba en el sistema de fitxers!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" -msgstr "Veure com a graella de miniatures" +msgstr "Visualitza en una graella de miniatures" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "Veure com a llista" +msgstr "Visualitza en una llista" #: editor/filesystem_dock.cpp msgid "" @@ -2594,7 +2642,7 @@ msgid "" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "\n" -"Estat: No s'ha pogut importar. Corregeixi el fitxer i torni a importar." +"Estat: No s'ha pogut importar. Corregiu el fitxer i torneu a importar." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." @@ -2609,6 +2657,11 @@ msgid "Error moving:\n" msgstr "Error en moure:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Error en carregar:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "No s'han pogut actualitzar les dependències:\n" @@ -2641,6 +2694,16 @@ msgid "Renaming folder:" msgstr "Reanomenant directori:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplica" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Reanomenant directori:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Expandir tot" @@ -2649,24 +2712,17 @@ msgid "Collapse all" msgstr "Col·lapsar tot" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copia CamÃ" - -#: editor/filesystem_dock.cpp msgid "Rename.." -msgstr "Reanomenar.." +msgstr "Reanomena.." #: editor/filesystem_dock.cpp msgid "Move To.." -msgstr "Moure cap a..." - -#: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nou Directori.." +msgstr "Mou cap a..." #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostra en el Gestor de Fitxers" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Obre una Escena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2681,6 +2737,11 @@ msgid "View Owners.." msgstr "Mostra Propietaris..." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplica" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Directori Anterior" @@ -2708,20 +2769,20 @@ msgstr "Analitzant Fitxers..." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "Moure" +msgstr "Mou" #: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/project_manager.cpp msgid "Rename" -msgstr "Reanomenar" +msgstr "Reanomena" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "Afegir al Grup" +msgstr "Afegeix al Grup" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "Treure del Grup" +msgstr "Treu del Grup" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" @@ -2773,6 +2834,16 @@ msgid "Importing Scene.." msgstr "Important Escena..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Generant AABB" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generant AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Executant Script Personalitzat..." @@ -2909,12 +2980,12 @@ msgstr "ERROR: Ja existeix aquest nom d'Animació!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "Reanomenar Animació" +msgstr "Reanomena l'Animació" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "Afegir Animació" +msgstr "Afegeix una Animació" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" @@ -2987,11 +3058,11 @@ msgstr "Crea una nova animació en el reproductor." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." -msgstr "Carregar un animació del del disc." +msgstr "Carrega un animació del del disc." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "Carregar una animació des del disc." +msgstr "Carrega una animació des del disc." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" @@ -3019,54 +3090,51 @@ msgstr "Copiar l'Animació" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Efecte Paper Ceba" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Activa l'Efecte Paper Ceba" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Seccions:" +msgstr "Direccions" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Enganxa" +msgstr "Passat" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "CaracterÃstiques" +msgstr "Futur" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profunditat" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 pas" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Només diferencial" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Força modulació blanca" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Inclou Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3252,7 +3320,7 @@ msgstr "Continguts:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" -msgstr "Veure Fitxers" +msgstr "Visualitza Fitxers" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" @@ -3280,7 +3348,7 @@ msgstr "Ha fallat la sol·licitud. Massa redireccionaments" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "Error en la descà rrega (hash incorrecte). El fitxer fou manipulat." +msgstr "Error en la baixada (hash incorrecte). El fitxer fou manipulat." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" @@ -3296,7 +3364,7 @@ msgstr "Ha fallat la comprovació del hash sha256" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "Error en la descà rrega de l'Actiu:" +msgstr "Error en la baixada de l'Actiu:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" @@ -3320,7 +3388,7 @@ msgstr "Torneu a provar" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "Error en la Descà rrega" +msgstr "Error en la Baixada" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" @@ -3343,6 +3411,7 @@ msgid "last" msgstr "darrer" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Tot" @@ -3384,6 +3453,28 @@ msgstr "Provant" msgid "Assets ZIP File" msgstr "Arxiu ZIP d'Actius" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Modifica el Radi de Llum" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Previsualització" @@ -3519,16 +3610,15 @@ msgstr "Mode d'Escombratge lateral" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggles snapping" -msgstr "Act/Desactiva Acoblament" +msgstr "Activa/Desactiva Alineament" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Alinea" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping options" -msgstr "Opcions d'Acoblament" +msgstr "Opcions d'Alineament" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" @@ -3702,16 +3792,6 @@ msgstr "Error en instanciar l'escena des de %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Buenu, pos molt bé, pos adiós... :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "No hi ha cap node Pare per instanciar-li un fill." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Aquesta operació requereix un únic node seleccionat." @@ -3907,6 +3987,22 @@ msgid "Create Navigation Mesh" msgstr "Crea un malla de Navegació" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance manca d'una Malla!" @@ -3947,6 +4043,20 @@ msgid "Create Outline Mesh.." msgstr "Crea una malla de contorn..." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Vista" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Vista" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Crea la Malla de Contorn" @@ -4123,10 +4233,6 @@ msgid "Create Navigation Polygon" msgstr "Crea un PolÃgon de Navegació" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Esborra la Mà scara d'Emissió" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Generant AABB" @@ -4144,10 +4250,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Cap pÃxel amb transparència > 128 en la imatge..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Estableix la Mà scara d'Emissió" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Genera un Rectangle de Visibilitat" @@ -4156,6 +4258,10 @@ msgid "Load Emission Mask" msgstr "Carrega una Mà scara d'Emissió" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Esborra la Mà scara d'Emissió" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "PartÃcules" @@ -4214,10 +4320,6 @@ msgid "Create Emission Points From Node" msgstr "Crea Punts d'Emissió des d'un Node" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Esborra l'Emissor" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Crea un Emissor" @@ -4425,7 +4527,7 @@ msgstr "Graella" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "Error: no es pot carregar el recurs!" +msgstr "Error: No es pot carregar el recurs!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" @@ -4458,7 +4560,7 @@ msgstr "Enganxa" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" -msgstr "Esborra la llista de Fitxers recents" +msgstr "Buida la llista de Fitxers recents" #: editor/plugins/script_editor_plugin.cpp msgid "" @@ -4502,11 +4604,13 @@ msgstr "Ordena" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Mou Amunt" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Mou avall" @@ -4522,7 +4626,7 @@ msgstr "Script Anterior" msgid "File" msgstr "Fitxer" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nou" @@ -4535,6 +4639,11 @@ msgid "Soft Reload Script" msgstr "Recarrega parcialment l'Script" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copia CamÃ" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Anterior en l'Historial" @@ -4643,11 +4752,11 @@ msgid "" "What action should be taken?:" msgstr "" "El disc conté versions més recents dels fitxer següents. \n" -"Quina acció s'ha de seguir?:" +"Quina acció voleu seguir?:" #: editor/plugins/script_editor_plugin.cpp msgid "Reload" -msgstr "Tornar a Carregar" +msgstr "Torna a Carregar" #: editor/plugins/script_editor_plugin.cpp msgid "Resave" @@ -4666,7 +4775,7 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." -msgstr "Només es poden afegir Recursos del sistema de fitxers." +msgstr "Només s'hi poden deixar caure Recursos del sistema de fitxers." #: editor/plugins/script_text_editor.cpp msgid "Pick Color" @@ -4722,14 +4831,11 @@ msgstr "Comentaris" #: editor/plugins/script_text_editor.cpp msgid "Clone Down" -msgstr "Clonar avall" +msgstr "Clona avall" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Plega la LÃnia" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Desplega la lÃnia" #: editor/plugins/script_text_editor.cpp @@ -4958,7 +5064,6 @@ msgid "Z-Axis Transform." msgstr "Transformació de l'Eix Z." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Plane Transform." msgstr "Transformació de la Vista." @@ -5058,6 +5163,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Alinea amb la Vista" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Buenu, pos molt bé, pos adiós... :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "No hi ha cap node Pare per instanciar-li un fill." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Mostra les Normals" @@ -5080,7 +5193,7 @@ msgstr "Mostra l'Entorn" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" -msgstr "Mostra el Trasto" +msgstr "Mostra els Gizmos" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" @@ -5088,7 +5201,7 @@ msgstr "Mostra la Informació" #: editor/plugins/spatial_editor_plugin.cpp msgid "View FPS" -msgstr "Veure FPS" +msgstr "Visualitza FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Half Resolution" @@ -5135,7 +5248,6 @@ msgid "preview" msgstr "Previsualització" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "XForm Dialog" msgstr "Dià leg XForm" @@ -5166,6 +5278,20 @@ msgid "Scale Mode (R)" msgstr "Mode Escala (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenades Locals" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Mode Escala (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Mode Imant:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vista Inferior" @@ -5207,7 +5333,7 @@ msgstr "Focalitza't en la Selecció" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Selection With View" -msgstr "Aliena la Selecció amb la Vista" +msgstr "Alinea la Selecció amb la Vista" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Select" @@ -5215,7 +5341,7 @@ msgstr "Selecciona una Eina" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Move" -msgstr "Eina de Moure" +msgstr "Eina de Translació" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Rotate" @@ -5238,10 +5364,6 @@ msgid "Configure Snap.." msgstr "Configura l'Alineament..." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordenades Locals" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Dià leg de Transformació..." @@ -5283,6 +5405,10 @@ msgid "Settings" msgstr "Configuració" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Configuració de l'Alineament" @@ -5320,7 +5446,7 @@ msgstr "Modifica la Transformació" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate:" -msgstr "Traslladar:" +msgstr "Translació:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate (deg.):" @@ -5586,7 +5712,7 @@ msgstr "Elimina la Selecció" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "Pinta el Mosaic" +msgstr "Pinta el TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Line Draw" @@ -5602,7 +5728,7 @@ msgstr "Cubell de pintura" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" -msgstr "Elimina el Mosaic" +msgstr "Elimina el TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase selection" @@ -5665,6 +5791,11 @@ msgid "Merge from scene?" msgstr "Combinar-ho a partir de l'escena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Crea-ho a partir de l'Escena" @@ -5676,6 +5807,10 @@ msgstr "Combina-ho a partir de l'Escena" msgid "Error" msgstr "Error" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancel·la" + #: editor/project_export.cpp msgid "Runnable" msgstr "Executable" @@ -5801,10 +5936,6 @@ msgid "Imported Project" msgstr "Project importat" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Fóra bo anomenar el projecte." @@ -5846,7 +5977,7 @@ msgstr "Importa un Projecte existent" #: editor/project_manager.cpp msgid "Create New Project" -msgstr "Crea un Project nou" +msgstr "Crea un Projecte nou" #: editor/project_manager.cpp msgid "Install Project:" @@ -5963,6 +6094,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Encara no teniu cap projecte.\n" +"Voleu explorar els projectes oficials d'exemple a la llibreria activa?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6070,8 +6203,9 @@ msgid "Joypad Button Index:" msgstr "Ãndex del Botó de la Maneta:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Afegeix una Acció d'Entrada" +#, fuzzy +msgid "Erase Input Action" +msgstr "Elimina la Incidència d'Acció d'Entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6138,6 +6272,10 @@ msgid "Already existing" msgstr "Ja existeix" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Afegeix una Acció d'Entrada" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "No s'ha pogut desar la configuració." @@ -6314,6 +6452,10 @@ msgid "New Script" msgstr "Script Nou" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Fes-lo Únic" @@ -6345,6 +6487,11 @@ msgstr "Bit %d, valor %d." msgid "On" msgstr "Activat" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Afegeix un element Buit" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Estableix" @@ -6353,10 +6500,6 @@ msgstr "Estableix" msgid "Properties:" msgstr "Propietats:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Seccions:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Selecciona una Propietat" @@ -6839,7 +6982,6 @@ msgid "Inspect Next Instance" msgstr "Inspecciona la Instà ncia següent" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Stack Frames" msgstr "Fotogrames de la Pila" @@ -6923,6 +7065,10 @@ msgstr "Estableix des de l'Arbre" msgid "Shortcuts" msgstr "Dreceres" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Modifica el Radi de Llum" @@ -6971,26 +7117,65 @@ msgstr "Modifica les PartÃcules AABB" msgid "Change Probe Extents" msgstr "Modifica l'abast de la Sonda" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Elimina un punt de la Corba" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Biblioteca" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Estat" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Biblioteques: " #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "GDNatiu" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "Argument de tipus invà lid per a convert(), utilitzi constants TYPE_*." +msgstr "L'argument per a convert() no és và lid, utilitzeu constants TYPE_*." #: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -6998,9 +7183,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Manquen bytes per a descodificar els bytes, o el format no és và lid." #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "step argument is zero!" -msgstr "L'argument 'Pas' és zero!" +msgstr "L'argument 'step' és zero!" #: modules/gdscript/gdscript_functions.cpp msgid "Not a script with an instance" @@ -7016,34 +7200,35 @@ msgstr "No basat en un arxiu de recursos" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (missing @path)" -msgstr "Format del diccionari d'instà ncies invà lid (manca @path)" +msgstr "El format del diccionari d'instà ncies no és và lid (manca @path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" -"Format del diccionari d'instà ncies invà lid (no es pot carregar l'Script a " -"@path)" +"El format del diccionari d'instà ncies no és và lid (no es pot carregar " +"l'Script a @path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "Format del diccionari d'instà ncies invà lid (Script invà lid a @path)" +msgstr "" +"El Format del diccionari d'instà ncies no és và lid ( L'Script a @path no és " +"và lid)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "Diccionari d'instà ncies invà lid (subclasses invà lides)" +msgstr "El Diccionari d'instà ncies no és và lid (subclasses no và lides)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." msgstr "L'objecte no pot proporcionar una longitud." #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Delete Selection" -msgstr "Elimina la Selecció en el Mapa de Graella" +msgstr "Elimina la Selecció del GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Duplicate Selection" -msgstr "Duplica la Selecció del Mapa de Graella" +msgstr "Duplica la Selecció del GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" @@ -7135,7 +7320,7 @@ msgstr "Esborra la Selecció" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" -msgstr "Configuració del Mapa de Graella" +msgstr "Configuració del GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Pick Distance:" @@ -7171,7 +7356,7 @@ msgstr "" #: modules/visual_script/visual_script.cpp msgid "Node returned an invalid sequence output: " -msgstr "El node ha retornat un seqüencia de sortida invà lida: " +msgstr "El node ha retornat un seqüencia de sortida que no és và lida: " #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" @@ -7233,11 +7418,11 @@ msgstr "Reanomena Senyal" #: modules/visual_script/visual_script_editor.cpp msgid "Add Function" -msgstr "Afegir Funció" +msgstr "Afegeix una Funció" #: modules/visual_script/visual_script_editor.cpp msgid "Add Variable" -msgstr "Afegir Variable" +msgstr "Afegeix una Variable" #: modules/visual_script/visual_script_editor.cpp msgid "Add Signal" @@ -7289,15 +7474,15 @@ msgstr "Retén Ctrl per dipositar una Variable d'Actualització (Setter)." #: modules/visual_script/visual_script_editor.cpp msgid "Add Preload Node" -msgstr "Afegir Node de Precà rrega" +msgstr "Afegeix un Node de Precà rrega" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" -msgstr "Afegir Node(s) des d'Arbre" +msgstr "Afegeix Nodes des d'Arbre" #: modules/visual_script/visual_script_editor.cpp msgid "Add Getter Property" -msgstr "Afegir Propietat d'Accés (Getter)" +msgstr "Afegeix una Propietat d'Accés (Getter)" #: modules/visual_script/visual_script_editor.cpp msgid "Add Setter Property" @@ -7445,15 +7630,15 @@ msgstr "Tipus d'entrada no iterable: " #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid" -msgstr "L'Iterador ha esdevingut invà lid" +msgstr "L'Iterador ja no és và lid" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid: " -msgstr "L'Iterador ha esdevingut invà lid: " +msgstr "L'Iterador ja no és và lid: " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "El Nom de la propietat index és invà lid." +msgstr "El Nom de la propietat Ãndex no és và lid." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" @@ -7465,15 +7650,15 @@ msgstr "El camà no condueix a cap Node!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "El nom de la propietat index '%s' és invà lid en el node %s." +msgstr "El nom de la propietat Ãndex '%s' del node %s no és và lid ." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " -msgstr ": Argument invà lid del tipus: " +msgstr ": Argument no và lid del tipus: " #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid arguments: " -msgstr ": Arguments invà lids: " +msgstr ": Arguments no và lids: " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableGet not found in script: " @@ -7681,6 +7866,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "El node ARVROrigin requreix un node Fill del tipus ARVRCamera" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "S'està n traçant les Malles" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "S'està n traçant les Malles" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "S'està finalitzant el Traçat" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "S'està n traçant les Malles" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7717,10 +7921,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "S'està n traçant les Malles" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "S'està finalitzant el Traçat" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7736,11 +7936,9 @@ msgstr "" "proporciona dades de navegació." #: scene/3d/particles.cpp -#, fuzzy msgid "" "Nothing is visible because meshes have not been assigned to draw passes." -msgstr "" -"Res és visible perquè no s'ha assignat cap Malla a cap passi de Dibuix." +msgstr "Res és visible perquè no s'ha assignat cap Malla a cap pas de Dibuix." #: scene/3d/physics_body.cpp msgid "" @@ -7789,10 +7987,6 @@ msgid "Add current color as a preset" msgstr "Afegeix el Color actual com a predeterminat" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Cancel·la" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Ep!" @@ -7801,9 +7995,8 @@ msgid "Please Confirm..." msgstr "Confirmeu..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Selecciona un Mètode" +msgstr "Selecciona aquest Directori" #: scene/gui/popup.cpp msgid "" @@ -7816,15 +8009,14 @@ msgstr "" "s'edita, però s'ocultaran durant l'execució." #: scene/gui/scroll_container.cpp -#, fuzzy msgid "" "ScrollContainer is intended to work with a single child control.\n" "Use a container as child (VBox,HBox,etc), or a Control and set the custom " "minimum size manually." msgstr "" -"ScrollContainer està pensat per treballar amb un sol control fill.\n" -"Utilitza un contenidor (VBox, HBox,...) com a fill, o utilitza un Control i " -"estableix manualment una mida mÃnima personalitzada." +"ScrollContainer fou pensat per treballar-hi amb un sol Control fill.\n" +"Utilitzeu un contenidor (VBox, HBox, ...) com a fill, o un utilitzeu Control " +"i personalitzeu-hi la mida mÃnima manualment." #: scene/gui/tree.cpp msgid "(Other)" @@ -7866,6 +8058,30 @@ msgstr "Error carregant lletra." msgid "Invalid font size." msgstr "La mida de la lletra no és và lida." +#~ msgid "Move Add Key" +#~ msgstr "Mou o Afegeix una Clau" + +#~ msgid "Create Subscription" +#~ msgstr "Crea Subscripció" + +#~ msgid "List:" +#~ msgstr "Llista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Estableix la Mà scara d'Emissió" + +#~ msgid "Clear Emitter" +#~ msgstr "Esborra l'Emissor" + +#~ msgid "Fold Line" +#~ msgstr "Plega la LÃnia" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Seccions:" + #~ msgid "Cannot navigate to '" #~ msgstr "No es pot navegar fins '" diff --git a/editor/translations/cs.po b/editor/translations/cs.po index ecbc9c950e..5cf6103dcc 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -1,6 +1,6 @@ # Czech translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Fadex <vitekpaulik@gmail.com>, 2017. @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-25 07:45+0000\n" -"Last-Translator: Jiri Hysek <contact@jirihysek.com>\n" +"PO-Revision-Date: 2017-12-09 19:45+0000\n" +"Last-Translator: Martin Novák <maidx@seznam.cz>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" "Language: cs\n" @@ -24,15 +24,16 @@ msgstr "" #: editor/animation_editor.cpp msgid "Disabled" -msgstr "Vypnuto" +msgstr "Zakázáno" #: editor/animation_editor.cpp msgid "All Selection" msgstr "VÅ¡echny vybrané" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animace: zmÄ›na hodnoty" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -43,7 +44,8 @@ msgid "Anim Change Transform" msgstr "Animace: zmÄ›na transformace" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animace: zmÄ›na hodnoty" #: editor/animation_editor.cpp @@ -89,7 +91,7 @@ msgstr "Animace: zmÄ›na typu hodnot" #: editor/animation_editor.cpp #, fuzzy msgid "Anim Track Change Wrap Mode" -msgstr "Animace: zmÄ›na typu hodnot" +msgstr "ZmÄ›na režimu opakovánà animaÄnà stopy" #: editor/animation_editor.cpp msgid "Edit Node Curve" @@ -110,7 +112,7 @@ msgstr "Duplikovat výbÄ›r" #: editor/animation_editor.cpp msgid "Duplicate Transposed" -msgstr "" +msgstr "Duplikovat transponované" #: editor/animation_editor.cpp msgid "Remove Selection" @@ -167,15 +169,15 @@ msgstr "In" #: editor/animation_editor.cpp msgid "Out" -msgstr "Out" +msgstr "Výstup" #: editor/animation_editor.cpp msgid "In-Out" -msgstr "In-Out" +msgstr "Vstup-Výstup" #: editor/animation_editor.cpp msgid "Out-In" -msgstr "Out-In" +msgstr "Výstup-Vstup" #: editor/animation_editor.cpp msgid "Transitions" @@ -268,7 +270,7 @@ msgstr "Zapnout/vypnout opakovánà animace." #: editor/animation_editor.cpp msgid "Add new tracks." -msgstr "PÅ™idat nové stopy." +msgstr "PÅ™idat novou stopu." #: editor/animation_editor.cpp msgid "Move current track up." @@ -324,7 +326,7 @@ msgstr "PÅ™echod" #: editor/animation_editor.cpp msgid "Scale Ratio:" -msgstr "PomÄ›r velikosti:" +msgstr "PomÄ›r měřÃtka:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" @@ -336,7 +338,7 @@ msgstr "Odstranit neplatné klÃÄe" #: editor/animation_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "" +msgstr "Odstranit nevyÅ™eÅ¡ené a prázdné stopy" #: editor/animation_editor.cpp msgid "Clean-up all animations" @@ -375,7 +377,6 @@ msgid "No Matches" msgstr "Žádné shody" #: editor/code_editor.cpp -#, fuzzy msgid "Replaced %d occurrence(s)." msgstr "Nahrazeno %d výskytů." @@ -425,7 +426,7 @@ msgstr "Nahradit" #: editor/code_editor.cpp msgid "Case Sensitive" -msgstr "" +msgstr "RozliÅ¡ovat velká a malá pÃsmena" #: editor/code_editor.cpp msgid "Backwards" @@ -539,8 +540,9 @@ msgid "Connecting Signal:" msgstr "PÅ™ipojuji signál:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "VytvoÅ™it odbÄ›r" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "PÅ™ipojit '%s' k '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -556,7 +558,8 @@ msgid "Signals" msgstr "Signály" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "VytvoÅ™it nový" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -571,7 +574,7 @@ msgstr "Nedávné:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Hledat:" @@ -612,6 +615,7 @@ msgstr "" "ZmÄ›ny se projevà po opÄ›tovném naÄtenÃ." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Závislosti" @@ -707,16 +711,17 @@ msgstr "Zdroje bez explicitnÃho vlastnictvÃ:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Orphan Resource Explorer" -msgstr "PrůzkumnÃk sirotků zdrojů" +msgstr "PrůzkumnÃk osiÅ™elých zdrojů" #: editor/dependency_editor.cpp msgid "Delete selected files?" msgstr "Odstranit vybrané soubory?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Odstranit" @@ -725,9 +730,8 @@ msgid "Change Dictionary Key" msgstr "ZmÄ›nit slovnÃkový klÃÄ" #: editor/dictionary_property_edit.cpp -#, fuzzy msgid "Change Dictionary Value" -msgstr "ZmÄ›nit hodnotu pole" +msgstr "ZmÄ›nit hodnotu slovnÃku" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" @@ -739,7 +743,7 @@ msgstr "DÃky!" #: editor/editor_about.cpp msgid "Godot Engine contributors" -msgstr "" +msgstr "PÅ™ispÃvajÃcà do Godot Enginu" #: editor/editor_about.cpp #, fuzzy @@ -752,7 +756,7 @@ msgstr "Vedoucà vývojář" #: editor/editor_about.cpp editor/project_manager.cpp msgid "Project Manager" -msgstr "Projektový manažer" +msgstr "Správce projektů" #: editor/editor_about.cpp msgid "Developers" @@ -805,6 +809,10 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" +"Godot Engine závisà na volnÄ› dostupných a open source knihovnách od tÅ™etÃch " +"stran; vÅ¡echny jsou kompatibilnà s podmÃnkami jeho MIT licence. Následuje " +"vyÄerpávajÃcà seznam tÄ›chto komponent tÅ™etÃch stran s jejich pÅ™ÃsluÅ¡nými " +"popisy autorských práv a s licenÄnÃmi podmÃnkami." #: editor/editor_about.cpp #, fuzzy @@ -826,7 +834,7 @@ msgstr "NepodaÅ™ilo se otevÅ™Ãt balÃÄek, nenà ve formátu zip." #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "" +msgstr "Dekomprese uživatelského obsahu" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package Installed Successfully!" @@ -835,7 +843,7 @@ msgstr "BalÃÄek byl úspěšnÄ› nainstalován!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Success!" -msgstr "" +msgstr "ÚspÄ›ch!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp @@ -848,7 +856,7 @@ msgstr "Instalátor balÃÄků" #: editor/editor_audio_buses.cpp msgid "Speakers" -msgstr "" +msgstr "Reproduktory" #: editor/editor_audio_buses.cpp msgid "Add Effect" @@ -860,6 +868,11 @@ msgid "Rename Audio Bus" msgstr "PÅ™ejmenovat AutoLoad" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "ZmÄ›nit hodnotu pole" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -908,8 +921,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -924,6 +937,10 @@ msgid "Delete Effect" msgstr "Smazat vybraný" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1079,7 +1096,8 @@ msgstr "Cesta:" msgid "Node Name:" msgstr "Název uzlu:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Název" @@ -1087,10 +1105,6 @@ msgstr "Název" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Seznam:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1103,6 +1117,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1153,6 +1175,23 @@ msgstr "Soubor už existuje. PÅ™epsat?" msgid "Select Current Folder" msgstr "VytvoÅ™it složku" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "VytvoÅ™it složku" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "VÅ¡echny rozpoznatelné" @@ -1200,10 +1239,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1260,7 +1295,7 @@ msgstr "" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "" +msgstr "Prohledat nápovÄ›du" #: editor/editor_help.cpp msgid "Class List:" @@ -1384,11 +1419,12 @@ msgstr "" #: editor/editor_log.cpp msgid "Output:" -msgstr "" +msgstr "Výstup:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "VyÄistit" @@ -1460,6 +1496,8 @@ msgstr "" msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" +"NepodaÅ™ilo se uložit scénu. NejspÃÅ¡e se nepodaÅ™ilo uspokojit závislosti " +"(instance)." #: editor/editor_node.cpp msgid "Failed to load resource." @@ -1487,7 +1525,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "" +msgstr "Výchozà rozloženà editoru pÅ™epsáno." #: editor/editor_node.cpp msgid "Layout name not found!" @@ -1565,7 +1603,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Open in Help" -msgstr "" +msgstr "OtevÅ™Ãt v nápovÄ›dÄ›" #: editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1602,7 +1640,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "" +msgstr "OtevÅ™Ãt scénu" #: editor/editor_node.cpp msgid "Open Base Scene" @@ -1610,11 +1648,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Quick Open Scene.." -msgstr "" +msgstr "Rychlé otevÅ™enà scény.." #: editor/editor_node.cpp msgid "Quick Open Script.." -msgstr "" +msgstr "Rychlé otevÅ™enà skriptu.." #: editor/editor_node.cpp #, fuzzy @@ -1627,7 +1665,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Save Scene As.." -msgstr "" +msgstr "Uložit scénu jako.." #: editor/editor_node.cpp msgid "No" @@ -1687,7 +1725,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "" +msgstr "UkonÄit editor?" #: editor/editor_node.cpp msgid "Open Project Manager?" @@ -1733,6 +1771,8 @@ msgstr "Chyba nahrávánà fontu." msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"NepodaÅ™ilo se naÄÃst addon skript z cesty: '%s'. Základnà typ nenà " +"EditorPlugin." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." @@ -1836,19 +1876,19 @@ msgstr "" #: editor/editor_node.cpp msgid "New Scene" -msgstr "" +msgstr "Nová scéna" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "" +msgstr "Nová odvozená scéna.." #: editor/editor_node.cpp msgid "Open Scene.." -msgstr "" +msgstr "OtevÅ™Ãt scénu.." #: editor/editor_node.cpp msgid "Save Scene" -msgstr "" +msgstr "Uložit scénu" #: editor/editor_node.cpp msgid "Save all Scenes" @@ -1856,15 +1896,15 @@ msgstr "" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "" +msgstr "ZavÅ™Ãt scénu" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Open Recent" -msgstr "" +msgstr "OtevÅ™Ãt nedávné" #: editor/editor_node.cpp msgid "Convert To.." -msgstr "" +msgstr "Konvertovat na.." #: editor/editor_node.cpp msgid "MeshLibrary.." @@ -1915,11 +1955,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "" +msgstr "UkonÄit do seznamu projektů" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" -msgstr "" +msgstr "LadÄ›nÃ" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" @@ -1990,29 +2030,28 @@ msgid "" msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Editor" -msgstr "Upravit" +msgstr "Editor" #: editor/editor_node.cpp editor/settings_config_dialog.cpp msgid "Editor Settings" -msgstr "" +msgstr "Nastavenà editoru" #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "" +msgstr "Rozloženà editoru" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Celá obrazovka" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" -msgstr "" +msgstr "Spravovat exportnà šablony" #: editor/editor_node.cpp msgid "Help" -msgstr "" +msgstr "NápovÄ›da" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Classes" @@ -2032,7 +2071,7 @@ msgstr "" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "Z komunity" +msgstr "Komunita" #: editor/editor_node.cpp msgid "About" @@ -2150,7 +2189,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Output" -msgstr "" +msgstr "Výstup" #: editor/editor_node.cpp msgid "Don't Save" @@ -2158,7 +2197,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "" +msgstr "Importovat Å¡ablony ze ZIP souboru" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" @@ -2293,6 +2332,15 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Zavolat" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2377,30 +2425,30 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "Nelze otevÅ™Ãt zip soubor exportnÃch Å¡ablon." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates." -msgstr "" +msgstr "Neplatný formát version.txt uvnitÅ™ Å¡ablon." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" +"Neplatný formát version.txt uvnitÅ™ Å¡ablon. Revize nenà platný identifikátor." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "" +msgstr "Nenalezena version.txt uvnitÅ™ Å¡ablon." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for templates:\n" -msgstr "Chyba pÅ™i vytvářenà podpisového objektu." +msgstr "Chyba pÅ™i vytvářenà cesty pro Å¡ablony:\n" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" -msgstr "" +msgstr "Extrakce exportnÃch Å¡ablon" #: editor/export_template_manager.cpp msgid "Importing:" @@ -2430,8 +2478,9 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Testované" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2483,7 +2532,7 @@ msgstr "PÅ™ipojit.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "PÅ™ipojit.." #: editor/export_template_manager.cpp @@ -2538,9 +2587,8 @@ msgid "Export Template Manager" msgstr "" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Templates" -msgstr "Odstranit výbÄ›r" +msgstr "Stáhnout Å¡ablony" #: editor/export_template_manager.cpp msgid "Select mirror from list: " @@ -2583,6 +2631,11 @@ msgstr "Chyba pÅ™i naÄÃtánÃ:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Chyba pÅ™i naÄÃtánÃ:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Scénu se nepodaÅ™ilo naÄÃst kvůli chybÄ›jÃcÃm závislostem:" @@ -2617,15 +2670,20 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +#, fuzzy +msgid "Duplicating file:" +msgstr "PÅ™ejmenovat promÄ›nnou" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2638,12 +2696,8 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "VytvoÅ™it složku" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "OtevÅ™Ãt scénu" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2658,6 +2712,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Animace: duplikovat klÃÄe" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2750,6 +2809,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3322,6 +3389,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "VÅ¡echny" @@ -3363,6 +3431,27 @@ msgstr "Testované" msgid "Assets ZIP File" msgstr "ZIP soubor asetů" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3503,7 +3592,6 @@ msgid "Toggles snapping" msgstr "PÅ™epnout breakpoint" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3684,16 +3772,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3891,6 +3969,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3931,6 +4025,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Soubor:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Soubor:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4107,10 +4215,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4128,15 +4232,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4198,10 +4302,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4489,11 +4589,13 @@ msgstr "Řadit:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4509,7 +4611,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4522,6 +4624,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "ZkopÃrovat uzly" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4713,14 +4820,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Běž na řádek" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4767,12 +4870,11 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Convert To Uppercase" -msgstr "" +msgstr "Konvertovat na velká pÃsmena" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Convert To Lowercase" -msgstr "PÅ™ipojit k uzlu:" +msgstr "Konvertovat na malá pÃsmena" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" @@ -5048,6 +5150,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5157,6 +5267,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Vybrat vÅ¡e" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5231,10 +5354,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5276,6 +5395,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5663,6 +5786,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Soubor:" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5674,6 +5802,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "ZruÅ¡it" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -5691,7 +5823,7 @@ msgstr "Odstranit vybrané soubory?" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted: " -msgstr "" +msgstr "Exportnà šablony pro tuto platformu chybà nebo jsou poÅ¡kozené: " #: editor/project_export.cpp msgid "Presets" @@ -5763,11 +5895,11 @@ msgstr "" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "Exportnà šablony pro tuto platformu chybÃ:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "" +msgstr "Exportnà šablony pro tuto platformu chybà nebo jsou poÅ¡kozené:" #: editor/project_export.cpp msgid "Export With Debug" @@ -5797,10 +5929,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5918,7 +6046,7 @@ msgstr "" #: editor/project_manager.cpp msgid "Project List" -msgstr "" +msgstr "Seznam projektů" #: editor/project_manager.cpp msgid "Scan" @@ -5933,9 +6061,8 @@ msgid "New Project" msgstr "" #: editor/project_manager.cpp -#, fuzzy msgid "Templates" -msgstr "Odstranit výbÄ›r" +msgstr "Å ablony" #: editor/project_manager.cpp msgid "Exit" @@ -6062,8 +6189,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "ZmÄ›nit měřÃtko výbÄ›ru" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6133,6 +6261,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6313,6 +6445,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6321,9 +6457,8 @@ msgid "Show in File System" msgstr "" #: editor/property_editor.cpp -#, fuzzy msgid "Convert To %s" -msgstr "PÅ™ipojit k uzlu:" +msgstr "Konvertovat na %s" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" @@ -6346,6 +6481,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6354,10 +6493,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -6570,9 +6705,8 @@ msgid "Copy Node Path" msgstr "ZkopÃrovat uzly" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete (No Confirm)" -msgstr "PotvrÄte prosÃm..." +msgstr "Odstranit (bez potvrzenÃ)" #: editor/scene_tree_dock.cpp msgid "Add/Create a New Node" @@ -6927,6 +7061,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6975,15 +7113,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Odstranit signál" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -6995,7 +7170,7 @@ msgstr "" #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." msgstr "" -"Neplatný typ argumentu funkce convert(), použijte nÄ›kterou z konstant TYPE_*" +"Neplatný typ argumentu funkce convert(), použijte nÄ›kterou z konstant TYPE_*." #: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -7699,6 +7874,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7735,10 +7926,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7802,16 +7989,12 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "ZruÅ¡it" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Pozor!" #: scene/gui/dialogs.cpp msgid "Please Confirm..." -msgstr "PotvrÄte prosÃm..." +msgstr "PotvrÄte prosÃm.." #: scene/gui/file_dialog.cpp #, fuzzy @@ -7837,13 +8020,15 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "(OstatnÃ)" #: scene/main/scene_tree.cpp msgid "" "Default Environment as specified in Project Setings (Rendering -> Viewport -" "> Default Environment) could not be loaded." msgstr "" +"Výchozà prostÅ™edà specifikované v nastavenà projektu (Vykreslovánà -> " +"Zobrazovacà výřez -> Výchozà prostÅ™edÃ) se nepodaÅ™ilo naÄÃst." #: scene/main/viewport.cpp msgid "" @@ -7873,6 +8058,12 @@ msgstr "Chyba nahrávánà fontu." msgid "Invalid font size." msgstr "Neplatná velikost fontu." +#~ msgid "Create Subscription" +#~ msgstr "VytvoÅ™it odbÄ›r" + +#~ msgid "List:" +#~ msgstr "Seznam:" + #, fuzzy #~ msgid "" #~ "\n" @@ -7928,10 +8119,6 @@ msgstr "Neplatná velikost fontu." #~ msgid "Invalid font custom source." #~ msgstr "Nevalidnà pÃsmo z vlastnÃho zdroje." -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Soubor:" - #~ msgid "Ctrl+" #~ msgstr "Ctrl+" diff --git a/editor/translations/da.po b/editor/translations/da.po index c784df0e58..8c7d899ea2 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -1,6 +1,6 @@ # Danish translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # David Lamhauge <davidlamhauge@gmail.com>, 2016. @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:12+0000\n" +"PO-Revision-Date: 2017-12-20 15:42+0000\n" "Last-Translator: Kim Nielsen <kimmowich@stofanet.dk>\n" "Language-Team: Danish <https://hosted.weblate.org/projects/godot-engine/" "godot/da/>\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -29,8 +29,9 @@ msgid "All Selection" msgstr "All selection" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Flyt Add Key" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Skift Værdi" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -38,11 +39,12 @@ msgstr "Anim Skift Overgang" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Anim Skift transformering" +msgstr "Anim Skift Transformering" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "Anim Skift værdi" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Anim Skift Værdi" #: editor/animation_editor.cpp msgid "Anim Change Call" @@ -50,60 +52,60 @@ msgstr "Anim Skift Call" #: editor/animation_editor.cpp msgid "Anim Add Track" -msgstr "Anim tilføj spor" +msgstr "Anim Tilføj Spor" #: editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Anim Dubliker Keys" +msgstr "Anim Dublikér Nøgle" #: editor/animation_editor.cpp msgid "Move Anim Track Up" -msgstr "Flyt Anim spor op" +msgstr "Flyt Anim Spor Op" #: editor/animation_editor.cpp msgid "Move Anim Track Down" -msgstr "Flyt Anim spor ned" +msgstr "Flyt Anim Spor Ned" #: editor/animation_editor.cpp msgid "Remove Anim Track" -msgstr "Fjern Anim spor" +msgstr "Fjern Anim Spor" #: editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "Sæt overgange til:" +msgstr "Sæt Overgange til:" #: editor/animation_editor.cpp msgid "Anim Track Rename" -msgstr "Anim spor Omdøb" +msgstr "Anim Omdøb Spor" #: editor/animation_editor.cpp msgid "Anim Track Change Interpolation" -msgstr "Anim spor Skift Interpolation" +msgstr "Anim Skift Spor Interpolation" #: editor/animation_editor.cpp msgid "Anim Track Change Value Mode" -msgstr "Anim spor Skift værdi Mode" +msgstr "Anim Skift Sport Værdi Mode" #: editor/animation_editor.cpp msgid "Anim Track Change Wrap Mode" -msgstr "Anim Spor Skift Wrap Mode" +msgstr "Anim Skift Spor Wrap Mode" #: editor/animation_editor.cpp msgid "Edit Node Curve" -msgstr "Redigere Node kurve" +msgstr "Rediger Node Kurve" #: editor/animation_editor.cpp msgid "Edit Selection Curve" -msgstr "Rediger udvalg kurve" +msgstr "Rediger Valgte Kurve" #: editor/animation_editor.cpp msgid "Anim Delete Keys" -msgstr "Anim slet Keys" +msgstr "Anim Slet Nøgler" #: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "Dupliker valgt" +msgstr "Duplikér Valgte" #: editor/animation_editor.cpp msgid "Duplicate Transposed" @@ -111,7 +113,7 @@ msgstr "Duplicate transposed" #: editor/animation_editor.cpp msgid "Remove Selection" -msgstr "Fjern markering" +msgstr "Fjern Markering" #: editor/animation_editor.cpp msgid "Continuous" @@ -127,27 +129,27 @@ msgstr "Udløser" #: editor/animation_editor.cpp msgid "Anim Add Key" -msgstr "Anim Tilføj Key" +msgstr "Anim Tilføj Nøgle" #: editor/animation_editor.cpp msgid "Anim Move Keys" -msgstr "Anim Flyt Keys" +msgstr "Anim Flyt Nøgle" #: editor/animation_editor.cpp msgid "Scale Selection" -msgstr "Skalér markerede" +msgstr "Skalér Valgte" #: editor/animation_editor.cpp msgid "Scale From Cursor" -msgstr "Skaler fra Cursor" +msgstr "Skaler Fra Cursor" #: editor/animation_editor.cpp msgid "Goto Next Step" -msgstr "Goto næste skridt" +msgstr "GÃ¥ Til Næste Trin" #: editor/animation_editor.cpp msgid "Goto Prev Step" -msgstr "Goto forrige trin" +msgstr "GÃ¥ Til Forrige Trin" #: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -184,15 +186,15 @@ msgstr "Optimer Animation" #: editor/animation_editor.cpp msgid "Clean-Up Animation" -msgstr "Clean-up Animation" +msgstr "Clean-Up Animation" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "Oprette nye spor til %s og indsætte key?" +msgstr "Opret NYT spor til %s og indsæt nøgle?" #: editor/animation_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "Oprette %d nye numre og indsætte nøgler?" +msgstr "Opret %d NYE spor og indsæt nøgler?" #: editor/animation_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp @@ -205,27 +207,27 @@ msgstr "Opret" #: editor/animation_editor.cpp msgid "Anim Create & Insert" -msgstr "Anim opret & indsæt" +msgstr "Anim Opret & Indsæt" #: editor/animation_editor.cpp msgid "Anim Insert Track & Key" -msgstr "Anim Indsæt spor & key" +msgstr "Anim Indsæt Spor & Nøgle" #: editor/animation_editor.cpp msgid "Anim Insert Key" -msgstr "Anim Indsæt key" +msgstr "Anim Indsæt Nøgle" #: editor/animation_editor.cpp msgid "Change Anim Len" -msgstr "Ændre Anim Len" +msgstr "Ændre Anim Længde" #: editor/animation_editor.cpp msgid "Change Anim Loop" -msgstr "Ændre Anim løkke" +msgstr "Ændre Anim Løkke" #: editor/animation_editor.cpp msgid "Anim Create Typed Value Key" -msgstr "Anim opret indtastet Value key" +msgstr "Anim Opret Indtastet Værdi Nøgle" #: editor/animation_editor.cpp msgid "Anim Insert" @@ -233,7 +235,7 @@ msgstr "Anim Indsæt" #: editor/animation_editor.cpp msgid "Anim Scale Keys" -msgstr "Anim Skaler keys" +msgstr "Anim Skaler Nøgler" #: editor/animation_editor.cpp msgid "Anim Add Call Track" @@ -253,7 +255,7 @@ msgstr "Animations Længde (i sekunder)." #: editor/animation_editor.cpp msgid "Step (s):" -msgstr "Trin (s):" +msgstr "Trin:" #: editor/animation_editor.cpp msgid "Cursor step snap (in seconds)." @@ -261,11 +263,11 @@ msgstr "Cursor trin snap (i sekunder)." #: editor/animation_editor.cpp msgid "Enable/Disable looping in animation." -msgstr "Aktiver/Deaktiver løkker i animation." +msgstr "Aktiver/Deaktivér løkker i animation." #: editor/animation_editor.cpp msgid "Add new tracks." -msgstr "Tilføje nye tracks." +msgstr "Tilføje nye spor." #: editor/animation_editor.cpp msgid "Move current track up." @@ -277,7 +279,7 @@ msgstr "Flyt aktuelle spor ned." #: editor/animation_editor.cpp msgid "Remove selected track." -msgstr "Fjern markerede spor." +msgstr "Fjern valgte spor." #: editor/animation_editor.cpp msgid "Track tools" @@ -285,7 +287,7 @@ msgstr "Spor værktøjer" #: editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." -msgstr "Aktivere redigering af individuelle keys ved at klikke pÃ¥ dem." +msgstr "Aktivere redigering af individuelle nøgler ved at klikke pÃ¥ dem." #: editor/animation_editor.cpp msgid "Anim. Optimizer" @@ -293,7 +295,7 @@ msgstr "Anim. optimizer" #: editor/animation_editor.cpp msgid "Max. Linear Error:" -msgstr "Max. Lineær fejl:" +msgstr "Max. Lineær Fejl:" #: editor/animation_editor.cpp msgid "Max. Angular Error:" @@ -305,15 +307,16 @@ msgstr "Max optimerbar vinkel:" #: editor/animation_editor.cpp msgid "Optimize" -msgstr "Optimer" +msgstr "Optimér" #: editor/animation_editor.cpp msgid "Select an AnimationPlayer from the Scene Tree to edit animations." -msgstr "Vælg en AnimationPlayer fra Scene Tree for at redigere animationer." +msgstr "" +"Vælg en Animations afspiller fra Scene Tree for at redigere i animationer." #: editor/animation_editor.cpp msgid "Key" -msgstr "Key/Nøgle" +msgstr "Nøgle" #: editor/animation_editor.cpp msgid "Transition" @@ -321,7 +324,7 @@ msgstr "Overgang" #: editor/animation_editor.cpp msgid "Scale Ratio:" -msgstr "Skala forholdet:" +msgstr "Skalaforhold:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" @@ -329,11 +332,11 @@ msgstr "Kald funktioner i hvilken Node?" #: editor/animation_editor.cpp msgid "Remove invalid keys" -msgstr "Fjerne ugyldige keys" +msgstr "Fjern ugyldige nøgler" #: editor/animation_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "Fjerne uløste og tomme spor" +msgstr "Fjern uafklarede og tomme spor" #: editor/animation_editor.cpp msgid "Clean-up all animations" @@ -353,11 +356,11 @@ msgstr "Ændre størrelsen pÃ¥ Array" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "Skift Array værditype" +msgstr "Skift Array Værditype" #: editor/array_property_edit.cpp msgid "Change Array Value" -msgstr "Ændre Array-værdi" +msgstr "Ændre Array-Værdi" #: editor/code_editor.cpp msgid "Go to Line" @@ -381,7 +384,7 @@ msgstr "Erstat" #: editor/code_editor.cpp msgid "Replace All" -msgstr "Erstat alle" +msgstr "Erstat Alle" #: editor/code_editor.cpp msgid "Match Case" @@ -389,7 +392,7 @@ msgstr "Match stor/lille" #: editor/code_editor.cpp msgid "Whole Words" -msgstr "Hele ord" +msgstr "Hele Ord" #: editor/code_editor.cpp msgid "Selection Only" @@ -417,7 +420,7 @@ msgstr "Ikke fundet!" #: editor/code_editor.cpp msgid "Replace By" -msgstr "Erstattes af" +msgstr "Erstattes Af" #: editor/code_editor.cpp msgid "Case Sensitive" @@ -425,23 +428,23 @@ msgstr "Forskel pÃ¥ smÃ¥ og store bogstaver" #: editor/code_editor.cpp msgid "Backwards" -msgstr "Baglæns" +msgstr "Tilbage" #: editor/code_editor.cpp msgid "Prompt On Replace" -msgstr "Spørg ved Erstat" +msgstr "Spørg Ved Erstatning" #: editor/code_editor.cpp msgid "Skip" -msgstr "Spring over" +msgstr "Spring Over" #: editor/code_editor.cpp msgid "Zoom In" -msgstr "Zoom ind" +msgstr "Zoom Ind" #: editor/code_editor.cpp msgid "Zoom Out" -msgstr "Zoom ud" +msgstr "Zoom Ud" #: editor/code_editor.cpp msgid "Reset Zoom" @@ -469,7 +472,7 @@ msgstr "" #: editor/connections_dialog.cpp msgid "Connect To Node:" -msgstr "Opret forbindelse til Node:" +msgstr "Forbind Til Node:" #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -486,11 +489,11 @@ msgstr "Fjern" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "Tilføje ekstra Call Argument:" +msgstr "Tilføj Ekstra Call Argument:" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" -msgstr "Ekstra call argumenter:" +msgstr "Ekstra Call Argumenter:" #: editor/connections_dialog.cpp msgid "Path to Node:" @@ -498,7 +501,7 @@ msgstr "Sti til Node:" #: editor/connections_dialog.cpp msgid "Make Function" -msgstr "Lav funktion" +msgstr "Lav Funktion" #: editor/connections_dialog.cpp msgid "Deferred" @@ -524,19 +527,20 @@ msgstr "Luk" #: editor/connections_dialog.cpp msgid "Connect" -msgstr "Tilslut" +msgstr "Forbind" #: editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" -msgstr "Tilslut '%s' til '%s'" +msgstr "Forbind '%s' til '%s'" #: editor/connections_dialog.cpp msgid "Connecting Signal:" -msgstr "Forbindelses signal:" +msgstr "Forbindelses Signal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Opret abonnement" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Forbind '%s' til '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -552,8 +556,9 @@ msgid "Signals" msgstr "Signaler" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "Opret en ny" +#, fuzzy +msgid "Create New %s" +msgstr "Opret Nyt" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -567,7 +572,7 @@ msgstr "Seneste:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Søgning:" @@ -585,7 +590,7 @@ msgstr "Beskrivelse:" #: editor/dependency_editor.cpp msgid "Search Replacement For:" -msgstr "Søg erstatning For:" +msgstr "Søg Erstatning For:" #: editor/dependency_editor.cpp msgid "Dependencies For:" @@ -597,7 +602,7 @@ msgid "" "Changes will not take effect unless reloaded." msgstr "" "Scene '%s' er i øjeblikket ved at blive redigeret.\n" -"Ændringer træder ikke i kraft, medmindre reloaded." +"Ændringerne træder ikke i kraft, medmindre den genindlæses." #: editor/dependency_editor.cpp msgid "" @@ -605,9 +610,10 @@ msgid "" "Changes will take effect when reloaded." msgstr "" "Ressource '%s' er i brug.\n" -"Ændringer træder i kraft nÃ¥r genindlæses." +"Ændringerne træder i kraft nÃ¥r den genindlæses." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Afhængigheder" @@ -646,11 +652,11 @@ msgstr "Ã…ben" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "Ejer af:" +msgstr "Ejere af:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "Fjern de valgte filer fra projekt? (ej fortrydes)" +msgstr "Fjern de valgte filer fra projektet? (ej fortrydes)" #: editor/dependency_editor.cpp msgid "" @@ -667,7 +673,7 @@ msgstr "Kan ikke fjerne:\n" #: editor/dependency_editor.cpp msgid "Error loading:" -msgstr "Load fejl:" +msgstr "Fejl under indlæsning:" #: editor/dependency_editor.cpp msgid "Scene failed to load due to missing dependencies:" @@ -675,7 +681,7 @@ msgstr "Indlæs af Scene fejler, fordi den er afhængig af noget der mangler:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" -msgstr "Ã…ben alligevel" +msgstr "Ã…ben Alligevel" #: editor/dependency_editor.cpp msgid "Which action should be taken?" @@ -683,11 +689,11 @@ msgstr "Hvilken handling skal udføres?" #: editor/dependency_editor.cpp msgid "Fix Dependencies" -msgstr "Fix Afhængigheder" +msgstr "Fiks Afhængigheder" #: editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "Fejl ved load!" +msgstr "Fejl ved indlæsning!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" @@ -699,7 +705,7 @@ msgstr "Ejer" #: editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "Ressourcer uden klart ejerskab:" +msgstr "Ressourcer Uden Klart Ejerskab:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Orphan Resource Explorer" @@ -710,15 +716,16 @@ msgid "Delete selected files?" msgstr "Slet markerede filer?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Slet" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "Ændre ordbogs nøgle" +msgstr "Ændre Dictionary Nøgle" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" @@ -758,27 +765,27 @@ msgstr "Forfattere" #: editor/editor_about.cpp msgid "Platinum Sponsors" -msgstr "Platin sponsorer" +msgstr "Platin Sponsorer" #: editor/editor_about.cpp msgid "Gold Sponsors" -msgstr "Guld sponsorer" +msgstr "Guld Sponsorer" #: editor/editor_about.cpp msgid "Mini Sponsors" -msgstr "Mini sponsorer" +msgstr "Mini Sponsorer" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "Guld donorer" +msgstr "Guld Donorer" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "Sølv donorer" +msgstr "Sølv Donorer" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "Bronze donorer" +msgstr "Bronze Donorer" #: editor/editor_about.cpp msgid "Donors" @@ -790,7 +797,7 @@ msgstr "Licens" #: editor/editor_about.cpp msgid "Thirdparty License" -msgstr "Tredjeparts licens" +msgstr "Tredjeparts Licens" #: editor/editor_about.cpp msgid "" @@ -799,10 +806,10 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" -"Godot Engine er afhængig af en række tredjeparts gratis og open source-" -"biblioteker, som alle er kompatible med vilkÃ¥rene i MIT-licensen. Følgende " -"er en udtømmende liste over alle sÃ¥danne tredjepartskomponenter med deres " -"respektive ophavsretlige udsagn og licensbetingelser." +"Godot Engine er afhængig af en række tredjeparts biblioteker som er gratis " +"og open source. Alle bibliotekerne er kompatible med vilkÃ¥rene i MIT-" +"licensen. Følgende er en udtømmende liste over alle sÃ¥danne tredjeparts " +"komponenter med deres respektive ophavsretlige udsagn og licensbetingelser." #: editor/editor_about.cpp msgid "All Components" @@ -826,7 +833,7 @@ msgstr "Udpakker Aktiver" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package Installed Successfully!" -msgstr "Pakke installeret med succes!" +msgstr "Pakke Installeret med Succes!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -836,11 +843,12 @@ msgstr "Succes!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp msgid "Install" -msgstr "Installer" +msgstr "Installér" #: editor/editor_asset_installer.cpp +#, fuzzy msgid "Package Installer" -msgstr "Pakke Installation" +msgstr "Pakke Installatør" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -848,23 +856,28 @@ msgstr "Højtalere" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "Tilføj effekt" +msgstr "Tilføj Effekt" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" msgstr "Omdøb Audio Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Skifter Audio Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "Skift Audio Bus Solo" +msgstr "Skifter Audio Bus Solo" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Mute" -msgstr "Skift Audio Bus Mute" +msgstr "Skifter Audio Bus Mute" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" -msgstr "Skift Audio Bus Bypass Effekter" +msgstr "Skifter Audio Bus Bypass Effekter" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" @@ -884,7 +897,7 @@ msgstr "Slet Bus Effekt" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "Audio Bus, Træk og slip for at omrokerer." +msgstr "Audio Bus, Træk og Slip for at omarrangere." #: editor/editor_audio_buses.cpp msgid "Solo" @@ -896,14 +909,14 @@ msgstr "Mute" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "Skip" +msgstr "Spring Over" #: editor/editor_audio_buses.cpp msgid "Bus options" msgstr "Bus muligheder" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplikere" @@ -913,7 +926,11 @@ msgstr "Nulstil Volume" #: editor/editor_audio_buses.cpp msgid "Delete Effect" -msgstr "Slet Effekt" +msgstr "Slet Effect" + +#: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" @@ -1011,7 +1028,7 @@ msgstr "" msgid "Invalid name. Must not collide with an existing buit-in type name." msgstr "" "Ugyldigt navn. Det mÃ¥ ikke være i konflikt med eksisterende built-in type " -"navne." +"navn." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing global constant name." @@ -1070,9 +1087,10 @@ msgstr "Sti:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "Node navn:" +msgstr "Node Navn:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Navn" @@ -1080,10 +1098,6 @@ msgstr "Navn" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Liste:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Opdatere Scene" @@ -1096,6 +1110,14 @@ msgstr "Gemmer lokale ændringer.." msgid "Updating scene.." msgstr "Opdatere scene.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Vælg en basis mappe først" @@ -1107,7 +1129,7 @@ msgstr "Vælg en Mappe" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "Opret mappe" +msgstr "Opret Mappe" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp @@ -1127,7 +1149,7 @@ msgstr "Vælg" #: editor/editor_export.cpp msgid "Storing File:" -msgstr "Lagrings fil:" +msgstr "Lagrings Fil:" #: editor/editor_export.cpp msgid "Packing" @@ -1139,13 +1161,29 @@ msgstr "Skabelon fil ikke fundet:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "Filen findes, overskrives?" +msgstr "Filen Eksisterer, Overskrives?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp #, fuzzy msgid "Select Current Folder" msgstr "Opret mappe" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Kopier Sti" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Vis I Fil Manager" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Opret mappe.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Opdater" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Alle Genkendte" @@ -1160,15 +1198,15 @@ msgstr "Ã…ben en Fil" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "Ã…ben fil(er)" +msgstr "Ã…ben Fil(er)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "Ã…bn en mappe" +msgstr "Ã…bn en Mappe" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "Ã…bne en fil eller mappe" +msgstr "Ã…ben en Fil eller Mappe" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1178,7 +1216,7 @@ msgstr "Gem" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" -msgstr "Gem en fil" +msgstr "Gem en Fil" #: editor/editor_file_dialog.cpp msgid "Go Back" @@ -1193,20 +1231,16 @@ msgid "Go Up" msgstr "GÃ¥ Op" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Opdater" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "Skift Skjulte Filer" +msgstr "Skifter Skjulte Filer" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "Skift Favorit" +msgstr "Skifter Favorit" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "Skift Modus" +msgstr "Skifter Modus" #: editor/editor_file_dialog.cpp msgid "Focus Path" @@ -1226,7 +1260,7 @@ msgstr "GÃ¥ til overliggende mappe" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "Mapper & filer:" +msgstr "Mapper & Filer:" #: editor/editor_file_dialog.cpp msgid "Preview:" @@ -1238,8 +1272,9 @@ msgid "File:" msgstr "Fil:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#, fuzzy msgid "Must use a valid extension." -msgstr "Skal bruge en gyldig udvidelse." +msgstr "Skal bruge en gyldig extension." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1252,7 +1287,7 @@ msgstr "(Gen)Importér Aktiver" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "Søg Hjælp" +msgstr "Søg i Hjælp" #: editor/editor_help.cpp msgid "Class List:" @@ -1341,7 +1376,7 @@ msgstr "Egenskaber" #: editor/editor_help.cpp msgid "Property Description:" -msgstr "Property beskrivelse:" +msgstr "Beskrivelse af Egenskaber:" #: editor/editor_help.cpp msgid "" @@ -1349,7 +1384,7 @@ msgid "" "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" "Der er i øjeblikket ingen beskrivelse af denne egenskab. Hjælp os venligst " -"med et [color=$color][url=$url]bidrag[/url][/color]!" +"ved at give os dit [color=$color][url=$url]bidrag[/url][/color]!" #: editor/editor_help.cpp #, fuzzy @@ -1379,13 +1414,14 @@ msgstr "Output:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Clear" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "Fejl ved at gemme ressource!" +msgstr "Fejl, kan ikke gemme ressource!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." @@ -1404,11 +1440,11 @@ msgstr "Kan ikke Ã¥bne fil til skrivning:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "Ønskede filformat er ukendt:" +msgstr "Det ønskede filformat er ukendt:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "Fejl nÃ¥r der gemmes." +msgstr "Fejl, under forsøg pÃ¥ at gemme." #: editor/editor_node.cpp msgid "Can't open '%s'." @@ -1429,7 +1465,7 @@ msgstr "Mangler '%s' eller det den afhænger af." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "Fejl ved load af '%s'." +msgstr "Fejl under indlæsning af '%s'." #: editor/editor_node.cpp msgid "Saving Scene" @@ -1452,7 +1488,7 @@ msgstr "Denne handling kan ikke foretages uden tree root" msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" -"Kunne ikke gemme scene. MÃ¥ske fordi visse afhængigheder (forekomster) ikke " +"Kunne ikke gemme scene. Der er nogle afhængigheder (forekomster) some ikke " "kunne opfyldes." #: editor/editor_node.cpp @@ -1479,7 +1515,7 @@ msgstr "Fejl, kan ikke gemme TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "Fejl, forsøger at gemme layout!" +msgstr "Fejl, under forsøg pÃ¥ at gemme layout!" #: editor/editor_node.cpp msgid "Default editor layout overridden." @@ -1491,7 +1527,7 @@ msgstr "Layout navn er ikke fundet!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "Gendannet standardlayout til basisindstillinger." +msgstr "Gendannet standardlayout til grundindstillinger." #: editor/editor_node.cpp msgid "" @@ -1499,17 +1535,17 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Denne ressource tilhører en scene der var importeret, sÃ¥ den kan ikke " +"Denne ressource tilhører en scene der var importeret, derfor kan den ikke " "redigeres.\n" -"Læs venligst dokumentationen, for bedre at forstÃ¥ arbejdsgangen der er " -"relevant ved importering af scener." +"Læs venligst den relevante dokumentation for importering af scener, for " +"bedre at forstÃ¥ arbejdsgangen." #: editor/editor_node.cpp msgid "" "This resource belongs to a scene that was instanced or inherited.\n" "Changes to it will not be kept when saving the current scene." msgstr "" -"Denne ressource tilhører en scene, der blev instanseret eller arvet.\n" +"Denne ressource tilhører en scene, der blev instanced eller arvet.\n" "Ændringer vil ikke blive gemt, nÃ¥r denne scene gemmes." #: editor/editor_node.cpp @@ -1527,10 +1563,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Denne scene blev importeret, sÃ¥ ændringer i den vil ikke blive husket.\n" -"Instancing eller inheriting vil gøre det muligt at foretage ændringer.\n" -"Læs venligst den dokumentation der er relevant for import af scener, for " -"bedre at forstÃ¥ denne arbejdsgang." +"Denne scene blev importeret, sÃ¥ alle ændringer vil ikke blive husket.\n" +"Instancing eller nedarving vil gøre det muligt at foretage ændringer.\n" +"Læs venligst den relevante dokumentation for import af scener, for bedre at " +"forstÃ¥ denne arbejdsgang." #: editor/editor_node.cpp msgid "" @@ -1544,11 +1580,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Expand all properties" -msgstr "" +msgstr "Udvid alle egenskaber" #: editor/editor_node.cpp msgid "Collapse all properties" -msgstr "" +msgstr "Klap alle egenskaber sammen" #: editor/editor_node.cpp msgid "Copy Params" @@ -1614,7 +1650,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." -msgstr "Den nuværende scene er aldrig gemt, venligst gem før du kører." +msgstr "Den nuværende scene er aldrig gemt, venligst gem før du kører den." #: editor/editor_node.cpp msgid "Could not start subprocess!" @@ -1662,7 +1698,7 @@ msgstr "Denne scene er aldrig blevet gemt. Gem før kørsel?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "Denne operation kan ikke udføres uden en scene." +msgstr "Denne handling kan ikke udføres uden en scene." #: editor/editor_node.cpp msgid "Export Mesh Library" @@ -1670,15 +1706,15 @@ msgstr "Eksporter Maske Bibliotek" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "Denne operation kan ikke udføres uden en rod node." +msgstr "Denne handing kan ikke udføres uden en rod node." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "Eksporter Flise Sæt" +msgstr "Eksporter Tile Set" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "Denne operation kan ikke udføres uden en valgt node." +msgstr "Denne handling kan ikke udføres uden en valgt node." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" @@ -1706,7 +1742,7 @@ msgstr "Afslut" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "Forlad editoren?" +msgstr "Forlad editor?" #: editor/editor_node.cpp msgid "Open Project Manager?" @@ -1718,23 +1754,23 @@ msgstr "Gem & Afslut" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "Gem ændringer i følgende scener før du afslutter?" +msgstr "Gem ændringer i følgende scene(r) før du afslutter?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" -msgstr "Gem ændringer følgende scener, før du Ã¥bner Projekt Manager?" +msgstr "Gem ændringer i følgende scene(r), før du Ã¥bner Projekt Manager?" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" -"Denne mulighed er forældet. Situationer, hvor opdatering skal tvinges, " -"betragtes nu som en fejl. Rapporter venligst." +"Denne mulighed er forældet. De situationer hvor man skal fremtvinge en " +"opdatering, betragtes nu som en fejl. Rapporter venligst." #: editor/editor_node.cpp msgid "Pick a Main Scene" -msgstr "Vælg en Hoved Scene" +msgstr "Vælg en Main Scene" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -1748,7 +1784,7 @@ msgstr "Kan ikke finde scriptfelt for addon plugin pÃ¥: 'res://addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "Kan ikke loade addon script fra stien: '%s'." +msgstr "Kan ikke indlæse addon script fra stien: '%s'." #: editor/editor_node.cpp msgid "" @@ -1768,7 +1804,7 @@ msgid "" "To make changes to it, a new inherited scene can be created." msgstr "" "Scene '%s' blev automatisk importeret, sÃ¥ den kan ikke ændres.\n" -"For at lave ændringer til den, kan en ny arvet scene oprettes." +"For at lave ændringer i den, kan en ny nedarvet scene oprettes." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -1782,7 +1818,7 @@ msgid "" "open the scene, then save it inside the project path." msgstr "" "Fejl ved indlæsning af scenen, den skal være indenfor projektstien. Brug " -"'Import' for at Ã¥bne scenen, og gem den sÃ¥ inden for projektstien." +"'Import' for at Ã¥bne scenen og gem den indenfor projektstien." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" @@ -1790,7 +1826,7 @@ msgstr "Scene '%s' har brudte afhængigheder:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "Fjern Seneste Scener" +msgstr "Ryd Seneste Scener" #: editor/editor_node.cpp msgid "Save Layout" @@ -1861,15 +1897,16 @@ msgstr "Filtrer filer.." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "Operationer med scene filer." +msgstr "Handlinger med scene filer." #: editor/editor_node.cpp msgid "New Scene" msgstr "Ny Scene" #: editor/editor_node.cpp +#, fuzzy msgid "New Inherited Scene.." -msgstr "Ny Arved Scene.." +msgstr "Ny Nedarvet Scene.." #: editor/editor_node.cpp msgid "Open Scene.." @@ -1901,7 +1938,7 @@ msgstr "MaskeBibliotek.." #: editor/editor_node.cpp msgid "TileSet.." -msgstr "FliseSæt.." +msgstr "TileSet.." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp @@ -1953,7 +1990,7 @@ msgstr "Debug" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "Deploy med Remote Debug" +msgstr "Implementere med Remote Debug" #: editor/editor_node.cpp msgid "" @@ -2018,9 +2055,9 @@ msgid "" "filesystem." msgstr "" "NÃ¥r denne indstilling er tændt, vil eventuelle ændringer til scenen i " -"editoren blive replikeret i det kørende spil.\n" -"NÃ¥r det bruges eksternt pÃ¥ en enhed, er dette mere effektivt med " -"netværksfilsystem." +"editoren blive overført til det kørende spil.\n" +"Ved brug af fjernadgang til en enhed, er det mere effektivt med netværks " +"filsystem." #: editor/editor_node.cpp msgid "Sync Script Changes" @@ -2053,7 +2090,7 @@ msgstr "Editor Layout" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "Skift fuldskærm" +msgstr "Skifter fuldskærm" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" @@ -2089,7 +2126,7 @@ msgstr "Om" #: editor/editor_node.cpp msgid "Play the project." -msgstr "Spil projektet." +msgstr "Spil dit projekt." #: editor/editor_node.cpp msgid "Play" @@ -2125,7 +2162,7 @@ msgstr "Spil tilpasset scene" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "Spil tilpasset scene" +msgstr "Spil Brugerdefineret Scene" #: editor/editor_node.cpp msgid "Spins when the editor window repaints!" @@ -2133,7 +2170,7 @@ msgstr "Snurrer nÃ¥r editor vinduer gentegnes!" #: editor/editor_node.cpp msgid "Update Always" -msgstr "Opdater Altid" +msgstr "Altid Opdater" #: editor/editor_node.cpp msgid "Update Changes" @@ -2165,15 +2202,15 @@ msgstr "Gem Som.." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "GÃ¥ til det forrige redigerede objekt i historien." +msgstr "GÃ¥ til det forrige redigerede objekt i historikken." #: editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "GÃ¥ til det næste redigerede objekt i historien." +msgstr "GÃ¥ til det næste redigerede objekt i historikken." #: editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "Historie af for nyligt redigerede objekter." +msgstr "Historik af nyligt redigerede objekter." #: editor/editor_node.cpp msgid "Object properties." @@ -2194,7 +2231,7 @@ msgstr "Node" #: editor/editor_node.cpp msgid "FileSystem" -msgstr "FilSystem" +msgstr "Fil System" #: editor/editor_node.cpp msgid "Output" @@ -2206,7 +2243,7 @@ msgstr "Gem Ikke" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "Importer Skabeloner Fra ZIP Fil" +msgstr "Importér Skabeloner Fra ZIP Fil" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" @@ -2339,6 +2376,16 @@ msgstr "Selv" msgid "Frame #:" msgstr "Frame #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tid:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Kald" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Vælg enhed fra listen" @@ -2482,13 +2529,14 @@ msgstr "Ingen reaktion." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Foresp. Fejlede." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "" +msgstr "Omdiriger Løkke." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2532,7 +2580,8 @@ msgid "Connecting.." msgstr "Forbinder.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Ingen forbindelse" #: editor/export_template_manager.cpp @@ -2578,7 +2627,7 @@ msgstr "Vælg template fil" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "" +msgstr "Eksporter Skabelon Manager" #: editor/export_template_manager.cpp msgid "Download Templates" @@ -2586,37 +2635,40 @@ msgstr "Download Skabeloner" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "Vælg spejl fra liste: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" -msgstr "" +msgstr "Kan ikke skrive til file_type_cache.cch. Gemmer ikke fil type cache!" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" -msgstr "" +msgstr "Kan ikke navigere til '%s' da det ikke blev fundet i filsystemet!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" -msgstr "" +msgstr "Vis emner som et gitter af miniaturebilleder" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "" +msgstr "Vis emner som en liste" #: editor/filesystem_dock.cpp msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"Status: Import af filen fejlede. Venligst reparer filen og genimporter " +"manuelt." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Kan ikke flytte/omdøbe resourcen root." #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself.\n" -msgstr "" +msgstr "Kan ikke flytte en mappe til sig selv\n" #: editor/filesystem_dock.cpp #, fuzzy @@ -2624,28 +2676,33 @@ msgid "Error moving:\n" msgstr "Fejl i flytning:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Fejl under indlæsning:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" -msgstr "" +msgstr "Kan ikke opdatere afhængigheder:\n" #: editor/filesystem_dock.cpp msgid "No name provided" -msgstr "" +msgstr "Intet navn angivet" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "" +msgstr "Det angivne navn indeholder ugyldige karakterer" #: editor/filesystem_dock.cpp msgid "No name provided." -msgstr "" +msgstr "Intet navn angivet." #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "" +msgstr "Navnet indeholder ugyldige karakterer." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "En fil eller mappe med dette navn findes allerede." #: editor/filesystem_dock.cpp msgid "Renaming file:" @@ -2653,63 +2710,71 @@ msgstr "Omdøb fil:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "" +msgstr "Omdøber mappe:" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplikere" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Omdøber mappe:" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "" +msgid "Expand all" +msgstr "Udvid alle" #: editor/filesystem_dock.cpp -msgid "Rename.." -msgstr "" +msgid "Collapse all" +msgstr "Klap alle sammen" #: editor/filesystem_dock.cpp -msgid "Move To.." -msgstr "" +msgid "Rename.." +msgstr "Omdøb.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Opret mappe.." +msgid "Move To.." +msgstr "Flyt Til.." #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Ã…bn Scene" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "" +msgstr "Instans" #: editor/filesystem_dock.cpp msgid "Edit Dependencies.." -msgstr "" +msgstr "Rediger Afhængigheder.." #: editor/filesystem_dock.cpp msgid "View Owners.." -msgstr "" +msgstr "Vis Ejere.." + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplikere" #: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "" +msgstr "Forrige Mappe" #: editor/filesystem_dock.cpp msgid "Next Directory" -msgstr "" +msgstr "Næste Mappe" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "Gen-scan Filsystemet" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "" +msgstr "Skift mappe status til Favorit" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." @@ -2720,100 +2785,110 @@ msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" +"Scanner Filer,\n" +"Vent Venligst.." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "Flyt" #: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/project_manager.cpp msgid "Rename" -msgstr "" +msgstr "Omdøb" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "" +msgstr "Føj til Gruppe" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "" +msgstr "Fjern fra Gruppe" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "" +msgstr "Importer som Enkelt Scene" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "" +msgstr "Importer med Adskilte Animationer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "Importer med Adskilte Materialer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "Importer med Adskilte Objekter" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "Importer med Adskilte Objekter+Materialer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "Importer med Adskilte Objekter+Animationer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "Importer med Adskilte Materialer+Animationer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "Importer med Adskilte Objekter+Materialer+Animationer" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" -msgstr "" +msgstr "Importer som Adskillige Scener" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "Importer som Adskillige Scener+Materialer" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import Scene" -msgstr "" +msgstr "Importer Scene" #: editor/import/resource_importer_scene.cpp msgid "Importing Scene.." +msgstr "Importerer Scene.." + +#: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Running Custom Script.." +msgid "Generating for Mesh: " msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Running Custom Script.." +msgstr "Kører Brugerdefineret Script.." + +#: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Kunne ikke indlæse efter-import script:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Ugyldig/ødelagt script til efter-import (check konsol):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Fejl ved kørsel af efter-import script:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." -msgstr "" +msgstr "Gemmer.." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "Sæt som Standard for '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "Fjern Standard for '%s'" #: editor/import_dock.cpp msgid " Files" @@ -2821,56 +2896,56 @@ msgstr " Filer" #: editor/import_dock.cpp msgid "Import As:" -msgstr "" +msgstr "Importer Som:" #: editor/import_dock.cpp editor/property_editor.cpp msgid "Preset.." -msgstr "" +msgstr "Forudindstillet.." #: editor/import_dock.cpp msgid "Reimport" -msgstr "" +msgstr "Genimporter" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "" +msgstr "MultiNode Sæt" #: editor/node_dock.cpp msgid "Groups" -msgstr "" +msgstr "Grupper" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Vælg en Node at redigere Signaler og Grupper for." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Poly" -msgstr "" +msgstr "Opret Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly" -msgstr "" +msgstr "Rediger Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" -msgstr "" +msgstr "Indsæt Punkt" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly (Remove Point)" -msgstr "" +msgstr "Rediger Poly (Fjern Punkt)" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Remove Poly And Point" -msgstr "" +msgstr "Fjern Poly og Punkt" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Create a new polygon from scratch" -msgstr "" +msgstr "Opret en ny polygon fra start" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2879,6 +2954,10 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Rediger eksisterende polygon:\n" +"LMB: Flyt Punkt.\n" +"Ctrl+LMB: Skil Segment.\n" +"RMB: Slet Punkt." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Delete points" @@ -2886,19 +2965,19 @@ msgstr "Slet points" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "Skift Autoplay" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "" +msgstr "Ny Animation Navn:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "Ny Animation" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "Ændre Animation Navn:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Delete Animation?" @@ -2907,7 +2986,7 @@ msgstr "Slet Animation?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "Fjern Animation" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" @@ -3352,6 +3431,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Alle" @@ -3393,6 +3473,27 @@ msgstr "Tester" msgid "Assets ZIP File" msgstr "Assets zipfil" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3528,7 +3629,6 @@ msgid "Toggles snapping" msgstr "Skift snapping mode" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3708,16 +3808,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3911,6 +4001,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3951,6 +4057,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Vis FPS" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Vis FPS" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4127,10 +4247,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4148,15 +4264,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4218,10 +4334,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4508,11 +4620,13 @@ msgstr "Sorter" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4528,7 +4642,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4541,6 +4655,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopier Sti" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4727,14 +4846,11 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Fold Line" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5059,6 +5175,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5163,6 +5287,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Vælg Mode (Q)\n" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5235,10 +5372,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5280,6 +5413,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5662,6 +5799,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5673,6 +5815,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Annuller" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5790,10 +5936,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6051,8 +6193,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Slet valgte" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6119,6 +6262,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6295,6 +6442,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6326,6 +6477,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6334,10 +6489,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Vælg Property" @@ -6890,6 +7041,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6938,15 +7093,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Fjern Kurve Punkt" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7633,6 +7825,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7669,10 +7877,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7733,10 +7937,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Annuller" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Advarsel!" @@ -7804,6 +8004,15 @@ msgstr "Error loading skrifttype." msgid "Invalid font size." msgstr "Ugyldig skriftstørrelse." +#~ msgid "Move Add Key" +#~ msgstr "Flyt Add Key" + +#~ msgid "Create Subscription" +#~ msgstr "Opret Abonnement" + +#~ msgid "List:" +#~ msgstr "Liste:" + #, fuzzy #~ msgid "" #~ "\n" diff --git a/editor/translations/de.po b/editor/translations/de.po index 53b69c444a..14316d4862 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -1,6 +1,6 @@ # German translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Alexander Mahr <alex.mahr@gmail.com>, 2016. @@ -28,8 +28,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-24 09:46+0000\n" -"Last-Translator: Ben <benedikt.tuchen@gmail.com>\n" +"PO-Revision-Date: 2017-12-07 11:47+0000\n" +"Last-Translator: So Wieso <sowieso@dukun.de>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -48,8 +48,9 @@ msgid "All Selection" msgstr "Alle auswählen" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Schlüsselbild bewegen hinzufügen" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Wert ändern" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -60,7 +61,8 @@ msgid "Anim Change Transform" msgstr "Anim ändere Transformation" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Wert ändern" #: editor/animation_editor.cpp @@ -555,8 +557,9 @@ msgid "Connecting Signal:" msgstr "Verbinde Signal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Erstelle Subscription" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Verbinde '%s' zu '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -572,7 +575,8 @@ msgid "Signals" msgstr "Signale" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Neu erstellen" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -587,7 +591,7 @@ msgstr "Kürzlich:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Suche:" @@ -628,6 +632,7 @@ msgstr "" "Änderungen werden erst dann aktiv, nachdem neu geladen wurde." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Abhängigkeiten" @@ -731,9 +736,10 @@ msgid "Delete selected files?" msgstr "Ausgewählte Dateien löschen?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Löschen" @@ -877,6 +883,11 @@ msgid "Rename Audio Bus" msgstr "Audiobus umbenennen" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Audiobus Solo-Status umschalten" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Audiobus Solo-Status umschalten" @@ -924,8 +935,8 @@ msgstr "Überbrückung" msgid "Bus options" msgstr "Audiobusoptionen" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplizieren" @@ -938,6 +949,10 @@ msgid "Delete Effect" msgstr "Effekt löschen" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Audiobus hinzufügen" @@ -1094,7 +1109,8 @@ msgstr "Pfad:" msgid "Node Name:" msgstr "Node-Name:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Name" @@ -1102,10 +1118,6 @@ msgstr "Name" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Liste:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Aktualisiere Szene" @@ -1118,6 +1130,15 @@ msgstr "Speichere lokale Änderungen.." msgid "Updating scene.." msgstr "Aktualisiere Szene..." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(leer)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Zuerst ein Wurzelverzeichnis setzen" @@ -1164,9 +1185,24 @@ msgid "File Exists, Overwrite?" msgstr "Datei existiert bereits. Überschreiben?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Ordner erstellen" +msgstr "Gegenwärtigen Ordner auswählen" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Pfad kopieren" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Zeige im Dateimanager" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Neuer Ordner.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Aktualisieren" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1215,10 +1251,6 @@ msgid "Go Up" msgstr "Hoch" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Aktualisieren" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Versteckte Dateien ein- und ausblenden" @@ -1398,7 +1430,8 @@ msgstr "Ausgabe:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Löschen" @@ -1555,14 +1588,12 @@ msgstr "" "Die Dokumentation zum Debugging beschreibt den nötigen Arbeitsablauf." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Alle expandieren" +msgstr "Alle Eigenschaften ausklappen" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Alle einklappen" +msgstr "Alle Eigenschaften einklappen" #: editor/editor_node.cpp msgid "Copy Params" @@ -2275,7 +2306,7 @@ msgstr "Skripteditor öffnen" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "Öffne Nutzerinhalte-Bibliothek" +msgstr "Öffne Nutzerinhaltesammlung" #: editor/editor_node.cpp msgid "Open the next Editor" @@ -2358,6 +2389,16 @@ msgstr "Selbst" msgid "Frame #:" msgstr "Bild #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Zeit:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Aufruf" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Gerät aus Liste auswählen" @@ -2499,7 +2540,8 @@ msgstr "Keine Antwort." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Anfrage fehlgeschlagen." #: editor/export_template_manager.cpp @@ -2546,7 +2588,8 @@ msgid "Connecting.." msgstr "Verbinde.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Keine Verbindung möglich" #: editor/export_template_manager.cpp @@ -2643,6 +2686,11 @@ msgid "Error moving:\n" msgstr "Fehler beim Verschieben:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Ladefehler:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Fehler beim Aktualisieren der Abhängigkeiten:\n" @@ -2675,6 +2723,16 @@ msgid "Renaming folder:" msgstr "Benenne Ordner um:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplizieren" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Benenne Ordner um:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Alle expandieren" @@ -2683,10 +2741,6 @@ msgid "Collapse all" msgstr "Alle einklappen" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Pfad kopieren" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Umbenennen.." @@ -2695,12 +2749,9 @@ msgid "Move To.." msgstr "Verschiebe zu.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Neuer Ordner.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Zeige im Dateimanager" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Szene öffnen" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2715,6 +2766,11 @@ msgid "View Owners.." msgstr "Zeige Besitzer.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplizieren" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Vorheriges Verzeichnis" @@ -2809,6 +2865,16 @@ msgid "Importing Scene.." msgstr "Szene wird importiert.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "übertrage zu Lightmaps:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Erzeuge AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Angepasstes Skript wird ausgeführt.." @@ -3054,54 +3120,51 @@ msgstr "Animation kopieren" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Zwiebelhaut" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Zwiebelhaut aktivieren" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Abschnitte:" +msgstr "Richtungen" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Einfügen" +msgstr "Vergangenheit" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Funktionen" +msgstr "Zukunft" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Tiefe" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 Schicht" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 Schichten" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 Schichten" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "nur Unterschiede" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Weißmodulation erzwingen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Griffe (3D) einbeziehen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3279,7 +3342,7 @@ msgstr "Filter.." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "Frei" +msgstr "Kostenlos" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" @@ -3378,6 +3441,7 @@ msgid "last" msgstr "Ende" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Alle" @@ -3419,6 +3483,28 @@ msgstr "Testphase" msgid "Assets ZIP File" msgstr "Nutzerinhalte als ZIP-Datei" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "übertrage zu Lightmaps:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Vorschau" @@ -3558,7 +3644,6 @@ msgid "Toggles snapping" msgstr "Einrasten umschalten" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Einrasten aktivieren" @@ -3739,16 +3824,6 @@ msgstr "Fehler beim Instanziieren von %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Verstehe" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Kein Node unter dem Unterobjekt instantiiert werden könnte vorhanden." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Diese Aktion benötigt ein einzelnes ausgewähltes Node." @@ -3944,6 +4019,22 @@ msgid "Create Navigation Mesh" msgstr "Navigations-Mesh erzeugen" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Mesh-Instanz fehlt ein Mesh!" @@ -3984,6 +4075,20 @@ msgid "Create Outline Mesh.." msgstr "Umriss-Mesh erzeugen.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Ansicht" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Ansicht" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Erzeuge Umriss-Mesh" @@ -4161,10 +4266,6 @@ msgid "Create Navigation Polygon" msgstr "Erzeuge Navigationspolygon" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Emissionsmaske leeren" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Erzeuge AABB" @@ -4181,11 +4282,7 @@ msgstr "Fehler beim Laden des Bilds:" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." -msgstr "Keine Pixel mit einer Transzparenz > 128 im Bild.." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Emissionsmaske setzen" +msgstr "Keine Pixel mit einer Transparenz > 128 im Bild.." #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" @@ -4196,6 +4293,10 @@ msgid "Load Emission Mask" msgstr "Emissionsmaske laden" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Emissionsmaske leeren" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "Partikel" @@ -4254,10 +4355,6 @@ msgid "Create Emission Points From Node" msgstr "Erzeuge Emissionspunkte aus Node" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Leere Emittent" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Erzeuge Emittent" @@ -4542,11 +4639,13 @@ msgstr "Sortiere" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Schiebe hoch" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Schiebe herunter" @@ -4562,7 +4661,7 @@ msgstr "Vorheriges Skript" msgid "File" msgstr "Datei" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Neu" @@ -4575,6 +4674,11 @@ msgid "Soft Reload Script" msgstr "Zaghaftes Skript-Neuladen" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Pfad kopieren" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Zurück im Verlauf" @@ -4765,11 +4869,8 @@ msgid "Clone Down" msgstr "Klone herunter" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Zeile einklappen" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Zeile aufklappen" #: editor/plugins/script_text_editor.cpp @@ -5007,7 +5108,7 @@ msgstr "Skalierung: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Translating: " -msgstr "Übersetze: " +msgstr "Verschiebe: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -5097,6 +5198,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Auf Sicht ausrichten" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Verstehe" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Kein Node unter dem Unterobjekt instantiiert werden könnte vorhanden." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Normale Ansicht" @@ -5115,7 +5224,7 @@ msgstr "Nicht Schattiertes anzeigen" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "Environment anzeigen" +msgstr "Umgebung anzeigen" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" @@ -5204,6 +5313,20 @@ msgid "Scale Mode (R)" msgstr "Skalierungsmodus (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Lokale Koordinaten" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Skalierungsmodus (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Einrastmodus:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Sicht von unten" @@ -5276,10 +5399,6 @@ msgid "Configure Snap.." msgstr "Einrasten konfigurieren.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Lokale Koordinaten" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Transformationsdialog.." @@ -5321,6 +5440,10 @@ msgid "Settings" msgstr "Einstellungen" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Einrasteinstellungen" @@ -5703,17 +5826,26 @@ msgid "Merge from scene?" msgstr "Aus Szene vereinen?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Von Szene erstellen" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" -msgstr "Aus Szene vereinen" +msgstr "Aus Szene zusammenführen" #: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Error" msgstr "Fehler" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Abbrechen" + #: editor/project_export.cpp msgid "Runnable" msgstr "ausführbar" @@ -5837,10 +5969,6 @@ msgid "Imported Project" msgstr "Importiertes Projekt" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Es wird empfohlen das Projekt zu benennen." @@ -6001,6 +6129,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Zur Zeit sind keine Projekte vorhanden.\n" +"Sollen Beispielprojekte aus der Nutzerinhaltesammlung angezeigt werden?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6108,8 +6238,9 @@ msgid "Joypad Button Index:" msgstr "Joysticktasten-Index:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Füge Eingabeaktion hinzu" +#, fuzzy +msgid "Erase Input Action" +msgstr "Lösche Eingabeaktionsereignis" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6176,6 +6307,10 @@ msgid "Already existing" msgstr "Existiert bereits" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Füge Eingabeaktion hinzu" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Fehler beim Speichern der Einstellungen." @@ -6352,6 +6487,10 @@ msgid "New Script" msgstr "Neues Skript" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Einzigartig machen" @@ -6383,6 +6522,11 @@ msgstr "Bit %d, Wert %d." msgid "On" msgstr "An" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Empty einfügen" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Setzen" @@ -6391,10 +6535,6 @@ msgstr "Setzen" msgid "Properties:" msgstr "Eigenschaften:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Abschnitte:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Eigenschaft auswählen" @@ -6414,7 +6554,7 @@ msgstr "Konnte PVRTC-Werkzeug nicht ausführen:" #: editor/pvrtc_compress.cpp msgid "Can't load back converted image using PVRTC tool:" msgstr "" -"Konnte PVRTC-Werkzeug nicht benutzen um konvertiertes Bild zurück zu laden:" +"Umgewandeltes Bild kann mittels PVRTC-Werkzeug nicht zurück geladen werden:" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" @@ -6501,7 +6641,7 @@ msgstr "Dupliziere Node(s)" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" -msgstr "Lösche Node(s)?" +msgstr "Node(s) wirklich löschen?" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." @@ -6964,6 +7104,10 @@ msgstr "Nach Szenenbaum einstellen" msgid "Shortcuts" msgstr "Tastenkürzel" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Ändere Lichtradius" @@ -7012,15 +7156,55 @@ msgstr "Ändere Partikel AABB" msgid "Change Probe Extents" msgstr "Sondenausmaße ändern" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Kurvenpunkt entfernen" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "Kopiere zu Plattform.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Bibliothek" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Bibliothek" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Status" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliotheken: " @@ -7038,7 +7222,7 @@ msgstr "" #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" -"Nicht genügend Bytes zum dekodieren des Byte-Strings, oder ungültiges Format." +"Nicht genügend Bytes zum Dekodieren des Byte-Strings oder ungültiges Format." #: modules/gdscript/gdscript_functions.cpp msgid "step argument is zero!" @@ -7734,6 +7918,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin benötigt ein ARVRCamera-Unterobjekt" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Plotte Mesh" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Plotte Mesh" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Stelle Plot fertig" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Plotte Mesh" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7770,10 +7973,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Plotte Mesh" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Stelle Plot fertig" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7842,10 +8041,6 @@ msgid "Add current color as a preset" msgstr "Füge aktuelle Farbe als Vorlage hinzu" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Abbrechen" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Warnung!" @@ -7854,9 +8049,8 @@ msgid "Please Confirm..." msgstr "Bitte bestätigen..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Methode auswählen" +msgstr "Diesen Ordner auswählen" #: scene/gui/popup.cpp msgid "" @@ -7922,6 +8116,30 @@ msgstr "Fehler beim Laden der Schriftart." msgid "Invalid font size." msgstr "Ungültige Schriftgröße." +#~ msgid "Move Add Key" +#~ msgstr "Schlüsselbild bewegen hinzufügen" + +#~ msgid "Create Subscription" +#~ msgstr "Erstelle Subscription" + +#~ msgid "List:" +#~ msgstr "Liste:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Emissionsmaske setzen" + +#~ msgid "Clear Emitter" +#~ msgstr "Leere Emittent" + +#~ msgid "Fold Line" +#~ msgstr "Zeile einklappen" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Abschnitte:" + #~ msgid "Cannot navigate to '" #~ msgstr "Kann Ordner ‚" @@ -8464,9 +8682,6 @@ msgstr "Ungültige Schriftgröße." #~ msgid "Making BVH" #~ msgstr "Erstelle BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "übertrage zu Lightmaps:" - #~ msgid "Allocating Texture #" #~ msgstr "Zuweisen von Textur #" @@ -8612,9 +8827,6 @@ msgstr "Ungültige Schriftgröße." #~ msgid "Del" #~ msgstr "Entfernen" -#~ msgid "Copy To Platform.." -#~ msgstr "Kopiere zu Plattform.." - #~ msgid "just pressed" #~ msgstr "gerade gedrückt" diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po index 213d7ab1d7..52cf8a1ec4 100644 --- a/editor/translations/de_CH.po +++ b/editor/translations/de_CH.po @@ -1,6 +1,6 @@ # Swiss High German translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Christian Fisch <christian.fiesel@gmail.com>, 2016. @@ -27,8 +27,8 @@ msgid "All Selection" msgstr "" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Bild bewegen/einfügen" +msgid "Anim Change Keyframe Time" +msgstr "" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,7 +39,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -532,7 +532,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -549,8 +549,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "Node erstellen" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -564,7 +565,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -601,6 +602,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -701,9 +703,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -845,6 +848,11 @@ msgstr "" #: editor/editor_audio_buses.cpp #, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Autoplay Umschalten" + +#: editor/editor_audio_buses.cpp +#, fuzzy msgid "Toggle Audio Bus Solo" msgstr "Autoplay Umschalten" @@ -892,8 +900,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -906,6 +914,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1059,7 +1071,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1067,10 +1080,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1083,6 +1092,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1133,6 +1150,22 @@ msgstr "Datei existiert, Überschreiben?" msgid "Select Current Folder" msgstr "Node(s) löschen" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1180,10 +1213,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1360,7 +1389,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2270,6 +2300,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2406,7 +2444,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2458,7 +2496,7 @@ msgstr "Connections editieren" #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "Neues Projekt erstellen" #: editor/export_template_manager.cpp @@ -2555,6 +2593,11 @@ msgstr "Szene kann nicht gespeichert werden." #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Szene kann nicht gespeichert werden." + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Szene '%s' hat kapute Abhängigkeiten:" @@ -2588,32 +2631,35 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Szene kann nicht gespeichert werden." #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Node(s) duplizieren" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Datei(en) öffnen" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2628,6 +2674,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Node(s) duplizieren" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2720,6 +2771,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3297,6 +3356,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3338,6 +3398,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3478,7 +3559,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3660,16 +3740,6 @@ msgstr "Fehler beim Instanzieren der %s Szene" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Okay :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Bitte nur ein Node selektieren." @@ -3865,6 +3935,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3905,6 +3991,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Datei(en) öffnen" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Datei(en) öffnen" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4082,11 +4182,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Clear Emission Mask" -msgstr "Inhalt der Emissions-Masken löschen" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4104,10 +4199,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Emissions-Maske setzen" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "" @@ -4116,6 +4207,11 @@ msgid "Load Emission Mask" msgstr "Emissions-Maske laden" #: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Clear Emission Mask" +msgstr "Inhalt der Emissions-Masken löschen" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "" @@ -4176,10 +4272,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4467,11 +4559,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4487,7 +4581,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4500,6 +4594,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4688,14 +4786,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Bild einfügen" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5024,6 +5118,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Okay :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5130,6 +5232,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Selektiere Node(s) zum Importieren aus" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5203,10 +5318,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5248,6 +5359,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5633,6 +5748,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Datei(en) öffnen" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5644,6 +5764,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Abbrechen" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5765,10 +5889,6 @@ msgid "Imported Project" msgstr "Importierte Projekte" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6035,7 +6155,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6105,6 +6225,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6286,6 +6410,10 @@ msgid "New Script" msgstr "Script hinzufügen" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6320,6 +6448,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6328,10 +6460,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6895,6 +7023,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6943,15 +7075,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Ungültige Bilder löschen" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7648,6 +7817,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7676,10 +7861,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7734,10 +7915,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Abbrechen" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alert!" @@ -7799,6 +7976,12 @@ msgstr "" msgid "Invalid font size." msgstr "" +#~ msgid "Move Add Key" +#~ msgstr "Bild bewegen/einfügen" + +#~ msgid "Set Emission Mask" +#~ msgstr "Emissions-Maske setzen" + #~ msgid "Surface %d" #~ msgstr "Oberfläche %d" @@ -7844,10 +8027,6 @@ msgstr "" #~ msgstr "Connections editieren" #, fuzzy -#~ msgid "Tiles" -#~ msgstr "Datei(en) öffnen" - -#, fuzzy #~ msgid "Error creating the signature object." #~ msgstr "Fehler beim Schreiben des Projekts PCK!" diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 84505f1719..20ded4a4fb 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -1,6 +1,6 @@ # LANGUAGE translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. @@ -21,7 +21,7 @@ msgid "All Selection" msgstr "" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -33,7 +33,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -525,7 +525,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -542,7 +542,7 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" +msgid "Create New %s" msgstr "" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -557,7 +557,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -594,6 +594,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -694,9 +695,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -835,6 +837,10 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Change Audio Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -882,8 +888,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -896,6 +902,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1046,7 +1056,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1054,10 +1065,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1070,6 +1077,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1119,6 +1134,22 @@ msgstr "" msgid "Select Current Folder" msgstr "" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1166,10 +1197,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1345,7 +1372,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2235,6 +2263,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2370,7 +2406,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2417,7 +2453,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2508,6 +2544,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2540,31 +2580,31 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2580,6 +2620,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2672,6 +2716,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3234,6 +3286,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3275,6 +3328,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3409,7 +3483,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3589,16 +3662,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3790,6 +3853,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3830,6 +3909,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4006,10 +4097,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4027,15 +4114,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4097,10 +4184,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4383,11 +4466,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4403,7 +4488,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4416,6 +4501,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4602,11 +4691,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4934,6 +5019,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5038,6 +5131,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5110,10 +5215,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5155,6 +5256,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5537,6 +5642,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5548,6 +5657,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5665,10 +5778,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5925,7 +6034,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -5993,6 +6102,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6169,6 +6282,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6200,6 +6317,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6208,10 +6329,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6761,6 +6878,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6809,15 +6930,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Remove current entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7466,6 +7623,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7494,10 +7667,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7550,10 +7719,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" diff --git a/editor/translations/el.po b/editor/translations/el.po index 0b5ed8fda8..6b63d8eef8 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -1,6 +1,6 @@ # Greek translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # George Tsiamasiotis <gtsiam@windowslive.com>, 2017. @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-27 10:46+0000\n" +"PO-Revision-Date: 2017-12-05 21:46+0000\n" "Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n" "Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/" "el/>\n" @@ -27,8 +27,9 @@ msgid "All Selection" msgstr "Επιλογή όλων" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Μετακίνηση ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï Ï€Ïοσθήκης" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Αλλαγή τιμής" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,7 +40,8 @@ msgid "Anim Change Transform" msgstr "Anim Αλλαγή Î¼ÎµÏ„Î±ÏƒÏ‡Î·Î¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï (transform)" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Αλλαγή τιμής" #: editor/animation_editor.cpp @@ -535,8 +537,9 @@ msgid "Connecting Signal:" msgstr "ΣÏνδεση στο σήμα:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "ΔημιουÏγία εγγÏαφής" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "ΣÏνδεση του '%s' στο '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -552,7 +555,8 @@ msgid "Signals" msgstr "Σήματα" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "ΔημιουÏγία νÎου" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -567,7 +571,7 @@ msgstr "Î Ïόσφατα:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Αναζήτηση:" @@ -608,6 +612,7 @@ msgstr "" "Οι αλλαγÎÏ‚ θα δÏάσουν όταν γίνει επαναφόÏτωση." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ΕξαÏτήσεις" @@ -710,9 +715,10 @@ msgid "Delete selected files?" msgstr "ΔιαγÏαφή επιλεγμÎνων αÏχείων;" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "ΔιαγÏαφή" @@ -856,6 +862,11 @@ msgid "Rename Audio Bus" msgstr "Μετονομασία διαÏλου ήχου" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Εναλλαγή σόλο διαÏλου ήχου" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Εναλλαγή σόλο διαÏλου ήχου" @@ -903,8 +914,8 @@ msgstr "ΠαÏάκαμψη" msgid "Bus options" msgstr "ΕπιλογÎÏ‚ διαÏλου" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Διπλασιασμός" @@ -917,6 +928,10 @@ msgid "Delete Effect" msgstr "ΔιαγÏαφή εφÎ" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Î Ïοσθήκη διαÏλου ήχου" @@ -1069,7 +1084,8 @@ msgstr "ΔιαδÏομή:" msgid "Node Name:" msgstr "Όνομα κόμβου:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Όνομα" @@ -1077,10 +1093,6 @@ msgstr "Όνομα" msgid "Singleton" msgstr "ΜονοσÏνολο" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Λίστα:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "ΕνημÎÏωση σκηνής" @@ -1093,6 +1105,15 @@ msgstr "Αποθήκευση τοπικών αλλαγών.." msgid "Updating scene.." msgstr "ΕνημÎÏωση σκηνής.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(άδειο)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "ΠαÏακαλοÏμε επιλÎξτε Ï€Ïώτα Îναν βασικό κατάλογο" @@ -1139,9 +1160,24 @@ msgid "File Exists, Overwrite?" msgstr "Το αÏχείο υπάÏχει. ΘÎλετε να το αντικαταστήσετε;" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "ΔημιουÏγία φακÎλου" +msgstr "Επιλογή Ï„ÏÎχοντα φακÎλου" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "ΑντιγÏαφή διαδÏομής" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Εμφάνιση στη διαχείÏιση αÏχείων" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "ÎÎος φάκελος" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Αναναίωση" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1190,10 +1226,6 @@ msgid "Go Up" msgstr "Πήγαινε πάνω" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Αναναίωση" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Εναλλαγή κÏυμμÎνων αÏχείων" @@ -1373,7 +1405,8 @@ msgstr "Έξοδος:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "ΕκκαθάÏιση" @@ -1532,14 +1565,12 @@ msgstr "" "καταλάβετε καλÏτεÏα την διαδικασία." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Ανάπτυξη όλων" +msgstr "Ανάπτυξη όλων των ιδιοτήτων" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "ΣÏμπτηξη όλων" +msgstr "ΣÏμπτηξη όλων των ιδιοτήτων" #: editor/editor_node.cpp msgid "Copy Params" @@ -2336,6 +2367,16 @@ msgstr "Εαυτός" msgid "Frame #:" msgstr "ΚαÏÎ #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "ΧÏόνος:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Κλήση" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "ΕπιλÎξτε συσκευή από την λίστα" @@ -2477,7 +2518,8 @@ msgstr "Δεν λήφθηκε απόκÏιση." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Το αίτημα απÎτυχε." #: editor/export_template_manager.cpp @@ -2524,7 +2566,8 @@ msgid "Connecting.." msgstr "ΣÏνδεση.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Δεν ήταν δυνατή η σÏνδεση" #: editor/export_template_manager.cpp @@ -2621,6 +2664,11 @@ msgid "Error moving:\n" msgstr "Σφάλμα κατά την μετακίνηση:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Σφάλμα κατά την φόÏτωση:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "ΑδÏνατη η ενημÎÏωση των εξαÏτήσεων:\n" @@ -2653,6 +2701,16 @@ msgid "Renaming folder:" msgstr "Μετονομασία καταλόγου:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Διπλασιασμός" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Μετονομασία καταλόγου:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Ανάπτυξη όλων" @@ -2661,10 +2719,6 @@ msgid "Collapse all" msgstr "ΣÏμπτηξη όλων" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "ΑντιγÏαφή διαδÏομής" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Μετονομασία..." @@ -2673,12 +2727,9 @@ msgid "Move To.." msgstr "Μετακίνηση σε" #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "ÎÎος φάκελος" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Εμφάνιση στη διαχείÏιση αÏχείων" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Άνοιγμα σκηνής" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2693,6 +2744,11 @@ msgid "View Owners.." msgstr "Î Ïοβολή ιδιοκτητών" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Διπλασιασμός" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Î ÏοηγοÏμενος κατάλογος" @@ -2789,6 +2845,16 @@ msgid "Importing Scene.." msgstr "Εισαγωγή σκηνής..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "ΜεταφοÏά στους χάÏτες φωτός:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "ΔημιουÏία AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "ΕκτÎλεση Ï€ÏοσαÏμοσμÎνης δÎσμης ενεÏγειών..." @@ -3036,54 +3102,51 @@ msgstr "ΑνιγÏαφή κίνησης" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "ΞεφλοÏδισμα κÏεμμυδιοÏ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "ΕνεÏγοποίηση ξεφλουδίσματος κÏεμμυδιοÏ" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Ενότητες:" +msgstr "Κατευθήνσεις" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Επικόληση" +msgstr "ΠαÏελθόν" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Δυνατότητες" +msgstr "ΜÎλλον" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Βάθος" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 βήμα" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 βήματα" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 βήματα" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Μόνο διαφοÏÎÏ‚" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Εξανάγκασε τονισμό άσπÏου" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "ΣυμπεÏιÎλαβε μαÏαφÎτια (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3361,6 +3424,7 @@ msgid "last" msgstr "Î ÏοηγοÏμενο" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Όλα" @@ -3402,6 +3466,28 @@ msgstr "Δοκιμιμαστικά" msgid "Assets ZIP File" msgstr "ΑÏχείο ZIP των Asset" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ΜεταφοÏά στους χάÏτες φωτός:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Î Ïοεπισκόπηση" @@ -3540,7 +3626,6 @@ msgid "Toggles snapping" msgstr "Εναλλαγή κουμπώματος" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "ΧÏήση κουμπώματος" @@ -3720,17 +3805,6 @@ msgstr "Σφάλμα κατά την αÏχικοποίηση σκηνής Î±Ï€Ï #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Εντάξει :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" -"Δεν υπάÏχει γονÎας στον οποίο μποÏεί να γίνει αÏχικοποίηση του παιδιοÏ." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Αυτή η λειτουÏγία απαιτεί Îναν μόνο επιλεγμÎνο κόμβο." @@ -3926,6 +4000,22 @@ msgid "Create Navigation Mesh" msgstr "ΔημιουÏγία πλÎγματος πλοήγησης" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Το στιγμιότυπο πλÎγματος δεν Îχει πλÎγμα!" @@ -3966,6 +4056,20 @@ msgid "Create Outline Mesh.." msgstr "ΔημιουÏγία πλÎγματος πεÏιγÏάμματος.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "ΚάμεÏα" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "ΚάμεÏα" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "ΔημιουÏγία πλÎγματος πεÏιγÏάμματος" @@ -4144,10 +4248,6 @@ msgid "Create Navigation Polygon" msgstr "ΔημιουÏγία πολυγώνου πλοήγησης" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "ΕκκαθάÏιση μάσκας εκπομπής" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "ΔημιουÏία AABB" @@ -4167,10 +4267,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Δεν υπάÏχουν εικονοστοιχεία με διαφάνεια >128 στην εικόνα.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "ΟÏισμός μάσκας εκπομπής" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "ΔημιουÏγία οÏθογωνίου οÏατότητας" @@ -4179,6 +4275,10 @@ msgid "Load Emission Mask" msgstr "ΦόÏτωση μάσκας εκπομπής" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "ΕκκαθάÏιση μάσκας εκπομπής" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "Σωματίδια" @@ -4237,10 +4337,6 @@ msgid "Create Emission Points From Node" msgstr "ΔημιουÏγία σημείων εκπομπής από κόμβο" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ΕκκαθάÏιση πομποÏ" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "ΔημιουÏγία πομποÏ" @@ -4525,11 +4621,13 @@ msgstr "Ταξινόμηση" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Μετακίνηση πάνω" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Μετακίνηση κάτω" @@ -4545,7 +4643,7 @@ msgstr "Î ÏοηγοÏμενη δεσμή ενεÏγειών" msgid "File" msgstr "ΑÏχείο" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "ÎÎο" @@ -4558,6 +4656,11 @@ msgid "Soft Reload Script" msgstr "Απλή επαναφόÏτωση δεσμής ενεÏγειών" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "ΑντιγÏαφή διαδÏομής" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "ΙστοÏικά Ï€ÏοηγοÏμενο" @@ -4748,11 +4851,8 @@ msgid "Clone Down" msgstr "Κλωνοποίηση κάτω" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Αναδίπλωση γÏαμμής" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Ξεδίπλωμα γÏαμμής" #: editor/plugins/script_text_editor.cpp @@ -5081,6 +5181,15 @@ msgstr "FPS" msgid "Align with view" msgstr "Στοίχηση με την Ï€Ïοβολή" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Εντάξει :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" +"Δεν υπάÏχει γονÎας στον οποίο μποÏεί να γίνει αÏχικοποίηση του παιδιοÏ." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Κανονική εμφάνιση" @@ -5188,6 +5297,20 @@ msgid "Scale Mode (R)" msgstr "ΛειτουÏγία κλιμάκωσης (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "ΤοπικÎÏ‚ συντεταγμÎνες" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "ΛειτουÏγία κλιμάκωσης (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "ΛειτουÏγία κουμπώματος:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Κάτω όψη" @@ -5260,10 +5383,6 @@ msgid "Configure Snap.." msgstr "ΔιαμόÏφωση κουμπώματος.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "ΤοπικÎÏ‚ συντεταγμÎνες" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Διάλογος μετασχηματισμοÏ.." @@ -5305,6 +5424,10 @@ msgid "Settings" msgstr "Ρυθμίσεις" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Ρυθμίσεις κουμπώματος" @@ -5687,6 +5810,11 @@ msgid "Merge from scene?" msgstr "Συγχώνευση από σκηνή;" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "ΔημιουÏγία από σκηνή" @@ -5698,6 +5826,10 @@ msgstr "Συγχώνευση από σκηνή" msgid "Error" msgstr "Σφάλμα" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "ΑκÏÏωση" + #: editor/project_export.cpp msgid "Runnable" msgstr "ΕκτελÎσιμο" @@ -5824,10 +5956,6 @@ msgid "Imported Project" msgstr "ΕισαγμÎνο ÎÏγο" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Είναι καλή ιδÎα να ονομάσετε το ÎÏγο σας." @@ -5989,6 +6117,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Δεν Îχετε κανÎνα ÎÏγο.\n" +"Θα θÎλατε να εξεÏευνήσετε μεÏικά παÏαδείγματα στην βιβλιοθήκη πόÏων;" #: editor/project_settings_editor.cpp msgid "Key " @@ -6096,8 +6226,9 @@ msgid "Joypad Button Index:" msgstr "ΑÏιθμός ÎºÎ¿Ï…Î¼Ï€Î¹Î¿Ï Joypad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Î Ïοσθήκη συμβάντος ενÎÏγειας εισόδου" +#, fuzzy +msgid "Erase Input Action" +msgstr "ΔιαγÏαφή συμβάντος ενÎÏγειας εισόδου" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6164,6 +6295,10 @@ msgid "Already existing" msgstr "ΥπάÏχει ήδη" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Î Ïοσθήκη συμβάντος ενÎÏγειας εισόδου" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Σφάλμα κατά την αποθήκευση Ïυθμίσεων." @@ -6340,6 +6475,10 @@ msgid "New Script" msgstr "Îεα δεσμή ενεÏγειών" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Κάνε μοναδικό" @@ -6371,6 +6510,11 @@ msgstr "Δυαδικό ψηφίο %d, τιμή %d." msgid "On" msgstr "Îαι" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Î Ïοσθήκη άδειου" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "ÎŒÏισε" @@ -6379,10 +6523,6 @@ msgstr "ÎŒÏισε" msgid "Properties:" msgstr "Ιδιότητες:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Ενότητες:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Επιλογή ιδιότητας" @@ -6957,6 +7097,10 @@ msgstr "ΟÏισμός από το δÎντÏο" msgid "Shortcuts" msgstr "ΣυντομεÏσεις" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Αλλαγή διαμÎÏ„Ïου φωτός" @@ -7005,15 +7149,55 @@ msgstr "Αλλαγή AABB σωματιδίων" msgid "Change Probe Extents" msgstr "Αλλαγή διαστάσεων αισθητήÏα" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "ΑφαίÏεση σημείου καμπÏλης" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "ΑντιγÏαφή σε πλατφόÏμα.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Βιβλιοθήκη" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Βιβλιοθήκη" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Κατάσταση" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Βιβλιοθήκες: " @@ -7720,6 +7904,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "Το ARVROrigin απαιτεί Îναν κόμβο ARVRCamera ως παιδί" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "ΤοποθÎτηση πλεγμάτων" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "ΤοποθÎτηση πλεγμάτων" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "ΟλοκλήÏωση σχεδιαγÏάμματος" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "ΤοποθÎτηση πλεγμάτων" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7758,10 +7961,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "ΤοποθÎτηση πλεγμάτων" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "ΟλοκλήÏωση σχεδιαγÏάμματος" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7830,10 +8029,6 @@ msgid "Add current color as a preset" msgstr "Î Ïοσθήκη του Ï„ÏÎχοντος χÏώματος ως Ï€ÏοκαθοÏισμÎνο" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "ΑκÏÏωση" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Ειδοποίηση!" @@ -7842,9 +8037,8 @@ msgid "Please Confirm..." msgstr "ΠαÏακαλώ επιβεβαιώστε..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Επιλογή μεθόδου" +msgstr "Επιλογή Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… φακÎλου" #: scene/gui/popup.cpp msgid "" @@ -7907,6 +8101,30 @@ msgstr "Σφάλμα κατά την φόÏτωση της γÏαμματοσεΠmsgid "Invalid font size." msgstr "Μη ÎγκυÏο μÎγεθος γÏαμματοσειÏάς." +#~ msgid "Move Add Key" +#~ msgstr "Μετακίνηση ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï Ï€Ïοσθήκης" + +#~ msgid "Create Subscription" +#~ msgstr "ΔημιουÏγία εγγÏαφής" + +#~ msgid "List:" +#~ msgstr "Λίστα:" + +#~ msgid "Set Emission Mask" +#~ msgstr "ΟÏισμός μάσκας εκπομπής" + +#~ msgid "Clear Emitter" +#~ msgstr "ΕκκαθάÏιση πομποÏ" + +#~ msgid "Fold Line" +#~ msgstr "Αναδίπλωση γÏαμμής" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Ενότητες:" + #~ msgid "Cannot navigate to '" #~ msgstr "ΑδÏνατη η πλοήγηση στο '" @@ -8449,9 +8667,6 @@ msgstr "Μη ÎγκυÏο μÎγεθος γÏαμματοσειÏάς." #~ msgid "Making BVH" #~ msgstr "ΔημιουÏγία BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "ΜεταφοÏά στους χάÏτες φωτός:" - #~ msgid "Allocating Texture #" #~ msgstr "ΔÎσμευση υφής #" @@ -8605,9 +8820,6 @@ msgstr "Μη ÎγκυÏο μÎγεθος γÏαμματοσειÏάς." #~ msgid "Del" #~ msgstr "ΔιαγÏαφή" -#~ msgid "Copy To Platform.." -#~ msgstr "ΑντιγÏαφή σε πλατφόÏμα.." - #~ msgid "just pressed" #~ msgstr "μόλις πατήθηκε" diff --git a/editor/translations/es.po b/editor/translations/es.po index 0fd0d7674a..328e50d9f2 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -1,9 +1,10 @@ # Spanish translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Addiel Lucena Perez <addiell2017@gmail.com>, 2017. +# Aleix Sanchis <aleixsanchis@hotmail.com>, 2017. # Alejandro Alvarez <eliluminado00@gmail.com>, 2017. # BLaDoM GUY <simplybladom@gmail.com>, 2017. # Carlos López <genetita@gmail.com>, 2016. @@ -25,8 +26,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-28 18:49+0000\n" -"Last-Translator: Diego López <diegodario21@gmail.com>\n" +"PO-Revision-Date: 2017-12-09 22:50+0000\n" +"Last-Translator: Aleix Sanchis <aleixsanchis@hotmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -45,8 +46,9 @@ msgid "All Selection" msgstr "Toda la selección" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mover o añadir clave" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Cambiar valor de animación" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -57,7 +59,8 @@ msgid "Anim Change Transform" msgstr "Cambiar transformación de animación" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Cambiar valor de animación" #: editor/animation_editor.cpp @@ -175,8 +178,9 @@ msgid "Constant" msgstr "Constante" #: editor/animation_editor.cpp +#, fuzzy msgid "In" -msgstr "Entrada" +msgstr "In" #: editor/animation_editor.cpp msgid "Out" @@ -553,8 +557,9 @@ msgid "Connecting Signal:" msgstr "Conectando señal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Crear suscripción" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Conectar «%s» a «%s»" #: editor/connections_dialog.cpp msgid "Connect.." @@ -570,7 +575,8 @@ msgid "Signals" msgstr "Señales" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Crear nuevo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -585,7 +591,7 @@ msgstr "Recientes:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Buscar:" @@ -626,6 +632,7 @@ msgstr "" "Por lo que los cambios no tendrán efecto hasta que recargues." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependencias" @@ -731,9 +738,10 @@ msgid "Delete selected files?" msgstr "¿Quieres eliminar los archivos seleccionados?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Eliminar" @@ -842,9 +850,8 @@ msgid "Error opening package file, not in zip format." msgstr "Error al abrir el paquete, no se encuentra en formato zip." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Uncompressing Assets" -msgstr "Descomprimir Assets" +msgstr "Descomprimiendo Assets" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package Installed Successfully!" @@ -877,6 +884,11 @@ msgid "Rename Audio Bus" msgstr "Renombrar Audio Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Alternar Audio Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Alternar Audio Bus Solo" @@ -889,17 +901,14 @@ msgid "Toggle Audio Bus Bypass Effects" msgstr "Alternar efectos de bypass del Bus de Audio" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Select Audio Bus Send" -msgstr "Seleccionar Bus de audio de envÃo" +msgstr "Seleccionar Bus de Audio de envÃo" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add Audio Bus Effect" msgstr "Añadir Efecto de Bus de Audio" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Move Bus Effect" msgstr "Mover Efecto de Bus" @@ -924,12 +933,11 @@ msgid "Bypass" msgstr "Sobrepasar" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus options" msgstr "Opciones del Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicar" @@ -942,6 +950,10 @@ msgid "Delete Effect" msgstr "Borrar Efecto" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Añadir Bus de Audio" @@ -982,9 +994,8 @@ msgid "There is no 'res://default_bus_layout.tres' file." msgstr "No existe el archivo 'res://default_bus_layout.tres'." #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Invalid file, not an audio bus layout." -msgstr "Archivo inválido, no es un layout de bus de audio" +msgstr "Archivo inválido, no es un formato de bus de audio" #: editor/editor_audio_buses.cpp msgid "Add Bus" @@ -1009,9 +1020,8 @@ msgid "Save As" msgstr "Guardar como" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Save this Bus Layout to a file." -msgstr "Guardar formato de los Audio Bus como..." +msgstr "Guardar este Formato Bus como..." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" @@ -1019,7 +1029,7 @@ msgstr "Cargar Predeterminado" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Cargar Formato del Bus por defecto." +msgstr "Cargar Formato de Bus predeterminado." #: editor/editor_autoload_settings.cpp msgid "Invalid name." @@ -1100,7 +1110,8 @@ msgstr "Ruta:" msgid "Node Name:" msgstr "Nombre del nodo:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nombre" @@ -1108,10 +1119,6 @@ msgstr "Nombre" msgid "Singleton" msgstr "«Singleton»" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Actualizando escena" @@ -1124,9 +1131,18 @@ msgstr "Guardando cambios locales.." msgid "Updating scene.." msgstr "Actualizando escena.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vacÃo)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "Por favor seleccione primero un directorio base." +msgstr "Por favor seleccione primero un directorio base" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" @@ -1170,10 +1186,26 @@ msgid "File Exists, Overwrite?" msgstr "El archivo ya existe, ¿quieres sobreescribirlo?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" +msgstr "Seleccionar Carpeta Actual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copiar ruta" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostrar en el navegador de archivos" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." msgstr "Crear carpeta" +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Recargar" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Reconocidos" @@ -1221,10 +1253,6 @@ msgid "Go Up" msgstr "Subir" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Recargar" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Ver/ocultar archivos ocultos" @@ -1275,7 +1303,7 @@ msgstr "AnalizandoFuentes" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "Reimportando Assets" +msgstr "(Re)Importando Assets" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp @@ -1328,7 +1356,7 @@ msgstr "Métodos públicos:" #: editor/editor_help.cpp msgid "GUI Theme Items" -msgstr "Elementos de tema de GUI" +msgstr "Elementos del Tema de GUI" #: editor/editor_help.cpp msgid "GUI Theme Items:" @@ -1404,7 +1432,8 @@ msgstr "Salida:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Borrar todo" @@ -1466,9 +1495,8 @@ msgid "Creating Thumbnail" msgstr "Creando miniatura" #: editor/editor_node.cpp -#, fuzzy msgid "This operation can't be done without a tree root." -msgstr "Esta operación no puede realizarse sin una escena." +msgstr "Esta operación no puede realizarse sin una escena raÃz." #: editor/editor_node.cpp msgid "" @@ -1565,7 +1593,7 @@ msgstr "" #: editor/editor_node.cpp #, fuzzy msgid "Expand all properties" -msgstr "Expandir todo" +msgstr "Expandir todas las propiedades" #: editor/editor_node.cpp #, fuzzy @@ -1610,9 +1638,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"No se ha definido ninguna escena principal, ¿quieres elegir alguna?\n" -"Es posible cambiarla más tarde en «Ajustes del proyecto» bajo la categorÃa " -"«aplicación»." +"No se ha definido ninguna escena principal, ¿Quieres elegir alguna?\n" +"Es posible cambiarla más tarde en «Ajustes del Proyecto» bajo la categorÃa " +"«Aplicación»." #: editor/editor_node.cpp msgid "" @@ -1666,7 +1694,7 @@ msgstr "Guardar & Cerrar" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "¿Guardar cambios a '%s' antes de cerrar?" +msgstr "¿Guardar cambios de '%s' antes de cerrar?" #: editor/editor_node.cpp msgid "Save Scene As.." @@ -1862,7 +1890,7 @@ msgstr "Modo sin distracciones" #: editor/editor_node.cpp #, fuzzy msgid "Toggle distraction-free mode." -msgstr "Alternar Modo sin distracciones" +msgstr "Alternar Modo sin distracciones." #: editor/editor_node.cpp msgid "Add a new scene." @@ -2255,7 +2283,6 @@ msgid "Open & Run a Script" msgstr "Abrir y ejecutar un script" #: editor/editor_node.cpp -#, fuzzy msgid "New Inherited" msgstr "Nueva escena heredada" @@ -2292,9 +2319,8 @@ msgid "Open the previous Editor" msgstr "Abrir Editor anterior" #: editor/editor_plugin.cpp -#, fuzzy msgid "Creating Mesh Previews" -msgstr "Crear biblioteca de modelos 3D" +msgstr "Creando vistas previas de los modelos 3D" #: editor/editor_plugin.cpp msgid "Thumbnail.." @@ -2366,17 +2392,26 @@ msgstr "Propio" msgid "Frame #:" msgstr "Nº de cuadro:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tiempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Llamada" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Seleccionar dispositivo de la lista" #: editor/editor_run_native.cpp -#, fuzzy msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" -"No se ha encontrado un preset ejecutable de exportación para esta " +"No se ha encontrado ningún preset ejecutable de exportación para esta " "plataforma.\n" "Por favor, añade un preset ejecutable en el menú de exportación." @@ -2473,7 +2508,6 @@ msgid "No version.txt found inside templates." msgstr "No se ha encontrado el archivo version.txt dentro de las plantillas." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for templates:\n" msgstr "Error al crear ruta para las plantillas:\n" @@ -2510,7 +2544,8 @@ msgstr "No responde." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Solicitud fallida." #: editor/export_template_manager.cpp @@ -2558,7 +2593,8 @@ msgid "Connecting.." msgstr "Conectando.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "No se puede conectar" #: editor/export_template_manager.cpp @@ -2659,6 +2695,11 @@ msgid "Error moving:\n" msgstr "Error al mover:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Error al cargar:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "No se ha podido actualizar las dependencias:\n" @@ -2691,6 +2732,16 @@ msgid "Renaming folder:" msgstr "Renombrar carpeta:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renombrar carpeta:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Expandir todo" @@ -2699,10 +2750,6 @@ msgid "Collapse all" msgstr "Colapsar todo" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copiar ruta" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renombrar.." @@ -2712,12 +2759,8 @@ msgstr "Mover a.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "Crear carpeta" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostrar en el navegador de archivos" +msgid "Open Scene(s)" +msgstr "Abrir escena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2733,6 +2776,11 @@ msgid "View Owners.." msgstr "Ver propietarios.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Carpeta anterior" @@ -2835,6 +2883,16 @@ msgid "Importing Scene.." msgstr "Importando escena.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Transfiriendo a «lightmaps»:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generar AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Ejecutando script personalizado.." @@ -3090,11 +3148,11 @@ msgstr "Copiar animación" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Papel Cebolla" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Activar Papel Cebolla" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3113,23 +3171,26 @@ msgstr "Textura" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profundidad" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "1 step" -msgstr "" +msgstr "1 paso" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "2 steps" -msgstr "" +msgstr "2 pasos" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "3 steps" -msgstr "" +msgstr "3 pasos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Solo las Diferencias" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3137,7 +3198,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Incluir Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3418,6 +3479,7 @@ msgid "last" msgstr "ultimo" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Todos" @@ -3459,6 +3521,28 @@ msgstr "Prueba" msgid "Assets ZIP File" msgstr "Archivo ZIP de elementos" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Transfiriendo a «lightmaps»:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Vista previa" @@ -3605,7 +3689,6 @@ msgid "Toggles snapping" msgstr "Des/activar «breakpoint»" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Fijar a cuadrÃcula" @@ -3804,16 +3887,6 @@ msgstr "Error al instanciar escena desde %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Muy bien :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "No hay padre al que instanciarle un hijo." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Esta operación requiere un solo nodo seleccionado." @@ -4024,6 +4097,22 @@ msgid "Create Navigation Mesh" msgstr "Crear modelo de navegación 3D" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "¡A MeshInstance le falta un modelo 3D!" @@ -4064,6 +4153,20 @@ msgid "Create Outline Mesh.." msgstr "Crear modelo 3D de contorno.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Ver" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Ver" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Crear modelo 3D de contorno" @@ -4257,10 +4360,6 @@ msgid "Create Navigation Polygon" msgstr "Crear polÃgono de navegación" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Borrar máscara de emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Generating AABB" @@ -4283,10 +4382,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "No hay pÃxeles con una transparencia mayor que 128 en la imagen.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Establecer máscara de emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Generar rectángulo de visibilidad" @@ -4295,6 +4390,10 @@ msgid "Load Emission Mask" msgstr "Cargar máscara de emisión" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Borrar máscara de emisión" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Particles" @@ -4360,10 +4459,6 @@ msgid "Create Emission Points From Node" msgstr "Crear emisor a partir de nodo" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Borrar emisor" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Crear emisor" @@ -4664,11 +4759,13 @@ msgstr "Ordenar:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Subir" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Bajar" @@ -4684,7 +4781,7 @@ msgstr "Script anterior" msgid "File" msgstr "Archivo" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nuevo" @@ -4697,6 +4794,11 @@ msgid "Soft Reload Script" msgstr "Recargar parcialmente el script" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copiar ruta" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Previo en historial" @@ -4897,12 +4999,7 @@ msgstr "Clonar hacia abajo" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Ir a lÃnea" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "Desplegar LÃnea" #: editor/plugins/script_text_editor.cpp @@ -5245,6 +5342,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Alinear con vista" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Muy bien :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "No hay padre al que instanciarle un hijo." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Mostrar normales" @@ -5365,6 +5470,20 @@ msgid "Scale Mode (R)" msgstr "Modo escalado (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenadas locales" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modo escalado (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modo de fijado:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vista inferior" @@ -5443,10 +5562,6 @@ msgid "Configure Snap.." msgstr "Configurar fijado.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordenadas locales" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Ventana de transformación.." @@ -5488,6 +5603,10 @@ msgid "Settings" msgstr "Ajustes" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Ajustes de fijado" @@ -5881,6 +6000,11 @@ msgid "Merge from scene?" msgstr "¿Mergear desde escena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Crear desde escena" @@ -5892,6 +6016,10 @@ msgstr "Unir desde escena" msgid "Error" msgstr "Error" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancelar" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -6037,10 +6165,6 @@ msgid "Imported Project" msgstr "Proyecto importado" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "SerÃa una buena idea nombrar tu proyecto." @@ -6210,10 +6334,13 @@ msgid "Can't run project" msgstr "Conectar.." #: editor/project_manager.cpp +#, fuzzy msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Actualmente no tiene ningún proyecto.\n" +"¿Le gustarÃa explorar los proyectos ejemplo oficiales del Asset Library?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6323,8 +6450,9 @@ msgid "Joypad Button Index:" msgstr "Ãndice de botones del mando:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Añadir acción de entrada" +#, fuzzy +msgid "Erase Input Action" +msgstr "Borrar evento de acción de entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6398,6 +6526,10 @@ msgid "Already existing" msgstr "Des/activar persistencia" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Añadir acción de entrada" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Error al guardar los ajustes." @@ -6587,6 +6719,10 @@ msgid "New Script" msgstr "Script siguiente" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "Crear huesos" @@ -6623,6 +6759,11 @@ msgstr "Bit %d, valor %d." msgid "On" msgstr "Activado" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Añadir elemento vacÃo" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Establecer" @@ -6631,10 +6772,6 @@ msgstr "Establecer" msgid "Properties:" msgstr "Propiedades:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Selecciones:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Seleccionar Propiedad" @@ -7235,6 +7372,10 @@ msgstr "Establecer desde árbol" msgid "Shortcuts" msgstr "Atajos" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Cambiar Radio de Luces" @@ -7284,17 +7425,57 @@ msgstr "Cambiar partÃculas AABB" msgid "Change Probe Extents" msgstr "Cambiar Alcances de Notificadores" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Quitar Punto de ruta" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "Copiar a plataforma…" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "MeshLibrary.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "MeshLibrary.." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "Estado:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliotecas: " @@ -7367,8 +7548,9 @@ msgid "GridMap Duplicate Selection" msgstr "Duplicar selección" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Floor:" -msgstr "" +msgstr "Piso:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7386,8 +7568,9 @@ msgid "Previous Floor" msgstr "Pestaña anterior" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Next Floor" -msgstr "" +msgstr "Próximo Piso" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7482,8 +7665,9 @@ msgid "Pick Distance:" msgstr "Instancia:" #: modules/mono/editor/mono_bottom_panel.cpp +#, fuzzy msgid "Builds" -msgstr "" +msgstr "Compilaciones" #: modules/visual_script/visual_script.cpp msgid "" @@ -8060,6 +8244,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin necesita un nodo ARVCamera hijo" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Copiando datos de imágenes" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Copiando datos de imágenes" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Copiando datos de imágenes" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -8097,10 +8300,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Copiando datos de imágenes" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -8174,10 +8373,6 @@ msgid "Add current color as a preset" msgstr "Añadir el color actual como predefinido" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Cancelar" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerta!" @@ -8251,6 +8446,28 @@ msgstr "Error al cargar la tipografÃa." msgid "Invalid font size." msgstr "Tamaño de tipografÃa incorrecto." +#~ msgid "Move Add Key" +#~ msgstr "Mover o añadir clave" + +#~ msgid "Create Subscription" +#~ msgstr "Crear suscripción" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Establecer máscara de emisión" + +#~ msgid "Clear Emitter" +#~ msgstr "Borrar emisor" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "Ir a lÃnea" + +#~ msgid "Sections:" +#~ msgstr "Selecciones:" + #~ msgid "Cannot navigate to '" #~ msgstr "No se puede navegar a '" @@ -8806,9 +9023,6 @@ msgstr "Tamaño de tipografÃa incorrecto." #~ msgid "Making BVH" #~ msgstr "Creando BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Transfiriendo a «lightmaps»:" - #~ msgid "Allocating Texture #" #~ msgstr "Asignando nº de textura" @@ -8968,9 +9182,6 @@ msgstr "Tamaño de tipografÃa incorrecto." #~ msgid "Del" #~ msgstr "Eliminar" -#~ msgid "Copy To Platform.." -#~ msgstr "Copiar a plataforma…" - #~ msgid "just pressed" #~ msgstr "se presione" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 4b84add916..a97f2361cc 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -1,6 +1,6 @@ # Spanish (Argentina) translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Diego López <diegodario21@gmail.com>, 2017. @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-29 03:50+0000\n" +"PO-Revision-Date: 2017-11-30 15:50+0000\n" "Last-Translator: Diego López <diegodario21@gmail.com>\n" "Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/" "godot-engine/godot/es_AR/>\n" @@ -32,8 +32,9 @@ msgid "All Selection" msgstr "Toda la Selección" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mover o Agregar Clave" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Cambiar valor de animación" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -44,7 +45,8 @@ msgid "Anim Change Transform" msgstr "Cambiar Transform de Anim" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Cambiar valor de animación" #: editor/animation_editor.cpp @@ -247,7 +249,6 @@ msgid "Animation zoom." msgstr "Zoom de animación." #: editor/animation_editor.cpp -#, fuzzy msgid "Length (s):" msgstr "Duración (seg):" @@ -329,9 +330,8 @@ msgid "Scale Ratio:" msgstr "Ratio de Escala:" #: editor/animation_editor.cpp -#, fuzzy msgid "Call Functions in Which Node?" -msgstr "Llamar Funciones en Cual Nodo?" +msgstr "Llamar Funciones en Cuál Nodo?" #: editor/animation_editor.cpp msgid "Remove invalid keys" @@ -541,8 +541,9 @@ msgid "Connecting Signal:" msgstr "Conectando Señal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Crear Subscripción" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Conectar '%s' a '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -558,7 +559,8 @@ msgid "Signals" msgstr "Señales" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Crear Nuevo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -573,7 +575,7 @@ msgstr "Recientes:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Buscar:" @@ -612,6 +614,7 @@ msgid "" msgstr "El recurso '%s' está en uso. Los cambios tendrán efecto al recargarlo." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependencias" @@ -716,9 +719,10 @@ msgid "Delete selected files?" msgstr "Eliminar archivos seleccionados?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Eliminar" @@ -861,6 +865,11 @@ msgid "Rename Audio Bus" msgstr "Renombrar Bus de Audio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Act./Desact. Solo de Bus de Audio" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Act./Desact. Solo de Bus de Audio" @@ -908,8 +917,8 @@ msgstr "Bypass" msgid "Bus options" msgstr "Opciones de Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicar" @@ -922,6 +931,10 @@ msgid "Delete Effect" msgstr "Eliminar Efecto" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Agregar Bus de Audio" @@ -1078,7 +1091,8 @@ msgstr "Ruta:" msgid "Node Name:" msgstr "Nombre de Nodo:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nombre" @@ -1086,10 +1100,6 @@ msgstr "Nombre" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Actualizando Escena" @@ -1102,6 +1112,15 @@ msgstr "Guardando cambios locales.." msgid "Updating scene.." msgstr "Actualizando escena.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vacÃo)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Por favor elegà un directorio base primero" @@ -1148,9 +1167,24 @@ msgid "File Exists, Overwrite?" msgstr "El Archivo Existe, Sobreescribir?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Crear Carpeta" +msgstr "Seleccionar Carpeta Actual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copiar Ruta" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostrar en Gestor de Archivos" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nueva Carpeta.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Refrescar" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1199,10 +1233,6 @@ msgid "Go Up" msgstr "Subir" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Refrescar" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Act/Desact. Archivos Ocultos" @@ -1382,7 +1412,8 @@ msgstr "Salida:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Limpiar" @@ -1541,14 +1572,12 @@ msgstr "" "este workflow." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Expandir todos" +msgstr "Expandir todas las propiedades" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Colapsar todos" +msgstr "Colapsar todas las propiedades" #: editor/editor_node.cpp msgid "Copy Params" @@ -2341,6 +2370,16 @@ msgstr "Propio" msgid "Frame #:" msgstr "Frame #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tiempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Llamar" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Seleccionar dispositivo de la lista" @@ -2483,7 +2522,8 @@ msgstr "Sin respuesta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Solicitud fallida." #: editor/export_template_manager.cpp @@ -2530,7 +2570,8 @@ msgid "Connecting.." msgstr "Conectando.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "No se puede conectar" #: editor/export_template_manager.cpp @@ -2627,6 +2668,11 @@ msgid "Error moving:\n" msgstr "Error al mover:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Error cargando:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "No se pudieron actualizar las dependencias:\n" @@ -2659,6 +2705,16 @@ msgid "Renaming folder:" msgstr "Renombrar carpeta:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renombrar carpeta:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Expandir todos" @@ -2667,10 +2723,6 @@ msgid "Collapse all" msgstr "Colapsar todos" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copiar Ruta" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renombrar.." @@ -2679,12 +2731,9 @@ msgid "Move To.." msgstr "Mover A.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nueva Carpeta.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostrar en Gestor de Archivos" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Abrir Escena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2699,6 +2748,11 @@ msgid "View Owners.." msgstr "Ver Dueños.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Directorio Previo" @@ -2711,7 +2765,6 @@ msgid "Re-Scan Filesystem" msgstr "Reexaminar Sistema de Archivos" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Toggle folder status as Favorite" msgstr "Act/Desact. estado de carpeta como Favorito" @@ -2795,6 +2848,16 @@ msgid "Importing Scene.." msgstr "Importando Escena.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Transferencia a Lightmaps:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generando AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Ejecutando Script Personalizado.." @@ -3042,54 +3105,51 @@ msgstr "Copiar Animación" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Activar Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Selecciones:" +msgstr "Direcciones" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Pegar" +msgstr "Pasado" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "CaracterÃsticas" +msgstr "Futuro" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profundidad" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 paso" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 pasos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 pasos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Solo Diferencias" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Forzar Modulado a Blanco" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Incluir Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3366,6 +3426,7 @@ msgid "last" msgstr "último" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Todos" @@ -3407,6 +3468,28 @@ msgstr "Testeo" msgid "Assets ZIP File" msgstr "Archivo ZIP de Assets" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Transferencia a Lightmaps:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Vista Previa" @@ -3545,7 +3628,6 @@ msgid "Toggles snapping" msgstr "Act/Desact. alineado" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Usar Snap" @@ -3725,16 +3807,6 @@ msgstr "Error al instanciar escena desde %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "No hay padre al que instanciarle un hijo." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Esta operación requiere un solo nodo seleccionado." @@ -3930,6 +4002,22 @@ msgid "Create Navigation Mesh" msgstr "Crear Mesh de Navegación" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "A MeshInstance le falta un Mesh!" @@ -3970,6 +4058,20 @@ msgid "Create Outline Mesh.." msgstr "Crear Outline Mesh.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Ver" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Ver" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Crear Outline Mesh" @@ -4147,10 +4249,6 @@ msgid "Create Navigation Polygon" msgstr "Crear PolÃgono de Navegación" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Limpiar Máscara de Emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Generando AABB" @@ -4169,10 +4267,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Sin pixeles con transparencia > 128 en imagen.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Setear Máscara de Emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Generar Rect. de Visibilidad" @@ -4181,6 +4275,10 @@ msgid "Load Emission Mask" msgstr "Cargar Máscara de Emisión" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Limpiar Máscara de Emisión" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "PartÃculas" @@ -4239,10 +4337,6 @@ msgid "Create Emission Points From Node" msgstr "Crear Puntos de Emisión Desde Nodo" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Limpiar Emisor" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Crear Emisor" @@ -4527,11 +4621,13 @@ msgstr "Ordenar" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Subir" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Bajar" @@ -4547,7 +4643,7 @@ msgstr "Script anterior" msgid "File" msgstr "Archivo" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nuevo" @@ -4560,6 +4656,11 @@ msgid "Soft Reload Script" msgstr "Recarga Soft de Script" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copiar Ruta" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Previo en Historial" @@ -4750,11 +4851,8 @@ msgid "Clone Down" msgstr "Clonar hacia Abajo" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Colapsar LÃnea" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Expandir LÃnea" #: editor/plugins/script_text_editor.cpp @@ -5082,6 +5180,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Alinear con vista" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "No hay padre al que instanciarle un hijo." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Mostrar Normal" @@ -5189,6 +5295,20 @@ msgid "Scale Mode (R)" msgstr "Modo de Escalado (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenadas Locales" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modo de Escalado (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modo Snap:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vista Inferior" @@ -5261,10 +5381,6 @@ msgid "Configure Snap.." msgstr "Configurar Snap.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordenadas Locales" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Dialogo de Transformación.." @@ -5306,6 +5422,10 @@ msgid "Settings" msgstr "Configuración" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Ajustes de Snap" @@ -5688,6 +5808,11 @@ msgid "Merge from scene?" msgstr "¿Mergear desde escena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Crear desde Escena" @@ -5699,6 +5824,10 @@ msgstr "Mergear desde Escena" msgid "Error" msgstr "Error" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancelar" + #: editor/project_export.cpp msgid "Runnable" msgstr "Ejecutable" @@ -5827,10 +5956,6 @@ msgid "Imported Project" msgstr "Proyecto Importado" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "SerÃa buena idea darle un nombre a tu proyecto." @@ -5993,6 +6118,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Actualmente no tenés ningun proyecto.\n" +"Te gustarÃa explorar los ejemplos oficiales en la Biblioteca de Assets?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6100,8 +6227,9 @@ msgid "Joypad Button Index:" msgstr "Indice del Boton del Gamepad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Agregar Acción de Entrada" +#, fuzzy +msgid "Erase Input Action" +msgstr "Borrar Evento de Acción de Entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6168,6 +6296,10 @@ msgid "Already existing" msgstr "Ya existe" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Agregar Acción de Entrada" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Error al guardar los ajustes." @@ -6344,6 +6476,10 @@ msgid "New Script" msgstr "Nuevo Script" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Convertir en Unico" @@ -6375,6 +6511,11 @@ msgstr "Bit %d, val %d." msgid "On" msgstr "On" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Agregar VacÃo" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Setear" @@ -6383,10 +6524,6 @@ msgstr "Setear" msgid "Properties:" msgstr "Propiedades:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Selecciones:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Seleccionar Propiedad" @@ -6955,6 +7092,10 @@ msgstr "Setear Desde Arbol" msgid "Shortcuts" msgstr "Atajos" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Cambiar Radio de Luces" @@ -7003,15 +7144,55 @@ msgstr "Cambiar Particulas AABB" msgid "Change Probe Extents" msgstr "Cambiar Extensión de Sonda" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Quitar Punto de Curva" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "Copiar A Plataforma.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Biblioteca" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Estado" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliotecas: " @@ -7186,13 +7367,12 @@ msgstr "" "documentacion sobre como usar yield correctamente!" #: modules/visual_script/visual_script.cpp -#, fuzzy msgid "" "Node yielded, but did not return a function state in the first working " "memory." msgstr "" -"El nodo rindió (yielded), pero no retornó un estado de función en la primera " -"memoria de trabajo." +"Un nodo ejecutó un «yield» pero no devolvió un estado de función en la " +"memoria de trabajo original." #: modules/visual_script/visual_script.cpp msgid "" @@ -7249,7 +7429,7 @@ msgstr "El nombre no es un identificador válido:" #: modules/visual_script/visual_script_editor.cpp msgid "Name already in use by another func/var/signal:" -msgstr "El nombre ya esta en uso por otra func/var/señal:" +msgstr "El nombre ya está en uso por otra función/variable/señal:" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Function" @@ -7714,6 +7894,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin requiere un nodo hijo ARVRCamera" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Ploteando Meshes" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Ploteando Meshes" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Terminando Ploteo" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Ploteando Meshes" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7750,10 +7949,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Ploteando Meshes" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Terminando Ploteo" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7819,10 +8014,6 @@ msgid "Add current color as a preset" msgstr "Agregar color actual como preset" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Cancelar" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerta!" @@ -7831,9 +8022,8 @@ msgid "Please Confirm..." msgstr "Confirmá, por favor..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Seleccionar Método" +msgstr "Seleccionar esta Carpeta" #: scene/gui/popup.cpp msgid "" @@ -7895,6 +8085,30 @@ msgstr "Error cargando tipografÃa." msgid "Invalid font size." msgstr "Tamaño de tipografÃa inválido." +#~ msgid "Move Add Key" +#~ msgstr "Mover o Agregar Clave" + +#~ msgid "Create Subscription" +#~ msgstr "Crear Subscripción" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Setear Máscara de Emisión" + +#~ msgid "Clear Emitter" +#~ msgstr "Limpiar Emisor" + +#~ msgid "Fold Line" +#~ msgstr "Colapsar LÃnea" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Selecciones:" + #~ msgid "Cannot navigate to '" #~ msgstr "No se puede navegar a '" @@ -8434,9 +8648,6 @@ msgstr "Tamaño de tipografÃa inválido." #~ msgid "Making BVH" #~ msgstr "Creando BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Transferencia a Lightmaps:" - #~ msgid "Allocating Texture #" #~ msgstr "Asignando Textura #" @@ -8588,9 +8799,6 @@ msgstr "Tamaño de tipografÃa inválido." #~ msgid "Del" #~ msgstr "Eliminar" -#~ msgid "Copy To Platform.." -#~ msgstr "Copiar A Plataforma.." - #~ msgid "just pressed" #~ msgstr "recién presionado" diff --git a/editor/translations/extract.py b/editor/translations/extract.py index 5e6c894936..bbc157788d 100755 --- a/editor/translations/extract.py +++ b/editor/translations/extract.py @@ -38,8 +38,8 @@ unique_str = [] unique_loc = {} main_po = """ # LANGUAGE translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. diff --git a/editor/translations/fa.po b/editor/translations/fa.po index bcd06f9051..ec548d97ae 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -1,6 +1,6 @@ # Persian translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # alabd14313 <alabd14313@yahoo.com>, 2016. @@ -31,8 +31,9 @@ msgid "All Selection" msgstr "همه‌ی انتخاب ها" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "کلید Add را جابجا Ú©Ù†" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "مقدار را در انیمیشن تغییر بده" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -43,7 +44,8 @@ msgid "Anim Change Transform" msgstr "انتقال را در انیمیشن تغییر بده" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "مقدار را در انیمیشن تغییر بده" #: editor/animation_editor.cpp @@ -538,8 +540,9 @@ msgid "Connecting Signal:" msgstr "اتصال سیگنال:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "'s%' را به 's%' متصل Ú©Ù†" #: editor/connections_dialog.cpp msgid "Connect.." @@ -555,7 +558,8 @@ msgid "Signals" msgstr "سیگنال‌ها" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "ساختن جدید" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -570,7 +574,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "جستجو:" @@ -611,6 +615,7 @@ msgstr "" "تغییرات با بارگذاری مجدد مؤثر خواهد بود." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "بستگی‌ها" @@ -714,9 +719,10 @@ msgid "Delete selected files?" msgstr "آیا پرونده‌های انتخاب شده ØØ°Ù شود؟" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "ØØ°Ù Ú©Ù†" @@ -855,6 +861,11 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "مقدار آرایه را تغییر بده" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -902,8 +913,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -916,6 +927,10 @@ msgid "Delete Effect" msgstr "ØØ°Ù اثر" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1070,7 +1085,8 @@ msgstr "مسیر:" msgid "Node Name:" msgstr "نام گره:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1078,10 +1094,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1094,6 +1106,15 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(خالی)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1144,6 +1165,22 @@ msgstr "ÙØ§ÛŒÙ„ وجود دارد، آیا بازنویسی شود؟" msgid "Select Current Folder" msgstr "ساختن پوشه" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "ساختن پوشه.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "همه ÛŒ موارد شناخته شده اند" @@ -1191,10 +1228,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1370,7 +1403,8 @@ msgstr "خروجی:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "پاک کردن" @@ -2266,6 +2300,16 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "زمان:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2401,8 +2445,9 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "در ØØ§Ù„ درخواست.." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2449,7 +2494,8 @@ msgid "Connecting.." msgstr "در ØØ§Ù„ اتصال.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "ناتوان در اتصال" #: editor/export_template_manager.cpp @@ -2542,6 +2588,11 @@ msgstr "خطا در بارگذاری:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "خطا در بارگذاری:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "خطا در بارگذاری صØÙ†Ù‡ به دلیل بستگی‌های Ù…Ùقود:" @@ -2576,15 +2627,20 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +#, fuzzy +msgid "Duplicating file:" +msgstr "تغییر متغیر" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2596,12 +2652,9 @@ msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "ساختن پوشه.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "باز کردن صØÙ†Ù‡" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2616,6 +2669,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "انتخاب شده را به دو تا تکثیر Ú©Ù†" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2708,6 +2766,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3275,6 +3341,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "همه" @@ -3316,6 +3383,27 @@ msgstr "آزمودن" msgid "Assets ZIP File" msgstr "ÙØ§ÛŒÙ„ های ZIP‌ منابع بازی" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3453,7 +3541,6 @@ msgid "Toggles snapping" msgstr "یک Breakpoint درج Ú©Ù†" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3633,16 +3720,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3837,6 +3914,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3877,6 +3970,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "پرونده:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "پرونده:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4053,10 +4160,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4074,15 +4177,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4144,10 +4247,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4435,11 +4534,13 @@ msgstr "مرتب‌سازی:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4455,7 +4556,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4468,6 +4569,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "رونوشت مسیر گره" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4659,14 +4765,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "برو به خط" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4994,6 +5096,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5103,6 +5213,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "انتخاب ØØ§Ù„ت" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5176,10 +5299,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5221,6 +5340,10 @@ msgid "Settings" msgstr "ØªØ±Ø¬ÛŒØØ§Øª" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5608,6 +5731,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "صدور مجموعه کاشی" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5619,6 +5747,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "لغو" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5741,10 +5873,6 @@ msgid "Imported Project" msgstr "پروژه واردشده" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6003,8 +6131,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Ø§ÙØ²ÙˆØ¯Ù† عمل ورودی" +#, fuzzy +msgid "Erase Input Action" +msgstr "ØØ°Ù رویداد عمل ورودی" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6071,6 +6200,10 @@ msgid "Already existing" msgstr "پیش از این وجود داشته است" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Ø§ÙØ²ÙˆØ¯Ù† عمل ورودی" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "خطای ذخیرهٔ تنظیمات." @@ -6248,6 +6381,10 @@ msgid "New Script" msgstr "صØÙ†Ù‡ جدید" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6280,6 +6417,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6288,10 +6429,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -6857,6 +6994,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6905,17 +7046,56 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "ØØ°Ù نقطهٔ منØÙ†ÛŒ" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "صادکردن ÙØ§ÛŒÙ„ کتابخانه ای" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "صادکردن ÙØ§ÛŒÙ„ کتابخانه ای" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "صادکردن ÙØ§ÛŒÙ„ کتابخانه ای" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "وضعیت:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7632,6 +7812,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7670,10 +7866,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "یک منبع NavigationMesh باید برای یک گره تنظیم یا ایجاد شود تا کار کند." @@ -7733,10 +7925,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "لغو" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "هشدار!" @@ -7804,6 +7992,9 @@ msgstr "خطای بارگذاری قلم." msgid "Invalid font size." msgstr "اندازهٔ قلم نامعتبر." +#~ msgid "Move Add Key" +#~ msgstr "کلید Add را جابجا Ú©Ù†" + #, fuzzy #~ msgid "" #~ "\n" diff --git a/editor/translations/fi.po b/editor/translations/fi.po index afa22fa263..f0a58b9e1c 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -1,8 +1,9 @@ # Finnish translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # +# basse <basse@roiske.org>, 2017. # Bastian Salmela <bastian.salmela@gmail.com>, 2017. # ekeimaja <ekeimaja@gmail.com>, 2017. # Jarmo Riikonen <amatrelan@gmail.com>, 2017. @@ -10,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-28 13:44+0000\n" +"PO-Revision-Date: 2017-12-03 11:31+0000\n" "Last-Translator: Bastian Salmela <bastian.salmela@gmail.com>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/" "godot/fi/>\n" @@ -30,8 +31,8 @@ msgstr "Koko valinta" #: editor/animation_editor.cpp #, fuzzy -msgid "Move Add Key" -msgstr "Siirrä lisäyspainiketta" +msgid "Anim Change Keyframe Time" +msgstr "Animaatio: muuta arvoa" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,10 +40,11 @@ msgstr "Vaihda animaation siirtymää" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Vaihda animaation muunnosta" +msgstr "Animaatio: muuta siirtymää" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animaatio: muuta arvoa" #: editor/animation_editor.cpp @@ -493,7 +495,6 @@ msgid "Remove" msgstr "Poista" #: editor/connections_dialog.cpp -#, fuzzy msgid "Add Extra Call Argument:" msgstr "Lisää ylimääräinen argumentti kutsulle:" @@ -544,8 +545,9 @@ msgid "Connecting Signal:" msgstr "Yhdistävä signaali:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Luo tilaus" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Yhdistä '%s' '%s':n" #: editor/connections_dialog.cpp msgid "Connect.." @@ -561,7 +563,8 @@ msgid "Signals" msgstr "Signaalit" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Luo uusi" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -576,7 +579,7 @@ msgstr "Viimeaikaiset:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Hae:" @@ -617,6 +620,7 @@ msgstr "" "Muutokset tulevat voimaan päivitettäessä." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Riippuvuudet" @@ -723,9 +727,10 @@ msgid "Delete selected files?" msgstr "Poista valitut tiedostot?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Poista" @@ -870,6 +875,11 @@ msgid "Rename Audio Bus" msgstr "Nimeä väylä uudelleen" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Ääniväylä sooloksi" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Ääniväylä sooloksi" @@ -917,8 +927,8 @@ msgstr "Ohita" msgid "Bus options" msgstr "Väylän asetukset" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Monista" @@ -931,6 +941,10 @@ msgid "Delete Effect" msgstr "Poista efekti" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Lisää ääniväylä" @@ -1090,7 +1104,8 @@ msgstr "Polku:" msgid "Node Name:" msgstr "Noden nimi:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nimi" @@ -1099,10 +1114,6 @@ msgstr "Nimi" msgid "Singleton" msgstr "Ainokainen" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Päivitetään skeneä" @@ -1115,6 +1126,15 @@ msgstr "Varastoidaan paikalliset muutokset..." msgid "Updating scene.." msgstr "Päivitetään skeneä..." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(tyhjä)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Valitse ensin päähakemisto" @@ -1165,6 +1185,22 @@ msgstr "Tiedosto on jo olemassa, korvaa?" msgid "Select Current Folder" msgstr "Luo kansio" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Kopioi polku" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Näytä tiedostonhallinnassa" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Luo kansio..." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Päivitä" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Kaikki tunnistetut" @@ -1212,10 +1248,6 @@ msgid "Go Up" msgstr "Mene ylös" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Päivitä" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Näytä piilotiedostot" @@ -1349,7 +1381,7 @@ msgstr "Animaatiot" #: editor/editor_help.cpp msgid "enum " -msgstr "" +msgstr "enum" #: editor/editor_help.cpp #, fuzzy @@ -1411,7 +1443,8 @@ msgstr " Tuloste:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Tyhjennä" @@ -1492,7 +1525,7 @@ msgstr "Resurssin lataaminen epäonnistui." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "MalliKirjastojen yhdistäminen ei onnistunut!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" @@ -1568,8 +1601,7 @@ msgid "" "this workflow." msgstr "" "Tämä on etä-objekti, joten siihen tehtyjä muutoksia ei säilytetä.\n" -"Ole hyvä ja lue ohjeet debuggaamisesta ymmärtääksesi paremmin tämän " -"työnkulun." +"Ole hyvä ja lue ohjeet testaamisesta ymmärtääksesi paremmin tämän työnkulun." #: editor/editor_node.cpp #, fuzzy @@ -1669,9 +1701,8 @@ msgid "Quick Open Script.." msgstr "Nopea skriptin avaus..." #: editor/editor_node.cpp -#, fuzzy msgid "Save & Close" -msgstr "Tallenna tiedosto" +msgstr "Tallenna ja sulje" #: editor/editor_node.cpp #, fuzzy @@ -1683,9 +1714,8 @@ msgid "Save Scene As.." msgstr "Tallenna scene nimellä..." #: editor/editor_node.cpp -#, fuzzy msgid "No" -msgstr "Node" +msgstr "Ei" #: editor/editor_node.cpp msgid "Yes" @@ -1697,25 +1727,23 @@ msgstr "Tätä sceneä ei ole koskaan tallennettu. Tallenna ennen suorittamista? #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "Tätä toimintoa ei voi tehdä ilman Sceneä." +msgstr "Tätä toimintoa ei voi tehdä ilman sceneä." #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "Tuo Mesh-kirjasto" +msgstr "Vie malli kirjasto" #: editor/editor_node.cpp -#, fuzzy msgid "This operation can't be done without a root node." -msgstr "Tätä toimintoa ei voi tehdä ilman Sceneä." +msgstr "Tätä toimintoa ei voida suorittaa ilman päänodea." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "Tuo tileset" +msgstr "Vie tileset" #: editor/editor_node.cpp -#, fuzzy msgid "This operation can't be done without a selected node." -msgstr "Tätä toimintoa ei voi tehdä ilman Sceneä." +msgstr "Tätä toimintoa ei voi tehdä ilman valittua nodea." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" @@ -1746,14 +1774,12 @@ msgid "Exit the editor?" msgstr "Poistu editorista?" #: editor/editor_node.cpp -#, fuzzy msgid "Open Project Manager?" -msgstr "Projektinhallinta" +msgstr "Projektienhallinta" #: editor/editor_node.cpp -#, fuzzy msgid "Save & Quit" -msgstr "Tallenna tiedosto" +msgstr "Tallenna ja lopeta" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" @@ -1779,25 +1805,25 @@ msgstr "Valitse pääscene" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." -msgstr "" +msgstr "Lisäosan '%s' aktivointi epäonnistui, virheellinen asetustiedosto." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Unable to load addon script from path: '%s'." -msgstr "Virhe ladattaessa skripti %s:stä" +msgstr "Virhe ladattaessa lisäosaa polusta: '%s'." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." -msgstr "" +msgstr "Virhe ladattaessa lisäosaa polusta: '%s'. Tyyppi ei ole EditorPlugin." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"Virhe ladattaessa lisäosaa polusta: '%s'. Skripti ei ole työkalu-tilassa." #: editor/editor_node.cpp msgid "" @@ -1825,17 +1851,16 @@ msgid "Scene '%s' has broken dependencies:" msgstr "Scenellä '%s' on rikkinäisiä riippuvuuksia:" #: editor/editor_node.cpp -#, fuzzy msgid "Clear Recent Scenes" -msgstr "Tyhjennä luut" +msgstr "Tyhjennä viimeiset scenet" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "Tallenna Layout" +msgstr "Tallenna asettelut" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "Poista Layout" +msgstr "Poista asettelu" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp @@ -1847,19 +1872,16 @@ msgid "Switch Scene Tab" msgstr "Vaihda Scenen välilehteä" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files or folders" -msgstr "%d muuta tiedostoa" +msgstr "Vielä %d tiedostoa tai hakemistoa" #: editor/editor_node.cpp -#, fuzzy msgid "%d more folders" -msgstr "%d muuta tiedostoa" +msgstr "Vielä %d hakemistoa" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files" -msgstr "%d muuta tiedostoa" +msgstr "Vielä %d tiedostoa" #: editor/editor_node.cpp msgid "Dock Position" @@ -1874,17 +1896,16 @@ msgid "Toggle distraction-free mode." msgstr "Käytä häiriötöntä tilaa." #: editor/editor_node.cpp -#, fuzzy msgid "Add a new scene." -msgstr "Lisää uusia raitoja." +msgstr "Lisää uusi skene." #: editor/editor_node.cpp msgid "Scene" -msgstr "Näkymä" +msgstr "Skene" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "Mene aiemmin avattuun sceneen." +msgstr "Mene aiemmin avattuun skeneen." #: editor/editor_node.cpp msgid "Next tab" @@ -1900,31 +1921,31 @@ msgstr "Suodata tiedostot..." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "" +msgstr "Toiminnot skene tiedostoille." #: editor/editor_node.cpp msgid "New Scene" -msgstr "Uusi Scene" +msgstr "Uusi skene" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "Uusi peritty Scene..." +msgstr "Uusi peritty skene..." #: editor/editor_node.cpp msgid "Open Scene.." -msgstr "Avaa Scene..." +msgstr "Avaa skene..." #: editor/editor_node.cpp msgid "Save Scene" -msgstr "Tallenna scene" +msgstr "Tallenna skene" #: editor/editor_node.cpp msgid "Save all Scenes" -msgstr "Tallenna kaikki scenet" +msgstr "Tallenna kaikki skenet" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "Sulje scene" +msgstr "Sulje skene" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Open Recent" @@ -1954,11 +1975,11 @@ msgstr "Tee uudelleen" #: editor/editor_node.cpp msgid "Revert Scene" -msgstr "Palauta Scene" +msgstr "Palauta skene" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "" +msgstr "Sekalaiset projekti- tai skenetyökalut." #: editor/editor_node.cpp #, fuzzy @@ -1987,17 +2008,19 @@ msgstr "Lopeta ja palaa projektiluetteloon" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" -msgstr "" +msgstr "Testaa" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "" +msgstr "Julkaise etätestauksen kasnsa" #: editor/editor_node.cpp msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." msgstr "" +"Vietäessä tai julkaistaessa, käynnistystiedosto yrittää ottaa yhteyden tämän " +"tietokoneen IP osoitteeseen testaamista varten." #: editor/editor_node.cpp msgid "Small Deploy with Network FS" @@ -2012,6 +2035,12 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This " "option speeds up testing for games with a large footprint." msgstr "" +"Kun tämä on valittuna, vienti tai julkaisu tuottaa pienimmän mahdollisen " +"käynnistystiedoston.\n" +"Tiedostojärjestelmän tarjoaa projektin editori, verkon kautta. \n" +"Androidilla julkaisu käyttää USB kaapelia nopeamman toimivuuden " +"saavuttamiseksi. Tämä nopeuttaa testaamista varsinkin suurempien pelien " +"kohdalla." #: editor/editor_node.cpp #, fuzzy @@ -2023,8 +2052,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" -"Osuma-alueet ja raycast nodet (2D ja 3D) ovat näkyvillä peliä ajettaessa jos " -"tämä on valittu." +"Osuma-alueet ja raycast nodet (2D ja 3D) ovat näkyvillä peliä ajettaessa " +"tämän ollessa valittuna." #: editor/editor_node.cpp msgid "Visible Navigation" @@ -2035,12 +2064,12 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" -"Navigaation muodot ja polygonit ovat näkyvillä peliä ajettaessa mikäli tämä " -"on valittu." +"Navigaatiomuodot ja -polygonit ovat näkyvillä peliä ajettaessa tämän ollessa " +"valittuna." #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "Synkronoi Scenen muutokset" +msgstr "Synkronoi skenen muutokset" #: editor/editor_node.cpp msgid "" @@ -2049,6 +2078,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Tämän ollessa valittuna, kaikki skeneen tehdyt muutokset toteutetaan myös " +"käynnissä olevassa pelissä.\n" +"Tämä on tehokkainta verkkotiedostojärjestelmän kanssa mikäli käytössä on " +"etälaite." #: editor/editor_node.cpp msgid "Sync Script Changes" @@ -2211,9 +2244,8 @@ msgid "Object properties." msgstr "Objektin ominaisuudet." #: editor/editor_node.cpp -#, fuzzy msgid "Changes may be lost!" -msgstr "Vaihda säteen muodon pituutta" +msgstr "Muutokset saatetaan menettää!" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/project_manager.cpp @@ -2274,34 +2306,28 @@ msgid "Select" msgstr "Valitse" #: editor/editor_node.cpp -#, fuzzy msgid "Open 2D Editor" -msgstr "Avaa editorissa" +msgstr "Avaa 2D-editori" #: editor/editor_node.cpp -#, fuzzy msgid "Open 3D Editor" -msgstr "Avaa editorissa" +msgstr "Avaa 3D-editori" #: editor/editor_node.cpp -#, fuzzy msgid "Open Script Editor" -msgstr "Avaa editorissa" +msgstr "Avaa skriptieditori" #: editor/editor_node.cpp editor/project_manager.cpp -#, fuzzy msgid "Open Asset Library" -msgstr "Vie kirjasto" +msgstr "Avaa Asset-kirjasto" #: editor/editor_node.cpp -#, fuzzy msgid "Open the next Editor" -msgstr "Avaa editorissa" +msgstr "Avaa seuraava editori" #: editor/editor_node.cpp -#, fuzzy msgid "Open the previous Editor" -msgstr "Avaa editorissa" +msgstr "Avaa edellinen editori" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -2378,6 +2404,16 @@ msgstr "Itse" msgid "Frame #:" msgstr "Ruutu #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Aika:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Kutsu" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Valitse laite listasta" @@ -2387,6 +2423,8 @@ msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" +"Käynnistettävää vientipohjaa ei löytynyt tälle alustalle.\n" +"Lisää sellainen vienti-valikosta." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -2462,17 +2500,19 @@ msgstr "Poista mallin versio '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "Vientipohjien zip-tiedostoa ei voitu avata." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates." -msgstr "" +msgstr "Paketti sisältää viallisen version.txt tiedoston." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" +"Paketti sisältää viallisen version.txt tiedoston. 'Revision' ei ole " +"hyväksytty tunniste." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." @@ -2484,7 +2524,7 @@ msgstr "Virhe luotaessa polkua mallille:\n" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" -msgstr "" +msgstr "Puretaan vientipohjia." #: editor/export_template_manager.cpp msgid "Importing:" @@ -2495,17 +2535,18 @@ msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" +"Tälle versiolle ei löytynyt ladattavia linkkejä. Suora lataaminen on " +"mahdollista vain virallisilla versioilla." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve." -msgstr "" +msgstr "Yhdistäminen epäonnistui." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Can't connect." -msgstr "Yhdistä..." +msgstr "Yhdistäminen epäonnistui." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2514,18 +2555,19 @@ msgstr "Ei vastausta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Pyyntö epäonnistui." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "" +msgstr "Loputon uudelleenohjaus." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed:" -msgstr "" +msgstr "Epäonnistui:" #: editor/export_template_manager.cpp #, fuzzy @@ -2559,7 +2601,7 @@ msgstr "Tallennetaan..." #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "" +msgstr "Yhdistäminen epäonnistui" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2568,7 +2610,8 @@ msgid "Connecting.." msgstr "Yhdistä..." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Ei voitu yhdistää" #: editor/export_template_manager.cpp @@ -2631,10 +2674,14 @@ msgstr "Valitse peilipalvelin listasta: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"Tiedostoa file_type_cache.cch ei voitu avata kirjoittamista varten. " +"Välimuistia ei tallenneta. " #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" +"Tiedostoa '%s' ei voida avata, koska sitä ei näytä löytyvän " +"tiedostojärjestelmästäsi!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" @@ -2649,15 +2696,16 @@ msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"Tila: Tuonti epäonnistui. Ole hyvä, korjaa tiedosto, ja tuo uudelleen." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Ei voitu siirtää/nimetä uudelleen resurssien päätasoa." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Cannot move a folder into itself.\n" -msgstr "Tiedostoa ei voi tuoda itseensä:" +msgstr "Hakemistoa ei voi siirtää itsensä sisään.\n" #: editor/filesystem_dock.cpp #, fuzzy @@ -2666,6 +2714,11 @@ msgstr "Virhe tuotaessa:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Virhe ladatessa:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Scenellä '%s' on rikkinäisiä riippuvuuksia:" @@ -2704,6 +2757,16 @@ msgid "Renaming folder:" msgstr "Nimeä Node uudelleen" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Monista" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Nimeä Node uudelleen" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Laajenna kaikki" @@ -2712,10 +2775,6 @@ msgid "Collapse all" msgstr "Pienennä kaikki" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Kopioi polku" - -#: editor/filesystem_dock.cpp #, fuzzy msgid "Rename.." msgstr "Nimeä uudelleen" @@ -2725,12 +2784,9 @@ msgid "Move To.." msgstr "Siirrä..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Luo kansio..." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Näytä tiedostonhallinnassa" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Avaa scene" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2745,6 +2801,11 @@ msgid "View Owners.." msgstr "Tarkastele omistajia..." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Monista" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Edellinen hakemisto" @@ -2762,7 +2823,7 @@ msgstr "Merkitse kansio suosikkeihin" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" +msgstr "Luo valituista skeneistä instanssi valitun noden alle." #: editor/filesystem_dock.cpp #, fuzzy @@ -2837,7 +2898,7 @@ msgstr "Tuo 3D Scene" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "Tuo useina skeneinä ja materiaaleina" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp @@ -2849,20 +2910,30 @@ msgid "Importing Scene.." msgstr "Tuodaan Scene..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Muunna Lightmapiksi:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Luo AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Suorita valitsemasi skripti..." #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Ei voitu ladata tuonnin jälkeistä skriptiä: " #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Viallinen tuonnin jälkeinen skripti (tarkista konsoli) : " #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Virhe ajettaessa tuonnin jälkeistä skriptiä: " #: editor/import/resource_importer_scene.cpp msgid "Saving.." @@ -2885,7 +2956,6 @@ msgid "Import As:" msgstr "Tuo nimellä:" #: editor/import_dock.cpp editor/property_editor.cpp -#, fuzzy msgid "Preset.." msgstr "Esiasetus..." @@ -2903,7 +2973,7 @@ msgstr "Ryhmät" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Valitse node jonka signaaleja ja ryhmiä haluat muokata." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -2917,9 +2987,8 @@ msgid "Edit Poly" msgstr "Muokkaa polygonia" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Insert Point" -msgstr "Poista piste" +msgstr "Lisää piste" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp @@ -2932,9 +3001,8 @@ msgid "Remove Poly And Point" msgstr "Poista polygoni ja piste" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Create a new polygon from scratch" -msgstr "Luo uusi piste tyhjästä." +msgstr "Luo uusi polygoni tyhjästä" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2943,11 +3011,14 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Muokkaa polygonia:\n" +"Vasen hiirenkorva: Siirrä pistettä.\n" +"Ctrl+Vasen hiirenkorva: Puolita segmentti.\n" +"Oikea hiirenkorva: Poista piste." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Delete points" -msgstr "Poista piste" +msgstr "Poista pisteitä" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -2994,7 +3065,7 @@ msgstr "Lisää animaatio" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "" +msgstr "Sekoita seuraavaan vaihdettu" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" @@ -3094,50 +3165,47 @@ msgstr "Kopioi animaatio" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Onion skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Käytä Onion skinningiä" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Kuvaus:" +msgstr "Suunnat" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Liitä" +msgstr "Mennyt" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Tekstuuri" +msgstr "Tuleva" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Syvyys" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 askel" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 askelta" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 askelta" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Vain eroavaisuudet" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Pakota valkoisen modulaatio" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" @@ -3160,15 +3228,15 @@ msgstr "Virhe!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Sulautusajat:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Seuraava (automaattinen jono):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Lomittautuvien animaatioiden sulautusajat" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -3180,9 +3248,8 @@ msgid "New name:" msgstr "Uusi nimi:" #: editor/plugins/animation_tree_editor_plugin.cpp -#, fuzzy msgid "Edit Filters" -msgstr "Suodattimet" +msgstr "Muokkaa suodattimia" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp @@ -3199,15 +3266,15 @@ msgstr "Häivytys ulos (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend" -msgstr "Sekoita" +msgstr "Sulauta" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "Sekoitus" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Automaattinen uudelleenkäynnistys:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" @@ -3228,19 +3295,19 @@ msgstr "Määrä:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend:" -msgstr "" +msgstr "Sulautus:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" -msgstr "" +msgstr "Sulautus 0:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 1:" -msgstr "" +msgstr "Sulautus 1:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "Ristihäivytyksen aika (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" @@ -3276,7 +3343,7 @@ msgstr "Animaationode" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" -msgstr "OneShot Node" +msgstr "OneShot node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" @@ -3284,7 +3351,7 @@ msgstr "Mix Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" -msgstr "" +msgstr "Sulautus2 node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend3 Node" @@ -3304,7 +3371,7 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "Siirtymänode" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." @@ -3312,7 +3379,7 @@ msgstr "Tuo animaatiot..." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "Muokkaa noden suodattimia" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." @@ -3320,12 +3387,11 @@ msgstr "Suodattimet..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Vapauta" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Contents:" -msgstr "Vakiot:" +msgstr "Sisällöt:" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3334,11 +3400,11 @@ msgstr " Tiedostot" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "Palvelinta ei löytynyt:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "Yhteysvirhe, ole hyvä ja yritä uudelleen." #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3347,7 +3413,7 @@ msgstr "Yhdistä Nodeen:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "Ei vastausta isännältä: " #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3356,31 +3422,31 @@ msgstr "Pyydetty tiedostomuoto tuntematon:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" -msgstr "" +msgstr "Pyyntö epäonnistui, liikaa uudelleenohjauksia" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "Latauksessa väärä hash, oletetaan että tiedostoa on näpelöity." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "Oletettiin:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "Saatiin:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "sha256 hash-tarkistus epäonnistui" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "Assettien latausvirhe:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" -msgstr "" +msgstr "Noudetaan:" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3394,11 +3460,11 @@ msgstr "Virhe tallennettaessa resurssia!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "Toimeton" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "Yritä uudelleen" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3407,15 +3473,15 @@ msgstr "Lataa" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "Tämän assetin lataus on jo käynnissä!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "first" -msgstr "" +msgstr "ensimmäinen" #: editor/plugins/asset_library_editor_plugin.cpp msgid "prev" -msgstr "" +msgstr "edellinen" #: editor/plugins/asset_library_editor_plugin.cpp msgid "next" @@ -3423,16 +3489,17 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "last" -msgstr "" +msgstr "viimeinen" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Kaikki" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Plugins" -msgstr "" +msgstr "Lisäosat" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Sort:" @@ -3466,8 +3533,30 @@ msgstr "Testaus" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" +msgstr "Assettien zip-tiedosto" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Muunna Lightmapiksi:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Esikatselu" @@ -3479,20 +3568,20 @@ msgstr "Määrittele tarttuminen" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset:" -msgstr "" +msgstr "Ruudukon siirtymä:" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step:" -msgstr "" +msgstr "Ruudukon välistys:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "" +msgstr "Ruudukon siirtymä:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "" +msgstr "Kierron välistys:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Pivot" @@ -3500,11 +3589,11 @@ msgstr "Siirrä keskikohtaa" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "Siirrä " #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "Siirrä pystysuuntaista apuviivaa" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -3533,11 +3622,11 @@ msgstr "Poista virheelliset avaimet" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Luo uudet vaaka- ja pystysuorat apuviivat" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" -msgstr "" +msgstr "Muokkaa IK ketjua" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit CanvasItem" @@ -3559,7 +3648,7 @@ msgstr "Muuta ankkureita" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "Liitä asento" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" @@ -3608,10 +3697,9 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggles snapping" -msgstr "" +msgstr "Asettaa tarttumisen" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Käytä tarttumista" @@ -3634,7 +3722,7 @@ msgstr "Määrittele tarttuminen..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "Suhteellinen tarttuminen" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" @@ -3651,7 +3739,7 @@ msgstr "Laajenna Parentiin" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "Tartu noden ankkuriin" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -3773,11 +3861,11 @@ msgstr "Aseta piste hiiren kohdalle" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "Kerro ruudukon välistys kahdella" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "Jaa ruudukon välistys kahdella" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -3795,22 +3883,12 @@ msgstr "Luo Node" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Error instancing scene from %s" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Asia kunnossa :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" +msgstr "Virhe luotaessa instanssia kohteesta %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "Tämä toiminto vaatii yhden valitun noden." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" @@ -3830,7 +3908,7 @@ msgstr "Luo Poly3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" -msgstr "" +msgstr "Aseta kahva" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" @@ -3878,49 +3956,40 @@ msgid "Smoothstep" msgstr "" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Modify Curve Point" -msgstr "Muokkaa käyrää" +msgstr "Muokkaa käyrän pistettä" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Modify Curve Tangent" -msgstr "Muokkaa käyrää" +msgstr "Muokkaa käyrän tangenttia" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Load Curve Preset" -msgstr "Lataa resurssi" +msgstr "Lataa käyrän esiasetus" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Add point" -msgstr "Lisää syöte" +msgstr "Lisää pistä" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove point" -msgstr "Siirrä pistettä" +msgstr "Poista piste" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Left linear" -msgstr "Lineaarinen" +msgstr "Vasen lineaarinen" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Right linear" -msgstr "Oikea näkymä" +msgstr "Oikea lineaarinen" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Load preset" -msgstr "Lataa resurssi" +msgstr "Lataa esiasetus" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Curve Point" -msgstr "Siirrä pistettä" +msgstr "Poista käyrän piste" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" @@ -3928,7 +3997,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Pidä shift pohjassa muokataksesi tangentteja yksitellen" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" @@ -3936,12 +4005,12 @@ msgstr "" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" -msgstr "" +msgstr "Lisää/poista väriliukuman piste" #: editor/plugins/gradient_editor_plugin.cpp #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Color Ramp" -msgstr "" +msgstr "Muokkaa väriliukumaa" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -3960,10 +4029,12 @@ msgid "" "No OccluderPolygon2D resource on this node.\n" "Create and assign one?" msgstr "" +"Tälle nodelle ei ole OccluderPolygon2D:tä.\n" +"Luodaanko sellainen?" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "" +msgstr "Luo Occluder polygooni" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." @@ -3979,7 +4050,7 @@ msgstr "VHP: Siirrä pistettä." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "Ctrl+Vasen hiirennappi: Puolita osa" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." @@ -4015,6 +4086,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -4055,6 +4142,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Näytä/Tarkastele" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Näytä/Tarkastele" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4227,17 +4328,13 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "Valmis!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Generating AABB" @@ -4256,26 +4353,25 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" +msgstr "Lataa emissiomaski" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "Particles" -msgstr "Ominaisuudet:" +msgstr "Partikkelit" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" -msgstr "" +msgstr "Luotujen pisteiden määrä:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -4285,7 +4381,7 @@ msgstr "Keskimääräinen aika (sek)" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" -msgstr "" +msgstr "Emission maski" #: editor/plugins/particles_2d_editor_plugin.cpp #, fuzzy @@ -4294,7 +4390,7 @@ msgstr "Luo Scenestä" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Colors" -msgstr "" +msgstr "Emission väri" #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry." @@ -4310,7 +4406,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" -msgstr "" +msgstr "Pinnat eivät sisällä aluetta!" #: editor/plugins/particles_editor_plugin.cpp msgid "No faces!" @@ -4329,25 +4425,21 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Tyhjennä säteilijä/lähetin" - -#: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Create Emitter" msgstr "Luo säteilijä/lähetin" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Points:" -msgstr "" +msgstr "Emissiopisteet:" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points" -msgstr "" +msgstr "Pinnan pisteet" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" -msgstr "" +msgstr "Pinnan pisteet+normaali" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" @@ -4355,7 +4447,7 @@ msgstr "Äänenvoimakkuus" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " -msgstr "" +msgstr "Emission lähde:" #: editor/plugins/particles_editor_plugin.cpp #, fuzzy @@ -4401,7 +4493,7 @@ msgstr "Valitse pisteet" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Shift+Drag: Select Control Points" -msgstr "" +msgstr "Shift+vedä: Valitse kontrollipisteitä" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4415,7 +4507,7 @@ msgstr "Oikea klikkaus: Poista piste" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "Valitse kontrollipisteitä (Shift+vedä)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4425,7 +4517,7 @@ msgstr "Lisää piste (tyhjyydessä)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "Puolita osa (käyrässä)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4439,7 +4531,7 @@ msgstr "Sulje käyrä" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "Käyrän piste #" #: editor/plugins/path_editor_plugin.cpp #, fuzzy @@ -4458,11 +4550,11 @@ msgstr "Siirrä pistettä" #: editor/plugins/path_editor_plugin.cpp msgid "Split Path" -msgstr "" +msgstr "Puolita polku" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Path Point" -msgstr "" +msgstr "Poista polun piste" #: editor/plugins/path_editor_plugin.cpp #, fuzzy @@ -4476,11 +4568,11 @@ msgstr "Poista polygoni ja piste" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" -msgstr "" +msgstr "Luo UV kartta" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" -msgstr "" +msgstr "Muunna UV kartta" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" @@ -4525,11 +4617,11 @@ msgstr "Muokkaa" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" -msgstr "" +msgstr "Polygooni->UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "UV->Polygon" -msgstr "" +msgstr "UV->Polygooni" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -4591,6 +4683,8 @@ msgid "" "Close and save changes?\n" "\"" msgstr "" +"Sulje ja tallenna muutokset?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" @@ -4618,7 +4712,7 @@ msgstr "Tallenna teema nimellä..." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr "" +msgstr " Luokan referenssi" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -4627,11 +4721,13 @@ msgstr "Lajittele:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Siirrä ylös" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Siirrä alas" @@ -4647,7 +4743,7 @@ msgstr "Edellinen skripti" msgid "File" msgstr "Tiedosto" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Uusi" @@ -4660,12 +4756,17 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopioi polku" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" -msgstr "" +msgstr "Edellinen historiassa" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "" +msgstr "Seuraava historiassa" #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" @@ -4689,16 +4790,15 @@ msgstr "Sulje kaikki" #: editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "" +msgstr "Sulje muut välilehdet" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" -msgstr "Aja" +msgstr "Suorita" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Toggle Scripts Panel" -msgstr "Näytä suosikit" +msgstr "Näytä/piilota skriptipaneeli" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4717,7 +4817,7 @@ msgstr "Ohita" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" -msgstr "" +msgstr "Siirry" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Break" @@ -4730,16 +4830,15 @@ msgstr "Jatka" #: editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" -msgstr "Pidä debuggeri auki" +msgstr "Pidä testaaja auki" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Debug with external editor" -msgstr "Avaa editorissa" +msgstr "Testaa ulkoisella editorilla" #: editor/plugins/script_editor_plugin.cpp msgid "Open Godot online documentation" -msgstr "" +msgstr "Avaa Godotin online-dokumentaatio" #: editor/plugins/script_editor_plugin.cpp msgid "Search the class hierarchy." @@ -4747,7 +4846,7 @@ msgstr "Etsi luokkahierarkia." #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "" +msgstr "Etsi dokumentaatiosta." #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." @@ -4783,7 +4882,7 @@ msgstr "Tallenna uudelleen" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Debugger" -msgstr "" +msgstr "Debuggeri" #: editor/plugins/script_editor_plugin.cpp msgid "" @@ -4807,11 +4906,11 @@ msgstr "Muunnetaan kuvia" #: editor/plugins/script_text_editor.cpp msgid "Uppercase" -msgstr "" +msgstr "Isot kirjaimet" #: editor/plugins/script_text_editor.cpp msgid "Lowercase" -msgstr "" +msgstr "Pienet kirjaimet" #: editor/plugins/script_text_editor.cpp msgid "Capitalize" @@ -4856,24 +4955,20 @@ msgstr "Kloonaa alas" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Mene riville" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" +msgid "Fold/Unfold Line" +msgstr "Avaa rivi" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "" +msgstr "Laskosta kaikki rivit" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" -msgstr "" +msgstr "Avaa kaikki rivit" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "" +msgstr "Täydennä symbooli" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" @@ -4881,11 +4976,11 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Spaces" -msgstr "" +msgstr "Muuta sisennys välilyönneiksi" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Tabs" -msgstr "" +msgstr "Muuta sisennys sarkaimiksi" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" @@ -5159,7 +5254,7 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." -msgstr "" +msgstr "Animaatioavain lisätty." #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" @@ -5197,6 +5292,14 @@ msgstr "" msgid "Align with view" msgstr "Kohdista näkymään" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Asia kunnossa :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Näytä normaali" @@ -5312,6 +5415,20 @@ msgid "Scale Mode (R)" msgstr "Skaalaustila (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Paikalliset koordinaatit" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Skaalaustila (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Tarttumisen tila:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Pohjanäkymä" @@ -5341,7 +5458,7 @@ msgstr "Vaihda perspektiiviseen/ortogonaaliseen näkymään" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "" +msgstr "Lisää animaatioavain" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" @@ -5389,10 +5506,6 @@ msgid "Configure Snap.." msgstr "Määrittele tarttuminen..." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Paikalliset koordinaatit" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5434,6 +5547,10 @@ msgid "Settings" msgstr "Asetukset" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Tarttumisen asetukset" @@ -5459,11 +5576,11 @@ msgstr "Näkökentän perspektiivi (ast.):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "" +msgstr "Minimi etäisyys:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "" +msgstr "Maksimi etäisyys:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" @@ -5515,11 +5632,11 @@ msgstr "Lisää tyhjä" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Vaihda animaation luuppia" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" -msgstr "" +msgstr "Vaihda animaation nopeutta" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" @@ -5579,7 +5696,7 @@ msgstr "<Ei mitään>" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "" +msgstr "Tartu pikseleihin" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" @@ -5587,15 +5704,15 @@ msgstr "Tartu ruudukkoon" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Jaa automaattisesti" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "Offset:" +msgstr "Siirtymä:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "" +msgstr "Välistys:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Separation:" @@ -5625,7 +5742,7 @@ msgstr "Lisää kaikki" #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "Poista" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -5633,17 +5750,16 @@ msgid "Remove All Items" msgstr "Poista valitut" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All" -msgstr "Poista" +msgstr "Poista kaikki" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "Muokkaa teemaa..." #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "Teeman muokkaus." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" @@ -5654,17 +5770,16 @@ msgid "Remove Class Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Template" -msgstr "Luo tyhjä Template" +msgstr "Luo tyhjä pohja" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Editor Template" -msgstr "" +msgstr "Luo tyhjä editorin pohja" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" -msgstr "" +msgstr "Luo nykyisestä editorin teemasta" #: editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -5680,11 +5795,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" -msgstr "" +msgstr "Valinta" #: editor/plugins/theme_editor_plugin.cpp msgid "Checked Item" -msgstr "" +msgstr "Valittu" #: editor/plugins/theme_editor_plugin.cpp msgid "Has" @@ -5751,18 +5866,16 @@ msgid "Paint TileMap" msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Line Draw" -msgstr "Lineaarinen" +msgstr "Viivan piirto" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Bucket Fill" -msgstr "Sanko" +msgstr "Täyttö" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" @@ -5819,19 +5932,24 @@ msgstr "Tileä ei löytynyt:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Item name or ID:" -msgstr "" +msgstr "Nimi tai ID:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene?" -msgstr "Luo Scenestä?" +msgstr "Luo skenestä?" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" -msgstr "Yhdistä Scenestä?" +msgstr "Yhdistä skenestä?" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Vie tileset" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "Luo Scenestä" +msgstr "Luo skenestä" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" @@ -5841,6 +5959,10 @@ msgstr "" msgid "Error" msgstr "Virhe" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Peru" + #: editor/project_export.cpp msgid "Runnable" msgstr "Suoritettava" @@ -5851,7 +5973,7 @@ msgstr "" #: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "" +msgstr "Poista esiasetus '%s'?" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted: " @@ -5859,7 +5981,7 @@ msgstr "" #: editor/project_export.cpp msgid "Presets" -msgstr "" +msgstr "Esiasetukset" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add.." @@ -5883,7 +6005,7 @@ msgstr "Vie valitut resurssit (ja riippuvuudet)" #: editor/project_export.cpp msgid "Export Mode:" -msgstr "" +msgstr "Vientitila:" #: editor/project_export.cpp msgid "Resources to export:" @@ -5893,11 +6015,15 @@ msgstr "Vietävät resurssit:" msgid "" "Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" msgstr "" +"Suodattimet tiedostojen viemiseen jotka eivät ole resursseja (esim. *.json, " +"*.txt)" #: editor/project_export.cpp msgid "" "Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" msgstr "" +"Suodattimet tiedostoille jotka jätetään projektista pois (esim. *.json, *." +"txt)" #: editor/project_export.cpp msgid "Patches" @@ -5905,7 +6031,7 @@ msgstr "" #: editor/project_export.cpp msgid "Make Patch" -msgstr "" +msgstr "Tee patchi" #: editor/project_export.cpp #, fuzzy @@ -5922,13 +6048,12 @@ msgid "Feature List:" msgstr "Metodilista:" #: editor/project_export.cpp -#, fuzzy msgid "Export PCK/Zip" -msgstr "Vie" +msgstr "Vie PCK/Zip" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "Tälle alustalle ei löytynyt vientipohjia:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" @@ -5939,35 +6064,32 @@ msgid "Export With Debug" msgstr "Vie debugaten" #: editor/project_manager.cpp -#, fuzzy msgid "The path does not exist." -msgstr "Tiedostoa ei ole olemassa." +msgstr "Polkua ei ole olemassa." #: editor/project_manager.cpp msgid "Please choose a 'project.godot' file." -msgstr "" +msgstr "Ole hyvä ja valitse 'project.godot' tiedosto." #: editor/project_manager.cpp msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"Projektillesi valitsema hakemisto ei ole tyhjä (ehkä haluaisit luoda uuden " +"hakemiston)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." -msgstr "" +msgstr "Ole hyvä ja valitse hakemisto jossa ei ole 'project.godot' tiedostoa." #: editor/project_manager.cpp msgid "Imported Project" msgstr "Tuotu projekti" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "Olisi hyvä idea antaa projektillesi nimi." #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." @@ -5993,9 +6115,8 @@ msgid "The following files failed extraction from package:" msgstr "Seuraavien tiedostojen purku paketista epäonnistui:" #: editor/project_manager.cpp -#, fuzzy msgid "Rename Project" -msgstr "Nimetön projekti" +msgstr "Nimetä projekti" #: editor/project_manager.cpp #, fuzzy @@ -6037,56 +6158,60 @@ msgstr "Selaa" #: editor/project_manager.cpp msgid "That's a BINGO!" -msgstr "" +msgstr "Sehän on BINGO!" #: editor/project_manager.cpp msgid "Unnamed Project" msgstr "Nimetön projekti" #: editor/project_manager.cpp -#, fuzzy msgid "Can't open project" -msgstr "Yhdistä..." +msgstr "Projektia ei voida avata" #: editor/project_manager.cpp msgid "Are you sure to open more than one project?" msgstr "Haluatko varmasti avata useamman kuin yhden projektin?" #: editor/project_manager.cpp -#, fuzzy msgid "" "Can't run project: no main scene defined.\n" "Please edit the project and set the main scene in \"Project Settings\" under " "the \"Application\" category." msgstr "" -"Pääsceneä ei ole määritetty, haluatko valita sen?\n" -"Voit muuttaa sitä myöhemmin projektin asetuksista." +"Projektia ei voida suorittaa: pääsceneä ei ole määritetty.\n" +"Ole hyvä ja muokkaa projektia ja aseta pääscene projektin asetuksista " +"\"Application\" -kategoriasta." #: editor/project_manager.cpp msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"Projektia ei voi ajaa: Assetit täytyy tuoda uudelleen.\n" +"Muokkaa projektia käynnistääksesi uudelleentuonnin." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" -msgstr "" +msgstr "Haluatko varmasti suorittaa usemman projektin?" #: editor/project_manager.cpp msgid "Remove project from the list? (Folder contents will not be modified)" -msgstr "" +msgstr "Poista projekti listalta? (Kansion sisältöä ei muuteta)" #: editor/project_manager.cpp msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"Kieli vaihdettu.\n" +"Muutokset astuvat voimaan kun editori tai projektinhallinta käynnistetään " +"uudelleen." #: editor/project_manager.cpp msgid "" "You are about the scan %s folders for existing Godot projects. Do you " "confirm?" -msgstr "" +msgstr "Olet aikeissa etsiä hakemistosta %s Godot projekteja. Oletko varma?" #: editor/project_manager.cpp msgid "Project List" @@ -6094,20 +6219,19 @@ msgstr "Projektiluettelo" #: editor/project_manager.cpp msgid "Scan" -msgstr "" +msgstr "Tutki" #: editor/project_manager.cpp msgid "Select a Folder to Scan" -msgstr "Valitse skannattava kansio" +msgstr "Valitse tutkittava kansio" #: editor/project_manager.cpp msgid "New Project" msgstr "Uusi projekti" #: editor/project_manager.cpp -#, fuzzy msgid "Templates" -msgstr "Poista malli" +msgstr "Mallit" #: editor/project_manager.cpp msgid "Exit" @@ -6128,6 +6252,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Sinulla ei ole tällä hetkellä yhtään projekteja.\n" +"Haluaisitko selata virallisia malliprojekteja Asset-kirjastosta?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6135,43 +6261,43 @@ msgstr "Näppäin... " #: editor/project_settings_editor.cpp msgid "Joy Button" -msgstr "Joystick-painike" +msgstr "Ohjaimen painike" #: editor/project_settings_editor.cpp msgid "Joy Axis" -msgstr "" +msgstr "Ohjaimen akseli" #: editor/project_settings_editor.cpp msgid "Mouse Button" -msgstr "" +msgstr "Hiiren painike" #: editor/project_settings_editor.cpp msgid "Invalid action (anything goes but '/' or ':')." -msgstr "" +msgstr "Virheellinen tapahtuma (muut käy, paitsi '/' tai ':')." #: editor/project_settings_editor.cpp msgid "Action '%s' already exists!" -msgstr "" +msgstr "Tapahtuma '%s' on jo olemassa!" #: editor/project_settings_editor.cpp msgid "Rename Input Action Event" -msgstr "" +msgstr "Nimeä syöttötapahtuma uudelleen" #: editor/project_settings_editor.cpp msgid "Add Input Action Event" -msgstr "" +msgstr "Lisää syöttötapahtuma" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Shift+" -msgstr "" +msgstr "Shift+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Alt+" -msgstr "" +msgstr "Alt+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Control+" -msgstr "" +msgstr "Control+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key.." @@ -6179,7 +6305,7 @@ msgstr "Paina näppäintä..." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "" +msgstr "Hiiren painikkeen indeksi:" #: editor/project_settings_editor.cpp msgid "Left Button" @@ -6224,7 +6350,7 @@ msgstr "Muuta" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" -msgstr "" +msgstr "Ohjaimen akselin indeksi:" #: editor/project_settings_editor.cpp msgid "Axis" @@ -6232,15 +6358,16 @@ msgstr "Akseli" #: editor/project_settings_editor.cpp msgid "Joypad Button Index:" -msgstr "" +msgstr "Ohjaimen painikkeen indeksi:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Lisää syöttötapahtuma" +#, fuzzy +msgid "Erase Input Action" +msgstr "Tyhjennä syöttötapahtuma" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" -msgstr "" +msgstr "Tyhjennä syöttötapahtuma" #: editor/project_settings_editor.cpp #, fuzzy @@ -6277,7 +6404,7 @@ msgstr "Rulla alas." #: editor/project_settings_editor.cpp msgid "Add Global Property" -msgstr "" +msgstr "Lisää yleinen ominaisuus" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" @@ -6285,7 +6412,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." -msgstr "" +msgstr "Ominaisuutta '%s' ei löytynyt." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." @@ -6306,6 +6433,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Lisää syöttötapahtuma" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Virhe tallennettaessa asetuksia." @@ -6365,7 +6496,7 @@ msgstr "" #: editor/project_settings_editor.cpp editor/property_editor.cpp msgid "Property:" -msgstr "" +msgstr "Ominaisuus:" #: editor/project_settings_editor.cpp msgid "Override For.." @@ -6377,27 +6508,27 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Action:" -msgstr "" +msgstr "Toiminto:" #: editor/project_settings_editor.cpp msgid "Device:" -msgstr "" +msgstr "Laite:" #: editor/project_settings_editor.cpp msgid "Index:" -msgstr "" +msgstr "Indeksi:" #: editor/project_settings_editor.cpp msgid "Localization" -msgstr "" +msgstr "Kääntäminen" #: editor/project_settings_editor.cpp msgid "Translations" -msgstr "" +msgstr "Käännökset" #: editor/project_settings_editor.cpp msgid "Translations:" -msgstr "" +msgstr "Käännökset:" #: editor/project_settings_editor.cpp msgid "Remaps" @@ -6405,7 +6536,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Resources:" -msgstr "" +msgstr "Resurssit:" #: editor/project_settings_editor.cpp msgid "Remaps by Locale:" @@ -6413,34 +6544,31 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Locale" -msgstr "" +msgstr "Kieli" #: editor/project_settings_editor.cpp msgid "Locales Filter" -msgstr "" +msgstr "Kielten suodatus" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Show all locales" -msgstr "Näytä luut" +msgstr "Näytä kaikki kielet" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "Näytä vain valitut kielet" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Filter mode:" -msgstr "Suodattimet" +msgstr "Suodatustila:" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Locales:" -msgstr "Skaalaus:" +msgstr "Kielet:" #: editor/project_settings_editor.cpp msgid "AutoLoad" -msgstr "" +msgstr "Lataa automaattisesti" #: editor/property_editor.cpp msgid "Pick a Viewport" @@ -6468,11 +6596,11 @@ msgstr "" #: editor/property_editor.cpp msgid "File.." -msgstr "" +msgstr "Tiedosto..." #: editor/property_editor.cpp msgid "Dir.." -msgstr "" +msgstr "Hakemisto..." #: editor/property_editor.cpp msgid "Assign" @@ -6485,6 +6613,10 @@ msgstr "Valitse Node" #: editor/property_editor.cpp msgid "New Script" +msgstr "Uusi skripti" + +#: editor/property_editor.cpp +msgid "New %s" msgstr "" #: editor/property_editor.cpp @@ -6494,16 +6626,15 @@ msgstr "Tee luut" #: editor/property_editor.cpp msgid "Show in File System" -msgstr "" +msgstr "Näytä tiedostojärjestelmässä" #: editor/property_editor.cpp -#, fuzzy msgid "Convert To %s" -msgstr "Muunna..." +msgstr "Muunna muotoon %s" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" -msgstr "" +msgstr "Virhe ladattaessa tiedostoa: Ei ole resurssi!" #: editor/property_editor.cpp #, fuzzy @@ -6512,7 +6643,7 @@ msgstr "Valitse tuotava(t) node(t)" #: editor/property_editor.cpp msgid "Pick a Node" -msgstr "Poimi Node" +msgstr "Poimi node" #: editor/property_editor.cpp msgid "Bit %d, val %d." @@ -6520,28 +6651,28 @@ msgstr "" #: editor/property_editor.cpp msgid "On" -msgstr "" +msgstr "Päällä" + +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Lisää tyhjä" #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" -msgstr "" +msgstr "Aseta" #: editor/property_editor.cpp msgid "Properties:" msgstr "Ominaisuudet:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Valitse ominaisuus" #: editor/property_selector.cpp -#, fuzzy msgid "Select Virtual Method" -msgstr "Valitse metodi" +msgstr "Valitse virtuaalinen metodi" #: editor/property_selector.cpp msgid "Select Method" @@ -6557,11 +6688,11 @@ msgstr "" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" -msgstr "" +msgstr "Vaihda noden isäntää" #: editor/reparent_dialog.cpp msgid "Reparent Location (Select new Parent):" -msgstr "" +msgstr "Valitse uusi isäntä:" #: editor/reparent_dialog.cpp msgid "Keep Global Transform" @@ -6569,7 +6700,7 @@ msgstr "" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent" -msgstr "" +msgstr "Uusi isäntä" #: editor/run_settings_dialog.cpp msgid "Run Mode:" @@ -6577,15 +6708,15 @@ msgstr "" #: editor/run_settings_dialog.cpp msgid "Current Scene" -msgstr "" +msgstr "Nykyinen skene" #: editor/run_settings_dialog.cpp msgid "Main Scene" -msgstr "" +msgstr "Pääskene" #: editor/run_settings_dialog.cpp msgid "Main Scene Arguments:" -msgstr "" +msgstr "Pääskenen argumentit:" #: editor/run_settings_dialog.cpp msgid "Scene Run Settings" @@ -7100,6 +7231,10 @@ msgstr "" msgid "Shortcuts" msgstr "Pikakuvakkeet" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Muuta valon sädettä" @@ -7148,17 +7283,56 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Poista käyrän piste" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Vie kirjasto" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "Vie kirjasto" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "Vie kirjasto" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "Tila:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7374,9 +7548,8 @@ msgid "Change Argument Type" msgstr "Vaihda taulukon arvon tyyppiä" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Argument name" -msgstr "Vaihda syötteen nimi" +msgstr "Vaihda argumentin nimi" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Default Value" @@ -7839,6 +8012,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7867,10 +8056,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7924,10 +8109,6 @@ msgid "Add current color as a preset" msgstr "Lisää nykyinen väri esiasetukseksi" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Peru" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Huomio!" @@ -8001,6 +8182,32 @@ msgstr "Virhe fontin latauksessa." msgid "Invalid font size." msgstr "Virheellinen fonttikoko." +#, fuzzy +#~ msgid "Move Add Key" +#~ msgstr "Siirrä lisäyspainiketta" + +#~ msgid "Create Subscription" +#~ msgstr "Luo tilaus" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Aseta emissiomaski" + +#~ msgid "Clear Emitter" +#~ msgstr "Tyhjennä säteilijä/lähetin" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "Mene riville" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Osiot:" + #~ msgid "Cannot navigate to '" #~ msgstr "Ei voida navigoida '" @@ -8351,9 +8558,6 @@ msgstr "Virheellinen fonttikoko." #~ msgid "Import Languages:" #~ msgstr "Tuo kielet:" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Muunna Lightmapiksi:" - #~ msgid "Zoom (%):" #~ msgstr "Lähennä (%):" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index ddc6039dcc..396dc01a02 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -1,6 +1,6 @@ # French translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Antoine Carrier <ac.g392@gmail.com>, 2017. @@ -34,8 +34,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-27 16:46+0000\n" -"Last-Translator: anonymous <>\n" +"PO-Revision-Date: 2017-12-07 06:46+0000\n" +"Last-Translator: LL <lu.lecocq@free.fr>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -54,8 +54,9 @@ msgid "All Selection" msgstr "Toute la sélection" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mouvement Ajouter une clé" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animation Changer la valeur" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -66,7 +67,8 @@ msgid "Anim Change Transform" msgstr "Animation Changer la transformation" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animation Changer la valeur" #: editor/animation_editor.cpp @@ -562,8 +564,9 @@ msgid "Connecting Signal:" msgstr "Connecter un signal :" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Créer une connexion" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Connecter « %s » à « %s »" #: editor/connections_dialog.cpp msgid "Connect.." @@ -579,7 +582,8 @@ msgid "Signals" msgstr "Signaux" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Créer un nouveau" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -594,7 +598,7 @@ msgstr "Récents :" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Rechercher :" @@ -631,10 +635,11 @@ msgid "" "Resource '%s' is in use.\n" "Changes will take effect when reloaded." msgstr "" -"Le ressource « %s » est utilisée.\n" +"La ressource « %s » est utilisée.\n" "Les changements n'auront pas d'effet avant un rechargement." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dépendances" @@ -739,9 +744,10 @@ msgid "Delete selected files?" msgstr "Supprimer les fichiers sélectionnés ?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Supprimer" @@ -884,6 +890,11 @@ msgid "Rename Audio Bus" msgstr "Renommer bus audio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Basculer vers transport audio solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Basculer vers transport audio solo" @@ -931,8 +942,8 @@ msgstr "Contournement" msgid "Bus options" msgstr "Options de tranport" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Dupliquer" @@ -945,6 +956,10 @@ msgid "Delete Effect" msgstr "Supprimer l'effet" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Ajouter un transport audio" @@ -1101,7 +1116,8 @@ msgstr "Chemin :" msgid "Node Name:" msgstr "Nom de nÅ“ud :" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nom" @@ -1109,10 +1125,6 @@ msgstr "Nom" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Liste :" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Mise à jour de la scène" @@ -1125,6 +1137,15 @@ msgstr "Stockage des modifications locales…" msgid "Updating scene.." msgstr "Mise à jour de la scène…" +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vide)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Veuillez sélectionner un répertoire de base en premier" @@ -1171,9 +1192,24 @@ msgid "File Exists, Overwrite?" msgstr "Le fichier existe, l'écraser ?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Créer un dossier" +msgstr "Selectionner le dossier actuel" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copier le chemin" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Montrer dans le gestionnaire de fichiers" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nouveau dossier.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Rafraîchir" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1222,10 +1258,6 @@ msgid "Go Up" msgstr "Monter" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Rafraîchir" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Basculer les fichiers cachés" @@ -1376,8 +1408,8 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Il n'y a pour l'instant aucune description de cette propriété. Aidez-nous en " -"en [color=$color][url=$url]ajoutant une[/url][/color]!" +"Pas de description disponible pour cette propriété. [color=$color][url=" +"$url]Contribuez[/url][/color] pour nous aider!" #: editor/editor_help.cpp msgid "Methods" @@ -1405,7 +1437,8 @@ msgstr "Sortie :" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Effacer" @@ -1554,7 +1587,6 @@ msgstr "" "mieux comprendre ce déroulement." #: editor/editor_node.cpp -#, fuzzy msgid "" "This is a remote object so changes to it will not be kept.\n" "Please read the documentation relevant to debugging to better understand " @@ -1562,7 +1594,7 @@ msgid "" msgstr "" "Ceci est un objet distant, les changements ne seront donc pas conservés.\n" "Veuillez lire la documentation concernant le débogage afin de mieux " -"comprendre ce déroulement." +"comprendre ce fonctionnement." #: editor/editor_node.cpp #, fuzzy @@ -1706,7 +1738,7 @@ msgstr "Exporter un ensemble de tuiles" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "Cette opération ne peut être réalisée sans noeud sélectionné." +msgstr "Cette opération ne peut être réalisée sans nÅ“ud sélectionné." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" @@ -1828,7 +1860,7 @@ msgstr "La scène « %s » a des dépendences cassées :" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "Retirer les scènes récentes." +msgstr "Retirer les scènes récentes" #: editor/editor_node.cpp msgid "Save Layout" @@ -2372,6 +2404,16 @@ msgstr "Soi" msgid "Frame #:" msgstr "Frame # :" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Temps :" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Appel" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Sélectionner appareil depuis la liste" @@ -2450,7 +2492,7 @@ msgstr "(Actuel)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait.." -msgstr "Récupération des miroirs, veuillez patienter…" +msgstr "Récupération des miroirs, veuillez patienter.." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" @@ -2514,7 +2556,8 @@ msgstr "Pas de réponse." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Req. a Échoué." #: editor/export_template_manager.cpp @@ -2537,11 +2580,11 @@ msgstr "Téléchargement terminé." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "Erreur lors de la requête de l’URL :" +msgstr "Erreur lors de la requête de l’URL : " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." -msgstr "Connexion au miroir…" +msgstr "Connexion au miroir" #: editor/export_template_manager.cpp msgid "Disconnected" @@ -2562,7 +2605,8 @@ msgid "Connecting.." msgstr "Connexion en cours.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Connexion impossible" #: editor/export_template_manager.cpp @@ -2658,6 +2702,11 @@ msgid "Error moving:\n" msgstr "Erreur lors du déplacement :\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Erreur au chargement :" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Impossible de mettre à jour les dépendences :\n" @@ -2690,6 +2739,16 @@ msgid "Renaming folder:" msgstr "Renommer le dossier :" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Dupliquer" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renommer le dossier :" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Développer tout" @@ -2698,10 +2757,6 @@ msgid "Collapse all" msgstr "Réduire tout" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copier le chemin" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renommer.." @@ -2710,12 +2765,9 @@ msgid "Move To.." msgstr "Déplacer vers…" #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nouveau dossier.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Montrer dans le gestionnaire de fichiers" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Ouvrir une scène" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2730,6 +2782,11 @@ msgid "View Owners.." msgstr "Voir les propriétaires…" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Dupliquer" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Répertoire précédent" @@ -2826,6 +2883,16 @@ msgid "Importing Scene.." msgstr "Importation de la scène…" #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Transfert vers des lightmaps :" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Générer AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Lancement du script personnalisé…" @@ -3073,16 +3140,15 @@ msgstr "Copier l'animation" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Effet pelure d'oignon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Activer l'effet pelure d'oignon" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Sections :" +msgstr "Directions" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3090,29 +3156,28 @@ msgid "Past" msgstr "Coller" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Fonctionnalités" +msgstr "Futur" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profondeur" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 étape" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 étapes" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 étapes" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "seul les différence" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3120,7 +3185,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Inclure les Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3397,6 +3462,7 @@ msgid "last" msgstr "dern" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Tout" @@ -3438,6 +3504,28 @@ msgstr "En test" msgid "Assets ZIP File" msgstr "Fichier ZIP de données" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Transfert vers des lightmaps :" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Aperçu" @@ -3576,7 +3664,6 @@ msgid "Toggles snapping" msgstr "Active le magnétisme" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Aligner sur la grille" @@ -3757,16 +3844,6 @@ msgstr "Erreur d'instanciation de la scène depuis %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Pas de parent dans lequel instancier l'enfant." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" "Cette opération ne peut être réalisée uniquement avec un seul nÅ“ud " @@ -3823,19 +3900,16 @@ msgid "Flat1" msgstr "" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Ease in" -msgstr "Ease in" +msgstr "Lent sur le début" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Ease out" -msgstr "Ease out" +msgstr "Lent sur la fin" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Smoothstep" -msgstr "Pas lisse" +msgstr "Progression douce" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" @@ -3883,7 +3957,7 @@ msgstr "Maintenez l'appui sur Maj pour éditer les tangentes individuellement" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "Créer sonde IG (Illumination Globale)" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" @@ -3966,6 +4040,22 @@ msgid "Create Navigation Mesh" msgstr "Créer un maillage de navigation" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Le MeshInstance n'a pas de maillage !" @@ -4007,6 +4097,20 @@ msgid "Create Outline Mesh.." msgstr "Créer un maillage de contour…" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Affichage" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Affichage" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Créer un maillage de contour" @@ -4126,7 +4230,7 @@ msgstr "Calculer !" #: editor/plugins/navigation_mesh_editor_plugin.cpp #, fuzzy msgid "Bake the navigation mesh.\n" -msgstr "Créer un maillage de navigation" +msgstr "Créer un maillage de navigation\n" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." @@ -4183,7 +4287,7 @@ msgstr "Paramétrage du générateur de navigation dans la grille :" #: editor/plugins/navigation_mesh_generator.cpp msgid "Parsing Geometry..." -msgstr "Analyse de la géométrie" +msgstr "Analyse de la géométrie..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" @@ -4194,10 +4298,6 @@ msgid "Create Navigation Polygon" msgstr "Créer Polygone de Navigation" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Effacer Masque d'Émission" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Générer AABB" @@ -4216,10 +4316,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Pas de pixels avec transparence > 128 dans l'image.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Définir le masque d'émission" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Générer Rect de Visibilité" @@ -4228,6 +4324,10 @@ msgid "Load Emission Mask" msgstr "Charger Masque d'Émission" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Effacer Masque d'Émission" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "Particules" @@ -4286,10 +4386,6 @@ msgid "Create Emission Points From Node" msgstr "Créer Points d'Émission Depuis Noeud" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Effacer l'Émetteur" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Créer Émetteur" @@ -4573,11 +4669,13 @@ msgstr "Trier" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Déplacer vers le haut" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Déplacer vers le bas" @@ -4593,7 +4691,7 @@ msgstr "Script précédent" msgid "File" msgstr "Fichier" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nouveau" @@ -4606,6 +4704,11 @@ msgid "Soft Reload Script" msgstr "Recharger le script (mode doux)" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copier le chemin" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Précédent dans l'historique" @@ -4797,11 +4900,7 @@ msgstr "Cloner en dessous" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Aller à la ligne" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "Dérouler la ligne" #: editor/plugins/script_text_editor.cpp @@ -5038,9 +5137,8 @@ msgid "Scaling: " msgstr "Échelle : " #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translating: " -msgstr "Traductions : " +msgstr "Traduction : " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -5130,6 +5228,14 @@ msgstr "Images par secondes" msgid "Align with view" msgstr "Aligner avec la vue" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Pas de parent dans lequel instancier l'enfant." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Affichage normal" @@ -5237,6 +5343,20 @@ msgid "Scale Mode (R)" msgstr "Mode de mise à l'échelle (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordonnées locales" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Mode de mise à l'échelle (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Mode d'aimantation :" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vue de dessous" @@ -5309,10 +5429,6 @@ msgid "Configure Snap.." msgstr "Configurer la grille…" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordonnées locales" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Dialogue de transformation…" @@ -5354,6 +5470,10 @@ msgid "Settings" msgstr "Paramètres" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Paramètres d'alignement" @@ -5738,6 +5858,11 @@ msgid "Merge from scene?" msgstr "Fusionner depuis la scène ?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet…" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Créer depuis la scène" @@ -5749,6 +5874,10 @@ msgstr "Fusionner depuis la scène" msgid "Error" msgstr "Erreur" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Annuler" + #: editor/project_export.cpp msgid "Runnable" msgstr "Activable" @@ -5873,10 +6002,6 @@ msgid "Imported Project" msgstr "Projet importé" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Ce serait une bonne idée de donner un nom à votre projet." @@ -6040,6 +6165,9 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Vous n'avez pour l'instant aucun projets.\n" +"Aimeriez-vous explorer les exemples de projets officiels dans l'Asset " +"Library ?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6147,8 +6275,9 @@ msgid "Joypad Button Index:" msgstr "Index de bouton de la manette de jeu :" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Ajouter une action d'entrée" +#, fuzzy +msgid "Erase Input Action" +msgstr "Effacer l'événement d'action d'entrée" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6216,6 +6345,10 @@ msgid "Already existing" msgstr "Existe déjà " #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Ajouter une action d'entrée" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Erreur d'enregistrement des paramètres." @@ -6392,6 +6525,10 @@ msgid "New Script" msgstr "Nouveau script" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Rendre unique" @@ -6423,6 +6560,11 @@ msgstr "Bit %d, valeur %d." msgid "On" msgstr "Activé" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Ajouter vide" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Définir" @@ -6431,10 +6573,6 @@ msgstr "Définir" msgid "Properties:" msgstr "Propriétés :" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Sections :" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Sélectionnez une propriété" @@ -7003,6 +7141,10 @@ msgstr "Définir depuis l'arbre" msgid "Shortcuts" msgstr "Raccourcis" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Changer le rayon d'une lumière" @@ -7051,16 +7193,56 @@ msgstr "Changer particules AABB" msgid "Change Probe Extents" msgstr "Changer les ampleurs de la sonde" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Supprimer point de courbe" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "Copier vers la plate-forme…" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Bibliothèque" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Bibliothèque" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "État :" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliothèques: " @@ -7771,6 +7953,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin requiert un nÅ“ud enfant ARVRCamera" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Tracer les maillages" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Tracer les maillages" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Finalisation du tracer" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Tracer les maillages" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7805,10 +8006,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Tracer les maillages" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Finalisation du tracer" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7877,10 +8074,6 @@ msgid "Add current color as a preset" msgstr "Ajouter la couleur courante comme pré-réglage" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Annuler" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerte !" @@ -7889,9 +8082,8 @@ msgid "Please Confirm..." msgstr "Veuillez confirmer…" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Sélectionner une méthode" +msgstr "Sélectionnez ce dossier" #: scene/gui/popup.cpp msgid "" @@ -7954,6 +8146,30 @@ msgstr "Erreur lors du chargement de la police." msgid "Invalid font size." msgstr "Taille de police invalide." +#~ msgid "Move Add Key" +#~ msgstr "Mouvement Ajouter une clé" + +#~ msgid "Create Subscription" +#~ msgstr "Créer une connexion" + +#~ msgid "List:" +#~ msgstr "Liste :" + +#~ msgid "Set Emission Mask" +#~ msgstr "Définir le masque d'émission" + +#~ msgid "Clear Emitter" +#~ msgstr "Effacer l'Émetteur" + +#~ msgid "Fold Line" +#~ msgstr "Masquer la ligne" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Sections :" + #~ msgid "Cannot navigate to '" #~ msgstr "Ne peux pas acceder à '" @@ -8496,9 +8712,6 @@ msgstr "Taille de police invalide." #~ msgid "Making BVH" #~ msgstr "Création du BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Transfert vers des lightmaps :" - #~ msgid "Allocating Texture #" #~ msgstr "Allocation de la texture #" @@ -8652,9 +8865,6 @@ msgstr "Taille de police invalide." #~ msgid "Del" #~ msgstr "Supprimer" -#~ msgid "Copy To Platform.." -#~ msgstr "Copier vers la plate-forme…" - #~ msgid "just pressed" #~ msgstr "vient d'être appuyé" diff --git a/editor/translations/he.po b/editor/translations/he.po index 5599828bfd..032e8bcac7 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -1,15 +1,16 @@ # Hebrew translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # +# Ben Golan <golanben4@gmail.com>, 2017. # Luc Stepniewski <lior@gradstein.info>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-24 09:47+0000\n" -"Last-Translator: Luc Stepniewski <lior@gradstein.info>\n" +"PO-Revision-Date: 2017-12-10 12:47+0000\n" +"Last-Translator: Ben Golan <golanben4@gmail.com>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" "Language: he\n" @@ -24,10 +25,10 @@ msgstr "מושבת" #: editor/animation_editor.cpp msgid "All Selection" -msgstr "" +msgstr "כל ×”××œ×ž× ×˜×™× ×©× ×‘×—×¨×•" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -39,7 +40,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -531,7 +532,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -548,7 +549,7 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" +msgid "Create New %s" msgstr "" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -563,7 +564,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -600,6 +601,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -700,9 +702,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -841,6 +844,10 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Change Audio Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -888,8 +895,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -902,6 +909,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1052,7 +1063,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1060,10 +1072,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1076,6 +1084,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1125,6 +1141,22 @@ msgstr "" msgid "Select Current Folder" msgstr "" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1172,10 +1204,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1351,7 +1379,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2241,6 +2270,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2376,7 +2413,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2423,7 +2460,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2514,6 +2551,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2546,31 +2587,31 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2586,6 +2627,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2678,6 +2723,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3240,6 +3293,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3281,6 +3335,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3415,7 +3490,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3595,16 +3669,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3796,6 +3860,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3836,6 +3916,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4012,10 +4104,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4033,15 +4121,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4103,10 +4191,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4389,11 +4473,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4409,7 +4495,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4422,6 +4508,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4608,11 +4698,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4940,6 +5026,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5044,6 +5138,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5116,10 +5222,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5161,6 +5263,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5543,6 +5649,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5554,6 +5664,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5671,10 +5785,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5931,7 +6041,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -5999,6 +6109,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6175,6 +6289,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6206,6 +6324,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6214,10 +6336,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6767,6 +6885,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6815,15 +6937,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Remove current entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7472,6 +7630,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7500,10 +7674,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7556,10 +7726,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" diff --git a/editor/translations/hi.po b/editor/translations/hi.po index c5177b4aa8..2da7f0fed1 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -1,6 +1,6 @@ # Hindi translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Abhas Kumar Sinha <abhaskumarsinha@gmail.com>, 2017. @@ -28,8 +28,9 @@ msgid "All Selection" msgstr "सà¤à¥€ खंड" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ निधि" #: editor/animation_editor.cpp #, fuzzy @@ -42,7 +43,8 @@ msgid "Anim Change Transform" msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ परिणत" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ निधि" #: editor/animation_editor.cpp @@ -545,8 +547,8 @@ msgstr "कनेकà¥à¤Ÿ करने के लिठसंकेत:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" +msgid "Disconnect '%s' from '%s'" +msgstr "जà¥à¤¡à¤¿à¤¯à¥‡ '%s' to '%s'" #: editor/connections_dialog.cpp #, fuzzy @@ -563,7 +565,8 @@ msgid "Signals" msgstr "संकेत" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "à¤à¤• नया बनाà¤à¤‚" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -578,7 +581,7 @@ msgstr "हाल ही में किया:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp #, fuzzy msgid "Search:" msgstr "खोज कर:" @@ -621,6 +624,7 @@ msgstr "" "पà¥à¤¨à¤ƒ लोड होने पर परिवरà¥à¤¤à¤¨ पà¥à¤°à¤à¤¾à¤µà¥€ होंगे।" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp #, fuzzy msgid "Dependencies" msgstr "निरà¥à¤à¤°à¤¤à¤¾" @@ -726,9 +730,10 @@ msgid "Delete selected files?" msgstr "चयनित फ़ाइलें हटाà¤à¤‚?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "को हटा दें" @@ -874,6 +879,11 @@ msgid "Rename Audio Bus" msgstr "ऑडियो बस का नाम बदलें" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "ऑडियो बस सोलो टॉगल करें" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "ऑडियो बस सोलो टॉगल करें" @@ -924,8 +934,8 @@ msgstr "उपमारà¥à¤—" msgid "Bus options" msgstr "बस विकलà¥à¤ª" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿" @@ -938,6 +948,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1088,7 +1102,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1096,10 +1111,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1112,6 +1123,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1161,6 +1180,22 @@ msgstr "" msgid "Select Current Folder" msgstr "" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1208,10 +1243,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1387,7 +1418,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2277,6 +2309,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2412,7 +2452,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2459,8 +2499,9 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "जà¥à¤¡à¤¿à¤¯à¥‡" #: editor/export_template_manager.cpp msgid "Connected" @@ -2550,6 +2591,11 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "लोड होने मे तà¥à¤°à¥à¤Ÿà¤¿:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2582,31 +2628,33 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2622,6 +2670,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2714,6 +2767,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3277,6 +3338,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3318,6 +3380,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3452,7 +3535,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3632,16 +3714,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3833,6 +3905,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3873,6 +3961,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4049,10 +4149,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4070,15 +4166,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4140,10 +4236,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4426,11 +4518,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4446,7 +4540,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4459,6 +4553,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4645,11 +4743,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4977,6 +5071,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5081,6 +5183,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5153,10 +5267,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5198,6 +5308,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5580,6 +5694,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5591,6 +5709,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5708,10 +5830,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5968,7 +6086,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6036,6 +6154,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6212,6 +6334,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6243,6 +6369,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6251,10 +6381,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6804,6 +6930,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6852,15 +6982,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Remove current entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7509,6 +7675,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7537,10 +7719,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7593,10 +7771,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7655,3 +7829,7 @@ msgstr "" #: scene/resources/dynamic_font.cpp msgid "Invalid font size." msgstr "गलत फॉणà¥à¤Ÿ का आकार |" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index 4bd241b809..9f38422bbc 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -1,6 +1,6 @@ # Hungarian translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Nagy Lajos <neutron9707@gmail.com>, 2017. @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:12+0000\n" -"Last-Translator: Nagy Lajos <neutron9707@gmail.com>\n" +"PO-Revision-Date: 2017-12-01 05:47+0000\n" +"Last-Translator: Sandor Domokos <sandor.domokos@gmail.com>\n" "Language-Team: Hungarian <https://hosted.weblate.org/projects/godot-engine/" "godot/hu/>\n" "Language: hu\n" @@ -29,8 +29,9 @@ msgid "All Selection" msgstr "Mind kiválaszt" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Hozzáadás kulcs mozgatása" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animáció érték váltás" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,7 +42,8 @@ msgid "Anim Change Transform" msgstr "Animáció átalakÃtó váltás" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animáció érték váltás" #: editor/animation_editor.cpp @@ -139,7 +141,7 @@ msgstr "Kiválasztás átméretezése" #: editor/animation_editor.cpp msgid "Scale From Cursor" -msgstr "" +msgstr "Kijelölés a kurzortól" #: editor/animation_editor.cpp msgid "Goto Next Step" @@ -188,11 +190,11 @@ msgstr "Animáció megtisztÃtása" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "" +msgstr "ÚJ útvonal létrehozása %s -hez és kulcs beillesztése?" #: editor/animation_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "" +msgstr "Létrehoz %d ÚJ útvonalat és beilleszti a kulcsokat?" #: editor/animation_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp @@ -209,19 +211,19 @@ msgstr "Animáció létrehozása és beillesztése" #: editor/animation_editor.cpp msgid "Anim Insert Track & Key" -msgstr "" +msgstr "Animáció útvonal & kulcs beillesztése" #: editor/animation_editor.cpp msgid "Anim Insert Key" -msgstr "" +msgstr "Animáció kulcs beillesztése" #: editor/animation_editor.cpp msgid "Change Anim Len" -msgstr "" +msgstr "Csak animáció változtatása" #: editor/animation_editor.cpp msgid "Change Anim Loop" -msgstr "" +msgstr "Animáció hurok változtatása" #: editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -534,7 +536,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -551,7 +553,8 @@ msgid "Signals" msgstr "Jelzések" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Új létrehozása" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -566,7 +569,7 @@ msgstr "Legutóbbi:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Keresés:" @@ -603,6 +606,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "FüggÅ‘ségek" @@ -703,9 +707,10 @@ msgid "Delete selected files?" msgstr "Törli a kiválasztott fájlokat?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Töröl" @@ -848,6 +853,11 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Tömb értékének megváltoztatása" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -895,8 +905,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -909,6 +919,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1059,7 +1073,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1067,10 +1082,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1083,6 +1094,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1132,6 +1151,22 @@ msgstr "" msgid "Select Current Folder" msgstr "" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Útvonal másolása" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1179,10 +1214,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1358,7 +1389,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2248,6 +2280,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2383,7 +2423,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2430,8 +2470,9 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Kapcsolódás..." #: editor/export_template_manager.cpp msgid "Connected" @@ -2521,6 +2562,11 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Hiba betöltéskor:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2553,31 +2599,32 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Kiválasztás megkettÅ‘zése" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Útvonal másaolása" +msgid "Expand all" +msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2593,6 +2640,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Animáció kulcs megkettÅ‘zése" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2685,6 +2737,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -2933,9 +2993,8 @@ msgid "Enable Onion Skinning" msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "LeÃrás:" +msgstr "Irányok" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" @@ -3248,6 +3307,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3289,6 +3349,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3423,7 +3504,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3603,16 +3683,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3804,6 +3874,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3844,6 +3930,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4020,10 +4118,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4041,15 +4135,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4111,10 +4205,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4397,11 +4487,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4417,7 +4509,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4430,6 +4522,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Útvonal másolása" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4616,11 +4713,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4948,6 +5041,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5052,6 +5153,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5124,10 +5237,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5169,6 +5278,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5551,6 +5664,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5562,6 +5679,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Mégse" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5679,10 +5800,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5939,7 +6056,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6007,6 +6124,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6183,6 +6304,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6214,6 +6339,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6222,10 +6351,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6775,6 +6900,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6823,15 +6952,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Jelenlegi nyomvonal felfelé mozgatása." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7480,6 +7646,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7508,10 +7690,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7564,10 +7742,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Mégse" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Figyelem!" @@ -7595,7 +7769,7 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "(Másik)" +msgstr "(Más)" #: scene/main/scene_tree.cpp msgid "" @@ -7631,3 +7805,6 @@ msgstr "Hiba a betűtÃpus betöltésekor." #: scene/resources/dynamic_font.cpp msgid "Invalid font size." msgstr "Érvénytelen betűtÃpus méret." + +#~ msgid "Move Add Key" +#~ msgstr "Hozzáadás kulcs mozgatása" diff --git a/editor/translations/id.po b/editor/translations/id.po index ad3ddb7862..e739435ee9 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -1,6 +1,6 @@ # Indonesian translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Abdul Aziz Muslim Alqudsy <abdul.aziz.muslim.alqudsy@gmail.com>, 2016. @@ -9,6 +9,7 @@ # Damar Inderajati <damarind@gmail.com>, 2017. # Damar S. M <the.last.walla@gmail.com>, 2017. # Khairul Hidayat <khairulcyber4rt@gmail.com>, 2016. +# Romi Kusuma Bakti <romikusumab@gmail.com>, 2017. # Sofyan Sugianto <sofyanartem@gmail.com>, 2017. # Tom My <tom.asadinawan@gmail.com>, 2017. # yursan9 <rizal.sagi@gmail.com>, 2016. @@ -16,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-23 18:47+0000\n" -"Last-Translator: Damar Inderajati <damarind@gmail.com>\n" +"PO-Revision-Date: 2017-12-11 10:47+0000\n" +"Last-Translator: Romi Kusuma Bakti <romikusumab@gmail.com>\n" "Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/" "godot/id/>\n" "Language: id\n" @@ -35,8 +36,9 @@ msgid "All Selection" msgstr "Semua pilihan" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Pindahkan Kunci Tambah" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Ubah Nilai Animasi" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -47,7 +49,8 @@ msgid "Anim Change Transform" msgstr "Ubah Transformasi Animasi" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Ubah Nilai Animasi" #: editor/animation_editor.cpp @@ -59,9 +62,8 @@ msgid "Anim Add Track" msgstr "Tambah Trek Anim" #: editor/animation_editor.cpp -#, fuzzy msgid "Anim Duplicate Keys" -msgstr "Duplikat Tombol Anim" +msgstr "Tombol Duplikat Anim" #: editor/animation_editor.cpp msgid "Move Anim Track Up" @@ -372,7 +374,7 @@ msgstr "Pergi ke Baris" #: editor/code_editor.cpp msgid "Line Number:" -msgstr "Baris Nomor:" +msgstr "Nomor Baris:" #: editor/code_editor.cpp msgid "No Matches" @@ -385,11 +387,11 @@ msgstr "Diganti kejadian (kejadian-kejadian) %d." #: editor/code_editor.cpp msgid "Replace" -msgstr "Ubah" +msgstr "Ganti" #: editor/code_editor.cpp msgid "Replace All" -msgstr "Ubah Semua" +msgstr "Ganti Semua" #: editor/code_editor.cpp msgid "Match Case" @@ -544,8 +546,9 @@ msgid "Connecting Signal:" msgstr "Menyambungkan Sinyal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Buat Subskribsi" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Sambungkan '%s' ke '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -561,7 +564,8 @@ msgid "Signals" msgstr "Sinyal-sinyal" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Buat Baru" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -576,7 +580,7 @@ msgstr "Saat ini:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Cari:" @@ -617,6 +621,7 @@ msgstr "" "Perubahan-perubahan akan terjadi ketika dimuat ulang." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Ketergantungan" @@ -722,9 +727,10 @@ msgid "Delete selected files?" msgstr "Hapus file yang dipilih?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Hapus" @@ -872,6 +878,11 @@ msgid "Rename Audio Bus" msgstr "Namai kembali Autoload" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Alih Audio Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Alih Audio Bus Solo" @@ -920,8 +931,8 @@ msgstr "Jalan Lingkar" msgid "Bus options" msgstr "Opsi Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Gandakan" @@ -936,6 +947,10 @@ msgid "Delete Effect" msgstr "Hapus yang Dipilih" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Tambah Suara Bus" @@ -1094,7 +1109,8 @@ msgstr "Path:" msgid "Node Name:" msgstr "Nama Node:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nama" @@ -1102,10 +1118,6 @@ msgstr "Nama" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Daftar:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Memperbaharui Scene" @@ -1118,6 +1130,14 @@ msgstr "Menyimpan perubahan-perubahan lokal.." msgid "Updating scene.." msgstr "Memperbaharui scene.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1169,6 +1189,23 @@ msgstr "File telah ada, Overwrite?" msgid "Select Current Folder" msgstr "Buat Folder" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Tampilkan di Manajer Berkas" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "Buat Folder" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Segarkan" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Semua diakui" @@ -1219,10 +1256,6 @@ msgid "Go Up" msgstr "Naik" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Segarkan" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Beralih File Tersembunyi" @@ -1415,7 +1448,8 @@ msgstr " Keluaran:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Bersihkan" @@ -2393,6 +2427,16 @@ msgstr "Diri" msgid "Frame #:" msgstr "Bingkai #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Waktu:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Panggil" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Pilih perangkat pada daftar" @@ -2532,8 +2576,9 @@ msgstr "Tidak ada respon." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Menguji" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2585,7 +2630,7 @@ msgstr "Menyambungkan.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "Menyambungkan.." #: editor/export_template_manager.cpp @@ -2687,6 +2732,11 @@ msgstr "Error memuat:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Error saat memuat:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Scene '%s' memiliki dependensi yang rusak:" @@ -2722,15 +2772,21 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Gandakan" #: editor/filesystem_dock.cpp -msgid "Collapse all" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Gandakan" + +#: editor/filesystem_dock.cpp +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2744,12 +2800,8 @@ msgstr "Pindah Ke.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "Buat Folder" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Tampilkan di Manajer Berkas" +msgid "Open Scene(s)" +msgstr "Buka Scene" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2764,6 +2816,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Gandakan" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Direktori Sebelumnya" @@ -2860,6 +2917,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3436,6 +3501,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Semua" @@ -3477,6 +3543,28 @@ msgstr "Menguji" msgid "Assets ZIP File" msgstr "Aset-aset File ZIP" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Ganti Radius Lampu" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3616,7 +3704,6 @@ msgid "Toggles snapping" msgstr "Beralih Breakpoint" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3798,16 +3885,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -4005,6 +4082,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -4045,6 +4138,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "File:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "File:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4222,10 +4329,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4243,15 +4346,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4313,10 +4416,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4604,11 +4703,13 @@ msgstr "Sortir:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4624,7 +4725,7 @@ msgstr "" msgid "File" msgstr "Berkas" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Baru" @@ -4637,6 +4738,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Salin Resource" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4828,14 +4934,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Pergi ke Baris" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5164,6 +5266,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5276,6 +5386,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Metode Publik:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5350,10 +5473,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5395,6 +5514,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5782,6 +5905,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5793,6 +5921,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Batal" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -5917,10 +6049,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6189,8 +6317,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Beri Skala Seleksi" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6262,6 +6391,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6442,6 +6575,10 @@ msgid "New Script" msgstr "Scene Baru" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "Membuat sub-Resource Unik" @@ -6478,6 +6615,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6486,10 +6627,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -7062,6 +7199,10 @@ msgstr "Menyetel Dari Keturunan" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Ganti Radius Lampu" @@ -7112,16 +7253,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Hapus Sinyal" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Ekspor Pustaka" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "Ekspor Pustaka" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "Ekspor Pustaka" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7846,6 +8026,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7884,10 +8080,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7952,10 +8144,6 @@ msgid "Add current color as a preset" msgstr "Tambah warna sekarang sebagai preset" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Batal" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Peringatan!" @@ -8028,6 +8216,15 @@ msgstr "Error memuat font." msgid "Invalid font size." msgstr "Ukuran font tidak sah." +#~ msgid "Move Add Key" +#~ msgstr "Pindahkan Kunci Tambah" + +#~ msgid "Create Subscription" +#~ msgstr "Buat Subskribsi" + +#~ msgid "List:" +#~ msgstr "Daftar:" + #, fuzzy #~ msgid "" #~ "\n" diff --git a/editor/translations/is.po b/editor/translations/is.po new file mode 100644 index 0000000000..33e2f9ad3f --- /dev/null +++ b/editor/translations/is.po @@ -0,0 +1,7791 @@ +# Icelandic translation of the Godot Engine editor +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) +# This file is distributed under the same license as the Godot source code. +# +# Jóhannes G. Þorsteinsson <johannesg@johannesg.com>, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2017-12-05 21:47+0000\n" +"Last-Translator: Jóhannes G. Þorsteinsson <johannesg@johannesg.com>\n" +"Language-Team: Icelandic <https://hosted.weblate.org/projects/godot-engine/" +"godot/is/>\n" +"Language: is\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.18-dev\n" + +#: editor/animation_editor.cpp +msgid "Disabled" +msgstr "Óvirkt" + +#: editor/animation_editor.cpp +msgid "All Selection" +msgstr "Allt Val" + +#: editor/animation_editor.cpp +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Hreyfimynd Breyta Gildi" + +#: editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "Hreyfimynd Breyta Stöðuskiptum" + +#: editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "Hreyfimynd Breyta Ummyndun" + +#: editor/animation_editor.cpp +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Hreyfimynd Breyta Gildi" + +#: editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "Hreyfimynd Breyta Kalli" + +#: editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "Hreyfimynd Bæta Við Rás" + +#: editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Hreyfimynd Tvöfalda Lykla" + +#: editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "Færa Hreyfimynda Rás Upp" + +#: editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "Færa Hreyfimynda Rás Niður" + +#: editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "Fjarlægja Hreyfimynda Rás" + +#: editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "Sitja Stöðuskipti á:" + +#: editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "Endurnefna Hreyfimyndarás" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "Breyta Brúun á Hreyfimyndarás" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Wrap Mode" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp +#: editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: editor/animation_editor.cpp editor/create_dialog.cpp +#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +#: editor/plugins/mesh_instance_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp editor/project_manager.cpp +#: editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Select an AnimationPlayer from the Scene Tree to edit animations." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replaced %d occurrence(s)." +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: editor/code_editor.cpp editor/editor_node.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp +msgid "Search" +msgstr "" + +#: editor/code_editor.cpp editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: editor/code_editor.cpp +msgid "Zoom In" +msgstr "" + +#: editor/code_editor.cpp +msgid "Zoom Out" +msgstr "" + +#: editor/code_editor.cpp +msgid "Reset Zoom" +msgstr "" + +#: editor/code_editor.cpp editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: editor/code_editor.cpp +msgid "Col:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "" +"Target method not found! Specify a valid method or attach a script to target " +"Node." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect To Node:" +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp +#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp +msgid "Add" +msgstr "" + +#: editor/connections_dialog.cpp editor/dependency_editor.cpp +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp +#: editor/project_settings_editor.cpp +msgid "Remove" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: editor/connections_dialog.cpp editor/dependency_editor.cpp +#: editor/export_template_manager.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp +#: editor/project_settings_editor.cpp editor/property_editor.cpp +#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Close" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect '%s' from '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: editor/connections_dialog.cpp +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: editor/create_dialog.cpp +msgid "Create New %s" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_file_dialog.cpp +#: editor/filesystem_dock.cpp +msgid "Favorites:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_node.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp +msgid "Search:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_help.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_help.cpp +#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp +#: editor/script_editor_debugger.cpp +msgid "Description:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will not take effect unless reloaded." +msgstr "" + +#: editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will take effect when reloaded." +msgstr "" + +#: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dependencies" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Resource" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp +#: editor/project_manager.cpp editor/project_settings_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Path" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp +#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp scene/gui/file_dialog.cpp +msgid "Open" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (no undo)" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Cannot remove:\n" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Scene failed to load due to missing dependencies:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_node.cpp +msgid "Open Anyway" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Delete selected files?" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete" +msgstr "" + +#: editor/dictionary_property_edit.cpp +msgid "Change Dictionary Key" +msgstr "" + +#: editor/dictionary_property_edit.cpp +msgid "Change Dictionary Value" +msgstr "" + +#: editor/editor_about.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: editor/editor_about.cpp +msgid "Thanks!" +msgstr "" + +#: editor/editor_about.cpp +msgid "Godot Engine contributors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Project Founders" +msgstr "" + +#: editor/editor_about.cpp +msgid "Lead Developer" +msgstr "" + +#: editor/editor_about.cpp editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: editor/editor_about.cpp +msgid "Developers" +msgstr "" + +#: editor/editor_about.cpp +msgid "Authors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Platinum Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Gold Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Mini Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Gold Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Silver Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Bronze Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "License" +msgstr "" + +#: editor/editor_about.cpp +msgid "Thirdparty License" +msgstr "" + +#: editor/editor_about.cpp +msgid "" +"Godot Engine relies on a number of thirdparty free and open source " +"libraries, all compatible with the terms of its MIT license. The following " +"is an exhaustive list of all such thirdparty components with their " +"respective copyright statements and license terms." +msgstr "" + +#: editor/editor_about.cpp +msgid "All Components" +msgstr "" + +#: editor/editor_about.cpp +msgid "Components" +msgstr "" + +#: editor/editor_about.cpp +msgid "Licenses" +msgstr "" + +#: editor/editor_asset_installer.cpp editor/project_manager.cpp +msgid "Error opening package file, not in zip format." +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Uncompressing Assets" +msgstr "" + +#: editor/editor_asset_installer.cpp editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: editor/editor_asset_installer.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Success!" +msgstr "" + +#: editor/editor_asset_installer.cpp +#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Package Installer" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Speakers" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Rename Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Change Audio Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Solo" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Mute" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Bypass Effects" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Select Audio Bus Send" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Audio Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Move Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Audio Bus, Drag and Drop to rearrange." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Solo" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Mute" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Bypass" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Bus options" +msgstr "" + +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Reset Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Master bus can't be deleted!" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Duplicate Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Reset Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Move Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save Audio Bus Layout As.." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Location for New Layout.." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Open Audio Bus Layout" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "There is no 'res://default_bus_layout.tres' file." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Invalid file, not an audio bus layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.cpp editor/property_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Load" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Load an existing Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save this Bus Layout to a file." +msgstr "" + +#: editor/editor_audio_buses.cpp editor/import_dock.cpp +msgid "Load Default" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Load the default Bus Layout." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp +msgid "Path:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp +msgid "Name" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: editor/editor_data.cpp +msgid "Storing local changes.." +msgstr "" + +#: editor/editor_data.cpp +msgid "Updating scene.." +msgstr "" + +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + +#: editor/editor_dir_dialog.cpp +msgid "Please select a base directory first" +msgstr "" + +#: editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp +#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp +msgid "Create Folder" +msgstr "" + +#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp +#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: scene/gui/file_dialog.cpp +msgid "Name:" +msgstr "" + +#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp +#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp +msgid "Could not create folder." +msgstr "" + +#: editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: editor/editor_export.cpp +msgid "Storing File:" +msgstr "" + +#: editor/editor_export.cpp +msgid "Packing" +msgstr "" + +#: editor/editor_export.cpp platform/javascript/export/export.cpp +msgid "Template file not found:\n" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Select Current Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp +msgid "Save" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Back" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Forward" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Up" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Hidden Files" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Favorite" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Mode" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Focus Path" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Move Favorite Up" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Move Favorite Down" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Go to parent folder" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/script_editor_debugger.cpp +#: scene/gui/file_dialog.cpp +msgid "File:" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: editor/editor_file_system.cpp +msgid "(Re)Importing Assets" +msgstr "" + +#: editor/editor_help.cpp editor/editor_node.cpp +#: editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: editor/editor_help.cpp editor/property_editor.cpp +msgid "Class:" +msgstr "" + +#: editor/editor_help.cpp editor/scene_tree_editor.cpp +msgid "Inherits:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Members" +msgstr "" + +#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp +msgid "Members:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Public Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: editor/editor_help.cpp +msgid "GUI Theme Items" +msgstr "" + +#: editor/editor_help.cpp +msgid "GUI Theme Items:" +msgstr "" + +#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp +msgid "Signals:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations:" +msgstr "" + +#: editor/editor_help.cpp +msgid "enum " +msgstr "" + +#: editor/editor_help.cpp +msgid "Constants" +msgstr "" + +#: editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Description" +msgstr "" + +#: editor/editor_help.cpp +msgid "Properties" +msgstr "" + +#: editor/editor_help.cpp +msgid "Property Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this property. Please help us by " +"[color=$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help.cpp +msgid "Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this method. Please help us by [color=" +"$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: editor/editor_log.cpp +msgid "Output:" +msgstr "" + +#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp +#: editor/property_editor.cpp editor/script_editor_debugger.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Clear" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Save Resource As.." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "I see.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't open '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while parsing '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unexpected end of file '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Missing '%s' or its dependencies." +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while loading '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a tree root." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: editor/editor_node.cpp +msgid "Failed to load resource." +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource belongs to a scene that was imported, so it's not editable.\n" +"Please read the documentation relevant to importing scenes to better " +"understand this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource belongs to a scene that was instanced or inherited.\n" +"Changes to it will not be kept when saving the current scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource was imported, so it's not editable. Change its settings in the " +"import panel and then re-import." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This scene was imported, so changes to it will not be kept.\n" +"Instancing it or inheriting will allow making changes to it.\n" +"Please read the documentation relevant to importing scenes to better " +"understand this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This is a remote object so changes to it will not be kept.\n" +"Please read the documentation relevant to debugging to better understand " +"this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "Expand all properties" +msgstr "" + +#: editor/editor_node.cpp +msgid "Collapse all properties" +msgstr "" + +#: editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open in Help" +msgstr "" + +#: editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"No main scene has ever been defined, select one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Selected scene '%s' does not exist, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Selected scene '%s' is not a scene file, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: editor/editor_node.cpp +msgid "Current scene was never saved, please save it prior to running." +msgstr "" + +#: editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Open Scene.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Open Script.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save & Close" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to '%s' before closing?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Scene As.." +msgstr "" + +#: editor/editor_node.cpp +msgid "No" +msgstr "" + +#: editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: editor/editor_node.cpp editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a root node." +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a selected node." +msgstr "" + +#: editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: editor/editor_node.cpp +msgid "Revert" +msgstr "" + +#: editor/editor_node.cpp +msgid "This action cannot be undone. Revert anyway?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Run Scene.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Project Manager?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save & Quit" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to the following scene(s) before quitting?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes the following scene(s) before opening Project Manager?" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This option is deprecated. Situations where refresh must be forced are now " +"considered a bug. Please report." +msgstr "" + +#: editor/editor_node.cpp +msgid "Pick a Main Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to enable addon plugin at: '%s' parsing of config failed." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to load addon script from path: '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Unable to load addon script from path: '%s' Base type is not EditorPlugin." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to load addon script from path: '%s' Script is not in tool mode." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Scene '%s' was automatically imported, so it can't be modified.\n" +"To make changes to it, a new inherited scene can be created." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Ugh" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Clear Recent Scenes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: editor/editor_node.cpp editor/import_dock.cpp +#: editor/script_create_dialog.cpp +msgid "Default" +msgstr "" + +#: editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more files or folders" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more folders" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more files" +msgstr "" + +#: editor/editor_node.cpp +msgid "Dock Position" +msgstr "" + +#: editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: editor/editor_node.cpp +msgid "Toggle distraction-free mode." +msgstr "" + +#: editor/editor_node.cpp +msgid "Add a new scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Next tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "Previous tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "Filter Files.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "New Inherited Scene.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Scene.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save all Scenes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Open Recent" +msgstr "" + +#: editor/editor_node.cpp +msgid "Convert To.." +msgstr "" + +#: editor/editor_node.cpp +msgid "MeshLibrary.." +msgstr "" + +#: editor/editor_node.cpp +msgid "TileSet.." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Undo" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp +#: scene/gui/line_edit.cpp +msgid "Redo" +msgstr "" + +#: editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: editor/editor_node.cpp +msgid "Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: editor/editor_node.cpp +msgid "Run Script" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Export" +msgstr "" + +#: editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Debug" +msgstr "" + +#: editor/editor_node.cpp +msgid "Deploy with Remote Debug" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." +msgstr "" + +#: editor/editor_node.cpp +msgid "Small Deploy with Network FS" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, export or deploy will produce a minimal " +"executable.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." +msgstr "" + +#: editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Navigation meshes and polygons will be visible on the running game if this " +"option is turned on." +msgstr "" + +#: editor/editor_node.cpp +msgid "Sync Scene Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is turned on, any changes made to the scene in the editor " +"will be replicated in the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: editor/editor_node.cpp +msgid "Sync Script Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is turned on, any script that is saved will be reloaded on " +"the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: editor/editor_node.cpp +msgid "Editor" +msgstr "" + +#: editor/editor_node.cpp editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: editor/editor_node.cpp +msgid "Toggle Fullscreen" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Manage Export Templates" +msgstr "" + +#: editor/editor_node.cpp +msgid "Help" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Classes" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Online Docs" +msgstr "" + +#: editor/editor_node.cpp +msgid "Q&A" +msgstr "" + +#: editor/editor_node.cpp +msgid "Issue Tracker" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: editor/editor_node.cpp +msgid "About" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: editor/editor_node.cpp +msgid "Play" +msgstr "" + +#: editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Stop" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window repaints!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Disable Update Spinner" +msgstr "" + +#: editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: editor/editor_node.cpp +msgid "Changes may be lost!" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: editor/editor_node.cpp +msgid "Node" +msgstr "" + +#: editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: editor/editor_node.cpp +msgid "Output" +msgstr "" + +#: editor/editor_node.cpp +msgid "Don't Save" +msgstr "" + +#: editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Password:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: editor/editor_node.cpp +msgid "New Inherited" +msgstr "" + +#: editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open 2D Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open 3D Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Script Editor" +msgstr "" + +#: editor/editor_node.cpp editor/project_manager.cpp +msgid "Open Asset Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open the next Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open the previous Editor" +msgstr "" + +#: editor/editor_plugin.cpp +msgid "Creating Mesh Previews" +msgstr "" + +#: editor/editor_plugin.cpp +msgid "Thumbnail.." +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: editor/editor_plugin_settings.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Version:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Start Profiling" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Average Time (sec)" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Physics Frame %" +msgstr "" + +#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp +msgid "Time:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + +#: editor/editor_run_native.cpp +msgid "Select device from the list" +msgstr "" + +#: editor/editor_run_native.cpp +msgid "" +"No runnable export preset found for this platform.\n" +"Please add a runnable preset in the export menu." +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Default (Same as Editor)" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Re-Download" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Uninstall" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Installed)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Missing)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Current)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Retrieving mirrors, please wait.." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Remove template version '%s'?" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Invalid version.txt format inside templates." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"Invalid version.txt format inside templates. Revision is not a valid " +"identifier." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "No version.txt found inside templates." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error creating path for templates:\n" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Extracting Export Templates" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Importing:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"No download links found for this version. Direct download is only available " +"for official releases." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't resolve." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't connect." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No response." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request Failed." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Redirect Loop." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Failed:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't write file." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download Complete." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error requesting url: " +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connecting to Mirror.." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Disconnected" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Resolving" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't Resolve" +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Connecting.." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't Connect" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connected" +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Requesting.." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Downloading" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connection Error" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "SSL Handshake Error" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Current Version:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Installed Versions:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Install From File" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Remove Template" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Select template file" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Export Template Manager" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download Templates" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Select mirror from list: " +msgstr "" + +#: editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot navigate to '%s' as it has not been found in the file system!" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View items as a list" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "" +"\n" +"Status: Import of file failed. Please fix file and reimport manually." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot move/rename resources root." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot move a folder into itself.\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error moving:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Unable to update dependencies:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "No name provided" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Provided name contains invalid characters" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "No name provided." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Name contains invalid characters." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "A file or folder with this name already exists." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Renaming file:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Renaming folder:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicating file:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Expand all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Collapse all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Rename.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move To.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Open Scene(s)" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Instance" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View Owners.." +msgstr "" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Hreyfimynd Tvöfalda Lykla" + +#: editor/filesystem_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Next Directory" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Toggle folder status as Favorite" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Instance the selected scene(s) as child of the selected node." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "" +"Scanning Files,\n" +"Please Wait.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move" +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp +#: editor/project_manager.cpp +msgid "Rename" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Single Scene" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Materials+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Materials+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Multiple Scenes" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Multiple Scenes+Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Importing Scene.." +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Running Custom Script.." +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Invalid/broken script for post-import (check console):" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Error running post-import script:" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Saving.." +msgstr "" + +#: editor/import_dock.cpp +msgid "Set as Default for '%s'" +msgstr "" + +#: editor/import_dock.cpp +msgid "Clear Default for '%s'" +msgstr "" + +#: editor/import_dock.cpp +msgid " Files" +msgstr "" + +#: editor/import_dock.cpp +msgid "Import As:" +msgstr "" + +#: editor/import_dock.cpp editor/property_editor.cpp +msgid "Preset.." +msgstr "" + +#: editor/import_dock.cpp +msgid "Reimport" +msgstr "" + +#: editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/collision_polygon_editor_plugin.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/collision_polygon_editor_plugin.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Create a new polygon from scratch" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "" +"Edit existing polygon:\n" +"LMB: Move Point.\n" +"Ctrl+LMB: Split Segment.\n" +"RMB: Erase Point." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Delete points" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Delete Animation?" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Invalid animation name!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Animation name already exists!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to copy!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation resource on clipboard!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to edit!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Create new animation in player." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Target Blend Times" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Onion Skinning" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Enable Onion Skinning" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Directions" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Past" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Future" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Depth" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "1 step" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "2 steps" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "3 steps" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Differences Only" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Force White Modulate" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Include Gizmos (3D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Filters" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Free" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Contents:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "View Files" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't resolve hostname:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Connection error, please try again." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't connect to host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No response from host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, return code:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, too many redirects" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Bad download hash, assuming file has been tampered with." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Expected:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Got:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Failed sha256 hash check" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Asset Download Error:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Fetching:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Resolving.." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Error making request" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Idle" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Retry" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Download Error" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Download for this asset is already in progress!" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "first" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "prev" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "next" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "last" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_settings_editor.cpp +msgid "Plugins" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Sort:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_settings_editor.cpp +msgid "Category:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Support.." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + +#: editor/plugins/camera_editor_plugin.cpp +msgid "Preview" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Pivot" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move vertical guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create new vertical guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Remove vertical guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move horizontal guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create new horizontal guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Remove horizontal guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create new horizontal and vertical guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchors only" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors and Margins" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Select Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotate Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Toggles snapping" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snapping options" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to grid" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap..." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Smart snapping" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to parent" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to node anchor" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to node sides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to other nodes" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show helpers" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show rulers" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Keys" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag pivot from mouse position" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set pivot at mouse position" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Multiply grid step by 2" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Divide grid step by 2" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Add %s" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Adding %s..." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change default type" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Drag & drop + Shift : Add node as sibling\n" +"Drag & drop + Alt : Change node type" +msgstr "" + +#: editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Poly3D" +msgstr "" + +#: editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Flat0" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Flat1" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Ease in" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Ease out" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Smoothstep" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Modify Curve Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Modify Curve Tangent" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Load Curve Preset" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Add point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Remove point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Left linear" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Right linear" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Load preset" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Remove Curve Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Toggle Curve Linear Tangent" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Hold Shift to edit tangents individually" +msgstr "" + +#: editor/plugins/gi_probe_editor_plugin.cpp +msgid "Bake GI Probe" +msgstr "" + +#: editor/plugins/gradient_editor_plugin.cpp +msgid "Add/Remove Color Ramp Point" +msgstr "" + +#: editor/plugins/gradient_editor_plugin.cpp +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "" +"No OccluderPolygon2D resource on this node.\n" +"Create and assign one?" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "RMB: Erase Point." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Shape" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh has not surface to create outlines from!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Static Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh.." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Bake the navigation mesh.\n" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Clear the navigation mesh." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Setting up Configuration..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Calculating grid size..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating heightfield..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Marking walkable triangles..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Constructing compact heightfield..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Eroding walkable area..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Partitioning..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating contours..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating polymesh..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Converting to native navigation mesh..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Navigation Mesh Generator Setup:" +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Parsing Geometry..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Done!" +msgstr "" + +#: editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generating AABB" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Can only set point into a ParticlesMaterial process material" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image.." +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generation Time (sec):" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "A processor material of type 'ParticlesMaterial' is required." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Mesh" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Node" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Emission Points:" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Surface Points" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Surface Points+Normal (Directed)" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Emission Source: " +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate Visibility AABB" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Out-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove In-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove Out-Control Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove In-Control Point" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/project_manager.cpp +#: editor/project_settings_editor.cpp editor/property_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon->UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV->Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Paste" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Clear Recent Files" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"Close and save changes?\n" +"\"" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error importing" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As.." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid " Class Reference" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Sort" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Move Up" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Move Down" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "File" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "New" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "History Prev" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close All" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close Other Tabs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Toggle Scripts Panel" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +msgid "Find.." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +msgid "Find Next" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp +#: editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Debug with external editor" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Open Godot online documentation" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Search the class hierarchy." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Discard" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Only resources from filesystem can be dropped." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Pick Color" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Case" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Uppercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Lowercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Capitalize" +msgstr "" + +#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Cut" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Copy" +msgstr "" + +#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Select All" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Delete Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Indent Left" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Indent Right" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Toggle Comment" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Clone Down" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold/Unfold Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Unfold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Complete Symbol" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Indent To Spaces" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Indent To Tabs" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Auto Indent" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Next Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert To Uppercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert To Lowercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Find Previous" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Replace.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Function.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Line.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Contextual Help" +msgstr "" + +#: editor/plugins/shader_editor_plugin.cpp +msgid "Shader" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling: " +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translating: " +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Objects Drawn" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Material Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Shader Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Surface Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Draw Calls" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Vertices" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "FPS" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Normal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Unshaded" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Environment" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Gizmos" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Information" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View FPS" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Half Resolution" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Doppler Enable" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Left" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Right" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Forward" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Backwards" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Up" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Down" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Speed Modifier" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "preview" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Select Mode (Q)\n" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Drag: Rotate\n" +"Alt+Drag: Move\n" +"Alt+RMB: Depth list selection" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode (W)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Switch Perspective/Orthogonal view" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Insert Animation Key" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Focus Origin" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Focus Selection" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align Selection With View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Select" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Move" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Rotate" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Scale" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Toggle Freelook" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap.." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog.." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "1 Viewport" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports (Alt)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports (Alt)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "4 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed (FPS):" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Loop" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Move (Before)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Move (After)" +msgstr "" + +#: editor/plugins/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Set Region Rect" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap Mode:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "<None>" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Pixel Snap" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Snap" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Auto Slice" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Offset:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Step:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Separation:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Edit theme.." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Theme editing menu." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create From Current Editor Theme" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +msgid "Options" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,Options!" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp +msgid "Type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Style" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase Selection" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Line Draw" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rectangle Paint" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket Fill" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase selection" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Find tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 0 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene?" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + +#: editor/project_export.cpp +msgid "Runnable" +msgstr "" + +#: editor/project_export.cpp +msgid "Delete patch '%s' from list?" +msgstr "" + +#: editor/project_export.cpp +msgid "Delete preset '%s'?" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing/corrupted: " +msgstr "" + +#: editor/project_export.cpp +msgid "Presets" +msgstr "" + +#: editor/project_export.cpp editor/project_settings_editor.cpp +msgid "Add.." +msgstr "" + +#: editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: editor/project_export.cpp +msgid "Export all resources in the project" +msgstr "" + +#: editor/project_export.cpp +msgid "Export selected scenes (and dependencies)" +msgstr "" + +#: editor/project_export.cpp +msgid "Export selected resources (and dependencies)" +msgstr "" + +#: editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Resources to export:" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" +msgstr "" + +#: editor/project_export.cpp +msgid "Patches" +msgstr "" + +#: editor/project_export.cpp +msgid "Make Patch" +msgstr "" + +#: editor/project_export.cpp +msgid "Features" +msgstr "" + +#: editor/project_export.cpp +msgid "Custom (comma-separated):" +msgstr "" + +#: editor/project_export.cpp +msgid "Feature List:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing/corrupted:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export With Debug" +msgstr "" + +#: editor/project_manager.cpp +msgid "The path does not exist." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose a 'project.godot' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Your project will be created in a non empty folder (you might want to create " +"a new folder)." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose a folder that does not contain a 'project.godot' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "It would be a good idea to name your project." +msgstr "" + +#: editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't get project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't edit project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't create project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Rename Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't get project.godot in the project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create folder" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't open project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Are you sure to open more than one project?" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Can't run project: no main scene defined.\n" +"Please edit the project and set the main scene in \"Project Settings\" under " +"the \"Application\" category." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Can't run project: Assets need to be imported.\n" +"Please edit the project to trigger the initial import." +msgstr "" + +#: editor/project_manager.cpp +msgid "Are you sure to run more than one project?" +msgstr "" + +#: editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Language changed.\n" +"The UI will update next time the editor or project manager starts." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"You are about the scan %s folders for existing Godot projects. Do you " +"confirm?" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: editor/project_manager.cpp +msgid "Select a Folder to Scan" +msgstr "" + +#: editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Templates" +msgstr "" + +#: editor/project_manager.cpp +msgid "Exit" +msgstr "" + +#: editor/project_manager.cpp +msgid "Restart Now" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't run project" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"You don't currently have any projects.\n" +"Would you like to explore the official example projects in the Asset Library?" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Key " +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joy Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joy Axis" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Mouse Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Invalid action (anything goes but '/' or ':')." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Press a Key.." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Left Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Right Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Middle Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Up Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Down Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 6" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 7" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 8" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 9" +msgstr "" + +#: editor/project_settings_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Change" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joypad Axis Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Axis" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joypad Button Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Erase Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Device" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Left Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Right Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Middle Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Up." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Down." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Global Property" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Select a setting item first!" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "No property '%s' exists." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Setting '%s' is internal, and it can't be deleted." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Delete Item" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Can't contain '/' or ':'" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Already existing" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Error saving settings." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Settings saved OK." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Override for Feature" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Translation" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Translation" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Remapped Path" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Changed Locale Filter" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Changed Locale Filter Mode" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Project Settings (project.godot)" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: editor/project_settings_editor.cpp editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Override For.." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Input Map" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Device:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Localization" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translations" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translations:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remaps" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Resources:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locale" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locales Filter" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Show all locales" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Show only selected locales" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Filter mode:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locales:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "AutoLoad" +msgstr "" + +#: editor/property_editor.cpp +msgid "Pick a Viewport" +msgstr "" + +#: editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: editor/property_editor.cpp +msgid "File.." +msgstr "" + +#: editor/property_editor.cpp +msgid "Dir.." +msgstr "" + +#: editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: editor/property_editor.cpp +msgid "Select Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "New Script" +msgstr "" + +#: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp +msgid "Make Unique" +msgstr "" + +#: editor/property_editor.cpp +msgid "Show in File System" +msgstr "" + +#: editor/property_editor.cpp +msgid "Convert To %s" +msgstr "" + +#: editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Selected node is not a Viewport!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Pick a Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: editor/property_editor.cpp +msgid "On" +msgstr "" + +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + +#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp +msgid "Set" +msgstr "" + +#: editor/property_editor.cpp +msgid "Properties:" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Property" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Virtual Method" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Method" +msgstr "" + +#: editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "No parent to instance the scenes at." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Ok" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can not perform with the root node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Save New Scene As.." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Editable Children" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Load As Placeholder" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Discard Instancing" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Makes Sense!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Sub-Resources:" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Inheritance" +msgstr "" + +#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Copy Node Path" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete (No Confirm)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Filter nodes" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach a new or existing script for the selected node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear a script for the selected node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Remote" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Local" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear!" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem Visible" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Node configuration warning:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node has connection(s) and group(s)\n" +"Click to show signals dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node has connections.\n" +"Click to show signals dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is in group(s).\n" +"Click to show groups dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Open script" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is locked.\n" +"Click to unlock" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Children are not selectable.\n" +"Click to make selectable" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Visibility" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Node Configuration Warning!" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error loading template '%s'" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error - Could not create script in filesystem." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error loading script from %s" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Directory of the same name exists" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "File exists, will be reused" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Wrong extension chosen" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid Path" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid inherited parent name or path" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Script valid" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Allowed: a-z, A-Z, 0-9 and _" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Built-in script (into scene file)" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Create new script file" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Load existing script file" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Inherits" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Class Name" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Template" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Built-in Script" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Attach Node Script" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Remote " +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Warning" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Pick one or more items from the list to display the graph." +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Variable" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Profiler" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Value" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Monitors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "List of Video Memory Usage by Resource:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change AudioStreamPlayer3D Emission Angle" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Particles AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Probe Extents" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Remove current entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Library" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Status" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Libraries: " +msgstr "" + +#: modules/gdnative/register_types.cpp +msgid "GDNative" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Object can't provide a length." +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Delete Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Duplicate Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Floor:" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Grid Map" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Snap View" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Previous Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Next Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Disabled" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Above" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Below" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit X Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit Y Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit Z Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate X" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate Y" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate Z" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate X" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate Y" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate Z" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Clear Rotation" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Create Area" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Create Exterior Connector" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Erase Area" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clear Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Settings" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Pick Distance:" +msgstr "" + +#: modules/mono/editor/mono_bottom_panel.cpp +msgid "Builds" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"A node yielded without working memory, please read the docs on how to yield " +"properly!" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"Node yielded, but did not return a function state in the first working " +"memory." +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"Return value must be assigned to first element of node working memory! Fix " +"your node please." +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Node returned an invalid sequence output: " +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Found sequence bit but not the node in the stack, report bug!" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Stack overflow with stack depth: " +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Signal Arguments" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Argument Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Argument name" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Set Variable Default Value" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Set Variable Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Functions:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Variables:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Name is not a valid identifier:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Name already in use by another func/var/signal:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Expression" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Duplicate VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a simple reference to the node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a simple reference to the node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a Variable Setter." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a Variable Setter." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Preload Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Node(s) From Tree" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Getter Property" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Setter Property" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Base Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Move Node(s)" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove VisualScript Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Connect Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Condition" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Sequence" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Switch" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Iterator" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "While" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Return" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Call" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Get" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Script already has function '%s'" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Input Value" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Can't copy the function node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Clipboard is empty!" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Paste VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Variable:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Signal:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Base Type:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Available Nodes:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Select or create a function to edit graph" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Signal Arguments:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Variable:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Delete Selected" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Find Node Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Copy Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Cut Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Paste Nodes" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Input type not iterable: " +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Iterator became invalid" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Iterator became invalid: " +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Invalid index property name." +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Base object is not a Node!" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Path does not lead Node!" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Invalid index property name '%s' in node %s." +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid ": Invalid argument of type: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid ": Invalid arguments: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "VariableGet not found in script: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "VariableSet not found in script: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Custom node has no _step() method, can't process graph." +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "" +"Invalid return value from _step(), must be integer (seq out), or string " +"(error)." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Run in Browser" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Run exported HTML in the system's default browser." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not write file:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not open template for export:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Invalid export template:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read custom HTML shell:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read boot splash image file:\n" +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "" + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp scene/3d/particles.cpp +msgid "" +"A material to process the particles is not assigned, so no behavior is " +"imprinted." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/physics_body_2d.cpp +msgid "" +"Size changes to RigidBody2D (in character or rigid modes) will be overriden " +"by the physics engine when running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRCamera must have an ARVROrigin node as its parent" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRController must have an ARVROrigin node as its parent" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "" +"The controller id must not be 0 or this controller will not be bound to an " +"actual controller" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRAnchor must have an ARVROrigin node as its parent" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "" +"The anchor id must not be 0 or this anchor will not be bound to an actual " +"anchor" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVROrigin requires an ARVRCamera child node" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/collision_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "Plotting Meshes" +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +msgstr "" + +#: scene/3d/particles.cpp +msgid "" +"Nothing is visible because meshes have not been assigned to draw passes." +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "" +"Size changes to RigidBody (in character or rigid modes) will be overriden by " +"the physics engine when running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/3d/remote_transform.cpp +msgid "Path property must point to a valid Spatial node to work." +msgstr "" + +#: scene/3d/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "" +"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " +"it as a child of a VehicleBody." +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Raw Mode" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Add current color as a preset" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Select this Folder" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/gui/scroll_container.cpp +msgid "" +"ScrollContainer is intended to work with a single child control.\n" +"Use a container as child (VBox,HBox,etc), or a Control and set the custom " +"minimum size manually." +msgstr "" + +#: scene/gui/tree.cpp +msgid "(Other)" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "" +"Default Environment as specified in Project Setings (Rendering -> Viewport -" +"> Default Environment) could not be loaded." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This viewport is not set as render target. If you intend for it to display " +"its contents directly to the screen, make it a child of a Control so it can " +"obtain a size. Otherwise, make it a RenderTarget and assign its internal " +"texture to some node for display." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Invalid font size." +msgstr "" + +#~ msgid "Move Add Key" +#~ msgstr "Hreyfa Viðbótar Lykil" diff --git a/editor/translations/it.po b/editor/translations/it.po index 5b0d9a4154..974e667dfb 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -1,6 +1,6 @@ # Italian translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Dario Bonfanti <bonfi.96@hotmail.it>, 2016-2017. @@ -11,13 +11,14 @@ # Marco Melorio <m.melorio@icloud.com>, 2017. # Myself <whatamidoing.wt@gmail.com>, 2017. # RealAquilus <JamesHeller@live.it>, 2017. +# Sean Bone <seanbone@zumguy.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-25 22:47+0000\n" -"Last-Translator: Myself <whatamidoing.wt@gmail.com>\n" +"PO-Revision-Date: 2017-12-14 12:48+0000\n" +"Last-Translator: anonymous <>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -36,8 +37,9 @@ msgid "All Selection" msgstr "Seleziona Tutto" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Sposta Aggiunta Key" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Cambia Valore" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -48,7 +50,8 @@ msgid "Anim Change Transform" msgstr "Anim Cambia Transform" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Cambia Valore" #: editor/animation_editor.cpp @@ -543,8 +546,9 @@ msgid "Connecting Signal:" msgstr "Connessione Segnali:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Crea Sottoscrizione" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Connetti '%s' a '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -560,7 +564,8 @@ msgid "Signals" msgstr "Segnali" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Crea Nuovo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -575,7 +580,7 @@ msgstr "Recenti:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Cerca:" @@ -616,6 +621,7 @@ msgstr "" "I cambiamenti avranno effetto quando sarà ricaricata." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dipendenze" @@ -719,9 +725,10 @@ msgid "Delete selected files?" msgstr "Eliminare i file selezionati?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Elimina" @@ -864,6 +871,11 @@ msgid "Rename Audio Bus" msgstr "Rinomina Bus Audio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Imposta Bus Audio su Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Imposta Bus Audio su Solo" @@ -911,8 +923,8 @@ msgstr "Bypassa" msgid "Bus options" msgstr "Opzioni bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "duplica" @@ -925,6 +937,10 @@ msgid "Delete Effect" msgstr "Elimina Effetto" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Aggiungi Bus Audio" @@ -1081,7 +1097,8 @@ msgstr "Percorso:" msgid "Node Name:" msgstr "Nome Nodo:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nome" @@ -1089,10 +1106,6 @@ msgstr "Nome" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Aggiornamento Scena" @@ -1105,6 +1118,15 @@ msgstr "Memorizzando i cambiamenti locali.." msgid "Updating scene.." msgstr "Aggiornando la scena.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vuoto)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Si prega di selezionare prima una directory di base" @@ -1151,9 +1173,24 @@ msgid "File Exists, Overwrite?" msgstr "File Esistente, Sovrascrivere?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Crea Cartella" +msgstr "Seleziona Cartella Attuale" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copia Percorso" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostra nel File Manager" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nuova Cartella.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Aggiorna" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1202,10 +1239,6 @@ msgid "Go Up" msgstr "Vai Su" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Aggiorna" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Abilita File Nascosti" @@ -1385,7 +1418,8 @@ msgstr "Output:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Rimuovi" @@ -1546,14 +1580,12 @@ msgstr "" "scene per comprendere al meglio questa procedura." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Espandi tutto" +msgstr "Espandi tutte le proprietà " #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Comprimi tutto" +msgstr "Comprimi tutte le proprietà " #: editor/editor_node.cpp msgid "Copy Params" @@ -1829,7 +1861,6 @@ msgid "%d more folders" msgstr "%d altre cartelle" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files" msgstr "%d altri file" @@ -2327,7 +2358,7 @@ msgstr "Frame %" #: editor/editor_profiler.cpp #, fuzzy msgid "Physics Frame %" -msgstr "Frame Fisso %" +msgstr "Frame Fisico %" #: editor/editor_profiler.cpp editor/script_editor_debugger.cpp msgid "Time:" @@ -2345,6 +2376,16 @@ msgstr "Se stesso" msgid "Frame #:" msgstr "Frame #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Chiama" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Seleziona il dispositivo dall'elenco" @@ -2487,7 +2528,8 @@ msgstr "Nessuna risposta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Rich. Fall." #: editor/export_template_manager.cpp @@ -2521,14 +2563,12 @@ msgid "Disconnected" msgstr "Disconnesso" #: editor/export_template_manager.cpp -#, fuzzy msgid "Resolving" -msgstr "Risolvendo.." +msgstr "Risolvendo" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't Resolve" -msgstr "Impossibile risolvete." +msgstr "Impossibile risolvere" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2537,8 +2577,8 @@ msgstr "Connettendo.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" -msgstr "Impossibile connettersi." +msgid "Can't Connect" +msgstr "Impossibile connettersi" #: editor/export_template_manager.cpp msgid "Connected" @@ -2550,19 +2590,17 @@ msgid "Requesting.." msgstr "Richiedendo.." #: editor/export_template_manager.cpp -#, fuzzy msgid "Downloading" -msgstr "Scarica" +msgstr "Download in corso" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connection Error" -msgstr "Connettendo.." +msgstr "Errore di connessione" #: editor/export_template_manager.cpp #, fuzzy msgid "SSL Handshake Error" -msgstr "Carica Errori" +msgstr "Errore nell'Handshake SSL" #: editor/export_template_manager.cpp msgid "Current Version:" @@ -2593,9 +2631,8 @@ msgid "Download Templates" msgstr "Scarica Templates" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select mirror from list: " -msgstr "Seleziona il dispositivo dall'elenco" +msgstr "Seleziona mirror dall'elenco " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" @@ -2638,6 +2675,11 @@ msgid "Error moving:\n" msgstr "Errore spostamento:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Errore in caricamento:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Impossibile aggiornare le dipendenze:\n" @@ -2670,6 +2712,16 @@ msgid "Renaming folder:" msgstr "Rinomina cartella:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "duplica" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Rinomina cartella:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Espandi tutto" @@ -2678,10 +2730,6 @@ msgid "Collapse all" msgstr "Comprimi tutto" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copia Percorso" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Rinomina.." @@ -2690,12 +2738,9 @@ msgid "Move To.." msgstr "Sposta in.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nuova Cartella.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostra nel File Manager" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Apri Scena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2710,6 +2755,11 @@ msgid "View Owners.." msgstr "Vedi Proprietari.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "duplica" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Directory Precedente" @@ -2775,9 +2825,8 @@ msgid "Import with Separate Objects+Materials" msgstr "Importa con Oggetti Separati+Materiali" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Objects+Animations" -msgstr "Importa con Oggetti Separati+Animazioni" +msgstr "Importa con Oggetti Separati e Animazioni" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" @@ -2805,6 +2854,16 @@ msgid "Importing Scene.." msgstr "Importando Scena.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Trasferisci a Lightmap:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generando AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Eseguendo Script Personalizzato.." @@ -2830,7 +2889,7 @@ msgstr "Imposta come Default per '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "Elimina Default per '%s'" #: editor/import_dock.cpp msgid " Files" @@ -2886,9 +2945,8 @@ msgid "Remove Poly And Point" msgstr "Rimuovi Poligono e Punto" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Create a new polygon from scratch" -msgstr "Crea un nuovo poligono dal nulla." +msgstr "Crea un nuovo poligono da zero" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -3056,42 +3114,41 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Attiva Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Sezioni:" +msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Incolla" +msgstr "Passato" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Texture" +msgstr "Futuro" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profondità " #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 Passo" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "2 steps" -msgstr "" +msgstr "2 Passi" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "3 steps" -msgstr "" +msgstr "3 Passi" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Solo Differenze" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3376,6 +3433,7 @@ msgid "last" msgstr "ultimo" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Tutti" @@ -3417,6 +3475,28 @@ msgstr "Testing" msgid "Assets ZIP File" msgstr "ZIP File degli Asset" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Trasferisci a Lightmap:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Anteprima" @@ -3456,27 +3536,22 @@ msgid "Move vertical guide" msgstr "Muovi guida verticale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create new vertical guide" msgstr "Crea nuova guida verticale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove vertical guide" msgstr "Rimuovi guida verticale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move horizontal guide" msgstr "Sposta guida orizzontale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create new horizontal guide" msgstr "Crea nuova guida orizzontale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove horizontal guide" msgstr "Rimuovi guida orizzontale" @@ -3558,22 +3633,19 @@ msgstr "Modalità di Pan" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Toggles snapping" -msgstr "Abilita Breakpoint" +msgstr "Abilita snapping" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Usa lo Snap" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snapping options" msgstr "Opzioni snapping" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to grid" -msgstr "Modalità Snap:" +msgstr "Allinea alla griglia" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" @@ -3599,16 +3671,17 @@ msgstr "Snapping intelligente" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to parent" -msgstr "Espandi a Genitore" +msgstr "Allinea a Genitore" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Snap to node anchor" -msgstr "" +msgstr "Allinea ad ancora nodo" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to node sides" -msgstr "Snap ai lati del nodo" +msgstr "Allinea ai lati del nodo" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" @@ -3617,7 +3690,7 @@ msgstr "Snap ad altri nodi" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to guides" -msgstr "Modalità Snap:" +msgstr "Allinea alle guide" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -3753,16 +3826,6 @@ msgstr "Errore istanziamento scena da %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Nessun genitore del quale istanziare un figlio." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Questa operazione richiede un solo nodo selezionato." @@ -3873,12 +3936,13 @@ msgid "Remove Curve Point" msgstr "Rimuovi Punto Percorso" #: editor/plugins/curve_editor_plugin.cpp +#, fuzzy msgid "Toggle Curve Linear Tangent" -msgstr "" +msgstr "Aziona Tangente di Curva Lineare" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Tenere Premuto Shift per modificare le tangenti singolarmente" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" @@ -3967,6 +4031,22 @@ msgid "Create Navigation Mesh" msgstr "Crea Mesh di Navigazione" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance manca di una Mesh!" @@ -4007,6 +4087,20 @@ msgid "Create Outline Mesh.." msgstr "Crea Mesh di Outline.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Vista" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Vista" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Crea Mesh di Outline" @@ -4177,8 +4271,9 @@ msgid "Converting to native navigation mesh..." msgstr "Convertendo a Mesh do Navigazione nativa..." #: editor/plugins/navigation_mesh_generator.cpp +#, fuzzy msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "Impostazioni Generatore Rete di Navigazione" #: editor/plugins/navigation_mesh_generator.cpp #, fuzzy @@ -4194,10 +4289,6 @@ msgid "Create Navigation Polygon" msgstr "Crea Poligono di Navigazione" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Cancella Maschera Emissione" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Generando AABB" @@ -4217,10 +4308,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Nessun pixel con trasparenza >128 nell'immagine.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Imposta Maschera Emissione" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Genera Rect Visibilità " @@ -4229,6 +4316,10 @@ msgid "Load Emission Mask" msgstr "Carica Maschera Emissione" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Cancella Maschera Emissione" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "Particelle" @@ -4287,10 +4378,6 @@ msgid "Create Emission Points From Node" msgstr "Crea Punti Emissione Da Nodo" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Cancella Emitter" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Crea Emitter" @@ -4536,10 +4623,13 @@ msgid "Clear Recent Files" msgstr "Elimina File recenti" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "" "Close and save changes?\n" "\"" msgstr "" +"Chiudere e salvare i cambiamenti?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" @@ -4566,8 +4656,9 @@ msgid "Save Theme As.." msgstr "Salva Tema Come.." #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid " Class Reference" -msgstr "" +msgstr " Riferimento di Classe" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -4576,11 +4667,13 @@ msgstr "Ordina:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Sposta Su" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Sposta giù" @@ -4596,7 +4689,7 @@ msgstr "Script Precedente" msgid "File" msgstr "File" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nuovo" @@ -4609,6 +4702,11 @@ msgid "Soft Reload Script" msgstr "Ricarica Script Soft" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copia Percorso" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Cronologia Succ." @@ -4637,8 +4735,9 @@ msgid "Close All" msgstr "Chiudi Tutto" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Close Other Tabs" -msgstr "" +msgstr "Chiudi le Altre Schede" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" @@ -4741,8 +4840,9 @@ msgstr "" "cui appartengono è caricata" #: editor/plugins/script_text_editor.cpp +#, fuzzy msgid "Only resources from filesystem can be dropped." -msgstr "" +msgstr "Solo le risorse del filesystem possono essere liberate." #: editor/plugins/script_text_editor.cpp msgid "Pick Color" @@ -4803,20 +4903,17 @@ msgstr "Clona Sotto" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Vai alla Linea" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" +msgid "Fold/Unfold Line" +msgstr "Svolgere Linea" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "" +msgstr "Piegare Tutte le Linee" #: editor/plugins/script_text_editor.cpp +#, fuzzy msgid "Unfold All Lines" -msgstr "" +msgstr "Svolgere Tutte le Linee" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" @@ -5131,12 +5228,20 @@ msgstr "Vertici" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS" -msgstr "" +msgstr "FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align with view" msgstr "Allinea a vista" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Nessun genitore del quale istanziare un figlio." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Mostra Normale" @@ -5247,6 +5352,20 @@ msgid "Scale Mode (R)" msgstr "Modalità Scala (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordinate locali" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modalità Scala (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modalità Snap:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vista dal Basso" @@ -5320,10 +5439,6 @@ msgid "Configure Snap.." msgstr "Configura Snap..." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordinate locali" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Finestra di Transform.." @@ -5365,6 +5480,10 @@ msgid "Settings" msgstr "Impostazioni" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Impostazioni Snap" @@ -5568,11 +5687,11 @@ msgstr "Rimuovi" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "Modifica Tema…" #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "Menu di modifica dei temi." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" @@ -5757,6 +5876,11 @@ msgid "Merge from scene?" msgstr "Unisci da scena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Crea da Scena" @@ -5768,6 +5892,10 @@ msgstr "Unisci da Scena" msgid "Error" msgstr "Errore" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Annulla" + #: editor/project_export.cpp msgid "Runnable" msgstr "Eseguibile" @@ -5847,7 +5975,7 @@ msgstr "Texture" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "" +msgstr "Personalizzato (separati da virgola):" #: editor/project_export.cpp #, fuzzy @@ -5886,22 +6014,21 @@ msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"Il tuo progetto verrà creato in una cartella già esistente (forse vorresti " +"creare una nuova cartella?)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." msgstr "" +"Per favore seleziona una cartella che non contiene un file 'project.godot'." #: editor/project_manager.cpp msgid "Imported Project" msgstr "Progetto Importato" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "Sarebbe una buona idea dare un nome al tuo progetto." #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." @@ -6001,6 +6128,8 @@ msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"Impossibile eseguire il progetto: le Risorse devono essere importate.\n" +"Per favore modifica il progetto per azionare l'importo iniziale." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" @@ -6017,6 +6146,9 @@ msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"Lingua cambiata.\n" +"L'interfaccia utente sarà aggiornata la prossima volta che l'editor o il " +"project manager si avvia." #: editor/project_manager.cpp msgid "" @@ -6059,10 +6191,13 @@ msgid "Can't run project" msgstr "Impossibile connettersi." #: editor/project_manager.cpp +#, fuzzy msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Al momento non hai alcun progetto.\n" +"Ti piacerebbe esplorare gli esempi ufficiali nella libreria delle Risorse?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6170,8 +6305,9 @@ msgid "Joypad Button Index:" msgstr "Indice Pulsante Joypad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Aggiungi azione di input" +#, fuzzy +msgid "Erase Input Action" +msgstr "Elimina Evento di Azione Input" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6216,7 +6352,7 @@ msgstr "Aggiungi Proprietà Getter" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "Prima seleziona un oggetto di impostazione!" #: editor/project_settings_editor.cpp #, fuzzy @@ -6225,7 +6361,7 @@ msgstr "Proprietà :" #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" +msgstr "L'impostazione '%s' è interna e non può essere rimossa." #: editor/project_settings_editor.cpp #, fuzzy @@ -6243,6 +6379,10 @@ msgid "Already existing" msgstr "Attiva Persistenza" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Aggiungi azione di input" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Errore nel salvare le impostazioni." @@ -6252,7 +6392,7 @@ msgstr "Impostazioni salvate OK." #: editor/project_settings_editor.cpp msgid "Override for Feature" -msgstr "" +msgstr "Sovrascrivi per Caratteristica" #: editor/project_settings_editor.cpp msgid "Add Translation" @@ -6305,7 +6445,7 @@ msgstr "Proprietà :" #: editor/project_settings_editor.cpp msgid "Override For.." -msgstr "" +msgstr "Sovrascrivi Per.." #: editor/project_settings_editor.cpp msgid "Input Map" @@ -6363,7 +6503,7 @@ msgstr "Mostra Ossa" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "Mostra solo le lingue selezionate" #: editor/project_settings_editor.cpp #, fuzzy @@ -6425,6 +6565,10 @@ msgid "New Script" msgstr "Nuovo Script" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "Crea Ossa" @@ -6459,6 +6603,11 @@ msgstr "Bit %d, val %d." msgid "On" msgstr "On" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Aggiungi vuoto" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Set" @@ -6467,10 +6616,6 @@ msgstr "Set" msgid "Properties:" msgstr "Proprietà :" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Sezioni:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Seleziona Proprietà " @@ -6845,7 +6990,7 @@ msgstr "Percorso di base invalido" #: editor/script_create_dialog.cpp msgid "Directory of the same name exists" -msgstr "" +msgstr "Una cartella con lo stesso nome esiste già " #: editor/script_create_dialog.cpp #, fuzzy @@ -6943,7 +7088,7 @@ msgstr "Funzione:" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "Scegli uno o più oggetti dalla lista per mostrare il grafico." #: editor/script_editor_debugger.cpp msgid "Errors" @@ -7045,13 +7190,17 @@ msgstr "Imposta da Tree" msgid "Shortcuts" msgstr "Scorciatoie" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Cambia Raggio Luce" #: editor/spatial_editor_gizmos.cpp msgid "Change AudioStreamPlayer3D Emission Angle" -msgstr "" +msgstr "Cambia l'Angolo di Emissione AudioStreamPlayer3D" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" @@ -7093,23 +7242,63 @@ msgstr "Cambia AABB Particelle" msgid "Change Probe Extents" msgstr "Cambia Estensione Probe" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Rimuovi Punto Percorso" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "Copia A Piattaforma.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "MeshLibrary.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "MeshLibrary.." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "Stato:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " -msgstr "" +msgstr "Librerie: " #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -7158,7 +7347,7 @@ msgstr "Istanza invalida formato dizionario (sottoclassi invalide)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "" +msgstr "L'oggetto non può fornire una lunghezza." #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7172,7 +7361,7 @@ msgstr "Duplica Selezione" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "" +msgstr "Piano:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7191,7 +7380,7 @@ msgstr "Scheda precedente" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" -msgstr "" +msgstr "Prossimo Piano" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7199,24 +7388,26 @@ msgid "Clip Disabled" msgstr "Disabilitato" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Clip Above" -msgstr "" +msgstr "Allinea Sopra" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Clip Below" -msgstr "" +msgstr "Allinea Sotto" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "" +msgstr "Modifica l'Asse X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "" +msgstr "Modifica l'Asse Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "" +msgstr "Modifica l'Asse Z" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7234,20 +7425,24 @@ msgid "Cursor Rotate Z" msgstr "Ctrl: Ruota" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Back Rotate X" -msgstr "" +msgstr "Rotazione all'indietro del Cursore X" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Back Rotate Y" -msgstr "" +msgstr "Rotazione all'indietro del Cursore Y" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Back Rotate Z" -msgstr "" +msgstr "Rotazione all'indietro del Cursore Z" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Clear Rotation" -msgstr "" +msgstr "Rimuovi Rotazione Cursore" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7280,8 +7475,9 @@ msgid "Pick Distance:" msgstr "Istanza:" #: modules/mono/editor/mono_bottom_panel.cpp +#, fuzzy msgid "Builds" -msgstr "" +msgstr "Costruzioni" #: modules/visual_script/visual_script.cpp msgid "" @@ -7503,7 +7699,7 @@ msgstr "Get" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "" +msgstr "Lo Script ha già la funzione '%s'" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -7795,11 +7991,15 @@ msgstr "" "Path2D." #: scene/2d/physics_body_2d.cpp +#, fuzzy msgid "" "Size changes to RigidBody2D (in character or rigid modes) will be overriden " "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"I cambiamenti di dimensione a RigidBody2D (nel personaggio o nelle modalità " +"rigide) saranno sovrascritti dal motore fisico quando in esecuzione.\n" +"Modifica invece la dimensione nelle sagome di collisioni figlie." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -7816,31 +8016,55 @@ msgstr "" #: scene/3d/arvr_nodes.cpp msgid "ARVRCamera must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRCamera deve avere un nodo ARVROrigin come suo genitore." #: scene/3d/arvr_nodes.cpp msgid "ARVRController must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRController deve avere un nodo ARVROrigin come suo genitore" #: scene/3d/arvr_nodes.cpp msgid "" "The controller id must not be 0 or this controller will not be bound to an " "actual controller" msgstr "" +"L'id del controller non deve essere 0 o questo controller non sarà legato ad " +"un vero controller" #: scene/3d/arvr_nodes.cpp msgid "ARVRAnchor must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRAnchor deve avere un nodo ARVROrigin come suo genitore" #: scene/3d/arvr_nodes.cpp msgid "" "The anchor id must not be 0 or this anchor will not be bound to an actual " "anchor" msgstr "" +"L'id dell'ancora non deve essere 0 o questa ancora non sarà legata ad una " +"vera ancora" #: scene/3d/arvr_nodes.cpp msgid "ARVROrigin requires an ARVRCamera child node" -msgstr "" +msgstr "ARVROrigin necessita di un nodo figlio ARVRCamera" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Bliting Immagini" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Bliting Immagini" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +#, fuzzy +msgid "Finishing Plot" +msgstr "Finalizzazione del Plot" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Bliting Immagini" #: scene/3d/collision_polygon.cpp msgid "" @@ -7880,10 +8104,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Bliting Immagini" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7909,6 +8129,9 @@ msgid "" "the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"I cambiamenti di dimensione a RigidBody (nel personaggio o nelle modalità " +"rigide) saranno sovrascritti dal motore fisico quando in esecuzione.\n" +"Modifica invece la dimensione in sagome di collisione figlie." #: scene/3d/remote_transform.cpp msgid "Path property must point to a valid Spatial node to work." @@ -7936,6 +8159,8 @@ msgid "" "VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " "it as a child of a VehicleBody." msgstr "" +"VehicleWheel serve a provvedere un sistema di ruote a VehicleBody. Per " +"favore usalo come figlio di VehicleBody." #: scene/gui/color_picker.cpp #, fuzzy @@ -7947,10 +8172,6 @@ msgid "Add current color as a preset" msgstr "Aggiungi colore attuale come preset" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Annulla" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Attenzione!" @@ -7985,7 +8206,7 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "(Altro)" #: scene/main/scene_tree.cpp msgid "" @@ -8023,6 +8244,31 @@ msgstr "Errore caricamento font." msgid "Invalid font size." msgstr "Dimensione font Invalida." +#~ msgid "Move Add Key" +#~ msgstr "Sposta Aggiunta Key" + +#~ msgid "Create Subscription" +#~ msgstr "Crea Sottoscrizione" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Imposta Maschera Emissione" + +#~ msgid "Clear Emitter" +#~ msgstr "Cancella Emitter" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "Vai alla Linea" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Sezioni:" + #~ msgid "Cannot navigate to '" #~ msgstr "Impossibile navigare a '" @@ -8563,9 +8809,6 @@ msgstr "Dimensione font Invalida." #~ msgid "Making BVH" #~ msgstr "Creazione BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Trasferisci a Lightmap:" - #~ msgid "Allocating Texture #" #~ msgstr "Allocazione Texture #" @@ -8706,9 +8949,6 @@ msgstr "Dimensione font Invalida." #~ msgid "Del" #~ msgstr "Elim." -#~ msgid "Copy To Platform.." -#~ msgstr "Copia A Piattaforma.." - #~ msgid "just pressed" #~ msgstr "appena premuto" diff --git a/editor/translations/ja.po b/editor/translations/ja.po index dd7f1d468b..66b9115692 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -1,28 +1,31 @@ # Japanese translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # akirakido <achts.y@gmail.com>, 2016-2017. # D_first <dntk.daisei@gmail.com>, 2017. # Daisuke Saito <d.saito@coriginate.com>, 2017. +# h416 <shinichiro.hirama@gmail.com>, 2017. # hopping tappy (ãŸã£ã´ã•ã‚“) <hopping.tappy@gmail.com>, 2016-2017. +# Jun Shiozawa <haresecret@gmail.com>, 2017. # Lexi Grafen <shfeedly@gmail.com>, 2017. +# NoahDigital <taku_58@hotmail.com>, 2017. # Tetsuji Ochiai <ochiaixp@gmail.com>, 2017. # Tohru Ike (rokujyouhitoma) <rokujyouhitomajp@gmail.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-26 10:47+0000\n" -"Last-Translator: D_first <dntk.daisei@gmail.com>\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: NoahDigital <taku_58@hotmail.com>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" "Language: ja\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -33,8 +36,9 @@ msgid "All Selection" msgstr "ã™ã¹ã¦é¸æŠž" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "è¿½åŠ ã—ãŸã‚ーを移動" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim 値を変更" #: editor/animation_editor.cpp #, fuzzy @@ -47,8 +51,9 @@ msgid "Anim Change Transform" msgstr "Anim 変形(トランスフォーム)" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "値を変更" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Anim 値を変更" #: editor/animation_editor.cpp #, fuzzy @@ -90,13 +95,14 @@ msgid "Anim Track Change Interpolation" msgstr "Anim トラック補間ã®å¤‰æ›´" #: editor/animation_editor.cpp +#, fuzzy msgid "Anim Track Change Value Mode" -msgstr "Anim トラック値モード変更" +msgstr "Anim トラック 値モードã®å¤‰æ›´" #: editor/animation_editor.cpp #, fuzzy msgid "Anim Track Change Wrap Mode" -msgstr "Anim トラック値モード変更" +msgstr "Anim トラック ラップモードã®å¤‰æ›´" #: editor/animation_editor.cpp msgid "Edit Node Curve" @@ -167,31 +173,24 @@ msgid "Linear" msgstr "ç‰é€Ÿ" #: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Constant" -msgstr "一定" +msgstr "コンスタント" #: editor/animation_editor.cpp -#, fuzzy msgid "In" -msgstr "トランジションイン" +msgstr "イン" #: editor/animation_editor.cpp msgid "Out" -msgstr "トランジションアウト" +msgstr "アウト" #: editor/animation_editor.cpp -#, fuzzy msgid "In-Out" -msgstr "" -"最åˆã«æ–°ã—ã„è¦ç´ ãŒãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ã—ã¦ã‹ã‚‰ç¾åœ¨ã®è¦ç´ ãŒãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚¢ã‚¦ãƒˆ" -"ã™ã‚‹" +msgstr "イン - アウト" #: editor/animation_editor.cpp msgid "Out-In" -msgstr "" -"最åˆã«ç¾åœ¨ã®è¦ç´ ãŒãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚¢ã‚¦ãƒˆã—ã¦ã‹ã‚‰æ–°ã—ã„è¦ç´ ãŒãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚¤ãƒ³" -"ã™ã‚‹" +msgstr "アウト - イン" #: editor/animation_editor.cpp #, fuzzy @@ -591,8 +590,8 @@ msgstr "シグナルを接続:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "サブスクリプションã®ç”Ÿæˆ" +msgid "Disconnect '%s' from '%s'" +msgstr "'%s' ã‚’ '%s' ã«æŽ¥ç¶š" #: editor/connections_dialog.cpp #, fuzzy @@ -611,7 +610,8 @@ msgid "Signals" msgstr "シグナル" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "æ–°è¦ã«ç”Ÿæˆ" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -627,7 +627,7 @@ msgstr "最近ã®:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp #, fuzzy msgid "Search:" msgstr "検索:" @@ -675,6 +675,7 @@ msgstr "" "変更ã¯å†èªè¾¼æ™‚ã«é©ç”¨ã•れã¾ã™" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ä¾å˜é–¢ä¿‚" @@ -794,9 +795,10 @@ msgid "Delete selected files?" msgstr "é¸æŠžã—ãŸãƒ•ァイルを消去ã—ã¾ã™ã‹?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy msgid "Delete" msgstr "消去" @@ -895,6 +897,9 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" +"Godot Engineã¯ã€MITライセンスã¨äº’æ›æ€§ã®ã‚ã‚‹ã€å¤šæ•°ã®ã‚µãƒ¼ãƒ‰ãƒ‘ーティ製ã®ãƒ•リーãŠ" +"よã³ã‚ªãƒ¼ãƒ—ンソースã®ãƒ©ã‚¤ãƒ–ラリã«ä¾å˜ã—ã¦ã„ã¾ã™ã€‚ 以下ã¯ã€ã‚µãƒ¼ãƒ‰ãƒ‘ーティ製コン" +"ãƒãƒ¼ãƒãƒ³ãƒˆã®è‘—作権ãŠã‚ˆã³ãƒ©ã‚¤ã‚»ãƒ³ã‚¹æ¡é …ã®å®Œå…¨ãªãƒªã‚¹ãƒˆã§ã™ã€‚" #: editor/editor_about.cpp #, fuzzy @@ -947,37 +952,37 @@ msgid "Speakers" msgstr "スピーカー" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add Effect" -msgstr "ã‚¤ãƒ™ãƒ³ãƒˆã‚’è¿½åŠ " +msgstr "ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’è¿½åŠ " #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Rename Audio Bus" -msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã" +msgstr "オーディオãƒã‚¹åを変更" #: editor/editor_audio_buses.cpp #, fuzzy +msgid "Change Audio Bus Volume" +msgstr "オーディオãƒã‚¹ã‚’ソãƒã«åˆ‡ã‚Šæ›¿ãˆ" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã" +msgstr "オーディオãƒã‚¹ã‚’ソãƒã«åˆ‡ã‚Šæ›¿ãˆ" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Toggle Audio Bus Mute" -msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã" +msgstr "オーディオãƒã‚¹ã‚’ミュートã«åˆ‡ã‚Šæ›¿ãˆ" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" -msgstr "" +msgstr "オーディオãƒã‚¹ã®ãƒã‚¤ãƒ‘スエフェクト切り替ãˆ" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "" +msgstr "オーディオãƒã‚¹ã®é€ä¿¡å…ˆã‚’é¸æŠž" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add Audio Bus Effect" -msgstr "オーディオãƒã‚¹ã‚¨ãƒ•ェクトã®è¿½åŠ " +msgstr "オーディオãƒã‚¹ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’è¿½åŠ " #: editor/editor_audio_buses.cpp #, fuzzy @@ -985,45 +990,46 @@ msgid "Move Bus Effect" msgstr "ãƒã‚¹ã‚¨ãƒ•ェクトã®ç§»å‹•" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Delete Bus Effect" -msgstr "é¸æŠžç¯„å›²ã‚’æ¶ˆåŽ»" +msgstr "ãƒã‚¹ã‚¨ãƒ•ェクトを消去" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "" +msgstr "オーディオãƒã‚¹ã‚’ドラッグ・アンド・ドãƒãƒƒãƒ—ã§(å†)整列." #: editor/editor_audio_buses.cpp msgid "Solo" -msgstr "" +msgstr "ソãƒ" #: editor/editor_audio_buses.cpp msgid "Mute" -msgstr "" +msgstr "ミュート" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "" +msgstr "ãƒã‚¤ãƒ‘ス" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus options" -msgstr "サブシーンã®ã‚ªãƒ—ション" +msgstr "ãƒã‚¹ã‚ªãƒ—ション" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "複製" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Reset Volume" -msgstr "ズームをリセット" +msgstr "音é‡ã‚’リセット" #: editor/editor_audio_buses.cpp #, fuzzy msgid "Delete Effect" -msgstr "é¸æŠžç¯„å›²ã‚’æ¶ˆåŽ»" +msgstr "エフェクトを消去" + +#: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" #: editor/editor_audio_buses.cpp #, fuzzy @@ -1032,27 +1038,23 @@ msgstr "ãƒã‚¹ã‚’è¿½åŠ ã™ã‚‹" #: editor/editor_audio_buses.cpp msgid "Master bus can't be deleted!" -msgstr "" +msgstr "マスターãƒã‚¹ã¯å‰Šé™¤ã§ãã¾ã›ã‚“!" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Delete Audio Bus" -msgstr "ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã®æ¶ˆåŽ»" +msgstr "オーディオãƒã‚¹ã®æ¶ˆåŽ»" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Duplicate Audio Bus" -msgstr "アニメーションを複製" +msgstr "オーディオãƒã‚¹ã‚’複製" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Reset Bus Volume" -msgstr "ズームをリセット" +msgstr "ãƒã‚¹ãƒœãƒªãƒ¥ãƒ¼ãƒ をリセット" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Move Audio Bus" -msgstr "移動動作" +msgstr "オーディオãƒã‚¹ã‚’移動" #: editor/editor_audio_buses.cpp #, fuzzy @@ -1060,9 +1062,8 @@ msgid "Save Audio Bus Layout As.." msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’別åã§ä¿å˜" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Location for New Layout.." -msgstr "æ–°ã—ã„レイアウトã®ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³.." +msgstr "æ–°ã—ã„レイアウトã®å ´æ‰€.." #: editor/editor_audio_buses.cpp #, fuzzy @@ -1071,14 +1072,11 @@ msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã" #: editor/editor_audio_buses.cpp msgid "There is no 'res://default_bus_layout.tres' file." -msgstr "" +msgstr "'res://default_bus_layout.tres' ファイルãŒã‚りã¾ã›ã‚“." #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Invalid file, not an audio bus layout." -msgstr "" -"ファイル拡張åãŒä¸æ£ã§ã™.\n" -" .fontを使ã£ã¦ãã ã•ã„." +msgstr "䏿£ãªãƒ•ァイルã§ã™.オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã§ã¯ã‚りã¾ã›ã‚“." #: editor/editor_audio_buses.cpp #, fuzzy @@ -1086,9 +1084,8 @@ msgid "Add Bus" msgstr "ãƒã‚¹ã‚’è¿½åŠ ã™ã‚‹" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Create a new Bus Layout." -msgstr "æ–°ã—ã„リソースを生æˆ" +msgstr "æ–°ã—ã„ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’生æˆ." #: editor/editor_audio_buses.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp @@ -1097,9 +1094,8 @@ msgid "Load" msgstr "èªã¿è¾¼ã‚€" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Load an existing Bus Layout." -msgstr "æ—¢å˜ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ディスクã‹ã‚‰èªã¿è¾¼ã¿ç·¨é›†ã™ã‚‹" +msgstr "æ—¢å˜ã®ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’èªã¿è¾¼ã‚€." #: editor/editor_audio_buses.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1118,7 +1114,7 @@ msgstr "標準(既定)" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "" +msgstr "デフォルトã®ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’ãƒãƒ¼ãƒ‰ã—ã¾ã™ã€‚" #: editor/editor_autoload_settings.cpp #, fuzzy @@ -1209,7 +1205,8 @@ msgstr "Path:" msgid "Node Name:" msgstr "ノードã®åå‰:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp #, fuzzy msgid "Name" msgstr "åå‰" @@ -1219,11 +1216,6 @@ msgstr "åå‰" msgid "Singleton" msgstr "シングルトン" -#: editor/editor_autoload_settings.cpp -#, fuzzy -msgid "List:" -msgstr "リスト:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "シーンを更新" @@ -1237,6 +1229,15 @@ msgstr "ãƒãƒ¼ã‚«ãƒ«ç’°å¢ƒã®å¤‰æ›´ã‚’ä¿å˜ã™ã‚‹.." msgid "Updating scene.." msgstr "シーンを更新ã—ã¦ã„ã¾ã™.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(空)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1293,6 +1294,23 @@ msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å˜åœ¨ã—ã¾ã™ã€‚上書ãã—ã¾ã™ã‹ï¼Ÿ" msgid "Select Current Folder" msgstr "フォルダを作æˆã™ã‚‹" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "パスをコピーã™ã‚‹" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§è¡¨ç¤º" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "フォルダを作æˆã™ã‚‹.." + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Refresh" +msgstr "å†èªè¾¼" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp #, fuzzy msgid "All Recognized" @@ -1345,11 +1363,6 @@ msgstr "上ã«å‘ã‹ã†" #: editor/editor_file_dialog.cpp #, fuzzy -msgid "Refresh" -msgstr "å†èªè¾¼" - -#: editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Hidden Files" msgstr "éš ã—ファイルを切り替ãˆã‚‹" @@ -1471,9 +1484,8 @@ msgid "Public Methods:" msgstr "公開メソッド:" #: editor/editor_help.cpp -#, fuzzy msgid "GUI Theme Items" -msgstr "GUIテーマã®éƒ¨å“:" +msgstr "GUIテーマã®éƒ¨å“" #: editor/editor_help.cpp #, fuzzy @@ -1486,18 +1498,16 @@ msgid "Signals:" msgstr "シグナル:" #: editor/editor_help.cpp -#, fuzzy msgid "Enumerations" -msgstr "アニメーション" +msgstr "列挙型" #: editor/editor_help.cpp -#, fuzzy msgid "Enumerations:" -msgstr "アニメーション" +msgstr "列挙型:" #: editor/editor_help.cpp msgid "enum " -msgstr "" +msgstr "列挙型 " #: editor/editor_help.cpp #, fuzzy @@ -1529,6 +1539,8 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" +"ç¾åœ¨ã€ã“ã®ãƒ—ãƒãƒ‘ティã®èª¬æ˜Žã¯ã‚りã¾ã›ã‚“。[color=$color][url=$url]貢献[/url][/" +"color]ã—ã¦ç§ãŸã¡ã‚’助ã‘ã¦ãã ã•ã„!" #: editor/editor_help.cpp #, fuzzy @@ -1545,6 +1557,8 @@ msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" +"ç¾åœ¨ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®èª¬æ˜Žã¯ã‚りã¾ã›ã‚“。[color=$color][url=$url]貢献[/url][/" +"color]ã—ã¦ç§ãŸã¡ã‚’助ã‘ã¦ãã ã•ã„!" #: editor/editor_help.cpp #, fuzzy @@ -1558,7 +1572,8 @@ msgstr " 出力:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "削除" @@ -1605,7 +1620,7 @@ msgstr "ä¿å˜ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒèµ·ãã¾ã—ãŸ." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "" +msgstr "予期ã—ãªã„ファイル終了 '%s'." #: editor/editor_node.cpp #, fuzzy @@ -1694,18 +1709,26 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•れãŸã‚·ãƒ¼ãƒ³ã«æ‰€å±žã—ã¦ã„ã‚‹ãŸã‚ã€ç·¨é›†ã™ã‚‹ã“ã¨ãŒã§ãã¾" +"ã›ã‚“。\n" +"ã“ã®æ‰‹ç¶šãã«ã¤ã„ã¦ã‚ˆã‚Šè‰¯ã„ç†è§£ãŒå¿…è¦ãªã‚‰ã‚·ãƒ¼ãƒ³ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«é–¢ã™ã‚‹ãƒ‰ã‚ュメン" +"トを確èªã—ã¦ä¸‹ã•ã„。" #: editor/editor_node.cpp msgid "" "This resource belongs to a scene that was instanced or inherited.\n" "Changes to it will not be kept when saving the current scene." msgstr "" +"ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã•れãŸã‹ç¶™æ‰¿ã•れãŸã‚·ãƒ¼ãƒ³ã«æ‰€å±žã—ã¦ã„ã¾ã™ã€‚\n" +"ç¾åœ¨ã®ã‚·ãƒ¼ãƒ³ã‚’ä¿å˜ã™ã‚‹ã¨ã€å¤‰æ›´ãŒç ´æ£„ã•れã¾ã™ã€‚" #: editor/editor_node.cpp msgid "" "This resource was imported, so it's not editable. Change its settings in the " "import panel and then re-import." msgstr "" +"ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•れãŸã‚‚ã®ã§ã€ç·¨é›†ã§ãã¾ã›ã‚“。インãƒãƒ¼ãƒˆãƒ‘ãƒãƒ«ã®è¨å®š" +"を変更ã—ã€ã‚‚ã†ä¸€åº¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆã—ã¦ãã ã•ã„。" #: editor/editor_node.cpp msgid "" @@ -1714,6 +1737,9 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"ã“ã®ã‚·ãƒ¼ãƒ³ã¯ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•れãŸã‚‚ã®ã§ã€å¤‰æ›´ãŒä¿å˜ã•れã¾ã›ã‚“。\n" +"インスタンス化ã™ã‚‹ã‹ç¶™æ‰¿ã—ã¦ãã ã•ã„。ドã‚ュメントã®ã‚·ãƒ¼ãƒ³ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«é–¢ã™" +"る部分をå‚ç…§ã—ã¦ãã ã•ã„。" #: editor/editor_node.cpp msgid "" @@ -1721,6 +1747,8 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" +"リモートオブジェクトã®ãŸã‚ã€å¤‰æ›´ãŒä¿å˜ã•れã¾ã›ã‚“。\n" +"ドã‚ュメントã®ãƒ‡ãƒãƒƒã‚°ã«é–¢ã™ã‚‹éƒ¨åˆ†ã‚’å‚ç…§ã—ã¦ãã ã•ã„。" #: editor/editor_node.cpp #, fuzzy @@ -1840,7 +1868,7 @@ msgstr "ファイルをä¿å˜" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "" +msgstr "終了ã™ã‚‹å‰ã«ã€'%s' ã¸ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ" #: editor/editor_node.cpp #, fuzzy @@ -1930,17 +1958,19 @@ msgstr "ファイルをä¿å˜" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "" +msgstr "終了ã™ã‚‹å‰ã«ã€ä»¥ä¸‹ã®ã‚·ãƒ¼ãƒ³ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" -msgstr "" +msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã‚’é–‹ãå‰ã«ã€ä»¥ä¸‹ã®ã‚·ãƒ¼ãƒ³ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" +"ã“ã®ã‚ªãƒ—ションã¯éžæŽ¨å¥¨ã§ã™ã€‚リフレッシュを強制ã—ãªã‘れã°ãªã‚‰ãªã„状æ³ã¯ãƒã‚°ã¨" +"ã¿ãªã•れã¾ã™ã€‚å ±å‘Šã—ã¦ãã ã•ã„。" #: editor/editor_node.cpp #, fuzzy @@ -1950,10 +1980,14 @@ msgstr "メインシーンを指定" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" +"アドオンプラグインを有効ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“: '%s' è¨å®šã®è§£æžã«å¤±æ•—ã—ã¾ã—" +"ãŸã€‚" #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." msgstr "" +"アドオンプラグインã®ã‚¹ã‚¯ãƒªãƒ—トフィールドを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“: 'res://" +"addons/%s'." #: editor/editor_node.cpp #, fuzzy @@ -1964,10 +1998,13 @@ msgstr "フォントèªã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼ã€‚" msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"アドオンスクリプトをèªã¿è¾¼ã‚ã¾ã›ã‚“: '%s' エディタプラグインã§ã¯ã‚りã¾ã›ã‚“。" #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"アドオンスクリプトをèªã¿è¾¼ã‚ã¾ã›ã‚“: '%s' スクリプトãŒãƒ„ールモードã§ã¯ã‚りã¾" +"ã›ã‚“。" #: editor/editor_node.cpp msgid "" @@ -2039,7 +2076,7 @@ msgstr "%d 多ã„ファイル" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "" +msgstr "ドックã®ä½ç½®" #: editor/editor_node.cpp msgid "Distraction Free Mode" @@ -2363,12 +2400,11 @@ msgstr "ã‚·ãƒ¼ãƒ³ã‚’ä¸€æ™‚åœæ¢" #: editor/editor_node.cpp #, fuzzy msgid "Stop the scene." -msgstr "シーンをæ¢ã‚ã‚‹" +msgstr "ã‚·ãƒ¼ãƒ³ã‚’åœæ¢" #: editor/editor_node.cpp -#, fuzzy msgid "Stop" -msgstr "æ¢ã‚ã‚‹" +msgstr "åœæ¢" #: editor/editor_node.cpp #, fuzzy @@ -2468,18 +2504,16 @@ msgid "Node" msgstr "ノード" #: editor/editor_node.cpp -#, fuzzy msgid "FileSystem" msgstr "ファイルシステム" #: editor/editor_node.cpp -#, fuzzy msgid "Output" msgstr "出力" #: editor/editor_node.cpp msgid "Don't Save" -msgstr "" +msgstr "ä¿å˜ã—ãªã„" #: editor/editor_node.cpp #, fuzzy @@ -2519,39 +2553,33 @@ msgstr "èªã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "" +msgstr "é¸æŠž" #: editor/editor_node.cpp -#, fuzzy msgid "Open 2D Editor" msgstr "2Dエディタを開ã" #: editor/editor_node.cpp -#, fuzzy msgid "Open 3D Editor" -msgstr "ディレクトリを開ã" +msgstr "3Dエディタを開ã" #: editor/editor_node.cpp -#, fuzzy msgid "Open Script Editor" msgstr "スクリプトエディタを開ã" #: editor/editor_node.cpp editor/project_manager.cpp -#, fuzzy msgid "Open Asset Library" -msgstr "アセット ライブラリを開ã" +msgstr "アセットライブラリを開ã" #: editor/editor_node.cpp msgid "Open the next Editor" msgstr "次ã®ã‚¨ãƒ‡ã‚£ã‚¿ã‚’é–‹ã" #: editor/editor_node.cpp -#, fuzzy msgid "Open the previous Editor" msgstr "å‰ã®ã‚¨ãƒ‡ã‚£ã‚¿ã‚’é–‹ã" #: editor/editor_plugin.cpp -#, fuzzy msgid "Creating Mesh Previews" msgstr "メッシュライブラリを生æˆ" @@ -2569,22 +2597,18 @@ msgstr "アップデート" #: editor/editor_plugin_settings.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Version:" msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³:" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author:" msgstr "作者:" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Status:" msgstr "ステータス:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Stop Profiling" msgstr "プãƒãƒ•ã‚¡ã‚¤ãƒªãƒ³ã‚°åœæ¢" @@ -2593,32 +2617,26 @@ msgid "Start Profiling" msgstr "プãƒãƒ•ァイリング開始" #: editor/editor_profiler.cpp -#, fuzzy msgid "Measure:" msgstr "測定:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (sec)" msgstr "フレーム時間(秒)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (sec)" msgstr "平凿™‚間(秒)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame %" msgstr "フレーム%" #: editor/editor_profiler.cpp -#, fuzzy msgid "Physics Frame %" msgstr "固定フレーム%" #: editor/editor_profiler.cpp editor/script_editor_debugger.cpp -#, fuzzy msgid "Time:" msgstr "時間:" @@ -2637,20 +2655,31 @@ msgstr "セルフ" msgid "Frame #:" msgstr "フレーム#:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "時間:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "呼ã³å‡ºã—" + #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "" +msgstr "リストã‹ã‚‰ãƒ‡ãƒã‚¤ã‚¹ã‚’é¸æŠžã—ã¦ãã ã•ã„" #: editor/editor_run_native.cpp msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" +"ã“ã®ãƒ—ラットフォームã§å®Ÿè¡Œå¯èƒ½ãªã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ—リセットãŒã‚りã¾ã›ã‚“。\n" +"エクスãƒãƒ¼ãƒˆãƒ¡ãƒ‹ãƒ¥ãƒ¼ã«å®Ÿè¡Œå¯èƒ½ãªãƒ—ãƒªã‚»ãƒƒãƒˆã‚’è¿½åŠ ã—ã¦ãã ã•ã„。" #: editor/editor_run_script.cpp -#, fuzzy msgid "Write your logic in the _run() method." -msgstr "ã‚ãªãŸã®ãƒã‚¸ãƒƒã‚¯ã‚’_run() メソッドã«è¨˜è¿°ã—ã¦ãã ã•ã„" +msgstr "ã‚ãªãŸã®ãƒã‚¸ãƒƒã‚¯ã‚’_run() メソッドã«è¨˜è¿°ã—ã¦ãã ã•ã„." #: editor/editor_run_script.cpp #, fuzzy @@ -2658,57 +2687,46 @@ msgid "There is an edited scene already." msgstr "æ—¢ã«ç·¨é›†ã—ãŸã‚·ãƒ¼ãƒ³ãŒã‚りã¾ã™" #: editor/editor_run_script.cpp -#, fuzzy msgid "Couldn't instance script:" msgstr "スクリプトをインスタンス化ã§ãã¾ã›ã‚“ã§ã—ãŸ:" #: editor/editor_run_script.cpp -#, fuzzy msgid "Did you forget the 'tool' keyword?" msgstr "ã‚ーワード'tool'を忘れã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ" #: editor/editor_run_script.cpp -#, fuzzy msgid "Couldn't run script:" msgstr "スクリプトを実行ã§ãã¾ã›ã‚“ã§ã—ãŸ:" #: editor/editor_run_script.cpp -#, fuzzy msgid "Did you forget the '_run' method?" msgstr "'_run'メソッドを忘れã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ" #: editor/editor_settings.cpp -#, fuzzy msgid "Default (Same as Editor)" msgstr "既定(エディタã¨åŒã˜ï¼‰" #: editor/editor_sub_scene.cpp -#, fuzzy msgid "Select Node(s) to Import" msgstr "インãƒãƒ¼ãƒˆã™ã‚‹ãƒŽãƒ¼ãƒ‰ã‚’é¸æŠžã™ã‚‹" #: editor/editor_sub_scene.cpp -#, fuzzy msgid "Scene Path:" msgstr "シーンã®ãƒ‘ス:" #: editor/editor_sub_scene.cpp -#, fuzzy msgid "Import From Node:" msgstr "ノードã‹ã‚‰ã‚¤ãƒ³ãƒãƒ¼ãƒˆ:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Re-Download" msgstr "å†ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall" msgstr "アンインストール" #: editor/export_template_manager.cpp -#, fuzzy msgid "(Installed)" msgstr "(インストール済)" @@ -2721,17 +2739,14 @@ msgid "(Missing)" msgstr "(見ã¤ã‹ã‚Šã¾ã›ã‚“)" #: editor/export_template_manager.cpp -#, fuzzy msgid "(Current)" msgstr "(ç¾åœ¨ã®ï¼‰" #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving mirrors, please wait.." -msgstr "接続失敗 å†è©¦è¡Œã‚’" +msgstr "ミラーサイトをå–å¾—ã—ã¦ã„ã¾ã™ã€‚ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„.." #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove template version '%s'?" msgstr "テンプレート ãƒãƒ¼ã‚¸ãƒ§ãƒ³'%s'を除去ã—ã¾ã™ã‹ï¼Ÿ" @@ -2740,12 +2755,10 @@ msgid "Can't open export templates zip." msgstr "エクスãƒãƒ¼ãƒˆã€€ãƒ†ãƒ³ãƒ—レート(ZIP)ファイルを確èªã§ãã¾ã›ã‚“." #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside templates." -msgstr "テンプレート内ã®version.txt フォーマットãŒä¸æ£ã§ã™" +msgstr "テンプレート内ã®version.txt フォーマットãŒä¸æ£ã§ã™." #: editor/export_template_manager.cpp -#, fuzzy msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." @@ -2754,12 +2767,10 @@ msgstr "" "ã¯ã‚りã¾ã›ã‚“." #: editor/export_template_manager.cpp -#, fuzzy msgid "No version.txt found inside templates." -msgstr "テンプレート内ã«version.txtãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" +msgstr "テンプレート内ã«version.txtãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for templates:\n" msgstr "テンプレートã®ãƒ‘ス生æˆã‚¨ãƒ©ãƒ¼\n" @@ -2778,6 +2789,8 @@ msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" +"ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。直接ダウンãƒãƒ¼ãƒ‰ã¯å…¬å¼ãƒª" +"リースã®ã¿å¯èƒ½ã§ã™ã€‚" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2793,124 +2806,104 @@ msgstr "接続失敗." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "No response." msgstr "応ç”ãŒã‚りã¾ã›ã‚“." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy -msgid "Req. Failed." +msgid "Request Failed." msgstr "リクエスト失敗." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Redirect Loop." msgstr "リダイレクトã®ãƒ«ãƒ¼ãƒ—." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Failed:" msgstr "失敗:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't write file." -msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“ã§ã—ãŸ:\n" +msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“ã§ã—ãŸ." #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Complete." -msgstr "ダウンãƒãƒ¼ãƒ‰å¤±æ•—" +msgstr "ダウンãƒãƒ¼ãƒ‰å®Œäº†." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error requesting url: " -msgstr "アトラスã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸ:" +msgstr "urlã®è¦æ±‚ã«å¤±æ•—ã—ã¾ã—ãŸ: " #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to Mirror.." -msgstr "接続ä¸.." +msgstr "ãƒŸãƒ©ãƒ¼ã‚µã‚¤ãƒˆã«æŽ¥ç¶šä¸.." #: editor/export_template_manager.cpp #, fuzzy msgid "Disconnected" -msgstr "切æ–" +msgstr "切æ–ã•れã¾ã—ãŸ" #: editor/export_template_manager.cpp -#, fuzzy msgid "Resolving" -msgstr "解決ä¸.." +msgstr "解決ä¸" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't Resolve" -msgstr "解決ã§ãã¾ã›ã‚“." +msgstr "解決ã§ãã¾ã›ã‚“" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Connecting.." msgstr "接続ä¸.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" -msgstr "接続失敗." +msgid "Can't Connect" +msgstr "接続失敗" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connected" -msgstr "接続" +msgstr "接続ã—ã¾ã—ãŸ" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Requesting.." msgstr "リクエストä¸.." #: editor/export_template_manager.cpp -#, fuzzy msgid "Downloading" -msgstr "ダウンãƒãƒ¼ãƒ‰" +msgstr "ダウンãƒãƒ¼ãƒ‰ä¸" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connection Error" -msgstr "接続ä¸.." +msgstr "接続エラー" #: editor/export_template_manager.cpp -#, fuzzy msgid "SSL Handshake Error" -msgstr "èªã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼" +msgstr "SSLãƒãƒ³ãƒ‰ã‚·ã‚§ã‚¤ã‚¯ã‚¨ãƒ©ãƒ¼" #: editor/export_template_manager.cpp -#, fuzzy msgid "Current Version:" msgstr "ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Installed Versions:" msgstr "インストールã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install From File" msgstr "ファイルã‹ã‚‰ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove Template" -msgstr "é¸æŠžã—ã¦ã„ã‚‹ã‚‚ã®ã‚’削除" +msgstr "テンプレートを削除" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select template file" -msgstr "ã™ã¹ã¦é¸æŠž" +msgstr "ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠž" #: editor/export_template_manager.cpp #, fuzzy @@ -2918,13 +2911,12 @@ msgid "Export Template Manager" msgstr "エクスãƒãƒ¼ãƒˆã€€ãƒ†ãƒ³ãƒ—レート マãƒãƒ¼ã‚¸ãƒ£ãƒ¼" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Templates" -msgstr "é¸æŠžã—ã¦ã„ã‚‹ã‚‚ã®ã‚’削除" +msgstr "テンプレートをダウンãƒãƒ¼ãƒ‰" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "リストã‹ã‚‰ãƒŸãƒ©ãƒ¼ã‚’é¸æŠž: " #: editor/file_type_cache.cpp #, fuzzy @@ -2935,21 +2927,24 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" -msgstr "" +msgstr "ファイルシステムã«è¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚ã€'%s' ã«ç§»å‹•ã§ãã¾ã›ã‚“!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" -msgstr "" +msgstr "サムãƒã‚¤ãƒ«è¡¨ç¤º" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "" +msgstr "リスト表示" #: editor/filesystem_dock.cpp msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"状æ³: ファイルã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸã€‚ファイルを修æ£ã—ã¦æ‰‹å‹•ã§å†ã‚¤ãƒ³ãƒãƒ¼" +"トã—ã¦ä¸‹ã•ã„。" #: editor/filesystem_dock.cpp #, fuzzy @@ -2968,83 +2963,78 @@ msgstr "エラーをインãƒãƒ¼ãƒˆä¸:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "èªã¿è¾¼ã¿å¤±æ•—:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "シーン'%s' ã¯ä¾å˜é–¢ä¿‚ãŒå£Šã‚Œã¦ã„ã¾ã™:" #: editor/filesystem_dock.cpp msgid "No name provided" -msgstr "" +msgstr "åå‰ãŒã‚りã¾ã›ã‚“" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "" +msgstr "åå‰ãŒä½¿ç”¨ä¸å¯èƒ½ãªæ–‡å—ã‚’å«ã‚“ã§ã„ã¾ã™" #: editor/filesystem_dock.cpp -#, fuzzy msgid "No name provided." -msgstr "åå‰ã‚’変ãˆã‚‹ã‹ç§»å‹•ã—ã¦ãã ã•ã„.." +msgstr "åå‰ãŒã‚りã¾ã›ã‚“." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Name contains invalid characters." -msgstr "使用å¯èƒ½ãªæ–‡å—:" +msgstr "åå‰ãŒä½¿ç”¨ä¸å¯èƒ½ãªæ–‡å—ã‚’å«ã‚“ã§ã„ã¾ã™." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "åŒåã®ãƒ•ァイルã¾ãŸã¯ãƒ•ォルダãŒã‚りã¾ã™ã€‚" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Renaming file:" -msgstr "変数ã®åå‰ã‚’変ãˆã‚‹" +msgstr "ファイルåを変更:" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Renaming folder:" -msgstr "ノードã®åå‰ã‚’変更" +msgstr "フォルダåを変更:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Duplicating file:" +msgstr "複製" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "フォルダåを変更:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "ã™ã¹ã¦å±•é–‹ã™ã‚‹" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Collapse all" msgstr "ã™ã¹ã¦æŠ˜ã‚ŠãŸãŸã‚€" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "Copy Path" -msgstr "パスをコピーã™ã‚‹" - -#: editor/filesystem_dock.cpp -#, fuzzy msgid "Rename.." -msgstr "åå‰ã‚’変更ã™ã‚‹" +msgstr "åå‰ã‚’変更ã™ã‚‹.." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move To.." msgstr "~ã¸ç§»å‹•ã™ã‚‹.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "フォルダを作æˆã™ã‚‹" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Show In File Manager" -msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§è¡¨ç¤º" +msgid "Open Scene(s)" +msgstr "シーンを開ã" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Instance" msgstr "インスタンス" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Edit Dependencies.." msgstr "ä¾å˜é–¢ä¿‚を編集.." @@ -3054,16 +3044,19 @@ msgid "View Owners.." msgstr "オーナーを見る.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "複製" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "最後ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª" +msgstr "å‰ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Next Directory" msgstr "次ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Re-Scan Filesystem" msgstr "ファイルシステムをå†èµ°æŸ»" @@ -3082,6 +3075,8 @@ msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" +"ファイルをスã‚ャンã—ã¦ã„ã¾ã™\n" +"ã—ã°ã‚‰ããŠå¾…ã¡ä¸‹ã•ã„..." #: editor/filesystem_dock.cpp #, fuzzy @@ -3115,27 +3110,27 @@ msgstr "アニメーションをインãƒãƒ¼ãƒˆ.." #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "別ã®ãƒžãƒ†ãƒªã‚¢ãƒ«ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "別ã®ã‚ªãƒ–ジェクトã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "別ã®ã‚ªãƒ–ジェクトã€ãƒžãƒ†ãƒªã‚¢ãƒ«ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "別ã®ã‚ªãƒ–ジェクトã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "別ã®ãƒžãƒ†ãƒªã‚¢ãƒ«ã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "別ã®ã‚ªãƒ–ジェクトã€ãƒžãƒ†ãƒªã‚¢ãƒ«ã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp #, fuzzy @@ -3144,7 +3139,7 @@ msgstr "3Dシーンをインãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "複数ã®ã‚·ãƒ¼ãƒ³ã€ãƒžãƒ†ãƒªã‚¢ãƒ«ã¨ã—ã¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp @@ -3159,6 +3154,16 @@ msgstr "シーンをインãƒãƒ¼ãƒˆä¸.." #: editor/import/resource_importer_scene.cpp #, fuzzy +msgid "Generating Lightmaps" +msgstr "ライトマップã¸ã®è»¢å†™:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "軸平行境界ボックス(AABB)を生æˆ" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy msgid "Running Custom Script.." msgstr "カスタムスクリプトを実行ä¸" @@ -3185,11 +3190,11 @@ msgstr "ä¿å˜ä¸.." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "'%s'ã®ãƒ‡ãƒ•ォルトã¨ã—ã¦è¨å®š" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "'%s'ã®ãƒ‡ãƒ•ォルトを消去" #: editor/import_dock.cpp #, fuzzy @@ -3262,6 +3267,10 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"ãƒãƒªã‚´ãƒ³ã‚’編集:\n" +"LMB: ãƒã‚¤ãƒ³ãƒˆã‚’移動.\n" +"Ctrl+LMB: セグメント分割.\n" +"RMB: ãƒã‚¤ãƒ³ãƒˆé™¤åŽ»." #: editor/plugins/abstract_polygon_2d_editor.cpp #, fuzzy @@ -3444,11 +3453,11 @@ msgstr "アニメーションを複製ã™ã‚‹" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "オニオンスã‚ン" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "オニオンスã‚ンを有効ã«ã™ã‚‹" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3467,31 +3476,31 @@ msgstr "テクスãƒãƒ£" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "奥行ã" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1ステップ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2ステップ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3ステップ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "差分ã®ã¿" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "白色調整" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "ギズモ(3D)ã‚’å«ã‚€" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3784,184 +3793,175 @@ msgid "Idle" msgstr "待機ä¸" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Retry" msgstr "å†è©¦è¡Œ" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Download Error" -msgstr "ダウンãƒãƒ¼ãƒ‰å¤±æ•—" +msgstr "ダウンãƒãƒ¼ãƒ‰ã‚¨ãƒ©ãƒ¼" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Download for this asset is already in progress!" msgstr "ã“ã®ã‚¢ã‚»ãƒƒãƒˆã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã¯æ—¢ã«é€²è¡Œä¸ï¼" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "first" -msgstr "最åˆã®" +msgstr "最åˆ" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "prev" -msgstr "å‰ã®" +msgstr "å‰" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "next" -msgstr "次ã®" +msgstr "次" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "last" -msgstr "最後ã®" +msgstr "最後" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" -msgstr "ã™ã¹ã¦ã®" +msgstr "ã™ã¹ã¦" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp -#, fuzzy msgid "Plugins" msgstr "プラグイン" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Sort:" msgstr "ä¸¦ã¹æ›¿ãˆ:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Reverse" msgstr "逆" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp -#, fuzzy msgid "Category:" msgstr "カテゴリー:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Site:" msgstr "サイト:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." msgstr "サãƒãƒ¼ãƒˆ.." #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Official" msgstr "å…¬å¼" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" msgstr "テストä¸" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Assets ZIP File" msgstr "アセットã®zipファイル" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ライトマップã¸ã®è»¢å†™:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "プレビュー" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Configure Snap" -msgstr "スナップ機能ã®è¨å®š" +msgstr "スナップã®è¨å®š" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Offset:" msgstr "グリッドã®ã‚ªãƒ•セット:" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Step:" msgstr "グリッドã®ã‚¹ãƒ†ãƒƒãƒ—:" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotation Offset:" msgstr "回転ã®ã‚ªãƒ•セット:" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotation Step:" msgstr "回転ã®ã‚¹ãƒ†ãƒƒãƒ—:" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move Pivot" msgstr "ピボット移動" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move Action" msgstr "移動動作" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "垂直ガイドを移動" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create new vertical guide" -msgstr "フォルダを作æˆ" +msgstr "垂直ガイドを作æˆ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove vertical guide" -msgstr "無効ãªã‚ーを削除" +msgstr "垂直ガイドを削除" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move horizontal guide" -msgstr "曲線ã®ãƒã‚¤ãƒ³ãƒˆã‚’移動" +msgstr "水平ガイドを移動" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create new horizontal guide" -msgstr "フォルダを作æˆ" +msgstr "水平ガイドを作æˆ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove horizontal guide" -msgstr "無効ãªã‚ーを削除" +msgstr "水平ガイドを削除" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "水平垂直ガイドを作æˆ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Edit IK Chain" msgstr "IK(インãƒãƒ¼ã‚¹ ã‚ãƒãƒžãƒ†ã‚£ã‚¯ã‚¹ï¼‰ãƒã‚§ãƒ¼ãƒ³ã®ç·¨é›†" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Edit CanvasItem" msgstr "ã‚ャンãƒã‚¹ã‚¢ã‚¤ãƒ†ãƒ ã®ç·¨é›†" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Anchors only" -msgstr "アンカー" +msgstr "アンカーã®ã¿" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Change Anchors and Margins" -msgstr "アンカーを変更ã™ã‚‹" +msgstr "アンカーã¨ãƒžãƒ¼ã‚¸ãƒ³ã‚’変更ã™ã‚‹" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4033,7 +4033,6 @@ msgid "Toggles snapping" msgstr "ブレークãƒã‚¤ãƒ³ãƒˆã‚’切替" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Use Snap" msgstr "スナップ機能を使ã†" @@ -4070,24 +4069,23 @@ msgstr "ピクセルå˜ä½ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Smart snapping" -msgstr "" +msgstr "スマートスナップ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to parent" -msgstr "親ã¾ã§å±•é–‹ã™ã‚‹" +msgstr "親ã«ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "ノードアンカーã«ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "" +msgstr "ノードå´é¢ã«ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "ä»–ã®ãƒŽãƒ¼ãƒ‰ã«ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4207,7 +4205,7 @@ msgstr "ãƒãƒ¼ã‚ºã‚’クリアã™ã‚‹" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag pivot from mouse position" -msgstr "" +msgstr "マウスä½ç½®ã‹ã‚‰ãƒ”ボットをドラッグ" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4216,11 +4214,11 @@ msgstr "曲線ã®Out-ãƒãƒ³ãƒ‰ãƒ«ã®ä½ç½®ã‚’指定" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "グリッドステップを2å€ã«ã™ã‚‹" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "グリッドステップをåŠåˆ†ã«ã™ã‚‹" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4246,17 +4244,6 @@ msgstr "%sシーンã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–エラー" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ãŠãƒ¼ã‘ー :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -#, fuzzy -msgid "No parent to instance a child at." -msgstr "åインスタンスを生æˆã™ã‚‹ãŸã‚ã®è¦ªãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp #, fuzzy msgid "This operation requires a single selected node." msgstr "一ã¤ãƒŽãƒ¼ãƒ‰ã‚’指定ã—ãªã„ã¨ã€ã“ã®æ“作ã¯ã§ãã¾ã›ã‚“" @@ -4307,11 +4294,11 @@ msgstr "シーンã‹ã‚‰ã‚¢ãƒƒãƒ—デート" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat0" -msgstr "" +msgstr "フラット0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat1" -msgstr "" +msgstr "フラット1" #: editor/plugins/curve_editor_plugin.cpp #, fuzzy @@ -4325,7 +4312,7 @@ msgstr "イージング(Ease Out)" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "スムーズステップ" #: editor/plugins/curve_editor_plugin.cpp #, fuzzy @@ -4371,15 +4358,15 @@ msgstr "パスã®ãƒã‚¤ãƒ³ãƒˆã‚’除去" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" -msgstr "" +msgstr "直線曲線を切り替ãˆã‚‹" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "接線を個別ã«ç·¨é›†ã™ã‚‹ã«ã¯ã‚·ãƒ•トを押ã™" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "ã‚°ãƒãƒ¼ãƒãƒ«ã‚¤ãƒ«ãƒŸãƒãƒ¼ã‚·ãƒ§ãƒ³ã®äº‹å‰è¨ˆç®—" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" @@ -4407,6 +4394,8 @@ msgid "" "No OccluderPolygon2D resource on this node.\n" "Create and assign one?" msgstr "" +"ã“ã®ãƒŽãƒ¼ãƒ‰ã«OccluderPolygon2DリソースãŒã‚りã¾ã›ã‚“。\n" +"作æˆã—ã¦ã€å‰²ã‚Šå½“ã¦ã¾ã™ã‹ ?" #: editor/plugins/light_occluder_2d_editor_plugin.cpp #, fuzzy @@ -4469,6 +4458,22 @@ msgid "Create Navigation Mesh" msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "MeshInstance lacks a Mesh!" msgstr "メッシュインスタンスã®ãƒ¡ãƒƒã‚·ãƒ¥ãŒå˜åœ¨ã—ã¾ã›ã‚“" @@ -4515,6 +4520,20 @@ msgid "Create Outline Mesh.." msgstr "アウトラインメッシュを生æˆ.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "ビュー" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "ビュー" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "アウトラインメッシュを生æˆ" @@ -4658,35 +4677,32 @@ msgid "Bake the navigation mesh.\n" msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ" #: editor/plugins/navigation_mesh_editor_plugin.cpp -#, fuzzy msgid "Clear the navigation mesh." -msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ" +msgstr "ãƒŠãƒ“ãƒ¡ãƒƒã‚·ãƒ¥ï¼ˆãƒŠãƒ“ã‚²ãƒ¼ã‚·ãƒ§ãƒ³ãƒ¡ãƒƒã‚·ãƒ¥ï¼‰ã®æ¶ˆåŽ»." #: editor/plugins/navigation_mesh_generator.cpp msgid "Setting up Configuration..." -msgstr "" +msgstr "è¨å®šä¸..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Calculating grid size..." -msgstr "" +msgstr "グリッドサイズ計算ä¸..." #: editor/plugins/navigation_mesh_generator.cpp -#, fuzzy msgid "Creating heightfield..." -msgstr "照明ã®å…«åˆ†æœ¨ã‚’生æˆ" +msgstr "ãƒã‚¤ãƒˆãƒ•ィールド生æˆä¸..." #: editor/plugins/navigation_mesh_generator.cpp -#, fuzzy msgid "Marking walkable triangles..." -msgstr "ãƒãƒ¼ã‚«ãƒ«ç’°å¢ƒã®å¤‰æ›´ã‚’ä¿å˜ã™ã‚‹.." +msgstr "移動å¯èƒ½ãªãƒãƒªã‚´ãƒ³ã‚’記録ä¸..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." -msgstr "" +msgstr "ãƒã‚¤ãƒˆãƒ•ィールド圧縮ä¸..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Eroding walkable area..." -msgstr "" +msgstr "移動å¯èƒ½ãªé ˜åŸŸã‚’作æˆä¸..." #: editor/plugins/navigation_mesh_generator.cpp #, fuzzy @@ -4710,7 +4726,7 @@ msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ" #: editor/plugins/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "ナビメッシュ(ナビゲーションメッシュ)生æˆè¨å®š:" #: editor/plugins/navigation_mesh_generator.cpp #, fuzzy @@ -4719,18 +4735,13 @@ msgstr "ジオメトリーをパース" #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "完了!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" msgstr "ナビゲーションãƒãƒªã‚´ãƒ³ã‚’生æˆ" #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Clear Emission Mask" -msgstr "発光(Emission)マスクをクリア" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Generating AABB" @@ -4752,11 +4763,6 @@ msgstr "イメージ内ã«é€æ˜Žåº¦>128ã®ãƒ”クセルãŒã‚りã¾ã›ã‚“.." #: editor/plugins/particles_2d_editor_plugin.cpp #, fuzzy -msgid "Set Emission Mask" -msgstr "発光(Emission)マスクをè¨å®š" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Generate Visibility Rect" msgstr "å¯è¦–性ã®çŸ©å½¢ã‚’生æˆ" @@ -4766,6 +4772,11 @@ msgid "Load Emission Mask" msgstr "発光(Emission)マスクをèªã¿è¾¼ã‚€" #: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Clear Emission Mask" +msgstr "発光(Emission)マスクをクリア" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Particles" @@ -4807,7 +4818,7 @@ msgstr "ノードã¯ã‚¸ã‚ªãƒ¡ãƒˆãƒªãƒ¼(é¢ï¼‰ã‚’å«ã‚“ã§ã„ã¾ã›ã‚“." #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "" +msgstr "パーティクルマテリアルãŒå¿…è¦ã§ã™." #: editor/plugins/particles_editor_plugin.cpp #, fuzzy @@ -4835,11 +4846,6 @@ msgstr "ノードã‹ã‚‰ã®ç™ºå…‰ç‚¹ã‚’生æˆ" #: editor/plugins/particles_editor_plugin.cpp #, fuzzy -msgid "Clear Emitter" -msgstr "発光物をクリア" - -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "Create Emitter" msgstr "発光物を生æˆ" @@ -4983,7 +4989,6 @@ msgid "Split Path" msgstr "パスを分割" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Remove Path Point" msgstr "パスã®ãƒã‚¤ãƒ³ãƒˆã‚’除去" @@ -4996,7 +5001,6 @@ msgid "Remove In-Control Point" msgstr "曲線ã®In-ãƒãƒ³ãƒ‰ãƒ«ã‚’除去" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create UV Map" msgstr "UVマップを生æˆ" @@ -5128,6 +5132,8 @@ msgid "" "Close and save changes?\n" "\"" msgstr "" +"変更をä¿å˜ã—ã¦é–‰ã˜ã¾ã™ã‹?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -5157,7 +5163,7 @@ msgstr "テーマをåå‰ã‚’ã¤ã‘ã¦ä¿å˜.." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr "" +msgstr " クラスリファレンス" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -5166,11 +5172,13 @@ msgstr "ä¸¦ã¹æ›¿ãˆ:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "上ã«ç§»å‹•" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "下ã«ç§»å‹•" @@ -5187,7 +5195,7 @@ msgstr "ç›´å‰ã®ã‚¹ã‚¯ãƒªãƒ—ト" msgid "File" msgstr "ファイル" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "æ–°ã—ã„" @@ -5197,7 +5205,12 @@ msgstr "ã™ã¹ã¦ä¿å˜" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "" +msgstr "スクリプトをソフトリãƒãƒ¼ãƒ‰" + +#: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "パスをコピーã™ã‚‹" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -5229,11 +5242,11 @@ msgstr "é–‰ã˜ã‚‹" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Close All" -msgstr "é–‰ã˜ã‚‹" +msgstr "ã™ã¹ã¦é–‰ã˜ã‚‹" #: editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "" +msgstr "ã»ã‹ã®ã‚¿ãƒ–ã‚’é–‰ã˜ã‚‹" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" @@ -5343,7 +5356,7 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." -msgstr "" +msgstr "ファイルシステムã®ãƒªã‚½ãƒ¼ã‚¹ã®ã¿ãƒ‰ãƒãƒƒãƒ—ã§ãã¾ã™." #: editor/plugins/script_text_editor.cpp msgid "Pick Color" @@ -5406,14 +5419,10 @@ msgstr "複製ã—ã¦ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "行ã«ç§»å‹•" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5532,7 +5541,7 @@ msgstr "RGB演算åを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Toggle Rot Only" -msgstr "" +msgstr "回転ã®ã¿å¤‰æ›´" #: editor/plugins/shader_graph_editor_plugin.cpp #, fuzzy @@ -5546,15 +5555,15 @@ msgstr "ベクトル関数を変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Uniform" -msgstr "" +msgstr "スカラUniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Uniform" -msgstr "" +msgstr "ベクトルUniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Uniform" -msgstr "" +msgstr "RGB Uniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Default Value" @@ -5562,15 +5571,15 @@ msgstr "è¦å®šå€¤ã‚’変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change XForm Uniform" -msgstr "" +msgstr "XForm Uniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Texture Uniform" -msgstr "" +msgstr "テクスãƒãƒ£Uniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Cubemap Uniform" -msgstr "" +msgstr "ã‚ューブマップUniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Comment" @@ -5757,12 +5766,21 @@ msgstr "é ‚ç‚¹" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS" -msgstr "" +msgstr "フレームレート" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align with view" msgstr "シーンビューã«ã‚«ãƒ¡ãƒ©ã‚’åˆã‚ã›ã‚‹ï¼ˆAlign With View)" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "ãŠãƒ¼ã‘ー :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +#, fuzzy +msgid "No parent to instance a child at." +msgstr "åインスタンスを生æˆã™ã‚‹ãŸã‚ã®è¦ªãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "通常表示" @@ -5784,7 +5802,7 @@ msgstr "シェーディングãªã—ã§è¡¨ç¤º" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "" +msgstr "環境表示" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -5808,7 +5826,7 @@ msgstr "縮尺(Scale)ã®é¸æŠž" #: editor/plugins/spatial_editor_plugin.cpp msgid "Audio Listener" -msgstr "" +msgstr "オーディオリスナー" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -5879,6 +5897,20 @@ msgid "Scale Mode (R)" msgstr "スケール(拡大縮å°ï¼‰ãƒ¢ãƒ¼ãƒ‰(R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "ãƒãƒ¼ã‚«ãƒ«åº§æ¨™ç³»" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "スケール(拡大縮å°ï¼‰ãƒ¢ãƒ¼ãƒ‰(R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Snapモード:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "底é¢å›³" @@ -5914,15 +5946,15 @@ msgstr "アニメーションã‚ーを挿入" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" -msgstr "" +msgstr "原点ã«ãƒ•ォーカス" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Selection" -msgstr "" +msgstr "é¸æŠžã«ãƒ•ォーカス" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Selection With View" -msgstr "" +msgstr "é¸æŠžã‚’ãƒ“ãƒ¥ãƒ¼ã«æ•´åˆ—" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Select" @@ -5959,10 +5991,6 @@ msgid "Configure Snap.." msgstr "スナップ機能ã®è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "ãƒãƒ¼ã‚«ãƒ«åº§æ¨™ç³»" - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Transform Dialog.." msgstr "トランスフォームã®ãƒ€ã‚¤ã‚¢ãƒã‚°.." @@ -5993,7 +6021,7 @@ msgstr "4 ビューãƒãƒ¼ãƒˆ" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" -msgstr "" +msgstr "原点を見る" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" @@ -6006,18 +6034,20 @@ msgid "Settings" msgstr "è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" -msgstr "Snapã®è¨å®š" +msgstr "スナップã®è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translate Snap:" -msgstr "Snapを移動:" +msgstr "スナップを移動:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" -msgstr "Snapã®å›žè»¢ï¼ˆåº¦ï¼‰:" +msgstr "スナップã®å›žè»¢ï¼ˆåº¦ï¼‰:" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -6030,7 +6060,7 @@ msgstr "ビューãƒãƒ¼ãƒˆã®è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" -msgstr "" +msgstr "視野角(度):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" @@ -6092,7 +6122,7 @@ msgstr "フレームを張り付ã‘" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Empty" -msgstr "" +msgstr "ç©ºã‚’è¿½åŠ " #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" @@ -6220,19 +6250,19 @@ msgstr "削除" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "テーマを編集..." #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "テーマ編集メニュー." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "" +msgstr "ã‚¯ãƒ©ã‚¹ã‚¢ã‚¤ãƒ†ãƒ è¿½åŠ " #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "" +msgstr "クラスアイテム削除" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" @@ -6331,7 +6361,7 @@ msgstr "é¸æŠžã‚’æ¶ˆåŽ»" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "" +msgstr "タイルマップを塗る" #: editor/plugins/tile_map_editor_plugin.cpp #, fuzzy @@ -6344,7 +6374,7 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket Fill" -msgstr "" +msgstr "塗りã¤ã¶ã—" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" @@ -6374,14 +6404,13 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "" +msgstr "タイルを塗る" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" -msgstr "" +msgstr "ã‚¿ã‚¤ãƒ«ã‚’é¸æŠž" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Rotate 0 degrees" msgstr "0度回転" @@ -6418,6 +6447,11 @@ msgid "Merge from scene?" msgstr "シーンã‹ã‚‰ãƒžãƒ¼ã‚¸ã—ã¾ã™ã‹ï¼Ÿ" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "タイルセット.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "シーンã‹ã‚‰ç”Ÿæˆ" @@ -6429,6 +6463,10 @@ msgstr "シーンã‹ã‚‰ãƒžãƒ¼ã‚¸" msgid "Error" msgstr "エラー" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "ã‚ャンセル" + #: editor/project_export.cpp msgid "Runnable" msgstr "実行å¯èƒ½" @@ -6515,7 +6553,7 @@ msgstr "テクスãƒãƒ£" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "" +msgstr "カスタム(コンマ区切り):" #: editor/project_export.cpp #, fuzzy @@ -6550,29 +6588,27 @@ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“." #: editor/project_manager.cpp msgid "Please choose a 'project.godot' file." -msgstr "" +msgstr "'project.godot' ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„." #: editor/project_manager.cpp msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"空ã§ãªã„フォルダã«ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆãŒä½œæˆã•れã¾ã™(æ–°ã—ã„フォルダを作æˆã™ã‚‹ã“ã¨ãŒã§" +"ãã¾ã™)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." -msgstr "" +msgstr "'project.godot'ãŒãªã„ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ãã ã•ã„." #: editor/project_manager.cpp msgid "Imported Project" msgstr "インãƒãƒ¼ãƒˆã•れãŸãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆ" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆã«åå‰ã‚’付ã‘ã¦ãã ã•ã„." #: editor/project_manager.cpp #, fuzzy @@ -6641,7 +6677,7 @@ msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‘ス:" #: editor/project_manager.cpp msgid "Browse" -msgstr "" +msgstr "ブラウズ" #: editor/project_manager.cpp msgid "That's a BINGO!" @@ -6693,6 +6729,8 @@ msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"言語ãŒå¤‰æ›´ã•れã¾ã—ãŸ.\n" +"エディタã¾ãŸã¯ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆãƒžãƒã‚¸ãƒ£ãƒ¼å†é–‹æ™‚ã«UIãŒæ›´æ–°ã•れã¾ã™." #: editor/project_manager.cpp msgid "" @@ -6796,7 +6834,7 @@ msgstr "ã‚ーを押ã—ã¦ãã ã•ã„.." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "" +msgstr "マウスボタンインデックス:" #: editor/project_settings_editor.cpp msgid "Left Button" @@ -6858,8 +6896,8 @@ msgstr "ジョイパッドã®ãƒœã‚¿ãƒ³ã®Index:" #: editor/project_settings_editor.cpp #, fuzzy -msgid "Add Input Action" -msgstr "å…¥åŠ›ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ " +msgid "Erase Input Action" +msgstr "入力アクションイベントを消去" #: editor/project_settings_editor.cpp #, fuzzy @@ -6906,7 +6944,7 @@ msgstr "プãƒãƒ‘ティã«getter(get method)を作る" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "è¨å®šé …目をè¨å®šã—ã¦ãã ã•ã„!" #: editor/project_settings_editor.cpp #, fuzzy @@ -6934,6 +6972,10 @@ msgstr "アクション'%s'ã¯æ—¢ã«ã‚りã¾ã™!" #: editor/project_settings_editor.cpp #, fuzzy +msgid "Add Input Action" +msgstr "å…¥åŠ›ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ " + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "è¨å®šã‚’ä¿å˜ã§ãã¾ã›ã‚“ã§ã—ãŸ." @@ -6994,7 +7036,7 @@ msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆè¨å®š (project.godot)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" -msgstr "" +msgstr "一般" #: editor/project_settings_editor.cpp editor/property_editor.cpp msgid "Property:" @@ -7053,16 +7095,15 @@ msgstr "ãƒã‚±ãƒ¼ãƒ«" #: editor/project_settings_editor.cpp #, fuzzy msgid "Locales Filter" -msgstr "ãƒã‚±ãƒ¼ãƒ«" +msgstr "ãƒã‚±ãƒ¼ãƒ«ãƒ•ィルタ" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Show all locales" -msgstr "ボーンを表示ã™ã‚‹" +msgstr "ã™ã¹ã¦ã®ãƒã‚±ãƒ¼ãƒ«ã‚’表示ã™ã‚‹" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "é¸æŠžã—ãŸãƒã‚±ãƒ¼ãƒ«ã®ã¿è¡¨ç¤º" #: editor/project_settings_editor.cpp #, fuzzy @@ -7126,13 +7167,17 @@ msgid "New Script" msgstr "æ–°è¦ã‚¹ã‚¯ãƒªãƒ—ト" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "ボーンを生æˆ" #: editor/property_editor.cpp msgid "Show in File System" -msgstr "" +msgstr "ファイルシステム上ã§è¡¨ç¤º" #: editor/property_editor.cpp #, fuzzy @@ -7156,26 +7201,26 @@ msgstr "ノードã¸ã®ãƒ‘ス:" #: editor/property_editor.cpp msgid "Bit %d, val %d." -msgstr "" +msgstr "ビット %d, 値 %d." #: editor/property_editor.cpp msgid "On" -msgstr "" +msgstr "オン" + +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "ç©ºã‚’è¿½åŠ " #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" -msgstr "" +msgstr "è¨å®š" #: editor/property_editor.cpp #, fuzzy msgid "Properties:" msgstr "プãƒãƒ‘ティ:" -#: editor/property_editor.cpp -#, fuzzy -msgid "Sections:" -msgstr "セクション:" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -7193,7 +7238,7 @@ msgstr "ã™ã¹ã¦é¸æŠž" #: editor/pvrtc_compress.cpp msgid "Could not execute PVRTC tool:" -msgstr "" +msgstr "PVRTCツールを実行ã§ãã¾ã›ã‚“ã§ã—ãŸ:" #: editor/pvrtc_compress.cpp msgid "Can't load back converted image using PVRTC tool:" @@ -7217,7 +7262,7 @@ msgstr "" #: editor/run_settings_dialog.cpp msgid "Run Mode:" -msgstr "" +msgstr "実行モード:" #: editor/run_settings_dialog.cpp msgid "Current Scene" @@ -7241,7 +7286,7 @@ msgstr "シーン実行ã®è¨å®š" #: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp #: scene/gui/dialogs.cpp msgid "OK" -msgstr "決定" +msgstr "OK" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." @@ -7592,7 +7637,7 @@ msgstr "䏿£ãªãƒ™ãƒ¼ã‚¹ï¼ˆbase)パス" #: editor/script_create_dialog.cpp msgid "Directory of the same name exists" -msgstr "" +msgstr "åŒã˜åå‰ã®ãƒ•ォルダãŒã‚りã¾ã™" #: editor/script_create_dialog.cpp #, fuzzy @@ -7601,11 +7646,11 @@ msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å˜åœ¨ã—ã¾ã™ã€‚上書ãã—ã¾ã™ã‹ï¼Ÿ" #: editor/script_create_dialog.cpp msgid "Invalid extension" -msgstr "" +msgstr "ç„¡åŠ¹ãªæ‹¡å¼µåã§ã™" #: editor/script_create_dialog.cpp msgid "Wrong extension chosen" -msgstr "" +msgstr "æ‹¡å¼µåãŒèª¤ã£ã¦ã„ã¾ã™" #: editor/script_create_dialog.cpp #, fuzzy @@ -7697,7 +7742,7 @@ msgstr "関数:" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "グラフ表示ã™ã‚‹ã«ã¯ãƒªã‚¹ãƒˆã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸ã‚“ã§ãã ã•ã„." #: editor/script_editor_debugger.cpp msgid "Errors" @@ -7803,6 +7848,10 @@ msgstr "" msgid "Shortcuts" msgstr "ショートカット" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "å…‰æºã®åŠå¾„を変更" @@ -7855,19 +7904,59 @@ msgstr "パーティクルã®è»¸å¹³è¡Œå¢ƒç•Œãƒœãƒƒã‚¯ã‚¹ã‚’変更" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "パスã®ãƒã‚¤ãƒ³ãƒˆã‚’除去" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "プラットフォームã¸ã‚³ãƒ”ー.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "メッシュライブラリ.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "メッシュライブラリ.." + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "メッシュライブラリ.." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "ステータス:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " -msgstr "" +msgstr "ライブラリ: " #: modules/gdnative/register_types.cpp msgid "GDNative" @@ -7923,7 +8012,7 @@ msgstr "無効ãªã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹è¾žæ›¸ã§ã™ (無効ãªã‚µãƒ–クラス)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "" +msgstr "オブジェクトã«é•·ã•ãŒã‚りã¾ã›ã‚“." #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7937,7 +8026,7 @@ msgstr "é¸æŠžç¯„å›²ã‚’è¤‡è£½" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "" +msgstr "床é¢:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7950,13 +8039,12 @@ msgid "Snap View" msgstr "上é¢å›³" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Previous Floor" -msgstr "以å‰ã®ã‚¿ãƒ–" +msgstr "å‰ã®åºŠé¢" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" -msgstr "" +msgstr "次ã®åºŠé¢" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7973,15 +8061,15 @@ msgstr "" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "" +msgstr "X軸を編集" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "" +msgstr "Y軸を編集" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "" +msgstr "Z軸を編集" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -8046,7 +8134,7 @@ msgstr "インスタンス:" #: modules/mono/editor/mono_bottom_panel.cpp msgid "Builds" -msgstr "" +msgstr "ビルド" #: modules/visual_script/visual_script.cpp #, fuzzy @@ -8291,7 +8379,7 @@ msgstr "Getメソッド" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "" +msgstr "スクリプトã«é–¢æ•° '%s'ãŒæ—¢ã«ã‚りã¾ã™" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -8378,7 +8466,7 @@ msgstr "é¸æŠžç¯„å›²ã‚’æ¶ˆåŽ»" #: modules/visual_script/visual_script_editor.cpp msgid "Find Node Type" -msgstr "" +msgstr "ノードタイプを探ã™" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -8625,11 +8713,11 @@ msgstr "" #: scene/3d/arvr_nodes.cpp msgid "ARVRCamera must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRCameraã¯ARVROriginãƒŽãƒ¼ãƒ‰ã‚’è¦ªã«æŒã¤å¿…è¦ãŒã‚りã¾ã™" #: scene/3d/arvr_nodes.cpp msgid "ARVRController must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRControllerã¯ARVROriginãƒŽãƒ¼ãƒ‰ã‚’è¦ªã«æŒã¤å¿…è¦ãŒã‚りã¾ã™" #: scene/3d/arvr_nodes.cpp msgid "" @@ -8639,7 +8727,7 @@ msgstr "" #: scene/3d/arvr_nodes.cpp msgid "ARVRAnchor must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRAnchorã¯ARVROriginã‚’è¦ªã«æŒã¤å¿…è¦ãŒã‚りã¾ã™" #: scene/3d/arvr_nodes.cpp msgid "" @@ -8649,7 +8737,26 @@ msgstr "" #: scene/3d/arvr_nodes.cpp msgid "ARVROrigin requires an ARVRCamera child node" -msgstr "" +msgstr "ARVROriginã¯ARVRCameraåノードãŒå¿…è¦ã§ã™" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "イメージをé…ç½®(Blit)" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "イメージをé…ç½®(Blit)" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "プãƒãƒƒãƒˆå®Œäº†" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "イメージをé…ç½®(Blit)" #: scene/3d/collision_polygon.cpp #, fuzzy @@ -8689,10 +8796,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "イメージをé…ç½®(Blit)" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -8760,10 +8863,6 @@ msgid "Add current color as a preset" msgstr "ã“ã®è‰²ã‚’åˆæœŸè¨å®šå€¤ã¨ã—ã¦è¿½åŠ ã™ã‚‹" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "ã‚ャンセル" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "è¦å‘Š!" @@ -8839,6 +8938,32 @@ msgstr "フォントèªã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼ã€‚" msgid "Invalid font size." msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚" +#~ msgid "Move Add Key" +#~ msgstr "è¿½åŠ ã—ãŸã‚ーを移動" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "サブスクリプションã®ç”Ÿæˆ" + +#, fuzzy +#~ msgid "List:" +#~ msgstr "リスト:" + +#, fuzzy +#~ msgid "Set Emission Mask" +#~ msgstr "発光(Emission)マスクをè¨å®š" + +#, fuzzy +#~ msgid "Clear Emitter" +#~ msgstr "発光物をクリア" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "Sections:" +#~ msgstr "セクション:" + #, fuzzy #~ msgid "Cannot navigate to '" #~ msgstr "~ã«ç§»å‹•ã§ãã¾ã›ã‚“" @@ -9482,10 +9607,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚" #~ msgstr "BVHデータを生æˆ" #, fuzzy -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "ライトマップã¸ã®è»¢å†™:" - -#, fuzzy #~ msgid "Allocating Texture #" #~ msgstr "テクスãƒãƒ£ã‚’(メモリ上ã§ï¼‰ç¢ºä¿#" @@ -9642,10 +9763,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚" #~ msgstr "deleteã‚ー" #, fuzzy -#~ msgid "Copy To Platform.." -#~ msgstr "プラットフォームã¸ã‚³ãƒ”ー.." - -#, fuzzy #~ msgid "just pressed" #~ msgstr "押ã—ãŸ" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index 01f8f2823d..743f32a9e6 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -1,6 +1,6 @@ # Korean translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # 박한얼 (volzhs) <volzhs@gmail.com>, 2016-2017. @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-27 12:48+0000\n" +"PO-Revision-Date: 2017-12-11 00:48+0000\n" "Last-Translator: 박한얼 <volzhs@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" @@ -30,8 +30,9 @@ msgid "All Selection" msgstr "ëª¨ë“ ì„ íƒ" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "키 ì´ë™" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "ê°’ 변경" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -42,7 +43,8 @@ msgid "Anim Change Transform" msgstr "ì†ì„± 변경" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "ê°’ 변경" #: editor/animation_editor.cpp @@ -536,8 +538,9 @@ msgid "Connecting Signal:" msgstr "ì‹œê·¸ë„ ì—°ê²°:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "ì—°ê²° í•´ì œ" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "'%s'를 '%s'ì— ì—°ê²°" #: editor/connections_dialog.cpp msgid "Connect.." @@ -553,7 +556,8 @@ msgid "Signals" msgstr "시그ë„" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "새로 만들기" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -568,7 +572,7 @@ msgstr "최근:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "검색:" @@ -609,6 +613,7 @@ msgstr "" "다시 로드 í• ë•Œ 변경 사í•ì´ ì ìš©ë©ë‹ˆë‹¤." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ì¢…ì† ê´€ê³„" @@ -711,9 +716,10 @@ msgid "Delete selected files?" msgstr "ì„ íƒëœ 파ì¼ë“¤ì„ ì‚ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "ì‚ì œ" @@ -771,19 +777,19 @@ msgstr "미니 스í°ì„œ" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "골드 기ì¦ìž" +msgstr "골드 기부ìž" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "ë¸Œë¡ ì¦ˆ 기ì¦ìž" +msgstr "실버 기부ìž" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "ë¸Œë¡ ì¦ˆ 기ì¦ìž" +msgstr "ë¸Œë¡ ì¦ˆ 기부ìž" #: editor/editor_about.cpp msgid "Donors" -msgstr "기ì¦ìž" +msgstr "기부ìž" #: editor/editor_about.cpp msgid "License" @@ -855,6 +861,11 @@ msgid "Rename Audio Bus" msgstr "오디오 버스 ì´ë¦„ 변경" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "오디오 버스 솔로 í† ê¸€" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "오디오 버스 솔로 í† ê¸€" @@ -902,8 +913,8 @@ msgstr "ë°”ì´íŒ¨ìФ" msgid "Bus options" msgstr "버스 옵션" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "ë³µì œ" @@ -916,6 +927,10 @@ msgid "Delete Effect" msgstr "ì´íŽ™íŠ¸ ì‚ì œ" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "오디오 버스 추가" @@ -1037,7 +1052,7 @@ msgstr "ìžë™ë¡œë“œì— '%s'ì´(ê°€) ì´ë¯¸ 존재합니다!" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" -msgstr "ìžë™ 로드 ì´ë¦„ 변경" +msgstr "ì˜¤í† ë¡œë“œ ì´ë¦„ 변경" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" @@ -1045,11 +1060,11 @@ msgstr "ìžë™ë¡œë“œ 글로벌 í† ê¸€" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" -msgstr "ìžë™ 로드 ì´ë™" +msgstr "ì˜¤í† ë¡œë“œ ì´ë™" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "ìžë™ 로드 ì‚ì œ" +msgstr "ì˜¤í† ë¡œë“œ ì‚ì œ" #: editor/editor_autoload_settings.cpp msgid "Enable" @@ -1057,7 +1072,7 @@ msgstr "활성화" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" -msgstr "ìžë™ 로드 위치 변경" +msgstr "ì˜¤í† ë¡œë“œ ìž¬ì •ë ¬" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: scene/gui/file_dialog.cpp @@ -1068,7 +1083,8 @@ msgstr "경로:" msgid "Node Name:" msgstr "노드 ì´ë¦„:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "ì´ë¦„" @@ -1076,10 +1092,6 @@ msgstr "ì´ë¦„" msgid "Singleton" msgstr "싱글톤" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "목ë¡:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "씬 ì—…ë°ì´íЏ 중" @@ -1092,6 +1104,15 @@ msgstr "로컬 변경사í•ì„ ì €ìž¥ 중.." msgid "Updating scene.." msgstr "씬 ì—…ë°ì´íЏ 중.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(비었ìŒ)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "ë¨¼ì € 기본 ë””ë ‰í† ë¦¬ë¥¼ ì„ íƒí•´ì£¼ì„¸ìš”" @@ -1138,9 +1159,24 @@ msgid "File Exists, Overwrite?" msgstr "파ì¼ì´ 존재합니다. ë®ì–´ì“°ì‹œê² 습니까?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "í´ë” ìƒì„±" +msgstr "현재 í´ë” ì„ íƒ" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "경로 복사" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "íŒŒì¼ ë§¤ë‹ˆì €ì—서 보기" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "새 í´ë”.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "ìƒˆë¡œê³ ì¹¨" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1189,10 +1225,6 @@ msgid "Go Up" msgstr "위로 가기" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "ìƒˆë¡œê³ ì¹¨" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "숨김 íŒŒì¼ í† ê¸€" @@ -1372,7 +1404,8 @@ msgstr "ì¶œë ¥:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "지우기" @@ -1528,14 +1561,12 @@ msgstr "" "ëžë‹ˆë‹¤." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "ëª¨ë‘ í™•ìž¥" +msgstr "ëª¨ë“ ì†ì„± 펼치기" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "ëª¨ë‘ ì ‘ê¸°" +msgstr "ëª¨ë“ ì†ì„± ì ‘ê¸°" #: editor/editor_node.cpp msgid "Copy Params" @@ -1923,7 +1954,7 @@ msgstr "ë„구" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "ì¢…ë£Œí•˜ê³ í”„ë¡œì 트 목ë¡ìœ¼ë¡œ ëŒì•„가기" +msgstr "종료 후 프로ì 트 ëª©ë¡ ì—´ê¸°" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" @@ -2315,6 +2346,16 @@ msgstr "ìžì‹ " msgid "Frame #:" msgstr "í”„ë ˆìž„ #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "시간:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "호출" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "목ë¡ì—서 기기를 ì„ íƒí•˜ì„¸ìš”" @@ -2456,7 +2497,8 @@ msgstr "ì‘답 ì—†ìŒ." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "ìš”ì² ì‹¤íŒ¨." #: editor/export_template_manager.cpp @@ -2503,7 +2545,8 @@ msgid "Connecting.." msgstr "연결중.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "ì—°ê²°í• ìˆ˜ ì—†ìŒ" #: editor/export_template_manager.cpp @@ -2596,6 +2639,11 @@ msgid "Error moving:\n" msgstr "ì´ë™ ì—러:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "로드 중 ì—러:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "종ì†í•ëª©ì„ ì—…ë°ì´íЏ í• ìˆ˜ 없습니다:\n" @@ -2628,6 +2676,16 @@ msgid "Renaming folder:" msgstr "í´ë”명 변경:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "ë³µì œ" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "í´ë”명 변경:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "ëª¨ë‘ í™•ìž¥" @@ -2636,10 +2694,6 @@ msgid "Collapse all" msgstr "ëª¨ë‘ ì ‘ê¸°" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "경로 복사" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "ì´ë¦„ 변경.." @@ -2648,12 +2702,9 @@ msgid "Move To.." msgstr "ì´ë™.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "새 í´ë”.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "íŒŒì¼ ë§¤ë‹ˆì €ì—서 보기" +#, fuzzy +msgid "Open Scene(s)" +msgstr "씬 열기" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2668,6 +2719,11 @@ msgid "View Owners.." msgstr "ì†Œìœ ìž ë³´ê¸°.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "ë³µì œ" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "ì´ì „ ë””ë ‰í† ë¦¬" @@ -2762,6 +2818,16 @@ msgid "Importing Scene.." msgstr "씬 ê°€ì ¸ì˜¤ëŠ” 중.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "ë¼ì´íŠ¸ë§µìœ¼ë¡œ ì „ì†¡:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "AABB ìƒì„± 중" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "ì‚¬ìš©ìž ì •ì˜ ìŠ¤í¬ë¦½íЏ 실행중.." @@ -2992,7 +3058,7 @@ msgstr "ì• ë‹ˆë©”ì´ì…˜ ëª©ë¡ í‘œì‹œ." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "로드 시 ìžë™ 시작" +msgstr "로드 시 ìžë™ í”Œë ˆì´" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" @@ -3008,46 +3074,43 @@ msgstr "ì• ë‹ˆë©”ì´ì…˜ 복사" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "어니언 스키ë‹" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "어니언 ìŠ¤í‚¤ë‹ í™œì„±í™”" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "부문:" +msgstr "ë°©í–¥" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "붙여넣기" +msgstr "과거" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "기능" +msgstr "미래" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "깊ì´" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 단계" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 단계" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 단계" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "변경사í•ë§Œ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3055,7 +3118,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "기즈모 í¬í•¨ (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3332,6 +3395,7 @@ msgid "last" msgstr "마지막" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "모ë‘" @@ -3373,6 +3437,28 @@ msgstr "테스팅" msgid "Assets ZIP File" msgstr "ì—ì…‹ ZIP 파ì¼" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ë¼ì´íŠ¸ë§µìœ¼ë¡œ ì „ì†¡:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "미리보기" @@ -3509,7 +3595,6 @@ msgid "Toggles snapping" msgstr "스냅 í† ê¸€" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "스냅 사용" @@ -3519,7 +3604,7 @@ msgstr "스냅 옵션" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "ê·¸ë¦¬ë“œì— ë§žì¶¤" +msgstr "ê·¸ë¦¬ë“œì— ìŠ¤ëƒ…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" @@ -3543,7 +3628,7 @@ msgstr "스마트 스냅" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "ë¶€ëª¨ì— ë§žì¶¤" +msgstr "ë¶€ëª¨ì— ìŠ¤ëƒ…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" @@ -3559,7 +3644,7 @@ msgstr "다른 ë…¸ë“œì— ìŠ¤ëƒ…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" -msgstr "ê°€ì´ë“œì— 맞춤" +msgstr "ê°€ì´ë“œì— 스냅" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -3607,7 +3692,7 @@ msgstr "보기" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "그리드 ë³´ì´ê¸°" +msgstr "그리드 보기" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show helpers" @@ -3689,16 +3774,6 @@ msgstr "'%s' 로부터 씬 ì¸ìŠ¤í„´ìŠ¤ 중 ì—러" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "넹 :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "ì„ íƒëœ 부모 노드가 없어서 ìžì‹ë…¸ë“œë¥¼ ì¸ìŠ¤í„´ìŠ¤í• ìˆ˜ 없습니다." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "ì´ ìž‘ì—…ì€ í•˜ë‚˜ì˜ ì„ íƒëœ 노드를 필요로 합니다." @@ -3810,7 +3885,7 @@ msgstr "쉬프트키를 ëˆ„ë¥´ê³ ìžˆìœ¼ë©´ 탄ì 트를 개별ì 으로 편집 #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "GI Probe 굽기" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" @@ -3894,6 +3969,22 @@ msgid "Create Navigation Mesh" msgstr "네비게ì´ì…˜ 메쉬 만들기" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstanceì— ë©”ì‰¬ê°€ 없습니다!" @@ -3934,6 +4025,20 @@ msgid "Create Outline Mesh.." msgstr "ì™¸ê³½ì„ ë©”ì‰¬ 만들기.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "보기" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "보기" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "ì™¸ê³½ì„ ë©”ì‰¬ 만들기" @@ -4110,10 +4215,6 @@ msgid "Create Navigation Polygon" msgstr "네비게ì´ì…˜ í´ë¦¬ê³¤ 만들기" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "ì—미션 ë§ˆìŠ¤í¬ ì •ë¦¬" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "AABB ìƒì„± 중" @@ -4131,10 +4232,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "ì´ë¯¸ì§€ì— 투명ë„ê°€ 128보다 í° í”½ì…€ì´ ì—†ìŠµë‹ˆë‹¤.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "ì—미션 ë§ˆìŠ¤í¬ ì„¤ì •" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "" @@ -4143,6 +4240,10 @@ msgid "Load Emission Mask" msgstr "ì—미션 ë§ˆìŠ¤í¬ ë¡œë“œ" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "ì—미션 ë§ˆìŠ¤í¬ ì •ë¦¬" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "파티í´" @@ -4201,10 +4302,6 @@ msgid "Create Emission Points From Node" msgstr "노드로부터 ì—미터 í¬ì¸íЏ 만들기" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ì—미터 ì •ë¦¬" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "ì—미터 만들기" @@ -4489,11 +4586,13 @@ msgstr "ì •ë ¬" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "위로 ì´ë™" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "아래로 ì´ë™" @@ -4509,7 +4608,7 @@ msgstr "ì´ì „ 스í¬ë¦½íЏ" msgid "File" msgstr "파ì¼" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "새로운" @@ -4522,6 +4621,11 @@ msgid "Soft Reload Script" msgstr "스í¬ë¦½íЏ 다시 로드" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "경로 복사" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "ì´ì „ ížˆìŠ¤í† ë¦¬" @@ -4710,11 +4814,8 @@ msgid "Clone Down" msgstr "아래로 ë³µì œ" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "ë¼ì¸ ì ‘ìŒ" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "ë¼ì¸ 펼치기" #: editor/plugins/script_text_editor.cpp @@ -5042,6 +5143,14 @@ msgstr "초당 í”„ë ˆìž„" msgid "Align with view" msgstr "ë·°ì— ì •ë ¬" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "넹 :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "ì„ íƒëœ 부모 노드가 없어서 ìžì‹ë…¸ë“œë¥¼ ì¸ìŠ¤í„´ìŠ¤í• ìˆ˜ 없습니다." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Normal 표시" @@ -5149,6 +5258,20 @@ msgid "Scale Mode (R)" msgstr "í¬ê¸°ì¡°ì ˆ 모드 (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "로컬 좌표" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "í¬ê¸°ì¡°ì ˆ 모드 (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "스냅 모드:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "하단 ë·°" @@ -5221,10 +5344,6 @@ msgid "Configure Snap.." msgstr "스냅 ì„¤ì •.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "로컬 좌표" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "변환 다ì´ì–¼ë¡œê·¸.." @@ -5266,6 +5385,10 @@ msgid "Settings" msgstr "ì„¤ì •" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "스냅 ì„¤ì •" @@ -5291,11 +5414,11 @@ msgstr "ì›ê·¼ 시야 (ë„):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "Zì¶• ê°€ê¹Œì´ ë³´ê¸°:" +msgstr "Z-근경 보기:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "Zì¶• 멀리 보기:" +msgstr "Z-ì›ê²½ 보기:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" @@ -5648,6 +5771,11 @@ msgid "Merge from scene?" msgstr "씬으로부터 ë³‘í•©í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "íƒ€ì¼ ì…‹.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "씬으로부터 만들기" @@ -5659,6 +5787,10 @@ msgstr "씬으로부터 병합하기" msgid "Error" msgstr "ì—러" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "취소" + #: editor/project_export.cpp msgid "Runnable" msgstr "실행가능" @@ -5731,7 +5863,7 @@ msgstr "기능" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "" +msgstr "커스텀 (콤마로 구분):" #: editor/project_export.cpp msgid "Feature List:" @@ -5743,11 +5875,11 @@ msgstr "PCK/Zip 내보내기" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ìŒ:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "" +msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ê±°ë‚˜ ì†ìƒë¨:" #: editor/project_export.cpp msgid "Export With Debug" @@ -5766,22 +5898,19 @@ msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"비어있지 ì•Šì€ í´ë”ì— í”„ë¡œì 트가 ìƒì„±ë©ë‹ˆë‹¤ (새 í´ë”를 만드는 ê²ƒì„ ê¶Œí•©ë‹ˆë‹¤)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." -msgstr "" +msgstr "'project.godot' 파ì¼ì´ 없는 í´ë”를 ì„ íƒ í•˜ì‹ì‹œì˜¤." #: editor/project_manager.cpp msgid "Imported Project" msgstr "ê°€ì ¸ì˜¨ 프로ì 트" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "프로ì 트 ì´ë¦„ì„ ì •í•˜ëŠ” ê²ƒì„ ê¶Œí•©ë‹ˆë‹¤." #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." @@ -5874,6 +6003,8 @@ msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"프로ì 트 실행 불가: ì–´ì…‹ë“¤ì„ ê°€ì ¸ì™€ì•¼ 합니다.\n" +"프로ì 트를 편집하여 최초 ê°€ì ¸ì˜¤ê¸°ê°€ 실행ë˜ë„ë¡ í•˜ì„¸ìš”." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" @@ -5889,6 +6020,8 @@ msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"언어가 변경ë˜ì—ˆìŠµë‹ˆë‹¤.\n" +"UI는 ì—디터나 프로ì 트 ë§¤ë‹ˆì €ê°€ ë‹¤ìŒ ë²ˆì— ì‹¤í–‰ë 때 ì—…ë°ì´íЏ ë©ë‹ˆë‹¤." #: editor/project_manager.cpp msgid "" @@ -5933,6 +6066,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"프로ì 트가 현재 í•˜ë‚˜ë„ ì—†ìŠµë‹ˆë‹¤.\n" +"어쎗 ë¼ì´ë¸ŒëŸ¬ë¦¬ì—서 ê³µì‹ ì˜ˆì œ 프로ì 트를 ì°¾ì•„ë³´ì‹œê² ìŠµë‹ˆê¹Œ?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6040,8 +6175,9 @@ msgid "Joypad Button Index:" msgstr "ì¡°ì´íŒ¨ë“œ 버튼 ì¸ë±ìФ:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "ìž…ë ¥ ì•¡ì…˜ 추가" +#, fuzzy +msgid "Erase Input Action" +msgstr "ìž…ë ¥ ì•¡ì…˜ ì´ë²¤íЏ ì‚ì œ" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6081,11 +6217,11 @@ msgstr "íœ ì•„ëž˜ë¡œ." #: editor/project_settings_editor.cpp msgid "Add Global Property" -msgstr "" +msgstr "글로벌 ì†ì„± 추가" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "ë¨¼ì € ì„¤ì • í•ëª©ì„ ì„ íƒí•˜ì„¸ìš”!" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." @@ -6093,7 +6229,7 @@ msgstr "'%s' ì†ì„±ì´ 존재하지 않습니다." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" +msgstr "'%s' ì„¤ì •ì€ ë‚´ë¶€ì ì¸ ê²ƒìž…ë‹ˆë‹¤, ì‚ì œê°€ 불가합니다." #: editor/project_settings_editor.cpp msgid "Delete Item" @@ -6108,6 +6244,10 @@ msgid "Already existing" msgstr "ì´ë¯¸ 존재함" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "ìž…ë ¥ ì•¡ì…˜ 추가" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "ì„¤ì • ì €ìž¥ 중 ì—러." @@ -6153,7 +6293,7 @@ msgstr "ë¡œì¼€ì¼ í•„í„° 변경ë¨" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter Mode" -msgstr "" +msgstr "ë¡œì¼€ì¼ í•„í„° 모드 변경" #: editor/project_settings_editor.cpp msgid "Project Settings (project.godot)" @@ -6225,7 +6365,7 @@ msgstr "ëª¨ë“ ë¡œì¼€ì¼ ë³´ê¸°" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "ì„ íƒí•œ 로케ì¼ë§Œ 표시" #: editor/project_settings_editor.cpp msgid "Filter mode:" @@ -6237,7 +6377,7 @@ msgstr "로케ì¼:" #: editor/project_settings_editor.cpp msgid "AutoLoad" -msgstr "ìžë™ 로드" +msgstr "ì˜¤í† ë¡œë“œ" #: editor/property_editor.cpp msgid "Pick a Viewport" @@ -6284,6 +6424,10 @@ msgid "New Script" msgstr "새 스í¬ë¦½íЏ" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "ê³ ìœ í•˜ê²Œ 만들기" @@ -6315,6 +6459,11 @@ msgstr "비트 %d, ê°’ %d." msgid "On" msgstr "사용" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "빈 í”„ë ˆìž„ 추가" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "ì„¤ì •" @@ -6323,10 +6472,6 @@ msgstr "ì„¤ì •" msgid "Properties:" msgstr "ì†ì„±:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "부문:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "ì†ì„± ì„ íƒ" @@ -6523,7 +6668,7 @@ msgstr "스í¬ë¦½íЏ ì œê±°" #: editor/scene_tree_dock.cpp msgid "Merge From Scene" -msgstr "다른 씬과 병합" +msgstr "다른 씬ì—서 ê°€ì ¸ì˜¤ê¸°" #: editor/scene_tree_dock.cpp msgid "Save Branch as Scene" @@ -6878,6 +7023,10 @@ msgstr "트리로부터 ì„¤ì •" msgid "Shortcuts" msgstr "단축키" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Light 반경 변경" @@ -6926,15 +7075,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "프로브 범위 변경" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "커프 í¬ì¸íЏ ì‚ì œ" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "플랫í¼ìœ¼ë¡œ 복사.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "ìƒíƒœ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7608,6 +7797,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "ì´ë¯¸ì§€ 병합 중" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "ì´ë¯¸ì§€ 병합 중" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "ì´ë¯¸ì§€ 병합 중" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7645,10 +7853,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "ì´ë¯¸ì§€ 병합 중" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7708,10 +7912,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "취소" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "ê²½ê³ !" @@ -7778,6 +7978,27 @@ msgstr "í°íЏ 로딩 ì—러." msgid "Invalid font size." msgstr "ìœ ìš”í•˜ì§€ ì•Šì€ í°íЏ 사ì´ì¦ˆ." +#~ msgid "Move Add Key" +#~ msgstr "키 ì´ë™" + +#~ msgid "Create Subscription" +#~ msgstr "ì—°ê²° í•´ì œ" + +#~ msgid "List:" +#~ msgstr "목ë¡:" + +#~ msgid "Set Emission Mask" +#~ msgstr "ì—미션 ë§ˆìŠ¤í¬ ì„¤ì •" + +#~ msgid "Clear Emitter" +#~ msgstr "ì—미터 ì •ë¦¬" + +#~ msgid "Fold Line" +#~ msgstr "ë¼ì¸ ì ‘ìŒ" + +#~ msgid "Sections:" +#~ msgstr "부문:" + #~ msgid "" #~ "\n" #~ "Source: " @@ -8298,9 +8519,6 @@ msgstr "ìœ ìš”í•˜ì§€ ì•Šì€ í°íЏ 사ì´ì¦ˆ." #~ msgid "Making BVH" #~ msgstr "BVH 만드는 중" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "ë¼ì´íŠ¸ë§µìœ¼ë¡œ ì „ì†¡:" - #~ msgid "Allocating Texture #" #~ msgstr "í…ìŠ¤ì³ í• ë‹¹ 중 #" @@ -8443,9 +8661,6 @@ msgstr "ìœ ìš”í•˜ì§€ ì•Šì€ í°íЏ 사ì´ì¦ˆ." #~ msgid "Del" #~ msgstr "ì‚ì œ" -#~ msgid "Copy To Platform.." -#~ msgstr "플랫í¼ìœ¼ë¡œ 복사.." - #, fuzzy #~ msgid "" #~ "Couldn't read the certificate file. Are the path and password both " diff --git a/editor/translations/lt.po b/editor/translations/lt.po index af752e728f..49858d179f 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -1,6 +1,6 @@ # Lithuanian translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Ignas Kiela <ignaskiela@super.lt>, 2017. @@ -29,8 +29,9 @@ msgid "All Selection" msgstr "Visas Pasirinkimas" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animacija: Pakeisti ReikÅ¡mÄ™" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,7 +42,8 @@ msgid "Anim Change Transform" msgstr "Animacija: Pakeisti TransformacijÄ…" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animacija: Pakeisti ReikÅ¡mÄ™" #: editor/animation_editor.cpp @@ -537,8 +539,9 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Prijungti '%s' prie '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -554,7 +557,8 @@ msgid "Signals" msgstr "Signalai" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Sukurti NaujÄ…" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -569,7 +573,7 @@ msgstr "Naujausi:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -606,6 +610,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -706,9 +711,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -847,6 +853,10 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Change Audio Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -894,8 +904,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplikuoti" @@ -908,6 +918,10 @@ msgid "Delete Effect" msgstr "IÅ¡trinti EfektÄ…" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1058,7 +1072,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1066,10 +1081,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1082,6 +1093,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1131,6 +1150,22 @@ msgstr "" msgid "Select Current Folder" msgstr "" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1178,10 +1213,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1357,7 +1388,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2247,6 +2279,15 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "TrukmÄ—:" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2382,7 +2423,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2429,7 +2470,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2520,6 +2561,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2552,15 +2597,21 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplikuoti" #: editor/filesystem_dock.cpp -msgid "Collapse all" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Duplikuoti" + +#: editor/filesystem_dock.cpp +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2572,11 +2623,7 @@ msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2592,6 +2639,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplikuoti" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2684,6 +2736,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3249,6 +3309,7 @@ msgid "last" msgstr "paskutinis" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Visi" @@ -3290,6 +3351,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3424,7 +3506,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3604,16 +3685,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3805,6 +3876,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3845,6 +3932,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4021,10 +4120,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4042,15 +4137,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4112,10 +4207,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4398,11 +4489,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4418,7 +4511,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4431,6 +4524,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4617,11 +4714,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4949,6 +5042,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5053,6 +5154,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5125,10 +5238,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5170,6 +5279,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5552,6 +5665,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5563,6 +5680,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "AtÅ¡aukti" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5680,10 +5801,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5940,7 +6057,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6008,6 +6125,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6184,6 +6305,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6215,6 +6340,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6223,10 +6352,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6776,6 +6901,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6824,15 +6953,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Remove current entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7481,6 +7646,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7509,10 +7690,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7567,10 +7744,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "AtÅ¡aukti" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Ä®spÄ—jimas!" diff --git a/editor/translations/nb.po b/editor/translations/nb.po index ff238a5a85..5843a0797c 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -1,19 +1,20 @@ # Norwegian BokmÃ¥l translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Allan Nordhøy <epost@anotheragency.no>, 2017. # Anonymous <GentleSaucepan@protonmail.com>, 2017. # flesk <eivindkn@gmail.com>, 2017. # Jørgen Aarmo Lund <jorgen.aarmo@gmail.com>, 2016. +# NicolaiF <nico-fre@hotmail.com>, 2017. # Norwegian Disaster <stian.furu.overbye@gmail.com>, 2017. # passeride <lukas@passeride.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:12+0000\n" +"PO-Revision-Date: 2017-12-05 23:48+0000\n" "Last-Translator: flesk <eivindkn@gmail.com>\n" "Language-Team: Norwegian BokmÃ¥l <https://hosted.weblate.org/projects/godot-" "engine/godot/nb/>\n" @@ -29,11 +30,12 @@ msgstr "Deaktivert" #: editor/animation_editor.cpp msgid "All Selection" -msgstr "Hele utvalget" +msgstr "Alle valg" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Flytt Legg til Nøkkel" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Forandre Verdi" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,10 +43,11 @@ msgstr "Anim Forandre Overgang" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Anim Endre Transformering" +msgstr "Anim Forandre Omforming" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Forandre Verdi" #: editor/animation_editor.cpp @@ -96,8 +99,9 @@ msgid "Edit Node Curve" msgstr "Forandre Nodekurve" #: editor/animation_editor.cpp +#, fuzzy msgid "Edit Selection Curve" -msgstr "Forandre Utvalgskurve" +msgstr "Forandre utvalgskurve" #: editor/animation_editor.cpp msgid "Anim Delete Keys" @@ -150,7 +154,7 @@ msgstr "GÃ¥ til Neste Steg" #: editor/animation_editor.cpp msgid "Goto Prev Step" -msgstr "GÃ¥til Forrige Steg" +msgstr "GÃ¥ til Forrige Steg" #: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -187,7 +191,7 @@ msgstr "Optimaliser Animasjon" #: editor/animation_editor.cpp msgid "Clean-Up Animation" -msgstr "Rengjør Animasjon" +msgstr "Rydd-Opp-Animasjon" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" @@ -212,7 +216,7 @@ msgstr "Anim Lag og Sett Inn" #: editor/animation_editor.cpp msgid "Anim Insert Track & Key" -msgstr "Anim Sett inn Spor og Nøkkel" +msgstr "Anim Sett Inn Spor & Nøkkel" #: editor/animation_editor.cpp msgid "Anim Insert Key" @@ -243,7 +247,6 @@ msgid "Anim Add Call Track" msgstr "Anim Legg Til Call Track" #: editor/animation_editor.cpp -#, fuzzy msgid "Animation zoom." msgstr "Animasjons-zoom." @@ -265,7 +268,7 @@ msgstr "Pekersteghopp (i sekunder)." #: editor/animation_editor.cpp msgid "Enable/Disable looping in animation." -msgstr "Aktiver/Deaktiver løkke i animasjon." +msgstr "Aktiver/Deaktiver animasjonsløkke." #: editor/animation_editor.cpp msgid "Add new tracks." @@ -285,7 +288,7 @@ msgstr "Fjern valgt spor." #: editor/animation_editor.cpp msgid "Track tools" -msgstr "Sporverktøy" +msgstr "Spoor verktøy" #: editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." @@ -312,9 +315,8 @@ msgid "Optimize" msgstr "Optimaliser" #: editor/animation_editor.cpp -#, fuzzy msgid "Select an AnimationPlayer from the Scene Tree to edit animations." -msgstr "Marker en AnimationPlayer fra scenetreet for Ã¥ endre animasjoner." +msgstr "Velg en AnimationPlayer fra scenetreet for Ã¥ endre animasjoner." #: editor/animation_editor.cpp msgid "Key" @@ -536,13 +538,13 @@ msgid "Connect '%s' to '%s'" msgstr "Koble '%s' til '%s'" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connecting Signal:" msgstr "Kobler Til Signal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Lag Abonnement" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Koble '%s' til '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -558,7 +560,8 @@ msgid "Signals" msgstr "Signaler" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Lag Ny" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -573,7 +576,7 @@ msgstr "Nylige:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Søk:" @@ -614,6 +617,7 @@ msgstr "" "Endringer vil tre i kraft nÃ¥r den lastes inn pÃ¥ nytt." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Avhengigheter" @@ -678,7 +682,7 @@ msgstr "Feil ved innlasting:" #: editor/dependency_editor.cpp msgid "Scene failed to load due to missing dependencies:" -msgstr "Scenen kunne ikke lastes, pÃ¥ grunn av manglende avhengigheter:" +msgstr "Scenen kunne ikke lastes pÃ¥ grunn av manglende avhengigheter:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" @@ -698,7 +702,7 @@ msgstr "Feil ved lasting!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "Slett %d ting for godt? (kan ikke angres)" +msgstr "Slett %d elementer for godt? (kan ikke angres)" #: editor/dependency_editor.cpp msgid "Owns" @@ -717,22 +721,24 @@ msgid "Delete selected files?" msgstr "Slett valgte filer?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Slett" #: editor/dictionary_property_edit.cpp +#, fuzzy msgid "Change Dictionary Key" msgstr "Endre Ordboksnøkkel" #: editor/dictionary_property_edit.cpp +#, fuzzy msgid "Change Dictionary Value" msgstr "Endre Ordboksverdi" #: editor/editor_about.cpp -#, fuzzy msgid "Thanks from the Godot community!" msgstr "Takk fra Godot-samfunnet!" @@ -742,7 +748,7 @@ msgstr "Takk!" #: editor/editor_about.cpp msgid "Godot Engine contributors" -msgstr "Godot Engines bidragsytere" +msgstr "Godot Engine sine bidragsytere" #: editor/editor_about.cpp msgid "Project Founders" @@ -863,6 +869,11 @@ msgid "Rename Audio Bus" msgstr "Gi nytt navn til Audio Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Veksle Audio Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Veksle Audio Bus Solo" @@ -900,7 +911,7 @@ msgstr "Solo" #: editor/editor_audio_buses.cpp msgid "Mute" -msgstr "Mute" +msgstr "Demp" #: editor/editor_audio_buses.cpp #, fuzzy @@ -911,8 +922,8 @@ msgstr "OmgÃ¥" msgid "Bus options" msgstr "Bus valg" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplisér" @@ -925,6 +936,10 @@ msgid "Delete Effect" msgstr "Fjern Effekt" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Legg til Audio Bus" @@ -1059,160 +1074,176 @@ msgstr "Flytt Autoload" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "" +msgstr "Fjern Autoload" #: editor/editor_autoload_settings.cpp msgid "Enable" -msgstr "" +msgstr "Aktiver" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" -msgstr "" +msgstr "Omorganiser Autoloads" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: scene/gui/file_dialog.cpp msgid "Path:" -msgstr "" +msgstr "Bane:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "" +msgstr "Nodenavn:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" -msgstr "" +msgstr "Navn" #: editor/editor_autoload_settings.cpp msgid "Singleton" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" +msgstr "Singleton" #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "" +msgstr "Oppdaterer Scene" #: editor/editor_data.cpp msgid "Storing local changes.." -msgstr "" +msgstr "Lagrer lokale endringer.." #: editor/editor_data.cpp msgid "Updating scene.." +msgstr "Oppdaterer scene.." + +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" msgstr "" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "" +msgstr "Venligst velg en basemappe først" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "" +msgstr "Velg en Mappe" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "" +msgstr "Lag mappe" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp #: scene/gui/file_dialog.cpp msgid "Name:" -msgstr "" +msgstr "Navn:" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Could not create folder." -msgstr "" +msgstr "Kunne ikke opprette mappe." #: editor/editor_dir_dialog.cpp msgid "Choose" -msgstr "" +msgstr "Velg" #: editor/editor_export.cpp msgid "Storing File:" -msgstr "" +msgstr "Lagrer Fil:" #: editor/editor_export.cpp msgid "Packing" -msgstr "" +msgstr "Pakking" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:\n" -msgstr "" +msgstr "Malfil ble ikke funnet:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "" +msgstr "Filen finnes, overskriv?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Kutt Noder" +msgstr "Velg Gjeldende Mappe" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Kopier Sti" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Vis I Filutforsker" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Ny Mappe.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Oppdater" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" -msgstr "" +msgstr "Alle gjenkjente" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Files (*)" -msgstr "" +msgstr "Alle filer (*)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File" -msgstr "" +msgstr "Ã…pne en fil" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "" +msgstr "Ã…pne fil(er)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "" +msgstr "Ã…pne ei mappe" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "" +msgstr "Ã…pne ei fil eller mappe" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp msgid "Save" -msgstr "" +msgstr "Lagre" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" -msgstr "" +msgstr "Lagre ei fil" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "GÃ¥ tilbake" #: editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "GÃ¥ framover" #: editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" +msgstr "GÃ¥ oppover" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Veksle visning av skjulte filer" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "" +msgstr "Veksle favorittmerkering" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "" +msgstr "Veksle modus" #: editor/editor_file_dialog.cpp msgid "Focus Path" @@ -1220,32 +1251,32 @@ msgstr "" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "" +msgstr "Flytt favoritt oppover" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "" +msgstr "Flytt favoritt nedover" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Go to parent folder" -msgstr "" +msgstr "GÃ¥ til overnevnt mappe" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "" +msgstr "Mapper og filer:" #: editor/editor_file_dialog.cpp msgid "Preview:" -msgstr "" +msgstr "ForhÃ¥ndsvisning:" #: editor/editor_file_dialog.cpp editor/script_editor_debugger.cpp #: scene/gui/file_dialog.cpp msgid "File:" -msgstr "" +msgstr "Fil:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Must use a valid extension." -msgstr "" +msgstr "MÃ¥ ha en gyldig filutvidelse." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1258,35 +1289,35 @@ msgstr "" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "" +msgstr "Søk hjelp" #: editor/editor_help.cpp msgid "Class List:" -msgstr "" +msgstr "Klasseliste:" #: editor/editor_help.cpp msgid "Search Classes" -msgstr "" +msgstr "Søk i klasser" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" -msgstr "" +msgstr "Topp" #: editor/editor_help.cpp editor/property_editor.cpp msgid "Class:" -msgstr "" +msgstr "Klasse:" #: editor/editor_help.cpp editor/scene_tree_editor.cpp msgid "Inherits:" -msgstr "" +msgstr "Arver:" #: editor/editor_help.cpp msgid "Inherited by:" -msgstr "" +msgstr "Arvet av:" #: editor/editor_help.cpp msgid "Brief Description:" -msgstr "" +msgstr "Kort beskrivelse:" #: editor/editor_help.cpp msgid "Members" @@ -1298,193 +1329,200 @@ msgstr "Medlemmer:" #: editor/editor_help.cpp msgid "Public Methods" -msgstr "" +msgstr "Offentlige metoder" #: editor/editor_help.cpp msgid "Public Methods:" -msgstr "" +msgstr "Offentlige metoder:" #: editor/editor_help.cpp msgid "GUI Theme Items" -msgstr "" +msgstr "GUI Tema Elementer" #: editor/editor_help.cpp msgid "GUI Theme Items:" -msgstr "" +msgstr "GUI Tema Elementer:" #: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp msgid "Signals:" msgstr "Signaler:" #: editor/editor_help.cpp -#, fuzzy msgid "Enumerations" -msgstr "Funksjoner:" +msgstr "Nummereringer" #: editor/editor_help.cpp -#, fuzzy msgid "Enumerations:" -msgstr "Funksjoner:" +msgstr "Nummereringer:" #: editor/editor_help.cpp msgid "enum " -msgstr "" +msgstr "num " #: editor/editor_help.cpp msgid "Constants" -msgstr "" +msgstr "Konstanter" #: editor/editor_help.cpp msgid "Constants:" -msgstr "" +msgstr "Konstanter:" #: editor/editor_help.cpp msgid "Description" -msgstr "" +msgstr "Beskrivelse" #: editor/editor_help.cpp msgid "Properties" -msgstr "" +msgstr "Egenskaper" #: editor/editor_help.cpp msgid "Property Description:" -msgstr "" +msgstr "Egenskapsbeskrivelse:" #: editor/editor_help.cpp msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" +"Det finnes i øyeblikket ingen beskrivelse av denne egenskapen. Hjelp til ved " +"Ã¥ [colour=$color][url=$url]bidra med en[/url][/color]!" #: editor/editor_help.cpp msgid "Methods" -msgstr "" +msgstr "Metoder" #: editor/editor_help.cpp msgid "Method Description:" -msgstr "" +msgstr "Metodebeskrivelse:" #: editor/editor_help.cpp msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" +"Det finnes i øyeblikket ingen beskrivelse av denne metoden. Hjelp til ved Ã¥ " +"[colour=$color][url=$url]bidra med en[/url][/color]!" #: editor/editor_help.cpp msgid "Search Text" -msgstr "" +msgstr "Søk Tekst" #: editor/editor_log.cpp msgid "Output:" -msgstr "" +msgstr "Output:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" -msgstr "" +msgstr "Tøm" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "" +msgstr "Feil ved lagring av ressurs!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." -msgstr "" +msgstr "Lagre Ressurs Som.." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +#, fuzzy msgid "I see.." -msgstr "" +msgstr "Jeg ser.." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "" +msgstr "Kan ikke Ã¥pne fil for skriving:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "" +msgstr "Forespurte filformat ukjent:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "" +msgstr "Feil under lagring." #: editor/editor_node.cpp msgid "Can't open '%s'." -msgstr "" +msgstr "Kan ikke Ã¥pne '%s'." #: editor/editor_node.cpp msgid "Error while parsing '%s'." -msgstr "" +msgstr "Error ved parsing av '%s'." #: editor/editor_node.cpp +#, fuzzy msgid "Unexpected end of file '%s'." -msgstr "" +msgstr "Uventet ende av fil '%s'." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." -msgstr "" +msgstr "Mangler '%s' eller dens avhengigheter." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "" +msgstr "Feil ved lasting av '%s'." #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "" +msgstr "Lagrer Scene" #: editor/editor_node.cpp msgid "Analyzing" -msgstr "" +msgstr "Analyserer" #: editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "" +msgstr "Lager Thumbnail" #: editor/editor_node.cpp msgid "This operation can't be done without a tree root." -msgstr "" +msgstr "Denne operasjonen kan ikke gjennomføres uten en trerot." #: editor/editor_node.cpp msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" +"Kunne ikke lagre scene. Sannsynligvis avhengigheter (instanser) ikke kunne " +"oppfylles." #: editor/editor_node.cpp msgid "Failed to load resource." -msgstr "" +msgstr "Kunne ikke laste ressurs." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "Kan ikke laste MeshLibrary for sammenslÃ¥ing!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "Error ved lagring av MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "" +msgstr "Kan ikke laste TileSet for sammenslÃ¥ing!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "" +msgstr "Error ved lagring av TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "" +msgstr "Error ved lagring av layout!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "" +msgstr "Standard editor layout overskrevet." #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "Layoutnavn ikke funnet!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "" +msgstr "Gjenoppretter standard layout til grunninnstillinger." #: editor/editor_node.cpp msgid "" @@ -1492,18 +1530,26 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Denne ressursen tilhører en scene som ble importert, sÃ¥ den er ikke " +"redigerbar.\n" +"Les dokumentasjonen om import av scener for Ã¥ bedre forstÃ¥ denne " +"arbeidsflyten." #: editor/editor_node.cpp msgid "" "This resource belongs to a scene that was instanced or inherited.\n" "Changes to it will not be kept when saving the current scene." msgstr "" +"Denne ressursen tilhører en scene som ble instansert eller arvet.\n" +"Endringer vil ikke bli beholdt ved lagring av scenen." #: editor/editor_node.cpp msgid "" "This resource was imported, so it's not editable. Change its settings in the " "import panel and then re-import." msgstr "" +"Denne ressursen ble importert, sÃ¥ det ikke er redigerbar. Endre " +"innstillingene i import-panelet og importer deretter pÃ¥ nytt." #: editor/editor_node.cpp msgid "" @@ -1512,6 +1558,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Denne scenen er importert, sÃ¥ endringer vil ikke bli lagret.\n" +"Instansere eller arving vil tillate endringer i den.\n" +"Vennligst les dokumentasjonen nÃ¥r det gjelder import av scener for Ã¥ bedre " +"forstÃ¥ denne arbeidsflyten." #: editor/editor_node.cpp msgid "" @@ -1519,46 +1569,51 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" +"Dette er et eksternt objekt sÃ¥ endringer vil ikke beholdes.\n" +"Vennligst les dokumentasjonen relevant til debugging for Ã¥ forstÃ¥ denne " +"arbeidsflyten." #: editor/editor_node.cpp msgid "Expand all properties" -msgstr "" +msgstr "Utvid alle egenskaper" #: editor/editor_node.cpp msgid "Collapse all properties" -msgstr "" +msgstr "Kollaps alle egenskaper" #: editor/editor_node.cpp msgid "Copy Params" -msgstr "" +msgstr "Kopier Parametre" #: editor/editor_node.cpp msgid "Paste Params" -msgstr "" +msgstr "Lim inn Parametre" #: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp msgid "Paste Resource" -msgstr "" +msgstr "Lim inn Ressurs" #: editor/editor_node.cpp msgid "Copy Resource" -msgstr "" +msgstr "Kopier Ressurs" #: editor/editor_node.cpp +#, fuzzy msgid "Make Built-In" -msgstr "" +msgstr "Lag Innebygd" #: editor/editor_node.cpp +#, fuzzy msgid "Make Sub-Resources Unique" -msgstr "" +msgstr "Gjør Underressurs Unik" #: editor/editor_node.cpp msgid "Open in Help" -msgstr "" +msgstr "Ã…pne i Hjelp" #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "" +msgstr "Det er ingen definert scene Ã¥ kjøre." #: editor/editor_node.cpp msgid "" @@ -1566,13 +1621,20 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Ingen hovedscene har blitt definert, velg en?\n" +"Du kan endre dette senere under \"Prosjekt Innstilliner\" i kategorien " +"'applikasjon'." #: editor/editor_node.cpp +#, fuzzy msgid "" "Selected scene '%s' does not exist, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Valgte scene '%s' finnes ikke, velg en gyldig en?\n" +"Du kan endre dette senere under \"Prosjekt Innstillinger\" under kategorien " +"'applikasjon'." #: editor/editor_node.cpp msgid "" @@ -1583,15 +1645,15 @@ msgstr "" #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." -msgstr "" +msgstr "Gjeldende scene ble aldri lagret, vennligst lagre før kjøring." #: editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "" +msgstr "Kunne ikke starta subprosess!" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "" +msgstr "Ã…pne Scene" #: editor/editor_node.cpp msgid "Open Base Scene" @@ -1599,121 +1661,124 @@ msgstr "" #: editor/editor_node.cpp msgid "Quick Open Scene.." -msgstr "" +msgstr "HurtigÃ¥pne Scene.." #: editor/editor_node.cpp msgid "Quick Open Script.." -msgstr "" +msgstr "HurtigÃ¥pne Skript.." #: editor/editor_node.cpp msgid "Save & Close" -msgstr "" +msgstr "Lagre og Lukk" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "" +msgstr "Lagre endringer til '%s' før lukking?" #: editor/editor_node.cpp msgid "Save Scene As.." -msgstr "" +msgstr "Lagre Scene Som.." #: editor/editor_node.cpp msgid "No" -msgstr "" +msgstr "Nei" #: editor/editor_node.cpp msgid "Yes" -msgstr "" +msgstr "Ja" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" -msgstr "" +msgstr "Denne scene har aldri blitt lagret. Lagre før kjøring?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "" +msgstr "Denne operasjonen kan ikke gjøres uten en scene." #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "" +msgstr "Eksporter MeshBibliotek" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "" +msgstr "Denne operasjonen kan ikke gjennomføres uten en rotnode." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "" +msgstr "Eksporter Tile Set" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "" +msgstr "Denne operasjonen kan ikke gjøres uten en valgt node." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "" +msgstr "Gjeldende scene er ikke lagret. Ã…pne likevel?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "" +msgstr "Kan ikke laste en scene som aldri ble lagret." #: editor/editor_node.cpp msgid "Revert" -msgstr "" +msgstr "GÃ¥ tilbake" #: editor/editor_node.cpp msgid "This action cannot be undone. Revert anyway?" -msgstr "" +msgstr "Denne handlingen kan ikke angres. GÃ¥ tilbake likevel?" #: editor/editor_node.cpp msgid "Quick Run Scene.." -msgstr "" +msgstr "Hurtigkjør Scene.." #: editor/editor_node.cpp msgid "Quit" -msgstr "" +msgstr "Avslutt" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "" +msgstr "Avslutt editoren?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "" +msgstr "Ã…pne ProsjektManager?" #: editor/editor_node.cpp msgid "Save & Quit" -msgstr "" +msgstr "Lagre & Avslutt" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "" +msgstr "Lagre endring til følgende scene(r) før avslutting?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" -msgstr "" +msgstr "Lagre endringer til følgende scene(r) før Ã¥pning av Prosjekt-Manager?" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" +"Dette alternativet er foreldet. Situasjoner der oppdatering mÃ¥ bli tvunget " +"regnes nÃ¥ som en feil. Vennligst rapporter." #: editor/editor_node.cpp msgid "Pick a Main Scene" -msgstr "" +msgstr "Velg en HovedScene" #: editor/editor_node.cpp +#, fuzzy msgid "Unable to enable addon plugin at: '%s' parsing of config failed." -msgstr "" +msgstr "Kan ikke aktivere addon-plugin pÃ¥: '%s' parsing av konfig feilet." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." -msgstr "" +msgstr "Kunne ikke finne skriptfelt for addon-plugin i: 'res://addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "" +msgstr "Kan ikke laste addon-skript fra bane: '%s'." #: editor/editor_node.cpp msgid "" @@ -1729,194 +1794,205 @@ msgid "" "Scene '%s' was automatically imported, so it can't be modified.\n" "To make changes to it, a new inherited scene can be created." msgstr "" +"Scene '%s' var automatisk importert, sÃ¥ den kan ikke modifiseres.\n" +"For Ã¥ gjøre endringer i den, kan du opprette en ny arvet scene." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Ugh" -msgstr "" +msgstr "Æsj" #: editor/editor_node.cpp msgid "" "Error loading scene, it must be inside the project path. Use 'Import' to " "open the scene, then save it inside the project path." msgstr "" +"Feil ved lasting av scene, den mÃ¥ være i prosjektbanen. Bruk \"Importer\" " +"for Ã¥ Ã¥pne scenen, sÃ¥ lagre den i prosjektbanen." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" -msgstr "" +msgstr "Scene '%s' har ødelagte avhengigheter:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "" +msgstr "Fjern Nylige Scener" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "" +msgstr "Lagre Layout" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "" +msgstr "Slett Layout" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp msgid "Default" -msgstr "" +msgstr "Standard" #: editor/editor_node.cpp msgid "Switch Scene Tab" -msgstr "" +msgstr "Bytt Scenefane" #: editor/editor_node.cpp msgid "%d more files or folders" -msgstr "" +msgstr "%d flere filer eller mapper" #: editor/editor_node.cpp msgid "%d more folders" -msgstr "" +msgstr "%d flere mapper" #: editor/editor_node.cpp msgid "%d more files" -msgstr "" +msgstr "%d flere filer" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "" +msgstr "Dock-posisjon" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Distraksjonsfri Modus" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "" +msgstr "Vis/skjul distraksjonsfri modus." #: editor/editor_node.cpp msgid "Add a new scene." -msgstr "" +msgstr "Legg til ny scene." #: editor/editor_node.cpp msgid "Scene" -msgstr "" +msgstr "Scene" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "" +msgstr "GÃ¥ til forrige Ã¥pne scene." #: editor/editor_node.cpp msgid "Next tab" -msgstr "" +msgstr "Neste fane" #: editor/editor_node.cpp msgid "Previous tab" -msgstr "" +msgstr "Forrige fane" #: editor/editor_node.cpp msgid "Filter Files.." -msgstr "" +msgstr "Filtrer Filer.." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "" +msgstr "Operasjoner med scene-filer." #: editor/editor_node.cpp msgid "New Scene" -msgstr "" +msgstr "Ny Scene" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "" +msgstr "Ny Arvet Scene.." #: editor/editor_node.cpp msgid "Open Scene.." -msgstr "" +msgstr "Ã…pne Scene.." #: editor/editor_node.cpp msgid "Save Scene" -msgstr "" +msgstr "Lagre Scene" #: editor/editor_node.cpp msgid "Save all Scenes" -msgstr "" +msgstr "Lagre alle Scener" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "" +msgstr "Lukk Scene" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Open Recent" -msgstr "" +msgstr "Ã…pne Nylig" #: editor/editor_node.cpp msgid "Convert To.." -msgstr "" +msgstr "Konverter Til.." #: editor/editor_node.cpp msgid "MeshLibrary.." -msgstr "" +msgstr "MeshBibliotek.." #: editor/editor_node.cpp +#, fuzzy msgid "TileSet.." -msgstr "" +msgstr "TileSet.." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "" +msgstr "Angre" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp msgid "Redo" -msgstr "" +msgstr "Gjenta" #: editor/editor_node.cpp msgid "Revert Scene" -msgstr "" +msgstr "Tilbakestille Scene" #: editor/editor_node.cpp +#, fuzzy msgid "Miscellaneous project or scene-wide tools." -msgstr "" +msgstr "Diverse prosjekt- eller scene-relaterte verktøy" #: editor/editor_node.cpp msgid "Project" -msgstr "" +msgstr "Prosjekt" #: editor/editor_node.cpp msgid "Project Settings" -msgstr "" +msgstr "Prosjektinnstillinger" #: editor/editor_node.cpp msgid "Run Script" -msgstr "" +msgstr "Kjør Skript" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export" -msgstr "" +msgstr "Eksporter" #: editor/editor_node.cpp msgid "Tools" -msgstr "" +msgstr "Verktøy" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "" +msgstr "Avslutt til Prosjektliste" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" -msgstr "" +msgstr "Debug" #: editor/editor_node.cpp +#, fuzzy msgid "Deploy with Remote Debug" -msgstr "" +msgstr "Deploy med Ekstern Debug" #: editor/editor_node.cpp +#, fuzzy msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." msgstr "" +"Ved eksportering eller deploying, den følgende kjørbare filen vil prøve Ã¥ " +"koble til IP'en til denne datamaskinen for Ã¥ bli debugget." #: editor/editor_node.cpp +#, fuzzy msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Liten Deploy med Network FS" #: editor/editor_node.cpp msgid "" @@ -1929,28 +2005,33 @@ msgid "" msgstr "" #: editor/editor_node.cpp +#, fuzzy msgid "Visible Collision Shapes" -msgstr "" +msgstr "Synlige Kollisjons-Former" #: editor/editor_node.cpp msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Kollisjons-former eller raycast-noder (for 2D og 3D) vil være synlige under " +"kjøring av spill om denne innstillingen er aktivert." #: editor/editor_node.cpp msgid "Visible Navigation" -msgstr "" +msgstr "Synlig Navigasjon" #: editor/editor_node.cpp msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Navigasjons-maske og polygoner vil være synlig under kjøring av spill om " +"denne innstillingen er aktivert." #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Synkroniser Sceneforandringer" #: editor/editor_node.cpp msgid "" @@ -1959,18 +2040,27 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"NÃ¥r denne innstillingen er aktivert, alle endringer gjort til scenen i " +"editoren vil bli replikert i det kjørende spillet.\n" +"NÃ¥r det brukes eksternt pÃ¥ en enhet, dette er mer effektivt med et " +"nettverksfilsystem." #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "" +msgstr "Synkroniser Skriptforandringer" #: editor/editor_node.cpp +#, fuzzy msgid "" "When this option is turned on, any script that is saved will be reloaded on " "the running game.\n" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"NÃ¥r denne innstillingen er aktivert, alle skript som er lagret vil lastes " +"inn pÃ¥ nytt i det kjørende spillet.\n" +"NÃ¥r det brukes ekstert pÃ¥ en enhet, dette er mer effektivt med et " +"nettverksfilsystem." #: editor/editor_node.cpp #, fuzzy @@ -1987,23 +2077,24 @@ msgstr "" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Skru av/pÃ¥ Fullskjerm" #: editor/editor_node.cpp editor/project_export.cpp +#, fuzzy msgid "Manage Export Templates" -msgstr "" +msgstr "HÃ¥ndter Eksportmaler" #: editor/editor_node.cpp msgid "Help" -msgstr "" +msgstr "Hjelp" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Classes" -msgstr "" +msgstr "Klasser" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Online Docs" -msgstr "" +msgstr "Online Dokumentasjon" #: editor/editor_node.cpp msgid "Q&A" @@ -2011,83 +2102,84 @@ msgstr "" #: editor/editor_node.cpp msgid "Issue Tracker" -msgstr "" +msgstr "Problemtracker" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Fellesskap" #: editor/editor_node.cpp msgid "About" -msgstr "" +msgstr "Om" #: editor/editor_node.cpp msgid "Play the project." -msgstr "" +msgstr "Spill prosjektet." #: editor/editor_node.cpp msgid "Play" -msgstr "" +msgstr "Spill" #: editor/editor_node.cpp msgid "Pause the scene" -msgstr "" +msgstr "Pause scenen" #: editor/editor_node.cpp msgid "Pause Scene" -msgstr "" +msgstr "Pause Scene" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "" +msgstr "Stopp scenen." #: editor/editor_node.cpp msgid "Stop" -msgstr "" +msgstr "Stopp" #: editor/editor_node.cpp msgid "Play the edited scene." -msgstr "" +msgstr "Spill den redigerte scenen." #: editor/editor_node.cpp msgid "Play Scene" -msgstr "" +msgstr "Spill Scene" #: editor/editor_node.cpp msgid "Play custom scene" -msgstr "" +msgstr "Spill tilpasset scene" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "" +msgstr "Spill av Tilpasset Scene" #: editor/editor_node.cpp +#, fuzzy msgid "Spins when the editor window repaints!" -msgstr "" +msgstr "Snurrer nÃ¥r editorvinduet rendrer om!" #: editor/editor_node.cpp msgid "Update Always" -msgstr "" +msgstr "Oppdater Alltid" #: editor/editor_node.cpp msgid "Update Changes" -msgstr "" +msgstr "Oppdater Endringer" #: editor/editor_node.cpp msgid "Disable Update Spinner" -msgstr "" +msgstr "Deaktiver Oppdateringsspinner" #: editor/editor_node.cpp msgid "Inspector" -msgstr "" +msgstr "Inspektør" #: editor/editor_node.cpp msgid "Create a new resource in memory and edit it." -msgstr "" +msgstr "Lag en ny ressurs i minnet og endre den." #: editor/editor_node.cpp msgid "Load an existing resource from disk and edit it." -msgstr "" +msgstr "Last inn en eksisterende ressurs fra disk og rediger den." #: editor/editor_node.cpp msgid "Save the currently edited resource." @@ -2095,285 +2187,303 @@ msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "" +msgstr "Lagre Som.." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "" +msgstr "GÃ¥ til det forrige redigerte objektet i historikken." #: editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "" +msgstr "GÃ¥ til det neste redigerte objektet i historikken." #: editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "" +msgstr "Historikk av nylige redigerte objekter." #: editor/editor_node.cpp msgid "Object properties." -msgstr "" +msgstr "Objektegenskaper." #: editor/editor_node.cpp msgid "Changes may be lost!" -msgstr "" +msgstr "Endringer kan bli tapt!" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/project_manager.cpp msgid "Import" -msgstr "" +msgstr "Importer" #: editor/editor_node.cpp msgid "Node" -msgstr "" +msgstr "Node" #: editor/editor_node.cpp msgid "FileSystem" -msgstr "" +msgstr "FilSystem" #: editor/editor_node.cpp msgid "Output" -msgstr "" +msgstr "Output" #: editor/editor_node.cpp msgid "Don't Save" -msgstr "" +msgstr "Ikke Lagre" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "" +msgstr "Importer Mal Fra ZIP-Fil" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" -msgstr "" +msgstr "Eksporter Prosjekt" #: editor/editor_node.cpp msgid "Export Library" -msgstr "" +msgstr "Eksporter Bibliotek" #: editor/editor_node.cpp msgid "Merge With Existing" -msgstr "" +msgstr "SlÃ¥ sammen Med Eksisterende" #: editor/editor_node.cpp msgid "Password:" -msgstr "" +msgstr "Passord:" #: editor/editor_node.cpp msgid "Open & Run a Script" -msgstr "" +msgstr "Ã…pne & Kjør et Skript" #: editor/editor_node.cpp +#, fuzzy msgid "New Inherited" -msgstr "" +msgstr "Ny Arvet" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "" +msgstr "Last Errors" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "" +msgstr "Velg" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "" +msgstr "Ã…pne 2D Editor" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "" +msgstr "Ã…pne 3D Editor" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "" +msgstr "Ã…pne SkriptEditor" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "" +msgstr "Ã…pne Assets-Bibliotek" #: editor/editor_node.cpp msgid "Open the next Editor" -msgstr "" +msgstr "Ã…pne den neste Editoren" #: editor/editor_node.cpp msgid "Open the previous Editor" -msgstr "" +msgstr "Ã…pne den forrige Editoren" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" -msgstr "" +msgstr "Lager ForhÃ¥ndsvisning av Mesh" #: editor/editor_plugin.cpp msgid "Thumbnail.." -msgstr "" +msgstr "Miniatyrbilde.." #: editor/editor_plugin_settings.cpp msgid "Installed Plugins:" -msgstr "" +msgstr "Installerte Plugins:" #: editor/editor_plugin_settings.cpp msgid "Update" -msgstr "" +msgstr "Oppdater" #: editor/editor_plugin_settings.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Version:" -msgstr "" +msgstr "Versjon:" #: editor/editor_plugin_settings.cpp msgid "Author:" -msgstr "" +msgstr "Forfatter:" #: editor/editor_plugin_settings.cpp msgid "Status:" -msgstr "" +msgstr "Status:" #: editor/editor_profiler.cpp msgid "Stop Profiling" -msgstr "" +msgstr "Stopp Profilering" #: editor/editor_profiler.cpp msgid "Start Profiling" -msgstr "" +msgstr "Start Profilering" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "MÃ¥l:" #: editor/editor_profiler.cpp msgid "Frame Time (sec)" -msgstr "" +msgstr "Frame Tid (sek)" #: editor/editor_profiler.cpp msgid "Average Time (sec)" -msgstr "" +msgstr "Gjennomsnittstid (sek)" #: editor/editor_profiler.cpp +#, fuzzy msgid "Frame %" -msgstr "" +msgstr "Frame %" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "" +msgstr "Fysikk-Frame %" #: editor/editor_profiler.cpp editor/script_editor_debugger.cpp msgid "Time:" -msgstr "" +msgstr "Tid:" #: editor/editor_profiler.cpp msgid "Inclusive" -msgstr "" +msgstr "Inklusiv" #: editor/editor_profiler.cpp +#, fuzzy msgid "Self" -msgstr "" +msgstr "Selv" #: editor/editor_profiler.cpp +#, fuzzy msgid "Frame #:" -msgstr "" +msgstr "Frame #:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tid:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Ring" #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "" +msgstr "Velg enhet fra listen" #: editor/editor_run_native.cpp msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" +"Ingen kjørbar eksport-preset funnet for denne plattformen.\n" +"Vennligst legg til en kjørbar preset i eksportmenyen." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "" +msgstr "Skriv logikken din i _run() metoden." #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "" +msgstr "Det er en redigert scene allerede." #: editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "" +msgstr "Kunne ikke innstansiere skript:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" -msgstr "" +msgstr "Glemte du nøkkelordet 'tool'?" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "" +msgstr "Kunne ikke kjøre skript:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" -msgstr "" +msgstr "Glemte du '_run'-metoden?" #: editor/editor_settings.cpp msgid "Default (Same as Editor)" -msgstr "" +msgstr "Standard (Samme som Editor)" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "" +msgstr "Velg Node(r) for Importering" #: editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "" +msgstr "Scene-Sti:" #: editor/editor_sub_scene.cpp msgid "Import From Node:" -msgstr "" +msgstr "Importer Fra Node:" #: editor/export_template_manager.cpp msgid "Re-Download" -msgstr "" +msgstr "Last Ned PÃ¥ Nytt" #: editor/export_template_manager.cpp msgid "Uninstall" -msgstr "" +msgstr "Avinstaller" #: editor/export_template_manager.cpp msgid "(Installed)" -msgstr "" +msgstr "(Installert)" #: editor/export_template_manager.cpp msgid "Download" -msgstr "" +msgstr "Last ned" #: editor/export_template_manager.cpp msgid "(Missing)" -msgstr "" +msgstr "(Mangler)" #: editor/export_template_manager.cpp msgid "(Current)" -msgstr "" +msgstr "(Gjeldende)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait.." -msgstr "" +msgstr "Henter fillager, vennligst vent.." #: editor/export_template_manager.cpp +#, fuzzy msgid "Remove template version '%s'?" -msgstr "" +msgstr "Fjern mal versjon '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "Kan ikke Ã¥pne eksportmalzip." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates." -msgstr "" +msgstr "Ugyldig version.txt format i mal." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" +"Ugyldig version.txt format i mal. Revisjon er ikke en gyldig identifikator." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "" +msgstr "Ingen version.txt funnet i mal." #: editor/export_template_manager.cpp msgid "Error creating path for templates:\n" -msgstr "" +msgstr "Feil ved laging av sti for mal:\n" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" @@ -2381,59 +2491,64 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Importing:" -msgstr "" +msgstr "Importerer:" #: editor/export_template_manager.cpp msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" +"Ingen nedlastningslink funnet for denne versjonen. Direkte nedlastning er " +"kun mulig for offisielle utvigelser." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Can't resolve." -msgstr "" +msgstr "Kan ikke løse." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect." -msgstr "" +msgstr "Kan ikke koble til." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response." -msgstr "" +msgstr "Ingen respons." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Forespørsel Feilet." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Redirect Loop." -msgstr "" +msgstr "Omdirigerings-Loop." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed:" -msgstr "" +msgstr "Feilet:" #: editor/export_template_manager.cpp msgid "Can't write file." -msgstr "" +msgstr "Kan ikke skrive fil." #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "" +msgstr "Nedlastning fullført." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "" +msgstr "Error ved forespørsel av url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." -msgstr "" +msgstr "Kobler til Fillager.." #: editor/export_template_manager.cpp msgid "Disconnected" @@ -2441,20 +2556,21 @@ msgstr "Frakoblet" #: editor/export_template_manager.cpp msgid "Resolving" -msgstr "" +msgstr "Løser" #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "" +msgstr "Kan ikke Løses" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connecting.." -msgstr "" +msgstr "Kobler til.." #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Kan ikke koble til" #: editor/export_template_manager.cpp msgid "Connected" @@ -2462,335 +2578,370 @@ msgstr "Tilkoblet" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Requesting.." -msgstr "" +msgstr "Ber om.." #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "Laster ned" #: editor/export_template_manager.cpp msgid "Connection Error" msgstr "Tilkoblingsfeil" #: editor/export_template_manager.cpp +#, fuzzy msgid "SSL Handshake Error" -msgstr "" +msgstr "SSL Handshake Error" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "" +msgstr "Gjeldende Versjon:" #: editor/export_template_manager.cpp msgid "Installed Versions:" -msgstr "" +msgstr "Installerte Versjoner:" #: editor/export_template_manager.cpp msgid "Install From File" -msgstr "" +msgstr "Installer Fra Fil" #: editor/export_template_manager.cpp msgid "Remove Template" -msgstr "" +msgstr "Fjern Mal" #: editor/export_template_manager.cpp msgid "Select template file" -msgstr "" +msgstr "Velg malfil" #: editor/export_template_manager.cpp +#, fuzzy msgid "Export Template Manager" -msgstr "" +msgstr "Eksporter Mal-Manager" #: editor/export_template_manager.cpp msgid "Download Templates" -msgstr "" +msgstr "Last ned Mal" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "Velg fillager fra liste: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"Kan ikke Ã¥pne fyle_type_cache.cch for skriving, lagrer ikke file type cache!" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" -msgstr "" +msgstr "Kan ikke navigere til '%s' for den ble ikke funnet pÃ¥ filsystemet!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" -msgstr "" +msgstr "Vis elementer som et rutenett av miniatyrbilder" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "" +msgstr "Vis elementer som liste" #: editor/filesystem_dock.cpp msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"Status: Import av fil feilet. Vennligst reparer filen eller reimporter " +"manuelt." #: editor/filesystem_dock.cpp +#, fuzzy msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Kan ikke flytte/endre navn ressursrot" #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself.\n" -msgstr "" +msgstr "Kan ikke flytte mappe inn i seg selv.\n" #: editor/filesystem_dock.cpp msgid "Error moving:\n" -msgstr "" +msgstr "Error ved flytting:\n" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Feil ved innlasting:" #: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" -msgstr "" +msgstr "Kan ikke oppdatere av avhengigheter:\n" #: editor/filesystem_dock.cpp msgid "No name provided" -msgstr "" +msgstr "Ingen navn gitt" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "" +msgstr "Gitt navn inneholder ugyldige tegn" #: editor/filesystem_dock.cpp msgid "No name provided." -msgstr "" +msgstr "Ingen navn gitt." #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "" +msgstr "Navn inneholder ugyldige tegn." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "En fil eller mappe med dette navnet eksisterer allerede." #: editor/filesystem_dock.cpp msgid "Renaming file:" -msgstr "" +msgstr "Endrer filnavn:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "" +msgstr "Ender mappenavn:" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplisér" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Ender mappenavn:" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "" +msgid "Expand all" +msgstr "Utvid alle" #: editor/filesystem_dock.cpp -msgid "Rename.." -msgstr "" +msgid "Collapse all" +msgstr "Kollaps alle" #: editor/filesystem_dock.cpp -msgid "Move To.." -msgstr "" +msgid "Rename.." +msgstr "Endre Navn.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "" +msgid "Move To.." +msgstr "Flytt Til.." #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Ã…pne Scene" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "" +msgstr "Instans" #: editor/filesystem_dock.cpp msgid "Edit Dependencies.." -msgstr "" +msgstr "Endre Avhengigheter.." #: editor/filesystem_dock.cpp msgid "View Owners.." -msgstr "" +msgstr "Vis Eiere.." + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplisér" #: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "" +msgstr "Forrige Katalog" #: editor/filesystem_dock.cpp msgid "Next Directory" -msgstr "" +msgstr "Neste Katalog" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "Re-Skann Filsystem" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "" +msgstr "Vis/skjul mappestatus som Favoritt" #: editor/filesystem_dock.cpp +#, fuzzy msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" +msgstr "Instanser den valgte scene(r) som barn av den valgte noden." #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" +"Skanner Filer,\n" +"Vennligst Vent.." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "Flytt" #: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/project_manager.cpp msgid "Rename" -msgstr "" +msgstr "Endre navn" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "" +msgstr "Legg til i Gruppe" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "" +msgstr "Fjern fra Gruppe" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "" +msgstr "Importer som Enkel Scene" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "" +msgstr "Importer med Separerte Animasjoner" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "Importer med Separerte Materialer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "Importer med Separerte Objekter" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "Importer med Separerte Objekter+Materialer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "Importer med Separerte Objekter+Animasjoner" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "Importer med Separerte Materialer+Animasjoner" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "Importer med Separerte Objekter+Materialer+Animasjoner" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" -msgstr "" +msgstr "Importer som Flere Scener" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "Importer som Flere Scener+Materialer" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import Scene" -msgstr "" +msgstr "Importer Scene" #: editor/import/resource_importer_scene.cpp msgid "Importing Scene.." +msgstr "Importerer Scene.." + +#: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Running Custom Script.." +msgid "Generating for Mesh: " msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Running Custom Script.." +msgstr "Kjører Tilpasser Skript.." + +#: editor/import/resource_importer_scene.cpp +#, fuzzy msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Kunne ikke laste post-importert skript:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Ugyldig/ødelagt skript for post-import (sjekk konsoll):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Error ved kjøring av post-import script:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." -msgstr "" +msgstr "Lagrer.." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "Sett som Standard for '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "Fjern Standard for '%s'" #: editor/import_dock.cpp msgid " Files" -msgstr "" +msgstr " Filer" #: editor/import_dock.cpp msgid "Import As:" -msgstr "" +msgstr "Importer Som:" #: editor/import_dock.cpp editor/property_editor.cpp +#, fuzzy msgid "Preset.." -msgstr "" +msgstr "Preset.." #: editor/import_dock.cpp msgid "Reimport" -msgstr "" +msgstr "Reimporter" #: editor/multi_node_edit.cpp +#, fuzzy msgid "MultiNode Set" -msgstr "" +msgstr "MultiNode Set" #: editor/node_dock.cpp msgid "Groups" -msgstr "" +msgstr "Grupper" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Velg en Node for Ã¥ endre Signaler og Grupper." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Poly" -msgstr "" +msgstr "Lag Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly" -msgstr "" +msgstr "Rediger Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" -msgstr "" +msgstr "Sett inn Punkt" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly (Remove Point)" -msgstr "" +msgstr "Rediger Poly (Fjern Punkt)" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Remove Poly And Point" -msgstr "" +msgstr "Fjern Poly Og Punkt" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Create a new polygon from scratch" -msgstr "" +msgstr "Lag en ny polygon fra bunnen" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2799,238 +2950,246 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Endre eksisterende polygon:\n" +"Venstreklikk: Flytt Punkt.\n" +"Ctrl+Venstreklikk: Splitt Segment.\n" +"Høyreklikk: Fjern Punkt." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Delete points" msgstr "Slett punkter" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Toggle Autoplay" -msgstr "" +msgstr "SlÃ¥ av/pÃ¥ Autoavspilling" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "" +msgstr "Nytt Animasjonsnavn:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "Ny Anim" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "Endre Animasjonsnavn:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Delete Animation?" -msgstr "" +msgstr "Fjern Animasjon?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "Fjern Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" -msgstr "" +msgstr "ERROR: Ugyldig animasjonsnavn!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Animation name already exists!" -msgstr "" +msgstr "ERROR: Animasjonsnavnet finnes allerede!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "" +msgstr "Endre navn pÃ¥ Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "" +msgstr "Legg til Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Blend Next Changed" -msgstr "" +msgstr "Blend Neste Endret" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "" +msgstr "Endre Blend-Tid" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" -msgstr "" +msgstr "Last Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "" +msgstr "Dupliser Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to copy!" -msgstr "" +msgstr "ERROR: Ingen animasjon Ã¥ kopiere!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation resource on clipboard!" -msgstr "" +msgstr "ERROR: Ingen animasjonsressurs pÃ¥ utklippstavlen!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "" +msgstr "Limt inn Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "" +msgstr "Lim inn Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to edit!" -msgstr "" +msgstr "ERROR: Ingen animasjon Ã¥ endre!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" -msgstr "" +msgstr "Spill av valgte animasjon baklengs fra gjeldende posisjon. (A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Spill av valgte animasjon baklengs fra slutten. (Shift+A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "Stopp avspilling av animasjon. (S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Spill av valgte animasjon fra start. (Shift+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Spill av valgte animasjon fra gjeldende posisjon. (D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "" +msgstr "Animasjonsposisjon (i sekunder)." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "Skaler animasjonsavspilling globalt for noden." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "" +msgstr "Lag ny animasjon i avspiller." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." -msgstr "" +msgstr "Last animasjon fra disk." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "" +msgstr "Last en animasjon fra disk." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "" +msgstr "Lagre den gjeldene animasjonen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "Vis liste av animasjoner i avspiller." #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Autoplay on Load" -msgstr "" +msgstr "Autoavspill ved Lasting" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" -msgstr "" +msgstr "Endre Blend-Tid-MÃ¥l" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" -msgstr "" +msgstr "Animasjonsverktøy" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Copy Animation" -msgstr "" +msgstr "Kopier Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Løk-lag" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Aktiver Løk-Lag" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Beskrivelse:" +msgstr "Retninger" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "Fortid" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Framtid" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Dybde" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 steg" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 steg" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 steg" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Kun Forskjeller" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Tving Hvit-Modulat" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Inkluder Gizmoer (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "" +msgstr "Lag Ny Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "" +msgstr "Animasjonsnavn:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Error!" -msgstr "" +msgstr "Error!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Blend-Tid:" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Next (Auto Queue):" -msgstr "" +msgstr "Neste (Automatisk Kø):" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Kryss-Animasjon Blend-Tid" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "Animasjon" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "New name:" -msgstr "" +msgstr "Nytt navn:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Filters" @@ -3039,52 +3198,54 @@ msgstr "Rediger Filtre" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "" +msgstr "Skala:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade In (s):" -msgstr "" +msgstr "Fade Inn (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade Out (s):" -msgstr "" +msgstr "Fade Ut (s):" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend" -msgstr "" +msgstr "Blend" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "Bland" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Start Om Igjen Automatisk:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" -msgstr "" +msgstr "Omstart (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "" +msgstr "Tilfeldig Omstart (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" -msgstr "" +msgstr "Start!" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Amount:" -msgstr "" +msgstr "Mengde:" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend:" -msgstr "" +msgstr "Blend:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" -msgstr "" +msgstr "Blend 0:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 1:" @@ -3092,39 +3253,41 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "X-Fade Tid (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" -msgstr "" +msgstr "Gjeldende:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "Legg til Input" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Clear Auto-Advance" -msgstr "" +msgstr "Fjern Auto-Avansering" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Set Auto-Advance" -msgstr "" +msgstr "Sett Auto-Avansering" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "Slett Input" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is valid." -msgstr "" +msgstr "Animasjonstre er gyldig." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is invalid." -msgstr "" +msgstr "Animasjonstre er ugyldig." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation Node" -msgstr "" +msgstr "Animasjonsnode" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" @@ -3132,47 +3295,50 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "Miks-Node" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend2 Node" -msgstr "" +msgstr "Blend2 Node" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend3 Node" -msgstr "" +msgstr "Blend3 Node" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend4 Node" -msgstr "" +msgstr "Blend4 Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeScale Node" -msgstr "" +msgstr "TidSkala Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeSeek Node" -msgstr "" +msgstr "TidSøk Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "Overgang Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." -msgstr "" +msgstr "Importer Animasjoner.." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "Rediger Node-Filtre" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." -msgstr "" +msgstr "Filtre.." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Frigjør" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" @@ -3180,191 +3346,217 @@ msgstr "Innhold:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" -msgstr "" +msgstr "Vis Filer" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "Kan ikke løse tjenernavn:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "Tilkoblingsfeil, vennligst prøv igjen." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "" +msgstr "Kan ikke koble til tjener:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "Ingen respons fra tjener:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "" +msgstr "Forespørsel feilet, returneringskode:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" -msgstr "" +msgstr "Forespørsel feilet, for mange omdirigeringer" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "DÃ¥rlig nedlastningshash, antar at filen har blitt tuklet med." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "Forventet:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "Fikk:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "Feilet sha256 hash-sjekk" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "Asset Nedlasting Error:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" -msgstr "" +msgstr "Henter:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving.." -msgstr "" +msgstr "Løser.." #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Error making request" -msgstr "" +msgstr "Feil ved forespørsel" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "Inaktiv" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "Prøv pÃ¥ nytt" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "" +msgstr "Nedlastningserror" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "Nedlastning for denne asset'en er allerede i gang!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "first" -msgstr "" +msgstr "første" #: editor/plugins/asset_library_editor_plugin.cpp msgid "prev" -msgstr "" +msgstr "forrige" #: editor/plugins/asset_library_editor_plugin.cpp msgid "next" -msgstr "" +msgstr "neste" #: editor/plugins/asset_library_editor_plugin.cpp msgid "last" -msgstr "" +msgstr "siste" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" -msgstr "" +msgstr "Alle" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp +#, fuzzy msgid "Plugins" -msgstr "" +msgstr "Plugins" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Sort:" -msgstr "" +msgstr "Sorter:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Reverse" -msgstr "" +msgstr "Reverser" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Category:" -msgstr "" +msgstr "Kategori:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" -msgstr "" +msgstr "Side:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Support.." -msgstr "" +msgstr "Support.." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Offisiell" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Testing" -msgstr "" +msgstr "Tester" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" +msgstr "Assets ZIP-Fil" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" msgstr "" #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" -msgstr "" +msgstr "ForhÃ¥ndsvis" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "" +msgstr "Konfigurer Snap" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset:" -msgstr "" +msgstr "Rutenett Offset:" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step:" -msgstr "" +msgstr "Rutenett Steg:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "" +msgstr "Rotasjon Offset:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "" +msgstr "Rotasjon Steg:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Pivot" -msgstr "" +msgstr "Flytt Pivot" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "Flytt Handling" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "Flytt vertikal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new vertical guide" -msgstr "" +msgstr "Lag ny vertikal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove vertical guide" -msgstr "" +msgstr "Fjern vertikal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move horizontal guide" -msgstr "" +msgstr "Flytt horisontal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal guide" -msgstr "" +msgstr "Lag ny horisontal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove horizontal guide" @@ -3372,211 +3564,217 @@ msgstr "Fjern horisontal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Lag ny horisontal og vertikal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" -msgstr "" +msgstr "Endre IK Kjede" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit CanvasItem" -msgstr "" +msgstr "Endre CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" -msgstr "" +msgstr "Kun anker" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "" +msgstr "Endre Anker og Marginer" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "" +msgstr "Endre Anker" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "Lim Inn Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" -msgstr "" +msgstr "Velg Modus" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" -msgstr "" +msgstr "Dra: Roter" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move" -msgstr "" +msgstr "Alt+Dra: Flytt" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." msgstr "" +"Trykk 'v' for Ã¥ Endre Pivot, 'Shift+v' for Ã¥ Dra Privot (under flytting)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+Høyreklikk: Dybdelisteutvalg" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" -msgstr "" +msgstr "Flytt Modus" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate Mode" -msgstr "" +msgstr "Roter Modus" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" +"Vis en liste av elementer pÃ¥ posisjonen du klikker\n" +"(samme som Alt+Høyreklikk i velg-modus)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "" +msgstr "Klikk for Ã¥ endre objektets rotasjonspivot." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" -msgstr "" +msgstr "Panorerings-Modus" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggles snapping" -msgstr "" +msgstr "SlÃ¥ av/pÃ¥ snapping" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "Bruk Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping options" -msgstr "" +msgstr "Snapping innstillinger" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "" +msgstr "Snap til rutenett" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "" +msgstr "Bruk Rotasjons-Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap..." -msgstr "" +msgstr "Konfigurer Snap..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "Snap Relativt" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" -msgstr "" +msgstr "Bruk Piksel Snap" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Smart snapping" -msgstr "" +msgstr "Smart snapping" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "" +msgstr "Snap til foreldre" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "Snap til nodeanker" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "" +msgstr "Snap til nodesider" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "Snap til andre noder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" -msgstr "" +msgstr "Snap til veiledere" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock the selected object in place (can't be moved)." -msgstr "" +msgstr "LÃ¥s fast det valgte objektet (kan ikke flyttes)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "" +msgstr "LÃ¥s opp det valgte objektet (kan flyttes)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." -msgstr "" +msgstr "Vær sikker at objektets barn ikke er valgbar." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." -msgstr "" +msgstr "Gjenopprett objektets barn sin mulighet for Ã¥ bli valgt." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Bones" -msgstr "" +msgstr "Lag Ben" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Bones" -msgstr "" +msgstr "Fjern Ben" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "" +msgstr "Vis Ben" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "" +msgstr "Lag IK Kjede" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" -msgstr "" +msgstr "Fjern IK Kjede" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "Vis" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "" +msgstr "Vis Rutenett" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show helpers" -msgstr "" +msgstr "Vis hjelpere" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show rulers" -msgstr "" +msgstr "Vis linjaler" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show guides" -msgstr "" +msgstr "Vis veiledere" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Center Selection" -msgstr "" +msgstr "Plasser Utvalg I Midten" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Layout" -msgstr "" +msgstr "Layout" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Keys" -msgstr "" +msgstr "Sett inn Nøkler" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "Sett inn Nøkkel" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -3584,130 +3782,123 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" -msgstr "" +msgstr "Kopier Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "" +msgstr "Fjern Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag pivot from mouse position" -msgstr "" +msgstr "Dra pivot fra musposisjon" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Set pivot at mouse position" -msgstr "Fjern Funksjon" +msgstr "Sett pivot pÃ¥ musposisjon" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "Multipliser rutenett-steg med 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "Del rutenett-steg med 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" -msgstr "" +msgstr "Legg til %s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Adding %s..." -msgstr "" +msgstr "Legger til %s.." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Create Node" -msgstr "" +msgstr "Lag Node" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Error instancing scene from %s" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" +msgstr "Error ved instansiering av scene fra %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "Denne operasjonen krever én valgt node." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "" +msgstr "Endre standard type" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" +"Dra & Slipp + Shift: Legg til node som søsken\n" +"Dra & Slipp + Alft: Endre nodetype" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "Lag Poly3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp +#, fuzzy msgid "Set Handle" -msgstr "" +msgstr "Sett Handle" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "Fjern element %d?" #: editor/plugins/cube_grid_theme_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "Legg til Element" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "Fjern Valgte Element" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "Importer fra Scene" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "Oppdater fra Scene" #: editor/plugins/curve_editor_plugin.cpp +#, fuzzy msgid "Flat0" -msgstr "" +msgstr "Flat0" #: editor/plugins/curve_editor_plugin.cpp +#, fuzzy msgid "Flat1" -msgstr "" +msgstr "Flat1" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Ease in" -msgstr "Fjern Utvalg" +msgstr "Gli inn" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "Gli ut" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "Smooth-steg" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "" +msgstr "Modifiser Kurvepunkt" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" -msgstr "" +msgstr "Modifiser Kurvetangent" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Curve Preset" @@ -3715,29 +3906,27 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Add point" -msgstr "" +msgstr "Legg til punkt" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove point" -msgstr "Fjern Funksjon" +msgstr "Fjern punkt" #: editor/plugins/curve_editor_plugin.cpp msgid "Left linear" -msgstr "" +msgstr "Venstrelineær" #: editor/plugins/curve_editor_plugin.cpp msgid "Right linear" -msgstr "" +msgstr "Høyrelineær" #: editor/plugins/curve_editor_plugin.cpp msgid "Load preset" msgstr "" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Curve Point" -msgstr "Fjern Funksjon" +msgstr "Fjern Kurvepunkt" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" @@ -3745,28 +3934,28 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Hold Shift for Ã¥ endre tangenter individuelt" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "Bak GI Probe" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" -msgstr "" +msgstr "Legg til/Fjern Farge-Rampe-Punkt" #: editor/plugins/gradient_editor_plugin.cpp #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Color Ramp" -msgstr "" +msgstr "Modifiser Farge-Rampe" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "Element %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "Elementer" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" @@ -3784,23 +3973,23 @@ msgstr "" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "" +msgstr "Lag en ny polygon fra bunnen." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit existing polygon:" -msgstr "" +msgstr "Rediger eksisterende polygon:" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "" +msgstr "Venstreklikk: Flytt Punkt." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "Ctrl+Venstreklikk: Splitt Segment." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." -msgstr "" +msgstr "Høyreklikk: Slett Punkt." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" @@ -3816,7 +4005,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "Dette virker ikke pÃ¥ sceneroten!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" @@ -3831,6 +4020,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3840,11 +4045,11 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" -msgstr "" +msgstr "Kunne ikke lage omriss!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "" +msgstr "Lag Omriss" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" @@ -3871,6 +4076,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Vis" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Vis" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -3948,15 +4167,15 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "X-Axis" -msgstr "" +msgstr "X-Akse" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Y-Axis" -msgstr "" +msgstr "Y-Akse" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Z-Axis" -msgstr "" +msgstr "Z-Akse" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh Up Axis:" @@ -3964,15 +4183,15 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "" +msgstr "Tilfeldig Rotasjon:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" -msgstr "" +msgstr "Tilfeldig Tilt:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "" +msgstr "Tilfeldig Skala:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" @@ -4016,11 +4235,11 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Partitioning..." -msgstr "" +msgstr "Partisjonerer..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "Lager konturer..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating polymesh..." @@ -4040,17 +4259,13 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "Ferdig!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4065,24 +4280,24 @@ msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." -msgstr "" +msgstr "Ingen piksler med gjennomsiktighet > 128 i bilde.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" -msgstr "" +msgstr "Partikler" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" @@ -4138,10 +4353,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4159,7 +4370,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" -msgstr "" +msgstr "Volum" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " @@ -4184,11 +4395,11 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point to Curve" -msgstr "" +msgstr "Legg til Punkt pÃ¥ Kurve" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" -msgstr "" +msgstr "Flytt Punkt pÃ¥ Kurve" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" @@ -4201,50 +4412,50 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Select Points" -msgstr "" +msgstr "Velg Punkter" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Shift+Drag: Select Control Points" -msgstr "" +msgstr "Shift+Dra: Velg Kontrollpunkter" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Click: Add Point" -msgstr "" +msgstr "Klikk: Legg til Punkt" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Right Click: Delete Point" -msgstr "" +msgstr "Høyreklikk: Fjern Punkt" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "Velg Kontrollpunkter (Shift+Dra)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point (in empty space)" -msgstr "" +msgstr "Legg til Punkt (i tomt rom)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "Split Segment (i kurve)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Delete Point" -msgstr "" +msgstr "Fjern Punkt" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Close Curve" -msgstr "" +msgstr "Lukk Kurve" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "Kurvepunkt #" #: editor/plugins/path_editor_plugin.cpp #, fuzzy @@ -4292,31 +4503,31 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" -msgstr "" +msgstr "Flytt Punkt" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" -msgstr "" +msgstr "Ctrl: Roter" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" -msgstr "" +msgstr "Shift: Flytt Alle" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" -msgstr "" +msgstr "Shift+Ctrl: Skaler" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Polygon" -msgstr "" +msgstr "Flytt Polygon" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Rotate Polygon" -msgstr "" +msgstr "Roter Polygon" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Scale Polygon" -msgstr "" +msgstr "Skaler Polygon" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4336,7 +4547,7 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" -msgstr "" +msgstr "Fjern UV" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -4349,24 +4560,24 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid" -msgstr "" +msgstr "Rutenett" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "" +msgstr "ERROR: Kunne ikke laste ressurs!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" -msgstr "" +msgstr "Legg til Ressurs" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Rename Resource" -msgstr "" +msgstr "Gi nytt navn til Ressurs" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Resource" -msgstr "" +msgstr "Fjern Ressurs" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" @@ -4382,59 +4593,63 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Paste" -msgstr "" +msgstr "Lim inn" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" -msgstr "" +msgstr "Fjern Nylige Filer" #: editor/plugins/script_editor_plugin.cpp msgid "" "Close and save changes?\n" "\"" msgstr "" +"Lukk og lagre endringer?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "" +msgstr "Error ved lasting av tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" -msgstr "" +msgstr "Error ved lagring" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme" -msgstr "" +msgstr "Error ved importering av tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing" -msgstr "" +msgstr "Error ved importering" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "" +msgstr "Importer Tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As.." -msgstr "" +msgstr "Lagre Tema Som.." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr "" +msgstr " Klassereferanse" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" -msgstr "" +msgstr "Sorter" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" -msgstr "" +msgstr "Flytt Opp" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" -msgstr "" +msgstr "Flytt Ned" #: editor/plugins/script_editor_plugin.cpp msgid "Next script" @@ -4448,7 +4663,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4461,6 +4676,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopier Sti" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4503,12 +4723,12 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find.." -msgstr "" +msgstr "Finn.." #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Next" -msgstr "" +msgstr "Finn neste" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" @@ -4525,7 +4745,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp #: editor/script_editor_debugger.cpp msgid "Continue" -msgstr "" +msgstr "Fortsett" #: editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" @@ -4561,7 +4781,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Create Script" -msgstr "" +msgstr "Opprett skript" #: editor/plugins/script_editor_plugin.cpp msgid "" @@ -4592,7 +4812,7 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Pick Color" -msgstr "" +msgstr "Velg farge" #: editor/plugins/script_text_editor.cpp msgid "Convert Case" @@ -4613,13 +4833,13 @@ msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" -msgstr "" +msgstr "Klipp ut" #: editor/plugins/script_text_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "" +msgstr "Lim inn" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -4649,14 +4869,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Slett Valgte" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4711,11 +4927,11 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" -msgstr "" +msgstr "Finn forrige" #: editor/plugins/script_text_editor.cpp msgid "Replace.." -msgstr "" +msgstr "Erstatt.." #: editor/plugins/script_text_editor.cpp msgid "Goto Function.." @@ -4982,6 +5198,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Ingen foreldre Ã¥ instansere et barn pÃ¥." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5086,6 +5310,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Snap til veiledere" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5159,10 +5396,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5204,6 +5437,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5589,6 +5826,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5600,6 +5842,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5717,10 +5963,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5977,8 +6219,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Fjern Utvalg" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6046,6 +6289,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6224,6 +6471,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6256,6 +6507,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Sett" @@ -6264,10 +6519,6 @@ msgstr "Sett" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6822,6 +7073,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6870,15 +7125,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Fjern Kurvepunkt" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7549,6 +7841,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7577,10 +7885,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7633,10 +7937,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7697,6 +7997,18 @@ msgstr "" msgid "Invalid font size." msgstr "Ugyldig fontstørrelse." +#~ msgid "Move Add Key" +#~ msgstr "Flytt Legg-Til-Nøkkel" + +#~ msgid "Create Subscription" +#~ msgstr "Lag Abonnement" + +#~ msgid "List:" +#~ msgstr "Liste:" + +#~ msgid " " +#~ msgstr " " + #, fuzzy #~ msgid "Selection -> Clear" #~ msgstr "Forandre Utvalgskurve" diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 3f6243e5bd..7d84e04306 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -1,30 +1,35 @@ # Dutch translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # +# aelspire <aelspire@gmail.com>, 2017. # Aram Nap <xyphex.aram@gmail.com>, 2017. # Arjan219 <arjannugteren1@gmail.com>, 2017. +# Christophe Swolfs <swolfschristophe@gmail.com>, 2017. # Cornee Traas <corneetraas@hotmail.com>, 2017. # Daeran Wereld <daeran@gmail.com>, 2017. +# Dzejkop <jakubtrad@gmail.com>, 2017. +# Maikel <maikel_martens_1@hotmail.com>, 2017. # Pieter-Jan Briers <pieterjan.briers@gmail.com>, 2017. # Robin Arys <robinarys@hotmail.com>, 2017. # Senno Kaasjager <senno.kaasjager@gmail.com>, 2017. # Uxilo <jmolendijk93@gmail.com>, 2017. # Wout Standaert <wout@blobkat.com>, 2017. +# Zatherz <zatherz@linux.pl>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-24 20:45+0000\n" -"Last-Translator: Daeran Wereld <daeran@gmail.com>\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: Christophe Swolfs <swolfschristophe@gmail.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" "Language: nl\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -35,8 +40,9 @@ msgid "All Selection" msgstr "Alle Selectie" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Verplaats Key Toevoegen" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Wijzig Waarde" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -47,7 +53,8 @@ msgid "Anim Change Transform" msgstr "Anim Wijzig Transform" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Wijzig Waarde" #: editor/animation_editor.cpp @@ -543,8 +550,8 @@ msgstr "Signaal aan het Verbinden:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "Subscriptie Maken" +msgid "Disconnect '%s' from '%s'" +msgstr "Verbind '%s' met '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -560,7 +567,8 @@ msgid "Signals" msgstr "Signalen" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Nieuwe Maken" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -575,7 +583,7 @@ msgstr "Recente:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Zoeken:" @@ -616,6 +624,7 @@ msgstr "" "Wijzigingen zullen effect hebben wanneer herladen." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Afhankelijkheden" @@ -721,9 +730,10 @@ msgid "Delete selected files?" msgstr "Verwijder geselecteerde bestanden?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Verwijder" @@ -866,6 +876,11 @@ msgid "Rename Audio Bus" msgstr "Hernoem audiobus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Verander audiobus solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Verander audiobus solo" @@ -914,8 +929,8 @@ msgstr "Omleiden" msgid "Bus options" msgstr "Audiobusopties" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Dupliceren" @@ -928,6 +943,10 @@ msgid "Delete Effect" msgstr "Effect Verwijderen" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Audiobus Toevoegen" @@ -1081,7 +1100,8 @@ msgstr "Pad:" msgid "Node Name:" msgstr "Node Naam:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Naam" @@ -1089,10 +1109,6 @@ msgstr "Naam" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lijst:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Scene aan het Updaten" @@ -1105,6 +1121,14 @@ msgstr "Lokale wijziging aan het opslaan.." msgid "Updating scene.." msgstr "Scene aan het updaten.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Kies eerst een basisfolder" @@ -1151,9 +1175,24 @@ msgid "File Exists, Overwrite?" msgstr "Bestand Bestaat, Overschrijven?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Map Maken" +msgstr "Selecteer Huidige Map" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Kopieer Pad" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Weergeven in Bestandsbeheer" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nieuwe Map.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Verversen" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1202,10 +1241,6 @@ msgid "Go Up" msgstr "Ga Omhoog" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Verversen" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Toggle Verborgen Bestanden" @@ -1385,7 +1420,8 @@ msgstr "Uitvoer:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Leegmaken" @@ -1499,17 +1535,16 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Dit bestand hoort bij een scene die geïmporteerd werd, dus het is niet " -"bewerkbaar.\n" -"Lees de documentatie over scenes importeren om deze workflow beter te " -"begrijpen." +"Dit bestand hoort bij een scene die geïmporteerd werd. Het is momenteel dus " +"onbewerkbaar. Lees de documentatie over scenes importeren om deze workflow " +"beter te begrijpen." #: editor/editor_node.cpp msgid "" "This resource belongs to a scene that was instanced or inherited.\n" "Changes to it will not be kept when saving the current scene." msgstr "" -"Dit bestand hoort bij een scene die werd geïnstantieerd of overgeërfd.\n" +"Dit bestand hoort bij een scene die geïnstantieerd of overgeërfd werd.\n" "Aanpassingen zullen niet worden bijgehouden bij het opslaan van de huidige " "scene." @@ -2347,6 +2382,16 @@ msgstr "Zelf" msgid "Frame #:" msgstr "Frame #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tijd:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Aanroep" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Selecteer apparaat uit de lijst" @@ -2384,7 +2429,6 @@ msgid "Did you forget the '_run' method?" msgstr "Ben je de '_run' methode vergeten?" #: editor/editor_settings.cpp -#, fuzzy msgid "Default (Same as Editor)" msgstr "Standaard (Dezelfde als Editor)" @@ -2489,7 +2533,8 @@ msgstr "Geen antwoord." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Aanv. Mislukt." #: editor/export_template_manager.cpp @@ -2536,7 +2581,8 @@ msgid "Connecting.." msgstr "Verbinden.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Kan niet verbinden" #: editor/export_template_manager.cpp @@ -2577,9 +2623,8 @@ msgid "Remove Template" msgstr "Verwijder Sjabloon" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select template file" -msgstr "Verwijder geselecteerde bestanden?" +msgstr "Selecteer sjabloonbestand" #: editor/export_template_manager.cpp msgid "Export Template Manager" @@ -2635,6 +2680,11 @@ msgid "Error moving:\n" msgstr "Fout bij het verplaatsen:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Error bij het laden van:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Kon afhankelijkheden niet verversen:\n" @@ -2668,6 +2718,16 @@ msgstr "Hernoemen folder:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Duplicating file:" +msgstr "Dupliceren" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Hernoemen folder:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Expand all" msgstr "Klap alles uit" @@ -2677,10 +2737,6 @@ msgid "Collapse all" msgstr "Klap alles in" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Kopieer Pad" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Hernoemen.." @@ -2689,27 +2745,28 @@ msgid "Move To.." msgstr "Verplaats Naar.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nieuwe Map.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Weergeven in Bestandsbeheer" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Scene Openen" #: editor/filesystem_dock.cpp msgid "Instance" msgstr "Instantie" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Edit Dependencies.." -msgstr "Afhankelijkheden aanpassen." +msgstr "Afhankelijkheden aanpassen.." #: editor/filesystem_dock.cpp msgid "View Owners.." msgstr "Bekijk eigenaren.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Dupliceren" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Vorige Map" @@ -2757,9 +2814,8 @@ msgid "Remove from Group" msgstr "Verwijderen uit Groep" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import as Single Scene" -msgstr "Scene aan het Updaten" +msgstr "Importeer als Enkele Scene" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" @@ -2807,10 +2863,18 @@ msgid "Importing Scene.." msgstr "Scene Importeren.." #: editor/import/resource_importer_scene.cpp -msgid "Running Custom Script.." +msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Running Custom Script.." +msgstr "Aangepast script uitvoeren .." + +#: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" msgstr "Kon post-import script niet laden:" @@ -2847,9 +2911,8 @@ msgid "Preset.." msgstr "Voorinstelling.." #: editor/import_dock.cpp -#, fuzzy msgid "Reimport" -msgstr "Aan Het Herimporteren" +msgstr "Herimporteer" #: editor/multi_node_edit.cpp msgid "MultiNode Set" @@ -2952,12 +3015,14 @@ msgid "Add Animation" msgstr "Voeg Animatie Toe" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Blend Next Changed" -msgstr "" +msgstr "Meng Volgende Aangepast" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Change Blend Time" -msgstr "" +msgstr "Wijzig Meng Tijd" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" @@ -3013,7 +3078,7 @@ msgstr "Animatie positie (in seconden)." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "Schaal het afspelen van animaties globaal voor de Node." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." @@ -3058,7 +3123,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "\"Onion Skinning\" Inschakelen" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3072,27 +3137,27 @@ msgstr "Plakken" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Toekomst" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Diepte" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 stap" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 stappen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 stappen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Alleen verschillen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3100,7 +3165,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Inclusief Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3119,15 +3184,15 @@ msgstr "Foutmelding!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Mengtijden:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Volgende (Auto wachtrij):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Cross-animatie mixtijden" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -3157,23 +3222,25 @@ msgstr "Fade-Out (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend" -msgstr "" +msgstr "Vochtigheid vermenging ruis" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "Mengen" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Automatische herstart:" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Restart (s):" -msgstr "" +msgstr "Herstart (en):" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Random Restart (s):" -msgstr "" +msgstr "Willekeurige herstart (en):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" @@ -3186,7 +3253,7 @@ msgstr "Hoeveelheid:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend:" -msgstr "" +msgstr "Mengen" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" @@ -3206,7 +3273,7 @@ msgstr "Huidig:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "Voeg invoer toe" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Clear Auto-Advance" @@ -3218,7 +3285,7 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "Invoer verwijderen" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is valid." @@ -3338,7 +3405,7 @@ msgstr "Ophalen:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving.." -msgstr "" +msgstr "Oplossen .." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" @@ -3377,6 +3444,7 @@ msgid "last" msgstr "laatste" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Alle" @@ -3419,6 +3487,27 @@ msgstr "Testen" msgid "Assets ZIP File" msgstr "Assets ZIP Bestand" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Voorbeeld" @@ -3556,7 +3645,6 @@ msgid "Toggles snapping" msgstr "Breekpunt Aan- of Uitschakelen" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3738,16 +3826,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3942,6 +4020,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3982,6 +4076,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Weergeven" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Weergeven" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4159,10 +4267,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4180,15 +4284,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4250,10 +4354,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4541,11 +4641,13 @@ msgstr "Sorteren:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4561,7 +4663,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4574,6 +4676,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopieer Pad" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4765,14 +4872,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Ga naar Regel" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5101,6 +5204,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5212,6 +5323,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Op hulplijnen uitlijnen" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5286,10 +5410,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5331,6 +5451,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5718,6 +5842,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5729,6 +5858,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Annuleren" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -5852,10 +5985,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6117,8 +6246,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Schaal Selectie" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6188,6 +6318,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6366,6 +6500,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6399,6 +6537,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Zet" @@ -6407,10 +6549,6 @@ msgstr "Zet" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6975,6 +7113,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -7023,15 +7165,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Verwijder Signaal" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7755,6 +7934,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7791,10 +7986,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7849,15 +8040,11 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Raw Mode" -msgstr "" +msgstr "Raw-modus" #: scene/gui/color_picker.cpp msgid "Add current color as a preset" -msgstr "" - -#: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Annuleren" +msgstr "Huidige kleur als een preset toevoegen" #: scene/gui/dialogs.cpp msgid "Alert!" @@ -7929,6 +8116,16 @@ msgstr "Fout bij het laden van lettertype." msgid "Invalid font size." msgstr "Ongeldige lettertype grootte." +#~ msgid "Move Add Key" +#~ msgstr "Verplaats Key Toevoegen" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "Subscriptie Maken" + +#~ msgid "List:" +#~ msgstr "Lijst:" + #, fuzzy #~ msgid "" #~ "\n" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index e4a19998a7..cc543c97bb 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -1,6 +1,6 @@ # Polish translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # 8-bit Pixel <dawdejw@gmail.com>, 2016. @@ -8,6 +8,8 @@ # Adrian WÄ™cÅ‚awski <weclawskiadrian@gmail.com>, 2016. # aelspire <aelspire@gmail.com>, 2017. # Daniel Lewan <vision360.daniel@gmail.com>, 2016-2017. +# heya10 <igor.gielzak@gmail.com>, 2017. +# holistyczny interlokutor <jakubowesmieci@gmail.com>, 2017. # Kajetan KuszczyÅ„ski <kajetanek99@gmail.com>, 2016. # Kamil Lewan <lewan.kamil@gmail.com>, 2016. # Karol Walasek <coreconviction@gmail.com>, 2016. @@ -23,8 +25,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-26 22:48+0000\n" -"Last-Translator: Sebastian Pasich <sebastian.pasich@gmail.com>\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: RafaÅ‚ Ziemniak <synaptykq@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" "Language: pl\n" @@ -32,7 +34,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -43,8 +45,9 @@ msgid "All Selection" msgstr "Wszystkie zaznaczenia" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Przemieszczono/Dodano klucz" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "ZmieÅ„ wartość" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -55,8 +58,9 @@ msgid "Anim Change Transform" msgstr "Animacja transformacji" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "Animacja wartoÅ›ci" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "ZmieÅ„ wartość" #: editor/animation_editor.cpp msgid "Anim Change Call" @@ -99,9 +103,8 @@ msgid "Anim Track Change Value Mode" msgstr "ZmieÅ„ tryb wartoÅ›ci animacji" #: editor/animation_editor.cpp -#, fuzzy msgid "Anim Track Change Wrap Mode" -msgstr "ZmieÅ„ tryb wartoÅ›ci animacji" +msgstr "Åšcieżka Animacji - ZmieÅ„ Tryb Zawijania" #: editor/animation_editor.cpp msgid "Edit Node Curve" @@ -388,7 +391,7 @@ msgstr "Nie znaleziono" #: editor/code_editor.cpp msgid "Replaced %d occurrence(s)." -msgstr "Ilość zastÄ…pionych wystÄ…pieÅ„: %d" +msgstr "Zamieniono %d wystÄ…pieÅ„." #: editor/code_editor.cpp msgid "Replace" @@ -550,8 +553,9 @@ msgid "Connecting Signal:" msgstr "Połączony sygnaÅ‚:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Utwórz subskrypcjÄ™" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Połącz '%s' z '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -567,7 +571,8 @@ msgid "Signals" msgstr "SygnaÅ‚y" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Utwórz nowy" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -582,7 +587,7 @@ msgstr "Ostatnie:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Szukaj:" @@ -623,6 +628,7 @@ msgstr "" "Zmiany zajdÄ… dopiero po jego przeÅ‚adowaniu." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ZależnoÅ›ci" @@ -725,9 +731,10 @@ msgid "Delete selected files?" msgstr "Usunąć zaznaczone pliki?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "UsuÅ„" @@ -787,19 +794,19 @@ msgstr "Mini-sponsorzy" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "ZÅ‚oci dawcy" +msgstr "ZÅ‚oci darczyÅ„cy" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "Srebrni dawcy" +msgstr "Srebrni darczyÅ„cy" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "BrÄ…zowi dawcy" +msgstr "BrÄ…zowi darczyÅ„cy" #: editor/editor_about.cpp msgid "Donors" -msgstr "Dawcy" +msgstr "DarczyÅ„cy" #: editor/editor_about.cpp msgid "License" @@ -872,6 +879,11 @@ msgid "Rename Audio Bus" msgstr "ZmieÅ„ nazwÄ™ magistrali audio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Przełącz tryb solo magistrali audio" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Przełącz tryb solo magistrali audio" @@ -920,8 +932,8 @@ msgstr "OmiÅ„" msgid "Bus options" msgstr "Opcje magistrali" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplikuj" @@ -934,6 +946,10 @@ msgid "Delete Effect" msgstr "UsuÅ„ efekt" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Dodaj magistralÄ™ audio" @@ -1086,7 +1102,8 @@ msgstr "Åšcieżka:" msgid "Node Name:" msgstr "Nazwa wÄ™zÅ‚a:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nazwa" @@ -1094,10 +1111,6 @@ msgstr "Nazwa" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Aktualizowanie Sceny" @@ -1110,6 +1123,15 @@ msgstr "Zachowywanie lokalnych zmian.." msgid "Updating scene.." msgstr "Aktualizacja sceny .." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(pusty)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Najpierw wybierz katalog podstawowy" @@ -1160,6 +1182,22 @@ msgstr "Plik istnieje, nadpisać?" msgid "Select Current Folder" msgstr "Utwórz katalog" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Skopiuj ÅšcieżkÄ™" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Pokaż w menadżerze plików" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Utwórz katalog..." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "OdÅ›wież" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Wszystkie rozpoznane" @@ -1207,10 +1245,6 @@ msgid "Go Up" msgstr "W górÄ™" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "OdÅ›wież" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Przełącz ukryte pliki" @@ -1390,7 +1424,8 @@ msgstr "WyjÅ›cie:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Wyczyść" @@ -1678,7 +1713,7 @@ msgstr "Eksportuj bibliotekÄ™ Meshów" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "Ta operacja nie może zostać wykonana bez sceny." +msgstr "Ta operacja nie może zostać wykonana bez wÄ™zÅ‚a głównego." #: editor/editor_node.cpp msgid "Export Tile Set" @@ -1777,7 +1812,7 @@ msgid "" "Scene '%s' was automatically imported, so it can't be modified.\n" "To make changes to it, a new inherited scene can be created." msgstr "" -"Scena '%s' zostaÅ‚a automatycznie zaimportowana, i nie może być " +"Scena '%s' zostaÅ‚a automatycznie zaimportowana, wiÄ™c nie może być " "zmodyfikowana.\n" "Aby dokonać na niej zmian, można utworzyć nowÄ… odziedziczonÄ… scenÄ™." @@ -1854,7 +1889,7 @@ msgstr "Scena" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "Idź do poprzednio otwartej sceny." +msgstr "Wróć do poprzednio otwartej sceny." #: editor/editor_node.cpp msgid "Next tab" @@ -2343,6 +2378,16 @@ msgstr "Ten obiekt" msgid "Frame #:" msgstr "Klatka #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Czas:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "WywoÅ‚anie" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Wybierz urzÄ…dzenie z listy" @@ -2485,7 +2530,8 @@ msgstr "Brak odpowiedzi." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Żądanie nie powiodÅ‚o siÄ™." #: editor/export_template_manager.cpp @@ -2507,9 +2553,8 @@ msgid "Download Complete." msgstr "Pobieranie zakoÅ„czone." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error requesting url: " -msgstr "Błąd podczas wczytywania adresu url: " +msgstr "Błąd podczas żądania adresu url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." @@ -2534,7 +2579,8 @@ msgid "Connecting.." msgstr "ÅÄ…czenie.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Nie można połączyć" #: editor/export_template_manager.cpp @@ -2630,6 +2676,11 @@ msgid "Error moving:\n" msgstr "Błąd przenoszenia:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Błąd Å‚adowania:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Nie można zaktualizować zależnoÅ›ci:\n" @@ -2662,6 +2713,16 @@ msgid "Renaming folder:" msgstr "Zmiana nazwy folderu:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplikuj" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Zmiana nazwy folderu:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "RozwiÅ„ foldery" @@ -2670,10 +2731,6 @@ msgid "Collapse all" msgstr "ZwiÅ„ foldery" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Skopiuj ÅšcieżkÄ™" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "ZmieÅ„ nazwÄ™..." @@ -2682,12 +2739,9 @@ msgid "Move To.." msgstr "PrzenieÅ› Do..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Utwórz katalog..." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Pokaż w menadżerze plików" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Otwórz scenÄ™" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2702,6 +2756,11 @@ msgid "View Owners.." msgstr "Pokaż wÅ‚aÅ›cicieli.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplikuj" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Poprzedni katalog" @@ -2797,6 +2856,16 @@ msgid "Importing Scene.." msgstr "Importowanie Sceny.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Generowanie AABB" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generowanie AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Uruchamiam skrypt..." @@ -2943,8 +3012,9 @@ msgid "Add Animation" msgstr "Dodaj animacjÄ™" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Blend Next Changed" -msgstr "" +msgstr "Zmienione nastÄ™pne przejÅ›cie animacji" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" @@ -3031,8 +3101,9 @@ msgid "Autoplay on Load" msgstr "Auto odtwarzanie po zaÅ‚adowaniu" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Edit Target Blend Times" -msgstr "" +msgstr "Edytuj Czas Trwania PrzejÅ›cia Celu" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" @@ -3043,12 +3114,14 @@ msgid "Copy Animation" msgstr "Skopiuj animacje" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Onion Skinning" -msgstr "" +msgstr "Tryb Å‚usek cebuli" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Enable Onion Skinning" -msgstr "" +msgstr "Włącz tryb Å‚usek cebuli" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3067,31 +3140,33 @@ msgstr "Funkcje" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Głębokość" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 krok" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 kroki" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 kroki" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Tylko różnice" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Force White Modulate" -msgstr "" +msgstr "WymuÅ› BiaÅ‚e Cieniowanie" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Dołącz Gizmo (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3110,7 +3185,7 @@ msgstr "Błąd!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Czasy przejÅ›cia:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" @@ -3118,7 +3193,7 @@ msgstr "NastÄ™pny (automatyczna kolejka):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Czas PrzejÅ›cia MiÄ™dzy Animacjami" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -3201,12 +3276,14 @@ msgid "Add Input" msgstr "Dodaj WejÅ›cie" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Clear Auto-Advance" -msgstr "" +msgstr "Wyczyść Auto-Progres" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Set Auto-Advance" -msgstr "" +msgstr "Ustaw Auto-Progres" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" @@ -3230,23 +3307,23 @@ msgstr "Jednorazowy WÄ™zeÅ‚" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "WezeÅ‚ Mieszania" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" -msgstr "" +msgstr "WÄ™zeÅ‚ Blend2" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend3 Node" -msgstr "" +msgstr "WÄ™zeÅ‚ Blend3" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend4 Node" -msgstr "" +msgstr "WÄ™zeÅ‚ Blend4" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeScale Node" -msgstr "" +msgstr "WÄ™zeÅ‚ Skalowania Czasu" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeSeek Node" @@ -3254,7 +3331,7 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "WÄ™zeÅ‚ PrzejÅ›cia" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." @@ -3374,6 +3451,7 @@ msgid "last" msgstr "ostatni" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Wszystko" @@ -3415,6 +3493,28 @@ msgstr "Testowanie" msgid "Assets ZIP File" msgstr "Plik ZIP assetów" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ZmieÅ„ promień światÅ‚a" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "PodglÄ…d" @@ -3447,11 +3547,11 @@ msgstr "PrzesuÅ„ pivot" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "PrzesuÅ„ DziaÅ‚anie" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "PrzesuÅ„ PionowÄ… ProwadnicÄ™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new vertical guide" @@ -3475,7 +3575,7 @@ msgstr "UsuÅ„ prowadnicÄ™ poziomÄ…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Utwórz nowe poziome i pionowe prowadnice" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" @@ -3520,8 +3620,9 @@ msgstr "" "poruszania)." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+PPM: Lista wyboru głębi" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" @@ -3553,7 +3654,6 @@ msgid "Toggles snapping" msgstr "PrzyciÄ…ganie" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Użyj przyciÄ…gania" @@ -3575,19 +3675,20 @@ msgstr "Konfiguruj przyciÄ…ganie.." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "PrzyciÄ…gaj wzglÄ™dnie" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" msgstr "Użyj krokowania na poziomie pikseli" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Smart snapping" -msgstr "" +msgstr "Inteligentne przyciÄ…ganie" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "" +msgstr "PrzyciÄ…gaj do rodzica" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" @@ -3599,7 +3700,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "PrzyciÄ…gaj do innych wÄ™złów" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" @@ -3687,7 +3788,7 @@ msgstr "Wstaw Klucz" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "" +msgstr "Wstaw Klucz (IstniejÄ…ce Åšcieżki)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" @@ -3733,16 +3834,6 @@ msgstr "Błąd instancjacji sceny z %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Brak elementu nadrzÄ™dnego do stworzenia instancji." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Ta operacja wymaga pojedynczego wybranego wÄ™zÅ‚a." @@ -3760,7 +3851,7 @@ msgstr "" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "Stwórz Poly3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" @@ -3802,11 +3893,12 @@ msgstr "Ease in" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "Ease out" #: editor/plugins/curve_editor_plugin.cpp +#, fuzzy msgid "Smoothstep" -msgstr "" +msgstr "PÅ‚ynny Krok" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" @@ -3853,7 +3945,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Przytrzymaj Shift aby edytować styczne indywidualnie" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" @@ -3939,6 +4031,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3948,7 +4056,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" -msgstr "" +msgstr "Nie udaÅ‚o siÄ™ utworzyć zarysu!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" @@ -3979,6 +4087,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Widok" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Widok" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4139,11 +4261,11 @@ msgstr "Rozdzielenie" #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "Tworzenie konturów..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating polymesh..." -msgstr "" +msgstr "Tworzenie polymesh'a..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." @@ -4166,10 +4288,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "UsuÅ„ maskÄ™ emisji" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Generowanie AABB" @@ -4188,10 +4306,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Brak pikseli z przeźroczystoÅ›ciÄ… > 128 w obrazie.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Ustaw maskÄ™ emisji" - -#: editor/plugins/particles_2d_editor_plugin.cpp #, fuzzy msgid "Generate Visibility Rect" msgstr "Wygeneruj widzialność prostokÄ…ta" @@ -4201,6 +4315,10 @@ msgid "Load Emission Mask" msgstr "Wczytaj maskÄ™ emisji" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "UsuÅ„ maskÄ™ emisji" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "CzÄ…steczki" @@ -4259,10 +4377,6 @@ msgid "Create Emission Points From Node" msgstr "Twórz punkty emisji z wÄ™zÅ‚a" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Wyczyść Emiter" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Utwórz Emiter" @@ -4554,11 +4668,13 @@ msgstr "Sortuj:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "PrzesuÅ„ w górÄ™" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "PrzesuÅ„ w dół" @@ -4574,7 +4690,7 @@ msgstr "Poprzedni skrypt" msgid "File" msgstr "Plik" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nowy" @@ -4587,6 +4703,11 @@ msgid "Soft Reload Script" msgstr "MiÄ™kkie przeÅ‚adowania skryptu" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Skopiuj ÅšcieżkÄ™" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Poprzedni plik" @@ -4787,14 +4908,10 @@ msgstr "Duplikuj liniÄ™" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Idź do lini" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5135,6 +5252,14 @@ msgstr "Klatki na sekundÄ™" msgid "Align with view" msgstr "Wyrównaj z widokiem" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Brak elementu nadrzÄ™dnego do stworzenia instancji." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Widok normalny" @@ -5253,6 +5378,20 @@ msgid "Scale Mode (R)" msgstr "Tryb skalowania (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Koordynaty lokalne" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Tryb skalowania (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Tryb przyciÄ…gania:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Widok z doÅ‚u" @@ -5330,10 +5469,6 @@ msgid "Configure Snap.." msgstr "Konfiguruj krokowanie.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Koordynaty lokalne" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Okno transformowania.." @@ -5375,6 +5510,10 @@ msgid "Settings" msgstr "Ustawienia" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Ustawienia przyciÄ…gania" @@ -5775,6 +5914,11 @@ msgid "Merge from scene?" msgstr "Połącz ze sceny?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Utwórz ze sceny" @@ -5786,6 +5930,10 @@ msgstr "Połącz ze sceny" msgid "Error" msgstr "Błąd" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Anuluj" + #: editor/project_export.cpp msgid "Runnable" msgstr "Uruchamiany" @@ -5909,10 +6057,6 @@ msgid "Imported Project" msgstr "Zaimportowano projekt" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Dobrym pomysÅ‚em byÅ‚oby nazwanie swojego projektu." @@ -6179,8 +6323,9 @@ msgid "Joypad Button Index:" msgstr "Indeks przycisku joysticka:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Dodawanie akcji WejÅ›cia" +#, fuzzy +msgid "Erase Input Action" +msgstr "Wyczyść zdarzenie akcji wejÅ›cia" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6250,6 +6395,10 @@ msgid "Already existing" msgstr "Już istnieje" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Dodawanie akcji WejÅ›cia" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Błąd zapisu ustawieÅ„." @@ -6427,6 +6576,10 @@ msgid "New Script" msgstr "Nowy skrypt" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "Utwórz unikatowy zasób" @@ -6459,6 +6612,11 @@ msgstr "" msgid "On" msgstr "Włącz" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Dodaj pusty" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Ustaw" @@ -6467,10 +6625,6 @@ msgstr "Ustaw" msgid "Properties:" msgstr "WÅ‚aÅ›ciwoÅ›ci:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Kategorie:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Wybierz wÅ‚aÅ›ciwość" @@ -7037,6 +7191,10 @@ msgstr "Ustaw z drzewa" msgid "Shortcuts" msgstr "Skróty" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "ZmieÅ„ promień światÅ‚a" @@ -7086,15 +7244,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "ZmieÅ„ rozmiar Box Shape" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "UsuÅ„ punkt krzywej" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "Kopiuj na platformÄ™..." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteka" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Biblioteka" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Status" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Biblioteki: " @@ -7791,6 +7989,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7827,10 +8041,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7891,10 +8101,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Anuluj" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alarm!" @@ -7903,9 +8109,8 @@ msgid "Please Confirm..." msgstr "ProszÄ™ potwierdzić..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Wybierz metodÄ™" +msgstr "Wybierz ten Folder" #: scene/gui/popup.cpp msgid "" @@ -7913,9 +8118,9 @@ msgid "" "functions. Making them visible for editing is fine though, but they will " "hide upon running." msgstr "" -"Popup bÄ™dzie domyÅ›lnie ukryty dopóki nie wywoÅ‚asz popup() lub dowolnej " -"funkcji popup*(). Ustawienie go jako widoczny jest przydatne do edycji, ale " -"zostanie ukryty po uruchomieniu." +"WyskakujÄ…ce okna bÄ™dÄ… domyÅ›lnie ukryte dopóki nie wywoÅ‚asz popup() lub " +"dowolnej funkcji popup*(). Ustawienie ich jako widocznych jest przydatne do " +"edycji, ale zostanÄ… ukryte po uruchomieniu." #: scene/gui/scroll_container.cpp msgid "" @@ -7930,13 +8135,15 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "Inne" #: scene/main/scene_tree.cpp msgid "" "Default Environment as specified in Project Setings (Rendering -> Viewport -" "> Default Environment) could not be loaded." msgstr "" +"DomyÅ›lne Åšrodowisko okreÅ›lone w Ustawieniach Projektu (Renderowanie -> " +"Viewport -> DomyÅ›lne Åšrodowisko) nie mogÅ‚o zostać zaÅ‚adowane." #: scene/main/viewport.cpp msgid "" @@ -7956,7 +8163,7 @@ msgstr "Błąd przy inicjalizacji FreeType." #: scene/resources/dynamic_font.cpp msgid "Unknown font format." -msgstr "Nieznany format fontu." +msgstr "Nieznany format czcionki." #: scene/resources/dynamic_font.cpp msgid "Error loading font." @@ -7966,6 +8173,27 @@ msgstr "Błąd Å‚adowania fonta." msgid "Invalid font size." msgstr "Niepoprawny rozmiar fonta." +#~ msgid "Move Add Key" +#~ msgstr "Przemieszczono/Dodano klucz" + +#~ msgid "Create Subscription" +#~ msgstr "Utwórz subskrypcjÄ™" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Ustaw maskÄ™ emisji" + +#~ msgid "Clear Emitter" +#~ msgstr "Wyczyść Emiter" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Kategorie:" + #~ msgid "Cannot navigate to '" #~ msgstr "Nie można przejść do '" @@ -8616,9 +8844,6 @@ msgstr "Niepoprawny rozmiar fonta." #~ msgid "Del" #~ msgstr "UsuÅ„" -#~ msgid "Copy To Platform.." -#~ msgstr "Kopiuj na platformÄ™..." - #, fuzzy #~ msgid "Error creating the signature object." #~ msgstr "Błąd przy eksporcie projektu!" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 6e5ceeadc1..8f649949e1 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -1,6 +1,6 @@ # Pirate translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Calum Knott <calum@calumk.com>, 2017. @@ -28,8 +28,9 @@ msgid "All Selection" msgstr "All yer Booty" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Move yer Add Key" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Change yer Anim Value" #: editor/animation_editor.cpp #, fuzzy @@ -43,7 +44,7 @@ msgstr "Change yer Anim Transform" #: editor/animation_editor.cpp #, fuzzy -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "Change yer Anim Value" #: editor/animation_editor.cpp @@ -536,7 +537,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -553,7 +554,7 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" +msgid "Create New %s" msgstr "" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -568,7 +569,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -605,6 +606,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -705,9 +707,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -847,6 +850,11 @@ msgid "Rename Audio Bus" msgstr "Rename Function" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Rename Function" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -895,8 +903,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -910,6 +918,10 @@ msgid "Delete Effect" msgstr "Yar, Blow th' Selected Down!" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1060,7 +1072,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1068,10 +1081,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1084,6 +1093,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1134,6 +1151,22 @@ msgstr "" msgid "Select Current Folder" msgstr "Slit th' Node" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1181,10 +1214,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1363,7 +1392,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2256,6 +2286,15 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Call" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2392,7 +2431,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2439,8 +2478,9 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Slit th' Node" #: editor/export_template_manager.cpp #, fuzzy @@ -2534,6 +2574,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2567,31 +2611,32 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Rename Variable" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2607,6 +2652,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2699,6 +2748,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3264,6 +3321,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3305,6 +3363,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3442,7 +3521,6 @@ msgid "Toggles snapping" msgstr "Toggle ye Breakpoint" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3623,16 +3701,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3827,6 +3895,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3867,6 +3951,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4043,10 +4139,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4064,15 +4156,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4134,10 +4226,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4424,11 +4512,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4444,7 +4534,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4457,6 +4547,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Forge yer Node!" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4645,14 +4740,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Yar, Blow th' Selected Down!" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4978,6 +5069,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5082,6 +5181,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5156,10 +5267,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5201,6 +5308,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5586,6 +5697,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5597,6 +5712,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5714,10 +5833,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5976,7 +6091,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6046,6 +6161,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6224,6 +6343,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6256,6 +6379,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Set" @@ -6264,10 +6391,6 @@ msgstr "Set" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6825,6 +6948,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6873,15 +7000,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Discharge ye' Signal" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7566,6 +7730,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7594,10 +7774,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7650,10 +7826,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7714,6 +7886,9 @@ msgstr "Error loading yer Calligraphy Pen." msgid "Invalid font size." msgstr "Yer Calligraphy be wrongly sized." +#~ msgid "Move Add Key" +#~ msgstr "Move yer Add Key" + #~ msgid "just pressed" #~ msgstr "just smashed" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index eed8439995..a0f94fbb4f 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -1,6 +1,6 @@ # Portuguese (Brazil) translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Allyson Souza <allyson_as@outlook.com>, 2017. @@ -24,8 +24,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2017-11-25 01:23+0000\n" -"Last-Translator: anonymous <>\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: Guilherme Felipe C G Silva <guilhermefelipecgs@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -33,7 +33,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -44,8 +44,9 @@ msgid "All Selection" msgstr "Toda a Seleção" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mover Adicionar Chave" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Mudar Valor da Anim" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -56,7 +57,8 @@ msgid "Anim Change Transform" msgstr "Mudar Transformação da Anim" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Mudar Valor da Anim" #: editor/animation_editor.cpp @@ -550,8 +552,9 @@ msgid "Connecting Signal:" msgstr "Conectando Sinal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Criar Conexão" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Conectar \"%s\" a \"%s\"" #: editor/connections_dialog.cpp msgid "Connect.." @@ -567,7 +570,8 @@ msgid "Signals" msgstr "Sinais" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Criar Novo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -582,7 +586,7 @@ msgstr "Recente:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Pesquisar:" @@ -623,6 +627,7 @@ msgstr "" "As mudanças não terão efeito a menos que seja recarregado." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependências" @@ -726,9 +731,10 @@ msgid "Delete selected files?" msgstr "Excluir os arquivos selecionados?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Excluir" @@ -871,6 +877,11 @@ msgid "Rename Audio Bus" msgstr "Renomear Canal de Ãudio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Alternar Solo do Canal de Ãudio" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Alternar Solo do Canal de Ãudio" @@ -918,8 +929,8 @@ msgstr "Ignorar" msgid "Bus options" msgstr "Opções da pista" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicar" @@ -932,6 +943,10 @@ msgid "Delete Effect" msgstr "Excluir Efeito" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Adicionar Canal de Ãudio" @@ -1085,7 +1100,8 @@ msgstr "Caminho:" msgid "Node Name:" msgstr "Nome do Nó:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nome" @@ -1093,10 +1109,6 @@ msgstr "Nome" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Atualizando Cena" @@ -1109,6 +1121,15 @@ msgstr "Armazenando mudanças locais..." msgid "Updating scene.." msgstr "Atualizando Cena..." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vazio)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Por favor selecione um diretório base primeiro" @@ -1155,9 +1176,24 @@ msgid "File Exists, Overwrite?" msgstr "O arquivo existe. Sobrescrever?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Criar Pasta" +msgstr "Selecione a Pasta Atual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copiar Caminho" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostrar no Gerenciador de Arquivos" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nova Pasta..." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Atualizar" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1206,10 +1242,6 @@ msgid "Go Up" msgstr "Acima" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Atualizar" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Alternar Arquivos Ocultos" @@ -1389,7 +1421,8 @@ msgstr "SaÃda:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Limpar" @@ -1546,14 +1579,12 @@ msgstr "" "esse procedimento." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Expandir tudo" +msgstr "Expandir todas as propriedades" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Recolher tudo" +msgstr "Recolher todas as propriedades" #: editor/editor_node.cpp msgid "Copy Params" @@ -2029,7 +2060,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "Sincronizar Mudanças no Script" +msgstr "Sincronizar Alterações no Script" #: editor/editor_node.cpp msgid "" @@ -2341,6 +2372,16 @@ msgstr "Mesmo" msgid "Frame #:" msgstr "Frame nº:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Chamar" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Selecione um dispositivo da lista" @@ -2483,13 +2524,14 @@ msgstr "Sem resposta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Sol. Falhou." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "Redirecionar Loop." +msgstr "Loop de Redirecionamento." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2530,7 +2572,8 @@ msgid "Connecting.." msgstr "Conectando.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Não foi possÃvel conectar" #: editor/export_template_manager.cpp @@ -2626,6 +2669,11 @@ msgid "Error moving:\n" msgstr "Erro ao mover:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Erro ao carregar:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Não foi possÃvel atualizar dependências:\n" @@ -2658,6 +2706,16 @@ msgid "Renaming folder:" msgstr "Renomear pasta:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renomear pasta:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Expandir tudo" @@ -2666,10 +2724,6 @@ msgid "Collapse all" msgstr "Recolher tudo" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copiar Caminho" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renomear..." @@ -2678,12 +2732,9 @@ msgid "Move To.." msgstr "Mover Para..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nova Pasta..." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostrar no Gerenciador de Arquivos" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Abrir Cena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2698,6 +2749,11 @@ msgid "View Owners.." msgstr "Visualizar Proprietários..." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Diretório Anterior" @@ -2792,6 +2848,16 @@ msgid "Importing Scene.." msgstr "Importando Cena..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Transferir para Mapas de Luz:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Gerando AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Rodando Script Personalizado..." @@ -3040,54 +3106,51 @@ msgstr "Copiar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Papel Vegetal" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Ativar Papel Vegetal" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Seções:" +msgstr "Direções" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Colar" +msgstr "Passado" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Funcionalidades" +msgstr "Futuro" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profundidade" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 passo" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Apenas Diferenças" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Forçar Módulo Branco" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Incluir Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3364,6 +3427,7 @@ msgid "last" msgstr "ult" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Todos" @@ -3405,6 +3469,28 @@ msgstr "Em teste" msgid "Assets ZIP File" msgstr "Arquivo ZIP de Assets" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Transferir para Mapas de Luz:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Visualização" @@ -3543,7 +3629,6 @@ msgid "Toggles snapping" msgstr "Alternar Encaixar" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Usar Snap" @@ -3723,16 +3808,6 @@ msgstr "Erro ao instanciar cena de %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Sem pai onde instanciar um filho." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Essa operação requer um único nó selecionado." @@ -3928,6 +4003,22 @@ msgid "Create Navigation Mesh" msgstr "Criar Mesh de Navegação" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Falta uma Mesh na MeshInstance!" @@ -3968,6 +4059,20 @@ msgid "Create Outline Mesh.." msgstr "Criar Mesh de Contorno.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Visualizar" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Visualizar" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Criar Mesh de Contorno" @@ -4145,10 +4250,6 @@ msgid "Create Navigation Polygon" msgstr "Criar PolÃgono de Navegação" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Limpar Máscara de Emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Gerando AABB" @@ -4167,10 +4268,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Nenhum pixel com transparência > 128 na imagem." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Definir Máscara de Emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Gerar Retângulo de Visibilidade" @@ -4179,6 +4276,10 @@ msgid "Load Emission Mask" msgstr "Carregar Máscara de Emissão" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Limpar Máscara de Emissão" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "PartÃculas" @@ -4237,10 +4338,6 @@ msgid "Create Emission Points From Node" msgstr "Criar Pontos de Emissão a Partir do Nó" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Limpar Emissor" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Criar Emissor" @@ -4525,11 +4622,13 @@ msgstr "Ordenar" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Mover para Cima" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Mover para Baixo" @@ -4545,7 +4644,7 @@ msgstr "Script anterior" msgid "File" msgstr "Arquivo" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Novo" @@ -4558,6 +4657,11 @@ msgid "Soft Reload Script" msgstr "Recarregar Script (suave)" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copiar Caminho" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Anterior no Histórico" @@ -4748,11 +4852,8 @@ msgid "Clone Down" msgstr "Clonar Abaixo" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Esconder Linha" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Mostrar Linha" #: editor/plugins/script_text_editor.cpp @@ -5080,6 +5181,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Alinhar com Visão" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Sem pai onde instanciar um filho." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Exibição Normal" @@ -5187,6 +5296,20 @@ msgid "Scale Mode (R)" msgstr "Modo Escala (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenadas Locais" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modo Escala (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modo Snap:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Visão inferior" @@ -5259,10 +5382,6 @@ msgid "Configure Snap.." msgstr "Configurar Snap..." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordenadas Locais" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Diálogo Transformação..." @@ -5304,6 +5423,10 @@ msgid "Settings" msgstr "Configurações" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Configurações do Snap" @@ -5686,6 +5809,11 @@ msgid "Merge from scene?" msgstr "Fundir a partir de cena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Criar a partir de Cena" @@ -5697,6 +5825,10 @@ msgstr "Fundir a partir de Cena" msgid "Error" msgstr "Erro" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancelar" + #: editor/project_export.cpp msgid "Runnable" msgstr "Executável" @@ -5825,10 +5957,6 @@ msgid "Imported Project" msgstr "Projeto Importado" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Seria uma boa ideia nomear o seu projeto." @@ -5988,6 +6116,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Você não tem nenhum projeto atualmente.\n" +"Gostaria de explorar os projetos de exemplo oficiais na Biblioteca de Assets?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6095,8 +6225,9 @@ msgid "Joypad Button Index:" msgstr "Ãndice de Botão do Joypad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Adicionar Ação de Entrada" +#, fuzzy +msgid "Erase Input Action" +msgstr "Apagar Evento Ação de Entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6163,6 +6294,10 @@ msgid "Already existing" msgstr "Já existe" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Adicionar Ação de Entrada" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Erro ao salvar as configurações." @@ -6339,6 +6474,10 @@ msgid "New Script" msgstr "Novo Script" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Tornar Único" @@ -6370,6 +6509,11 @@ msgstr "Bit %d, val %d." msgid "On" msgstr "Ativo" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Adicionar Vazio" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Definir" @@ -6378,10 +6522,6 @@ msgstr "Definir" msgid "Properties:" msgstr "Propriedades:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Seções:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Selecionar Propriedade" @@ -6947,6 +7087,10 @@ msgstr "Definir a partir da árvore" msgid "Shortcuts" msgstr "Atalhos" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Mudar Raio da Luz" @@ -6995,15 +7139,55 @@ msgstr "Mudar o AABB das PartÃculas" msgid "Change Probe Extents" msgstr "Alterar a Extensão da Sonda" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Remover Ponto da Curva" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "Copiar para a Plataforma..." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Biblioteca" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Estado" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliotecas: " @@ -7705,6 +7889,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin necessita um nó ARVRCamera como filho" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Planejando Malhas" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Planejando Malhas" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Terminando de Plotar" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Planejando Malhas" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7741,10 +7944,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Planejando Malhas" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Terminando de Plotar" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7811,10 +8010,6 @@ msgid "Add current color as a preset" msgstr "Adicionar cor atual como uma predefinição" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Cancelar" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerta!" @@ -7823,9 +8018,8 @@ msgid "Please Confirm..." msgstr "Confirme Por Favor..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Selecionar Mtéodo" +msgstr "Selecionar esta Pasta" #: scene/gui/popup.cpp msgid "" @@ -7887,6 +8081,30 @@ msgstr "Erro ao carregar fonte." msgid "Invalid font size." msgstr "Tamanho de fonte inválido." +#~ msgid "Move Add Key" +#~ msgstr "Mover Adicionar Chave" + +#~ msgid "Create Subscription" +#~ msgstr "Criar Conexão" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Definir Máscara de Emissão" + +#~ msgid "Clear Emitter" +#~ msgstr "Limpar Emissor" + +#~ msgid "Fold Line" +#~ msgstr "Esconder Linha" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Seções:" + #~ msgid "Cannot navigate to '" #~ msgstr "Não é possÃvel navegar para '" @@ -8425,9 +8643,6 @@ msgstr "Tamanho de fonte inválido." #~ msgid "Making BVH" #~ msgstr "Fazendo BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Transferir para Mapas de Luz:" - #~ msgid "Allocating Texture #" #~ msgstr "Alocando Textura nº" @@ -8583,9 +8798,6 @@ msgstr "Tamanho de fonte inválido." #~ msgid "Del" #~ msgstr "Del" -#~ msgid "Copy To Platform.." -#~ msgstr "Copiar para a Plataforma..." - #~ msgid "" #~ "Couldn't read the certificate file. Are the path and password both " #~ "correct?" diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po index 9e89358ac8..3fdb664e07 100644 --- a/editor/translations/pt_PT.po +++ b/editor/translations/pt_PT.po @@ -1,11 +1,12 @@ # Portuguese (Portugal) translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # António Sarmento <antonio.luis.sarmento@gmail.com>, 2016. # Carlos Vieira <carlos.vieira@gmail.com>, 2017. # João Graça <jgraca95@gmail.com>, 2017. +# João Lopes <linux-man@hotmail.com>, 2017. # Miguel Gomes <miggas09@gmail.com>, 2017. # Pedro Gomes <pedrogomes1698@gmail.com>, 2017. # Rueben Stevens <supercell03@gmail.com>, 2017. @@ -15,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-25 18:50+0000\n" -"Last-Translator: Carlos Vieira <carlos.vieira@gmail.com>\n" +"PO-Revision-Date: 2017-12-05 04:49+0000\n" +"Last-Translator: João Lopes <linux-man@hotmail.com>\n" "Language-Team: Portuguese (Portugal) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_PT/>\n" "Language: pt_PT\n" @@ -34,68 +35,70 @@ msgid "All Selection" msgstr "Toda Selecção" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mover Adicionar Chave" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Mudar valor da Animação" #: editor/animation_editor.cpp msgid "Anim Change Transition" -msgstr "Anim Mudar Transição" +msgstr "Mudar transição da Animação" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Anim Mudar o Transform" +msgstr "Mudar transformação da Animação" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "Anim Mudar Valor" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Mudar valor da Animação" #: editor/animation_editor.cpp msgid "Anim Change Call" -msgstr "Anim Mudar Chamada" +msgstr "Mudar chamada da Animação" #: editor/animation_editor.cpp msgid "Anim Add Track" -msgstr "Anim Adicionar Pista" +msgstr "Adicionar pista de Animação" #: editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Anim Duplicar Chaves" +msgstr "Duplicar chaves da Animação" #: editor/animation_editor.cpp msgid "Move Anim Track Up" -msgstr "Mover Anim Subir Pista" +msgstr "Subir pista de Animação" #: editor/animation_editor.cpp msgid "Move Anim Track Down" -msgstr "Mover Anim Descer Pista" +msgstr "Descer pista de Animação" #: editor/animation_editor.cpp msgid "Remove Anim Track" -msgstr "Remover Anim Pista" +msgstr "Remover pista de Animação" #: editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "Definir Transições para:" +msgstr "Definir transições para:" #: editor/animation_editor.cpp msgid "Anim Track Rename" -msgstr "Anim Renomear Pista" +msgstr "Renomear pista de Animação" #: editor/animation_editor.cpp msgid "Anim Track Change Interpolation" -msgstr "Anim Pista Mudar Interpolação" +msgstr "Mudar interpolação da pista de Animação" #: editor/animation_editor.cpp msgid "Anim Track Change Value Mode" -msgstr "Anim Pista Mudar Modo do Valor" +msgstr "Mudar modo do valor da pista de Animação" #: editor/animation_editor.cpp msgid "Anim Track Change Wrap Mode" -msgstr "Anim Pista Mudar Modo de Embrulho" +msgstr "Mudar modo de embrulho da pista de Animação" #: editor/animation_editor.cpp msgid "Edit Node Curve" -msgstr "Editar Curva do Node" +msgstr "Editar curva do Nó" #: editor/animation_editor.cpp msgid "Edit Selection Curve" @@ -103,7 +106,7 @@ msgstr "Editar Curva da Seleção" #: editor/animation_editor.cpp msgid "Anim Delete Keys" -msgstr "Anim Eliminar Chaves" +msgstr "Eliminar Pontos da Animação" #: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -132,11 +135,11 @@ msgstr "Gatilho" #: editor/animation_editor.cpp msgid "Anim Add Key" -msgstr "Anim Adicionar Chave" +msgstr "Adicionar Pontos de Animação" #: editor/animation_editor.cpp msgid "Anim Move Keys" -msgstr "Anim Mover Chaves" +msgstr "Mover Pontos de Animação" #: editor/animation_editor.cpp msgid "Scale Selection" @@ -210,39 +213,39 @@ msgstr "Criar" #: editor/animation_editor.cpp msgid "Anim Create & Insert" -msgstr "Anim Criar & Inserir" +msgstr "Criar e inserir Animação" #: editor/animation_editor.cpp msgid "Anim Insert Track & Key" -msgstr "Anim Inserir Pista & Chave" +msgstr "Inserir pista e Ponto na Animação" #: editor/animation_editor.cpp msgid "Anim Insert Key" -msgstr "Anim Inserir Chave" +msgstr "Inserir Ponto de Animação" #: editor/animation_editor.cpp msgid "Change Anim Len" -msgstr "Mudar Duração da Anim" +msgstr "Mudar duração da Animação" #: editor/animation_editor.cpp msgid "Change Anim Loop" -msgstr "Mudar Laço da Anim" +msgstr "Mudar ciclo da Animação" #: editor/animation_editor.cpp msgid "Anim Create Typed Value Key" -msgstr "Anim Criar Valor Chave Escrito" +msgstr "Criar Ponto de valor digitado na Animação" #: editor/animation_editor.cpp msgid "Anim Insert" -msgstr "Anim Inserir" +msgstr "Inserir Animação" #: editor/animation_editor.cpp msgid "Anim Scale Keys" -msgstr "Anim Escalar Chaves" +msgstr "Escalar Pontos da Animação" #: editor/animation_editor.cpp msgid "Anim Add Call Track" -msgstr "Anim Adicionar Chamada de Pista" +msgstr "Adicionar chamada de pista de Animação" #: editor/animation_editor.cpp msgid "Animation zoom." @@ -254,7 +257,7 @@ msgstr "Duração (s):" #: editor/animation_editor.cpp msgid "Animation length (in seconds)." -msgstr "Duração da animação (em segundos)." +msgstr "Duração da Animação (em segundos)." #: editor/animation_editor.cpp msgid "Step (s):" @@ -262,11 +265,11 @@ msgstr "Passos (s):" #: editor/animation_editor.cpp msgid "Cursor step snap (in seconds)." -msgstr "Passo Rápido do Cursor (em segundos)." +msgstr "Ajuste do Cursor (em segundos)." #: editor/animation_editor.cpp msgid "Enable/Disable looping in animation." -msgstr "Ativar/Desativar repetição na animação." +msgstr "Ativar/Desativar repetição na Animação." #: editor/animation_editor.cpp msgid "Add new tracks." @@ -294,7 +297,7 @@ msgstr "Ativar edição de chaves individuais ao clicar nelas." #: editor/animation_editor.cpp msgid "Anim. Optimizer" -msgstr "Optimizador da Animação" +msgstr "Optimizador de Animações" #: editor/animation_editor.cpp msgid "Max. Linear Error:" @@ -314,7 +317,7 @@ msgstr "Otimizar" #: editor/animation_editor.cpp msgid "Select an AnimationPlayer from the Scene Tree to edit animations." -msgstr "Selecionar um AnimationPlayer da Scene Tree para editar animações." +msgstr "Selecionar um AnimationPlayer da Scene Tree para editar Animações." #: editor/animation_editor.cpp msgid "Key" @@ -330,7 +333,7 @@ msgstr "Taxa de Escala:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" -msgstr "Chamar Funções em Qual Node?" +msgstr "Chamar funções em que Nó?" #: editor/animation_editor.cpp msgid "Remove invalid keys" @@ -342,11 +345,11 @@ msgstr "Remover pistas vazias ou não resolvidas" #: editor/animation_editor.cpp msgid "Clean-up all animations" -msgstr "Limpar todas as animações" +msgstr "Limpar todas as Animações" #: editor/animation_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "Limpar animação(ções) (DEFINITIVO!)" +msgstr "Limpar Animação(ções) (DEFINITIVO!)" #: editor/animation_editor.cpp msgid "Clean-Up" @@ -358,11 +361,11 @@ msgstr "Redimensionar Array" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "Alterar tipo de valor do Array" +msgstr "Mudar tipo de valor do Array" #: editor/array_property_edit.cpp msgid "Change Array Value" -msgstr "Alterar valor do Array" +msgstr "Mudar valor do Array" #: editor/code_editor.cpp msgid "Go to Line" @@ -425,9 +428,8 @@ msgid "Replace By" msgstr "Substituir por" #: editor/code_editor.cpp -#, fuzzy msgid "Case Sensitive" -msgstr "Case Sensitive" +msgstr "SensÃvel a maiúsculas" #: editor/code_editor.cpp msgid "Backwards" @@ -435,11 +437,11 @@ msgstr "Para trás" #: editor/code_editor.cpp msgid "Prompt On Replace" -msgstr "Solicitar em substituir" +msgstr "Perguntar ao substituir" #: editor/code_editor.cpp msgid "Skip" -msgstr "Passar" +msgstr "Ignorar" #: editor/code_editor.cpp msgid "Zoom In" @@ -447,11 +449,11 @@ msgstr "Zoom In" #: editor/code_editor.cpp msgid "Zoom Out" -msgstr "Zoom out" +msgstr "Zoom Out" #: editor/code_editor.cpp msgid "Reset Zoom" -msgstr "Reset zoom" +msgstr "Repor Zoom" #: editor/code_editor.cpp editor/script_editor_debugger.cpp msgid "Line:" @@ -463,19 +465,19 @@ msgstr "Coluna:" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "Método no Node alvo deve ser especificado!" +msgstr "Método no Nó alvo deve ser especificado!" #: editor/connections_dialog.cpp msgid "" "Target method not found! Specify a valid method or attach a script to target " "Node." msgstr "" -"Método alvo não encontrado! Especifique um método válido ou anexe um script " -"ao Node de destino." +"Método alvo não encontrado! Especifique um Método válido ou anexe um Script " +"ao Nó de destino." #: editor/connections_dialog.cpp msgid "Connect To Node:" -msgstr "Conectar ao Node:" +msgstr "Conectar ao Nó:" #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -500,18 +502,17 @@ msgstr "Argumentos de chamada extra:" #: editor/connections_dialog.cpp msgid "Path to Node:" -msgstr "Caminho para Node:" +msgstr "Caminho para Nó:" #: editor/connections_dialog.cpp msgid "Make Function" -msgstr "Fazer função" +msgstr "Criar Função" #: editor/connections_dialog.cpp msgid "Deferred" msgstr "Deferido" #: editor/connections_dialog.cpp -#, fuzzy msgid "Oneshot" msgstr "Oneshot" @@ -542,8 +543,9 @@ msgid "Connecting Signal:" msgstr "Ligar sinal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Criar subscrição" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Ligar '%s' a '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -559,7 +561,8 @@ msgid "Signals" msgstr "Sinais" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Criar Novo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -574,16 +577,15 @@ msgstr "Recente:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Procurar:" #: editor/create_dialog.cpp editor/editor_help.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp #: editor/quick_open.cpp -#, fuzzy msgid "Matches:" -msgstr "Matches:" +msgstr "Correspondências:" #: editor/create_dialog.cpp editor/editor_help.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp @@ -604,8 +606,8 @@ msgid "" "Scene '%s' is currently being edited.\n" "Changes will not take effect unless reloaded." msgstr "" -"A Cena '%s' esta a ser editada.\n" -"As alterações não terão efeito ate recarregar." +"A Cena '%s' está a ser editada.\n" +"As alterações não terão efeito até recarregar." #: editor/dependency_editor.cpp msgid "" @@ -613,9 +615,10 @@ msgid "" "Changes will take effect when reloaded." msgstr "" "Recurso '%s' em uso.\n" -"Alterações terão efeito apos reenicio." +"Alterações terão efeito após reinÃcio." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependências" @@ -658,7 +661,7 @@ msgstr "Proprietários de:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "Remover arquivos selecionados do projeto? (sem desfazer)" +msgstr "Remover arquivos selecionados do Projeto? (sem desfazer)" #: editor/dependency_editor.cpp msgid "" @@ -700,7 +703,7 @@ msgstr "Erros ao carregar!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "Eliminar permanentemente o item (ns) %d? (Sem desfazer!)" +msgstr "Apagar permanentemente %d itens? (Sem desfazer!)" #: editor/dependency_editor.cpp msgid "Owns" @@ -719,20 +722,20 @@ msgid "Delete selected files?" msgstr "Apagar arquivos selecionados?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" -msgstr "Eliminar" +msgstr "Apagar" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "Alterar chave de dicionário" +msgstr "Mudar chave de dicionário" #: editor/dictionary_property_edit.cpp -#, fuzzy msgid "Change Dictionary Value" -msgstr "Alterar o valor do dicionário" +msgstr "Mudar o valor do dicionário" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" @@ -748,7 +751,7 @@ msgstr "Contribuidores da engine Godot" #: editor/editor_about.cpp msgid "Project Founders" -msgstr "Fundadores do projeto" +msgstr "Fundadores do Projeto" #: editor/editor_about.cpp msgid "Lead Developer" @@ -756,7 +759,7 @@ msgstr "Desenvolvedor-chefe" #: editor/editor_about.cpp editor/project_manager.cpp msgid "Project Manager" -msgstr "Gestor de Projecto" +msgstr "Gestor de Projeto" #: editor/editor_about.cpp msgid "Developers" @@ -809,11 +812,10 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" -"O Godot Engine conta com várias bibliotecas de bibliotecas abertas e " -"gratuitas de terceiros, todas compatÃveis com os termos de sua licença MIT. " -"A lista seguinte, é uma lista exaustiva de todos esses componentes de " -"terceiros com suas respectivas declarações de direitos autorais e termos de " -"licença." +"O Godot Engine conta com várias Bibliotecas abertas e gratuitas de " +"terceiros, todas compatÃveis com os termos da sua licença MIT. A lista " +"seguinte é uma lista exaustiva de todos esses Componentes de terceiros com " +"suas respetivas declarações de direitos autorais e termos de licença." #: editor/editor_about.cpp msgid "All Components" @@ -829,11 +831,11 @@ msgstr "Licenças" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Error opening package file, not in zip format." -msgstr "Error ao abrir ficheiro comprimido, não está no formato zip." +msgstr "Error ao abrir Ficheiro comprimido, não está no formato zip." #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "Descompactando Activos" +msgstr "Descompactando Ativos" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package Installed Successfully!" @@ -863,23 +865,28 @@ msgstr "Adicionar Efeito" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" -msgstr "Alterar Barramento de Ãudio" +msgstr "Mudar Barramento de Ãudio" + +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Alternar solo do canal áudio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "" +msgstr "Alternar solo do canal áudio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Mute" -msgstr "" +msgstr "Alternar silêncio do canal áudio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" -msgstr "" +msgstr "Alternar efeitos do canal áudio" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "" +msgstr "Selecionar envio do canal áudio" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus Effect" @@ -895,7 +902,7 @@ msgstr "Apagar Efeito de Barramento" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "" +msgstr "Canal áudio, arrastar e largar para reorganizar." #: editor/editor_audio_buses.cpp msgid "Solo" @@ -913,8 +920,8 @@ msgstr "Ignorar" msgid "Bus options" msgstr "Opções de barramento" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicado" @@ -927,6 +934,10 @@ msgid "Delete Effect" msgstr "Apagar Efeito" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Adicionar Barramento de Ãudio" @@ -964,11 +975,11 @@ msgstr "Abrir Modelo de Barramento de Ãudio" #: editor/editor_audio_buses.cpp msgid "There is no 'res://default_bus_layout.tres' file." -msgstr "O ficheiro 'res://default_bus_layout.tres' não existe." +msgstr "O Ficheiro 'res://default_bus_layout.tres' não existe." #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "Ficheiro inválido, não é um modelo válido de barramento de áudio." +msgstr "Ficheiro inválido, não é um Modelo válido de barramento de áudio." #: editor/editor_audio_buses.cpp msgid "Add Bus" @@ -994,7 +1005,7 @@ msgstr "Guardar Como" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." -msgstr "Guardar este Modelo de Barramento para um ficheiro." +msgstr "Guardar este Modelo de Barramento para um Ficheiro." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" @@ -1002,7 +1013,7 @@ msgstr "Carregar Padrão" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Carregar o Modelo padrão de Barramento." +msgstr "Carregar o Modelo padrão de barramento." #: editor/editor_autoload_settings.cpp msgid "Invalid name." @@ -1010,12 +1021,12 @@ msgstr "Nome inválido." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" -msgstr "Caracteres válidos:" +msgstr "Carateres válidos:" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." msgstr "" -"Nome inválido. Não pode coincidir com um nome de uma classe do motor, já " +"Nome inválido. Não pode coincidir com um nome de classe do motor já " "existente." #: editor/editor_autoload_settings.cpp @@ -1032,15 +1043,15 @@ msgstr "" #: editor/editor_autoload_settings.cpp msgid "Invalid Path." -msgstr "Caminho Inválido." +msgstr "Caminho inválido." #: editor/editor_autoload_settings.cpp msgid "File does not exist." -msgstr "O ficheiro não existe." +msgstr "O Ficheiro não existe." #: editor/editor_autoload_settings.cpp msgid "Not in resource path." -msgstr "Não está no caminho do recurso." +msgstr "Não está no Caminho do recurso." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1056,7 +1067,7 @@ msgstr "Renomear Carregamento Automático" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" -msgstr "" +msgstr "Alternar Globals de carregamento automático" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" @@ -1083,22 +1094,18 @@ msgstr "Caminho:" msgid "Node Name:" msgstr "Nome do Nó:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nome" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Singleton" -msgstr "Filho Único" - -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" +msgstr "Instância única" #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "Actualizando a Cena" +msgstr "Atualizando a Cena" #: editor/editor_data.cpp msgid "Storing local changes.." @@ -1106,20 +1113,29 @@ msgstr "Armazenando alterações locais.." #: editor/editor_data.cpp msgid "Updating scene.." -msgstr "Actualizando a cena.." +msgstr "Atualizando a Cena.." + +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vazio)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "Por favor, seleccione a directoria base primeiro" +msgstr "Por favor, selecione a diretoria base primeiro" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "Escolha uma Directoria" +msgstr "Escolha uma Diretoria" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "Criar Pasta/Directoria" +msgstr "Criar Pasta/Diretoria" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp @@ -1147,16 +1163,31 @@ msgstr "Empacotamento" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:\n" -msgstr "Ficheiro modelo não encontrado:\n" +msgstr "Ficheiro Modelo não encontrado:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "O ficheiro existe, sobrescrever?" +msgstr "O Ficheiro existe, sobrescrever?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Criar Pasta/Directoria" +msgstr "Selecionar pasta atual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copiar Caminho" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostrar no Gestor de Ficheiros" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nova Diretoria.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Atualizar" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1176,11 +1207,11 @@ msgstr "Abrir Ficheiro(s)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "Abrir uma Directoria" +msgstr "Abrir uma Diretoria" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "Abrir um Ficheiro ou Directoria" +msgstr "Abrir um Ficheiro ou Diretoria" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1205,24 +1236,20 @@ msgid "Go Up" msgstr "Subir" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Actualizar" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Alternar Ficheiros escondidos" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "" +msgstr "Alternar favorito" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "" +msgstr "Alternar modo" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "" +msgstr "Focar Caminho" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" @@ -1238,7 +1265,7 @@ msgstr "Ir para a pasta acima" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "Directorias e Ficheiros:" +msgstr "Diretorias e Ficheiros:" #: editor/editor_file_dialog.cpp msgid "Preview:" @@ -1255,11 +1282,11 @@ msgstr "Deve usar uma extensão válida." #: editor/editor_file_system.cpp msgid "ScanSources" -msgstr "" +msgstr "Analisar fontes" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "Importar Activos" +msgstr "Importar Ativos" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp @@ -1312,11 +1339,11 @@ msgstr "Métodos Públicos:" #: editor/editor_help.cpp msgid "GUI Theme Items" -msgstr "" +msgstr "Itens do tema GUI" #: editor/editor_help.cpp msgid "GUI Theme Items:" -msgstr "" +msgstr "Itens do tema GUI:" #: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp msgid "Signals:" @@ -1359,7 +1386,7 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Actualmente não existe descrição para esta propriedade. Por favor ajude-nos " +"Atualmente não existe descrição para esta Propriedade. Por favor ajude-nos " "[color=$color][url=$url]contribuindo com uma[/url][/color]!" #: editor/editor_help.cpp @@ -1375,8 +1402,8 @@ msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Actualmente não existe descrição para este método. Por favor ajude-nos " -"[color=$color][url=$url]contribuindo com uma[/url][/color]!" +"Atualmente não existe descrição para este Método. Por favor ajude-nos [color=" +"$color][url=$url]contribuindo com uma[/url][/color]!" #: editor/editor_help.cpp msgid "Search Text" @@ -1388,7 +1415,8 @@ msgstr "SaÃda:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Limpar" @@ -1407,11 +1435,11 @@ msgstr "Eu vejo.." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "Não é possÃvel abrir o ficheiro para escrita:" +msgstr "ImpossÃvel abrir o Ficheiro para escrita:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "Formato do ficheiro solicitado desconhecido:" +msgstr "Formato do Ficheiro solicitado desconhecido:" #: editor/editor_node.cpp msgid "Error while saving." @@ -1419,16 +1447,15 @@ msgstr "Erro ao guardar." #: editor/editor_node.cpp msgid "Can't open '%s'." -msgstr "Não foi possÃvel abrir '%s'." +msgstr "ImpossÃvel abrir '%s'." #: editor/editor_node.cpp -#, fuzzy msgid "Error while parsing '%s'." msgstr "Erro ao analisar '%s'." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "Fim de ficheiro '%s' inesperado." +msgstr "Fim de Ficheiro '%s' inesperado." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." @@ -1458,7 +1485,7 @@ msgstr "Esta operação não pode ser feita sem uma raiz da árvore." msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" -"Não foi possÃvel guardar cena. Provavelmente, as dependências (instâncias) " +"Não foi possÃvel guardar Cena. Provavelmente, as dependências (instâncias) " "não puderam ser satisfeitas." #: editor/editor_node.cpp @@ -1467,7 +1494,7 @@ msgstr "Falha ao carregar recurso." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "Não foi possÃvel carregar MeshLibrary para fundir!" +msgstr "ImpossÃvel carregar MeshLibrary para fundir!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" @@ -1475,7 +1502,7 @@ msgstr "Erro ao guardar MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "Não foi possÃvel carregar TileSet para fundir!" +msgstr "ImpossÃvel carregar TileSet para fundir!" #: editor/editor_node.cpp msgid "Error saving TileSet!" @@ -1483,15 +1510,15 @@ msgstr "Erro ao guardar TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "Erro ao tentar guardar o modelo!" +msgstr "Erro ao tentar guardar o Modelo!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "O modelo do editor padrão foi substituÃdo." +msgstr "O Modelo do Editor padrão foi substituÃdo." #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "Nome do modelo não encontrado!" +msgstr "Nome do Modelo não encontrado!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." @@ -1503,9 +1530,9 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Este recurso pertence a uma cena que foi importado, portanto, não é " +"Este recurso pertence a uma Cena que foi importado, portanto, não é " "editável.\n" -"Por favor, leia a documentação relevante sobre importação de cenas, para um " +"Por favor, leia a documentação relevante sobre importação de Cenas, para um " "melhor entendimento deste fluxo de trabalho." #: editor/editor_node.cpp @@ -1513,8 +1540,8 @@ msgid "" "This resource belongs to a scene that was instanced or inherited.\n" "Changes to it will not be kept when saving the current scene." msgstr "" -"Este recurso pertence a uma cena que foi instanciada ou herdada.\n" -"As alterações ao mesmo não serão mantidas, ao guardar a cena actual." +"Este recurso pertence a uma Cena que foi instanciada ou herdada.\n" +"As alterações ao mesmo não serão mantidas, ao guardar a Cena atual." #: editor/editor_node.cpp msgid "" @@ -1531,10 +1558,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Esta cena foi importada, portanto, as alterações à mesma não serão " +"Esta Cena foi importada, portanto, as alterações à mesma não serão " "mantidas.\n" -"Instanciando-a ou herdando-a vai permitir efectuar alterções à mesma.\n" -"Por favor, leia a documentação relevante sobre importação de cenas, para um " +"Instanciando-a ou herdando-a vai permitir efetuar alterções à mesma.\n" +"Por favor, leia a documentação relevante sobre importação de Cenas, para um " "melhor entendimento do fluxo de trabalho." #: editor/editor_node.cpp @@ -1543,20 +1570,18 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" -"Este é um objecto remoto, portanto, as alterações ao mesmo não serão " +"Este é um Objeto remoto, portanto, as alterações ao mesmo não serão " "mantidas.\n" "Por favor, leia a documentação relevante sobre depuração para um melhor " "entendimento deste fluxo de trabalho." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" msgstr "Expandir tudo" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Colapsar tudo" +msgstr "Colapsar todas as Propriedades" #: editor/editor_node.cpp msgid "Copy Params" @@ -1575,9 +1600,8 @@ msgid "Copy Resource" msgstr "Copiar Recurso" #: editor/editor_node.cpp -#, fuzzy msgid "Make Built-In" -msgstr "Tornar Embutido" +msgstr "Tornar incorporado" #: editor/editor_node.cpp msgid "Make Sub-Resources Unique" @@ -1589,7 +1613,7 @@ msgstr "Abrir em Ajuda" #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "Não existe nenhuma cena definida para executar." +msgstr "Não existe nenhuma Cena definida para executar." #: editor/editor_node.cpp msgid "" @@ -1597,8 +1621,8 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"Não foi definida nenhuma cena principal. Seleccionar uma?\n" -"Poderá alterá-la depois nas \"Definições de Projecto\", na categoria " +"Não foi definida nenhuma Cena principal. Selecionar uma?\n" +"Poderá alterá-la depois nas \"Definições do Projeto\", na categoria " "'aplicação'." #: editor/editor_node.cpp @@ -1607,8 +1631,8 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"A cena seleccionada '%s' não existe, seleccionar uma válida?\n" -"Poderá alterá-la depois em \"Configurações de Projecto\", na categoria de " +"A Cena selecionada '%s' não existe, selecionar uma válida?\n" +"Poderá alterá-la depois em \"Configurações de Projeto\", na categoria de " "'aplicação'." #: editor/editor_node.cpp @@ -1617,15 +1641,14 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"A cena seleccionada '%s' não é um ficheiro de cena, seleccionar um ficheiro " +"A Cena selecionada '%s' não é um Ficheiro de Cena, selecione um Ficheiro " "válido?\n" -"Poderá alterá-la depois em \"Configurações de Projecto\", na categoria de " +"Poderá alterá-la depois em \"Configurações de Projeto\", na categoria " "'aplicação'." #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." -msgstr "" -"A cena actual nunca foi guardada, por favor guarde-a antes de executar." +msgstr "A Cena atual nunca foi guardada, por favor guarde-a antes de executar." #: editor/editor_node.cpp msgid "Could not start subprocess!" @@ -1669,11 +1692,11 @@ msgstr "Sim" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" -msgstr "Esta cena nunca foi guardada. Guardar antes de executar?" +msgstr "Esta Cena nunca foi guardada. Guardar antes de executar?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "Esta operação não pode ser efectuada sem uma cena." +msgstr "Esta operação não pode ser efetuada sem uma Cena." #: editor/editor_node.cpp msgid "Export Mesh Library" @@ -1681,23 +1704,23 @@ msgstr "Exportar Biblioteca de Mesh" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "Esta operação não pode ser efectuada sem um nó raÃz." +msgstr "Esta operação não pode ser efetuada sem um Nó raiz." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "Exportar Tile Set" +msgstr "Exportar conjunto de tiles" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "Esta operação não pode ser efectuada sem um nó seleccionado." +msgstr "Esta operação não pode ser efetuada sem um Nó selecionado." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "A cena actual não foi guardada. Abrir na mesma?" +msgstr "A Cena atual não foi guardada. Abrir na mesma?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "Não é possÃvel recarregar uma cena que nunca foi guardada." +msgstr "ImpossÃvel recarregar uma Cena que nunca foi guardada." #: editor/editor_node.cpp msgid "Revert" @@ -1717,11 +1740,11 @@ msgstr "Sair" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "Sair do editor?" +msgstr "Sair do Editor?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "Abrir Gestor de Projecto?" +msgstr "Abrir Gestor de Projeto?" #: editor/editor_node.cpp msgid "Save & Quit" @@ -1729,20 +1752,20 @@ msgstr "Guardar & Sair" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "Guardar alterações da(s) seguinte(s) cena(s) antes de sair?" +msgstr "Guardar alterações da(s) seguinte(s) Cena(s) antes de sair?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" msgstr "" -"Guardar alterações da(s) seguinte(s) cena(s) antes de abrir o Gestor de " -"Projecto?" +"Guardar alterações da(s) seguinte(s) Cena(s) antes de abrir o Gestor de " +"Projeto?" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" -"Esta opção foi descontinuada. Situações onde a actualização tem que ser " +"Esta opção foi descontinuada. Situações onde a atualização tem que ser " "forçada, são agora consideras um defeito. Por favor, reporte." #: editor/editor_node.cpp @@ -1751,30 +1774,36 @@ msgstr "Escolha a Cena Principal" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." -msgstr "" +msgstr "Incapaz de ativar plugin em: '%s' falha de análise ou configuração." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." -msgstr "" +msgstr "Incapaz de encontrar campo Script para plugin em: 'res://addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "" +msgstr "Incapaz de carregar Script addon do Caminho: '%s'." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"Incapaz de carregar Script addon do Caminho: '%s' Tipo base não é " +"EditorPlugin." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"Incapaz de carregar Script addon do Caminho: '%s' Script não está no modo " +"ferramenta." #: editor/editor_node.cpp msgid "" "Scene '%s' was automatically imported, so it can't be modified.\n" "To make changes to it, a new inherited scene can be created." msgstr "" +"Cena '%s' foi importada automaticamente, não podendo ser alterada.\n" +"Para fazer alterações, pode ser criada uma nova Cena herdada." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -1786,6 +1815,8 @@ msgid "" "Error loading scene, it must be inside the project path. Use 'Import' to " "open the scene, then save it inside the project path." msgstr "" +"Erro ao carregar a Cena, tem de estar no Caminho do Projeto. Use 'Importar' " +"para abrir a Cena, e guarde-a dentro do Caminho do Projeto." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" @@ -1806,7 +1837,7 @@ msgstr "Apagar Modelo" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp msgid "Default" -msgstr "Por defeito" +msgstr "Padrão" #: editor/editor_node.cpp msgid "Switch Scene Tab" @@ -1814,15 +1845,15 @@ msgstr "Trocar Tab de Cena" #: editor/editor_node.cpp msgid "%d more files or folders" -msgstr "%d mais ficheiros ou directorias" +msgstr "%d mais Ficheiros ou diretorias" #: editor/editor_node.cpp msgid "%d more folders" -msgstr "%d mais directorias" +msgstr "%d mais diretorias" #: editor/editor_node.cpp msgid "%d more files" -msgstr "%d mais ficheiros" +msgstr "%d mais Ficheiros" #: editor/editor_node.cpp msgid "Dock Position" @@ -1830,16 +1861,15 @@ msgstr "Posição do Painel" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Modo livre de distrações" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "" +msgstr "Alternar modo livre de distrações." #: editor/editor_node.cpp -#, fuzzy msgid "Add a new scene." -msgstr "Adicionar novas bandas." +msgstr "Adicionar nova Cena." #: editor/editor_node.cpp msgid "Scene" @@ -1847,7 +1877,7 @@ msgstr "Cena" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "Ir para cena aberta anteriormente." +msgstr "Ir para Cena aberta anteriormente." #: editor/editor_node.cpp msgid "Next tab" @@ -1863,7 +1893,7 @@ msgstr "Filtrar Ficheiro.." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "Operações com ficheiros de cena." +msgstr "Operações com Ficheiros de Cena." #: editor/editor_node.cpp msgid "New Scene" @@ -1921,15 +1951,15 @@ msgstr "Reverter Cena" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "Ferramentas diversas atuantes no projeto ou cena." +msgstr "Ferramentas diversas atuantes no Projeto ou Cena." #: editor/editor_node.cpp msgid "Project" -msgstr "Projecto" +msgstr "Projeto" #: editor/editor_node.cpp msgid "Project Settings" -msgstr "Configurações de Projecto" +msgstr "Configurações de Projeto" #: editor/editor_node.cpp msgid "Run Script" @@ -1945,7 +1975,7 @@ msgstr "Ferramentas" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "Sair para a lista de Projectos" +msgstr "Sair para a lista de Projetos" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" @@ -1960,10 +1990,12 @@ msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." msgstr "" +"Ao exportar ou distribuir, o executável vai tentar ligar-se ao IP deste " +"computador para depuração." #: editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Pequena distribuição com Network FS" #: editor/editor_node.cpp msgid "" @@ -1974,6 +2006,11 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This " "option speeds up testing for games with a large footprint." msgstr "" +"Quando esta opção está ativa, exportação ou distribuição criará um " +"executável mÃnimo.\n" +"O Sistema de Ficheiros será fornecido ao Projeto pelo Editor sobre a rede.\n" +"Em Android, a distribuição irá usar a ligação USB para melhor performance. " +"Esta opção acelera o teste de jogos pesados." #: editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1984,6 +2021,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Com esta opção ativada, formas de colisão e Nós raycast (para 2D e 3D) " +"serão visÃveis no jogo em execução." #: editor/editor_node.cpp msgid "Visible Navigation" @@ -1994,6 +2033,7 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Com esta opção ativa, Meshes e PolÃgonos serão visÃveis no jogo em execução." #: editor/editor_node.cpp msgid "Sync Scene Changes" @@ -2006,6 +2046,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Com esta opção ativa, alterações da Cena no Editor serão replicadas no jogo " +"em execução.\n" +"Quando usada num dispositivo remoto, é mais eficiente com um Sistema de " +"Ficheiros em rede." #: editor/editor_node.cpp msgid "Sync Script Changes" @@ -2018,11 +2062,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Com esta opção ativa, qualquer Script guardado será recarregado no jogo em " +"execução.\n" +"Quando usada num dispositivo remoto, é mais eficiente com um Sistema de " +"Ficheiros em rede." #: editor/editor_node.cpp -#, fuzzy msgid "Editor" -msgstr "Editar" +msgstr "Editor" #: editor/editor_node.cpp editor/settings_config_dialog.cpp msgid "Editor Settings" @@ -2034,7 +2081,7 @@ msgstr "Apresentação do Editor" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Alternar ecrã completo" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" @@ -2070,7 +2117,7 @@ msgstr "Sobre" #: editor/editor_node.cpp msgid "Play the project." -msgstr "Executar o projecto." +msgstr "Executar o projeto." #: editor/editor_node.cpp msgid "Play" @@ -2078,7 +2125,7 @@ msgstr "Executar" #: editor/editor_node.cpp msgid "Pause the scene" -msgstr "Pausar a cena" +msgstr "Pausar a Cena" #: editor/editor_node.cpp msgid "Pause Scene" @@ -2086,7 +2133,7 @@ msgstr "Pausar a Cena" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "Para a cena." +msgstr "Para a Cena." #: editor/editor_node.cpp msgid "Stop" @@ -2094,7 +2141,7 @@ msgstr "Parar" #: editor/editor_node.cpp msgid "Play the edited scene." -msgstr "Executar a cena editada." +msgstr "Executar a Cena editada." #: editor/editor_node.cpp msgid "Play Scene" @@ -2102,7 +2149,7 @@ msgstr "Executar a Cena" #: editor/editor_node.cpp msgid "Play custom scene" -msgstr "Executar a cena customizada" +msgstr "Executar a Cena customizada" #: editor/editor_node.cpp msgid "Play Custom Scene" @@ -2110,23 +2157,23 @@ msgstr "Executar Cena Customizada" #: editor/editor_node.cpp msgid "Spins when the editor window repaints!" -msgstr "" +msgstr "Roda quando a janela do Editor atualiza!" #: editor/editor_node.cpp msgid "Update Always" -msgstr "Actualizar Sempre" +msgstr "Atualizar Sempre" #: editor/editor_node.cpp msgid "Update Changes" -msgstr "Actualizar Alterações" +msgstr "Atualizar Alterações" #: editor/editor_node.cpp msgid "Disable Update Spinner" -msgstr "" +msgstr "Desativar a roleta de atualização" #: editor/editor_node.cpp msgid "Inspector" -msgstr "Inspector" +msgstr "Inspetor" #: editor/editor_node.cpp msgid "Create a new resource in memory and edit it." @@ -2146,19 +2193,19 @@ msgstr "Guardar Como.." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "Ir para o objecto editado anteriormente no histórico." +msgstr "Ir para o Objeto editado anteriormente no histórico." #: editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "Ir para o próximo objecto editado no histórico." +msgstr "Ir para o próximo Objeto editado no histórico." #: editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "Histórico de objectos recentemente editados." +msgstr "Histórico de Objetos recentemente editados." #: editor/editor_node.cpp msgid "Object properties." -msgstr "Propriedades do objecto." +msgstr "Propriedades do Objeto." #: editor/editor_node.cpp msgid "Changes may be lost!" @@ -2187,11 +2234,11 @@ msgstr "Não Guardar" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "Importar Modelos a partir de um ficheiro ZIP" +msgstr "Importar Modelos a partir de um Ficheiro ZIP" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" -msgstr "Exportar Projecto" +msgstr "Exportar Projeto" #: editor/editor_node.cpp msgid "Export Library" @@ -2219,7 +2266,7 @@ msgstr "Carregar Erros" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "Seleccionar" +msgstr "Selecionar" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -2235,7 +2282,7 @@ msgstr "Abrir Editor de Scripts" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "Abrir Biblioteca de Activos" +msgstr "Abrir Biblioteca de Ativos" #: editor/editor_node.cpp msgid "Open the next Editor" @@ -2247,7 +2294,7 @@ msgstr "Abrir o Editor anterior" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" -msgstr "" +msgstr "A criar pré-visualizações de Mesh" #: editor/editor_plugin.cpp msgid "Thumbnail.." @@ -2259,7 +2306,7 @@ msgstr "Plugins Instalados:" #: editor/editor_plugin_settings.cpp msgid "Update" -msgstr "Actualizar" +msgstr "Atualizar" #: editor/editor_plugin_settings.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2276,11 +2323,11 @@ msgstr "Estado:" #: editor/editor_profiler.cpp msgid "Stop Profiling" -msgstr "" +msgstr "Parar análise" #: editor/editor_profiler.cpp msgid "Start Profiling" -msgstr "" +msgstr "Começar análise" #: editor/editor_profiler.cpp msgid "Measure:" @@ -2318,27 +2365,39 @@ msgstr "Auto" msgid "Frame #:" msgstr "# quadro:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Chamar" + #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "Seleccionar dispositivo da lista" +msgstr "Selecionar dispositivo da lista" #: editor/editor_run_native.cpp msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" +"Não foi encontrado um executável de exportação para esta plataforma.\n" +"Adicione um executável pré-definido no menu de exportação." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "Escreva a sua lógica no método _run()." +msgstr "Escreva a sua lógica no Método _run()." #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "Já existe uma cena editada." +msgstr "Já existe uma Cena editada." #: editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "Não foi possÃvel instanciar o script:" +msgstr "Não foi possÃvel instanciar o Script:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" @@ -2346,7 +2405,7 @@ msgstr "Esqueceu-se da palavra chave 'tool'?" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "Não foi possÃvel executar o script:" +msgstr "Não foi possÃvel executar o Script:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" @@ -2354,11 +2413,11 @@ msgstr "Esqueceu-se do médodo '_run'?" #: editor/editor_settings.cpp msgid "Default (Same as Editor)" -msgstr "Por defeito (Mesmo que o Editor)" +msgstr "Padrão (mesmo que o Editor)" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "Seleccionar Nó(s) para Importar" +msgstr "Selecionar Nó(s) para importar" #: editor/editor_sub_scene.cpp msgid "Scene Path:" @@ -2370,7 +2429,7 @@ msgstr "Importar do Nó:" #: editor/export_template_manager.cpp msgid "Re-Download" -msgstr "" +msgstr "Transferir novamente" #: editor/export_template_manager.cpp msgid "Uninstall" @@ -2390,39 +2449,39 @@ msgstr "(Em Falta)" #: editor/export_template_manager.cpp msgid "(Current)" -msgstr "(Actual)" +msgstr "(Atual)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait.." -msgstr "" +msgstr "A readquirir servidores, espere por favor..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "Remover versão de modelo '%s'?" +msgstr "Remover versão de Modelo '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "Não foi possÃvel abrir o zip de modelos." +msgstr "ImpossÃvel abrir o zip de Modelos." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates." -msgstr "Formato de version.txt inválido, dentro dos modelos." +msgstr "Formato de version.txt inválido, dentro dos Modelos." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" -"Formato de version.txt inválido, dentro dos modelos. Revisão não é um " +"Formato de version.txt inválido, dentro dos Modelos. Revisão não é um " "identificador válido." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "Não foi encontrado version.txt dentro dos modelos." +msgstr "Não foi encontrado version.txt dentro dos Modelos." #: editor/export_template_manager.cpp msgid "Error creating path for templates:\n" -msgstr "Erro ao criar o caminho para os modelos:\n" +msgstr "Erro ao criar o Caminho para os Modelos:\n" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" @@ -2438,17 +2497,17 @@ msgid "" "for official releases." msgstr "" "Não foram encontrados ligações para download para esta versão. Download " -"directo está apenas disponÃvel para os lançamentos oficiais." +"direto está apenas disponÃvel para os lançamentos oficiais." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve." -msgstr "Não foi possÃvel resolver." +msgstr "ImpossÃvel resolver." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect." -msgstr "Não foi possÃvel conectar." +msgstr "ImpossÃvel conectar." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2457,13 +2516,14 @@ msgstr "Sem resposta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Pedido falhado." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "" +msgstr "Redirecionar ciclo." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2472,7 +2532,7 @@ msgstr "Falhou:" #: editor/export_template_manager.cpp msgid "Can't write file." -msgstr "Não foi possÃvel escrever o ficheiro." +msgstr "ImpossÃvel escrever o Ficheiro." #: editor/export_template_manager.cpp msgid "Download Complete." @@ -2480,16 +2540,15 @@ msgstr "Download Completo." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "" +msgstr "Erro ao solicitar url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." -msgstr "" +msgstr "A ligar ao servidor..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Disconnected" -msgstr "Discreto" +msgstr "Desconectado" #: editor/export_template_manager.cpp msgid "Resolving" @@ -2497,7 +2556,7 @@ msgstr "A resolver" #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "Não foi possÃvel resolver" +msgstr "ImpossÃvel resolver" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2505,8 +2564,9 @@ msgid "Connecting.." msgstr "A ligar.." #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "Nºao foi possÃvel conectar" +#, fuzzy +msgid "Can't Connect" +msgstr "ImpossÃvel conectar" #: editor/export_template_manager.cpp msgid "Connected" @@ -2515,11 +2575,11 @@ msgstr "Ligado" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Requesting.." -msgstr "" +msgstr "A solicitar..." #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "A transferir" #: editor/export_template_manager.cpp msgid "Connection Error" @@ -2527,11 +2587,11 @@ msgstr "Erro de Ligação" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" -msgstr "" +msgstr "Erro SSL Handshake" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "Versão Actual:" +msgstr "Versão Atual:" #: editor/export_template_manager.cpp msgid "Installed Versions:" @@ -2542,34 +2602,34 @@ msgid "Install From File" msgstr "Instalar do Ficheiro" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove Template" -msgstr "Remover Variável" +msgstr "Remover Modelo" #: editor/export_template_manager.cpp msgid "Select template file" -msgstr "Seleccionar ficheiro de modelo" +msgstr "Selecionar Ficheiro de Modelo" #: editor/export_template_manager.cpp msgid "Export Template Manager" msgstr "Exportar Gestor de Modelos" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Templates" -msgstr "Remover Variável" +msgstr "Transferir Modelos" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "Selecionar servidor da lista: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"file_type_cache.cch não for guardada, por não se conseguir abrir para " +"leitura!" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" -msgstr "" +msgstr "'%s' não foi encontrado no Sistema de Ficheiros!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" @@ -2585,7 +2645,7 @@ msgid "" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "\n" -"Estado: A importação do ficheiro falhou. Corrija o ficheiro e importe " +"Estado: A importação do Ficheiro falhou. Corrija o Ficheiro e importe " "manualmente." #: editor/filesystem_dock.cpp @@ -2601,8 +2661,13 @@ msgid "Error moving:\n" msgstr "Erro ao mover:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Erro ao carregar:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" -msgstr "Não foi possÃvel actualizar as dependências:\n" +msgstr "Não foi possÃvel atualizar as dependências:\n" #: editor/filesystem_dock.cpp msgid "No name provided" @@ -2610,7 +2675,7 @@ msgstr "Nenhum nome foi fornecido" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "O nome contém caracteres inválidos" +msgstr "O nome contém carateres inválidos" #: editor/filesystem_dock.cpp msgid "No name provided." @@ -2618,20 +2683,29 @@ msgstr "Nome não fornecido." #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "O nome contém caracteres inválidos." +msgstr "O nome contém carateres inválidos." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "Um ficheiro ou directoria já existe com este nome." +msgstr "Um Ficheiro ou diretoria já existe com este nome." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Renaming file:" -msgstr "Alterar nome da Variável" +msgstr "Mudar nome do Ficheiro:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "Renomear directoria:" +msgstr "Renomear diretoria:" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplicado" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renomear diretoria:" #: editor/filesystem_dock.cpp msgid "Expand all" @@ -2642,10 +2716,6 @@ msgid "Collapse all" msgstr "Colapsar tudo" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copiar Caminho" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renomear.." @@ -2654,12 +2724,9 @@ msgid "Move To.." msgstr "Mover para.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nova Directoria.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostrar no Gestor de Ficheiros" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Abrir Cena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2671,36 +2738,40 @@ msgstr "Editar Dependências.." #: editor/filesystem_dock.cpp msgid "View Owners.." -msgstr "" +msgstr "Ver proprietários..." + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicado" #: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "Directoria anterior" +msgstr "Diretoria anterior" #: editor/filesystem_dock.cpp msgid "Next Directory" -msgstr "Directoria seguinte" +msgstr "Diretoria seguinte" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "Carregar novamente o Sistema de Ficheiros" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "" +msgstr "Alternar a pasta de situação como Favorita" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" -"Instancie a(s) cena(s) seleccionada(s) como filha(s) do nó seleccionado." +msgstr "Instancie a(s) Cena(s) selecionada(s) como filha(s) do Nó selecionado." #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" -"Analisando Ficheiros,\n" -"Espere, por favor.." +"A analisar Ficheiros,\n" +"Espere, por favor..." #: editor/filesystem_dock.cpp msgid "Move" @@ -2721,35 +2792,35 @@ msgstr "Remover do Grupo" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "Importar como Cena Única" +msgstr "Importar como Cena única" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "Importar com Animações Separadas" +msgstr "Importar com Animações separadas" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "Importar com Materiais Separados" +msgstr "Importar com Materiais separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "Importar com Objectos Separados" +msgstr "Importar com Objetos separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "Importar com Objectos e Materiais Separados" +msgstr "Importar com Objetos e Materiais separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "Importar com Objectos e Animações Separados" +msgstr "Importar com Objetos e Animações separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "Importar com Materiais e Animações Separados" +msgstr "Importar com Materiais e Animações separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "Importar com Objectos, Materiais e Animações Separados" +msgstr "Importar com Objetos, Materiais e Animações separados" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" @@ -2769,20 +2840,30 @@ msgid "Importing Scene.." msgstr "A importar Cena.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "A gerar AABB" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "A gerar AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "A executar Script Customizado.." #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Não se conseguiu carregar o Script de pós-importação:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Script inválido/danificado para pós-importação (verificar consola):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Erro na execução do Script de pós-importação:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." @@ -2790,11 +2871,11 @@ msgstr "A guardar.." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "Definir por defeito para '%s'" +msgstr "Definir como padrão para '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "Limpar por defeito para '%s'" +msgstr "Limpar padrão para '%s'" #: editor/import_dock.cpp msgid " Files" @@ -2814,7 +2895,7 @@ msgstr "Reimportar" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "" +msgstr "Conjunto MultiNode" #: editor/node_dock.cpp msgid "Groups" @@ -2822,7 +2903,7 @@ msgstr "Grupos" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Selecionar um Nó para editar sinais e grupos." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -2851,7 +2932,7 @@ msgstr "Remover PolÃgono e Ponto" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Create a new polygon from scratch" -msgstr "Criar um novo polÃgono de raÃz" +msgstr "Criar um novo PolÃgono de raÃz" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2860,15 +2941,18 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Editar PolÃgono existente:\n" +"LMB: Mover Ponto.\n" +"Ctrl+LMB: Separar segmento.\n" +"RMB: Apagar Ponto." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Delete points" -msgstr "Apagar Seleccionados" +msgstr "Apagar Pontos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "Alternar reprodução automática" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" @@ -2893,11 +2977,11 @@ msgstr "Remover Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" -msgstr "ERRO: Nome de animação inválido!" +msgstr "ERRO: Nome de Animação inválido!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Animation name already exists!" -msgstr "ERRO: O nome da animação já existe!" +msgstr "ERRO: O nome da Animação já existe!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -2911,11 +2995,11 @@ msgstr "Adicionar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "" +msgstr "Misturar seguinte alterado" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "" +msgstr "Mudar tempo de mistura" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" @@ -2927,11 +3011,11 @@ msgstr "Duplicar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to copy!" -msgstr "ERRO: Sem animação para copiar!" +msgstr "ERRO: Sem Animação para copiar!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation resource on clipboard!" -msgstr "" +msgstr "ERRO: nenhuma Animação na Ãrea de Transferência!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" @@ -2943,553 +3027,574 @@ msgstr "Colar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to edit!" -msgstr "ERRO: Sem animação para editar!" +msgstr "ERRO: Sem Animação para editar!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" msgstr "" +"Reproduzir a Animação selecionada para trás a partir da presente posição. (A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Reproduzir a Animação selecionada para trás a partir do fim. (Shift+A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "Parar reprodução da Animação. (S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Reproduzir a Animação selecionada a partir do inÃcio. (Shift+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Reproduzir a Animação selecionada a partir da presente posição. (D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "" +msgstr "Posição da Animação (em segundos)." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "Escalar globalmente a reprodução da Animação para o Nó." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "" +msgstr "Criar uma nova Animação no reprodutor." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." -msgstr "" +msgstr "Abrir Animação do disco." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "" +msgstr "Abrir uma Animação do disco." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "" +msgstr "Guardar a Animação atual" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "Mostrar lista de Animações no reprodutor." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "" +msgstr "Reprodução automática no carregamento" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" -msgstr "" +msgstr "Editar tempos de mistura do alvo" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" -msgstr "" +msgstr "Ferramentas de Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Copy Animation" -msgstr "" +msgstr "Copiar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Ativar Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Descrição" +msgstr "Direções" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "Passado" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Futuro" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profundidade" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 passo" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Apenas diferenças" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Forçar modulação branca" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Incluir ferramentas (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "" +msgstr "Criar nova Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "" +msgstr "Nome da Animação:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Error!" -msgstr "" +msgstr "Erro!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Tempos de mistura:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Próximo (auto-fila):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Tempos de mistura de Animação cruzada" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "Animação" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "New name:" -msgstr "" +msgstr "Novo nome:" #: editor/plugins/animation_tree_editor_plugin.cpp -#, fuzzy msgid "Edit Filters" -msgstr "Editar Variável:" +msgstr "Editar filtros" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "" +msgstr "Escala:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade In (s):" -msgstr "" +msgstr "Aparecer (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade Out (s):" -msgstr "" +msgstr "Desvanecer (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend" -msgstr "" +msgstr "Misturar" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "Combinar" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "ReinÃcio automático:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" -msgstr "" +msgstr "ReinÃcio (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "" +msgstr "ReinÃcio aleatório (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" -msgstr "" +msgstr "Partida!" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Amount:" -msgstr "" +msgstr "Valor:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend:" -msgstr "" +msgstr "Mistura:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" -msgstr "" +msgstr "Mistura 0:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 1:" -msgstr "" +msgstr "Mistura 1:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "Tempo X-Fade (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" -msgstr "" +msgstr "Atual:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "Adicionar entrada" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Clear Auto-Advance" -msgstr "" +msgstr "Limpar avanço automático" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Set Auto-Advance" -msgstr "" +msgstr "Definir avanço automático" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "Apagar entrada" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is valid." -msgstr "" +msgstr "Ãrvore de Animação válida." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is invalid." -msgstr "" +msgstr "Ãrvore de Animação inválida." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation Node" -msgstr "" +msgstr "Nó Animation" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" -msgstr "" +msgstr "Nó OneShot" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "Nó Mix" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" -msgstr "" +msgstr "Nó Blend2" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend3 Node" -msgstr "" +msgstr "Nó Blend3" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend4 Node" -msgstr "" +msgstr "Nó Blend4" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeScale Node" -msgstr "" +msgstr "Nó TimeScale" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeSeek Node" -msgstr "" +msgstr "Nó TimeSeek" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "Nó Transition" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." -msgstr "" +msgstr "Importar Animações..." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "Editar filtros de Nó" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." -msgstr "" +msgstr "Filtros..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Livre" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" -msgstr "" +msgstr "Conteúdos:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" -msgstr "" +msgstr "Ver Ficheiros" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "ImpossÃvel resolver hostname:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "Erro de ligação, tente novamente." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "" +msgstr "ImpossÃvel ligar ao host:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "Sem resposta do host:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "" +msgstr "Falha na solicitação, código de retorno:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" -msgstr "" +msgstr "Falha na solicitação, demasiados redirecionamentos" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "Mau hash na transferência, assume-se que o Ficheiro foi manipulado." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "Esperado:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "Obtido:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "Verificação hash sha256 falhada" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "Erro na transferência de Ativo:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" -msgstr "" +msgstr "Em busca:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving.." -msgstr "" +msgstr "A resolver..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" -msgstr "" +msgstr "Erro na criação da solicitação" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "Inativo" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "Repetir" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "" +msgstr "Erro na transferência" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "A transferência deste Ativo já está em andamento!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "first" -msgstr "" +msgstr "primeiro" #: editor/plugins/asset_library_editor_plugin.cpp msgid "prev" -msgstr "" +msgstr "anterior" #: editor/plugins/asset_library_editor_plugin.cpp msgid "next" -msgstr "" +msgstr "seguinte" #: editor/plugins/asset_library_editor_plugin.cpp msgid "last" -msgstr "" +msgstr "último" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" -msgstr "" +msgstr "Todos" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Plugins" -msgstr "" +msgstr "Plugins" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Sort:" -msgstr "" +msgstr "Ordenar:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Reverse" -msgstr "" +msgstr "Inverter" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Category:" -msgstr "" +msgstr "Categoria:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" -msgstr "" +msgstr "Site:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Support.." -msgstr "" +msgstr "Suporte..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Oficial" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Testing" -msgstr "" +msgstr "A testar" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" +msgstr "Ficheiro de Ativos ZIP" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Mudar raio da luz" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" -msgstr "" +msgstr "Previsualização" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "" +msgstr "Configurar Ajuste" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset:" -msgstr "" +msgstr "Compensação da grelha:" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step:" -msgstr "" +msgstr "Passo da grelha:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "" +msgstr "Compensação da rotação:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "" +msgstr "Passo da rotação:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Pivot" -msgstr "" +msgstr "Mover Eixo" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "Mover ação" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "Mover guia vertical" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new vertical guide" -msgstr "" +msgstr "Criar nova guia vertical" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove vertical guide" -msgstr "Remover Variável" +msgstr "Remover guia vertical" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move horizontal guide" -msgstr "" +msgstr "Mover guia horizontal" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal guide" -msgstr "" +msgstr "Criar nova guia horizontal" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove horizontal guide" -msgstr "Remover Variável" +msgstr "Remover guia horizontal" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Criar guias horizontal e vertical" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" -msgstr "" +msgstr "Editar corrente IK" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit CanvasItem" -msgstr "" +msgstr "Editar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" -msgstr "" +msgstr "Só âncoras" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "" +msgstr "Mudar âncoras e margens" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "" +msgstr "Mudar âncoras" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "Colar Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" -msgstr "" +msgstr "Modo seleção" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" -msgstr "" +msgstr "Arrastar: Rotação" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move" -msgstr "" +msgstr "Alt+Arrastar: Mover" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." msgstr "" +"Tecla 'v' para mudar Eixo, 'Shift+v' para arrastar Eixo (durante movimento)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+RMB: seleção da lista de profundidade" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" -msgstr "" +msgstr "Modo mover" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate Mode" -msgstr "" +msgstr "Modo rodar" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -3497,892 +3602,900 @@ msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" +"Mostra lista de todos os Objetos na posição clicada\n" +"(o mesmo que Alt+RMB no modo seleção)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "" +msgstr "Clique para mudar o Eixo de rotação do Objeto." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" -msgstr "" +msgstr "Modo deslocamento" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Toggles snapping" -msgstr "Accionar Breakpoint" +msgstr "Alternar Ajuste" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "Usar Ajuste" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping options" -msgstr "" +msgstr "Opções de Ajuste" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "" +msgstr "Ajustar à grelha" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "" +msgstr "Usar Ajuste na rotação" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap..." -msgstr "" +msgstr "Configurar Ajuste..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "Ajuste relativo" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" -msgstr "" +msgstr "Usar Ajuste de pixel" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Smart snapping" -msgstr "" +msgstr "Ajuste inteligente" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "" +msgstr "Ajustar ao parente" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "Ajustar ao Nó âncora" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "" +msgstr "Ajustar aos lados do Nó" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "Ajustar a outros Nós" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" -msgstr "" +msgstr "Ajustar à s guias" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock the selected object in place (can't be moved)." -msgstr "" +msgstr "Bloquear a posição do Objeto selecionado (não pode ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "" +msgstr "Desbloquear o Objeto selecionado (pode ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." -msgstr "" +msgstr "Assegura que os Objetos-filho não são selecionáveis." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." -msgstr "" +msgstr "Restaura a capacidade de selecionar os Objetos-filho." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Bones" -msgstr "" +msgstr "Criar ossos" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Bones" -msgstr "" +msgstr "Apagar ossos" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "" +msgstr "Mostrar ossos" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "" +msgstr "Criar corrente IK" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" -msgstr "" +msgstr "Apagar corrente IK" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "Ver" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "" +msgstr "Mostrar grelha" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show helpers" -msgstr "" +msgstr "Mostrar ajudantes" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show rulers" -msgstr "" +msgstr "Mostrar réguas" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show guides" -msgstr "" +msgstr "Mostrar guias" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "" +msgstr "Centrar seleção" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" -msgstr "" +msgstr "Emoldurar seleção" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" -msgstr "" +msgstr "Esquema" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Keys" -msgstr "" +msgstr "Inserir chaves" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "Inserir chave" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "" +msgstr "Inserir chave (faixas existentes)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" -msgstr "" +msgstr "Copiar pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "" +msgstr "Limpar pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag pivot from mouse position" -msgstr "" +msgstr "Arrastar Eixo da posição do rato" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Set pivot at mouse position" -msgstr "Remover Sinal" +msgstr "Definir Eixo na posição do rato" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "Multiplicar passo da grelha por 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "Dividir passo da grelha por 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" -msgstr "" +msgstr "Adicionar %s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Adding %s..." -msgstr "" +msgstr "A adicionar %s..." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Create Node" -msgstr "" +msgstr "Criar Nó" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Error instancing scene from %s" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" +msgstr "Erro a instanciar Cena de %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "Esta operação requer um único Nó selecionado." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "" +msgstr "Mudar tipo padrão" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" +"Arrastar & largar + Shift : Adiciona Nó como irmão\n" +"Arrastar & largar + Alt : Altera o tipo de Nó" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "Criar Poly3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" -msgstr "" +msgstr "Definir handle" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "Remover item %d?" #: editor/plugins/cube_grid_theme_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "Adicionar item" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "Remover item selecionado" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "Importar da Cena" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "Atualizar da Cena" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat0" -msgstr "" +msgstr "Flat0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat1" -msgstr "" +msgstr "Flat1" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease in" -msgstr "" +msgstr "Ease in" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "Ease out" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "Smoothstep" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "" +msgstr "Modificar Ponto da curva" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" -msgstr "" +msgstr "Modificar tangente da curva" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Curve Preset" -msgstr "" +msgstr "Carregar curva predefinida" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Add point" -msgstr "Adicionar Sinal" +msgstr "Adicionar Ponto" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove point" -msgstr "Remover Sinal" +msgstr "Remover Ponto" #: editor/plugins/curve_editor_plugin.cpp msgid "Left linear" -msgstr "" +msgstr "Linear esquerda" #: editor/plugins/curve_editor_plugin.cpp msgid "Right linear" -msgstr "" +msgstr "Linear direita" #: editor/plugins/curve_editor_plugin.cpp msgid "Load preset" -msgstr "" +msgstr "Carregar predefinição" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Curve Point" -msgstr "Remover Sinal" +msgstr "Remover Ponto da curva" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" -msgstr "" +msgstr "Alternar tangente linear da curva" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Pressione Shift para editar tangentes individualmente" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "Cozinhar a sonda GI" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" -msgstr "" +msgstr "Adicionar/remover Ponto da rampa de cores" #: editor/plugins/gradient_editor_plugin.cpp #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Color Ramp" -msgstr "" +msgstr "Modificar rampa de cores" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "Item %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "Itens" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "" +msgstr "Editor da lista de itens" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "" "No OccluderPolygon2D resource on this node.\n" "Create and assign one?" msgstr "" +"Não há recurso OccluderPolygon2D neste Nó.\n" +"Criar um e associar?" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "" +msgstr "Criar PolÃgono oclusor" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "" +msgstr "Criar um novo PolÃgono a partir do zero." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit existing polygon:" -msgstr "" +msgstr "Editar PolÃgono existente:" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "" +msgstr "LMB: Mover Ponto." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "Ctrl+LMB: Separar segmento." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." -msgstr "" +msgstr "RMB: Apagar Ponto." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" -msgstr "" +msgstr "A Mesh está vazia!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" -msgstr "" +msgstr "Criar corpo estático Trimesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Convex Body" -msgstr "" +msgstr "Criar corpo estático convexo" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "Não funciona na raiz da Cena!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" -msgstr "" +msgstr "Criar forma Trimesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Shape" -msgstr "" +msgstr "Criar forma convexa" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" +msgstr "Criar Mesh de navegação" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "MeshInstance lacks a Mesh!" +msgid "UV Unwrap failed, mesh may not be manifold?" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Mesh has not surface to create outlines from!" +msgid "No mesh to debug." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Could not create outline!" +msgid "Model has no UV in this layer" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "Falta uma Mesh a MeshInstance!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh has not surface to create outlines from!" +msgstr "A Mesh não tem superfÃcie para criar contornos!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "Contorno não pode ser criado!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "" +msgstr "Criar contorno" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "Mesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Static Body" -msgstr "" +msgstr "Criar corpo estático Trimesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Static Body" -msgstr "" +msgstr "Criar corpo estático convexo" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Collision Sibling" -msgstr "" +msgstr "Criar irmão de colisão Trimesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Collision Sibling" -msgstr "" +msgstr "Criar irmão de colisão convexa" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh.." +msgstr "Criar Mesh contorno..." + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Ver" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Ver" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" -msgstr "" +msgstr "Criar Mesh contorno" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Outline Size:" -msgstr "" +msgstr "Tamanho do contorno:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." -msgstr "" +msgstr "Não há fonte de Mesh (nem MultiMesh no Nó)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and MultiMesh contains no Mesh)." -msgstr "" +msgstr "Não há fonte de Mesh (e MultiMesh não contêm Mesh)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (invalid path)." -msgstr "" +msgstr "A fonte de Mesh é inválida (Caminho inválido)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (not a MeshInstance)." -msgstr "" +msgstr "A fonte de Mesh é inválida (não é MeshInstance)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (contains no Mesh resource)." -msgstr "" +msgstr "A fonte de Mesh é inválida (não contêm um recurso Mesh)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "No surface source specified." -msgstr "" +msgstr "Fonte de superfÃcie não especificada." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (invalid path)." -msgstr "" +msgstr "A fonte de superfÃcie é inválida (Caminho inválido)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no geometry)." -msgstr "" +msgstr "A fonte de superfÃcie é inválida (sem geometria)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no faces)." -msgstr "" +msgstr "A fonte de superfÃcie é inválida (sem faces)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Parent has no solid faces to populate." -msgstr "" +msgstr "O parente não tem faces sólidas para povoar." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Couldn't map area." -msgstr "" +msgstr "Ãrea não pode ser mapeada." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Source Mesh:" -msgstr "" +msgstr "Selecione uma fonte Mesh:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Target Surface:" -msgstr "" +msgstr "Selecione uma superfÃcie alvo:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate Surface" -msgstr "" +msgstr "Povoar superfÃcie" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate MultiMesh" -msgstr "" +msgstr "Povoar MultiMesh" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Target Surface:" -msgstr "" +msgstr "SuperfÃcie alvo:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Source Mesh:" -msgstr "" +msgstr "Mesh fonte:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "X-Axis" -msgstr "" +msgstr "Eixo X" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Y-Axis" -msgstr "" +msgstr "Eixo Y" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Z-Axis" -msgstr "" +msgstr "Eixo Z" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh Up Axis:" -msgstr "" +msgstr "Mesh Eixo cima:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "" +msgstr "Rotação aleatória:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" -msgstr "" +msgstr "Inclinação aleatória:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "" +msgstr "Escala aleatória:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" -msgstr "" +msgstr "Povoar" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Bake!" -msgstr "" +msgstr "Cozinhar!" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Bake the navigation mesh.\n" -msgstr "" +msgstr "Cozinhar a Mesh de navegação.\n" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." -msgstr "" +msgstr "Limpar a Mesh de navegação." #: editor/plugins/navigation_mesh_generator.cpp msgid "Setting up Configuration..." -msgstr "" +msgstr "A ajustar configuração..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Calculating grid size..." -msgstr "" +msgstr "A calcular tamanho da grelha..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating heightfield..." -msgstr "" +msgstr "A criar heightfield..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." -msgstr "" +msgstr "A marcar triângulos caminháveis..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." -msgstr "" +msgstr "A construir heightfield compacto..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Eroding walkable area..." -msgstr "" +msgstr "A corroer a Ãrea caminhável..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Partitioning..." -msgstr "" +msgstr "A segmentar..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "A criar contornos..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating polymesh..." -msgstr "" +msgstr "A criar polymesh..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." -msgstr "" +msgstr "A converter para Mesh de navegação nativa..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "Configuração do gerador da Mesh de navegação:" #: editor/plugins/navigation_mesh_generator.cpp msgid "Parsing Geometry..." -msgstr "" +msgstr "A analisar geometria..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "Feito!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" +msgstr "Criar PolÃgono de navegação" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" -msgstr "" +msgstr "A gerar AABB" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" -msgstr "" +msgstr "Só pode definir um Ponto num Material ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" -msgstr "" +msgstr "Erro ao carregar imagem:" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "" +msgstr "Sem pixeis com transparência > 128 na imagem..." #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" -msgstr "" +msgstr "Gerar Visibilidade do Rect" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" -msgstr "" +msgstr "Carregar máscara de emissão" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Limpar máscara de emissão" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" -msgstr "" +msgstr "PartÃculas" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" -msgstr "" +msgstr "Contagem de Pontos gerados:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" -msgstr "" +msgstr "Tempo de geração (s):" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" -msgstr "" +msgstr "Máscara de emissão" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Capture from Pixel" -msgstr "" +msgstr "Capturar a partir do pixel" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Colors" -msgstr "" +msgstr "Cores de emissão" #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry." -msgstr "" +msgstr "O Nó não contêm geometria." #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry (faces)." -msgstr "" +msgstr "O Nó não contêm geometria (faces)." #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "" +msgstr "É necessário um Material processador do tipo 'ParticlesMaterial'." #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" -msgstr "" +msgstr "As faces não contêm Ãrea!" #: editor/plugins/particles_editor_plugin.cpp msgid "No faces!" -msgstr "" +msgstr "Sem faces!" #: editor/plugins/particles_editor_plugin.cpp msgid "Generate AABB" -msgstr "" +msgstr "Gerar AABB" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emission Points From Mesh" -msgstr "" +msgstr "Criar Pontos de emissão a partir da Mesh" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emission Points From Node" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" +msgstr "Criar Pontos de emissão a partir do Nó" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" -msgstr "" +msgstr "Criar emissor" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Points:" -msgstr "" +msgstr "Pontos de emissão:" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points" -msgstr "" +msgstr "Pontos de superfÃcie" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" -msgstr "" +msgstr "Pontos de superfÃcie+Normal (dirigida)" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" -msgstr "" +msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " -msgstr "" +msgstr "Fonte de emissão: " #: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" -msgstr "" +msgstr "Gerar visibilidade AABB" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" -msgstr "" +msgstr "Remover Ponto da curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" -msgstr "" +msgstr "Remover Out-Control da curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove In-Control from Curve" -msgstr "" +msgstr "Remover In-Control da curva" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point to Curve" -msgstr "" +msgstr "Adicionar Ponto à curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" -msgstr "" +msgstr "Mover Ponto na curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" -msgstr "" +msgstr "Mover In-Control na curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Out-Control in Curve" -msgstr "" +msgstr "Mover Out-Control na curva" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Select Points" -msgstr "" +msgstr "Selecionar Pontos" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Shift+Drag: Select Control Points" -msgstr "" +msgstr "Shift+Arrastar: Selecionar Pontos de controlo" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Click: Add Point" -msgstr "" +msgstr "Click: Adicionar Ponto" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Right Click: Delete Point" -msgstr "" +msgstr "Click direito: Apagar Ponto" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "Selecionar Pontos de controlo (Shift+Arrastar)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point (in empty space)" -msgstr "" +msgstr "Adicionar Ponto (num espaço vazio)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "Separar segmento (na curva)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Delete Point" -msgstr "" +msgstr "Apagar Ponto" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Close Curve" -msgstr "" +msgstr "Fechar curva" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "Ponto #" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve Point Position" -msgstr "Remover Sinal" +msgstr "Definir posição do Ponto da curva" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve In Position" -msgstr "Remover Sinal" +msgstr "Definir curva na posição" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve Out Position" -msgstr "Remover Sinal" +msgstr "Definir posição Curve Out" #: editor/plugins/path_editor_plugin.cpp msgid "Split Path" -msgstr "" +msgstr "Separar Caminho" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Path Point" -msgstr "" +msgstr "Remover Ponto de Caminho" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Remove Out-Control Point" -msgstr "Remover Função" +msgstr "Remover Ponto Out-Control" #: editor/plugins/path_editor_plugin.cpp msgid "Remove In-Control Point" -msgstr "" +msgstr "Remover Ponto In-Control" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" -msgstr "" +msgstr "Criar mapa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" -msgstr "" +msgstr "Transformar mapa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" -msgstr "" +msgstr "Editor UV de PolÃgono 2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" -msgstr "" +msgstr "Mover Ponto" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" -msgstr "" +msgstr "Ctrl: Rodar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" -msgstr "" +msgstr "Shift: Mover tudo" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" -msgstr "" +msgstr "Shift+Ctrl: Escalar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Polygon" -msgstr "" +msgstr "Mover PolÃgono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Rotate Polygon" -msgstr "" +msgstr "Rodar PolÃgono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Scale Polygon" -msgstr "" +msgstr "Escalar PolÃgono" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4394,746 +4507,758 @@ msgstr "Editar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" -msgstr "" +msgstr "PolÃgono->UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "UV->Polygon" -msgstr "" +msgstr "UV->PolÃgono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" -msgstr "" +msgstr "Limpar UV" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap" -msgstr "" +msgstr "Ajustar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Enable Snap" -msgstr "" +msgstr "Ativar Ajuste" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid" -msgstr "" +msgstr "Grelha" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "" +msgstr "ERRO: Não foi possÃvel carregar recurso!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" -msgstr "" +msgstr "Adicionar recurso" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Rename Resource" -msgstr "" +msgstr "Renomear recurso" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Resource" -msgstr "" +msgstr "Apagar recurso" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" -msgstr "" +msgstr "Ãrea de transferência de recursos vazia!" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Load Resource" -msgstr "" +msgstr "Carregar recurso" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Paste" -msgstr "" +msgstr "Colar" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" -msgstr "" +msgstr "Limpar Ficheiros recentes" #: editor/plugins/script_editor_plugin.cpp msgid "" "Close and save changes?\n" "\"" msgstr "" +"Fechar e guardar alterações?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "" +msgstr "Erro ao guardar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" -msgstr "" +msgstr "Erro ao guardar" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme" -msgstr "" +msgstr "Erro ao importar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing" -msgstr "" +msgstr "Erro ao importar" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "" +msgstr "Importar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As.." -msgstr "" +msgstr "Guardar tema como..." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr "" +msgstr " Referência de classe" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" -msgstr "" +msgstr "Ordenar" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" -msgstr "" +msgstr "Mover para cima" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" -msgstr "" +msgstr "Mover para baixo" #: editor/plugins/script_editor_plugin.cpp msgid "Next script" -msgstr "" +msgstr "Próximo Script" #: editor/plugins/script_editor_plugin.cpp msgid "Previous script" -msgstr "" +msgstr "Script anterior" #: editor/plugins/script_editor_plugin.cpp msgid "File" -msgstr "" +msgstr "Ficheiro" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" -msgstr "" +msgstr "Novo" #: editor/plugins/script_editor_plugin.cpp msgid "Save All" -msgstr "" +msgstr "Guardar tudo" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "" +msgstr "Script de Recarregamento" + +#: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copiar Caminho" #: editor/plugins/script_editor_plugin.cpp msgid "History Prev" -msgstr "" +msgstr "Histórico anterior" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "" +msgstr "Histórico seguinte" #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" -msgstr "" +msgstr "Recarregar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme" -msgstr "" +msgstr "Guardar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As" -msgstr "" +msgstr "Guardar tema como" #: editor/plugins/script_editor_plugin.cpp msgid "Close Docs" -msgstr "" +msgstr "Fechar documentos" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Close All" -msgstr "Fechar" +msgstr "Fechar tudo" #: editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "" +msgstr "Fechar outros separadores" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" -msgstr "" +msgstr "Executar" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" -msgstr "" +msgstr "Alternar painel de Scripts" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find.." -msgstr "" +msgstr "Encontrar..." #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Next" -msgstr "" +msgstr "Encontrar seguinte" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" -msgstr "" +msgstr "Passar sobre" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" -msgstr "" +msgstr "Passar dentro" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Break" -msgstr "" +msgstr "Interrupção" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp #: editor/script_editor_debugger.cpp msgid "Continue" -msgstr "" +msgstr "Continuar" #: editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" -msgstr "" +msgstr "Manter depurador aberto" #: editor/plugins/script_editor_plugin.cpp msgid "Debug with external editor" -msgstr "" +msgstr "Depurar com Editor externo" #: editor/plugins/script_editor_plugin.cpp msgid "Open Godot online documentation" -msgstr "" +msgstr "Abrir documentação online do Godot" #: editor/plugins/script_editor_plugin.cpp msgid "Search the class hierarchy." -msgstr "" +msgstr "Procurar na hierarquia de classe." #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "" +msgstr "Procurar na documentação de referência." #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." -msgstr "" +msgstr "Ir para o documento previamente editado." #: editor/plugins/script_editor_plugin.cpp msgid "Go to next edited document." -msgstr "" +msgstr "Ir para o próximo documento editado." #: editor/plugins/script_editor_plugin.cpp msgid "Discard" -msgstr "" +msgstr "Descartar" #: editor/plugins/script_editor_plugin.cpp msgid "Create Script" -msgstr "" +msgstr "Criar Script" #: editor/plugins/script_editor_plugin.cpp msgid "" "The following files are newer on disk.\n" "What action should be taken?:" msgstr "" +"Os seguintes Ficheiros são mais recentes no disco.\n" +"Que ação deve ser tomada?:" #: editor/plugins/script_editor_plugin.cpp msgid "Reload" -msgstr "" +msgstr "Recarregar" #: editor/plugins/script_editor_plugin.cpp msgid "Resave" -msgstr "" +msgstr "Reguardar" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Debugger" -msgstr "" +msgstr "Depurador" #: editor/plugins/script_editor_plugin.cpp msgid "" "Built-in scripts can only be edited when the scene they belong to is loaded" msgstr "" +"Scripts incorporados só podem ser editados quando a Cena a que pertencem é " +"carregada" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." -msgstr "" +msgstr "Só podem ser largados recursos do Sistema de Ficheiros ." #: editor/plugins/script_text_editor.cpp msgid "Pick Color" -msgstr "" +msgstr "Escolher cor" #: editor/plugins/script_text_editor.cpp msgid "Convert Case" -msgstr "" +msgstr "Converter maiúsculas/minúsculas" #: editor/plugins/script_text_editor.cpp msgid "Uppercase" -msgstr "" +msgstr "Maiúsculas" #: editor/plugins/script_text_editor.cpp msgid "Lowercase" -msgstr "" +msgstr "Minúsculas" #: editor/plugins/script_text_editor.cpp msgid "Capitalize" -msgstr "" +msgstr "Capitalizar" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" -msgstr "" +msgstr "Cortar" #: editor/plugins/script_text_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "" +msgstr "Copiar" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Select All" -msgstr "" +msgstr "Selecionar tudo" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Delete Line" -msgstr "Apagar Seleccionados" +msgstr "Apagar linha" #: editor/plugins/script_text_editor.cpp msgid "Indent Left" -msgstr "" +msgstr "Indentar à esquerda" #: editor/plugins/script_text_editor.cpp msgid "Indent Right" -msgstr "" +msgstr "Indentar à direita" #: editor/plugins/script_text_editor.cpp msgid "Toggle Comment" -msgstr "" +msgstr "Alternar comentário" #: editor/plugins/script_text_editor.cpp msgid "Clone Down" -msgstr "" +msgstr "Clonar abaixo" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Apagar Seleccionados" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" +msgid "Fold/Unfold Line" +msgstr "Mostrar linha" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "" +msgstr "Esconder todas as linhas" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" -msgstr "" +msgstr "Mostrar todas as linhas" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "" +msgstr "Completar sÃmbolo" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" -msgstr "" +msgstr "Apagar espaços nos limites" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Spaces" -msgstr "" +msgstr "Converter Indentação em espaços" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Tabs" -msgstr "" +msgstr "Converter Indentação em tabulação" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" -msgstr "" +msgstr "Indentação automática" #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Toggle Breakpoint" -msgstr "Accionar Breakpoint" +msgstr "Acionar Breakpoint" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "" +msgstr "Remover todos os Pontos de paragem" #: editor/plugins/script_text_editor.cpp msgid "Goto Next Breakpoint" -msgstr "" +msgstr "Ir para próximo Ponto de paragem" #: editor/plugins/script_text_editor.cpp msgid "Goto Previous Breakpoint" -msgstr "" +msgstr "Ir para Ponto de paragem anterior" #: editor/plugins/script_text_editor.cpp msgid "Convert To Uppercase" -msgstr "" +msgstr "Converter em maiúsculas" #: editor/plugins/script_text_editor.cpp msgid "Convert To Lowercase" -msgstr "" +msgstr "Converter em minúsculas" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" -msgstr "" +msgstr "Encontrar anterior" #: editor/plugins/script_text_editor.cpp msgid "Replace.." -msgstr "" +msgstr "Substituir..." #: editor/plugins/script_text_editor.cpp msgid "Goto Function.." -msgstr "" +msgstr "Ir para Função..." #: editor/plugins/script_text_editor.cpp msgid "Goto Line.." -msgstr "" +msgstr "Ir para linha..." #: editor/plugins/script_text_editor.cpp msgid "Contextual Help" -msgstr "" +msgstr "Ajuda contextual" #: editor/plugins/shader_editor_plugin.cpp msgid "Shader" -msgstr "" +msgstr "Shader" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Constant" -msgstr "" +msgstr "Mudar constante escalar" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Constant" -msgstr "" +msgstr "Mudar constante vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Constant" -msgstr "" +msgstr "Mudar constante RGB" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Operator" -msgstr "" +msgstr "Mudar operador escalar" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Operator" -msgstr "" +msgstr "Mudar operador vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Scalar Operator" -msgstr "" +msgstr "Mudar operador escalar/vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Operator" -msgstr "" +msgstr "Mudar operador RGB" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Toggle Rot Only" -msgstr "" +msgstr "Alternar só rotação" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Function" -msgstr "" +msgstr "Mudar Função escalar" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Function" -msgstr "" +msgstr "Mudar Função vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Uniform" -msgstr "" +msgstr "Mudar uniforme escalar" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Uniform" -msgstr "" +msgstr "Mudar uniforme vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Uniform" -msgstr "" +msgstr "Mudar uniforme RGB" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Default Value" -msgstr "" +msgstr "Mudar valor padrão" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change XForm Uniform" -msgstr "" +msgstr "Mudar uniforme XForm" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Texture Uniform" -msgstr "" +msgstr "Mudar uniforme textura" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Cubemap Uniform" -msgstr "" +msgstr "Mudar uniforme Cubemap" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Comment" -msgstr "" +msgstr "Mudar comentário" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add/Remove to Color Ramp" -msgstr "" +msgstr "Adicionar/remover da rampa de cores" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add/Remove to Curve Map" -msgstr "" +msgstr "Adicionar/remover do mapa de curva" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Curve Map" -msgstr "" +msgstr "Modificar mapa de curva" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Input Name" -msgstr "" +msgstr "Mudar nome de entrada" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Connect Graph Nodes" -msgstr "" +msgstr "Conectar Nós do gráfico" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Disconnect Graph Nodes" -msgstr "" +msgstr "Desconectar Nós do gráfico" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Remove Shader Graph Node" -msgstr "" +msgstr "Remover Nó Shader" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Move Shader Graph Node" -msgstr "" +msgstr "Mover Nó Shader" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Duplicate Graph Node(s)" -msgstr "" +msgstr "Duplicar Nó(s)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Delete Shader Graph Node(s)" -msgstr "" +msgstr "Apagar Nó(s) Shader" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Cyclic Connection Link" -msgstr "" +msgstr "Erro: conexão cÃclica" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Missing Input Connections" -msgstr "" +msgstr "Erro: Faltam conexões de entrada" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add Shader Graph Node" -msgstr "" +msgstr "Adicionar Nó Shader" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orthogonal" -msgstr "" +msgstr "Ortogonal" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective" -msgstr "" +msgstr "Perspetiva" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Aborted." -msgstr "" +msgstr "Transformação abortada." #: editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." -msgstr "" +msgstr "Transformação no Eixo X." #: editor/plugins/spatial_editor_plugin.cpp msgid "Y-Axis Transform." -msgstr "" +msgstr "Transformação no Eixo Y." #: editor/plugins/spatial_editor_plugin.cpp msgid "Z-Axis Transform." -msgstr "" +msgstr "Transformação no Eixo Z." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Plane Transform." -msgstr "" +msgstr "Ver transformação do plano." #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " -msgstr "" +msgstr "A escalar: " #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translating: " -msgstr "Transições" +msgstr "A traduzir: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." -msgstr "" +msgstr "A rodar %s graus." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." -msgstr "" +msgstr "Vista de fundo." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom" -msgstr "" +msgstr "Fundo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." -msgstr "" +msgstr "Vista de topo." #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View." -msgstr "" +msgstr "Vista de trás." #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear" -msgstr "" +msgstr "Trás" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View." -msgstr "" +msgstr "Vista de frente." #: editor/plugins/spatial_editor_plugin.cpp msgid "Front" -msgstr "" +msgstr "Frente" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View." -msgstr "" +msgstr "Vista de esquerda." #: editor/plugins/spatial_editor_plugin.cpp msgid "Left" -msgstr "" +msgstr "Esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View." -msgstr "" +msgstr "Vista de direita." #: editor/plugins/spatial_editor_plugin.cpp msgid "Right" -msgstr "" +msgstr "Direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Keying is disabled (no key inserted)." -msgstr "" +msgstr "Edição desativada (nenhum Ponto inserido)." #: editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." -msgstr "" +msgstr "Ponto de Animação inserido." #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" -msgstr "" +msgstr "Objetos desenhados" #: editor/plugins/spatial_editor_plugin.cpp msgid "Material Changes" -msgstr "" +msgstr "Mudanças de Material" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Shader Changes" -msgstr "Alterar" +msgstr "Alterações do Shader" #: editor/plugins/spatial_editor_plugin.cpp msgid "Surface Changes" -msgstr "" +msgstr "Mudanças de superfÃcie" #: editor/plugins/spatial_editor_plugin.cpp msgid "Draw Calls" -msgstr "" +msgstr "Chamadas de desenho" #: editor/plugins/spatial_editor_plugin.cpp msgid "Vertices" -msgstr "" +msgstr "Vértices" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS" -msgstr "" +msgstr "FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align with view" -msgstr "" +msgstr "Alinhar com a vista" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Sem parente para criar instância de filho." #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" -msgstr "" +msgstr "Vista normal" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Wireframe" -msgstr "" +msgstr "Vista wireframe" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Overdraw" -msgstr "" +msgstr "Vista Overdraw" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Unshaded" -msgstr "" +msgstr "Vista sem sombras" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "" +msgstr "Ver ambiente" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" -msgstr "" +msgstr "Ver ferramentas" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" -msgstr "" +msgstr "Ver informação" #: editor/plugins/spatial_editor_plugin.cpp msgid "View FPS" -msgstr "" +msgstr "Ver FPS" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Half Resolution" -msgstr "Escalar Selecção" +msgstr "Meia resolução" #: editor/plugins/spatial_editor_plugin.cpp msgid "Audio Listener" -msgstr "" +msgstr "Audição de áudio" #: editor/plugins/spatial_editor_plugin.cpp msgid "Doppler Enable" -msgstr "" +msgstr "Efeito doppler" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" -msgstr "" +msgstr "Vista livre esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Right" -msgstr "" +msgstr "Vista livre direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Forward" -msgstr "" +msgstr "Vista livre frente" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "" +msgstr "Vista livre trás" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "" +msgstr "Vista livre cima" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" -msgstr "" +msgstr "Vista livre baixo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "" +msgstr "Modificador de velocidade Freelook" #: editor/plugins/spatial_editor_plugin.cpp msgid "preview" -msgstr "" +msgstr "Pré-visualização" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" -msgstr "" +msgstr "Diálogo XForm" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)\n" -msgstr "" +msgstr "Modo seleção (Q)\n" #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -5141,734 +5266,759 @@ msgid "" "Alt+Drag: Move\n" "Alt+RMB: Depth list selection" msgstr "" +"Arrastar: Rodar\n" +"Alt+Arrastar: Mover\n" +"Alt+RMB: Seleção lista de profundidade" #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode (W)" -msgstr "" +msgstr "Modo mover (W)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode (E)" -msgstr "" +msgstr "Modo rodar (E)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Mode (R)" -msgstr "" +msgstr "Modo escalar (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenadas locais" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modo escalar (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modo Ajuste:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" -msgstr "" +msgstr "Vista de fundo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" -msgstr "" +msgstr "Vista de topo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View" -msgstr "" +msgstr "Vista de trás" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View" -msgstr "" +msgstr "Vista de frente" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View" -msgstr "" +msgstr "Vista esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View" -msgstr "" +msgstr "Vista direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal view" -msgstr "" +msgstr "Alternar vista perspetiva/ortogonal" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "" +msgstr "Inserir Ponto de Animação" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" -msgstr "" +msgstr "Focar na origem" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Selection" -msgstr "" +msgstr "Focar na seleção" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Selection With View" -msgstr "" +msgstr "Alinhar seleção com vista" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Tool Select" -msgstr "Apagar Seleccionados" +msgstr "Seleção de ferramenta" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Move" -msgstr "" +msgstr "Ferramenta Mover" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Rotate" -msgstr "" +msgstr "Ferramenta Rodar" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Scale" -msgstr "" +msgstr "Ferramenta escalar" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Toggle Freelook" -msgstr "Accionar Breakpoint" +msgstr "Alternar Freelook" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform" -msgstr "" +msgstr "Transformar" #: editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap.." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" +msgstr "Configurar Ajuste..." #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." -msgstr "" +msgstr "Diálogo de transformação..." #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "" +msgstr "1 Vista" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "" +msgstr "2 vistas" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "" +msgstr "2 vistas (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "" +msgstr "3 vistas" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "" +msgstr "3 vistas (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "" +msgstr "4 vistas" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" -msgstr "" +msgstr "Ver origem" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" -msgstr "" +msgstr "Ver grelha" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Settings" +msgstr "Configuração" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" -msgstr "" +msgstr "Configuração do Ajuste" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate Snap:" -msgstr "" +msgstr "Ajuste de translação:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" -msgstr "" +msgstr "Ajuste de rotação (graus):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Snap (%):" -msgstr "" +msgstr "Ajuste de escala (%):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" -msgstr "" +msgstr "Configuração de vista" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" -msgstr "" +msgstr "Perspetiva FOV (graus):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "" +msgstr "Ver Z-Near:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "" +msgstr "Ver Z-Far:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" -msgstr "" +msgstr "Mudar Transformação" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate:" -msgstr "" +msgstr "Translação:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate (deg.):" -msgstr "" +msgstr "Rotação (graus):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale (ratio):" -msgstr "" +msgstr "Escala (prop.):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Type" -msgstr "" +msgstr "Tipo de transformação" #: editor/plugins/spatial_editor_plugin.cpp msgid "Pre" -msgstr "" +msgstr "Pré" #: editor/plugins/spatial_editor_plugin.cpp msgid "Post" -msgstr "" +msgstr "Pós" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" -msgstr "" +msgstr "ERRO: Recurso de Frame não carregado!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frame" -msgstr "" +msgstr "Adicionar Frame" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" -msgstr "" +msgstr "Recurso da Ãrea de Transferência vazio ou não é textura!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Paste Frame" -msgstr "" +msgstr "Colar Frame" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Empty" -msgstr "" +msgstr "Adicionar vazio" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Mudar ciclo de Animação" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" -msgstr "" +msgstr "Mudar FPS da Animação" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" -msgstr "" +msgstr "(vazio)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animations" -msgstr "" +msgstr "Animações" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" -msgstr "" +msgstr "Velocidade (FPS):" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" -msgstr "" +msgstr "Ciclo" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animation Frames" -msgstr "" +msgstr "Frames da Animação" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" -msgstr "" +msgstr "Inserir vazio (antes)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (After)" -msgstr "" +msgstr "Inserir vazio (depois)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (Before)" -msgstr "" +msgstr "Mover (antes)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (After)" -msgstr "" +msgstr "Mover (depois)" #: editor/plugins/style_box_editor_plugin.cpp msgid "StyleBox Preview:" -msgstr "" +msgstr "Pré-visualização StyleBox:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Set Region Rect" -msgstr "" +msgstr "Definir região Rect" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "" +msgstr "Modo Ajuste:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<Nenhum>" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "" +msgstr "Ajuste de pixel" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" -msgstr "" +msgstr "Ajuste de grelha" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Corte automático" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "" +msgstr "Compensação:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "" +msgstr "Passo:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Separation:" -msgstr "" +msgstr "Separação:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region" -msgstr "" +msgstr "Região de textura" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" -msgstr "" +msgstr "Editor da região de textura" #: editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" -msgstr "" +msgstr "ImpossÃvel guardar tema para Ficheiro:" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All Items" -msgstr "" +msgstr "Adicionar todos os itens" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All" -msgstr "" +msgstr "Adicionar tudo" #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "Remover item" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Items" -msgstr "Remover Variável" +msgstr "Remover todos os itens" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All" -msgstr "Remover Sinal" +msgstr "Remover tudo" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "Editar tema..." #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "Menu edição de tema." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "" +msgstr "Adicionar itens de classe" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "" +msgstr "Remover itens de classe" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" -msgstr "" +msgstr "Criar Modelo vazio" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Editor Template" -msgstr "" +msgstr "Criar Modelo Editor vazio" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" -msgstr "" +msgstr "Criar a partir de tema Editor atual" #: editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" -msgstr "" +msgstr "Caixa de seleção Radio1" #: editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio2" -msgstr "" +msgstr "Caixa de seleção Radio2" #: editor/plugins/theme_editor_plugin.cpp msgid "Item" -msgstr "" +msgstr "Item" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" -msgstr "" +msgstr "Verificar item" #: editor/plugins/theme_editor_plugin.cpp msgid "Checked Item" -msgstr "" +msgstr "Item verificado" #: editor/plugins/theme_editor_plugin.cpp msgid "Has" -msgstr "" +msgstr "Tem" #: editor/plugins/theme_editor_plugin.cpp msgid "Many" -msgstr "" +msgstr "Muitos" #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp msgid "Options" -msgstr "" +msgstr "Opções" #: editor/plugins/theme_editor_plugin.cpp msgid "Have,Many,Several,Options!" -msgstr "" +msgstr "Tem,Muitos,Vários,Opções!" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 1" -msgstr "" +msgstr "Aba 1" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 2" -msgstr "" +msgstr "Aba 2" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 3" -msgstr "" +msgstr "Aba 3" #: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp #: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp msgid "Type:" -msgstr "" +msgstr "Tipo:" #: editor/plugins/theme_editor_plugin.cpp msgid "Data Type:" -msgstr "" +msgstr "Tipo de dados:" #: editor/plugins/theme_editor_plugin.cpp msgid "Icon" -msgstr "" +msgstr "Ãcone" #: editor/plugins/theme_editor_plugin.cpp msgid "Style" -msgstr "" +msgstr "Estilo" #: editor/plugins/theme_editor_plugin.cpp msgid "Font" -msgstr "" +msgstr "Letra" #: editor/plugins/theme_editor_plugin.cpp msgid "Color" -msgstr "" +msgstr "Cor" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" -msgstr "" +msgstr "Apagar seleção" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "" +msgstr "Pintar TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Line Draw" -msgstr "" +msgstr "Desenhar linha" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" -msgstr "" +msgstr "Pintar retângulo" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket Fill" -msgstr "" +msgstr "Preencher" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" -msgstr "" +msgstr "Apagar TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase selection" -msgstr "" +msgstr "Apagar seleção" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Find tile" -msgstr "" +msgstr "Encontrar tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" -msgstr "" +msgstr "Transpor" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Mirror X" -msgstr "" +msgstr "Espelho X" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Mirror Y" -msgstr "" +msgstr "Espelho Y" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "" +msgstr "Pintar tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" -msgstr "" +msgstr "Escolher tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" -msgstr "" +msgstr "Rodar 0 graus" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 90 degrees" -msgstr "" +msgstr "Rodar 90 graus" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 180 degrees" -msgstr "" +msgstr "Rodar 180 graus" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 270 degrees" -msgstr "" +msgstr "Rodar 270 graus" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Could not find tile:" -msgstr "" +msgstr "Tile não encontrado:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Item name or ID:" -msgstr "" +msgstr "Nome ou ID do item:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene?" -msgstr "" +msgstr "Criar a partir da Cena?" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" -msgstr "" +msgstr "Fundir a partir da Cena?" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "" +msgstr "Criar a partir da Cena" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" -msgstr "" +msgstr "Fundir a partir da Cena" #: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Error" -msgstr "" +msgstr "Erro" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancelar" #: editor/project_export.cpp msgid "Runnable" -msgstr "" +msgstr "Executável" #: editor/project_export.cpp msgid "Delete patch '%s' from list?" -msgstr "" +msgstr "Apagar correção '%s' da lista?" #: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "" +msgstr "Apagar predefinição '%s'?" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted: " msgstr "" +"Modelos de exportação para esta plataforma estão ausentes/corrompidos: " #: editor/project_export.cpp msgid "Presets" -msgstr "" +msgstr "Predefinições" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add.." -msgstr "" +msgstr "Adicionar..." #: editor/project_export.cpp msgid "Resources" -msgstr "" +msgstr "Recursos" #: editor/project_export.cpp msgid "Export all resources in the project" -msgstr "" +msgstr "Exportar todos os recursos do Projeto" #: editor/project_export.cpp msgid "Export selected scenes (and dependencies)" -msgstr "" +msgstr "Exportar Cenas (e dependências) selecionadas" #: editor/project_export.cpp msgid "Export selected resources (and dependencies)" -msgstr "" +msgstr "Exportar recursos (e dependências) selecionados" #: editor/project_export.cpp msgid "Export Mode:" -msgstr "" +msgstr "Modo exportação:" #: editor/project_export.cpp msgid "Resources to export:" -msgstr "" +msgstr "Recursos a exportar:" #: editor/project_export.cpp msgid "" "Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" msgstr "" +"Filtros para exportar Ficheiros não-recursos (separados por vÃrgula, ex: *." +"json, *.txt)" #: editor/project_export.cpp msgid "" "Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" msgstr "" +"Filtros para excluir Ficheiros do Projeto (separados por vÃrgula, ex: *." +"json, *.txt)" #: editor/project_export.cpp msgid "Patches" -msgstr "" +msgstr "Correções" #: editor/project_export.cpp msgid "Make Patch" -msgstr "" +msgstr "Fazer correção" #: editor/project_export.cpp msgid "Features" -msgstr "" +msgstr "CaracterÃsticas" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "" +msgstr "Personalizado (separados por vÃrgula):" #: editor/project_export.cpp msgid "Feature List:" -msgstr "" +msgstr "Lista de caracterÃsticas:" #: editor/project_export.cpp msgid "Export PCK/Zip" -msgstr "" +msgstr "Exportar PCK/Zip" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "Não existem Modelos de exportação para esta plataforma:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" +"Modelos de exportação para esta plataforma estão ausentes/corrompidos :" #: editor/project_export.cpp msgid "Export With Debug" -msgstr "" +msgstr "Exportar com depuração" #: editor/project_manager.cpp msgid "The path does not exist." -msgstr "" +msgstr "O Caminho não existe." #: editor/project_manager.cpp msgid "Please choose a 'project.godot' file." -msgstr "" +msgstr "Escolha um Ficheiro 'project.godot'." #: editor/project_manager.cpp msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"O Projeto será criado numa pasta não vazia (poderá preferir criar uma nova " +"pasta)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." -msgstr "" +msgstr "Escolha uma pasta que não contenha um Ficheiro 'project.godot'." #: editor/project_manager.cpp msgid "Imported Project" -msgstr "" - -#: editor/project_manager.cpp -msgid " " -msgstr "" +msgstr "Projeto importado" #: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "Seria uma boa ideia dar um nome ao Projeto." #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." -msgstr "" +msgstr "Caminho de Projeto inválido (alguma alteração?)." #: editor/project_manager.cpp msgid "Couldn't get project.godot in project path." -msgstr "" +msgstr "ImpossÃvel encontrar project.godot no Caminho do Projeto." #: editor/project_manager.cpp msgid "Couldn't edit project.godot in project path." -msgstr "" +msgstr "ImpossÃvel editar project.godot no Caminho do Projeto." #: editor/project_manager.cpp msgid "Couldn't create project.godot in project path." -msgstr "" +msgstr "ImpossÃvel criar project.godot no Caminho do Projeto." #: editor/project_manager.cpp msgid "The following files failed extraction from package:" -msgstr "" +msgstr "Falhou a extração dos seguintes Ficheiros do pacote:" #: editor/project_manager.cpp -#, fuzzy msgid "Rename Project" -msgstr "Alterar nome da Função" +msgstr "Renomear Projeto" #: editor/project_manager.cpp msgid "Couldn't get project.godot in the project path." -msgstr "" +msgstr "ImpossÃvel encontrar project.godot no Caminho do Projeto." #: editor/project_manager.cpp msgid "New Game Project" -msgstr "" +msgstr "Novo Projeto de jogo" #: editor/project_manager.cpp msgid "Import Existing Project" -msgstr "" +msgstr "Importar Projeto existente" #: editor/project_manager.cpp msgid "Create New Project" -msgstr "" +msgstr "Criar novo Projeto" #: editor/project_manager.cpp msgid "Install Project:" -msgstr "" +msgstr "Instalar Projeto:" #: editor/project_manager.cpp msgid "Project Name:" -msgstr "" +msgstr "Nome do Projeto:" #: editor/project_manager.cpp msgid "Create folder" -msgstr "" +msgstr "Criar pasta" #: editor/project_manager.cpp msgid "Project Path:" -msgstr "" +msgstr "Caminho do Projeto:" #: editor/project_manager.cpp msgid "Browse" -msgstr "" +msgstr "Navegar" #: editor/project_manager.cpp msgid "That's a BINGO!" -msgstr "" +msgstr "É um BINGO!" #: editor/project_manager.cpp msgid "Unnamed Project" -msgstr "" +msgstr "Projeto sem nome" #: editor/project_manager.cpp msgid "Can't open project" -msgstr "" +msgstr "ImpossÃvel abrir Projeto" #: editor/project_manager.cpp msgid "Are you sure to open more than one project?" -msgstr "" +msgstr "Está seguro que quer abrir mais do que um Projeto?" #: editor/project_manager.cpp msgid "" @@ -5876,1086 +6026,1156 @@ msgid "" "Please edit the project and set the main scene in \"Project Settings\" under " "the \"Application\" category." msgstr "" +"ImpossÃvel executar o Projeto: Cena principal não definida.\n" +"Edite o Projeto e defina a Cena principal em \"Definições do Projeto\" " +"dentro da categoria \"Aplicação\"." #: editor/project_manager.cpp msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"ImpossÃvel executar o Projeto: Ativos têm de ser importados.\n" +"Edite o Projeto para desencadear a importação inicial." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" -msgstr "" +msgstr "Está seguro que quer executar mais do que um Projeto?" #: editor/project_manager.cpp msgid "Remove project from the list? (Folder contents will not be modified)" -msgstr "" +msgstr "Remover Projeto da lista? (O conteúdo da pasta não será modificado)" #: editor/project_manager.cpp msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"Linguagem alterada.\n" +"A interface será atualizada da próxima vez que o Editor ou o Gestor de " +"Projetos arrancar." #: editor/project_manager.cpp msgid "" "You are about the scan %s folders for existing Godot projects. Do you " "confirm?" msgstr "" +"Está prestes a analisar %s pastas para Projetos Godot existentes. Confirma?" #: editor/project_manager.cpp msgid "Project List" -msgstr "" +msgstr "Lista de Projetos" #: editor/project_manager.cpp msgid "Scan" -msgstr "" +msgstr "Analisar" #: editor/project_manager.cpp msgid "Select a Folder to Scan" -msgstr "" +msgstr "Selecione uma pasta para analisar" #: editor/project_manager.cpp msgid "New Project" -msgstr "" +msgstr "Novo Projeto" #: editor/project_manager.cpp -#, fuzzy msgid "Templates" -msgstr "Remover Variável" +msgstr "Modelos" #: editor/project_manager.cpp msgid "Exit" -msgstr "" +msgstr "Sair" #: editor/project_manager.cpp msgid "Restart Now" -msgstr "" +msgstr "Reiniciar agora" #: editor/project_manager.cpp msgid "Can't run project" -msgstr "" +msgstr "ImpossÃvel executar o Projeto" #: editor/project_manager.cpp msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Atualmente não tem quaisquer Projetos.\n" +"Gostaria de explorar os Projetos de exemplo oficiais na Biblioteca de Ativos?" #: editor/project_settings_editor.cpp msgid "Key " -msgstr "" +msgstr "Tecla " #: editor/project_settings_editor.cpp msgid "Joy Button" -msgstr "" +msgstr "Botão do joystick" #: editor/project_settings_editor.cpp msgid "Joy Axis" -msgstr "" +msgstr "Eixo do joystick" #: editor/project_settings_editor.cpp msgid "Mouse Button" -msgstr "" +msgstr "Botão do rato" #: editor/project_settings_editor.cpp msgid "Invalid action (anything goes but '/' or ':')." -msgstr "" +msgstr "Ação inválida (tudo menos '/' ou ':')." #: editor/project_settings_editor.cpp msgid "Action '%s' already exists!" -msgstr "" +msgstr "Ação '%s' já existe!" #: editor/project_settings_editor.cpp msgid "Rename Input Action Event" -msgstr "" +msgstr "Renomear evento ação de entrada" #: editor/project_settings_editor.cpp msgid "Add Input Action Event" -msgstr "" +msgstr "Adicionar evento ação de entrada" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Shift+" -msgstr "" +msgstr "Shift+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Alt+" -msgstr "" +msgstr "Alt+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Control+" -msgstr "" +msgstr "Control+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key.." -msgstr "" +msgstr "Pressione uma tecla..." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "" +msgstr "Ãndice do botão do rato:" #: editor/project_settings_editor.cpp msgid "Left Button" -msgstr "" +msgstr "Botão esquerdo" #: editor/project_settings_editor.cpp msgid "Right Button" -msgstr "" +msgstr "Botão direito" #: editor/project_settings_editor.cpp msgid "Middle Button" -msgstr "" +msgstr "Botão do meio" #: editor/project_settings_editor.cpp msgid "Wheel Up Button" -msgstr "" +msgstr "Botão roda para cima" #: editor/project_settings_editor.cpp msgid "Wheel Down Button" -msgstr "" +msgstr "Botão roda para baixo" #: editor/project_settings_editor.cpp msgid "Button 6" -msgstr "" +msgstr "Botão 6" #: editor/project_settings_editor.cpp msgid "Button 7" -msgstr "" +msgstr "Botão 7" #: editor/project_settings_editor.cpp msgid "Button 8" -msgstr "" +msgstr "Botão 8" #: editor/project_settings_editor.cpp msgid "Button 9" -msgstr "" +msgstr "Botão 9" #: editor/project_settings_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Change" -msgstr "Alterar" +msgstr "Mudar" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" -msgstr "" +msgstr "Ãndice do Eixo do joystick:" #: editor/project_settings_editor.cpp msgid "Axis" -msgstr "" +msgstr "Eixo" #: editor/project_settings_editor.cpp msgid "Joypad Button Index:" -msgstr "" +msgstr "Ãndice do botão do joypad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Apagar evento ação de entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" -msgstr "" +msgstr "Apagar evento ação de entrada" #: editor/project_settings_editor.cpp msgid "Add Event" -msgstr "" +msgstr "Adicionar evento" #: editor/project_settings_editor.cpp msgid "Device" -msgstr "" +msgstr "Dispositivo" #: editor/project_settings_editor.cpp msgid "Button" -msgstr "" +msgstr "Botão" #: editor/project_settings_editor.cpp msgid "Left Button." -msgstr "" +msgstr "Botão esquerdo." #: editor/project_settings_editor.cpp msgid "Right Button." -msgstr "" +msgstr "Botão direito." #: editor/project_settings_editor.cpp msgid "Middle Button." -msgstr "" +msgstr "Botão do meio." #: editor/project_settings_editor.cpp msgid "Wheel Up." -msgstr "" +msgstr "Roda para cima." #: editor/project_settings_editor.cpp msgid "Wheel Down." -msgstr "" +msgstr "Roda para baixo." #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add Global Property" -msgstr "Adicionar propriedade Getter" +msgstr "Adicionar Propriedade global" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "Selecione primeiro um item de configuração!" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." -msgstr "" +msgstr "Não existe a Propriedade '%s'." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" +msgstr "Configuração '%s' é interna e não pode ser removida." #: editor/project_settings_editor.cpp -#, fuzzy msgid "Delete Item" -msgstr "Apagar Seleccionados" +msgstr "Apagar item" #: editor/project_settings_editor.cpp msgid "Can't contain '/' or ':'" -msgstr "" +msgstr "Não pode conter '/' ou ':'" #: editor/project_settings_editor.cpp msgid "Already existing" -msgstr "" +msgstr "Já existe" + +#: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Adicionar ação de entrada" #: editor/project_settings_editor.cpp msgid "Error saving settings." -msgstr "" +msgstr "Erro ao guardar configuração." #: editor/project_settings_editor.cpp msgid "Settings saved OK." -msgstr "" +msgstr "Configuração guardada." #: editor/project_settings_editor.cpp msgid "Override for Feature" -msgstr "" +msgstr "Sobrepor por caracterÃstica" #: editor/project_settings_editor.cpp msgid "Add Translation" -msgstr "" +msgstr "Adicionar tradução" #: editor/project_settings_editor.cpp msgid "Remove Translation" -msgstr "" +msgstr "Remover tradução" #: editor/project_settings_editor.cpp msgid "Add Remapped Path" -msgstr "" +msgstr "Adicionar correção remapeada" #: editor/project_settings_editor.cpp msgid "Resource Remap Add Remap" -msgstr "" +msgstr "Recurso Remap Adicionar Remap" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" -msgstr "" +msgstr "Mudar Recurso Linguagem Remap" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap" -msgstr "" +msgstr "Remover remapeamento de recurso" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap Option" -msgstr "" +msgstr "Remover Recurso Opção Remap" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter" -msgstr "" +msgstr "Filtro de localização alterado" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter Mode" -msgstr "" +msgstr "Modo filtro de localização alterado" #: editor/project_settings_editor.cpp msgid "Project Settings (project.godot)" -msgstr "" +msgstr "Definições do Projeto (project.godot)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" -msgstr "" +msgstr "Geral" #: editor/project_settings_editor.cpp editor/property_editor.cpp msgid "Property:" -msgstr "" +msgstr "Propriedade:" #: editor/project_settings_editor.cpp msgid "Override For.." -msgstr "" +msgstr "Sobrepor por..." #: editor/project_settings_editor.cpp msgid "Input Map" -msgstr "" +msgstr "Mapa de entrada" #: editor/project_settings_editor.cpp msgid "Action:" -msgstr "" +msgstr "Ação:" #: editor/project_settings_editor.cpp msgid "Device:" -msgstr "" +msgstr "Dispositivo:" #: editor/project_settings_editor.cpp msgid "Index:" -msgstr "" +msgstr "Ãndice:" #: editor/project_settings_editor.cpp msgid "Localization" -msgstr "" +msgstr "Localização" #: editor/project_settings_editor.cpp msgid "Translations" -msgstr "" +msgstr "Traduções" #: editor/project_settings_editor.cpp msgid "Translations:" -msgstr "" +msgstr "Traduções:" #: editor/project_settings_editor.cpp msgid "Remaps" -msgstr "" +msgstr "Remapeamentos" #: editor/project_settings_editor.cpp msgid "Resources:" -msgstr "" +msgstr "Recursos:" #: editor/project_settings_editor.cpp msgid "Remaps by Locale:" -msgstr "" +msgstr "Remapear por localização:" #: editor/project_settings_editor.cpp msgid "Locale" -msgstr "" +msgstr "Localização" #: editor/project_settings_editor.cpp msgid "Locales Filter" -msgstr "" +msgstr "Filtro de localização" #: editor/project_settings_editor.cpp msgid "Show all locales" -msgstr "" +msgstr "Mostrar todas as localizações" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "Mostrar apenas localizações selecionadas" #: editor/project_settings_editor.cpp msgid "Filter mode:" -msgstr "" +msgstr "Modo de filtro:" #: editor/project_settings_editor.cpp msgid "Locales:" -msgstr "" +msgstr "Localizações:" #: editor/project_settings_editor.cpp msgid "AutoLoad" -msgstr "" +msgstr "Carregamento automático" #: editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "" +msgstr "Escolha uma vista" #: editor/property_editor.cpp msgid "Ease In" -msgstr "" +msgstr "Ease In" #: editor/property_editor.cpp msgid "Ease Out" -msgstr "" +msgstr "Ease Out" #: editor/property_editor.cpp msgid "Zero" -msgstr "" +msgstr "Zero" #: editor/property_editor.cpp msgid "Easing In-Out" -msgstr "" +msgstr "Easing In-Out" #: editor/property_editor.cpp msgid "Easing Out-In" -msgstr "" +msgstr "Easing Out-In" #: editor/property_editor.cpp msgid "File.." -msgstr "" +msgstr "Ficheiro..." #: editor/property_editor.cpp msgid "Dir.." -msgstr "" +msgstr "Diretoria..." #: editor/property_editor.cpp msgid "Assign" -msgstr "" +msgstr "Atribuir" #: editor/property_editor.cpp -#, fuzzy msgid "Select Node" -msgstr "Adicionar propriedade Setter" +msgstr "Selecionar Nó" #: editor/property_editor.cpp msgid "New Script" +msgstr "Novo Script" + +#: editor/property_editor.cpp +msgid "New %s" msgstr "" #: editor/property_editor.cpp msgid "Make Unique" -msgstr "" +msgstr "Fazer único" #: editor/property_editor.cpp msgid "Show in File System" -msgstr "" +msgstr "Mostrar no Sistema de Ficheiros" #: editor/property_editor.cpp msgid "Convert To %s" -msgstr "" +msgstr "Converter em %s" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" -msgstr "" +msgstr "Erro ao carregar Ficheiro: Não é um recurso!" #: editor/property_editor.cpp msgid "Selected node is not a Viewport!" -msgstr "" +msgstr "Nó selecionado não é uma vista!" #: editor/property_editor.cpp msgid "Pick a Node" -msgstr "" +msgstr "Escolha um Nó" #: editor/property_editor.cpp msgid "Bit %d, val %d." -msgstr "" +msgstr "Bit %d, val %d." #: editor/property_editor.cpp msgid "On" -msgstr "" +msgstr "On" + +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Adicionar vazio" #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" -msgstr "" +msgstr "Definir" #: editor/property_editor.cpp msgid "Properties:" -msgstr "" - -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" +msgstr "Propriedades:" #: editor/property_selector.cpp -#, fuzzy msgid "Select Property" -msgstr "Adicionar propriedade Setter" +msgstr "Selecionar Propriedade" #: editor/property_selector.cpp msgid "Select Virtual Method" -msgstr "" +msgstr "Selecione Método virtual" #: editor/property_selector.cpp msgid "Select Method" -msgstr "" +msgstr "Selecione Método" #: editor/pvrtc_compress.cpp msgid "Could not execute PVRTC tool:" -msgstr "" +msgstr "ImpossÃvel executar ferramenta PVRTC:" #: editor/pvrtc_compress.cpp msgid "Can't load back converted image using PVRTC tool:" -msgstr "" +msgstr "ImpossÃvel carregar imagem convertida com a ferramenta PVRTC:" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" -msgstr "" +msgstr "Recolocar Nó" #: editor/reparent_dialog.cpp msgid "Reparent Location (Select new Parent):" -msgstr "" +msgstr "Recolocar localização (selecionar novo parente):" #: editor/reparent_dialog.cpp msgid "Keep Global Transform" -msgstr "" +msgstr "Manter transformação global" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent" -msgstr "" +msgstr "Recolocar" #: editor/run_settings_dialog.cpp msgid "Run Mode:" -msgstr "" +msgstr "Modo Execução:" #: editor/run_settings_dialog.cpp msgid "Current Scene" -msgstr "" +msgstr "Cena atual" #: editor/run_settings_dialog.cpp msgid "Main Scene" -msgstr "" +msgstr "Cena principal" #: editor/run_settings_dialog.cpp msgid "Main Scene Arguments:" -msgstr "" +msgstr "Argumentos da Cena principal:" #: editor/run_settings_dialog.cpp msgid "Scene Run Settings" -msgstr "" +msgstr "Configurações de execução da Cena" #: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp #: scene/gui/dialogs.cpp msgid "OK" -msgstr "" +msgstr "OK" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." -msgstr "" +msgstr "Nenhum parente para instanciar a Cena." #: editor/scene_tree_dock.cpp msgid "Error loading scene from %s" -msgstr "" +msgstr "Erro ao carregar a Cena de %s" #: editor/scene_tree_dock.cpp msgid "Ok" -msgstr "" +msgstr "Ok" #: editor/scene_tree_dock.cpp msgid "" "Cannot instance the scene '%s' because the current scene exists within one " "of its nodes." msgstr "" +"ImpossÃvel instanciar a Cena '%s' porque a Cena atual existe dentro de um " +"dos seus Nós." #: editor/scene_tree_dock.cpp msgid "Instance Scene(s)" -msgstr "" +msgstr "Cena(s) da Instância" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." -msgstr "" +msgstr "Esta operação não pode ser feita na raiz da árvore." #: editor/scene_tree_dock.cpp msgid "Move Node In Parent" -msgstr "" +msgstr "Mover Nó no parente" #: editor/scene_tree_dock.cpp msgid "Move Nodes In Parent" -msgstr "" +msgstr "Mover Nós no parente" #: editor/scene_tree_dock.cpp msgid "Duplicate Node(s)" -msgstr "" +msgstr "Duplicar Nó(s)" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" -msgstr "" +msgstr "Apagar Nó(s)?" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." -msgstr "" +msgstr "ImpossÃvel executar com o Nó raiz." #: editor/scene_tree_dock.cpp msgid "This operation can't be done on instanced scenes." -msgstr "" +msgstr "Esta operação não pode ser feita numa Cena instanciada." #: editor/scene_tree_dock.cpp msgid "Save New Scene As.." -msgstr "" +msgstr "Guardar nova Cena como..." #: editor/scene_tree_dock.cpp msgid "Editable Children" -msgstr "" +msgstr "Filhos editáveis" #: editor/scene_tree_dock.cpp msgid "Load As Placeholder" -msgstr "" +msgstr "Carregar como marcador de posição" #: editor/scene_tree_dock.cpp msgid "Discard Instancing" -msgstr "" +msgstr "Descartar instância" #: editor/scene_tree_dock.cpp msgid "Makes Sense!" -msgstr "" +msgstr "Faz sentido!" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes from a foreign scene!" -msgstr "" +msgstr "ImpossÃvel operar em Nós de uma Cena externa!" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes the current scene inherits from!" -msgstr "" +msgstr "ImpossÃvel operar em Nós herdados pela Cena atual!" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" -msgstr "" +msgstr "Remover Nó(s)" #: editor/scene_tree_dock.cpp msgid "" "Couldn't save new scene. Likely dependencies (instances) couldn't be " "satisfied." msgstr "" +"ImpossÃvel guardar nova Cena. Provavelmente dependências (instâncias) não " +"foram satisfeitas." #: editor/scene_tree_dock.cpp msgid "Error saving scene." -msgstr "" +msgstr "Erro ao guardar Cena." #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." -msgstr "" +msgstr "Erro ao duplicar Cena para guardar." #: editor/scene_tree_dock.cpp msgid "Sub-Resources:" -msgstr "" +msgstr "Sub-recursos:" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance" -msgstr "" +msgstr "Limpar herança" #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" -msgstr "" +msgstr "Abrir no Editor" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)" -msgstr "" +msgstr "Apagar Nó(s)" #: editor/scene_tree_dock.cpp msgid "Add Child Node" -msgstr "" +msgstr "Adicionar Nó filho" #: editor/scene_tree_dock.cpp msgid "Instance Child Scene" -msgstr "" +msgstr "Instanciar Cena filha" #: editor/scene_tree_dock.cpp msgid "Change Type" -msgstr "" +msgstr "Mudar tipo" #: editor/scene_tree_dock.cpp msgid "Attach Script" -msgstr "" +msgstr "Anexar Script" #: editor/scene_tree_dock.cpp msgid "Clear Script" -msgstr "" +msgstr "Limpar Script" #: editor/scene_tree_dock.cpp msgid "Merge From Scene" -msgstr "" +msgstr "Fundir a partir da Cena" #: editor/scene_tree_dock.cpp msgid "Save Branch as Scene" -msgstr "" +msgstr "Guardar ramo como Cena" #: editor/scene_tree_dock.cpp msgid "Copy Node Path" -msgstr "" +msgstr "Copiar Caminho do Nó" #: editor/scene_tree_dock.cpp msgid "Delete (No Confirm)" -msgstr "" +msgstr "Apagar (sem confirmação)" #: editor/scene_tree_dock.cpp msgid "Add/Create a New Node" -msgstr "" +msgstr "Adicionar/criar novo Nó" #: editor/scene_tree_dock.cpp msgid "" "Instance a scene file as a Node. Creates an inherited scene if no root node " "exists." msgstr "" +"Instanciar Ficheiro de Cena como Nó. Cria uma Cena herdada se não existir Nó " +"raiz." #: editor/scene_tree_dock.cpp msgid "Filter nodes" -msgstr "" +msgstr "Filtrar Nós" #: editor/scene_tree_dock.cpp msgid "Attach a new or existing script for the selected node." -msgstr "" +msgstr "Anexar Script novo ou existente ao Nó selecionado." #: editor/scene_tree_dock.cpp msgid "Clear a script for the selected node." -msgstr "" +msgstr "Limpar Script do Nó selecionado." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Remote" -msgstr "Remover Sinal" +msgstr "Remoto" #: editor/scene_tree_dock.cpp msgid "Local" -msgstr "" +msgstr "Local" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance? (No Undo!)" -msgstr "" +msgstr "Limpar herança? (Sem retrocesso!)" #: editor/scene_tree_dock.cpp msgid "Clear!" -msgstr "" +msgstr "Limpo!" #: editor/scene_tree_editor.cpp msgid "Toggle Spatial Visible" -msgstr "" +msgstr "Alternar visibilidade espacial" #: editor/scene_tree_editor.cpp msgid "Toggle CanvasItem Visible" -msgstr "" +msgstr "Alternar visibilidade do CanvasItem" #: editor/scene_tree_editor.cpp msgid "Node configuration warning:" -msgstr "" +msgstr "Aviso de configuração do Nó:" #: editor/scene_tree_editor.cpp msgid "" "Node has connection(s) and group(s)\n" "Click to show signals dock." msgstr "" +"Nó tem conexões e grupo(s).\n" +"Clique para mostrar doca dos sinais." #: editor/scene_tree_editor.cpp msgid "" "Node has connections.\n" "Click to show signals dock." msgstr "" +"Nó tem conexões.\n" +"Clique para mostrar doca dos sinais." #: editor/scene_tree_editor.cpp msgid "" "Node is in group(s).\n" "Click to show groups dock." msgstr "" +"Nó está em grupo(s).\n" +"Clique para mostrar doca dos grupos." #: editor/scene_tree_editor.cpp msgid "Instance:" -msgstr "" +msgstr "Instância:" #: editor/scene_tree_editor.cpp msgid "Open script" -msgstr "" +msgstr "Abrir Script" #: editor/scene_tree_editor.cpp msgid "" "Node is locked.\n" "Click to unlock" msgstr "" +"Nó está bloqueado.\n" +"Clique para desbloquear" #: editor/scene_tree_editor.cpp msgid "" "Children are not selectable.\n" "Click to make selectable" msgstr "" +"Filhos não são selecionáveis.\n" +"Clique para os tornar selecionáveis" #: editor/scene_tree_editor.cpp msgid "Toggle Visibility" -msgstr "" +msgstr "Alternar visibilidade" #: editor/scene_tree_editor.cpp msgid "Invalid node name, the following characters are not allowed:" -msgstr "" +msgstr "Nome de Nó inválido, os carateres seguintes não são permitidos:" #: editor/scene_tree_editor.cpp msgid "Rename Node" -msgstr "" +msgstr "Renomear Nó" #: editor/scene_tree_editor.cpp msgid "Scene Tree (Nodes):" -msgstr "" +msgstr "Ãrvore de Cena (Nós):" #: editor/scene_tree_editor.cpp msgid "Node Configuration Warning!" -msgstr "" +msgstr "Aviso de configuração de Nó!" #: editor/scene_tree_editor.cpp msgid "Select a Node" -msgstr "" +msgstr "Selecione um Nó" #: editor/script_create_dialog.cpp msgid "Error loading template '%s'" -msgstr "" +msgstr "Erro ao carregar Modelo '%s'" #: editor/script_create_dialog.cpp msgid "Error - Could not create script in filesystem." -msgstr "" +msgstr "Erro - ImpossÃvel criar Script no Sistema de Ficheiros." #: editor/script_create_dialog.cpp msgid "Error loading script from %s" -msgstr "" +msgstr "Erro ao carregar Script de '%s'" #: editor/script_create_dialog.cpp msgid "N/A" -msgstr "" +msgstr "N/A" #: editor/script_create_dialog.cpp msgid "Path is empty" -msgstr "" +msgstr "Caminho está vazio" #: editor/script_create_dialog.cpp msgid "Path is not local" -msgstr "" +msgstr "Caminho não é local" #: editor/script_create_dialog.cpp msgid "Invalid base path" -msgstr "" +msgstr "Caminho base inválido" #: editor/script_create_dialog.cpp msgid "Directory of the same name exists" -msgstr "" +msgstr "Já existe diretoria com o mesmo nome" #: editor/script_create_dialog.cpp msgid "File exists, will be reused" -msgstr "" +msgstr "O Ficheiro já existe, será reutilizado" #: editor/script_create_dialog.cpp msgid "Invalid extension" -msgstr "" +msgstr "Extensão inválida" #: editor/script_create_dialog.cpp msgid "Wrong extension chosen" -msgstr "" +msgstr "Escolhida uma extensão errada" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid Path" -msgstr ": Argumentos inválidos: " +msgstr "Caminho inválido" #: editor/script_create_dialog.cpp msgid "Invalid class name" -msgstr "" +msgstr "Nome de classe inválida" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid inherited parent name or path" -msgstr "Nome de Ãndice propriedade inválido." +msgstr "Nome ou Caminho de parente herdado inválido" #: editor/script_create_dialog.cpp msgid "Script valid" -msgstr "" +msgstr "Script inválido" #: editor/script_create_dialog.cpp msgid "Allowed: a-z, A-Z, 0-9 and _" -msgstr "" +msgstr "Permitido: a-z, A-Z, 0-9 e _" #: editor/script_create_dialog.cpp msgid "Built-in script (into scene file)" -msgstr "" +msgstr "Script incorporado (no Ficheiro da Cena)" #: editor/script_create_dialog.cpp msgid "Create new script file" -msgstr "" +msgstr "Criar novo Ficheiro de Script" #: editor/script_create_dialog.cpp msgid "Load existing script file" -msgstr "" +msgstr "Carregar Ficheiro de Script existente" #: editor/script_create_dialog.cpp msgid "Language" -msgstr "" +msgstr "Linguagem" #: editor/script_create_dialog.cpp msgid "Inherits" -msgstr "" +msgstr "Herdar" #: editor/script_create_dialog.cpp msgid "Class Name" -msgstr "" +msgstr "Nome de classe" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Template" -msgstr "Remover Variável" +msgstr "Modelo" #: editor/script_create_dialog.cpp msgid "Built-in Script" -msgstr "" +msgstr "Script incorporado" #: editor/script_create_dialog.cpp msgid "Attach Node Script" -msgstr "" +msgstr "Anexar Script de Nó" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote " -msgstr "Remover Sinal" +msgstr "Remoto " #: editor/script_editor_debugger.cpp msgid "Bytes:" -msgstr "" +msgstr "Bytes:" #: editor/script_editor_debugger.cpp msgid "Warning" -msgstr "" +msgstr "Aviso" #: editor/script_editor_debugger.cpp msgid "Error:" -msgstr "" +msgstr "Erro:" #: editor/script_editor_debugger.cpp msgid "Source:" -msgstr "" +msgstr "Fonte:" #: editor/script_editor_debugger.cpp msgid "Function:" -msgstr "" +msgstr "Função:" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "Escolha um ou mais itens da lista para exibir o gráfico." #: editor/script_editor_debugger.cpp msgid "Errors" -msgstr "" +msgstr "Erros" #: editor/script_editor_debugger.cpp msgid "Child Process Connected" -msgstr "" +msgstr "Processo filho conectado" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" -msgstr "" +msgstr "Inspecionar instância anterior" #: editor/script_editor_debugger.cpp msgid "Inspect Next Instance" -msgstr "" +msgstr "Inspecionar próxima instância" #: editor/script_editor_debugger.cpp msgid "Stack Frames" -msgstr "" +msgstr "Empilhar Frames" #: editor/script_editor_debugger.cpp msgid "Variable" -msgstr "" +msgstr "Variável" #: editor/script_editor_debugger.cpp msgid "Errors:" -msgstr "" +msgstr "Erros:" #: editor/script_editor_debugger.cpp msgid "Stack Trace (if applicable):" -msgstr "" +msgstr "Rastreamento de pilha (se aplicável):" #: editor/script_editor_debugger.cpp msgid "Profiler" -msgstr "" +msgstr "Profiler" #: editor/script_editor_debugger.cpp msgid "Monitor" -msgstr "" +msgstr "Monitor" #: editor/script_editor_debugger.cpp msgid "Value" -msgstr "" +msgstr "Valor" #: editor/script_editor_debugger.cpp msgid "Monitors" -msgstr "" +msgstr "Monitores" #: editor/script_editor_debugger.cpp msgid "List of Video Memory Usage by Resource:" -msgstr "" +msgstr "Lista de utilização de Memória VÃdeo por recurso:" #: editor/script_editor_debugger.cpp msgid "Total:" -msgstr "" +msgstr "Total:" #: editor/script_editor_debugger.cpp msgid "Video Mem" -msgstr "" +msgstr "Memória VÃdeo" #: editor/script_editor_debugger.cpp msgid "Resource Path" -msgstr "" +msgstr "Caminho de recurso" #: editor/script_editor_debugger.cpp msgid "Type" -msgstr "" +msgstr "Tipo" #: editor/script_editor_debugger.cpp msgid "Format" -msgstr "" +msgstr "Formato" #: editor/script_editor_debugger.cpp msgid "Usage" -msgstr "" +msgstr "Uso" #: editor/script_editor_debugger.cpp msgid "Misc" -msgstr "" +msgstr "Misc" #: editor/script_editor_debugger.cpp msgid "Clicked Control:" -msgstr "" +msgstr "Controlo clicado:" #: editor/script_editor_debugger.cpp msgid "Clicked Control Type:" -msgstr "" +msgstr "Tipo de controlo clicado:" #: editor/script_editor_debugger.cpp msgid "Live Edit Root:" -msgstr "" +msgstr "Raiz de edição ao vivo:" #: editor/script_editor_debugger.cpp msgid "Set From Tree" -msgstr "" +msgstr "Definir a partir da árvore" #: editor/settings_config_dialog.cpp msgid "Shortcuts" +msgstr "Atalhos" + +#: editor/settings_config_dialog.cpp +msgid "Binding" msgstr "" #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" -msgstr "" +msgstr "Mudar raio da luz" #: editor/spatial_editor_gizmos.cpp msgid "Change AudioStreamPlayer3D Emission Angle" -msgstr "" +msgstr "Mudar ângulo de emissão de AudioStreamPlayer3D" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" -msgstr "" +msgstr "Mudar FOV da câmara" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera Size" -msgstr "" +msgstr "Mudar tamanho da câmara" #: editor/spatial_editor_gizmos.cpp msgid "Change Sphere Shape Radius" -msgstr "" +msgstr "Mudar raio da forma esfera" #: editor/spatial_editor_gizmos.cpp msgid "Change Box Shape Extents" -msgstr "" +msgstr "Mudar medidas da forma caixa" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Radius" -msgstr "" +msgstr "Mudar raio da forma cápsula" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Height" -msgstr "" +msgstr "Mudar altura da forma cápsula" #: editor/spatial_editor_gizmos.cpp msgid "Change Ray Shape Length" -msgstr "" +msgstr "Mudar comprimento da forma raio" #: editor/spatial_editor_gizmos.cpp msgid "Change Notifier Extents" -msgstr "" +msgstr "Mudar extensões de notificador" #: editor/spatial_editor_gizmos.cpp msgid "Change Particles AABB" -msgstr "" +msgstr "Mudar partÃculas AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Probe Extents" +msgstr "Mudar extensões de sonda" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Library" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Status" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Remover Ponto da curva" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Libraries: " +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" msgstr "" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Status" +msgstr "Status" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Libraries: " +msgstr "Bibliotecas: " + #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -6974,15 +7194,15 @@ msgstr "o argumento \"step\" é zero!" #: modules/gdscript/gdscript_functions.cpp msgid "Not a script with an instance" -msgstr "Não é um script com uma instância" +msgstr "Não é um Script com uma instância" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a script" -msgstr "Não é baseado num script" +msgstr "Não é baseado num Script" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a resource file" -msgstr "Não é baseado num ficheiro de recurso" +msgstr "Não é baseado num Ficheiro de recurso" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (missing @path)" @@ -6992,11 +7212,11 @@ msgstr "Formato de dicionário de instância inválido (falta @path)" msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" "Formato de dicionário de instância inválido (não foi possÃvel carregar o " -"script em @path)" +"Script em @path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "Formato de dicionário de instância inválido (script inválido em @path)" +msgstr "Formato de dicionário de instância inválido (Script inválido em @path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" @@ -7004,132 +7224,130 @@ msgstr "Dicionário de instância inválido (subclasses inválidas)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "" +msgstr "Objeto não fornece um comprimento." #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Delete Selection" -msgstr "Apagar Seleccionados" +msgstr "Apagar seleção GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Duplicate Selection" -msgstr "" +msgstr "Seleção duplicada de GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "" +msgstr "Piso:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" -msgstr "" +msgstr "Mapa de grelha" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Snap View" -msgstr "" +msgstr "Vista de Ajuste" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Previous Floor" -msgstr "" +msgstr "Piso anterior" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" -msgstr "" +msgstr "Próximo Piso" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Disabled" -msgstr "" +msgstr "Recorte desativado" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Above" -msgstr "" +msgstr "Recorte ativado" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Below" -msgstr "" +msgstr "Recorte abaixo" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "" +msgstr "Editar Eixo X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "" +msgstr "Editar Eixo Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "" +msgstr "Editar Eixo Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate X" -msgstr "" +msgstr "Rodar Cursor X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate Y" -msgstr "" +msgstr "Rodar Cursor Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate Z" -msgstr "" +msgstr "Rodar Cursor Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate X" -msgstr "" +msgstr "Rodar para trás Cursor X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate Y" -msgstr "" +msgstr "Rodar para trás Cursor Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate Z" -msgstr "" +msgstr "Rodar para trás Cursor Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Clear Rotation" -msgstr "" +msgstr "Limpar rotação do Cursor" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Create Area" -msgstr "" +msgstr "Criar Ãrea" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Create Exterior Connector" -msgstr "" +msgstr "Criar Conector exterior" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Erase Area" -msgstr "" +msgstr "Apagar Ãrea" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clear Selection" -msgstr "Escalar Selecção" +msgstr "Limpar Seleção" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" -msgstr "" +msgstr "Configurações do GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Pick Distance:" -msgstr "" +msgstr "Distância de escolha:" #: modules/mono/editor/mono_bottom_panel.cpp msgid "Builds" -msgstr "" +msgstr "Builds" #: modules/visual_script/visual_script.cpp msgid "" "A node yielded without working memory, please read the docs on how to yield " "properly!" msgstr "" -"Um nó fez yield sem memória para usar, por favor leia os documentos para " -"saber como fazer yield correctamente!" +"Um Nó fez yield sem memória para usar, por favor leia os documentos para " +"saber como fazer yield corretamente!" #: modules/visual_script/visual_script.cpp msgid "" "Node yielded, but did not return a function state in the first working " "memory." msgstr "" -"O nó fez yield, mas não retornou um estado de função na primeira memória de " +"O Nó fez yield, mas não retornou um estado de Função na primeira memória de " "trabalho." #: modules/visual_script/visual_script.cpp @@ -7138,42 +7356,40 @@ msgid "" "your node please." msgstr "" "O valor de retorno deve ser atribuÃdo ao primeiro elemento da memória de " -"trabalho de nós! Corrija o seu nó por favor." +"trabalho de Nós! Corrija o seu Nó por favor." #: modules/visual_script/visual_script.cpp msgid "Node returned an invalid sequence output: " -msgstr "O nó retornou uma sequência de saÃda (output) incorrecta: " +msgstr "O Nó retornou uma sequência de saÃda (output) incorreta: " #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "" -"A sequência foi encontrada mas não o nó na pilha (stack), faça report de bug!" +"A sequência foi encontrada mas não o Nó na pilha (stack), faça report de bug!" #: modules/visual_script/visual_script.cpp msgid "Stack overflow with stack depth: " msgstr "Stack overflow com a profundidade da pilha (stack): " #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Signal Arguments" -msgstr "Editar Argumentos do Sinal:" +msgstr "Mudar argumentos do sinal" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument Type" -msgstr "" +msgstr "Mudar tipo de argumento" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument name" -msgstr "" +msgstr "Mudar nome do argumento" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Default Value" -msgstr "" +msgstr "Definir valor padrão da variável" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Set Variable Type" -msgstr "Editar Variável:" +msgstr "Definir tipo de variável" #: modules/visual_script/visual_script_editor.cpp msgid "Functions:" @@ -7193,15 +7409,15 @@ msgstr "Este nome já está a ser usado por outro func/var/signal:" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Function" -msgstr "Alterar nome da Função" +msgstr "Mudar nome da Função" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Variable" -msgstr "Alterar nome da Variável" +msgstr "Mudar nome da Variável" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Signal" -msgstr "Alterar nome do Sinal" +msgstr "Mudar nome do Sinal" #: modules/visual_script/visual_script_editor.cpp msgid "Add Function" @@ -7217,49 +7433,51 @@ msgstr "Adicionar Sinal" #: modules/visual_script/visual_script_editor.cpp msgid "Change Expression" -msgstr "" +msgstr "Mudar Expressão" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node" msgstr "Adicionar Nó" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Remove VisualScript Nodes" -msgstr "Remover Variável" +msgstr "Remover Nós VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Duplicate VisualScript Nodes" -msgstr "" +msgstr "Duplicar Nós VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"Pressione %s para largar um Getter. Pressione Shift para largar uma " +"Assinatura genérica." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"Pressione Ctrl para largar um Getter. Pressione Shift para largar uma " +"Assinatura genérica." #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a simple reference to the node." -msgstr "" +msgstr "Pressione %s para largar uma referência simples no Nó." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a simple reference to the node." -msgstr "" +msgstr "Pressione Ctrl para largar uma referência simples no Nó." #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Variable Setter." -msgstr "" +msgstr "Pressione %s para largar um Setter variável." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Variable Setter." -msgstr "" +msgstr "Pressione Ctrl para largar um Setter variável." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Preload Node" -msgstr "Adicionar Nó" +msgstr "Adicionar Nó de carregamento prévio" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -7267,99 +7485,95 @@ msgstr "Adicionar Nó da Ãrvore" #: modules/visual_script/visual_script_editor.cpp msgid "Add Getter Property" -msgstr "Adicionar propriedade Getter" +msgstr "Adicionar Propriedade Getter" #: modules/visual_script/visual_script_editor.cpp msgid "Add Setter Property" -msgstr "Adicionar propriedade Setter" +msgstr "Adicionar Propriedade Setter" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Base Type" -msgstr "Tipo de Base:" +msgstr "Mudar tipo base" #: modules/visual_script/visual_script_editor.cpp msgid "Move Node(s)" -msgstr "" +msgstr "Mover Nó(s)" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Remove VisualScript Node" -msgstr "Remover Variável" +msgstr "Remover Nó VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Connect Nodes" -msgstr "" +msgstr "Conectar Nós" #: modules/visual_script/visual_script_editor.cpp msgid "Condition" -msgstr "" +msgstr "Condição" #: modules/visual_script/visual_script_editor.cpp msgid "Sequence" -msgstr "" +msgstr "Sequência" #: modules/visual_script/visual_script_editor.cpp msgid "Switch" -msgstr "" +msgstr "Trocar" #: modules/visual_script/visual_script_editor.cpp msgid "Iterator" -msgstr "" +msgstr "Iterador" #: modules/visual_script/visual_script_editor.cpp msgid "While" -msgstr "" +msgstr "Enquanto" #: modules/visual_script/visual_script_editor.cpp msgid "Return" -msgstr "" +msgstr "Voltar" #: modules/visual_script/visual_script_editor.cpp msgid "Call" -msgstr "" +msgstr "Chamar" #: modules/visual_script/visual_script_editor.cpp msgid "Get" -msgstr "" +msgstr "Obter" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "" +msgstr "Script já tem uma Função '%s'" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" -msgstr "" +msgstr "Mudar valor de entrada" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." -msgstr "" +msgstr "ImpossÃvel copiar o Nó Função." #: modules/visual_script/visual_script_editor.cpp msgid "Clipboard is empty!" -msgstr "" +msgstr "Ãrea de Transferência está vazia!" #: modules/visual_script/visual_script_editor.cpp msgid "Paste VisualScript Nodes" -msgstr "" +msgstr "Colar Nós VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Function" msgstr "Remover Função" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Edit Variable" -msgstr "Editar Variável:" +msgstr "Editar variável" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Variable" msgstr "Remover Variável" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Edit Signal" -msgstr "A editar Sinal:" +msgstr "Editar sinal" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Signal" @@ -7383,7 +7597,7 @@ msgstr "Nós DisponÃveis:" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit graph" -msgstr "Seleccione ou crie uma função para editar o grafo" +msgstr "Selecione ou crie uma Função para editar o grafo" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Signal Arguments:" @@ -7395,24 +7609,23 @@ msgstr "Editar Variável:" #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" -msgstr "Apagar Seleccionados" +msgstr "Apagar Selecionados" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Find Node Type" -msgstr "Encontrar Tipo de Nó" +msgstr "Encontrar tipo de Nó" #: modules/visual_script/visual_script_editor.cpp msgid "Copy Nodes" -msgstr "" +msgstr "Copiar Nós" #: modules/visual_script/visual_script_editor.cpp msgid "Cut Nodes" -msgstr "" +msgstr "Cortar Nós" #: modules/visual_script/visual_script_editor.cpp msgid "Paste Nodes" -msgstr "" +msgstr "Colar Nós" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " @@ -7428,11 +7641,11 @@ msgstr "O iterador tornou-se inválido: " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "Nome de Ãndice propriedade inválido." +msgstr "Nome de Ãndice Propriedade inválido." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" -msgstr "Objecto de base não é um Nó!" +msgstr "Objeto de base não é um Nó!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Path does not lead Node!" @@ -7440,7 +7653,7 @@ msgstr "Caminho não aponta para nenhum Nó!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "Nome de propriedade Ãndice '%s' inválido em nó %s." +msgstr "Nome de Propriedade Ãndice '%s' inválido em Nó %s." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " @@ -7452,62 +7665,68 @@ msgstr ": Argumentos inválidos: " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableGet not found in script: " -msgstr "" +msgstr "VariableGet não encontrada no Script: " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableSet not found in script: " -msgstr "" +msgstr "VariableSet não encontrada no Script: " #: modules/visual_script/visual_script_nodes.cpp msgid "Custom node has no _step() method, can't process graph." -msgstr "" +msgstr "ImpossÃvel processar gráfico, Nó personalizado com Método no_step()." #: modules/visual_script/visual_script_nodes.cpp msgid "" "Invalid return value from _step(), must be integer (seq out), or string " "(error)." msgstr "" +"Valor de retorno from _step() inválido, tem de ser inteiro (seq out), ou " +"string (error)." #: platform/javascript/export/export.cpp msgid "Run in Browser" -msgstr "" +msgstr "Executar no Navegador" #: platform/javascript/export/export.cpp msgid "Run exported HTML in the system's default browser." -msgstr "" +msgstr "Executar HTML exportado no Navegador padrão do sistema." #: platform/javascript/export/export.cpp msgid "Could not write file:\n" -msgstr "" +msgstr "ImpossÃvel escrever Ficheiro:\n" #: platform/javascript/export/export.cpp msgid "Could not open template for export:\n" -msgstr "" +msgstr "ImpossÃvel abrir Modelo para exportar:\n" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Invalid export template:\n" -msgstr "Nome de Ãndice propriedade inválido." +msgstr "Modelo de exportação inválido:\n" #: platform/javascript/export/export.cpp msgid "Could not read custom HTML shell:\n" -msgstr "" +msgstr "ImpossÃvel ler Shell HTML personalizado:\n" #: platform/javascript/export/export.cpp msgid "Could not read boot splash image file:\n" -msgstr "" +msgstr "ImpossÃvel ler Ficheiro do ecrã de inicialização:\n" #: scene/2d/animated_sprite.cpp msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite to display frames." msgstr "" +"Um recurso SpriteFrames tem de ser criado ou definido na Propriedade " +"'Frames' para que AnimatedSprite mostre Frames." #: scene/2d/canvas_modulate.cpp msgid "" "Only one visible CanvasModulate is allowed per scene (or set of instanced " "scenes). The first created one will work, while the rest will be ignored." msgstr "" +"Só é permitido um CanvasModulate visÃvel por Cena (ou grupo de Cenas " +"instanciadas). O primeiro a ser criado funcionará, enquanto o resto será " +"ignorado." #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -7515,10 +7734,13 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"CollisionPolygon2D serve apenas para fornecer uma forma de colisão a um Nó " +"derivado de CollisionObject2D. Use-o apenas como um filho de Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para lhes dar uma forma." #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." -msgstr "" +msgstr "Um CollisionPolygon2D vazio não tem efeito na colisão." #: scene/2d/collision_shape_2d.cpp msgid "" @@ -7526,54 +7748,72 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"CollisionShape2D serve apenas para fornecer uma forma de colisão a um Nó " +"derivado de CollisionObject2D. Use-o apenas como um filho de Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para lhes dar uma forma." #: scene/2d/collision_shape_2d.cpp msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" msgstr "" +"Uma forma tem de ser fornecida para CollisionShape2D funcionar. Crie um " +"recurso forma!" #: scene/2d/light_2d.cpp msgid "" "A texture with the shape of the light must be supplied to the 'texture' " "property." msgstr "" +"Uma textura com a forma da luz tem de ser disponibilizada na Propriedade " +"'textura'." #: scene/2d/light_occluder_2d.cpp msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." msgstr "" +"Um PolÃgono oclusor tem de definido (ou desenhado) para este Oclusor ter " +"efeito." #: scene/2d/light_occluder_2d.cpp msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" -msgstr "" +msgstr "O PolÃgono oclusor deste Oclusor está vazio. Desenhe um PolÃgono!" #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " "Please set a property or draw a polygon." msgstr "" +"Um recurso NavigationPolygon tem de ser definido ou criado para este Nó " +"funcionar. Defina a Propriedade ou desenhe o PolÃgono." #: scene/2d/navigation_polygon.cpp msgid "" "NavigationPolygonInstance must be a child or grandchild to a Navigation2D " "node. It only provides navigation data." msgstr "" +"NavigationPolygonInstance tem de ser filho ou neto de um Nó Navigation2D. " +"Apenas fornece dados de navegação." #: scene/2d/parallax_layer.cpp msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." msgstr "" +"O Nó ParallaxLayer só funciona quando definido como filho de um Nó " +"ParallaxBackground." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" "A material to process the particles is not assigned, so no behavior is " "imprinted." msgstr "" +"Não foi atribuÃdo um Material para processar as partÃculas, não possuindo um " +"comportamento." #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "" +"PathFollow2D apenas funciona quando definido como filho de um Nó Path2D." #: scene/2d/physics_body_2d.cpp msgid "" @@ -7581,44 +7821,74 @@ msgid "" "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"Mudanças no tamanho do RigidBody2D (em modos caráter ou rÃgido) serão " +"reescritas pelo motor de fÃsica na execução.\n" +"Mude antes o tamanho das formas de colisão filhas." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." msgstr "" +"Para funcionar, a Propriedade Caminho tem de apontar para um Nó Node2D " +"válido." #: scene/2d/visibility_notifier_2d.cpp msgid "" "VisibilityEnable2D works best when used with the edited scene root directly " "as parent." msgstr "" +"VisibilityEnable2D funciona melhor quando usado diretamente como parente na " +"Cena raiz editada." #: scene/3d/arvr_nodes.cpp msgid "ARVRCamera must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRCamera precisa de um Nó ARVROrigin como parente" #: scene/3d/arvr_nodes.cpp msgid "ARVRController must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRController precisa de um Nó ARVROrigin como parente" #: scene/3d/arvr_nodes.cpp msgid "" "The controller id must not be 0 or this controller will not be bound to an " "actual controller" msgstr "" +"O id do controlador não pode ser 0 senão este controlador não será vinculado " +"a um controlador real" #: scene/3d/arvr_nodes.cpp msgid "ARVRAnchor must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRAnchor precisa de um Nó ARVROrigin como parente" #: scene/3d/arvr_nodes.cpp msgid "" "The anchor id must not be 0 or this anchor will not be bound to an actual " "anchor" msgstr "" +"O id da âncora não pode ser 0 senão esta âncora não será vinculada a uma " +"âncora real" #: scene/3d/arvr_nodes.cpp msgid "ARVROrigin requires an ARVRCamera child node" -msgstr "" +msgstr "ARVROrigin exige um Nó filho ARVRCamera" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "A desenhar Meshes" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "A desenhar Meshes" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "A concluir desenho" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "A desenhar Meshes" #: scene/3d/collision_polygon.cpp msgid "" @@ -7626,10 +7896,13 @@ msgid "" "CollisionObject derived node. Please only use it as a child of Area, " "StaticBody, RigidBody, KinematicBody, etc. to give them a shape." msgstr "" +"CollisionPolygon serve apenas para fornecer uma forma de colisão a um Nó " +"derivado de CollisionObject. Use-o apenas como um filho de Area, StaticBody, " +"RigidBody, KinematicBody, etc. para lhes dar uma forma." #: scene/3d/collision_polygon.cpp msgid "An empty CollisionPolygon has no effect on collision." -msgstr "" +msgstr "Um CollisionPolygon vazio não tem efeito na colisão." #: scene/3d/collision_shape.cpp msgid "" @@ -7637,35 +7910,41 @@ msgid "" "derived node. Please only use it as a child of Area, StaticBody, RigidBody, " "KinematicBody, etc. to give them a shape." msgstr "" +"CollisionShape serve apenas para fornecer uma forma de colisão a um Nó " +"derivado de CollisionObject. Use-o apenas como um filho de Area, StaticBody, " +"RigidBody, KinematicBody, etc. para lhes dar uma forma." #: scene/3d/collision_shape.cpp msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it!" msgstr "" +"Uma forma tem de ser fornecida para CollisionShape funcionar. Crie um " +"recurso forma!" #: scene/3d/gi_probe.cpp msgid "Plotting Meshes" -msgstr "" - -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" +msgstr "A desenhar Meshes" #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" +"Um recurso NavigationMesh tem de ser definido ou criado para este Nó " +"funcionar." #: scene/3d/navigation_mesh.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +"NavigationMeshInstance tem de ser filho ou neto de um Nó Navigation. Apenas " +"fornece dados de navegação." #: scene/3d/particles.cpp msgid "" "Nothing is visible because meshes have not been assigned to draw passes." msgstr "" +"Nada é visÃvel porque não foram atribuÃdas Meshes aos passos de desenho." #: scene/3d/physics_body.cpp msgid "" @@ -7673,52 +7952,58 @@ msgid "" "the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"Mudanças no tamanho do RigidBody (em modos caráter ou rÃgido) serão " +"reescritas pelo motor de fÃsica na execução.\n" +"Mude antes o tamanho das formas de colisão filhas." #: scene/3d/remote_transform.cpp msgid "Path property must point to a valid Spatial node to work." msgstr "" +"Para funcionar, a Propriedade Caminho tem de apontar para um Nó Spatial " +"válido." #: scene/3d/scenario_fx.cpp msgid "" "Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." msgstr "" +"Apenas um WorldEnvironment é permitido por Cena (ou grupo de cenas " +"instanciadas)." #: scene/3d/sprite_3d.cpp msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" +"Um recurso SpriteFrames tem de ser criado ou definido na Propriedade " +"'Frames' de forma a que AnimatedSprite3D mostre frames." #: scene/3d/vehicle_body.cpp msgid "" "VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " "it as a child of a VehicleBody." msgstr "" +"VehicleWheel fornece um sistema de rodas a um VehicleBody. Use-o como um " +"filho de VehicleBody." #: scene/gui/color_picker.cpp msgid "Raw Mode" -msgstr "" +msgstr "Modo Raw" #: scene/gui/color_picker.cpp msgid "Add current color as a preset" -msgstr "" - -#: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" +msgstr "Adicionar cor atual como predefinição" #: scene/gui/dialogs.cpp msgid "Alert!" -msgstr "" +msgstr "Alerta!" #: scene/gui/dialogs.cpp msgid "Please Confirm..." -msgstr "" +msgstr "Confirme por favor..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Adicionar propriedade Setter" +msgstr "Selecionar esta pasta" #: scene/gui/popup.cpp msgid "" @@ -7726,6 +8011,9 @@ msgid "" "functions. Making them visible for editing is fine though, but they will " "hide upon running." msgstr "" +"Popups estão escondidas por defeito a não ser que chame popup() ou qualquer " +"das funções popup*(). Torná-las visÃveis para edição é aceitável, mas serão " +"escondidas na execução." #: scene/gui/scroll_container.cpp msgid "" @@ -7733,16 +8021,21 @@ msgid "" "Use a container as child (VBox,HBox,etc), or a Control and set the custom " "minimum size manually." msgstr "" +"ScrollContainer está destinado a funcionar com um único controlo filho.\n" +"Use um contentor como filho (VBox,HBox,etc), um um Control e defina o " +"tamanho mÃnimo manualmente." #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "(Outro)" #: scene/main/scene_tree.cpp msgid "" "Default Environment as specified in Project Setings (Rendering -> Viewport -" "> Default Environment) could not be loaded." msgstr "" +"Ambiente padrão especificado em Configuração do Projeto (Rendering -> " +"Viewport -> Default Environment) não pode ser carregado." #: scene/main/viewport.cpp msgid "" @@ -7751,22 +8044,50 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" +"Esta vista não está definida como alvo de Renderização. Se pretende " +"apresentar o seu conteúdo diretamente no ecrã, torne-a um filho de um " +"Control de modo a que obtenha um tamanho. Caso contrário, torne-a um " +"RenderTarget e atribua a sua textura interna a outro Nó para visualizar." #: scene/resources/dynamic_font.cpp msgid "Error initializing FreeType." -msgstr "" +msgstr "Erro ao inicializar FreeType." #: scene/resources/dynamic_font.cpp msgid "Unknown font format." -msgstr "" +msgstr "Formato de letra inválido." #: scene/resources/dynamic_font.cpp msgid "Error loading font." -msgstr "" +msgstr "Erro ao carregar letra." #: scene/resources/dynamic_font.cpp msgid "Invalid font size." -msgstr "Tamanho de fonte inválido." +msgstr "Tamanho de letra inválido." + +#~ msgid "Move Add Key" +#~ msgstr "Mover Adicionar Chave" + +#~ msgid "Create Subscription" +#~ msgstr "Criar subscrição" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Definir máscara de emissão" + +#~ msgid "Clear Emitter" +#~ msgstr "Limpar emissor" + +#~ msgid "Fold Line" +#~ msgstr "Dobrar linha" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Secções:" #, fuzzy #~ msgid "Invalid unique name." diff --git a/editor/translations/ru.po b/editor/translations/ru.po index 0a85fe0477..0dd2003fd3 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -1,6 +1,6 @@ # Russian translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # B10nicMachine <shumik1337@gmail.com>, 2017. @@ -17,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-22 20:31+0000\n" -"Last-Translator: outbools <drag4e@yandex.ru>\n" +"PO-Revision-Date: 2017-11-29 10:40+0000\n" +"Last-Translator: ijet <my-ijet@mail.ru>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -38,8 +38,9 @@ msgid "All Selection" msgstr "Ð’Ñе выбранные Ñлементы" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Подвинуть ключ" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Изменить значение" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -50,7 +51,8 @@ msgid "Anim Change Transform" msgstr "Изменить положение" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Изменить значение" #: editor/animation_editor.cpp @@ -544,8 +546,9 @@ msgid "Connecting Signal:" msgstr "Подключение Ñигнала:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Создать подпиÑку" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "ПриÑоединить '%s' к '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -561,7 +564,8 @@ msgid "Signals" msgstr "Сигналы" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Создать новый" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -576,7 +580,7 @@ msgstr "Ðедавнее:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "ПоиÑк:" @@ -617,6 +621,7 @@ msgstr "" "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑтупÑÑ‚ в Ñилу поÑле перезапуÑка." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ЗавиÑимоÑти" @@ -719,9 +724,10 @@ msgid "Delete selected files?" msgstr "Удалить выбранные файлы?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Удалить" @@ -864,6 +870,11 @@ msgid "Rename Audio Bus" msgstr "Переименовать аудио шину" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Переключить аудио шину - Ñоло" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Переключить аудио шину - Ñоло" @@ -911,8 +922,8 @@ msgstr "Bypass" msgid "Bus options" msgstr "Параметры шины" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Дублировать" @@ -925,6 +936,10 @@ msgid "Delete Effect" msgstr "Удалить Ñффект" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Добавить аудио шину" @@ -1081,7 +1096,8 @@ msgstr "Путь:" msgid "Node Name:" msgstr "Ð˜Ð¼Ñ Ð£Ð·Ð»Ð°:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "ИмÑ" @@ -1089,10 +1105,6 @@ msgstr "ИмÑ" msgid "Singleton" msgstr "Синглтон" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "СпиÑок:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Обновление Ñцены" @@ -1105,6 +1117,15 @@ msgstr "Сохранение локальных изменений.." msgid "Updating scene.." msgstr "Обновление Ñцены.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(пуÑто)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "ПожалуйÑта, выберите базовый каталог" @@ -1151,9 +1172,24 @@ msgid "File Exists, Overwrite?" msgstr "Файл ÑущеÑтвует, перезапиÑать?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Создать папку" +msgstr "Выбрать текущую папку" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Копировать путь" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "ПроÑмотреть в проводнике" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Обновить" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1202,10 +1238,6 @@ msgid "Go Up" msgstr "Вверх" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Обновить" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Скрыть файлы" @@ -1385,7 +1417,8 @@ msgstr "Вывод:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "ОчиÑтить" @@ -1543,14 +1576,12 @@ msgstr "" "понÑть Ñтот процеÑÑ." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Развернуть вÑе" +msgstr "Развернуть вÑе ÑвойÑтва" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Свернуть вÑе" +msgstr "Свернуть вÑе ÑвойÑтва" #: editor/editor_node.cpp msgid "Copy Params" @@ -2334,6 +2365,16 @@ msgstr "СущноÑть" msgid "Frame #:" msgstr "Кадр #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "ВремÑ:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Вызов" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Выберите уÑтройÑтво из ÑпиÑка" @@ -2475,7 +2516,8 @@ msgstr "Ðет ответа." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ðµ прошёл." #: editor/export_template_manager.cpp @@ -2522,7 +2564,8 @@ msgid "Connecting.." msgstr "Подключение.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Ðе удаётÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ" #: editor/export_template_manager.cpp @@ -2619,6 +2662,11 @@ msgid "Error moving:\n" msgstr "Ошибка перемещениÑ:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Ошибка при загрузке:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Ðе удаётÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ завиÑимоÑти:\n" @@ -2651,6 +2699,16 @@ msgid "Renaming folder:" msgstr "Переименование папки:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Дублировать" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Переименование папки:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Развернуть вÑе" @@ -2659,10 +2717,6 @@ msgid "Collapse all" msgstr "Свернуть вÑе" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Копировать путь" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Переименовать.." @@ -2671,12 +2725,9 @@ msgid "Move To.." msgstr "ПеремеÑтить в.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "ПроÑмотреть в проводнике" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Открыть Ñцену" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2691,6 +2742,11 @@ msgid "View Owners.." msgstr "ПроÑмотреть владельцев.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Дублировать" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Предыдущий каталог" @@ -2785,6 +2841,16 @@ msgid "Importing Scene.." msgstr "Импортирование Ñцены.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Передача в карты оÑвещениÑ:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Генерировать AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "ЗапуÑк пользовательÑкого Ñкрипта.." @@ -3033,54 +3099,51 @@ msgstr "Копировать анимацию" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Режим кальки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Включить режим кальки" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Разделы:" +msgstr "ÐаправлениÑ" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Ð’Ñтавить" +msgstr "Прошлые" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "СвойÑтва" +msgstr "Будущие" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Глубина" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 шаг" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 шага" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 шага" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Только разница" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Принудительно раÑкрашивание белым" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Включать 3D гизмо" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3357,6 +3420,7 @@ msgid "last" msgstr "поÑледний" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Ð’Ñе" @@ -3398,6 +3462,28 @@ msgstr "ТеÑтируемые" msgid "Assets ZIP File" msgstr "ZIP файл аÑÑетов" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Передача в карты оÑвещениÑ:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "ПредпроÑмотр" @@ -3536,7 +3622,6 @@ msgid "Toggles snapping" msgstr "Переключение прилипаниÑ" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "ИÑпользовать привÑзку" @@ -3716,16 +3801,6 @@ msgstr "Ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñцены из %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Ок :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Ðе выбран родитель Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ°." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Ðта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ одного выбранного узла." @@ -3837,7 +3912,7 @@ msgstr "Удерживайте Shift, чтобы изменить каÑател #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "Запечь GI Probe" +msgstr "Запечь GI пробу" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" @@ -3921,6 +3996,22 @@ msgid "Create Navigation Mesh" msgstr "Создать полиÑетку навигации" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Ð’ MeshInstance нет полиÑетки!" @@ -3961,6 +4052,20 @@ msgid "Create Outline Mesh.." msgstr "Создать полиÑетку обводки.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Обзор" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Обзор" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Создать полиÑетку обводки" @@ -4137,10 +4242,6 @@ msgid "Create Navigation Polygon" msgstr "Создать Navigation Polygon" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "МаÑка выброÑа очищена" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Генерировать AABB" @@ -4158,10 +4259,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Ðикаких пикÑелей Ñ Ð¿Ñ€Ð¾Ð·Ñ€Ð°Ñ‡Ð½Ð¾Ñтью > 128 в изображении.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "УÑтановлена маÑка выброÑа" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Создать облаÑть видимоÑти" @@ -4170,6 +4267,10 @@ msgid "Load Emission Mask" msgstr "МаÑка выброÑа загружена" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "МаÑка выброÑа очищена" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "ЧаÑтицы" @@ -4228,10 +4329,6 @@ msgid "Create Emission Points From Node" msgstr "Создать излучатель из узла" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ОчиÑтить излучатель" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Создать излучатель" @@ -4516,11 +4613,13 @@ msgstr "Сортировать" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "ПеремеÑтить вверх" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "ПеремеÑтить вниз" @@ -4536,7 +4635,7 @@ msgstr "Предыдущий Ñкрипт" msgid "File" msgstr "Файл" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Ðовый" @@ -4549,6 +4648,11 @@ msgid "Soft Reload Script" msgstr "МÑгко перезагрузить Ñкрипты" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Копировать путь" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Предыдущий файл" @@ -4739,11 +4843,8 @@ msgid "Clone Down" msgstr "Копировать вниз" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Свернуть Ñтроку" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Развернуть Ñтроку" #: editor/plugins/script_text_editor.cpp @@ -5065,12 +5166,20 @@ msgstr "Вершины" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS" -msgstr "Кадров/Ñек" +msgstr "FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align with view" msgstr "СовмеÑтить Ñ Ð²Ð¸Ð´Ð¾Ð¼" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Ок :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Ðе выбран родитель Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ°." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Режим нормалей" @@ -5178,6 +5287,20 @@ msgid "Scale Mode (R)" msgstr "Режим маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Локальные координаты" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Режим маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Режим привÑзки:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Вид Снизу" @@ -5250,10 +5373,6 @@ msgid "Configure Snap.." msgstr "ÐаÑтроить привÑзку.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Локальные координаты" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Окно преобразованиÑ.." @@ -5295,6 +5414,10 @@ msgid "Settings" msgstr "ÐаÑтройки" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Параметры привÑзки" @@ -5677,6 +5800,11 @@ msgid "Merge from scene?" msgstr "СлиÑние из Ñцены?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Ðабор тайлов.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Создать из Ñцены" @@ -5688,6 +5816,10 @@ msgstr "СлиÑние из Ñцены" msgid "Error" msgstr "Ошибка" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Отмена" + #: editor/project_export.cpp msgid "Runnable" msgstr "Ðктивный" @@ -5807,10 +5939,6 @@ msgid "Imported Project" msgstr "Импортированный проект" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Было бы неплохо назвать ваш проект." @@ -5969,6 +6097,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñƒ Ð²Ð°Ñ Ð½ÐµÑ‚ каких-либо проектов.\n" +"Хотите изучить официальные примеры в библиотеке шаблонов?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6076,8 +6206,9 @@ msgid "Joypad Button Index:" msgstr "Ð˜Ð½Ð´ÐµÐºÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸ джойÑтика:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Добавить дейÑтвие" +#, fuzzy +msgid "Erase Input Action" +msgstr "Удалить дейÑтвие" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6144,6 +6275,10 @@ msgid "Already existing" msgstr "Уже ÑущеÑтвует" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Добавить дейÑтвие" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ñтроек." @@ -6320,6 +6455,10 @@ msgid "New Script" msgstr "Ðовый Ñкрипт" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Сделать уникальным" @@ -6351,6 +6490,11 @@ msgstr "Бит %d, значение %d." msgid "On" msgstr "Вкл" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Добавить пуÑтоту" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Задать" @@ -6359,10 +6503,6 @@ msgstr "Задать" msgid "Properties:" msgstr "СвойÑтва:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Разделы:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Выбрать ÑвойÑтво" @@ -6931,6 +7071,10 @@ msgstr "УÑтановить из дерева" msgid "Shortcuts" msgstr "ГорÑчие клавиши" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Изменить Ñ€Ð°Ð´Ð¸ÑƒÑ Ñвета" @@ -6979,15 +7123,55 @@ msgstr "Изменить AABB чаÑтиц" msgid "Change Probe Extents" msgstr "Изменить Probe Extents" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Удалить точку кривой" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "Скопировать на платформу.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Библиотека" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Библиотека" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "СтатуÑ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Библиотеки: " @@ -7056,7 +7240,7 @@ msgstr "Ðтаж:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" -msgstr "Сетка" +msgstr "Ð¡ÐµÑ‚Ð¾Ñ‡Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð°" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Snap View" @@ -7688,6 +7872,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin требует дочерний узел ARVRCamera" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "ПоÑтроение Ñетки" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "ПоÑтроение Ñетки" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Завершение поÑтроениÑ" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "ПоÑтроение Ñетки" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7724,10 +7927,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "ПоÑтроение Ñетки" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Завершение поÑтроениÑ" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7792,10 +7991,6 @@ msgid "Add current color as a preset" msgstr "Добавить текущий цвет как преÑет" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Отмена" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Внимание!" @@ -7804,9 +7999,8 @@ msgid "Please Confirm..." msgstr "Подтверждение..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Выбрать метод" +msgstr "Выбрать Ñту папку" #: scene/gui/popup.cpp msgid "" @@ -7870,6 +8064,30 @@ msgstr "Ошибка загрузки шрифта." msgid "Invalid font size." msgstr "ÐедопуÑтимый размер шрифта." +#~ msgid "Move Add Key" +#~ msgstr "Подвинуть ключ" + +#~ msgid "Create Subscription" +#~ msgstr "Создать подпиÑку" + +#~ msgid "List:" +#~ msgstr "СпиÑок:" + +#~ msgid "Set Emission Mask" +#~ msgstr "УÑтановлена маÑка выброÑа" + +#~ msgid "Clear Emitter" +#~ msgstr "ОчиÑтить излучатель" + +#~ msgid "Fold Line" +#~ msgstr "Свернуть Ñтроку" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Разделы:" + #~ msgid "Cannot navigate to '" #~ msgstr "Ðе удалоÑÑŒ перейти к '" @@ -8409,9 +8627,6 @@ msgstr "ÐедопуÑтимый размер шрифта." #~ msgid "Making BVH" #~ msgstr "Создание BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Передача в карты оÑвещениÑ:" - #~ msgid "Allocating Texture #" #~ msgstr "Выделение текÑтуры #" @@ -8563,9 +8778,6 @@ msgstr "ÐедопуÑтимый размер шрифта." #~ msgid "Del" #~ msgstr "Удалить" -#~ msgid "Copy To Platform.." -#~ msgstr "Скопировать на платформу.." - #~ msgid "just pressed" #~ msgstr "проÑто нажата" diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 24c9c81792..83201baab1 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -1,6 +1,6 @@ # Slovak translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # J08nY <johnenter@gmail.com>, 2016. @@ -27,7 +27,7 @@ msgid "All Selection" msgstr "VÅ¡etky vybrané" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -39,7 +39,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -532,7 +532,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -549,8 +549,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "VytvoriÅ¥ adresár" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -564,7 +565,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -601,6 +602,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -701,9 +703,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -845,6 +848,11 @@ msgid "Rename Audio Bus" msgstr "VÅ¡etky vybrané" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "VÅ¡etky vybrané" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -892,8 +900,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -906,6 +914,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1057,7 +1069,8 @@ msgstr "Cesta:" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1065,10 +1078,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1081,6 +1090,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1131,6 +1148,23 @@ msgstr "" msgid "Select Current Folder" msgstr "VytvoriÅ¥ adresár" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "VytvoriÅ¥ adresár" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "VÅ¡etko rozpoznané" @@ -1178,10 +1212,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1362,7 +1392,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2259,6 +2290,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2394,7 +2433,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2442,7 +2481,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2535,6 +2574,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2567,15 +2610,19 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2588,12 +2635,8 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "VytvoriÅ¥ adresár" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "OtvoriÅ¥ súbor(y)" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2608,6 +2651,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2700,6 +2747,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3269,6 +3324,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3310,6 +3366,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3447,7 +3524,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3628,16 +3704,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3833,6 +3899,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3873,6 +3955,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Súbor:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Súbor:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4049,10 +4145,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4070,15 +4162,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4140,10 +4232,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4430,11 +4518,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4451,7 +4541,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4464,6 +4554,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4650,11 +4744,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4982,6 +5072,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5087,6 +5185,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5162,10 +5272,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5207,6 +5313,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5594,6 +5704,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Súbor:" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5605,6 +5720,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5722,10 +5841,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5985,8 +6100,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "VÅ¡etky vybrané" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6053,6 +6169,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6231,6 +6351,10 @@ msgid "New Script" msgstr "Popis:" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6263,6 +6387,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6271,10 +6399,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6835,6 +6959,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6883,15 +7011,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "VÅ¡etky vybrané" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7559,6 +7724,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7587,10 +7768,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7643,10 +7820,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7712,10 +7885,6 @@ msgstr "" #~ msgid "Filter:" #~ msgstr "Filter:" -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Súbor:" - #~ msgid "Ctrl+" #~ msgstr "Ctrl+" diff --git a/editor/translations/sl.po b/editor/translations/sl.po index 2e1fad7e6f..07b74c1367 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -1,16 +1,17 @@ # Slovenian translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # matevž lapajne <sivar.lapajne@gmail.com>, 2016-2017. +# Matjaž Vitas <matjaz.vitas@gmail.com>, 2017. # Simon Å ander <simon.sand3r@gmail.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:12+0000\n" -"Last-Translator: matevž lapajne <sivar.lapajne@gmail.com>\n" +"PO-Revision-Date: 2017-12-07 02:49+0000\n" +"Last-Translator: Matjaž Vitas <matjaz.vitas@gmail.com>\n" "Language-Team: Slovenian <https://hosted.weblate.org/projects/godot-engine/" "godot/sl/>\n" "Language: sl\n" @@ -29,7 +30,7 @@ msgid "All Selection" msgstr "Vsa izbira" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -41,7 +42,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -69,9 +70,8 @@ msgid "Remove Anim Track" msgstr "" #: editor/animation_editor.cpp -#, fuzzy msgid "Set Transitions to:" -msgstr "Izberi Prevod:" +msgstr "Nastavite Prehode na:" #: editor/animation_editor.cpp msgid "Anim Track Rename" @@ -90,12 +90,14 @@ msgid "Anim Track Change Wrap Mode" msgstr "" #: editor/animation_editor.cpp +#, fuzzy msgid "Edit Node Curve" -msgstr "" +msgstr "Uredi Node Krivuljo" #: editor/animation_editor.cpp +#, fuzzy msgid "Edit Selection Curve" -msgstr "" +msgstr "Uredi Izbor Krivulje" #: editor/animation_editor.cpp msgid "Anim Delete Keys" @@ -177,11 +179,11 @@ msgstr "" #: editor/animation_editor.cpp msgid "Transitions" -msgstr "" +msgstr "Prehodi" #: editor/animation_editor.cpp msgid "Optimize Animation" -msgstr "" +msgstr "Optimiziraj Animacijo" #: editor/animation_editor.cpp msgid "Clean-Up Animation" @@ -202,7 +204,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp msgid "Create" -msgstr "Naredi" +msgstr "Ustvari" #: editor/animation_editor.cpp msgid "Anim Create & Insert" @@ -338,11 +340,11 @@ msgstr "" #: editor/animation_editor.cpp msgid "Clean-up all animations" -msgstr "" +msgstr "PobriÅ¡i vse animacije" #: editor/animation_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "" +msgstr "IzbriÅ¡i Animacij(o/e) (BREZ VRNITVE)" #: editor/animation_editor.cpp msgid "Clean-Up" @@ -534,7 +536,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -551,8 +553,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "Ustvari" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -566,7 +569,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -603,6 +606,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -703,9 +707,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -845,6 +850,11 @@ msgid "Rename Audio Bus" msgstr "Preimenuj Funkcijo" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Preimenuj Funkcijo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -893,8 +903,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -908,6 +918,10 @@ msgid "Delete Effect" msgstr "IzbriÅ¡i Izbrano" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1058,7 +1072,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1066,10 +1081,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1082,6 +1093,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1132,6 +1151,22 @@ msgstr "" msgid "Select Current Folder" msgstr "Dodaj Setter Lastnost" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1179,10 +1214,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1361,7 +1392,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2252,6 +2284,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2387,7 +2427,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2434,7 +2474,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2527,6 +2567,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2560,31 +2604,32 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Preimenuj Spremenljivko" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2600,6 +2645,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Podvoji Izbrano" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2692,6 +2742,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3257,6 +3315,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3298,6 +3357,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3435,7 +3515,6 @@ msgid "Toggles snapping" msgstr "Preklopi na Zaustavitev" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3616,16 +3695,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3820,6 +3889,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3860,6 +3945,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4036,10 +4133,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4057,15 +4150,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4127,10 +4220,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4417,11 +4506,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4437,7 +4528,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4450,6 +4541,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4639,14 +4734,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "IzbriÅ¡i Izbrano" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4972,6 +5063,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5076,6 +5175,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5150,10 +5261,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5195,6 +5302,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5579,6 +5690,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5590,6 +5705,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "PrekliÄi" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5707,10 +5826,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5969,7 +6084,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6039,6 +6154,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6216,6 +6335,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6247,6 +6370,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6255,10 +6382,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -6814,6 +6937,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6862,15 +6989,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Odstrani Signal" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7552,6 +7716,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7580,10 +7760,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7633,24 +7809,20 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Add current color as a preset" -msgstr "" - -#: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" +msgstr "Dodaj trenutno barvo za prednastavitev" #: scene/gui/dialogs.cpp msgid "Alert!" -msgstr "" +msgstr "Opozorilo!" #: scene/gui/dialogs.cpp +#, fuzzy msgid "Please Confirm..." -msgstr "" +msgstr "Potrdite..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Dodaj Setter Lastnost" +msgstr "Izberite mapo" #: scene/gui/popup.cpp msgid "" @@ -7658,6 +7830,9 @@ msgid "" "functions. Making them visible for editing is fine though, but they will " "hide upon running." msgstr "" +"Pojavna okna se bodo po privzeti nastavitvi skrila, razen ob klicu popup() " +"ali katerih izmed popup*() funkcij. Spreminjanje vidnosti za urejanje je " +"sprejemljivo, vendar se bodo ob zagonu skrila." #: scene/gui/scroll_container.cpp msgid "" @@ -7668,7 +7843,7 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "(Ostalo)" #: scene/main/scene_tree.cpp msgid "" @@ -7686,19 +7861,19 @@ msgstr "" #: scene/resources/dynamic_font.cpp msgid "Error initializing FreeType." -msgstr "" +msgstr "Napaka pri inicializaciji FreeType." #: scene/resources/dynamic_font.cpp msgid "Unknown font format." -msgstr "" +msgstr "Neznani format pisave." #: scene/resources/dynamic_font.cpp msgid "Error loading font." -msgstr "" +msgstr "Napaka naložitve pisave." #: scene/resources/dynamic_font.cpp msgid "Invalid font size." -msgstr "" +msgstr "Neveljavna velikost pisave." #, fuzzy #~ msgid "Invalid unique name." diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 8b3bfdf8bf..06b90e8b70 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -1,6 +1,6 @@ # Serbian (cyrillic) translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # ÐлекÑандар Урошевић <nicecubedude@gmail.com>, 2017. @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-26 15:50+0000\n" +"PO-Revision-Date: 2017-12-14 23:08+0000\n" "Last-Translator: ÐлекÑандар Урошевић <alek.sandar0@yandex.com>\n" "Language-Team: Serbian (cyrillic) <https://hosted.weblate.org/projects/godot-" "engine/godot/sr_Cyrl/>\n" @@ -28,81 +28,83 @@ msgid "All Selection" msgstr "Све одабрано" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Помери кључ" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Промени вредноÑÑ‚" #: editor/animation_editor.cpp msgid "Anim Change Transition" -msgstr "Промените прелаз" +msgstr "Промени прелаз" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Промените положај" +msgstr "Промени положај" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "Промените вредноÑÑ‚" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Промени вредноÑÑ‚" #: editor/animation_editor.cpp msgid "Anim Change Call" -msgstr "Промените позив анимације" +msgstr "Промени позив анимације" #: editor/animation_editor.cpp msgid "Anim Add Track" -msgstr "Додајте нову траку" +msgstr "Додај нову траку" #: editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Дуплирајте кључеве" +msgstr "Дуплирај кључеве" #: editor/animation_editor.cpp msgid "Move Anim Track Up" -msgstr "Померите траку горе" +msgstr "Помери траку горе" #: editor/animation_editor.cpp msgid "Move Anim Track Down" -msgstr "Померите траку доле" +msgstr "Помери траку доле" #: editor/animation_editor.cpp msgid "Remove Anim Track" -msgstr "Обришите траку анимације" +msgstr "Обриши траку анимације" #: editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "ПоÑтавите прелаз на:" +msgstr "ПоÑтави прелаз на:" #: editor/animation_editor.cpp msgid "Anim Track Rename" -msgstr "Измените име анимације" +msgstr "Измени име анимације" #: editor/animation_editor.cpp msgid "Anim Track Change Interpolation" -msgstr "Измените интерполацију" +msgstr "Измени интерполацију" #: editor/animation_editor.cpp msgid "Anim Track Change Value Mode" -msgstr "Измените режим вредноÑти" +msgstr "Измени режим вредноÑти" #: editor/animation_editor.cpp msgid "Anim Track Change Wrap Mode" -msgstr "Измените режим цикла" +msgstr "Измени режим цикла" #: editor/animation_editor.cpp msgid "Edit Node Curve" -msgstr "Измените криву чвора" +msgstr "Измени криву чвора" #: editor/animation_editor.cpp msgid "Edit Selection Curve" -msgstr "Измените одабрану криву" +msgstr "Измени одабрану криву" #: editor/animation_editor.cpp msgid "Anim Delete Keys" -msgstr "Уколните кључеве" +msgstr "Уколни кључеве" #: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "Дуплирајте одабрано" +msgstr "Дуплирај одабрано" #: editor/animation_editor.cpp msgid "Duplicate Transposed" @@ -110,7 +112,7 @@ msgstr "Дуплирај транÑпоновану" #: editor/animation_editor.cpp msgid "Remove Selection" -msgstr "Обришите одабрано" +msgstr "Обриши одабрано" #: editor/animation_editor.cpp msgid "Continuous" @@ -534,8 +536,9 @@ msgid "Connecting Signal:" msgstr "Везујући Ñигнал:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Ðаправи претплату" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Повежи '%s' Ñа '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -551,7 +554,8 @@ msgid "Signals" msgstr "Сигнали" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Ðаправи нов" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -566,7 +570,7 @@ msgstr "ЧеÑте:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Тражи:" @@ -607,6 +611,7 @@ msgstr "" "Промене неће бити у ефекту док Ñе поново не отворе." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ЗавиÑноÑти" @@ -709,9 +714,10 @@ msgid "Delete selected files?" msgstr "Обриши одабране датотеке?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Обриши" @@ -854,6 +860,11 @@ msgid "Rename Audio Bus" msgstr "Преименуј звучни баÑ(контролер)" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Укљ./ИÑкљ. Ñоло звучног баÑа" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Укљ./ИÑкљ. Ñоло звучног баÑа" @@ -901,8 +912,8 @@ msgstr "Заобиђи" msgid "Bus options" msgstr "ПоÑтавке баÑа" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Дуплирај" @@ -915,6 +926,10 @@ msgid "Delete Effect" msgstr "Обриши ефекат" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Додај звучни баÑ" @@ -1065,7 +1080,8 @@ msgstr "Пут:" msgid "Node Name:" msgstr "Име чвора:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Име" @@ -1073,10 +1089,6 @@ msgstr "Име" msgid "Singleton" msgstr "Синглетон" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "ЛиÑта:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Ðжурирање Ñцене" @@ -1089,6 +1101,15 @@ msgstr "Чувам локалне промене..." msgid "Updating scene.." msgstr "Ðжурирам Ñцену..." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(празно)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Молим, одаберите базни директоријум" @@ -1135,9 +1156,24 @@ msgid "File Exists, Overwrite?" msgstr "Датотека поÑтоји, препиши?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Ðаправи директоријум" +msgstr "Одабери тренутни директоријум" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Копирај пут" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Покажи у менаџеру датотека" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Ðови директоријум..." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "ОÑвежи" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1186,10 +1222,6 @@ msgid "Go Up" msgstr "Иди горе" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "ОÑвежи" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Прикажи Ñакривене датотеке" @@ -1369,7 +1401,8 @@ msgstr "Излаз:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Обриши" @@ -1524,12 +1557,10 @@ msgstr "" "начин рада." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" msgstr "Прошири Ñве" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" msgstr "Умањи Ñве" @@ -2314,6 +2345,16 @@ msgstr "Сам" msgid "Frame #:" msgstr "Слика број:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Време:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Позиви цртања" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Одабери уређај Ñа лиÑте" @@ -2455,7 +2496,8 @@ msgstr "Ðема одговора." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Захтев није уÑпешан." #: editor/export_template_manager.cpp @@ -2502,7 +2544,8 @@ msgid "Connecting.." msgstr "Повезивање..." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "ÐеуÑпех при повезивању" #: editor/export_template_manager.cpp @@ -2598,6 +2641,11 @@ msgid "Error moving:\n" msgstr "Грешка при померању:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Грешка при учитавању:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Ðије могуће ажурирати завиÑноÑти:\n" @@ -2630,6 +2678,16 @@ msgid "Renaming folder:" msgstr "Преименовање директоријума:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Дуплирај" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Преименовање директоријума:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Прошири Ñве" @@ -2638,10 +2696,6 @@ msgid "Collapse all" msgstr "Умањи Ñве" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Копирај пут" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Преименуј..." @@ -2650,12 +2704,9 @@ msgid "Move To.." msgstr "Помери у..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Ðови директоријум..." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Покажи у менаџеру датотека" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Отвори Ñцену" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2670,6 +2721,11 @@ msgid "View Owners.." msgstr "Погледај влаÑнике..." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Дуплирај" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Претодни директоријум" @@ -2764,6 +2820,16 @@ msgid "Importing Scene.." msgstr "Увожење Ñцеене..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "ГенериÑање оÑног поравнаног граничниог оквира (AABB)" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "ГенериÑање оÑног поравнаног граничниог оквира (AABB)" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Обрађивање Ñкриптице..." @@ -3016,46 +3082,44 @@ msgid "Enable Onion Skinning" msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "ОпиÑ" +msgstr "Смерови" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Ðалепи" +msgstr "ПрошлоÑÑ‚" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "БудућноÑÑ‚" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Дубина" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 корак" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 корака" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 корака" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Само разлике" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Принудно бојење белом" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Убаци 3Д Ñправице" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3081,7 +3145,6 @@ msgid "Next (Auto Queue):" msgstr "Следећа (Ðутоматки ред):" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Cross-Animation Blend Times" msgstr "Вишеанимационо време мешања" @@ -3154,7 +3217,7 @@ msgstr "Мешавина 1:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "X-Fade време (Ñек.):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" @@ -3189,7 +3252,6 @@ msgid "Animation Node" msgstr "Ðнимациони чвор" #: editor/plugins/animation_tree_editor_plugin.cpp -#, fuzzy msgid "OneShot Node" msgstr "OneShot чвор" @@ -3214,7 +3276,6 @@ msgid "TimeScale Node" msgstr "TimeScale чвор" #: editor/plugins/animation_tree_editor_plugin.cpp -#, fuzzy msgid "TimeSeek Node" msgstr "TimeSeek чвор" @@ -3335,6 +3396,7 @@ msgid "last" msgstr "задњи" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Ñви" @@ -3376,6 +3438,27 @@ msgstr "ТеÑтирање" msgid "Assets ZIP File" msgstr "РеÑурÑи ЗИП датотека" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Преглед" @@ -3481,7 +3564,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+ДеÑни таÑтер миша: Ñелекција лиÑте дубине" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" @@ -3505,7 +3588,6 @@ msgid "Click to change object's rotation pivot." msgstr "Кликни за промену пивота ротације објекта." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Pan Mode" msgstr "Режим инÑпекције" @@ -3514,7 +3596,6 @@ msgid "Toggles snapping" msgstr "Укљ./ИÑкљ. лепљења" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "КориÑти лепљење" @@ -3694,16 +3775,6 @@ msgstr "Грешка при прављењу Ñцене од %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ОК :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Ðема родитеља за прављење Ñина." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Ова операција захтева један изабран чвор." @@ -3759,11 +3830,11 @@ msgstr "Раван1" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease in" -msgstr "" +msgstr "Улазна транзиција" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "Излазна транзиција" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" @@ -3848,7 +3919,7 @@ msgstr "" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "" +msgstr "Ðаправи оÑенчен полигон" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." @@ -3899,6 +3970,22 @@ msgid "Create Navigation Mesh" msgstr "Ðаправи навигациону мрежу" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance нема мрежу!" @@ -3939,6 +4026,20 @@ msgid "Create Outline Mesh.." msgstr "Ðаправи ивичну мрежу..." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Поглед" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Поглед" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Ðаправи ивичну мрежу" @@ -4115,17 +4216,13 @@ msgid "Create Navigation Polygon" msgstr "Ðаправи навигациони полигон" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "ОчиÑти маÑку емиÑије" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "ГенериÑање оÑног поравнаног граничниог оквира (AABB)" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" -msgstr "" +msgstr "Тачка Ñе Ñамо може поÑтавити у ParticlesMaterial процеÑни материјал" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" @@ -4136,10 +4233,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "У Ñлици нема пикÑела Ñа транÑпарентношћу већом од 128..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "ПоÑтави маÑку емиÑије" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Генериши правоугаоник видљивоÑти" @@ -4148,6 +4241,10 @@ msgid "Load Emission Mask" msgstr "Учитај маÑку емиÑије" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "ОчиÑти маÑку емиÑије" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "ЧеÑтице" @@ -4183,7 +4280,7 @@ msgstr "Чвор не Ñадржи геометрију (Ñтране)." #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "" +msgstr "ПроцеÑор материјала типа „ParticlesMaterial“ је неопходан." #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" @@ -4206,10 +4303,6 @@ msgid "Create Emission Points From Node" msgstr "Ðаправи тачке емиÑије од чвора" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ОчиÑти емитер" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Ðаправи емитер" @@ -4223,7 +4316,7 @@ msgstr "Тачке површи" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" -msgstr "" +msgstr "Тачке површи+Ðормала (УÑмерено)" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" @@ -4243,11 +4336,11 @@ msgstr "Обриши тачку из криве" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" -msgstr "" +msgstr "Обриши контролу излаза из криве" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove In-Control from Curve" -msgstr "" +msgstr "Обриши контролу улаза из криве" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4260,11 +4353,11 @@ msgstr "Помери тачку у криви" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" -msgstr "" +msgstr "Помери колнтролу улаза у криви" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Out-Control in Curve" -msgstr "" +msgstr "Помери контролу излаза у криви" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4288,7 +4381,7 @@ msgstr "ДеÑни клик: обриши тачку" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "Одабери контролне тачке (Shift+Превуците мишем)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4298,7 +4391,7 @@ msgstr "Додај тачку (у празном проÑтору)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "Подели Ñегмент (у криви)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4316,15 +4409,15 @@ msgstr "Тачка криве #" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve Point Position" -msgstr "" +msgstr "ПоÑтави позицију тачке криве" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve In Position" -msgstr "" +msgstr "ПоÑтави почетну позицију криве" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve Out Position" -msgstr "" +msgstr "ПоÑтави крајњу позицију криве" #: editor/plugins/path_editor_plugin.cpp msgid "Split Path" @@ -4336,11 +4429,11 @@ msgstr "Обриши тачку путање" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Out-Control Point" -msgstr "" +msgstr "Обриши тачку контроле излаза" #: editor/plugins/path_editor_plugin.cpp msgid "Remove In-Control Point" -msgstr "" +msgstr "Обриши тачку контроле улаза" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" @@ -4352,7 +4445,7 @@ msgstr "ТранÑформиши UV мапу" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" -msgstr "" +msgstr "Уредник UV 2Д полигона" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" @@ -4434,7 +4527,7 @@ msgstr "Обриши реÑурÑ" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" -msgstr "" +msgstr "Ðема реÑурÑа за копирање!" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -4494,11 +4587,13 @@ msgstr "Сортирање" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Помери горе" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Помери доле" @@ -4514,7 +4609,7 @@ msgstr "Претходна Ñкриптица" msgid "File" msgstr "Датотека" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Ðова" @@ -4524,15 +4619,20 @@ msgstr "Сачувај Ñве" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "" +msgstr "Мекано оÑвежење Ñкриптице" + +#: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Копирај пут" #: editor/plugins/script_editor_plugin.cpp msgid "History Prev" -msgstr "" +msgstr "ИÑторија претходно" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "" +msgstr "ИÑторија Ñледеће" #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" @@ -4556,7 +4656,7 @@ msgstr "Затвори Ñве" #: editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "" +msgstr "Затвори оÑтале зупчанике" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" @@ -4611,7 +4711,7 @@ msgstr "Претражи хијерархију клаÑа." #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "" +msgstr "Претражи документацију." #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." @@ -4666,7 +4766,7 @@ msgstr "Одабери боју" #: editor/plugins/script_text_editor.cpp msgid "Convert Case" -msgstr "" +msgstr "Конвертуј Ñлова" #: editor/plugins/script_text_editor.cpp msgid "Uppercase" @@ -4678,18 +4778,18 @@ msgstr "Мала Ñлова" #: editor/plugins/script_text_editor.cpp msgid "Capitalize" -msgstr "" +msgstr "Велика Ñлова" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" -msgstr "" +msgstr "ИÑеци" #: editor/plugins/script_text_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "" +msgstr "Копирај" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -4702,11 +4802,11 @@ msgstr "Обриши линију" #: editor/plugins/script_text_editor.cpp msgid "Indent Left" -msgstr "" +msgstr "Увучи лево" #: editor/plugins/script_text_editor.cpp msgid "Indent Right" -msgstr "" +msgstr "Увучи деÑно" #: editor/plugins/script_text_editor.cpp msgid "Toggle Comment" @@ -4717,36 +4817,33 @@ msgid "Clone Down" msgstr "Клонирај доле" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "ПреÑавији линију" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" +#, fuzzy +msgid "Fold/Unfold Line" +msgstr "Откриј линију" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "" +msgstr "Сакриј Ñве линије" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" -msgstr "" +msgstr "Откриј Ñве линије" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "" +msgstr "Потпун Ñимбол" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" -msgstr "" +msgstr "Обриши празнине Ñа крајева" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Spaces" -msgstr "" +msgstr "Претвори увучени ред у размаке" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Tabs" -msgstr "" +msgstr "Претвори увучени ред у TAB карактере" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" @@ -4755,27 +4852,27 @@ msgstr "ÐутоматÑко увлачење" #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Toggle Breakpoint" -msgstr "" +msgstr "ПоÑтави прекидну тачку" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "" +msgstr "Обриши Ñве прекидне тачке" #: editor/plugins/script_text_editor.cpp msgid "Goto Next Breakpoint" -msgstr "" +msgstr "Иди на Ñледећу прекудну тачку" #: editor/plugins/script_text_editor.cpp msgid "Goto Previous Breakpoint" -msgstr "" +msgstr "Иди на претходну прекидну тачку" #: editor/plugins/script_text_editor.cpp msgid "Convert To Uppercase" -msgstr "" +msgstr "Претвори у велика Ñлова" #: editor/plugins/script_text_editor.cpp msgid "Convert To Lowercase" -msgstr "" +msgstr "Претвори у мала Ñлова" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" @@ -4803,127 +4900,127 @@ msgstr "Шејдер" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Constant" -msgstr "" +msgstr "Промени Ñкаларну конÑтанту" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Constant" -msgstr "" +msgstr "Промени векторÑку конÑтанту" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Constant" -msgstr "" +msgstr "Промени RGB конÑтанту" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Operator" -msgstr "" +msgstr "Промени Ñкаларни оператор" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Operator" -msgstr "" +msgstr "Промени векторÑки оператор" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Scalar Operator" -msgstr "" +msgstr "Промени векторÑко-Ñкаларни оператор" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Operator" -msgstr "" +msgstr "Промени RGB оператор" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Toggle Rot Only" -msgstr "" +msgstr "Само ротација" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Function" -msgstr "" +msgstr "Промени Ñкаларну функцију" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Function" -msgstr "" +msgstr "Промени векторÑку функцију" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Uniform" -msgstr "" +msgstr "Промени Ñкаларну униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Uniform" -msgstr "" +msgstr "Промени векторÑку униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Uniform" -msgstr "" +msgstr "Промени RGB униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Default Value" -msgstr "" +msgstr "Промени уобичајену вредноÑÑ‚" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change XForm Uniform" -msgstr "" +msgstr "Промени XForm униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Texture Uniform" -msgstr "" +msgstr "Промени текÑтурну униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Cubemap Uniform" -msgstr "" +msgstr "Промени Cubemap униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Comment" -msgstr "" +msgstr "Промени коментар" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add/Remove to Color Ramp" -msgstr "" +msgstr "Додај/обириши из рампе боје" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add/Remove to Curve Map" -msgstr "" +msgstr "Додај/обриши из мапе криве" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Curve Map" -msgstr "" +msgstr "Модификуј мапу криве" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Input Name" -msgstr "" +msgstr "Промени улазно име" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Connect Graph Nodes" -msgstr "" +msgstr "Повежи чворове графа" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Disconnect Graph Nodes" -msgstr "" +msgstr "ИÑкључи чворове графа" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Remove Shader Graph Node" -msgstr "" +msgstr "Обриши чвор графа шејдера" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Move Shader Graph Node" -msgstr "" +msgstr "Помери чвор графа шејдера" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Duplicate Graph Node(s)" -msgstr "" +msgstr "Дуплирај чвор/ове графа" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Delete Shader Graph Node(s)" -msgstr "" +msgstr "Обриши чвор/ове графа шејдера" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Cyclic Connection Link" -msgstr "" +msgstr "Грешка: пронађена циклична веза" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Missing Input Connections" -msgstr "" +msgstr "Грешка: недоÑтаје улазна конекција" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add Shader Graph Node" -msgstr "" +msgstr "Додај чвор графа шејдера" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orthogonal" @@ -4935,7 +5032,7 @@ msgstr "ПерÑпективна пројекција" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Aborted." -msgstr "" +msgstr "ТранÑформација прекинута." #: editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." @@ -4951,7 +5048,7 @@ msgstr "ТранÑформација Z оÑе." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Plane Transform." -msgstr "" +msgstr "Види транÑформацију равни." #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -5011,7 +5108,7 @@ msgstr "деÑно" #: editor/plugins/spatial_editor_plugin.cpp msgid "Keying is disabled (no key inserted)." -msgstr "" +msgstr "Кључеви Ñу онемогућени (нема убачених кључева)." #: editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." @@ -5049,33 +5146,41 @@ msgstr "FPS" msgid "Align with view" msgstr "Поравнавање Ñа погледом" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "ОК :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Ðема родитеља за прављење Ñина." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" -msgstr "" +msgstr "Прикажи нормалу" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Wireframe" -msgstr "" +msgstr "Прикажи жичану мрежу" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Overdraw" -msgstr "" +msgstr "Рендген режим" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Unshaded" -msgstr "" +msgstr "Прикажи неоÑенчен" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "" +msgstr "Прикажи околину" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" -msgstr "" +msgstr "Прикажи Ñправице" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" -msgstr "" +msgstr "Прикажи информације" #: editor/plugins/spatial_editor_plugin.cpp msgid "View FPS" @@ -5087,51 +5192,51 @@ msgstr "Упола резолуције" #: editor/plugins/spatial_editor_plugin.cpp msgid "Audio Listener" -msgstr "" +msgstr "Звучни Ñлушалац" #: editor/plugins/spatial_editor_plugin.cpp msgid "Doppler Enable" -msgstr "" +msgstr "„Doppler“ режим" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" -msgstr "" +msgstr "Слободан поглед лево" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Right" -msgstr "" +msgstr "Слободан поглед деÑно" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Forward" -msgstr "" +msgstr "Слободан поглед напред" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "" +msgstr "Слободан поглед назад" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "" +msgstr "Слободан поглед горе" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" -msgstr "" +msgstr "Слободан поглед доле" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "" +msgstr "Брзина Ñлободног погледа" #: editor/plugins/spatial_editor_plugin.cpp msgid "preview" -msgstr "" +msgstr "преглед" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" -msgstr "" +msgstr "XForm дијалог" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)\n" -msgstr "" +msgstr "Режим Ñелекције (Q)\n" #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -5139,78 +5244,95 @@ msgid "" "Alt+Drag: Move\n" "Alt+RMB: Depth list selection" msgstr "" +"Превуците мишем: ротација\n" +"Alt+превуците мишем: померај\n" +"Alt+деÑни таÑтер миша: Ñелекција лиÑте дубине" #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode (W)" -msgstr "" +msgstr "Режим помераја (W)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode (E)" -msgstr "" +msgstr "Режим ротације (E)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Mode (R)" -msgstr "" +msgstr "Режим Ñкалирања (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Локалне координате" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Режим Ñкалирања (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Режим лепљења:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" -msgstr "" +msgstr "Поглед одоздо" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" -msgstr "" +msgstr "Поглед одозго" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View" -msgstr "" +msgstr "Поглед позади" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View" -msgstr "" +msgstr "Поглед иÑпред" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View" -msgstr "" +msgstr "Поглед Ñ Ð»ÐµÐ²Ð°" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View" -msgstr "" +msgstr "Поглед Ñ Ð´ÐµÑна" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal view" -msgstr "" +msgstr "Пребаци у перÑпективни/ортогонални поглед" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "" +msgstr "Убаци анимациони кључ" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" -msgstr "" +msgstr "Ð¤Ð¾ÐºÑƒÑ Ð½Ð° центар" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Selection" -msgstr "" +msgstr "Ð¤Ð¾ÐºÑƒÑ Ð½Ð° Ñелекцију" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Selection With View" -msgstr "" +msgstr "Поравнај одабрано Ñа погледом" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Select" -msgstr "" +msgstr "Избор алатки" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Move" -msgstr "" +msgstr "Ðлат помераја" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Rotate" -msgstr "" +msgstr "Ðлат ротације" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Scale" -msgstr "" +msgstr "Ðлат Ñкалирања" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Freelook" @@ -5218,88 +5340,88 @@ msgstr "Укљ./ИÑкљ. режим Ñлободног гледања" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform" -msgstr "" +msgstr "ТранÑформација" #: editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap.." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" +msgstr "Конфигуриши лепљење..." #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." -msgstr "" +msgstr "Прозор транÑформације..." #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "" +msgstr "1 прозор" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "" +msgstr "2 прозора" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "" +msgstr "2 прозора (алтернатива)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "" +msgstr "3 прозора" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "" +msgstr "3 прозора (алтернатива)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "" +msgstr "4 прозора" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" -msgstr "" +msgstr "Прикажи центар" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" -msgstr "" +msgstr "Прикажи мрежу" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Settings" +msgstr "ПоÑтавке" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" -msgstr "" +msgstr "ПоÑтавке лепљења" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate Snap:" -msgstr "" +msgstr "ТранÑформација лепљења:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" -msgstr "" +msgstr "Ротирај лепљење (у Ñтепенима):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Snap (%):" -msgstr "" +msgstr "Скалирај лепљење (%):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" -msgstr "" +msgstr "ПоÑтавке прозора" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" -msgstr "" +msgstr "Видеокруг перÑпективе (у Ñтепенима):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "" +msgstr "Минимум Z за приказ:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "" +msgstr "МакÑимум Z за приказ:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" @@ -5307,204 +5429,207 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate:" -msgstr "" +msgstr "Померај:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate (deg.):" -msgstr "" +msgstr "Ротација (Ñтепени):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale (ratio):" -msgstr "" +msgstr "Скала (размера):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Type" -msgstr "" +msgstr "Тип транÑформације" #: editor/plugins/spatial_editor_plugin.cpp msgid "Pre" -msgstr "" +msgstr "Пре" #: editor/plugins/spatial_editor_plugin.cpp msgid "Post" -msgstr "" +msgstr "ПоÑле" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" -msgstr "" +msgstr "Грешка: неуÑпех при учитавању реÑурÑа оквира!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frame" -msgstr "" +msgstr "Додај оквир" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" -msgstr "" +msgstr "РеÑÑƒÑ€Ñ Ð·Ð° копирање не поÑтоји или није текÑтура!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Paste Frame" -msgstr "" +msgstr "Ðалепи оквир" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Empty" -msgstr "" +msgstr "Додај празан" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Промени Ñ†Ð¸ÐºÐ»ÑƒÑ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ˜Ðµ" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" -msgstr "" +msgstr "Промени број Ñлика у Ñекунди (FPS)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" -msgstr "" +msgstr "(празно)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animations" -msgstr "" +msgstr "Ðнимације" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" -msgstr "" +msgstr "Брзина (FPS):" #: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy msgid "Loop" -msgstr "" +msgstr "ЦиклуÑ" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animation Frames" -msgstr "" +msgstr "Ðнимационе Ñлике" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" -msgstr "" +msgstr "Уметни празан (иза)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (After)" -msgstr "" +msgstr "Уметни празан (иÑпред)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (Before)" -msgstr "" +msgstr "Помери (иза)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (After)" -msgstr "" +msgstr "Помери (иÑпред)" #: editor/plugins/style_box_editor_plugin.cpp msgid "StyleBox Preview:" -msgstr "" +msgstr "StyleBox преглед:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Set Region Rect" -msgstr "" +msgstr "ПоÑтави правоугаони регион" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "" +msgstr "Режим лепљења:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<Ðиједан>" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "" +msgstr "Лепљење по пикÑелу" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" -msgstr "" +msgstr "Лепљење по мрежи" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "ÐутоматÑки рез" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "" +msgstr "ОфÑет:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "" +msgstr "Корак:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Separation:" -msgstr "" +msgstr "ОдвојеноÑÑ‚:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region" -msgstr "" +msgstr "Регион текÑтуре" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" -msgstr "" +msgstr "Уредник региона текÑтуре" #: editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" -msgstr "" +msgstr "ÐеуÑпех при чувању теме:" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All Items" -msgstr "" +msgstr "Додај Ñве Ñтавке" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All" -msgstr "" +msgstr "Додај Ñве" #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "Обриши Ñтавку" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" -msgstr "" +msgstr "Обриши Ñве Ñтавке" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All" -msgstr "" +msgstr "Обриши Ñве" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "Измени тему..." #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "Мени уређивања теме." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "" +msgstr "Додај Ñтавке клаÑе" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "" +msgstr "Обриши Ñтавке клаÑе" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" -msgstr "" +msgstr "Ðаправи празан шаблон" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Editor Template" -msgstr "" +msgstr "Ðаправи празан шаблон за уредник" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" -msgstr "" +msgstr "Ðаправи од тренутне теме уредника" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "CheckBox Radio1" -msgstr "" +msgstr "CheckBox Radio1" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "CheckBox Radio2" -msgstr "" +msgstr "CheckBox Radio2" #: editor/plugins/theme_editor_plugin.cpp msgid "Item" -msgstr "" +msgstr "Ставка" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" @@ -5516,88 +5641,91 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Has" -msgstr "" +msgstr "Има" #: editor/plugins/theme_editor_plugin.cpp msgid "Many" -msgstr "" +msgstr "Много" #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp msgid "Options" -msgstr "" +msgstr "Опција" #: editor/plugins/theme_editor_plugin.cpp msgid "Have,Many,Several,Options!" -msgstr "" +msgstr "Има,много,неколико,опција!" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Tab 1" -msgstr "" +msgstr "Tab 1" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Tab 2" -msgstr "" +msgstr "Tab 2" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 3" -msgstr "" +msgstr "Tab 3" #: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp #: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp msgid "Type:" -msgstr "" +msgstr "Тип:" #: editor/plugins/theme_editor_plugin.cpp msgid "Data Type:" -msgstr "" +msgstr "Тип податка:" #: editor/plugins/theme_editor_plugin.cpp msgid "Icon" -msgstr "" +msgstr "Икона" #: editor/plugins/theme_editor_plugin.cpp msgid "Style" -msgstr "" +msgstr "Стил" #: editor/plugins/theme_editor_plugin.cpp msgid "Font" -msgstr "" +msgstr "Фонт" #: editor/plugins/theme_editor_plugin.cpp msgid "Color" -msgstr "" +msgstr "Боја" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" -msgstr "" +msgstr "Обриши одабрано" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "" +msgstr "Цртај TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Line Draw" -msgstr "" +msgstr "Цртање линије" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" -msgstr "" +msgstr "Цртање правоугаоником" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy msgid "Bucket Fill" -msgstr "" +msgstr "Попуни" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" -msgstr "" +msgstr "Обриши TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase selection" -msgstr "" +msgstr "Обриши одабрано" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Find tile" -msgstr "" +msgstr "Ðађи плочицу" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" @@ -5605,133 +5733,151 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Mirror X" -msgstr "" +msgstr "Огледало X оÑе" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Mirror Y" -msgstr "" +msgstr "Огледало Y оÑе" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "" +msgstr "Цртај полчице" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" -msgstr "" +msgstr "Одабери плочицу" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" -msgstr "" +msgstr "Ротирај 0 Ñтепени" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 90 degrees" -msgstr "" +msgstr "Ротирај 90 Ñтепени" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 180 degrees" -msgstr "" +msgstr "Ротирај 180 Ñтепени" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 270 degrees" -msgstr "" +msgstr "Ротирај 270 Ñтепени" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Could not find tile:" -msgstr "" +msgstr "ÐеуÑпех при тражењу плочице:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Item name or ID:" -msgstr "" +msgstr "Име Ñтавке или идентификатор (ID):" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene?" -msgstr "" +msgstr "Ðаправи од Ñцене?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Merge from scene?" -msgstr "" +msgstr "Споји из Ñцене?" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "" +msgstr "Ðаправи од Ñцене" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Merge from Scene" -msgstr "" +msgstr "Споји од Ñцене" #: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Error" +msgstr "Грешка" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" msgstr "" #: editor/project_export.cpp msgid "Runnable" -msgstr "" +msgstr "Покретљива" #: editor/project_export.cpp msgid "Delete patch '%s' from list?" -msgstr "" +msgstr "Обриши закрпу „%s“ Ñа лиÑте?" #: editor/project_export.cpp +#, fuzzy msgid "Delete preset '%s'?" -msgstr "" +msgstr "Обриши поÑтавку „%s“?" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted: " -msgstr "" +msgstr "Извозни шаблони за ову платформу Ñу или иÑкварени или непоÑтојећи: " #: editor/project_export.cpp +#, fuzzy msgid "Presets" -msgstr "" +msgstr "ПоÑтавке" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add.." -msgstr "" +msgstr "Додај..." #: editor/project_export.cpp msgid "Resources" -msgstr "" +msgstr "РеÑурÑи" #: editor/project_export.cpp msgid "Export all resources in the project" -msgstr "" +msgstr "Извези Ñве реÑурÑе у пројекту" #: editor/project_export.cpp msgid "Export selected scenes (and dependencies)" -msgstr "" +msgstr "Извези одабране Ñцене (и завиÑноÑти)" #: editor/project_export.cpp msgid "Export selected resources (and dependencies)" -msgstr "" +msgstr "Извези одабране реÑурÑе (и завиÑноÑти)" #: editor/project_export.cpp msgid "Export Mode:" -msgstr "" +msgstr "Режим извоза:" #: editor/project_export.cpp msgid "Resources to export:" -msgstr "" +msgstr "РеÑурÑи за извоз:" #: editor/project_export.cpp +#, fuzzy msgid "" "Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" msgstr "" +"Филтери за извоз нереÑурÑких датотека (зарез за одвајање, пр. *.json, *.txt)" #: editor/project_export.cpp msgid "" "Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" msgstr "" +"Филтери за иÑкључивање датотека из пројекта (зарез за одвајање, пр. *.json, " +"*.txt)" #: editor/project_export.cpp msgid "Patches" -msgstr "" +msgstr "Закрпе" #: editor/project_export.cpp +#, fuzzy msgid "Make Patch" -msgstr "" +msgstr "Ðаправи закрп" #: editor/project_export.cpp msgid "Features" -msgstr "" +msgstr "КарактериÑтике" #: editor/project_export.cpp msgid "Custom (comma-separated):" @@ -5739,19 +5885,19 @@ msgstr "" #: editor/project_export.cpp msgid "Feature List:" -msgstr "" +msgstr "ЛиÑта карактериÑтика:" #: editor/project_export.cpp msgid "Export PCK/Zip" -msgstr "" +msgstr "Извоз PCK/Zip" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "Извозни шаблони за ову платформу ниÑу пронађени:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "" +msgstr "Извозни шаблони за ову платформу или ниÑу пронађени или Ñу иÑкварене:" #: editor/project_export.cpp msgid "Export With Debug" @@ -5780,10 +5926,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6040,8 +6182,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Обриши одабрано" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6108,6 +6251,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6284,6 +6431,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6315,6 +6466,11 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Додај празан" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6323,10 +6479,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6876,6 +7028,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6924,15 +7080,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Обриши тачку криве" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7581,6 +7774,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7609,10 +7818,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7665,10 +7870,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7677,9 +7878,8 @@ msgid "Please Confirm..." msgstr "" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Одабери режим" +msgstr "Одабери овај директоријум" #: scene/gui/popup.cpp msgid "" @@ -7729,6 +7929,24 @@ msgstr "" msgid "Invalid font size." msgstr "Ðеважећа величина фонта." +#~ msgid "Move Add Key" +#~ msgstr "Помери кључ" + +#~ msgid "Create Subscription" +#~ msgstr "Ðаправи претплату" + +#~ msgid "List:" +#~ msgstr "ЛиÑта:" + +#~ msgid "Set Emission Mask" +#~ msgstr "ПоÑтави маÑку емиÑије" + +#~ msgid "Clear Emitter" +#~ msgstr "ОчиÑти емитер" + +#~ msgid "Fold Line" +#~ msgstr "ПреÑавији линију" + #~ msgid "Cannot navigate to '" #~ msgstr "Ðе могу прећи у '" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index 782ff2c39e..6eb50bacf1 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -1,6 +1,6 @@ # Swedish translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # bergmarklund <davemcgroin@gmail.com>, 2017. @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:13+0000\n" +"PO-Revision-Date: 2017-12-01 23:50+0000\n" "Last-Translator: bergmarklund <davemcgroin@gmail.com>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/" "godot/sv/>\n" @@ -28,8 +28,9 @@ msgid "All Selection" msgstr "Alla urval" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Flytta Lägg Till Nyckel" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Ändra Värde" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -40,7 +41,8 @@ msgid "Anim Change Transform" msgstr "Anim Ändra Transformation" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Ändra Värde" #: editor/animation_editor.cpp @@ -569,8 +571,8 @@ msgstr "Ansluter Signal:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "Skapa Prenumeration" +msgid "Disconnect '%s' from '%s'" +msgstr "Anslut '%s' till '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -587,7 +589,8 @@ msgid "Signals" msgstr "Signaler" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Skapa Ny" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -603,7 +606,7 @@ msgstr "Senaste:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Sök:" @@ -648,6 +651,7 @@ msgstr "" "Ändringarna börjar gälla när den laddas om." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp #, fuzzy msgid "Dependencies" msgstr "Beroenden" @@ -769,9 +773,10 @@ msgid "Delete selected files?" msgstr "Ta bort valda filer?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Ta bort" @@ -937,6 +942,11 @@ msgstr "Byt namn pÃ¥ Ljud-Buss" #: editor/editor_audio_buses.cpp #, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Växla Ljud-Buss Solo" + +#: editor/editor_audio_buses.cpp +#, fuzzy msgid "Toggle Audio Bus Solo" msgstr "Växla Ljud-Buss Solo" @@ -995,8 +1005,8 @@ msgstr "Bypass" msgid "Bus options" msgstr "Buss-alternativ" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicera" @@ -1010,6 +1020,10 @@ msgid "Delete Effect" msgstr "Ta bort Effekt" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp #, fuzzy msgid "Add Audio Bus" msgstr "Lägg till Ljud-Buss" @@ -1196,7 +1210,8 @@ msgstr "Sökväg:" msgid "Node Name:" msgstr "Node Namn:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Namn" @@ -1205,10 +1220,6 @@ msgstr "Namn" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Uppdaterar Scen" @@ -1222,6 +1233,15 @@ msgstr "Lagrar lokala ändringar.." msgid "Updating scene.." msgstr "Uppdaterar scen.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(tom)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1278,6 +1298,24 @@ msgstr "Filen finns redan, skriv över?" msgid "Select Current Folder" msgstr "Skapa Mapp" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "Copy Path" +msgstr "Kopiera Sökvägen" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "Show In File Manager" +msgstr "Visa I Filhanteraren" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Ny Mapp.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Uppdatera" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1327,10 +1365,6 @@ msgid "Go Up" msgstr "GÃ¥ Upp" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Uppdatera" - -#: editor/editor_file_dialog.cpp #, fuzzy msgid "Toggle Hidden Files" msgstr "Växla Dolda Filer" @@ -1537,7 +1571,8 @@ msgstr "Output:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp #, fuzzy msgid "Clear" msgstr "Rensa" @@ -1553,9 +1588,8 @@ msgstr "Spara Resurs Som.." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -#, fuzzy msgid "I see.." -msgstr "Jag ser.." +msgstr "Jag förstÃ¥r.." #: editor/editor_node.cpp #, fuzzy @@ -2557,6 +2591,15 @@ msgstr "Själv" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tid:" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp #, fuzzy msgid "Select device from the list" @@ -2703,7 +2746,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2754,7 +2797,7 @@ msgstr "Ansluter.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "Kan inte Ansluta" #: editor/export_template_manager.cpp @@ -2854,6 +2897,11 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Fel vid laddning:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2890,6 +2938,16 @@ msgstr "Byter namn pÃ¥ mappen:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Duplicating file:" +msgstr "Duplicera" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Byter namn pÃ¥ mappen:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Expand all" msgstr "Expandera alla" @@ -2899,11 +2957,6 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "Copy Path" -msgstr "Kopiera Sökvägen" - -#: editor/filesystem_dock.cpp -#, fuzzy msgid "Rename.." msgstr "Byt namn.." @@ -2913,13 +2966,9 @@ msgid "Move To.." msgstr "Flytta Till.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Ny Mapp.." - -#: editor/filesystem_dock.cpp #, fuzzy -msgid "Show In File Manager" -msgstr "Visa I Filhanteraren" +msgid "Open Scene(s)" +msgstr "Öppna Scen" #: editor/filesystem_dock.cpp #, fuzzy @@ -2936,6 +2985,11 @@ msgid "View Owners.." msgstr "Visa Ägare.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicera" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -3033,6 +3087,14 @@ msgid "Importing Scene.." msgstr "Importerar Scen.." #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3618,6 +3680,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Alla" @@ -3660,6 +3723,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp #, fuzzy msgid "Preview" @@ -3795,7 +3879,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3978,17 +4061,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -#, fuzzy -msgid "No parent to instance a child at." -msgstr "Ingen förälder att instansiera ett barn till." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp #, fuzzy msgid "This operation requires a single selected node." msgstr "Ã…tgärden kräver en enstaka vald Node." @@ -4190,6 +4262,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -4230,6 +4318,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Visa" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Visa" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4413,10 +4515,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4434,15 +4532,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4505,10 +4603,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4799,12 +4893,14 @@ msgstr "Sortera" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp #, fuzzy msgid "Move Up" msgstr "Flytta Upp" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp #, fuzzy msgid "Move Down" msgstr "Flytta Ner" @@ -4823,7 +4919,7 @@ msgstr "FöregÃ¥ende Skript" msgid "File" msgstr "Fil" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Ny" @@ -4836,6 +4932,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopiera Sökvägen" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -5038,11 +5139,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -5392,6 +5489,15 @@ msgstr "FPS" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +#, fuzzy +msgid "No parent to instance a child at." +msgstr "Ingen förälder att instansiera ett barn till." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5499,6 +5605,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Bottom View" msgstr "Vy underifrÃ¥n" @@ -5578,10 +5696,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5623,6 +5737,10 @@ msgid "Settings" msgstr "Inställningar" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -6021,6 +6139,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Skapa frÃ¥n Scen" @@ -6033,6 +6156,11 @@ msgstr "" msgid "Error" msgstr "Fel" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +#, fuzzy +msgid "Cancel" +msgstr "Avbryt" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -6157,10 +6285,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "It would be a good idea to name your project." msgstr "Det vore en bra idé att namnge ditt projekt." @@ -6440,7 +6564,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6509,6 +6633,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6696,6 +6824,10 @@ msgid "New Script" msgstr "Nytt Skript" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6730,6 +6862,10 @@ msgstr "" msgid "On" msgstr "PÃ¥" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6738,11 +6874,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -#, fuzzy -msgid "Sections:" -msgstr "Sektioner:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -7343,6 +7474,10 @@ msgstr "" msgid "Shortcuts" msgstr "Genvägar" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -7391,16 +7526,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Flytta nuvarande spÃ¥r upp." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Bibliotek" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "Bibliotek" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Status" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Libraries: " msgstr "Bibliotek: " @@ -8103,6 +8277,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin kräver en ARVRCamera Barn-Node" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp #, fuzzy msgid "" @@ -8140,10 +8330,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -8199,11 +8385,6 @@ msgstr "Lägg till nuvarande färg som en förinställning" #: scene/gui/dialogs.cpp #, fuzzy -msgid "Cancel" -msgstr "Avbryt" - -#: scene/gui/dialogs.cpp -#, fuzzy msgid "Alert!" msgstr "Varning!" @@ -8268,3 +8449,17 @@ msgstr "Fel vid laddning av font." #, fuzzy msgid "Invalid font size." msgstr "Ogiltig teckenstorlek." + +#~ msgid "Move Add Key" +#~ msgstr "Flytta Lägg Till Nyckel" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "Skapa Prenumeration" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#, fuzzy +#~ msgid "Sections:" +#~ msgstr "Sektioner:" diff --git a/editor/translations/ta.po b/editor/translations/ta.po new file mode 100644 index 0000000000..30b6f45c0b --- /dev/null +++ b/editor/translations/ta.po @@ -0,0 +1,7791 @@ +# Tamil translation of the Godot Engine editor +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) +# This file is distributed under the same license as the Godot source code. +# +# Senthil Kumar K <logickumar@gmail.com>, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: Senthil Kumar K <logickumar@gmail.com>\n" +"Language-Team: Tamil <https://hosted.weblate.org/projects/godot-engine/godot/" +"ta/>\n" +"Language: ta\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.18\n" + +#: editor/animation_editor.cpp +msgid "Disabled" +msgstr "à®®à¯à®Ÿà®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯" + +#: editor/animation_editor.cpp +msgid "All Selection" +msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯" + +#: editor/animation_editor.cpp +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "மாறà¯à®± மதிபà¯à®ªà¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "மாறà¯à®±à®®à¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "உரà¯à®®à®¾à®±à¯à®±à®®à¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "மாறà¯à®± மதிபà¯à®ªà¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "மாறà¯à®± அழைபà¯à®ªà¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "அசைவூடà¯à®Ÿà¯ பாதை சேரà¯" + +#: editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "அசைவூடà¯à®Ÿà¯ போலிபசà¯à®šà®¾à®µà®¿à®•ளà¯" + +#: editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "அசைவூடà¯à®Ÿà¯ பாதையை மேலே நகரà¯à®¤à¯à®¤à¯" + +#: editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "அசைவூடà¯à®Ÿà¯ பாதையை கீழே நகரà¯à®¤à¯à®¤à¯" + +#: editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "அசைவூடà¯à®Ÿà¯ பாதையை நீகà¯à®•à¯" + +#: editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "மாறà¯à®±à®™à¯à®•ளை இதறà¯à®•௠அமை:" + +#: editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "அசைவூடà¯à®Ÿà¯ பாதைகà¯à®•௠மறà¯à®ªà¯†à®¯à®°à¯ இடà¯" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "அசைவூடà¯à®Ÿà¯ பாதை [interpolation]யை மாறà¯à®±à¯" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "அசைவூடà¯à®Ÿà¯ பாதை மதிபà¯à®ªà¯[value] விதம௠மாறà¯à®±à¯" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Wrap Mode" +msgstr "அசைவூடà¯à®Ÿà¯ பாதை மறை[wrap] விதம௠மாறà¯à®±à¯" + +#: editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "கண௠வளைவை[Node Curve] திரà¯à®¤à¯à®¤à¯" + +#: editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "தேரà¯à®µà¯ வளைவை [Selection Curve] திரà¯à®¤à¯à®¤à¯" + +#: editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp +#: editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: editor/animation_editor.cpp editor/create_dialog.cpp +#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +#: editor/plugins/mesh_instance_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp editor/project_manager.cpp +#: editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Select an AnimationPlayer from the Scene Tree to edit animations." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replaced %d occurrence(s)." +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: editor/code_editor.cpp editor/editor_node.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp +msgid "Search" +msgstr "" + +#: editor/code_editor.cpp editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: editor/code_editor.cpp +msgid "Zoom In" +msgstr "" + +#: editor/code_editor.cpp +msgid "Zoom Out" +msgstr "" + +#: editor/code_editor.cpp +msgid "Reset Zoom" +msgstr "" + +#: editor/code_editor.cpp editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: editor/code_editor.cpp +msgid "Col:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "" +"Target method not found! Specify a valid method or attach a script to target " +"Node." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect To Node:" +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp +#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp +msgid "Add" +msgstr "" + +#: editor/connections_dialog.cpp editor/dependency_editor.cpp +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp +#: editor/project_settings_editor.cpp +msgid "Remove" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: editor/connections_dialog.cpp editor/dependency_editor.cpp +#: editor/export_template_manager.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp +#: editor/project_settings_editor.cpp editor/property_editor.cpp +#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Close" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect '%s' from '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: editor/connections_dialog.cpp +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: editor/create_dialog.cpp +msgid "Create New %s" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_file_dialog.cpp +#: editor/filesystem_dock.cpp +msgid "Favorites:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_node.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp +msgid "Search:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_help.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_help.cpp +#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp +#: editor/script_editor_debugger.cpp +msgid "Description:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will not take effect unless reloaded." +msgstr "" + +#: editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will take effect when reloaded." +msgstr "" + +#: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dependencies" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Resource" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp +#: editor/project_manager.cpp editor/project_settings_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Path" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp +#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp scene/gui/file_dialog.cpp +msgid "Open" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (no undo)" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Cannot remove:\n" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Scene failed to load due to missing dependencies:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_node.cpp +msgid "Open Anyway" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Delete selected files?" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete" +msgstr "" + +#: editor/dictionary_property_edit.cpp +msgid "Change Dictionary Key" +msgstr "" + +#: editor/dictionary_property_edit.cpp +msgid "Change Dictionary Value" +msgstr "" + +#: editor/editor_about.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: editor/editor_about.cpp +msgid "Thanks!" +msgstr "" + +#: editor/editor_about.cpp +msgid "Godot Engine contributors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Project Founders" +msgstr "" + +#: editor/editor_about.cpp +msgid "Lead Developer" +msgstr "" + +#: editor/editor_about.cpp editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: editor/editor_about.cpp +msgid "Developers" +msgstr "" + +#: editor/editor_about.cpp +msgid "Authors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Platinum Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Gold Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Mini Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Gold Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Silver Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Bronze Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Donors" +msgstr "" + +#: editor/editor_about.cpp +msgid "License" +msgstr "" + +#: editor/editor_about.cpp +msgid "Thirdparty License" +msgstr "" + +#: editor/editor_about.cpp +msgid "" +"Godot Engine relies on a number of thirdparty free and open source " +"libraries, all compatible with the terms of its MIT license. The following " +"is an exhaustive list of all such thirdparty components with their " +"respective copyright statements and license terms." +msgstr "" + +#: editor/editor_about.cpp +msgid "All Components" +msgstr "" + +#: editor/editor_about.cpp +msgid "Components" +msgstr "" + +#: editor/editor_about.cpp +msgid "Licenses" +msgstr "" + +#: editor/editor_asset_installer.cpp editor/project_manager.cpp +msgid "Error opening package file, not in zip format." +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Uncompressing Assets" +msgstr "" + +#: editor/editor_asset_installer.cpp editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: editor/editor_asset_installer.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Success!" +msgstr "" + +#: editor/editor_asset_installer.cpp +#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Package Installer" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Speakers" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Rename Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Change Audio Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Solo" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Mute" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Bypass Effects" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Select Audio Bus Send" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Audio Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Move Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Audio Bus, Drag and Drop to rearrange." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Solo" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Mute" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Bypass" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Bus options" +msgstr "" + +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Reset Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Master bus can't be deleted!" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Duplicate Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Reset Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Move Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save Audio Bus Layout As.." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Location for New Layout.." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Open Audio Bus Layout" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "There is no 'res://default_bus_layout.tres' file." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Invalid file, not an audio bus layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.cpp editor/property_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Load" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Load an existing Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save this Bus Layout to a file." +msgstr "" + +#: editor/editor_audio_buses.cpp editor/import_dock.cpp +msgid "Load Default" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Load the default Bus Layout." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp +msgid "Path:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp +msgid "Name" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: editor/editor_data.cpp +msgid "Storing local changes.." +msgstr "" + +#: editor/editor_data.cpp +msgid "Updating scene.." +msgstr "" + +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + +#: editor/editor_dir_dialog.cpp +msgid "Please select a base directory first" +msgstr "" + +#: editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp +#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp +msgid "Create Folder" +msgstr "" + +#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp +#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +#: scene/gui/file_dialog.cpp +msgid "Name:" +msgstr "" + +#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp +#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp +msgid "Could not create folder." +msgstr "" + +#: editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: editor/editor_export.cpp +msgid "Storing File:" +msgstr "" + +#: editor/editor_export.cpp +msgid "Packing" +msgstr "" + +#: editor/editor_export.cpp platform/javascript/export/export.cpp +msgid "Template file not found:\n" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Select Current Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp +msgid "Save" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Back" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Forward" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Up" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Hidden Files" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Favorite" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Mode" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Focus Path" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Move Favorite Up" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Move Favorite Down" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Go to parent folder" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/script_editor_debugger.cpp +#: scene/gui/file_dialog.cpp +msgid "File:" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: editor/editor_file_system.cpp +msgid "(Re)Importing Assets" +msgstr "" + +#: editor/editor_help.cpp editor/editor_node.cpp +#: editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: editor/editor_help.cpp editor/property_editor.cpp +msgid "Class:" +msgstr "" + +#: editor/editor_help.cpp editor/scene_tree_editor.cpp +msgid "Inherits:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Members" +msgstr "" + +#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp +msgid "Members:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Public Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: editor/editor_help.cpp +msgid "GUI Theme Items" +msgstr "" + +#: editor/editor_help.cpp +msgid "GUI Theme Items:" +msgstr "" + +#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp +msgid "Signals:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations:" +msgstr "" + +#: editor/editor_help.cpp +msgid "enum " +msgstr "" + +#: editor/editor_help.cpp +msgid "Constants" +msgstr "" + +#: editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Description" +msgstr "" + +#: editor/editor_help.cpp +msgid "Properties" +msgstr "" + +#: editor/editor_help.cpp +msgid "Property Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this property. Please help us by " +"[color=$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help.cpp +msgid "Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this method. Please help us by [color=" +"$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: editor/editor_log.cpp +msgid "Output:" +msgstr "" + +#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp +#: editor/property_editor.cpp editor/script_editor_debugger.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Clear" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Save Resource As.." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "I see.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't open '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while parsing '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unexpected end of file '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Missing '%s' or its dependencies." +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while loading '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a tree root." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: editor/editor_node.cpp +msgid "Failed to load resource." +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource belongs to a scene that was imported, so it's not editable.\n" +"Please read the documentation relevant to importing scenes to better " +"understand this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource belongs to a scene that was instanced or inherited.\n" +"Changes to it will not be kept when saving the current scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource was imported, so it's not editable. Change its settings in the " +"import panel and then re-import." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This scene was imported, so changes to it will not be kept.\n" +"Instancing it or inheriting will allow making changes to it.\n" +"Please read the documentation relevant to importing scenes to better " +"understand this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This is a remote object so changes to it will not be kept.\n" +"Please read the documentation relevant to debugging to better understand " +"this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "Expand all properties" +msgstr "" + +#: editor/editor_node.cpp +msgid "Collapse all properties" +msgstr "" + +#: editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open in Help" +msgstr "" + +#: editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"No main scene has ever been defined, select one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Selected scene '%s' does not exist, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Selected scene '%s' is not a scene file, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: editor/editor_node.cpp +msgid "Current scene was never saved, please save it prior to running." +msgstr "" + +#: editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Open Scene.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Open Script.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save & Close" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to '%s' before closing?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Scene As.." +msgstr "" + +#: editor/editor_node.cpp +msgid "No" +msgstr "" + +#: editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: editor/editor_node.cpp editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a root node." +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a selected node." +msgstr "" + +#: editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: editor/editor_node.cpp +msgid "Revert" +msgstr "" + +#: editor/editor_node.cpp +msgid "This action cannot be undone. Revert anyway?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Run Scene.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Project Manager?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save & Quit" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to the following scene(s) before quitting?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes the following scene(s) before opening Project Manager?" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This option is deprecated. Situations where refresh must be forced are now " +"considered a bug. Please report." +msgstr "" + +#: editor/editor_node.cpp +msgid "Pick a Main Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to enable addon plugin at: '%s' parsing of config failed." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to load addon script from path: '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Unable to load addon script from path: '%s' Base type is not EditorPlugin." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to load addon script from path: '%s' Script is not in tool mode." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Scene '%s' was automatically imported, so it can't be modified.\n" +"To make changes to it, a new inherited scene can be created." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Ugh" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Clear Recent Scenes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: editor/editor_node.cpp editor/import_dock.cpp +#: editor/script_create_dialog.cpp +msgid "Default" +msgstr "" + +#: editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more files or folders" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more folders" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more files" +msgstr "" + +#: editor/editor_node.cpp +msgid "Dock Position" +msgstr "" + +#: editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: editor/editor_node.cpp +msgid "Toggle distraction-free mode." +msgstr "" + +#: editor/editor_node.cpp +msgid "Add a new scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Next tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "Previous tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "Filter Files.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "New Inherited Scene.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Scene.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save all Scenes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Open Recent" +msgstr "" + +#: editor/editor_node.cpp +msgid "Convert To.." +msgstr "" + +#: editor/editor_node.cpp +msgid "MeshLibrary.." +msgstr "" + +#: editor/editor_node.cpp +msgid "TileSet.." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Undo" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp +#: scene/gui/line_edit.cpp +msgid "Redo" +msgstr "" + +#: editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: editor/editor_node.cpp +msgid "Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: editor/editor_node.cpp +msgid "Run Script" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Export" +msgstr "" + +#: editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Debug" +msgstr "" + +#: editor/editor_node.cpp +msgid "Deploy with Remote Debug" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." +msgstr "" + +#: editor/editor_node.cpp +msgid "Small Deploy with Network FS" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is enabled, export or deploy will produce a minimal " +"executable.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." +msgstr "" + +#: editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Navigation meshes and polygons will be visible on the running game if this " +"option is turned on." +msgstr "" + +#: editor/editor_node.cpp +msgid "Sync Scene Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is turned on, any changes made to the scene in the editor " +"will be replicated in the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: editor/editor_node.cpp +msgid "Sync Script Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When this option is turned on, any script that is saved will be reloaded on " +"the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: editor/editor_node.cpp +msgid "Editor" +msgstr "" + +#: editor/editor_node.cpp editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: editor/editor_node.cpp +msgid "Toggle Fullscreen" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Manage Export Templates" +msgstr "" + +#: editor/editor_node.cpp +msgid "Help" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Classes" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Online Docs" +msgstr "" + +#: editor/editor_node.cpp +msgid "Q&A" +msgstr "" + +#: editor/editor_node.cpp +msgid "Issue Tracker" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: editor/editor_node.cpp +msgid "About" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: editor/editor_node.cpp +msgid "Play" +msgstr "" + +#: editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Stop" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window repaints!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Disable Update Spinner" +msgstr "" + +#: editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: editor/editor_node.cpp +msgid "Changes may be lost!" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: editor/editor_node.cpp +msgid "Node" +msgstr "" + +#: editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: editor/editor_node.cpp +msgid "Output" +msgstr "" + +#: editor/editor_node.cpp +msgid "Don't Save" +msgstr "" + +#: editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Password:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: editor/editor_node.cpp +msgid "New Inherited" +msgstr "" + +#: editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open 2D Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open 3D Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Script Editor" +msgstr "" + +#: editor/editor_node.cpp editor/project_manager.cpp +msgid "Open Asset Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open the next Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open the previous Editor" +msgstr "" + +#: editor/editor_plugin.cpp +msgid "Creating Mesh Previews" +msgstr "" + +#: editor/editor_plugin.cpp +msgid "Thumbnail.." +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: editor/editor_plugin_settings.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Version:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Start Profiling" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Average Time (sec)" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Physics Frame %" +msgstr "" + +#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp +msgid "Time:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + +#: editor/editor_run_native.cpp +msgid "Select device from the list" +msgstr "" + +#: editor/editor_run_native.cpp +msgid "" +"No runnable export preset found for this platform.\n" +"Please add a runnable preset in the export menu." +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: editor/editor_settings.cpp +msgid "Default (Same as Editor)" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Re-Download" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Uninstall" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Installed)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Missing)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Current)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Retrieving mirrors, please wait.." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Remove template version '%s'?" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Invalid version.txt format inside templates." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"Invalid version.txt format inside templates. Revision is not a valid " +"identifier." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "No version.txt found inside templates." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error creating path for templates:\n" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Extracting Export Templates" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Importing:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"No download links found for this version. Direct download is only available " +"for official releases." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't resolve." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't connect." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No response." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request Failed." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Redirect Loop." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Failed:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't write file." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download Complete." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error requesting url: " +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connecting to Mirror.." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Disconnected" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Resolving" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't Resolve" +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Connecting.." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't Connect" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connected" +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Requesting.." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Downloading" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connection Error" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "SSL Handshake Error" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Current Version:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Installed Versions:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Install From File" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Remove Template" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Select template file" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Export Template Manager" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download Templates" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Select mirror from list: " +msgstr "" + +#: editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot navigate to '%s' as it has not been found in the file system!" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View items as a list" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "" +"\n" +"Status: Import of file failed. Please fix file and reimport manually." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot move/rename resources root." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot move a folder into itself.\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error moving:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Unable to update dependencies:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "No name provided" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Provided name contains invalid characters" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "No name provided." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Name contains invalid characters." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "A file or folder with this name already exists." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Renaming file:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Renaming folder:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicating file:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Expand all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Collapse all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Rename.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move To.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Open Scene(s)" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Instance" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View Owners.." +msgstr "" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "அசைவூடà¯à®Ÿà¯ போலிபசà¯à®šà®¾à®µà®¿à®•ளà¯" + +#: editor/filesystem_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Next Directory" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Toggle folder status as Favorite" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Instance the selected scene(s) as child of the selected node." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "" +"Scanning Files,\n" +"Please Wait.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move" +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp +#: editor/project_manager.cpp +msgid "Rename" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Single Scene" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Materials+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Materials+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Multiple Scenes" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Multiple Scenes+Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Importing Scene.." +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Running Custom Script.." +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Invalid/broken script for post-import (check console):" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Error running post-import script:" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Saving.." +msgstr "" + +#: editor/import_dock.cpp +msgid "Set as Default for '%s'" +msgstr "" + +#: editor/import_dock.cpp +msgid "Clear Default for '%s'" +msgstr "" + +#: editor/import_dock.cpp +msgid " Files" +msgstr "" + +#: editor/import_dock.cpp +msgid "Import As:" +msgstr "" + +#: editor/import_dock.cpp editor/property_editor.cpp +msgid "Preset.." +msgstr "" + +#: editor/import_dock.cpp +msgid "Reimport" +msgstr "" + +#: editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/collision_polygon_editor_plugin.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/collision_polygon_editor_plugin.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Create a new polygon from scratch" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "" +"Edit existing polygon:\n" +"LMB: Move Point.\n" +"Ctrl+LMB: Split Segment.\n" +"RMB: Erase Point." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Delete points" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Delete Animation?" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Invalid animation name!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Animation name already exists!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to copy!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation resource on clipboard!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to edit!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Create new animation in player." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Target Blend Times" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Onion Skinning" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Enable Onion Skinning" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Directions" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Past" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Future" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Depth" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "1 step" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "2 steps" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "3 steps" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Differences Only" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Force White Modulate" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Include Gizmos (3D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Filters" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Free" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Contents:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "View Files" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't resolve hostname:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Connection error, please try again." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't connect to host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No response from host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, return code:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, too many redirects" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Bad download hash, assuming file has been tampered with." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Expected:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Got:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Failed sha256 hash check" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Asset Download Error:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Fetching:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Resolving.." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Error making request" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Idle" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Retry" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Download Error" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Download for this asset is already in progress!" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "first" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "prev" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "next" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "last" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_settings_editor.cpp +msgid "Plugins" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Sort:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_settings_editor.cpp +msgid "Category:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Support.." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + +#: editor/plugins/camera_editor_plugin.cpp +msgid "Preview" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Pivot" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move vertical guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create new vertical guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Remove vertical guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move horizontal guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create new horizontal guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Remove horizontal guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create new horizontal and vertical guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchors only" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors and Margins" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Select Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotate Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Toggles snapping" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snapping options" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to grid" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap..." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Smart snapping" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to parent" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to node anchor" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to node sides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to other nodes" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show helpers" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show rulers" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Layout" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Keys" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag pivot from mouse position" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set pivot at mouse position" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Multiply grid step by 2" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Divide grid step by 2" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Add %s" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Adding %s..." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change default type" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Drag & drop + Shift : Add node as sibling\n" +"Drag & drop + Alt : Change node type" +msgstr "" + +#: editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Poly3D" +msgstr "" + +#: editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Flat0" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Flat1" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Ease in" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Ease out" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Smoothstep" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Modify Curve Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Modify Curve Tangent" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Load Curve Preset" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Add point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Remove point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Left linear" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Right linear" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Load preset" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Remove Curve Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Toggle Curve Linear Tangent" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Hold Shift to edit tangents individually" +msgstr "" + +#: editor/plugins/gi_probe_editor_plugin.cpp +msgid "Bake GI Probe" +msgstr "" + +#: editor/plugins/gradient_editor_plugin.cpp +msgid "Add/Remove Color Ramp Point" +msgstr "" + +#: editor/plugins/gradient_editor_plugin.cpp +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "" +"No OccluderPolygon2D resource on this node.\n" +"Create and assign one?" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "RMB: Erase Point." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Shape" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh has not surface to create outlines from!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Static Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh.." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Bake the navigation mesh.\n" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Clear the navigation mesh." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Setting up Configuration..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Calculating grid size..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating heightfield..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Marking walkable triangles..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Constructing compact heightfield..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Eroding walkable area..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Partitioning..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating contours..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating polymesh..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Converting to native navigation mesh..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Navigation Mesh Generator Setup:" +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Parsing Geometry..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Done!" +msgstr "" + +#: editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generating AABB" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Can only set point into a ParticlesMaterial process material" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image.." +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generation Time (sec):" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "A processor material of type 'ParticlesMaterial' is required." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Mesh" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Node" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Emission Points:" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Surface Points" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Surface Points+Normal (Directed)" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Emission Source: " +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate Visibility AABB" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Out-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove In-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove Out-Control Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove In-Control Point" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/project_manager.cpp +#: editor/project_settings_editor.cpp editor/property_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon->UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV->Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Paste" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Clear Recent Files" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"Close and save changes?\n" +"\"" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error importing" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As.." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid " Class Reference" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Sort" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Move Up" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Move Down" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "File" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "New" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "History Prev" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close All" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close Other Tabs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Toggle Scripts Panel" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +msgid "Find.." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +msgid "Find Next" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp +#: editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Debug with external editor" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Open Godot online documentation" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Search the class hierarchy." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Discard" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Only resources from filesystem can be dropped." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Pick Color" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Case" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Uppercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Lowercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Capitalize" +msgstr "" + +#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Cut" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Copy" +msgstr "" + +#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Select All" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Delete Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Indent Left" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Indent Right" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Toggle Comment" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Clone Down" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold/Unfold Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Unfold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Complete Symbol" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Indent To Spaces" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Indent To Tabs" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Auto Indent" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Next Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert To Uppercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert To Lowercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Find Previous" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Replace.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Function.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Line.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Contextual Help" +msgstr "" + +#: editor/plugins/shader_editor_plugin.cpp +msgid "Shader" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling: " +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translating: " +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Objects Drawn" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Material Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Shader Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Surface Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Draw Calls" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Vertices" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "FPS" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Normal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Unshaded" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Environment" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Gizmos" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Information" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View FPS" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Half Resolution" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Doppler Enable" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Left" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Right" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Forward" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Backwards" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Up" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Down" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Freelook Speed Modifier" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "preview" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Select Mode (Q)\n" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Drag: Rotate\n" +"Alt+Drag: Move\n" +"Alt+RMB: Depth list selection" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode (W)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Switch Perspective/Orthogonal view" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Insert Animation Key" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Focus Origin" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Focus Selection" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align Selection With View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Select" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Move" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Rotate" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Scale" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Toggle Freelook" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap.." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog.." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "1 Viewport" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports (Alt)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports (Alt)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "4 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed (FPS):" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Loop" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Move (Before)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Move (After)" +msgstr "" + +#: editor/plugins/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Set Region Rect" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap Mode:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "<None>" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Pixel Snap" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Snap" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Auto Slice" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Offset:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Step:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Separation:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Edit theme.." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Theme editing menu." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create From Current Editor Theme" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +msgid "Options" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,Options!" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp +msgid "Type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Style" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase Selection" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Line Draw" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rectangle Paint" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket Fill" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase selection" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Find tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 0 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene?" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + +#: editor/project_export.cpp +msgid "Runnable" +msgstr "" + +#: editor/project_export.cpp +msgid "Delete patch '%s' from list?" +msgstr "" + +#: editor/project_export.cpp +msgid "Delete preset '%s'?" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing/corrupted: " +msgstr "" + +#: editor/project_export.cpp +msgid "Presets" +msgstr "" + +#: editor/project_export.cpp editor/project_settings_editor.cpp +msgid "Add.." +msgstr "" + +#: editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: editor/project_export.cpp +msgid "Export all resources in the project" +msgstr "" + +#: editor/project_export.cpp +msgid "Export selected scenes (and dependencies)" +msgstr "" + +#: editor/project_export.cpp +msgid "Export selected resources (and dependencies)" +msgstr "" + +#: editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Resources to export:" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" +msgstr "" + +#: editor/project_export.cpp +msgid "Patches" +msgstr "" + +#: editor/project_export.cpp +msgid "Make Patch" +msgstr "" + +#: editor/project_export.cpp +msgid "Features" +msgstr "" + +#: editor/project_export.cpp +msgid "Custom (comma-separated):" +msgstr "" + +#: editor/project_export.cpp +msgid "Feature List:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing/corrupted:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export With Debug" +msgstr "" + +#: editor/project_manager.cpp +msgid "The path does not exist." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose a 'project.godot' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Your project will be created in a non empty folder (you might want to create " +"a new folder)." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose a folder that does not contain a 'project.godot' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "It would be a good idea to name your project." +msgstr "" + +#: editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't get project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't edit project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't create project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Rename Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't get project.godot in the project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create folder" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't open project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Are you sure to open more than one project?" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Can't run project: no main scene defined.\n" +"Please edit the project and set the main scene in \"Project Settings\" under " +"the \"Application\" category." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Can't run project: Assets need to be imported.\n" +"Please edit the project to trigger the initial import." +msgstr "" + +#: editor/project_manager.cpp +msgid "Are you sure to run more than one project?" +msgstr "" + +#: editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Language changed.\n" +"The UI will update next time the editor or project manager starts." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"You are about the scan %s folders for existing Godot projects. Do you " +"confirm?" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: editor/project_manager.cpp +msgid "Select a Folder to Scan" +msgstr "" + +#: editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Templates" +msgstr "" + +#: editor/project_manager.cpp +msgid "Exit" +msgstr "" + +#: editor/project_manager.cpp +msgid "Restart Now" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't run project" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"You don't currently have any projects.\n" +"Would you like to explore the official example projects in the Asset Library?" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Key " +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joy Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joy Axis" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Mouse Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Invalid action (anything goes but '/' or ':')." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Press a Key.." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Left Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Right Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Middle Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Up Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Down Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 6" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 7" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 8" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 9" +msgstr "" + +#: editor/project_settings_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Change" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joypad Axis Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Axis" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joypad Button Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Erase Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Device" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Left Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Right Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Middle Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Up." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Down." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Global Property" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Select a setting item first!" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "No property '%s' exists." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Setting '%s' is internal, and it can't be deleted." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Delete Item" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Can't contain '/' or ':'" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Already existing" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Error saving settings." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Settings saved OK." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Override for Feature" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Translation" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Translation" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Remapped Path" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Changed Locale Filter" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Changed Locale Filter Mode" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Project Settings (project.godot)" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: editor/project_settings_editor.cpp editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Override For.." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Input Map" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Device:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Localization" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translations" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translations:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remaps" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Resources:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locale" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locales Filter" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Show all locales" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Show only selected locales" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Filter mode:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locales:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "AutoLoad" +msgstr "" + +#: editor/property_editor.cpp +msgid "Pick a Viewport" +msgstr "" + +#: editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: editor/property_editor.cpp +msgid "File.." +msgstr "" + +#: editor/property_editor.cpp +msgid "Dir.." +msgstr "" + +#: editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: editor/property_editor.cpp +msgid "Select Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "New Script" +msgstr "" + +#: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp +msgid "Make Unique" +msgstr "" + +#: editor/property_editor.cpp +msgid "Show in File System" +msgstr "" + +#: editor/property_editor.cpp +msgid "Convert To %s" +msgstr "" + +#: editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Selected node is not a Viewport!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Pick a Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: editor/property_editor.cpp +msgid "On" +msgstr "" + +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + +#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp +msgid "Set" +msgstr "" + +#: editor/property_editor.cpp +msgid "Properties:" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Property" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Virtual Method" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Method" +msgstr "" + +#: editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "No parent to instance the scenes at." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Ok" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can not perform with the root node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Save New Scene As.." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Editable Children" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Load As Placeholder" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Discard Instancing" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Makes Sense!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Sub-Resources:" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Inheritance" +msgstr "" + +#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Copy Node Path" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete (No Confirm)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Filter nodes" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach a new or existing script for the selected node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear a script for the selected node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Remote" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Local" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear!" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem Visible" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Node configuration warning:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node has connection(s) and group(s)\n" +"Click to show signals dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node has connections.\n" +"Click to show signals dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is in group(s).\n" +"Click to show groups dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Open script" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is locked.\n" +"Click to unlock" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Children are not selectable.\n" +"Click to make selectable" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Visibility" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Node Configuration Warning!" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error loading template '%s'" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error - Could not create script in filesystem." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error loading script from %s" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Directory of the same name exists" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "File exists, will be reused" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Wrong extension chosen" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid Path" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid inherited parent name or path" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Script valid" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Allowed: a-z, A-Z, 0-9 and _" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Built-in script (into scene file)" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Create new script file" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Load existing script file" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Inherits" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Class Name" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Template" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Built-in Script" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Attach Node Script" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Remote " +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Warning" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Pick one or more items from the list to display the graph." +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Variable" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Profiler" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Value" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Monitors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "List of Video Memory Usage by Resource:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change AudioStreamPlayer3D Emission Angle" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Particles AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Probe Extents" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Remove current entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Library" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Status" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Libraries: " +msgstr "" + +#: modules/gdnative/register_types.cpp +msgid "GDNative" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Object can't provide a length." +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Delete Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Duplicate Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Floor:" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Grid Map" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Snap View" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Previous Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Next Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Disabled" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Above" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Below" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit X Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit Y Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit Z Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate X" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate Y" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate Z" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate X" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate Y" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate Z" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Clear Rotation" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Create Area" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Create Exterior Connector" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Erase Area" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clear Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Settings" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Pick Distance:" +msgstr "" + +#: modules/mono/editor/mono_bottom_panel.cpp +msgid "Builds" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"A node yielded without working memory, please read the docs on how to yield " +"properly!" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"Node yielded, but did not return a function state in the first working " +"memory." +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"Return value must be assigned to first element of node working memory! Fix " +"your node please." +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Node returned an invalid sequence output: " +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Found sequence bit but not the node in the stack, report bug!" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Stack overflow with stack depth: " +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Signal Arguments" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Argument Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Argument name" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Set Variable Default Value" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Set Variable Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Functions:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Variables:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Name is not a valid identifier:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Name already in use by another func/var/signal:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Expression" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Duplicate VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a simple reference to the node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a simple reference to the node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a Variable Setter." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a Variable Setter." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Preload Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Node(s) From Tree" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Getter Property" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Setter Property" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Base Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Move Node(s)" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove VisualScript Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Connect Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Condition" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Sequence" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Switch" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Iterator" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "While" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Return" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Call" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Get" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Script already has function '%s'" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Input Value" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Can't copy the function node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Clipboard is empty!" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Paste VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Variable:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Signal:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Base Type:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Available Nodes:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Select or create a function to edit graph" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Signal Arguments:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Variable:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Delete Selected" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Find Node Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Copy Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Cut Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Paste Nodes" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Input type not iterable: " +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Iterator became invalid" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Iterator became invalid: " +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Invalid index property name." +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Base object is not a Node!" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Path does not lead Node!" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Invalid index property name '%s' in node %s." +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid ": Invalid argument of type: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid ": Invalid arguments: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "VariableGet not found in script: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "VariableSet not found in script: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Custom node has no _step() method, can't process graph." +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "" +"Invalid return value from _step(), must be integer (seq out), or string " +"(error)." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Run in Browser" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Run exported HTML in the system's default browser." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not write file:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not open template for export:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Invalid export template:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read custom HTML shell:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read boot splash image file:\n" +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "" + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp scene/3d/particles.cpp +msgid "" +"A material to process the particles is not assigned, so no behavior is " +"imprinted." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/physics_body_2d.cpp +msgid "" +"Size changes to RigidBody2D (in character or rigid modes) will be overriden " +"by the physics engine when running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRCamera must have an ARVROrigin node as its parent" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRController must have an ARVROrigin node as its parent" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "" +"The controller id must not be 0 or this controller will not be bound to an " +"actual controller" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRAnchor must have an ARVROrigin node as its parent" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "" +"The anchor id must not be 0 or this anchor will not be bound to an actual " +"anchor" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVROrigin requires an ARVRCamera child node" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/collision_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "Plotting Meshes" +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +msgstr "" + +#: scene/3d/particles.cpp +msgid "" +"Nothing is visible because meshes have not been assigned to draw passes." +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "" +"Size changes to RigidBody (in character or rigid modes) will be overriden by " +"the physics engine when running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/3d/remote_transform.cpp +msgid "Path property must point to a valid Spatial node to work." +msgstr "" + +#: scene/3d/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "" +"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " +"it as a child of a VehicleBody." +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Raw Mode" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Add current color as a preset" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Select this Folder" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/gui/scroll_container.cpp +msgid "" +"ScrollContainer is intended to work with a single child control.\n" +"Use a container as child (VBox,HBox,etc), or a Control and set the custom " +"minimum size manually." +msgstr "" + +#: scene/gui/tree.cpp +msgid "(Other)" +msgstr "" + +#: scene/main/scene_tree.cpp +msgid "" +"Default Environment as specified in Project Setings (Rendering -> Viewport -" +"> Default Environment) could not be loaded." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This viewport is not set as render target. If you intend for it to display " +"its contents directly to the screen, make it a child of a Control so it can " +"obtain a size. Otherwise, make it a RenderTarget and assign its internal " +"texture to some node for display." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Invalid font size." +msgstr "" + +#~ msgid "Move Add Key" +#~ msgstr "சேர௠மà¯à®•à¯à®•ியபà¯à®ªà¯à®³à¯à®³à®¿à®¯à¯ˆ நகரà¯à®¤à¯à®¤à¯" diff --git a/editor/translations/th.po b/editor/translations/th.po index 3fdfb40961..69ba3b2279 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -1,6 +1,6 @@ # Thai translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Kaveeta Vivatchai <goodytong@gmail.com>, 2017. @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-28 13:50+0000\n" +"PO-Revision-Date: 2017-12-03 07:50+0000\n" "Last-Translator: Kaveeta Vivatchai <katviv@protonmail.com>\n" "Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/" "th/>\n" @@ -28,8 +28,9 @@ msgid "All Selection" msgstr "เลืà¸à¸à¸—ั้งหมด" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "เลื่à¸à¸™à¸«à¸£à¸·à¸à¹€à¸žà¸´à¹ˆà¸¡à¸„ีย์à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "à¹à¸à¹‰à¹„ขค่าà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -40,7 +41,8 @@ msgid "Anim Change Transform" msgstr "เคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "à¹à¸à¹‰à¹„ขค่าà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_editor.cpp @@ -532,8 +534,9 @@ msgid "Connecting Signal:" msgstr "เชื่à¸à¸¡à¹‚ยงสัà¸à¸à¸²à¸“:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "สร้างà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¹‚ยง" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "เชื่à¸à¸¡ '%s' à¸à¸±à¸š '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -549,7 +552,8 @@ msgid "Signals" msgstr "สัà¸à¸à¸²à¸“" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "สร้างใหม่" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -564,7 +568,7 @@ msgstr "ล่าสุด:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "ค้นหา:" @@ -605,6 +609,7 @@ msgstr "" "à¸à¸²à¸£à¹à¸à¹‰à¹„ขจะไม่ส่งผลจนà¸à¸§à¹ˆà¸²à¸ˆà¸°à¹‚หลดใหม่" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "à¸à¸²à¸£à¸à¹‰à¸²à¸‡à¸à¸´à¸‡" @@ -707,9 +712,10 @@ msgid "Delete selected files?" msgstr "ลบไฟล์ที่เลืà¸à¸?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "ลบ" @@ -844,13 +850,18 @@ msgstr "ลำโพง" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "เพิ่มเà¸à¸Ÿà¹€à¸Ÿà¸à¸•์" +msgstr "เà¸à¸Ÿà¹€à¸Ÿà¸à¸•์" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" msgstr "เปลี่ยนชื่ภAudio Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "สลับ Solo ขà¸à¸‡ Audio Bus" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "สลับ Solo ขà¸à¸‡ Audio Bus" @@ -880,7 +891,7 @@ msgstr "ลบเà¸à¸Ÿà¹€à¸Ÿà¸à¸•์เสียง" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "Audio Bus, ลาà¸à¹à¸¥à¸°à¸§à¸²à¸‡à¹€à¸žà¸·à¹ˆà¸à¸¢à¹‰à¸²à¸¢à¸•ำà¹à¸«à¸™à¹ˆà¸‡" +msgstr "Audio Bus ลาà¸à¹à¸¥à¸°à¸§à¸²à¸‡à¹€à¸žà¸·à¹ˆà¸à¸¢à¹‰à¸²à¸¢à¸•ำà¹à¸«à¸™à¹ˆà¸‡" #: editor/editor_audio_buses.cpp msgid "Solo" @@ -898,8 +909,8 @@ msgstr "ข้าม" msgid "Bus options" msgstr "ตัวเลืà¸à¸ Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "ทำซ้ำ" @@ -912,6 +923,10 @@ msgid "Delete Effect" msgstr "ลบเà¸à¸Ÿà¹€à¸Ÿà¸à¸•์" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "เพิ่ม Audio Bus" @@ -953,7 +968,7 @@ msgstr "ไม่พบไฟล์ 'res://default_bus_layout.tres'" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "ไฟล์ไม่ถูà¸à¸•้à¸à¸‡, ไม่ใช่เลย์เà¸à¸²à¸•์ขà¸à¸‡ Audio Bus" +msgstr "ไฟล์ไม่ถูà¸à¸•้à¸à¸‡ ไม่ใช่เลย์เà¸à¸²à¸•์ขà¸à¸‡ Audio Bus" #: editor/editor_audio_buses.cpp msgid "Add Bus" @@ -1062,7 +1077,8 @@ msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡:" msgid "Node Name:" msgstr "ชื่à¸à¹‚หนด:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "ชื่à¸" @@ -1070,10 +1086,6 @@ msgstr "ชื่à¸" msgid "Singleton" msgstr "ซิงเà¸à¸´à¸¥à¸•ัน" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "รายชื่à¸:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "à¸à¸±à¸žà¹€à¸”ทฉาà¸" @@ -1086,6 +1098,15 @@ msgstr "เà¸à¹‡à¸šà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸ ายใน.." msgid "Updating scene.." msgstr "à¸à¸±à¸žà¹€à¸”ทฉาà¸.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(ว่างเปล่า)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "à¸à¸£à¸¸à¸“าเลืà¸à¸à¹‚ฟลเดà¸à¸£à¹Œà¹€à¸£à¸´à¹ˆà¸¡à¸•้นà¸à¹ˆà¸à¸™" @@ -1132,9 +1153,24 @@ msgid "File Exists, Overwrite?" msgstr "มีไฟล์นี้à¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§ จะเขียนทับหรืà¸à¹„ม่?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "สร้างโฟลเดà¸à¸£à¹Œ" +msgstr "เลืà¸à¸à¹‚ฟลเดà¸à¸£à¹Œà¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "คัดลà¸à¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "à¹à¸ªà¸”งในตัวจัดà¸à¸²à¸£à¹„ฟล์" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "สร้างโฟลเดà¸à¸£à¹Œ.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "รีเฟรช" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1183,10 +1219,6 @@ msgid "Go Up" msgstr "ขึ้นบน" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "รีเฟรช" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "เปิด/ปิดไฟล์ที่ซ่à¸à¸™" @@ -1362,7 +1394,8 @@ msgstr "ข้à¸à¸„วาม:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "ลบ" @@ -1512,14 +1545,12 @@ msgstr "" "à¸à¹ˆà¸²à¸™à¸£à¸²à¸¢à¸¥à¸°à¹€à¸à¸µà¸¢à¸”เพิ่มเติมได้จาà¸à¸„ู่มืà¸à¹ƒà¸™à¸ªà¹ˆà¸§à¸™à¸‚à¸à¸‡à¸à¸²à¸£à¹à¸à¹‰à¹„ขจุดบà¸à¸žà¸£à¹ˆà¸à¸‡" #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "ขยายโฟลเดà¸à¸£à¹Œ" +msgstr "ขยายคุณสมบัติทั้งหมด" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "ยุบโฟลเดà¸à¸£à¹Œ" +msgstr "ยุบคุณสมบัติทั้งหมด" #: editor/editor_node.cpp msgid "Copy Params" @@ -2281,6 +2312,16 @@ msgstr "ตัวเà¸à¸‡" msgid "Frame #:" msgstr "เฟรมที่:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "เวลา:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "เรียà¸" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "เลืà¸à¸à¸à¸¸à¸›à¸à¸£à¸“์จาà¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸" @@ -2418,7 +2459,8 @@ msgstr "ไม่มีà¸à¸²à¸£à¸•à¸à¸šà¸à¸¥à¸±à¸š" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "ร้à¸à¸‡à¸‚à¸à¸œà¸´à¸”พลาด" #: editor/export_template_manager.cpp @@ -2465,7 +2507,8 @@ msgid "Connecting.." msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•่à¸.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "เชื่à¸à¸¡à¸•่à¸à¹„ม่ได้" #: editor/export_template_manager.cpp @@ -2558,6 +2601,11 @@ msgid "Error moving:\n" msgstr "ผิดพลาดขณะย้าย:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "ผิดพลาดขณะโหลด:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "ไม่สามารถà¸à¸±à¸žà¹€à¸”ทà¸à¸²à¸£à¸à¹‰à¸²à¸‡à¸à¸´à¸‡:\n" @@ -2590,6 +2638,16 @@ msgid "Renaming folder:" msgstr "เปลี่ยนชื่à¸à¹‚ฟลเดà¸à¸£à¹Œ:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "ทำซ้ำ" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "เปลี่ยนชื่à¸à¹‚ฟลเดà¸à¸£à¹Œ:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "ขยายโฟลเดà¸à¸£à¹Œ" @@ -2598,10 +2656,6 @@ msgid "Collapse all" msgstr "ยุบโฟลเดà¸à¸£à¹Œ" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "คัดลà¸à¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "เปลี่ยนชื่à¸.." @@ -2610,12 +2664,9 @@ msgid "Move To.." msgstr "ย้ายไป.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "สร้างโฟลเดà¸à¸£à¹Œ.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "à¹à¸ªà¸”งในตัวจัดà¸à¸²à¸£à¹„ฟล์" +#, fuzzy +msgid "Open Scene(s)" +msgstr "เปิดไฟล์ฉาà¸" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2630,6 +2681,11 @@ msgid "View Owners.." msgstr "ดูเจ้าขà¸à¸‡.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "ทำซ้ำ" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "โฟลเดà¸à¸£à¹Œà¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" @@ -2724,6 +2780,16 @@ msgid "Importing Scene.." msgstr "à¸à¸³à¸¥à¸±à¸‡à¸™à¸³à¹€à¸‚้าฉาà¸.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "ส่งผ่านไปยัง Lightmaps:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "สร้างเส้นà¸à¸£à¸à¸š" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸ªà¸„ริปต์.." @@ -2969,54 +3035,51 @@ msgstr "คัดลà¸à¸à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "ภาพเงาà¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¹„หว" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "เปิดภาพเงาà¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¹„หว" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "หัวข้à¸:" +msgstr "ทิศทาง" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "วาง" +msgstr "à¸à¸”ีต" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "ฟีเจà¸à¸£à¹Œ" +msgstr "à¸à¸™à¸²à¸„ต" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "ความลึà¸" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 ระดับ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 ระดับ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 ระดับ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "เฉพาะที่à¹à¸•à¸à¸•่าง" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "บังคับระดับสีขาว" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "รวมสัà¸à¸¥à¸±à¸à¸©à¸“์ (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3293,6 +3356,7 @@ msgid "last" msgstr "ท้ายสุด" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "ทั้งหมด" @@ -3334,6 +3398,28 @@ msgstr "ทดสà¸à¸š" msgid "Assets ZIP File" msgstr "ไฟล์ ZIP" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ส่งผ่านไปยัง Lightmaps:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "ตัวà¸à¸¢à¹ˆà¸²à¸‡" @@ -3470,7 +3556,6 @@ msgid "Toggles snapping" msgstr "เปิด/ปิด à¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" @@ -3650,16 +3735,6 @@ msgstr "ผิดพลาดขณะà¸à¸´à¸™à¸ªà¹à¸•นซ์ฉาà¸à¸ˆà¸² #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ตà¸à¸¥à¸‡ :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "ไม่พบโหนดà¹à¸¡à¹ˆà¸—ี่จะรับà¸à¸´à¸™à¸ªà¹à¸•นซ์โหนดลูà¸" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "ต้à¸à¸‡à¹€à¸¥à¸·à¸à¸à¹€à¸žà¸µà¸¢à¸‡à¹‚หนดเดียว" @@ -3855,6 +3930,22 @@ msgid "Create Navigation Mesh" msgstr "สร้าง Mesh นำทาง" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance ไม่มี Mesh!" @@ -3895,6 +3986,20 @@ msgid "Create Outline Mesh.." msgstr "สร้างเส้นขà¸à¸š Mesh.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "มุมมà¸à¸‡" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "มุมมà¸à¸‡" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "สร้างเส้นขà¸à¸š Mesh" @@ -4071,10 +4176,6 @@ msgid "Create Navigation Polygon" msgstr "สร้างรูปทรงนำทาง" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "ลบ Mask à¸à¸²à¸£à¸›à¸¥à¹ˆà¸à¸¢" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "สร้างเส้นà¸à¸£à¸à¸š" @@ -4092,10 +4193,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "รูปไม่มีพิà¸à¹€à¸‹à¸¥à¹ƒà¸”ที่ความโปร่งà¹à¸ªà¸‡ > 128 .." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "à¸à¸³à¸«à¸™à¸” Mask à¸à¸²à¸£à¸›à¸°à¸—ุ" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "สร้างà¸à¸£à¸à¸šà¸à¸²à¸£à¸¡à¸à¸‡à¹€à¸«à¹‡à¸™" @@ -4104,6 +4201,10 @@ msgid "Load Emission Mask" msgstr "โหลด Mask à¸à¸²à¸£à¸›à¸°à¸—ุ" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "ลบ Mask à¸à¸²à¸£à¸›à¸¥à¹ˆà¸à¸¢" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "à¸à¸™à¸¸à¸ าค" @@ -4162,10 +4263,6 @@ msgid "Create Emission Points From Node" msgstr "สร้างจุดปะทุจาà¸à¹‚หนด" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ลบตัวปะทุ" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "สร้างตัวปะทุ" @@ -4450,11 +4547,13 @@ msgstr "เรียง" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "ย้ายขึ้น" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "ย้ายลง" @@ -4470,7 +4569,7 @@ msgstr "สคริปต์à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" msgid "File" msgstr "ไฟล์" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "ไฟล์ใหม่" @@ -4483,6 +4582,11 @@ msgid "Soft Reload Script" msgstr "โหลดสคริปต์ใหม่" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "คัดลà¸à¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "ประวัติà¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" @@ -4671,11 +4775,8 @@ msgid "Clone Down" msgstr "คัดลà¸à¸à¸šà¸£à¸£à¸—ัดลงมา" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "ซ่à¸à¸™" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "à¹à¸ªà¸”ง" #: editor/plugins/script_text_editor.cpp @@ -5003,6 +5104,14 @@ msgstr "เฟรมต่à¸à¸§à¸´à¸™à¸²à¸—ี" msgid "Align with view" msgstr "ย้ายมาที่à¸à¸¥à¹‰à¸à¸‡" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "ตà¸à¸¥à¸‡ :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "ไม่พบโหนดà¹à¸¡à¹ˆà¸—ี่จะรับà¸à¸´à¸™à¸ªà¹à¸•นซ์โหนดลูà¸" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "à¹à¸ªà¸”งปà¸à¸•ิ" @@ -5110,6 +5219,20 @@ msgid "Scale Mode (R)" msgstr "โหมดปรับขนาด (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "พิà¸à¸±à¸”ภายใน" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "โหมดปรับขนาด (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "โหมดà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "มุมล่าง" @@ -5182,10 +5305,6 @@ msgid "Configure Snap.." msgstr "ตั้งค่าà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "พิà¸à¸±à¸”ภายใน" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "เครื่à¸à¸‡à¸¡à¸·à¸à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢.." @@ -5227,6 +5346,10 @@ msgid "Settings" msgstr "ตัวเลืà¸à¸" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "ตั้งค่าà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”" @@ -5609,6 +5732,11 @@ msgid "Merge from scene?" msgstr "รวมจาà¸à¸‰à¸²à¸?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "สร้างจาà¸à¸‰à¸²à¸" @@ -5620,6 +5748,10 @@ msgstr "รวมจาà¸à¸‰à¸²à¸" msgid "Error" msgstr "ผิดพลาด" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "ยà¸à¹€à¸¥à¸´à¸" + #: editor/project_export.cpp msgid "Runnable" msgstr "รันได้" @@ -5737,10 +5869,6 @@ msgid "Imported Project" msgstr "นำเข้าโปรเจà¸à¸•์à¹à¸¥à¹‰à¸§" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "ควรตั้งชื่à¸à¹‚ปรเจà¸à¸•์" @@ -5896,6 +6024,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"คุณยังไม่มีโปรเจà¸à¸•์ใดๆ\n" +"ต้à¸à¸‡à¸à¸²à¸£à¸ªà¸³à¸£à¸§à¸ˆà¹‚ปรเจà¸à¸•์ตัวà¸à¸¢à¹ˆà¸²à¸‡à¹ƒà¸™à¹à¸«à¸¥à¹ˆà¸‡à¸£à¸§à¸¡à¸—รัพยาà¸à¸£à¸«à¸£à¸·à¸à¹„ม่?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6003,8 +6133,9 @@ msgid "Joypad Button Index:" msgstr "ปุ่มจà¸à¸¢:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "เพิ่มà¸à¸²à¸£à¸à¸£à¸°à¸—ำ" +#, fuzzy +msgid "Erase Input Action" +msgstr "ลบà¸à¸²à¸£à¸à¸£à¸°à¸—ำ" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6071,6 +6202,10 @@ msgid "Already existing" msgstr "มีà¸à¸¢à¸¹à¹ˆà¸à¹ˆà¸à¸™à¹à¸¥à¹‰à¸§" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "เพิ่มà¸à¸²à¸£à¸à¸£à¸°à¸—ำ" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "ผิดพลาดขณะบันทึà¸à¸„่า" @@ -6247,6 +6382,10 @@ msgid "New Script" msgstr "สคริปต์ใหม่" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "ไม่ใช้ร่วมà¸à¸±à¸šà¸§à¸±à¸•ถุà¸à¸·à¹ˆà¸™" @@ -6278,6 +6417,11 @@ msgstr "บิต %d, ค่า %d" msgid "On" msgstr "เปิด" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "เพิ่มà¹à¸šà¸šà¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸²" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "à¸à¸³à¸«à¸™à¸”" @@ -6286,10 +6430,6 @@ msgstr "à¸à¸³à¸«à¸™à¸”" msgid "Properties:" msgstr "คุณสมบัติ:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "หัวข้à¸:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "เลืà¸à¸à¸„ุณสมบัติ" @@ -6849,6 +6989,10 @@ msgstr "à¸à¸³à¸«à¸™à¸”จาà¸à¸œà¸±à¸‡" msgid "Shortcuts" msgstr "ทางลัด" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "ปรับรัศมีà¹à¸ªà¸‡" @@ -6897,15 +7041,55 @@ msgstr "เปลี่ยนเส้นà¸à¸£à¸à¸š Particles" msgid "Change Probe Extents" msgstr "à¹à¸à¹‰à¹„ขขนาด Probe" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "ลบจุดบนเส้นโค้ง" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "คัดลà¸à¸à¹„ปยังà¹à¸žà¸¥à¸•ฟà¸à¸£à¹Œà¸¡.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "ไลบรารี" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "ไลบรารี" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "สถานะ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "ไลบรารี: " @@ -7568,6 +7752,25 @@ msgstr "Anchor id ต้à¸à¸‡à¹„ม่เป็น 0 ไม่เช่นนภmsgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin ต้à¸à¸‡à¸¡à¸µ ARVRCamera เป็นโหนดลูà¸" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "วางà¹à¸™à¸§ meshes" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "วางà¹à¸™à¸§ meshes" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "เสร็จสิ้นà¸à¸²à¸£à¸§à¸²à¸‡à¹à¸™à¸§" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "วางà¹à¸™à¸§ meshes" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7600,10 +7803,6 @@ msgstr "ต้à¸à¸‡à¸¡à¸µà¸£à¸¹à¸›à¸—รงเพื่à¸à¹ƒà¸«à¹‰ CollisionSh msgid "Plotting Meshes" msgstr "วางà¹à¸™à¸§ meshes" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "เสร็จสิ้นà¸à¸²à¸£à¸§à¸²à¸‡à¹à¸™à¸§" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "ต้à¸à¸‡à¸¡à¸µ NavigationMesh เพื่à¸à¹ƒà¸«à¹‰à¹‚หนดนี้ทำงานได้" @@ -7660,10 +7859,6 @@ msgid "Add current color as a preset" msgstr "เพิ่มสีที่เลืà¸à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£à¹‚ปรด" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "ยà¸à¹€à¸¥à¸´à¸" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™!" @@ -7672,9 +7867,8 @@ msgid "Please Confirm..." msgstr "à¸à¸£à¸¸à¸“ายืนยัน..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "เลืà¸à¸à¹€à¸¡à¸—็à¸à¸”" +msgstr "เลืà¸à¸à¹‚ฟลเดà¸à¸£à¹Œà¸™à¸µà¹‰" #: scene/gui/popup.cpp msgid "" @@ -7734,6 +7928,30 @@ msgstr "ผิดพลาดขณะโหลดฟà¸à¸™à¸•์" msgid "Invalid font size." msgstr "ขนาดฟà¸à¸™à¸•์ผิดพลาด" +#~ msgid "Move Add Key" +#~ msgstr "เลื่à¸à¸™à¸«à¸£à¸·à¸à¹€à¸žà¸´à¹ˆà¸¡à¸„ีย์à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" + +#~ msgid "Create Subscription" +#~ msgstr "สร้างà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¹‚ยง" + +#~ msgid "List:" +#~ msgstr "รายชื่à¸:" + +#~ msgid "Set Emission Mask" +#~ msgstr "à¸à¸³à¸«à¸™à¸” Mask à¸à¸²à¸£à¸›à¸°à¸—ุ" + +#~ msgid "Clear Emitter" +#~ msgstr "ลบตัวปะทุ" + +#~ msgid "Fold Line" +#~ msgstr "ซ่à¸à¸™" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "หัวข้à¸:" + #~ msgid "Cannot navigate to '" #~ msgstr "ไม่สามารถไปยัง '" @@ -8256,9 +8474,6 @@ msgstr "ขนาดฟà¸à¸™à¸•์ผิดพลาด" #~ msgid "Making BVH" #~ msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡ BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "ส่งผ่านไปยัง Lightmaps:" - #~ msgid "Allocating Texture #" #~ msgstr "จัดสรร Texture #" @@ -8404,9 +8619,6 @@ msgstr "ขนาดฟà¸à¸™à¸•์ผิดพลาด" #~ msgid "Del" #~ msgstr "ลบ" -#~ msgid "Copy To Platform.." -#~ msgstr "คัดลà¸à¸à¹„ปยังà¹à¸žà¸¥à¸•ฟà¸à¸£à¹Œà¸¡.." - #~ msgid "just pressed" #~ msgstr "เพิ่งà¸à¸”" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index db92e63768..1a80028964 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -1,6 +1,6 @@ # Turkish translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Aprın Çor Tigin <kabusturk38@gmail.com>, 2016-2017. @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:13+0000\n" +"PO-Revision-Date: 2017-12-04 20:50+0000\n" "Last-Translator: razah <icnikerazah@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" @@ -37,8 +37,9 @@ msgid "All Selection" msgstr "Tüm Seçim" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Hareket Anahtar Ekle" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animasyon DeÄŸiÅŸikliÄŸi DeÄŸeri" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -49,7 +50,8 @@ msgid "Anim Change Transform" msgstr "Animasyon DeÄŸiÅŸikliÄŸi Dönüşümü" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animasyon DeÄŸiÅŸikliÄŸi DeÄŸeri" #: editor/animation_editor.cpp @@ -62,7 +64,7 @@ msgstr "Animasyon İz Ekle" #: editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Animasyon Anahtarlrını ÇoÄŸalt" +msgstr "Animasyon Anahtarlarını ÇoÄŸalt" #: editor/animation_editor.cpp msgid "Move Anim Track Up" @@ -78,7 +80,7 @@ msgstr "Animasyon İzini Kaldır" #: editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "GeçiÅŸleri ÅŸuna ayarla:" +msgstr "GeçiÅŸleri Åžuna Ayarla:" #: editor/animation_editor.cpp msgid "Anim Track Rename" @@ -188,11 +190,11 @@ msgstr "GeçiÅŸler" #: editor/animation_editor.cpp msgid "Optimize Animation" -msgstr "Animasyonu İyileÅŸtir" +msgstr "Animasyonu EniyileÅŸtir" #: editor/animation_editor.cpp msgid "Clean-Up Animation" -msgstr "Animasyonu Temizle" +msgstr "Animasyonda temizlik yap" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" @@ -335,7 +337,7 @@ msgstr "Ölçek Oranı:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" -msgstr "Hangi Düğümdeki Fonksiyonlar ÇaÄŸrılsın?" +msgstr "Hangi Düğümdeki İşlevler ÇaÄŸrılsın?" #: editor/animation_editor.cpp msgid "Remove invalid keys" @@ -363,7 +365,7 @@ msgstr "Diziyi Yeniden Boyutlandır" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "Dizinin Türünü DeÄŸiÅŸtir" +msgstr "Dizi DeÄŸer Tipini DeÄŸiÅŸtir" #: editor/array_property_edit.cpp msgid "Change Array Value" @@ -395,11 +397,11 @@ msgstr "Tümünü DeÄŸiÅŸtir" #: editor/code_editor.cpp msgid "Match Case" -msgstr "Durumla EÅŸleÅŸtir" +msgstr "Büyük/Küçük Harf EÅŸleÅŸtir" #: editor/code_editor.cpp msgid "Whole Words" -msgstr "Tüm Sözcükler" +msgstr "Tam Kelimeler" #: editor/code_editor.cpp msgid "Selection Only" @@ -447,7 +449,7 @@ msgstr "Geç" #: editor/code_editor.cpp msgid "Zoom In" -msgstr "YaklaÅŸ" +msgstr "YaklaÅŸtır" #: editor/code_editor.cpp msgid "Zoom Out" @@ -467,19 +469,19 @@ msgstr "Sütun:" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "Hedef Düğümdeki Fonksiyon tanımlanmış olmalı!" +msgstr "Hedef Düğümdeki Metot tanımlanmış olmalı!" #: editor/connections_dialog.cpp msgid "" "Target method not found! Specify a valid method or attach a script to target " "Node." msgstr "" -"Amaçlanan fonksiyon bulunamadı! Geçerli bir fonksiyon tanımla ya da " -"amaçlanan Düğüme bir betik iliÅŸtirin." +"Amaçlanan metot bulunamadı! Geçerli bir metot tanımla ya da amaçlanan düğüme " +"bir betik iliÅŸtirin." #: editor/connections_dialog.cpp msgid "Connect To Node:" -msgstr "Düğüme BaÄŸlan:" +msgstr "Düğüme BaÄŸla:" #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -508,7 +510,7 @@ msgstr "Düğüm Yolu:" #: editor/connections_dialog.cpp msgid "Make Function" -msgstr "Fonksiyon Yap" +msgstr "İşlev Yap" #: editor/connections_dialog.cpp msgid "Deferred" @@ -545,8 +547,9 @@ msgid "Connecting Signal:" msgstr "BaÄŸlantı Sinyali:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Üyelik OluÅŸtur" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Bunu '%s' ÅŸuna '%s' baÄŸla" #: editor/connections_dialog.cpp msgid "Connect.." @@ -562,7 +565,8 @@ msgid "Signals" msgstr "Sinyaller" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Yeni oluÅŸtur" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -577,7 +581,7 @@ msgstr "Yakın zamanda:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Ara:" @@ -618,8 +622,9 @@ msgstr "" "DeÄŸiÅŸiklikler yeniden yükleme yapılınca etkin olacak." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" -msgstr "Bağımlılık" +msgstr "Bağımlılıklar" #: editor/dependency_editor.cpp msgid "Resource" @@ -645,7 +650,7 @@ msgstr "Bağımlılık Düzenleyicisi" #: editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "DeÄŸiÅŸim Kaynağını Ara:" +msgstr "Yerine Geçecek Kaynak Ara:" #: editor/dependency_editor.cpp editor/editor_file_dialog.cpp #: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp @@ -656,11 +661,11 @@ msgstr "Aç" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "Bunun Sahibi:" +msgstr "Åžunların sahipleri:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "Seçili dosyaları projeden kaldır? (Geri alınamaz)" +msgstr "Seçili dosyaları projeden kaldır? (geri alınamaz)" #: editor/dependency_editor.cpp msgid "" @@ -669,7 +674,7 @@ msgid "" "Remove them anyway? (no undo)" msgstr "" "Kaldırılmakta olan dosyalar baÅŸka kaynakların çalışması için gerekli.\n" -"Yine de kaldırmak istiyor musunuz? (Geri alınamaz)" +"Yine de kaldırmak istiyor musunuz? (geri alınamaz)" #: editor/dependency_editor.cpp msgid "Cannot remove:\n" @@ -677,7 +682,7 @@ msgstr "Kaldırılamadı:\n" #: editor/dependency_editor.cpp msgid "Error loading:" -msgstr "Yüklerken sorun:" +msgstr "Yüklerken hata:" #: editor/dependency_editor.cpp msgid "Scene failed to load due to missing dependencies:" @@ -697,7 +702,7 @@ msgstr "Bağımlılıkları düzelt" #: editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "Yükleme sorunları!" +msgstr "Yükleme hataları!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" @@ -720,15 +725,16 @@ msgid "Delete selected files?" msgstr "Seçili dosyalar silinsin mi?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Sil" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "Sözlükteki Anahtarı DeÄŸiÅŸtir" +msgstr "Sözlük Anahtarını DeÄŸiÅŸtir" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" @@ -865,6 +871,11 @@ msgid "Rename Audio Bus" msgstr "Audio Bus'ı Yeniden Adlandır" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Audio Bus'ı Solo Aç/Kapat" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Audio Bus'ı Solo Aç/Kapat" @@ -912,10 +923,10 @@ msgstr "Baypas" msgid "Bus options" msgstr "Bus ayarları" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "Kopyala" +msgstr "ÇoÄŸalt" #: editor/editor_audio_buses.cpp msgid "Reset Volume" @@ -926,6 +937,10 @@ msgid "Delete Effect" msgstr "Efekt'i Sil" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Audio Bus Ekle" @@ -939,7 +954,7 @@ msgstr "Audio Bus'ı Sil" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" -msgstr "Audio Bus'ın Bir Kopyasını OluÅŸtur" +msgstr "Audio Bus'ı ÇoÄŸalt" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" @@ -1001,7 +1016,7 @@ msgstr "Varsayılanı Yükle" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Varsayılan Bus YerleÅŸim Düzenini yükle." +msgstr "Varsayılan Bus YerleÅŸim Düzenini Yükle." #: editor/editor_autoload_settings.cpp msgid "Invalid name." @@ -1013,7 +1028,7 @@ msgstr "Geçerli damgalar:" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "Geçersiz ad. Devinimcide kullanılan bölüt adları kullanılamaz." +msgstr "Geçersiz isim. Varolan bir motor sınıf ismi ile çakışmamalı." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing buit-in type name." @@ -1076,7 +1091,8 @@ msgstr "Dosya yolu:" msgid "Node Name:" msgstr "Düğüm adı:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Ad" @@ -1084,10 +1100,6 @@ msgstr "Ad" msgid "Singleton" msgstr "Tekil" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Dizelge:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Sahne Güncelleniyor" @@ -1100,30 +1112,39 @@ msgstr "Yerel deÄŸiÅŸiklikler kayıt ediliyor.." msgid "Updating scene.." msgstr "Sahne güncelleniyor.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(boÅŸ)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Lütfen öncelikle bir taban dizini seçin" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "Dizin Seç" +msgstr "Bir Dizin Seç" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "Dizin OluÅŸtur" +msgstr "Klasör OluÅŸtur" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp #: scene/gui/file_dialog.cpp msgid "Name:" -msgstr "Ad:" +msgstr "İsim:" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Could not create folder." -msgstr "Dizin oluÅŸturulamadı." +msgstr "Klasör oluÅŸturulamadı." #: editor/editor_dir_dialog.cpp msgid "Choose" @@ -1146,9 +1167,24 @@ msgid "File Exists, Overwrite?" msgstr "Dosya var. Üzerine Yazılsın mı?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Dizin OluÅŸtur" +msgstr "Geçerli Klasörü Seç" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Dosya Yolunu Tıpkıla" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Dosya Yöneticisinde Göster" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Yeni Klasör.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Yenile" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1168,7 +1204,7 @@ msgstr "Dosya(leri) Aç" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "Bir dizin aç" +msgstr "Bir Dizin Aç" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" @@ -1197,10 +1233,6 @@ msgid "Go Up" msgstr "Yukarı Git" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Yenile" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Gizli Dosyalari Aç / Kapat" @@ -1243,7 +1275,7 @@ msgstr "Dosya:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Must use a valid extension." -msgstr "Gecerli bir uzantı kullanılmalı." +msgstr "Geçerli bir uzantı kullanılmalı." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1260,11 +1292,11 @@ msgstr "Yardım Ara" #: editor/editor_help.cpp msgid "Class List:" -msgstr "Bölüt Dizelgesi:" +msgstr "Sınıf Listesi:" #: editor/editor_help.cpp msgid "Search Classes" -msgstr "Bölütleri Ara" +msgstr "Sınıfları Ara" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" @@ -1272,7 +1304,7 @@ msgstr "Üst" #: editor/editor_help.cpp editor/property_editor.cpp msgid "Class:" -msgstr "Bölüt:" +msgstr "Sınıf:" #: editor/editor_help.cpp editor/scene_tree_editor.cpp msgid "Inherits:" @@ -1280,7 +1312,7 @@ msgstr "Kalıtçılar:" #: editor/editor_help.cpp msgid "Inherited by:" -msgstr "Tarafından kalıt alındı:" +msgstr "Åžundan miras alındı:" #: editor/editor_help.cpp msgid "Brief Description:" @@ -1300,7 +1332,7 @@ msgstr "Açık Metodlar" #: editor/editor_help.cpp msgid "Public Methods:" -msgstr "Açık Yöntemler:" +msgstr "Açık Metotlar:" #: editor/editor_help.cpp msgid "GUI Theme Items" @@ -1356,18 +1388,18 @@ msgstr "" #: editor/editor_help.cpp msgid "Methods" -msgstr "Metodlar" +msgstr "Metotlar" #: editor/editor_help.cpp msgid "Method Description:" -msgstr "Yöntem Açıklaması:" +msgstr "Metot Açıklaması:" #: editor/editor_help.cpp msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Bu metod için henüz bir açıklama yok. Bize [color=$color][url=$url]katkıda " +"Bu metot için henüz bir açıklama yok. Bize [color=$color][url=$url]katkıda " "bulunarak[/url][/color] yardım edebilirsiniz!" #: editor/editor_help.cpp @@ -1380,13 +1412,14 @@ msgstr "Çıktı:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Temizle" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "Kaynak kaydedilirken sorun!" +msgstr "Kaynak kaydedilirken hata!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." @@ -1407,7 +1440,7 @@ msgstr "İstenilen dosya formatı bilinmiyor:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "Kaydedilirken sorun oluÅŸtu." +msgstr "Kaydedilirken hata oluÅŸtu." #: editor/editor_node.cpp msgid "Can't open '%s'." @@ -1452,7 +1485,7 @@ msgstr "Sahne kaydedilemedi. Anlaşılan bağımlılıklar (örnekler) karşıla #: editor/editor_node.cpp msgid "Failed to load resource." -msgstr "Kaynak yüklenirken sorun oluÅŸtu." +msgstr "Kaynak yükleme baÅŸarısız oldu." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" @@ -1460,7 +1493,7 @@ msgstr "BirleÅŸtirme için MeshLibrary yüklenemedi!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "MeshLibrary kayıt edilirken sorun!" +msgstr "MeshLibrary kaydedilirken hata!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" @@ -1468,15 +1501,15 @@ msgstr "TileSet birleÅŸtirme için yüklenemedi!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "TileSet kayıt edilirken sorun!" +msgstr "TileSet kaydedilirken hata!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "YerleÅŸim Düzeni kaydedilmeye çalışılırken sorun oluÅŸtu!" +msgstr "YerleÅŸim Düzeni kaydedilmeye çalışılırken hata!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "Önyüklü düzenleyici YerleÅŸim Düzeni geçersiz kılındı." +msgstr "Varsayılan düzenleyici yerleÅŸim düzeni geçersiz kılındı." #: editor/editor_node.cpp msgid "Layout name not found!" @@ -1484,7 +1517,7 @@ msgstr "YerleÅŸim Düzeni adı bulunamadı!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "Önyüklü YerleÅŸim Düzeni temel ayarlara onarıldı." +msgstr "Varsayılan yerleÅŸim düzeni temel ayarlarına geri döndürüldü." #: editor/editor_node.cpp msgid "" @@ -1537,14 +1570,12 @@ msgstr "" "aktarma kısmını okuyunuz." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Hepsini geniÅŸlet" +msgstr "Tüm özellikleri geniÅŸlet" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Hepsini daralt" +msgstr "Tüm özellikleri daralt" #: editor/editor_node.cpp msgid "Copy Params" @@ -1776,9 +1807,8 @@ msgid "" "Error loading scene, it must be inside the project path. Use 'Import' to " "open the scene, then save it inside the project path." msgstr "" -"Sahne yüklenirken sorun oluÅŸtu, sahne proje yolunun içinde olmalı. Sahneyi " -"açmak için 'İçe Aktar' seçeneÄŸini kullanın, ardından projenin yolunun içine " -"kaydedin." +"Sahne yükleme hatası, sahne proje yolunun içinde olmalı. Sahneyi açmak için " +"'İçe Aktar' seçeneÄŸini kullanın, ardından projenin yolunun içine kaydedin." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" @@ -1863,7 +1893,7 @@ msgstr "Yeni Sahne" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "Yeni Kalıt Alınmış Sahne .." +msgstr "Yeni Miras Alınmış Sahne .." #: editor/editor_node.cpp msgid "Open Scene.." @@ -1945,14 +1975,14 @@ msgstr "Kusur Ayıkla" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "Uzaktan Sorun Ayıklama ile Dağıt" +msgstr "Uzaktan Hata Ayıklama ile Dağıt" #: editor/editor_node.cpp msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." msgstr "" -"Verilen yürütülebilir dosya, dışa aktarılırken veya dağıtıldığında, sorun " +"Verilen yürütülebilir dosya, dışa aktarılırken veya dağıtıldığında, hata " "ayıklanacak ÅŸekilde bu bilgisayarın IP'sine baÄŸlanmaya çalışacaktır." #: editor/editor_node.cpp @@ -2040,7 +2070,7 @@ msgstr "Düzenleyici Ayarları" #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "Düzenleyici YerleÅŸim Planı" +msgstr "Düzenleyici YerleÅŸim Düzeni" #: editor/editor_node.cpp msgid "Toggle Fullscreen" @@ -2056,7 +2086,7 @@ msgstr "Yardım" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Classes" -msgstr "Bölütler" +msgstr "Sınıflar" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Online Docs" @@ -2076,7 +2106,7 @@ msgstr "Topluluk" #: editor/editor_node.cpp msgid "About" -msgstr "İliÅŸkin" +msgstr "Hakkında" #: editor/editor_node.cpp msgid "Play the project." @@ -2225,7 +2255,7 @@ msgstr "Yeni Örnekleme" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "Sorunları Yükle" +msgstr "Hataları Yükle" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" @@ -2328,6 +2358,16 @@ msgstr "Kendi" msgid "Frame #:" msgstr "Kare #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Süre:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Çağır" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Listeden aygıt seç" @@ -2342,7 +2382,7 @@ msgstr "" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "Mantığını _run() yöntemine yaz." +msgstr "Mantığınızı _run() metoduna yazın." #: editor/editor_run_script.cpp msgid "There is an edited scene already." @@ -2362,11 +2402,11 @@ msgstr "Betik çalıştırılamadı:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" -msgstr "'_run()' yöntemini unuttunuz mu?" +msgstr "'_run()' metodunu unuttunuz mu?" #: editor/editor_settings.cpp msgid "Default (Same as Editor)" -msgstr "Önyüklü(Düzenleyici ile aynı)" +msgstr "Varsayılan (Düzenleyici İle Aynı)" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -2469,7 +2509,8 @@ msgstr "Cevap yok." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "İstem BaÅŸarısız." #: editor/export_template_manager.cpp @@ -2516,7 +2557,8 @@ msgid "Connecting.." msgstr "BaÄŸlanılıyor.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "BaÄŸlanamadı" #: editor/export_template_manager.cpp @@ -2612,6 +2654,11 @@ msgid "Error moving:\n" msgstr "Taşıma Hatası:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Yüklerken hata:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Bağımlılıklar güncellenemedi:\n" @@ -2641,7 +2688,17 @@ msgstr "Dosya yeniden-adlandırma:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "Klasör yeniden-adlandırma:" +msgstr "Klasör yeniden adlandırma:" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "ÇoÄŸalt" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Klasör yeniden adlandırma:" #: editor/filesystem_dock.cpp msgid "Expand all" @@ -2652,10 +2709,6 @@ msgid "Collapse all" msgstr "Hepsini daralt" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Dosya Yolunu Tıpkıla" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Yeniden Adlandır.." @@ -2664,12 +2717,9 @@ msgid "Move To.." msgstr "Åžuraya Taşı.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Yeni Klasör.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Dosya Yöneticisinde Göster" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Sahneyi Aç" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2684,6 +2734,11 @@ msgid "View Owners.." msgstr "Sahipleri Görüntüle.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "ÇoÄŸalt" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Önceki Dizin" @@ -2697,7 +2752,7 @@ msgstr "Dosya Düzenini Yeniden Tara" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "Dizin Durumlarını BeÄŸenilen Olarak Aç/Kapat" +msgstr "Klasör durumunu BeÄŸenilen olarak deÄŸiÅŸtir" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." @@ -2778,6 +2833,16 @@ msgid "Importing Scene.." msgstr "Sahneyi İçe Aktarıyor..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Işık Haritalarına Aktar:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "AABB Üretimi" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Çalışan Özel Betik.." @@ -2793,7 +2858,7 @@ msgstr "" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "İçe aktarma sonrası betik dosyası çalıştırılırken sorun oluÅŸtu:" +msgstr "sonradan-içe aktarılmış betik çalıştırılırken hata:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." @@ -2907,11 +2972,11 @@ msgstr "Animasyonu Kaldır" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" -msgstr "SORUN: Geçersiz animasyon adı!" +msgstr "HATA: Geçersiz animasyon adı!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Animation name already exists!" -msgstr "SORUN: Bu animasyon adı zaten var!" +msgstr "HATA: Bu animasyon adı zaten var!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -2941,11 +3006,11 @@ msgstr "Animasyonu ÇoÄŸalt" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to copy!" -msgstr "SORUN: Tıpkılamak için bir animasyon yok!" +msgstr "HATA: Kopyalanacak animasyon yok!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation resource on clipboard!" -msgstr "SORUN: Bellemde animasyon kaynağı yok!" +msgstr "HATA: panoda animasyon kaynağı yok!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" @@ -2957,7 +3022,7 @@ msgstr "Animasyonu Yapıştır" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to edit!" -msgstr "SORUN: Düzenlemek için bir animasyon yok!" +msgstr "HATA: Düzenlenecek animasyon yok!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" @@ -3025,54 +3090,51 @@ msgstr "Animasyonu Tıpkıla" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Araları Doldurma" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Araları Doldurmayı EtkinleÅŸtir" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Bölümler:" +msgstr "Yönler" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Yapıştır" +msgstr "GeçmiÅŸ" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Özellikler" +msgstr "Gelecek" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Derinlik" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 kademe" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 kademe" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 kademe" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Sadece Farklılıklar" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Beyaz Modüle Etme Kuvveti" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Gizmoları Dahil Et (3B)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3314,7 +3376,7 @@ msgstr "Çözümleniyor..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" -msgstr "İstek yapma hatası" +msgstr "İstek yapılırken hata" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" @@ -3349,6 +3411,7 @@ msgid "last" msgstr "son" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Hepsi" @@ -3368,7 +3431,7 @@ msgstr "Tersi" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Category:" -msgstr "Katman:" +msgstr "Kategori:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" @@ -3390,6 +3453,28 @@ msgstr "Deneme" msgid "Assets ZIP File" msgstr "Varlıkların ZIP Dosyası" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Işık Haritalarına Aktar:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Önizleme" @@ -3528,7 +3613,6 @@ msgid "Toggles snapping" msgstr "Yapılmayı aç/kapat" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Yapışma Kullan" @@ -3570,7 +3654,7 @@ msgstr "Düğüm çapasına yapıştır" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "Düğüm kenalarına yapıştır" +msgstr "Düğüm kenalarına yapış" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" @@ -3682,7 +3766,7 @@ msgstr "Pivotu fare pozisyonunda ayarla" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "Izgara adımlarını 2 ile çarp" +msgstr "Izgara basamağını 2 ile çarp" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" @@ -3704,17 +3788,7 @@ msgstr "Düğüm OluÅŸtur" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Error instancing scene from %s" -msgstr "%s sahne örnekleme sorunu" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Tamam :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "ÇocuÄŸun örnek alacağı bir ebeveyn yok." +msgstr "Åžundan: %s sahne örnekleme hatası" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -3723,7 +3797,7 @@ msgstr "Bu iÅŸlem, seçilmiÅŸ tek bir düğüm gerektirir." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "Önyüklü tipi deÄŸiÅŸtir" +msgstr "Varsayılan tipi deÄŸiÅŸtir" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -3913,6 +3987,22 @@ msgid "Create Navigation Mesh" msgstr "Yönlendirici Örüntüsü OluÅŸtur" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance herhangi bir Örüntüden yoksun!" @@ -3953,12 +4043,26 @@ msgid "Create Outline Mesh.." msgstr "Anahat Örüntüsü OluÅŸtur.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Görüş" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Görüş" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "Anahat Örüntüsü OluÅŸtur" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Outline Size:" -msgstr "Anahat Ölçüsü:" +msgstr "Kontur Boyutu:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." @@ -4129,10 +4233,6 @@ msgid "Create Navigation Polygon" msgstr "Yönlendirici Çokgeni OluÅŸtur" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Yayma Örtecini Temizle" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "AABB Üretimi" @@ -4143,23 +4243,23 @@ msgstr "Nokta sadece ParçacıkMateryal iÅŸlem materyalinin içinde ayarlanabili #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" -msgstr "Bediz yüklenirken sorun oluÅŸtu:" +msgstr "Resim yüklenirken hata:" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." msgstr "Saydamlığı olan nokta yok > 128 bedizde.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Yayma Örtecini Ayarla" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Görünebilirlik Dikdörtgeni Üret" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" -msgstr "Yayma Örtecini Yükle" +msgstr "Yayma Maskesini Yükle" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Yayma Maskesini Temizle" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -4168,7 +4268,7 @@ msgstr "Parçacıklar" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" -msgstr "Üretilen Nokta Say:" +msgstr "Üretilen Nokta Sayısı:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -4220,10 +4320,6 @@ msgid "Create Emission Points From Node" msgstr "Düğümden Emisyon Noktaları OluÅŸtur" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Yayıcıyı Temizle" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Yayıcı OluÅŸtur" @@ -4257,11 +4353,11 @@ msgstr "Noktayı EÄŸriden Kaldır" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" -msgstr "Çıkış-Kontrolünü EÄŸriden Kaldır" +msgstr "EÄŸriden Çıkış-Kontrol Kaldır" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove In-Control from Curve" -msgstr "GiriÅŸ-Kontrolünü EÄŸriden Kaldır" +msgstr "EÄŸriden GiriÅŸ-Kontrol Kaldır" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4274,11 +4370,11 @@ msgstr "Noktayı EÄŸriye Taşı" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" -msgstr "EÄŸriye Denetimli Taşı" +msgstr "EÄŸride GiriÅŸ-Kontrol Taşı" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Out-Control in Curve" -msgstr "EÄŸriye Denetimsiz Taşı" +msgstr "EÄŸride Çıkış-Kontrol Taşı" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4350,7 +4446,7 @@ msgstr "Yol Noktasını Kaldır" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Out-Control Point" -msgstr "Çıkış-Kontrol Noktasını Kaldır" +msgstr "Çıkış-Kontrol Noktası Kaldır" #: editor/plugins/path_editor_plugin.cpp msgid "Remove In-Control Point" @@ -4431,7 +4527,7 @@ msgstr "Izgara" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "SORUN: Kaynak yüklenemedi!" +msgstr "HATA: Kaynak yüklenemedi!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" @@ -4448,7 +4544,7 @@ msgstr "Kaynağı Sil" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" -msgstr "Kaynak bellemi boÅŸ!" +msgstr "Kaynak panosu boÅŸ!" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -4476,19 +4572,19 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "Tema kaydedilirken sorun oluÅŸtu" +msgstr "Tema kaydedilirken hata" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" -msgstr "Kaydetme sorunu" +msgstr "Kaydedilirken hata" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme" -msgstr "Tema içe aktarılırken sorun oluÅŸtu" +msgstr "Tema içe aktarılırken hata" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing" -msgstr "İçe aktarma sorunu" +msgstr "İçe aktarılırken hata" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" @@ -4500,7 +4596,7 @@ msgstr "Temayı Farklı Kaydet.." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr " Sınıf Referansı" +msgstr " Sınıf BaÅŸvurusu" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" @@ -4508,11 +4604,13 @@ msgstr "Sırala" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "Yukarı Taşı" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "AÅŸağı Taşı" @@ -4528,7 +4626,7 @@ msgstr "Önceki betik" msgid "File" msgstr "Dosya" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Yeni" @@ -4541,6 +4639,11 @@ msgid "Soft Reload Script" msgstr "BetiÄŸi Yeniden Duyarlı Yükle" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Dosya Yolunu Tıpkıla" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Öceki GeçmiÅŸ" @@ -4621,7 +4724,7 @@ msgstr "Çevrimiçi Godot dökümanlarını aç" #: editor/plugins/script_editor_plugin.cpp msgid "Search the class hierarchy." -msgstr "Bölüt sıradüzenini Ara." +msgstr "Sınıf hiyerarÅŸisi ara." #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." @@ -4731,11 +4834,8 @@ msgid "Clone Down" msgstr "AÅŸağıya EÅŸle" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Satırı Katla" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Satırı GeniÅŸlet" #: editor/plugins/script_text_editor.cpp @@ -4829,7 +4929,7 @@ msgstr "RGB Sabitini DeÄŸiÅŸtir" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Operator" -msgstr "Basamaklı İşletmeni DeÄŸiÅŸtir" +msgstr "Skaler Operatörünü DeÄŸiÅŸtir" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Operator" @@ -4869,7 +4969,7 @@ msgstr "RGB Tekdüzenini DeÄŸiÅŸtir" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Default Value" -msgstr "Önyüklü DeÄŸeri DeÄŸiÅŸtir" +msgstr "Varsayılan DeÄŸeri DeÄŸiÅŸtir" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change XForm Uniform" @@ -4921,7 +5021,7 @@ msgstr "Gölgelendirici Çizge Düğümünü Taşı" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Duplicate Graph Node(s)" -msgstr "Çizge Düğüm(lerini) ÇoÄŸalt" +msgstr "Grafik Düğüm(lerini) ÇoÄŸalt" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Delete Shader Graph Node(s)" @@ -4929,11 +5029,11 @@ msgstr "Gölgelendirici Çizge Düğümünü Sil" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Cyclic Connection Link" -msgstr "Sorun: Döngüsel İliÅŸki BaÄŸlantısı" +msgstr "Hata: Döngüsel BaÄŸlantı BaÄŸlantısı" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Missing Input Connections" -msgstr "Sorun: GiriÅŸ BaÄŸlantıları Eksik" +msgstr "Hata: Girdi BaÄŸlantıları Eksik" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add Shader Graph Node" @@ -5063,6 +5163,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Görünüme Ayarla" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Tamam :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "ÇocuÄŸun örnek alacağı bir ebeveyn yok." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "OlaÄŸanı Görüntüle" @@ -5170,6 +5278,20 @@ msgid "Scale Mode (R)" msgstr "Ölçek Biçimi (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Yerel Koordlar" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Ölçek Biçimi (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Yapışma Kipi:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Alttan Görünüm" @@ -5242,36 +5364,32 @@ msgid "Configure Snap.." msgstr "Yapışmayı Yapılandır.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Yerel Koordlar" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Dönüştürme İletiÅŸim Kutusu.." #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "1 Görünüm" +msgstr "1 Görüntükapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "2 Görünüm" +msgstr "2 Görüntükapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "2 Görünüm (Alt)" +msgstr "2 Görüntükapısı (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "3 Görünüm" +msgstr "3 Görüntükapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "3 Görünüm (Alt)" +msgstr "3 Görüntükapısı (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "4 Görünüm" +msgstr "4 Görüntükapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" @@ -5287,6 +5405,10 @@ msgid "Settings" msgstr "Ayarlar" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Yapışma Ayarları" @@ -5304,7 +5426,7 @@ msgstr "Yapışmayı Ölçekle (%):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" -msgstr "Görüntüleme Ayarları" +msgstr "Görüntükapısı Ayarları" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" @@ -5348,7 +5470,7 @@ msgstr "Sonrası" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" -msgstr "SORUN: Kare kaynağı yüklenemedi!" +msgstr "HATA: Kare kaynağı yüklenemedi!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frame" @@ -5356,7 +5478,7 @@ msgstr "Çerçeve Ekle" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" -msgstr "Kaynak bellem boÅŸ ya da bu bir doku deÄŸil!" +msgstr "Kaynak panosu boÅŸ ya da bir doku deÄŸil!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Paste Frame" @@ -5420,7 +5542,7 @@ msgstr "Dikdörtgen Bölgesini Ayarla" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "Yapışma Biçimi:" +msgstr "Yapışma Kipi:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" @@ -5436,7 +5558,7 @@ msgstr "Izgara Yapışması" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "Kendinden Dilimle" +msgstr "Otomatik Dilimle" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" @@ -5493,11 +5615,11 @@ msgstr "Tema düzenleme menüsü." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "Bölüt Öğeleri Ekle" +msgstr "Sınıf Öğeleri Ekle" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "Bölüt Öğelerini Kaldır" +msgstr "Sınıf Öğelerini Kaldır" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" @@ -5669,6 +5791,11 @@ msgid "Merge from scene?" msgstr "Sahneden birleÅŸtirilsin mi?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet .." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Sahneden OluÅŸtur" @@ -5678,7 +5805,11 @@ msgstr "Sahneden BirleÅŸtir" #: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Error" -msgstr "Sorun" +msgstr "Hata" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Vazgeç" #: editor/project_export.cpp msgid "Runnable" @@ -5803,10 +5934,6 @@ msgid "Imported Project" msgstr "İçe Aktarılan Proje" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Projenizi isimlendirmek iyi bir fikir olabilir." @@ -5860,7 +5987,7 @@ msgstr "Proje Adı:" #: editor/project_manager.cpp msgid "Create folder" -msgstr "Klasöre OluÅŸtur" +msgstr "Klasör OluÅŸtur" #: editor/project_manager.cpp msgid "Project Path:" @@ -5926,7 +6053,7 @@ msgid "" "You are about the scan %s folders for existing Godot projects. Do you " "confirm?" msgstr "" -"Var olan Godot projeleri için %s dizin taraması yapıyorsunuz. Onaylıyor " +"Var olan Godot projeleri için %s klasör taraması yapıyorsunuz. Onaylıyor " "musunuz?" #: editor/project_manager.cpp @@ -5939,7 +6066,7 @@ msgstr "Tara" #: editor/project_manager.cpp msgid "Select a Folder to Scan" -msgstr "Tarama için bir Dizin Seç" +msgstr "Tarama İçin Bir Klasör Seç" #: editor/project_manager.cpp msgid "New Project" @@ -5966,18 +6093,20 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Herhangi bir projen yok.\n" +"Varlık Kütüphanesi'ndeki resmî örnek projeleri incelemek ister misin?" #: editor/project_settings_editor.cpp msgid "Key " -msgstr "Dokunaç " +msgstr "Anahtar " #: editor/project_settings_editor.cpp msgid "Joy Button" -msgstr "EÄŸlence Düğmesi" +msgstr "Oyun Kolu Düğmesi" #: editor/project_settings_editor.cpp msgid "Joy Axis" -msgstr "EÄŸlence Ekseni" +msgstr "Oyun Kolu Ekseni" #: editor/project_settings_editor.cpp msgid "Mouse Button" @@ -6017,7 +6146,7 @@ msgstr "Bir Dokunaca Basın.." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "Fare Düğme Dizini:" +msgstr "Fare Düğmesi İndeksi:" #: editor/project_settings_editor.cpp msgid "Left Button" @@ -6062,7 +6191,7 @@ msgstr "DeÄŸiÅŸtir" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" -msgstr "Oyun kolu Ekseni İndeksi:" +msgstr "Oyun Kolu Ekseni İndeksi:" #: editor/project_settings_editor.cpp msgid "Axis" @@ -6070,11 +6199,12 @@ msgstr "Eksen" #: editor/project_settings_editor.cpp msgid "Joypad Button Index:" -msgstr "Oyun kolu Düğme İndeksi:" +msgstr "Oyun Kolu Düğmesi İndeksi:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "GiriÅŸ Eylemi Ekle" +#, fuzzy +msgid "Erase Input Action" +msgstr "GiriÅŸ Eylemi Olayını Sil" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6141,8 +6271,12 @@ msgid "Already existing" msgstr "Zaten mevcut" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "GiriÅŸ Eylemi Ekle" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." -msgstr "Ayarları kaydetme sorunu." +msgstr "Ayarlar kaydedilirken hata." #: editor/project_settings_editor.cpp msgid "Settings saved OK." @@ -6206,7 +6340,7 @@ msgstr "Åžunun Üzerine Yaz.." #: editor/project_settings_editor.cpp msgid "Input Map" -msgstr "EÅŸleme Gir" +msgstr "Girdi Haritası" #: editor/project_settings_editor.cpp msgid "Action:" @@ -6218,7 +6352,7 @@ msgstr "Aygıt:" #: editor/project_settings_editor.cpp msgid "Index:" -msgstr "Dizin:" +msgstr "İndeks:" #: editor/project_settings_editor.cpp msgid "Localization" @@ -6242,7 +6376,7 @@ msgstr "Kaynaklar:" #: editor/project_settings_editor.cpp msgid "Remaps by Locale:" -msgstr "Yerel Ayara Göre Yeniden EÅŸlemeler:" +msgstr "Yerele Göre Atamalar:" #: editor/project_settings_editor.cpp msgid "Locale" @@ -6274,7 +6408,7 @@ msgstr "KendindenYükle" #: editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "Bir Görünüm Seçin" +msgstr "Bir Görüntükapısı Seçin" #: editor/property_editor.cpp msgid "Ease In" @@ -6317,6 +6451,10 @@ msgid "New Script" msgstr "Yeni Betik" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Benzersiz Yap" @@ -6330,11 +6468,11 @@ msgstr "Åžuna Dönüştür %s" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" -msgstr "Dosya yüklenirken sorun oluÅŸtu: Bir kaynak deÄŸil!" +msgstr "Dosya yüklenirken hata: Bir kaynak deÄŸil!" #: editor/property_editor.cpp msgid "Selected node is not a Viewport!" -msgstr "Seçili düğüm bir Görüntükapısı deÄŸil!" +msgstr "Seçili düğüm bir Viewport deÄŸil!" #: editor/property_editor.cpp msgid "Pick a Node" @@ -6348,29 +6486,30 @@ msgstr "Bit %d, val %d." msgid "On" msgstr "Açık" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "BoÅŸ Ekle" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Ayarla" #: editor/property_editor.cpp msgid "Properties:" -msgstr "Özellikleri:" - -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Bölümler:" +msgstr "Özellikler:" #: editor/property_selector.cpp msgid "Select Property" -msgstr "Nitelik Seç" +msgstr "Özellik Seç" #: editor/property_selector.cpp msgid "Select Virtual Method" -msgstr "Sanal Metod Seç" +msgstr "Sanal Metot Seç" #: editor/property_selector.cpp msgid "Select Method" -msgstr "Yöntem Seç" +msgstr "Metot Seç" #: editor/pvrtc_compress.cpp msgid "Could not execute PVRTC tool:" @@ -6427,7 +6566,7 @@ msgstr "Sahneleri örneklemek için ebeveyn yok." #: editor/scene_tree_dock.cpp msgid "Error loading scene from %s" -msgstr "%s Adlı sahne yüklenirken sorun oluÅŸtu" +msgstr "Åžuradan: %s sahne yüklenirken hata" #: editor/scene_tree_dock.cpp msgid "Ok" @@ -6459,7 +6598,7 @@ msgstr "Düğümleri Ataya Taşı" #: editor/scene_tree_dock.cpp msgid "Duplicate Node(s)" -msgstr "ÇoÄŸalt Düğüm(leri)" +msgstr "Düğüm(leri) ÇoÄŸalt" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -6499,7 +6638,7 @@ msgstr "Yad bir sahnedeki düğümler üzerinde çalışamaz!" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes the current scene inherits from!" -msgstr "Geçerli sahneden kalıt aldığı düğümler üzerinde çalışamaz!" +msgstr "Geçerli sahneden miras alınan düğümler üzerinde iÅŸlem yapılamaz!" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" @@ -6514,11 +6653,11 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Error saving scene." -msgstr "Sahne kaydedilirken sorun oluÅŸtu." +msgstr "Sahne kaydedilirken hata." #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." -msgstr "Kaydetmek için sahne çoÄŸaltılırken sorun oluÅŸtu." +msgstr "Kaydetmek için sahne çoÄŸaltılırken hata." #: editor/scene_tree_dock.cpp msgid "Sub-Resources:" @@ -6581,8 +6720,8 @@ msgid "" "Instance a scene file as a Node. Creates an inherited scene if no root node " "exists." msgstr "" -"Sahne dosyasıni Düğüm olarak örneklendirin. Kök düğüm yoksa kalıtsal bir " -"sahne oluÅŸturur." +"Bir sahne dosyasını Düğüm olarak örneklendirin. Kök düğüm yoksa miras " +"alınmış bir sahne oluÅŸturur." #: editor/scene_tree_dock.cpp msgid "Filter nodes" @@ -6606,7 +6745,7 @@ msgstr "Yerel" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance? (No Undo!)" -msgstr "Kalıt Silinsin mi? (Geri Alınamaz!)" +msgstr "Miras Silinsin mi? (Geri Alınamaz!)" #: editor/scene_tree_dock.cpp msgid "Clear!" @@ -6706,7 +6845,7 @@ msgstr "Hata - dosyasisteminde betik oluÅŸturulamadı." #: editor/script_create_dialog.cpp msgid "Error loading script from %s" -msgstr "Yazı tipi %s yüklerken sorun oluÅŸtu" +msgstr "Åžuradan: %s betik yüklenirken hata" #: editor/script_create_dialog.cpp msgid "N/A" @@ -6746,7 +6885,7 @@ msgstr "Geçersiz Yol" #: editor/script_create_dialog.cpp msgid "Invalid class name" -msgstr "Geçersiz bölüt adı" +msgstr "Geçersiz sınıf ismi" #: editor/script_create_dialog.cpp msgid "Invalid inherited parent name or path" @@ -6810,7 +6949,7 @@ msgstr "Uyarı" #: editor/script_editor_debugger.cpp msgid "Error:" -msgstr "Sorun:" +msgstr "Hata:" #: editor/script_editor_debugger.cpp msgid "Source:" @@ -6826,7 +6965,7 @@ msgstr "GrafiÄŸi görüntülemek için listeden bir veya daha fazla öğe seçin #: editor/script_editor_debugger.cpp msgid "Errors" -msgstr "Sorunlar" +msgstr "Hatalar" #: editor/script_editor_debugger.cpp msgid "Child Process Connected" @@ -6850,7 +6989,7 @@ msgstr "DeÄŸiÅŸken" #: editor/script_editor_debugger.cpp msgid "Errors:" -msgstr "Sorunlar:" +msgstr "Hatalar:" #: editor/script_editor_debugger.cpp msgid "Stack Trace (if applicable):" @@ -6924,6 +7063,10 @@ msgstr "AÄŸaçtan Ayarla" msgid "Shortcuts" msgstr "Kısayollar" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Işın Çapını DeÄŸiÅŸtir" @@ -6972,15 +7115,55 @@ msgstr "Parçacık AABB DeÄŸiÅŸimi" msgid "Change Probe Extents" msgstr "DeÅŸme GeniÅŸlemesini DeÄŸiÅŸtir" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Yol Noktasını Kaldır" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "Düzleme Tıpkıla.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Kütüphane" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDYerel" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Kütüphane" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Durum" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Kütüphaneler: " @@ -7029,7 +7212,7 @@ msgstr "Geçersiz örnek sözlük biçemi (@path 'taki kod geçersiz)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "Geçersiz örnek sözlüğü (geçersiz altbölütler)" +msgstr "Geçersiz örnek sözlüğü (geçersiz altsınıflar)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." @@ -7297,7 +7480,7 @@ msgstr "Alıcı Özellik Ekle" #: modules/visual_script/visual_script_editor.cpp msgid "Add Setter Property" -msgstr "Düzenleyici Özellik Ekle" +msgstr "Atayıcı Özellik Ekle" #: modules/visual_script/visual_script_editor.cpp msgid "Change Base Type" @@ -7449,7 +7632,7 @@ msgstr "Yineleyici geçersiz durumda: " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "Geçersiz dizin özelliÄŸi adı." +msgstr "Geçersiz indeks özelliÄŸi ismi." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" @@ -7461,7 +7644,7 @@ msgstr "Yol bir düğüme çıkmıyor!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "%s düğümünde geçersiz dizin özelliÄŸi adı '%s'." +msgstr "%s düğümünde geçersiz indeks özelliÄŸi ismi '%s'." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " @@ -7481,15 +7664,15 @@ msgstr "VariableSet betikte bulunamadı: " #: modules/visual_script/visual_script_nodes.cpp msgid "Custom node has no _step() method, can't process graph." -msgstr "Özel düğüm _step() yöntemine sahip deÄŸil, çizgeyi iÅŸleyemez." +msgstr "Özel düğüm _step() metoduna sahip deÄŸil, grafiÄŸi iÅŸleyemez." #: modules/visual_script/visual_script_nodes.cpp msgid "" "Invalid return value from _step(), must be integer (seq out), or string " "(error)." msgstr "" -"_step()'ten geçersiz dönüş deÄŸeri, tam sayı (dizi çıkışı) ya da dizgi " -"(sorunu) olmalı." +"_step()'ten geçersiz dönüş deÄŸeri, tam sayı (dizi çıkışı) ya da dize " +"(hatası) olmalı." #: platform/javascript/export/export.cpp msgid "Run in Browser" @@ -7574,7 +7757,7 @@ msgstr "" msgid "" "A texture with the shape of the light must be supplied to the 'texture' " "property." -msgstr "Işık yüzeyli bir doku, \"doku\" niteliÄŸine saÄŸlanmalıdır." +msgstr "Işık yüzeyli bir doku, 'texture' özelliÄŸine saÄŸlanmalıdır." #: scene/2d/light_occluder_2d.cpp msgid "" @@ -7637,7 +7820,7 @@ msgstr "" #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." msgstr "" -"Yol niteliÄŸi çalışması için geçerli bir Node2D düğümüne iÅŸaret etmelidir." +"Yol özelliÄŸi çalışabilmesi için geçerli bir Node2D düğümüne iÅŸaret etmelidir." #: scene/2d/visibility_notifier_2d.cpp msgid "" @@ -7678,6 +7861,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin bir ARVRCamera çocuk düğümü gerektirir" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Örüntüler Haritalanıyor" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Örüntüler Haritalanıyor" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Haritalama Bitiriliyor" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Örüntüler Haritalanıyor" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7715,10 +7917,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Örüntüler Haritalanıyor" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Haritalama Bitiriliyor" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7752,7 +7950,7 @@ msgstr "" #: scene/3d/remote_transform.cpp msgid "Path property must point to a valid Spatial node to work." msgstr "" -"Yol niteliÄŸi, çalışmak için geçerli bir Spatial düğümü iÅŸaret etmelidir." +"Yol özelliÄŸi, çalışmak için geçerli bir Spatial düğümüne iÅŸaret etmelidir." #: scene/3d/scenario_fx.cpp msgid "" @@ -7786,10 +7984,6 @@ msgid "Add current color as a preset" msgstr "Åžuanki rengi bir önayar olarak kaydet" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Vazgeç" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Uyarı!" @@ -7798,9 +7992,8 @@ msgid "Please Confirm..." msgstr "Lütfen DoÄŸrulayın..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Yöntem Seç" +msgstr "Bu Klasörü Seç" #: scene/gui/popup.cpp msgid "" @@ -7808,7 +8001,7 @@ msgid "" "functions. Making them visible for editing is fine though, but they will " "hide upon running." msgstr "" -"Açılır pencereler popup() veya popup*() iÅŸlevlerini çağırmadıkça ön tanımlı " +"Açılır pencereler popup() veya popup*() iÅŸlevleri çaÄŸrılmadıkça varsayılan " "olarak gizlenecektir. Onları düzenleme için görünür kılmak da iyidir, ancak " "çalışırken gizlenecekler." @@ -7831,7 +8024,7 @@ msgid "" "Default Environment as specified in Project Setings (Rendering -> Viewport -" "> Default Environment) could not be loaded." msgstr "" -"Proje Ayarlarında tanımlanmış Varsayılan Ortam (İşleme -> Görüş Alanı -> " +"Proje Ayarlarında tanımlanmış Varsayılan Ortam (İşleme -> Görüntükapısı -> " "Varsayılan Ortam) Yüklenemedi." #: scene/main/viewport.cpp @@ -7848,7 +8041,7 @@ msgstr "" #: scene/resources/dynamic_font.cpp msgid "Error initializing FreeType." -msgstr "FreeType baÅŸlatılırken sorun oluÅŸtu." +msgstr "FreeType baÅŸlatılırken hata." #: scene/resources/dynamic_font.cpp msgid "Unknown font format." @@ -7862,6 +8055,30 @@ msgstr "Yazıtipi yükleme hatası." msgid "Invalid font size." msgstr "Geçersiz yazıtipi boyutu." +#~ msgid "Move Add Key" +#~ msgstr "Hareket Anahtar Ekle" + +#~ msgid "Create Subscription" +#~ msgstr "Üyelik OluÅŸtur" + +#~ msgid "List:" +#~ msgstr "Liste:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Yayma Maskesini Ayarla" + +#~ msgid "Clear Emitter" +#~ msgstr "Yayıcıyı Temizle" + +#~ msgid "Fold Line" +#~ msgstr "Satırı Katla" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Bölümler:" + #, fuzzy #~ msgid "" #~ "\n" @@ -8388,9 +8605,6 @@ msgstr "Geçersiz yazıtipi boyutu." #~ msgid "Making BVH" #~ msgstr "BVH Yapıyor" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Işık Haritalarına Aktar:" - #~ msgid "Allocating Texture #" #~ msgstr "Doku Paylaşımı #" @@ -8534,9 +8748,6 @@ msgstr "Geçersiz yazıtipi boyutu." #~ msgid "Del" #~ msgstr "Sil" -#~ msgid "Copy To Platform.." -#~ msgstr "Düzleme Tıpkıla.." - #~ msgid "just pressed" #~ msgstr "yeni basıldı" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 2a078b98dd..de2ab23773 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -1,15 +1,16 @@ # Ukrainian translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Aleksandr <XpycT.TOP@gmail.com>, 2017. +# Гидеон Теон <t.kudely94@gmail.com>, 2017. # ÐœÐ°Ñ€Ñ Ð¯Ð¼Ð±Ð°Ñ€ <mjambarmeta@gmail.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-28 20:31+0000\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" "Last-Translator: ÐœÐ°Ñ€Ñ Ð¯Ð¼Ð±Ð°Ñ€ <mjambarmeta@gmail.com>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" @@ -18,7 +19,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -29,8 +30,9 @@ msgid "All Selection" msgstr "УÑÑ– вибранні елементи" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "ПоÑунути ключ" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Змінити значеннÑ" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -38,10 +40,11 @@ msgstr "Змінити перехід" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Змінити положеннÑ" +msgstr "Змінити перетвореннÑ" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Змінити значеннÑ" #: editor/animation_editor.cpp @@ -106,6 +109,7 @@ msgid "Duplicate Selection" msgstr "Дублювати виділене" #: editor/animation_editor.cpp +#, fuzzy msgid "Duplicate Transposed" msgstr "ПереміÑтити дублікат" @@ -114,16 +118,17 @@ msgid "Remove Selection" msgstr "Вилучити виділене" #: editor/animation_editor.cpp +#, fuzzy msgid "Continuous" msgstr "Ðевгаваючий" #: editor/animation_editor.cpp msgid "Discrete" -msgstr "ПереривчаÑтий" +msgstr "ДиÑкретний" #: editor/animation_editor.cpp msgid "Trigger" -msgstr "Курок" +msgstr "Триґер" #: editor/animation_editor.cpp msgid "Anim Add Key" @@ -147,7 +152,7 @@ msgstr "Перейти до наÑтупного кроку" #: editor/animation_editor.cpp msgid "Goto Prev Step" -msgstr "ПовернутиÑÑ Ð´Ð¾ попереднього кроку" +msgstr "ПовернутиÑÑ Ð´Ð¾ попереднього кроку" #: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -188,11 +193,11 @@ msgstr "ÐžÑ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "Створити нову доріжку Ð´Ð»Ñ %s Ñ– вÑтавте ключ?" +msgstr "Створити нову доріжку Ð´Ð»Ñ %s Ñ– вÑтавити ключ?" #: editor/animation_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "Створити %d нові треки Ñ– вÑтавити ключі?" +msgstr "Створити %d нові доріжки Ñ– вÑтавити ключі?" #: editor/animation_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp @@ -224,6 +229,7 @@ msgid "Change Anim Loop" msgstr "Змінити цикл анімації" #: editor/animation_editor.cpp +#, fuzzy msgid "Anim Create Typed Value Key" msgstr "Створити типовий ключ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—" @@ -535,8 +541,9 @@ msgid "Connecting Signal:" msgstr "ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñигналу:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñки" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ '%s' Ð´Ð»Ñ %s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -552,7 +559,8 @@ msgid "Signals" msgstr "Сигнали" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Створити новий" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -567,7 +575,7 @@ msgstr "Ðещодавні:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Пошук:" @@ -608,6 +616,7 @@ msgstr "" "Зміни набудуть чинноÑті піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ЗалежноÑті" @@ -711,9 +720,10 @@ msgid "Delete selected files?" msgstr "Видалити вибрані файли?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Вилучити" @@ -856,6 +866,11 @@ msgid "Rename Audio Bus" msgstr "ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ð°ÑƒÐ´Ñ–Ð¾ шини" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Перемкнути аудіо шину Ñоло" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Перемкнути аудіо шину Ñоло" @@ -885,11 +900,11 @@ msgstr "Вилучити ефект шини" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "" +msgstr "Ðудіо шина, перетÑгнути, щоб змінити." #: editor/editor_audio_buses.cpp msgid "Solo" -msgstr "" +msgstr "Соло" #: editor/editor_audio_buses.cpp msgid "Mute" @@ -897,273 +912,302 @@ msgstr "Вимкнути звук" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "" +msgstr "Обхід" #: editor/editor_audio_buses.cpp msgid "Bus options" -msgstr "" +msgstr "Опції шини" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "" +msgstr "Дублювати" #: editor/editor_audio_buses.cpp msgid "Reset Volume" -msgstr "" +msgstr "Скинути гучніÑть" #: editor/editor_audio_buses.cpp msgid "Delete Effect" msgstr "Видалити ефект" #: editor/editor_audio_buses.cpp -msgid "Add Audio Bus" +msgid "Audio" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Add Audio Bus" +msgstr "Додати аудіо шину" + +#: editor/editor_audio_buses.cpp msgid "Master bus can't be deleted!" -msgstr "" +msgstr "МаÑтер шина не може бути видалена!" #: editor/editor_audio_buses.cpp msgid "Delete Audio Bus" -msgstr "" +msgstr "Видалити аудіо шину" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" -msgstr "" +msgstr "Дублювати аудіо шину" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" -msgstr "" +msgstr "Скинути гучніÑть шини" #: editor/editor_audio_buses.cpp msgid "Move Audio Bus" -msgstr "" +msgstr "ПереміÑтити аудіо шину" #: editor/editor_audio_buses.cpp msgid "Save Audio Bus Layout As.." -msgstr "" +msgstr "Зберегти макет аудіо шини Ñк.." #: editor/editor_audio_buses.cpp msgid "Location for New Layout.." -msgstr "" +msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ макета..." #: editor/editor_audio_buses.cpp msgid "Open Audio Bus Layout" -msgstr "" +msgstr "Відкрити макет аудіо шини" #: editor/editor_audio_buses.cpp msgid "There is no 'res://default_bus_layout.tres' file." -msgstr "" +msgstr "Файл 'res: //default_bus_layout.tres' не знайдено." #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "" +msgstr "ÐеприпуÑтимий файл, це не макет аудіо-шини." #: editor/editor_audio_buses.cpp msgid "Add Bus" -msgstr "" +msgstr "Додати шину" #: editor/editor_audio_buses.cpp msgid "Create a new Bus Layout." -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ макету шини." #: editor/editor_audio_buses.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "" +msgstr "Завантажити" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." -msgstr "" +msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–Ñнуючого макета шини." #: editor/editor_audio_buses.cpp #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save As" -msgstr "" +msgstr "Зберегти Як" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." -msgstr "" +msgstr "Зберегти цей макет шини у файлі." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "" +msgstr "Завантажити за промовчаннÑм" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "" +msgstr "Завантажити макет шини за промовчаннÑм." #: editor/editor_autoload_settings.cpp msgid "Invalid name." -msgstr "" +msgstr "Ðекоректна назва." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" -msgstr "" +msgstr "ПрипуÑтимі Ñимволи:" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." msgstr "" +"ÐеприпуÑтима назва. Ðе повинно конфліктувати з Ñ–Ñнуючим ім'Ñм клаÑу рушіÑ." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing buit-in type name." msgstr "" +"ÐеприпуÑтима назва. Ðе повинно ÑтикатиÑÑ Ð· Ñ–Ñнуючим вбудованим ім'Ñм типу." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing global constant name." msgstr "" +"Ðеправильне ім'Ñ. Ðе повинно збігатиÑÑŒ з іменем Ñ–Ñнуючої глобальної " +"конÑтанти." #: editor/editor_autoload_settings.cpp msgid "Invalid Path." -msgstr "" +msgstr "Ðеправильний шлÑÑ…." #: editor/editor_autoload_settings.cpp msgid "File does not exist." -msgstr "" +msgstr "Файл не Ñ–Ñнує." #: editor/editor_autoload_settings.cpp msgid "Not in resource path." -msgstr "" +msgstr "Ðе в реÑурÑному шлÑху." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" -msgstr "" +msgstr "Додати автозавантаженнÑ" #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" -msgstr "" +msgstr "ÐÐ²Ñ‚Ð¾Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ '%s' вже Ñ–Ñнує!" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" -msgstr "" +msgstr "Перейменувати автозавантаженнÑ" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" -msgstr "" +msgstr "Увімкнути Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñкриптів" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" -msgstr "" +msgstr "ПереміÑтити автозавантаженнÑ" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "" +msgstr "Видалити автозавантаженнÑ" #: editor/editor_autoload_settings.cpp msgid "Enable" -msgstr "" +msgstr "Ðктивувати" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" -msgstr "" +msgstr "Змінити порÑдок автозавантажень" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: scene/gui/file_dialog.cpp msgid "Path:" -msgstr "" +msgstr "ШлÑÑ…:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "" +msgstr "Ім'Ñ Ð’ÑƒÐ·Ð»Ð°:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" -msgstr "" +msgstr "Ім'Ñ" #: editor/editor_autoload_settings.cpp msgid "Singleton" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" +msgstr "Одинак (шаблон проектуваннÑ)" #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "" +msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñцени" #: editor/editor_data.cpp msgid "Storing local changes.." -msgstr "" +msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… змін.." #: editor/editor_data.cpp msgid "Updating scene.." +msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñцени.." + +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" msgstr "" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "" +msgstr "БудьлаÑка, виберіть Ñпочатку базову каталог" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "" +msgstr "Виберіть каталог" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "" +msgstr "Створити Теку" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp #: scene/gui/file_dialog.cpp msgid "Name:" -msgstr "" +msgstr "Ім'Ñ:" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Could not create folder." -msgstr "" +msgstr "Ðеможливо Ñтворити теку." #: editor/editor_dir_dialog.cpp msgid "Choose" -msgstr "" +msgstr "Оберіть" #: editor/editor_export.cpp msgid "Storing File:" -msgstr "" +msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ:" #: editor/editor_export.cpp msgid "Packing" -msgstr "" +msgstr "ПакуваннÑ" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:\n" -msgstr "" +msgstr "Файл шаблону не знайдено:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "" +msgstr "Файл Ñ–Ñнує, перезапиÑати його?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Перейти до батьківÑької теки" +msgstr "Вибрати поточну теку" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Копіювати шлÑÑ…" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Показати в файловому менеджері" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Створити теку.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Оновити" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#, fuzzy msgid "All Recognized" -msgstr "" +msgstr "УÑе розпізнано" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Files (*)" -msgstr "" +msgstr "УÑÑ– фали (*)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File" -msgstr "" +msgstr "Відкрити файл" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "" +msgstr "Відкрити файл(и)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "" +msgstr "Відкрити каталог" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "" +msgstr "Відкрити файл або каталог" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1188,10 +1232,6 @@ msgid "Go Up" msgstr "Вгору" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Оновити" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Переключати приховані файли" @@ -1342,136 +1382,142 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" +"Ðа данний момент Ð¾Ð¿Ð¸Ñ Ñ†Ñ–Ñ”Ñ— влаÑтивоÑті відÑутній. БудьлаÑка, [color=$color]" +"[url=$url]допоможіть нам[/url][/color]!" #: editor/editor_help.cpp msgid "Methods" -msgstr "" +msgstr "Методи" #: editor/editor_help.cpp msgid "Method Description:" -msgstr "" +msgstr "ÐžÐ¿Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ñƒ:" #: editor/editor_help.cpp msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" +"Ðа данний момент Ð¾Ð¿Ð¸Ñ Ñ†ÑŒÐ¾Ð³Ð¾ методу відÑутній. БудьлаÑка, [color=$color][url=" +"$url]допоможіть нам[/url][/color]!" #: editor/editor_help.cpp msgid "Search Text" -msgstr "" +msgstr "Шукати текÑÑ‚" #: editor/editor_log.cpp msgid "Output:" -msgstr "" +msgstr "Вивід:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" -msgstr "" +msgstr "ОчиÑтити" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "" +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€ÐµÑурÑу!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." -msgstr "" +msgstr "Зберегти реÑÑƒÑ€Ñ Ñк.." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "I see.." -msgstr "" +msgstr "Бачу.." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "" +msgstr "Ðеможливо відкрити файл Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "" +msgstr "Ðевідомий формат файлу:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "" +msgstr "Помилка при збереженні." #: editor/editor_node.cpp msgid "Can't open '%s'." -msgstr "" +msgstr "Ðеможливо відкрити '%s'." #: editor/editor_node.cpp msgid "Error while parsing '%s'." -msgstr "" +msgstr "Помилка при ÑинтакÑичному аналізі '%s'." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "" +msgstr "Ðеочикуваний кінець Ñ€Ñдку '%s'." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." -msgstr "" +msgstr "ВідÑутнє '%s', або його залежноÑті." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "" +msgstr "Помилка при завантаженні '%s'." #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "" +msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñцени" #: editor/editor_node.cpp msgid "Analyzing" -msgstr "" +msgstr "Ðналіз" #: editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "" +msgstr "Створити екÑкіз" #: editor/editor_node.cpp msgid "This operation can't be done without a tree root." -msgstr "" +msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð½Ðµ може бути виконана без кореню дерева." #: editor/editor_node.cpp msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" +"Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ Ñцену. Вірогідно, залежноÑті (екземплÑри) не задоволені." #: editor/editor_node.cpp msgid "Failed to load resource." -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ бібліотеку Ñіток Ð´Ð»Ñ Ð·Ð»Ð¸Ñ‚Ñ‚Ñ!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñіток!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ набір плиток текÑтур Ð´Ð»Ñ Ð·Ð»Ð¸Ñ‚Ñ‚Ñ!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "" +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð°Ð±Ð¾Ñ€Ñƒ тайлів!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "" +msgstr "Помилка при Ñпробі зберегти макет!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "" +msgstr "Макет редактора за промовчуваннÑм перевизначено." #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "Ðазву макета не знайдено!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "" +msgstr "Поновити макет за промовчуваннÑм до базових налаштувань." #: editor/editor_node.cpp msgid "" @@ -1479,18 +1525,26 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Цей реÑÑƒÑ€Ñ Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ до Ñцени, Ñкий було імпортовано, тому не можна " +"редагувати.\n" +"Будь лаÑка, прочитайте документацію, що ÑтоÑуютьÑÑ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñцен, щоб " +"краще зрозуміти цей робочий процеÑ." #: editor/editor_node.cpp msgid "" "This resource belongs to a scene that was instanced or inherited.\n" "Changes to it will not be kept when saving the current scene." msgstr "" +"Цей реÑÑƒÑ€Ñ Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ до Ñцени, Ñка була інÑтаÑована або уÑпадкована.\n" +"Зміни до неї не будуть зберігатиÑÑ Ð¿Ñ€Ð¸ збереженні поточної Ñцени." #: editor/editor_node.cpp msgid "" "This resource was imported, so it's not editable. Change its settings in the " "import panel and then re-import." msgstr "" +"Цей реÑÑƒÑ€Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾, тому його не можна редагувати. Змініть Ñвої " +"Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° панелі імпорту, а потім знову імпортуйте." #: editor/editor_node.cpp msgid "" @@ -1499,6 +1553,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Ð¦Ñ Ñцена була імпортована, тому зміни до неї не зберігатимутьÑÑ.\n" +"ІнÑтанÑинґ або уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ‚ÑŒ внеÑти зміни до нього.\n" +"Будь лаÑка, прочитайте документацію, що ÑтоÑуєтьÑÑ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ Ñцен, щоб краще " +"зрозуміти цей робочий процеÑ." #: editor/editor_node.cpp msgid "" @@ -1506,46 +1564,49 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" +"Це віддалений об'єкт, тому зміни до нього не будуть збережені.\n" +"Будь лаÑка, прочитайте документацію, що ÑтоÑуєтьÑÑ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ, щоб краще " +"зрозуміти цей робочий процеÑ." #: editor/editor_node.cpp msgid "Expand all properties" -msgstr "" +msgstr "Розгорнути вÑÑ– влаÑтивоÑті" #: editor/editor_node.cpp msgid "Collapse all properties" -msgstr "" +msgstr "Згорнути вÑÑ– влаÑтивоÑті" #: editor/editor_node.cpp msgid "Copy Params" -msgstr "" +msgstr "Копіювати параметри" #: editor/editor_node.cpp msgid "Paste Params" -msgstr "" +msgstr "Ð’Ñтавити параметри" #: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp msgid "Paste Resource" -msgstr "" +msgstr "Ð’Ñтавити реÑурÑ" #: editor/editor_node.cpp msgid "Copy Resource" -msgstr "" +msgstr "Копіювати реÑурÑ" #: editor/editor_node.cpp msgid "Make Built-In" -msgstr "" +msgstr "Зробити вбудованим" #: editor/editor_node.cpp msgid "Make Sub-Resources Unique" -msgstr "" +msgstr "Зробити Ñуб-реÑурÑи унікальними" #: editor/editor_node.cpp msgid "Open in Help" -msgstr "" +msgstr "Відкрити у довідці" #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "" +msgstr "Ðе Ñ–Ñнує визначеної Ñцени Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку." #: editor/editor_node.cpp msgid "" @@ -1553,6 +1614,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"ÐÑ–Ñка головна Ñцена ніколи не була визначена, вибрати Ñ—Ñ—?\n" +"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проекту\" в категорії " +"\"Програма\"." #: editor/editor_node.cpp msgid "" @@ -1560,6 +1624,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Вибрана Ñцена '%s' не Ñ–Ñнує, вибрати дійÑну?\n" +"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проекту\" в категорії " +"\"Програма\"." #: editor/editor_node.cpp msgid "" @@ -1567,343 +1634,364 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Вибрана Ñцена '%s' не Ñ” файлом Ñцени, вибрати дійÑний файл?\n" +"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проекту\" в категорії " +"\"Програма\"." #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." msgstr "" +"Поточна Ñцена ніколи не була збережена, будь лаÑка, збережіть Ñ—Ñ— до запуÑку." #: editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити підпроцеÑ!" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "" +msgstr "Відкрити Ñцену" #: editor/editor_node.cpp msgid "Open Base Scene" -msgstr "" +msgstr "Відкрити оÑновну Ñцену" #: editor/editor_node.cpp msgid "Quick Open Scene.." -msgstr "" +msgstr "Швидке Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñцени.." #: editor/editor_node.cpp msgid "Quick Open Script.." -msgstr "" +msgstr "Швидке Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñкрипту.." #: editor/editor_node.cpp msgid "Save & Close" -msgstr "" +msgstr "Зберегти та закрити" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "" +msgstr "Зберегти зміни, внеÑені до '%s ' перед закриттÑм?" #: editor/editor_node.cpp msgid "Save Scene As.." -msgstr "" +msgstr "Зберегти Ñцени, Ñк..." #: editor/editor_node.cpp msgid "No" -msgstr "" +msgstr "ÐÑ–" #: editor/editor_node.cpp msgid "Yes" -msgstr "" +msgstr "Так" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" -msgstr "" +msgstr "Ð¦Ñ Ñцена ніколи не була збережена. Зберегти перед запуÑком?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "" +msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð½Ðµ може бути виконана без Ñцени." #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "" +msgstr "ЕкÑпортувати бібліотеку Ñіті" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "" +msgstr "Цю операцію не можна виконати без кореневого вузла." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "" +msgstr "ЕкÑпортувати комплект тайлів" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "" +msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð½Ðµ може бути виконана без вибраного вузла." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "" +msgstr "Поточна Ñцена не збережена. Відкрити в будь-Ñкому випадку?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "" +msgstr "Ðеможливо перезавантажити Ñцену, Ñку ніколи не зберігали." #: editor/editor_node.cpp msgid "Revert" -msgstr "" +msgstr "ПовернутиÑÑ" #: editor/editor_node.cpp msgid "This action cannot be undone. Revert anyway?" -msgstr "" +msgstr "Цю дію не можна ÑкаÑувати. ПовернутиÑÑ Ð² будь-Ñкому випадку?" #: editor/editor_node.cpp msgid "Quick Run Scene.." -msgstr "" +msgstr "Швидкий запуÑк Ñцени.." #: editor/editor_node.cpp msgid "Quit" -msgstr "" +msgstr "Вийти" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "" +msgstr "Вийти з редактора?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "" +msgstr "Відкрити менеджер проектів?" #: editor/editor_node.cpp msgid "Save & Quit" -msgstr "" +msgstr "Зберегти та вийти" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "" +msgstr "Зберегти зміни в наÑтупній(их) Ñцені(ах) перед тим, Ñк вийти?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" msgstr "" +"Зберегти зміни в наÑтупній(их) Ñцені(ах) перед відкриттÑм менеджера проектів?" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" +"Ð¦Ñ Ð¾Ð¿Ñ†Ñ–Ñ Ð·Ð°Ñтаріла. Ситуації, де Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ñ– бути змушені, тепер " +"вважаютьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ. Будь лаÑка, повідомте." #: editor/editor_node.cpp msgid "Pick a Main Scene" -msgstr "" +msgstr "Виберіть головну Ñцену" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" +"Ðе вдаєтьÑÑ Ð²Ð²Ñ–Ð¼ÐºÐ½ÑƒÑ‚Ð¸ плагін addon: '%s' не вдалоÑÑ Ð¿Ñ€Ð¾Ð°Ð½Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ " +"Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." msgstr "" +"Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ поле Ñкрипт Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ð»Ð°Ð³Ñ–Ð½Ñƒ в: 'res://addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "" +msgstr "Ðеможливо завантажити Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñкрипт зі шлÑху: '%s'." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"Ðе вдаєтьÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñкрипт Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð· шлÑху: '%s' Базовий тип не Ñ” " +"редактором плагінів." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"Ðеможливо завантажити Ñкрипт Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð· шлÑху: '%s' Скрипт не в режимі " +"інÑтрументу." #: editor/editor_node.cpp msgid "" "Scene '%s' was automatically imported, so it can't be modified.\n" "To make changes to it, a new inherited scene can be created." msgstr "" +"Сцена '%s' автоматично імпортуєтьÑÑ, тому Ñ—Ñ— неможливо змінити.\n" +"Щоб внеÑти зміни, можна Ñтворити нову уÑпадковану Ñцену." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Ugh" -msgstr "" +msgstr "Тьху" #: editor/editor_node.cpp msgid "" "Error loading scene, it must be inside the project path. Use 'Import' to " "open the scene, then save it inside the project path." msgstr "" +"Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñцени, вона повинна бути вÑередині шлÑху проекту. " +"ВикориÑтовуйте \"Імпорт\", щоб відкрити Ñцену, а потім збережіть Ñ—Ñ— " +"вÑередині шлÑху проекту." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" -msgstr "" +msgstr "Сцена '%s' має зламані залежноÑті:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "" +msgstr "ОчиÑтити недавні Ñцени" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "" +msgstr "Зберегти макет" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "" +msgstr "Видалити макет" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp msgid "Default" -msgstr "" +msgstr "За промовчаннÑм" #: editor/editor_node.cpp msgid "Switch Scene Tab" -msgstr "" +msgstr "Перемкнути вкладку \"Сцена\"" #: editor/editor_node.cpp msgid "%d more files or folders" -msgstr "" +msgstr "%d більше файлів або тек" #: editor/editor_node.cpp msgid "%d more folders" -msgstr "" +msgstr "%d більше тек" #: editor/editor_node.cpp msgid "%d more files" -msgstr "" +msgstr "%d більше файлів" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "" +msgstr "ÐŸÐ¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ Ð¿Ð°Ð½ÐµÐ»ÐµÐ¹" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Режим без відволіканнÑ" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "" +msgstr "Перемкнути режим без відволіканнÑ." #: editor/editor_node.cpp msgid "Add a new scene." -msgstr "" +msgstr "Додати нову Ñцену." #: editor/editor_node.cpp msgid "Scene" -msgstr "" +msgstr "Сцена" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "" +msgstr "Перейти до раніше відкритої Ñцени." #: editor/editor_node.cpp msgid "Next tab" -msgstr "" +msgstr "ÐаÑтупна вкладка" #: editor/editor_node.cpp msgid "Previous tab" -msgstr "" +msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°" #: editor/editor_node.cpp msgid "Filter Files.." -msgstr "" +msgstr "Фільтрувати файли..." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "" +msgstr "Операції з файлами Ñцени." #: editor/editor_node.cpp msgid "New Scene" -msgstr "" +msgstr "Ðова Ñцена" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "" +msgstr "Ðова уÑпадкована Ñцена.." #: editor/editor_node.cpp msgid "Open Scene.." -msgstr "" +msgstr "Відкрити Ñцену.." #: editor/editor_node.cpp msgid "Save Scene" -msgstr "" +msgstr "Зберегти Ñцену" #: editor/editor_node.cpp msgid "Save all Scenes" -msgstr "" +msgstr "Зберегти вÑÑ– Ñцени" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "" +msgstr "Закрити Ñцену" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Open Recent" -msgstr "" +msgstr "Відкрити оÑтанні" #: editor/editor_node.cpp msgid "Convert To.." -msgstr "" +msgstr "Перетворити на.." #: editor/editor_node.cpp msgid "MeshLibrary.." -msgstr "" +msgstr "Бібліотека Ñітки.." #: editor/editor_node.cpp msgid "TileSet.." -msgstr "" +msgstr "Ðабір тайлів.." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "" +msgstr "СкаÑувати" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp msgid "Redo" -msgstr "" +msgstr "Повторити" #: editor/editor_node.cpp msgid "Revert Scene" -msgstr "" +msgstr "Повернути Ñцену" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "" +msgstr "Різні проектні або Ñценографічні інÑтрументи." #: editor/editor_node.cpp msgid "Project" -msgstr "" +msgstr "Проект" #: editor/editor_node.cpp msgid "Project Settings" -msgstr "" +msgstr "Параметри проекту" #: editor/editor_node.cpp msgid "Run Script" -msgstr "" +msgstr "ЗапуÑтити Ñкрипт" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export" -msgstr "" +msgstr "ЕкÑпортувати" #: editor/editor_node.cpp msgid "Tools" -msgstr "" +msgstr "ІнÑтрументи" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "" +msgstr "Вийти в ÑпиÑок проектів" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" -msgstr "" +msgstr "ÐалагодженнÑ" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "" +msgstr "Ð Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð·Ð° допомогою віддаленого налагодженнÑ" #: editor/editor_node.cpp msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." msgstr "" +"При екÑпорті або розгортанні, отриманий виконуваний файл буде намагатиÑÑ " +"підключитиÑÑ Ð´Ð¾ IP цього комп'ютера, Ð´Ð»Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ." #: editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Маленьке Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð· Network File System" #: editor/editor_node.cpp msgid "" @@ -1914,30 +2002,39 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This " "option speeds up testing for games with a large footprint." msgstr "" +"Якщо цей параметр увімкнено, екÑпорт або Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð´Ð°ÑŽÑ‚ÑŒ мінімальний " +"виконуваний файл.\n" +"Файлова ÑиÑтема буде надана редактором у проекті через мережу.\n" +"Ðа Android Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð±ÑƒÐ´Ðµ швидше при підключенні через USB.. Цей параметр " +"значно приÑкорює теÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… ігор." #: editor/editor_node.cpp msgid "Visible Collision Shapes" -msgstr "" +msgstr "Видимі форми зіткнень" #: editor/editor_node.cpp msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Форми Ð·Ñ–Ñ‚ÐºÐ½ÐµÐ½Ð½Ñ Ñ‚Ð° вузли raycast (Ð´Ð»Ñ 2D та 3D) будуть видно в роботі гри, " +"Ñкщо Ñ†Ñ Ð¾Ð¿Ñ†Ñ–Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð°." #: editor/editor_node.cpp msgid "Visible Navigation" -msgstr "" +msgstr "Видимі навігації" #: editor/editor_node.cpp msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Ðавігаційні поліÑітки та полігони будуть видимі у запущеній грі, Ñкщо Ñ†Ñ " +"Ð¾Ð¿Ñ†Ñ–Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð°." #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Синхронізувати зміни Ñцени" #: editor/editor_node.cpp msgid "" @@ -1946,10 +2043,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Якщо цей параметр увімкнено, будь-Ñкі зміни, внеÑені в Ñцену в редакторі, " +"будуть відтворені в роботі гри.\n" +"Коли він викориÑтовуєтьÑÑ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾ на приÑтрої, це більш ефективно з " +"мережевою файловою ÑиÑтемою." #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "" +msgstr "Синхронізувати зміни в Ñкрипті" #: editor/editor_node.cpp msgid "" @@ -1958,308 +2059,322 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Якщо цей параметр увімкнено, будь-Ñкий Ñкрипт, Ñкий буде збережений, буде " +"перезавантажений у поточній грі.\n" +"Коли він викориÑтовуєтьÑÑ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾ на приÑтрої, це більш ефективно з " +"мережевою файловою ÑиÑтемою." #: editor/editor_node.cpp msgid "Editor" -msgstr "" +msgstr "Редактор" #: editor/editor_node.cpp editor/settings_config_dialog.cpp msgid "Editor Settings" -msgstr "" +msgstr "Параметри редактора" #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "" +msgstr "Редактор макетів" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Перемикач повноекранного режиму" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" -msgstr "" +msgstr "Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ екÑпорту" #: editor/editor_node.cpp msgid "Help" -msgstr "" +msgstr "Довідка" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Classes" -msgstr "" +msgstr "КлаÑи" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Online Docs" -msgstr "" +msgstr "Онлайн документаціÑ" #: editor/editor_node.cpp msgid "Q&A" -msgstr "" +msgstr "Ð—Ð°Ð¿Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ‚Ð° відповіді" #: editor/editor_node.cpp msgid "Issue Tracker" -msgstr "" +msgstr "ВідÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Спільнота" #: editor/editor_node.cpp msgid "About" -msgstr "" +msgstr "Про" #: editor/editor_node.cpp msgid "Play the project." -msgstr "" +msgstr "ЗапуÑтити проект." #: editor/editor_node.cpp msgid "Play" -msgstr "" +msgstr "Відтворити" #: editor/editor_node.cpp msgid "Pause the scene" -msgstr "" +msgstr "Призупинити Ñцену" #: editor/editor_node.cpp msgid "Pause Scene" -msgstr "" +msgstr "Пауза Ñцени" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "" +msgstr "Зупинити Ñцену." #: editor/editor_node.cpp msgid "Stop" -msgstr "" +msgstr "Зупинити" #: editor/editor_node.cpp msgid "Play the edited scene." -msgstr "" +msgstr "Відтворити поточну відредаговану Ñцену." #: editor/editor_node.cpp msgid "Play Scene" -msgstr "" +msgstr "Відтворити Ñцену" #: editor/editor_node.cpp msgid "Play custom scene" -msgstr "" +msgstr "Відтворити вибіркову Ñцену" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "" +msgstr "Відтворити вибіркову Ñцену" #: editor/editor_node.cpp msgid "Spins when the editor window repaints!" -msgstr "" +msgstr "ОбертаєтьÑÑ, коли перемальовуєтьÑÑ Ð²Ñ–ÐºÐ½Ð¾ редактора!" #: editor/editor_node.cpp msgid "Update Always" -msgstr "" +msgstr "Завжди оновлювати" #: editor/editor_node.cpp msgid "Update Changes" -msgstr "" +msgstr "Оновити зміни" #: editor/editor_node.cpp msgid "Disable Update Spinner" -msgstr "" +msgstr "Вимкнути Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ°" #: editor/editor_node.cpp msgid "Inspector" -msgstr "" +msgstr "ІнÑпектор" #: editor/editor_node.cpp msgid "Create a new resource in memory and edit it." -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ реÑурÑу в пам'Ñті Ñ– редагувати його." #: editor/editor_node.cpp msgid "Load an existing resource from disk and edit it." -msgstr "" +msgstr "Завантажити наÑвний реÑÑƒÑ€Ñ Ñ–Ð· диÑка та відредагувати його." #: editor/editor_node.cpp msgid "Save the currently edited resource." -msgstr "" +msgstr "Зберегти поточний редагований реÑурÑ." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "" +msgstr "Зберегти Ñк..." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "" +msgstr "Перейти до попереднього редагованого об'єкта в Ñ–Ñторії." #: editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "" +msgstr "Перейти до наÑтупного редагованого об'єкта в Ñ–Ñторії." #: editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "" +msgstr "ІÑÑ‚Ð¾Ñ€Ñ–Ñ Ð½ÐµÑ‰Ð¾Ð´Ð°Ð²Ð½Ð¾ відредагованих об'єктів." #: editor/editor_node.cpp msgid "Object properties." -msgstr "" +msgstr "ВлаÑтивоÑті об'єкта." #: editor/editor_node.cpp msgid "Changes may be lost!" -msgstr "" +msgstr "Зміни можуть бути втрачені!" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/project_manager.cpp msgid "Import" -msgstr "" +msgstr "Імпортувати" #: editor/editor_node.cpp msgid "Node" -msgstr "" +msgstr "Вузол" #: editor/editor_node.cpp msgid "FileSystem" -msgstr "" +msgstr "Файлова ÑиÑтема" #: editor/editor_node.cpp msgid "Output" -msgstr "" +msgstr "Результат" #: editor/editor_node.cpp msgid "Don't Save" -msgstr "" +msgstr "Ðе зберігати" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "" +msgstr "Імпортувати шаблони з ZIP-файлу" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" -msgstr "" +msgstr "ЕкÑпортувати проект" #: editor/editor_node.cpp msgid "Export Library" -msgstr "" +msgstr "ЕкÑпортувати бібліотеку" #: editor/editor_node.cpp msgid "Merge With Existing" -msgstr "" +msgstr "Об'єднати з Ñ–Ñнуючим" #: editor/editor_node.cpp msgid "Password:" -msgstr "" +msgstr "Пароль:" #: editor/editor_node.cpp msgid "Open & Run a Script" -msgstr "" +msgstr "Відкрити Ñ– запуÑтити Ñкрипт" #: editor/editor_node.cpp msgid "New Inherited" -msgstr "" +msgstr "Ðовий уÑпадкований" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "" +msgstr "Завантажити помилки" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "" +msgstr "Виділити" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "" +msgstr "Відкрити 2D редактор" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "" +msgstr "Відкрити 3D редактор" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "" +msgstr "Відкрити редактор Ñкриптів" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "" +msgstr "Відкрити бібліотеку активів" #: editor/editor_node.cpp msgid "Open the next Editor" -msgstr "" +msgstr "Відкрити наÑтупний редактор" #: editor/editor_node.cpp msgid "Open the previous Editor" -msgstr "" +msgstr "Відкрити попередній редактор" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ переглÑду Ñітки" #: editor/editor_plugin.cpp msgid "Thumbnail.." -msgstr "" +msgstr "Мініатюра.." #: editor/editor_plugin_settings.cpp msgid "Installed Plugins:" -msgstr "" +msgstr "Ð’Ñтановлені плагіни:" #: editor/editor_plugin_settings.cpp msgid "Update" -msgstr "" +msgstr "Оновити" #: editor/editor_plugin_settings.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Version:" -msgstr "" +msgstr "ВерÑÑ–Ñ:" #: editor/editor_plugin_settings.cpp msgid "Author:" -msgstr "" +msgstr "Ðвтор:" #: editor/editor_plugin_settings.cpp msgid "Status:" -msgstr "" +msgstr "СтатуÑ:" #: editor/editor_profiler.cpp msgid "Stop Profiling" -msgstr "" +msgstr "Зупинити профілюваннÑ" #: editor/editor_profiler.cpp msgid "Start Profiling" -msgstr "" +msgstr "Початок профілюваннÑ" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "Вимірювати:" #: editor/editor_profiler.cpp msgid "Frame Time (sec)" -msgstr "" +msgstr "Ð§Ð°Ñ ÐºÐ°Ð´Ñ€Ñƒ (Ñек)" #: editor/editor_profiler.cpp msgid "Average Time (sec)" -msgstr "" +msgstr "Середній Ñ‡Ð°Ñ (Ñек)" #: editor/editor_profiler.cpp msgid "Frame %" -msgstr "" +msgstr "Кадр %" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "" +msgstr "Фізика кадрів %" #: editor/editor_profiler.cpp editor/script_editor_debugger.cpp msgid "Time:" -msgstr "" +msgstr "ЧаÑ:" #: editor/editor_profiler.cpp msgid "Inclusive" -msgstr "" +msgstr "Включно" #: editor/editor_profiler.cpp msgid "Self" -msgstr "" +msgstr "Цей об'єкт" #: editor/editor_profiler.cpp msgid "Frame #:" -msgstr "" +msgstr "Кадр #:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "ЧаÑ:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Виклик" #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "" +msgstr "Вибрати приÑтрій зі ÑпиÑку" #: editor/editor_run_native.cpp msgid "" @@ -2269,514 +2384,552 @@ msgstr "" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "" +msgstr "Ðапишіть Ñвою логіку в методі _run ()." #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "" +msgstr "Є вже редагована Ñцена." #: editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "" +msgstr "Ðеможливо Ñтворити екземплÑÑ€ Ñкрипту:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" -msgstr "" +msgstr "Ви забули ключове Ñлово \"інÑтрумент\"?" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити Ñкрипт:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" -msgstr "" +msgstr "Ви забули метод \"_run\"?" #: editor/editor_settings.cpp msgid "Default (Same as Editor)" -msgstr "" +msgstr "За промовчаннÑм (так Ñамо, Ñк редактор)" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "" +msgstr "Виберіть вузол(вузли) Ð´Ð»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ" #: editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "" +msgstr "ШлÑÑ… до Ñцени:" #: editor/editor_sub_scene.cpp msgid "Import From Node:" -msgstr "" +msgstr "Імпортувати з вузла:" #: editor/export_template_manager.cpp msgid "Re-Download" -msgstr "" +msgstr "Перезавантажити" #: editor/export_template_manager.cpp msgid "Uninstall" -msgstr "" +msgstr "Видалити" #: editor/export_template_manager.cpp msgid "(Installed)" -msgstr "" +msgstr "(Ð’Ñтановлено)" #: editor/export_template_manager.cpp msgid "Download" -msgstr "" +msgstr "Завантажити" #: editor/export_template_manager.cpp msgid "(Missing)" -msgstr "" +msgstr "(ВідÑутній)" #: editor/export_template_manager.cpp msgid "(Current)" -msgstr "" +msgstr "(Поточний)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait.." -msgstr "" +msgstr "ÐžÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð·ÐµÑ€ÐºÐ°Ð», будь лаÑка, зачекайте.." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "" +msgstr "Видалити верÑÑ–ÑŽ шаблону '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "Ðеможливо відкрити ZIP-файл шаблону екÑпорту." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates." -msgstr "" +msgstr "Ðеправильний формат version.txt у шаблонах." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" +"Ðеправильний формат version.txt у шаблонах. Ідентифікатор ревізії не Ñ” " +"дійÑним." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "" +msgstr "Файл version.txt не знайдено у шаблонах." #: editor/export_template_manager.cpp msgid "Error creating path for templates:\n" -msgstr "" +msgstr "Помилка ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑˆÐ»Ñху Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð²:\n" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" -msgstr "" +msgstr "ВитÑг шаблонів екÑпорту" #: editor/export_template_manager.cpp msgid "Importing:" -msgstr "" +msgstr "ІмпортуваннÑ:" #: editor/export_template_manager.cpp msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" +"Ðемає поÑилань на Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— верÑÑ–Ñ—. ПрÑме Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð¾Ñтупне " +"лише Ð´Ð»Ñ Ð¾Ñ„Ñ–Ñ†Ñ–Ð¹Ð½Ð¸Ñ… випуÑків." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve." -msgstr "" +msgstr "Ðе вдалоÑÑ Ð²Ð¸Ñ€Ñ–ÑˆÐ¸Ñ‚Ð¸ проблему." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect." -msgstr "" +msgstr "Ðе вдаєтьÑÑ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ð¸ÑÑ." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response." -msgstr "" +msgstr "Ðемає відповіді." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Запит не вдавÑÑ." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "" +msgstr "Циклічне переÑпрÑмуваннÑ." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed:" -msgstr "" +msgstr "Ðе вдалоÑÑ:" #: editor/export_template_manager.cpp msgid "Can't write file." -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл." #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "" +msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð¾." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "" +msgstr "Помилка запиту url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." -msgstr "" +msgstr "ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ дзеркала.." #: editor/export_template_manager.cpp msgid "Disconnected" -msgstr "" +msgstr "Роз'єднано" #: editor/export_template_manager.cpp msgid "Resolving" -msgstr "" +msgstr "ВирішеннÑ" #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "" +msgstr "Ðе вдаєтьÑÑ Ð²Ð¸Ñ€Ñ–ÑˆÐ¸Ñ‚Ð¸" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connecting.." -msgstr "" +msgstr "З’єданнÑ.." #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Ðе вдаєтьÑÑ Ð·â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ" #: editor/export_template_manager.cpp msgid "Connected" -msgstr "" +msgstr "З’єднано" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Requesting.." -msgstr "" +msgstr "Запит..." #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "ЗавантаженнÑ" #: editor/export_template_manager.cpp msgid "Connection Error" -msgstr "" +msgstr "Помилка з'єднаннÑ" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" -msgstr "" +msgstr "Помилка SSL Handshake" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "" +msgstr "Поточна верÑÑ–Ñ:" #: editor/export_template_manager.cpp msgid "Installed Versions:" -msgstr "" +msgstr "Ð’Ñтановлені верÑÑ–Ñ—:" #: editor/export_template_manager.cpp msgid "Install From File" -msgstr "" +msgstr "Ð’Ñтановити з файлу" #: editor/export_template_manager.cpp msgid "Remove Template" -msgstr "" +msgstr "Видалити шаблон" #: editor/export_template_manager.cpp msgid "Select template file" -msgstr "" +msgstr "Виберіть файл шаблону" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "" +msgstr "Менеджер екÑпорту шаблонів" #: editor/export_template_manager.cpp msgid "Download Templates" -msgstr "" +msgstr "Завантажити шаблони" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "Виберіть дзеркало зі ÑпиÑку: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл file_type_cache.cch Ð´Ð»Ñ Ð½Ð°Ð¿Ð¸ÑаннÑ, кеш тип файлу " +"не буде збережений!" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" +"Ðеможливо перейти до \"'%s' , оÑкільки він не був знайдений в файлової " +"ÑиÑтемі!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" -msgstr "" +msgstr "ПереглÑд елементів у виглÑді Ñітки еÑкізів" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "" +msgstr "ПереглÑд елементів Ñк ÑпиÑок" #: editor/filesystem_dock.cpp msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"СтатуÑ: не вдалоÑÑ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ñ‚Ð¸ файл. Виправте файл та повторно імпортуйте " +"вручну." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Ðеможливо переміÑтити/перейменувати корінь реÑурÑів." #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself.\n" -msgstr "" +msgstr "Ðе вдаєтьÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити теку в Ñебе.\n" #: editor/filesystem_dock.cpp msgid "Error moving:\n" -msgstr "" +msgstr "Помилка переміщеннÑ:\n" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Помилка завантаженнÑ:" #: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" -msgstr "" +msgstr "Ðеможливо оновити залежноÑті:\n" #: editor/filesystem_dock.cpp msgid "No name provided" -msgstr "" +msgstr "Ім'Ñ Ð½Ðµ вказано" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "" +msgstr "Ðадане ім'Ñ Ð¼Ñ–Ñтить некоректні Ñимволи" #: editor/filesystem_dock.cpp msgid "No name provided." -msgstr "" +msgstr "Ім'Ñ Ð½Ðµ вказано." #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "" +msgstr "Ðазва міÑтить некоректні Ñимволи." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "Файл або тека з таким іменем вже Ñ–Ñнує." #: editor/filesystem_dock.cpp msgid "Renaming file:" -msgstr "" +msgstr "ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "" +msgstr "ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÐ¸:" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Дублювати" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÐ¸:" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "" +msgid "Expand all" +msgstr "Розгорнути вÑÑ–" #: editor/filesystem_dock.cpp -msgid "Rename.." -msgstr "" +msgid "Collapse all" +msgstr "Згорнути вÑÑ–" #: editor/filesystem_dock.cpp -msgid "Move To.." -msgstr "" +msgid "Rename.." +msgstr "Перейменувати..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "" +msgid "Move To.." +msgstr "ПереміÑтити до..." #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Відкрити Ñцену" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "" +msgstr "ЕкземплÑÑ€" #: editor/filesystem_dock.cpp msgid "Edit Dependencies.." -msgstr "" +msgstr "Редагувати залежноÑті.." #: editor/filesystem_dock.cpp msgid "View Owners.." -msgstr "" +msgstr "ПереглÑнути влаÑників.." + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Дублювати" #: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "" +msgstr "Попередній каталог" #: editor/filesystem_dock.cpp msgid "Next Directory" -msgstr "" +msgstr "ÐаÑтупний каталог" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "Повторне ÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "" +msgstr "Переключити ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ‚ÐµÐºÐ¸ у вибране" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" +msgstr "Додати обрану Ñцену(и), Ñк нащадка обраного вузла." #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" +"Ð¡ÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²,\n" +"будь лаÑка, зачекайте..." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "ПереміÑтити" #: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/project_manager.cpp msgid "Rename" -msgstr "" +msgstr "Перейменувати" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "" +msgstr "Додати до групи" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "" +msgstr "Вилучити з групи" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "" +msgstr "Імпортувати в ÑкоÑті однієї Ñцени" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "" +msgstr "Імпортувати з окремими анімаціÑми" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "Імпортувати з окремими матеріалами" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "Імпортувати з окремими об'єктами" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "Імпортувати з окремими об'єктами + матеріалами" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "Імпортувати з окремими об'єктами + анімації" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "Імпортувати з окремими матеріалами + анімації" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "Імпортувати окремі об'єкти + матеріали + анімації" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" -msgstr "" +msgstr "Імпортувати Ñк кілька Ñцен" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "Імпортувати Ñк кілька Ñцен + матеріали" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import Scene" -msgstr "" +msgstr "Імпортувати Ñцену" #: editor/import/resource_importer_scene.cpp msgid "Importing Scene.." -msgstr "" +msgstr "Ð†Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñцени.." + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Ð§Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ— (Ñек):" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Ð§Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ— (Ñек):" #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." -msgstr "" +msgstr "ЗапуÑк кориÑтувацького Ñкрипту.." #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñкрипт піÑÐ»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Пошкоджений/зламаний Ñкрипт Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚-імпорту (перевірте конÑоль):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Помилка запуÑку піÑÐ»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ Ñкрипту:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." -msgstr "" +msgstr "ЗбереженнÑ..." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "Ð’Ñтановити за замовчуваннÑм Ð´Ð»Ñ \"%s\"" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "ОчиÑтити за замовчуваннÑм Ð´Ð»Ñ '%s'" #: editor/import_dock.cpp msgid " Files" -msgstr "" +msgstr " Файли" #: editor/import_dock.cpp msgid "Import As:" -msgstr "" +msgstr "Імпортувати Ñк:" #: editor/import_dock.cpp editor/property_editor.cpp msgid "Preset.." -msgstr "" +msgstr "Заздалегідь уÑтановлений.." #: editor/import_dock.cpp msgid "Reimport" -msgstr "" +msgstr "Переімпортивути" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "" +msgstr "Мультивузловий набір" #: editor/node_dock.cpp msgid "Groups" -msgstr "" +msgstr "Групи" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Виберіть вузол Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñигналів та груп." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Poly" -msgstr "" +msgstr "Створити полігон" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly" -msgstr "" +msgstr "Редагувати полігон" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" -msgstr "" +msgstr "Ð’Ñтавити точку" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly (Remove Point)" -msgstr "" +msgstr "Редагувати полігон (вилучити точку)" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Remove Poly And Point" -msgstr "" +msgstr "Вилучити полігон та точку" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Create a new polygon from scratch" -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ полігону з нулÑ" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2785,225 +2938,231 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ñнуючого полігону:\n" +"ЛКМ: переміÑтити точку.\n" +"Ctrl+ЛКМ: розділити Ñегмент.\n" +"ПКМ: видалити точку." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Delete points" -msgstr "" +msgstr "Видалити точки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "Перемкнути автовідтвореннÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "" +msgstr "Ðове ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "Ðова анімаціÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "Змініть ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Delete Animation?" -msgstr "" +msgstr "Видалити анімацію?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "Вилучити анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" -msgstr "" +msgstr "ПОМИЛКÐ: неправильне ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Animation name already exists!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðазва анімації вже Ñ–Ñнує!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "" +msgstr "Перейменувати анімацію" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "" +msgstr "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "" +msgstr "Змінена подальша анімаціÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "" +msgstr "Змінити Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" -msgstr "" +msgstr "Завантажити анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "" +msgstr "Дублювати анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to copy!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðемає копії анімації!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation resource on clipboard!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðемає анімаційного реÑурÑу в буфері обміну!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "" +msgstr "Ð’Ñтавлена анімаціÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "" +msgstr "Ð’Ñтавити анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to edit!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðемає анімації Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" msgstr "" +"Відтворити обрану анімацію в зворотньому напрÑмку від поточної позиції. (A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Відтворити вибрану анімацію назад з кінцÑ. (Shift+A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "Зупинити Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—. (S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Відтворити вибрану анімацію від початку. (Shift+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Відтворити вибрану анімацію з поточної позиції. (D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "" +msgstr "ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ— (в Ñекундах)." #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "Шкала Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾ анімації Ð´Ð»Ñ Ð²ÑƒÐ·Ð»Ð°." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "" +msgstr "Створювати нові анімації у програвачі." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." -msgstr "" +msgstr "Завантажити анімацію з диÑка." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "" +msgstr "Завантажити цю анімацію з диÑка." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "" +msgstr "Зберегти поточну анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "Відобразити ÑпиÑок анімації у програвачі." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "" +msgstr "ÐÐ²Ñ‚Ð¾Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸ завантаженні" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" -msgstr "" +msgstr "Редагувати цільовий Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" -msgstr "" +msgstr "ІнÑтрументи анімації" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Copy Animation" -msgstr "" +msgstr "Копіювати анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "КалькуваннÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Увімкнути калькуваннÑ" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "ОпиÑ" +msgstr "ÐапрÑмки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "Минулі" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Майбутні" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Глибина" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 крок" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 кроки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 кроки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Тільки відмінноÑті" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "ПримуÑово Ñ€Ð¾Ð·Ñ„Ð°Ñ€Ð±Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ñ–Ð»Ð¸Ð¼" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Включити ÒÑ–Ð·Ð¼Ð¾Ñ (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "" +msgstr "Створити нову анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "" +msgstr "Ðазва анімації:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Error!" -msgstr "" +msgstr "Помилка!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Ð§Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Далі (автоматична черга):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" @@ -3012,20 +3171,20 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "ÐнімаціÑ" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "New name:" -msgstr "" +msgstr "Ðова назва:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Filters" -msgstr "" +msgstr "Редагувати фільтри" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "" +msgstr "МаÑштаб:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade In (s):" @@ -3037,44 +3196,44 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend" -msgstr "" +msgstr "Змішати" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "ПоєднаннÑ" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Ðвтоматичний перезапуÑк:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" -msgstr "" +msgstr "ПерезапуÑтити (Ñек.):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "" +msgstr "Випадкові Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ (Ñек.):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" -msgstr "" +msgstr "Почати!" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Amount:" -msgstr "" +msgstr "ОбÑÑг:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend:" -msgstr "" +msgstr "Змішувати:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" -msgstr "" +msgstr "Ð—Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ 0:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 1:" -msgstr "" +msgstr "Ð—Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ 1:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" @@ -3082,11 +3241,11 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" -msgstr "" +msgstr "Поточний:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "Додати вхід" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Clear Auto-Advance" @@ -3098,19 +3257,19 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "Видалити введеннÑ" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is valid." -msgstr "" +msgstr "Дерево анімації Ñ” дійÑним." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is invalid." -msgstr "" +msgstr "Дерево анімації недійÑне." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation Node" -msgstr "" +msgstr "Ðнімаційний вузол" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" @@ -3118,7 +3277,7 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "Змішувати вузол" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" @@ -3146,71 +3305,71 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." -msgstr "" +msgstr "Імпортувати анімації.." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "Редагувати фільтри вузла" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." -msgstr "" +msgstr "Фільтри..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Вивільнити" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" -msgstr "" +msgstr "ЗміÑÑ‚:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" -msgstr "" +msgstr "ПереглÑд файлів" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "Ðеможливо розпізнати ім'Ñ Ñ…Ð¾Ñта:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "Помилка з'єднаннÑ, будь лаÑка, повторіть Ñпробу." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ð¸ÑÑ Ð´Ð¾ хоÑту:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "Ðемає відповіді від хоÑта:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "" +msgstr "Помилка запиту, код поверненнÑ:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" -msgstr "" +msgstr "Запит не вдавÑÑ, забагато перенаправлень" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "РозбіжніÑть хеша завантаженнÑ, можливо файл був змінений." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "ОчікуєтьÑÑ:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "Отримав:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "Помилка перевірки Ñ…ÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ sha256" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" @@ -3218,77 +3377,78 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving.." -msgstr "" +msgstr "ВирішеннÑ..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" -msgstr "" +msgstr "Помилка ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "ПроÑтій" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "Повторити Ñпробу" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "" +msgstr "Помилка завантаженнÑ" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ актива вже виконуєтьÑÑ!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "first" -msgstr "" +msgstr "перший" #: editor/plugins/asset_library_editor_plugin.cpp msgid "prev" -msgstr "" +msgstr "попередній" #: editor/plugins/asset_library_editor_plugin.cpp msgid "next" -msgstr "" +msgstr "наÑтупний" #: editor/plugins/asset_library_editor_plugin.cpp msgid "last" -msgstr "" +msgstr "оÑтанній" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" -msgstr "" +msgstr "Ð’Ñе" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Plugins" -msgstr "" +msgstr "Плагіни" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Sort:" -msgstr "" +msgstr "Сортувати:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Reverse" -msgstr "" +msgstr "Зворотний" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Category:" -msgstr "" +msgstr "КатегоріÑ:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" -msgstr "" +msgstr "Сайт:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Support.." -msgstr "" +msgstr "Підтримка..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Офіційний" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Testing" @@ -3296,15 +3456,36 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" +msgstr "ZIP файл активів" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" msgstr "" #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" -msgstr "" +msgstr "Попередній переглÑд" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð²'Ñзки" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -3330,39 +3511,39 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "ПереміÑтити дію" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "ПереміÑтити вертикальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new vertical guide" -msgstr "" +msgstr "Створити нову вертикальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove vertical guide" -msgstr "" +msgstr "Вилучити вертикальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move horizontal guide" -msgstr "" +msgstr "ПереміÑтити горизонтальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal guide" -msgstr "" +msgstr "Створити нову горизонтальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove horizontal guide" -msgstr "" +msgstr "Вилучити горизонтальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Створити нові горизонтальні та вертикальні напрÑмні" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" -msgstr "" +msgstr "Редагувати ІК-ланцюг" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit CanvasItem" @@ -3382,11 +3563,11 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "Ð’Ñтавити позу" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" -msgstr "" +msgstr "Режим виділеннÑ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" @@ -3394,7 +3575,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move" -msgstr "" +msgstr "Alt+ПеретÑгнути: переміÑтити" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." @@ -3402,15 +3583,15 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Ðльт+ПКМ: СпиÑок вибору глибини" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" -msgstr "" +msgstr "Режим переміщеннÑ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate Mode" -msgstr "" +msgstr "Режим повороту" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -3418,6 +3599,8 @@ msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" +"Показати ÑпиÑок уÑÑ–Ñ… об'єктів, натиÑнутих на позицію\n" +"(так Ñамо, Ñк Ðльт+ПКМ у режимі вибору)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." @@ -3425,36 +3608,35 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" -msgstr "" +msgstr "Режим панорамуваннÑ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggles snapping" -msgstr "" +msgstr "Перемикає прив'ÑзуваннÑ" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "За допомогою функції прив'Ñзки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping options" -msgstr "" +msgstr "Параметри прив'Ñзки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "" +msgstr "Прив'Ñзати до Ñітки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "" +msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð²'Ñзки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap..." -msgstr "" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð²'Ñзки..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "ВідноÑна прив'Ñзка" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" @@ -3487,16 +3669,16 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock the selected object in place (can't be moved)." -msgstr "" +msgstr "Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ об'єкта на міÑці (неможливо переміÑтити)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "" +msgstr "Розблокувати вибраний об'єкт (можна переміÑтити)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." -msgstr "" +msgstr "Гарантує нащадки об'єкта не можуть бути обрані." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." @@ -3504,45 +3686,45 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Bones" -msgstr "" +msgstr "Зробити кіÑтки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Bones" -msgstr "" +msgstr "ОчиÑтити кіÑтки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "" +msgstr "Показати кіÑтки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "" +msgstr "Зробити IK-ланцюг" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" -msgstr "" +msgstr "ОчиÑтити ІК-ланцюг" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "ПереглÑд" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "" +msgstr "Показати Ñітку" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show helpers" -msgstr "" +msgstr "Показати помічники" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show rulers" -msgstr "" +msgstr "Показати лінійки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show guides" -msgstr "" +msgstr "Показати напрÑмні" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" @@ -3554,27 +3736,27 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" -msgstr "" +msgstr "Макет" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Keys" -msgstr "" +msgstr "Ð’Ñтавити ключі" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "Ð’Ñтавити ключ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "" +msgstr "Ð’Ñтавити ключ (Ñ–Ñнуючі доріжки)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" -msgstr "" +msgstr "Копіювати позу" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "" +msgstr "ОчиÑтити позу" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag pivot from mouse position" @@ -3586,24 +3768,24 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "Помножити крок Ñітки на 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "Розділити крок Ñітки на 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" -msgstr "" +msgstr "Додати %s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Adding %s..." -msgstr "" +msgstr "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ %s..." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Create Node" -msgstr "" +msgstr "Створити вузол" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -3612,22 +3794,12 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ” одного обраного вузла." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "" +msgstr "Змінити тип за промовчаннÑм" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -3637,7 +3809,7 @@ msgstr "" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "Створити полігон3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" @@ -3645,25 +3817,25 @@ msgstr "" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° %d?" #: editor/plugins/cube_grid_theme_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "Додати елемент" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "Вилучити вибраний елемент" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "Імпортувати зі Ñцени" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "Оновити зі Ñцени" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat0" @@ -3687,7 +3859,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "" +msgstr "Змінити точку кривої" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" @@ -3699,11 +3871,11 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Add point" -msgstr "" +msgstr "Додати точку" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove point" -msgstr "" +msgstr "Вилучити точку" #: editor/plugins/curve_editor_plugin.cpp msgid "Left linear" @@ -3719,7 +3891,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove Curve Point" -msgstr "" +msgstr "Видалити точку кривої" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" @@ -3744,15 +3916,15 @@ msgstr "" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "Елемент %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "Елементи" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "" +msgstr "Редактор ÑпиÑку елементів" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "" @@ -3766,19 +3938,19 @@ msgstr "" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "" +msgstr "Створити новий полігон з нулÑ." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit existing polygon:" -msgstr "" +msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ñнуючого полігону:" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "" +msgstr "ЛКМ: ПереміÑтити точку." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "CTRL+ЛКМ: Розділити Ñегмент." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." @@ -3798,7 +3970,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "Це не працює на корінь Ñцени!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" @@ -3810,6 +3982,22 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" +msgstr "Створити навигаційну Ñітку" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp @@ -3818,19 +4006,19 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "" +msgstr "Сітка не має поверхні, щоб Ñтворити контури!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" -msgstr "" +msgstr "Ðе вдалоÑÑ Ñтворити контур!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "" +msgstr "Створити контур" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "Сітка" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Static Body" @@ -3853,6 +4041,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "ПереглÑд" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "ПереглÑд" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -3870,7 +4072,7 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (invalid path)." -msgstr "" +msgstr "Джерело Ñітки недійÑне (неправильний шлÑÑ…)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (not a MeshInstance)." @@ -3886,11 +4088,11 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (invalid path)." -msgstr "" +msgstr "Джерело поверхні недійÑне (неправильний шлÑÑ…)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no geometry)." -msgstr "" +msgstr "Джерело поверхні недійÑне (без геометрії)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no faces)." @@ -3906,15 +4108,15 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Source Mesh:" -msgstr "" +msgstr "Виберіть джерело Ñітки:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Target Surface:" -msgstr "" +msgstr "Виберіть цільову поверхню:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate Surface" -msgstr "" +msgstr "Заповнити поверхню" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate MultiMesh" @@ -3922,7 +4124,7 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Target Surface:" -msgstr "" +msgstr "Цільова поверхнÑ:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Source Mesh:" @@ -3946,19 +4148,19 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "" +msgstr "Випадкове обертаннÑ:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" -msgstr "" +msgstr "Випадковий нахил:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "" +msgstr "Випадковий маÑштаб:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" -msgstr "" +msgstr "Заповнити" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Bake!" @@ -3970,15 +4172,15 @@ msgstr "" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." -msgstr "" +msgstr "ОчиÑтити навігаційну Ñітку." #: editor/plugins/navigation_mesh_generator.cpp msgid "Setting up Configuration..." -msgstr "" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Calculating grid size..." -msgstr "" +msgstr "Розрахунок розміру Ñітки..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating heightfield..." @@ -3986,7 +4188,7 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." -msgstr "" +msgstr "ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ…Ñ–Ð´Ð½Ð¸Ñ… трикутників..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." @@ -4002,7 +4204,7 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð²..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating polymesh..." @@ -4014,7 +4216,7 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° навігаційної Ñітки:" #: editor/plugins/navigation_mesh_generator.cpp msgid "Parsing Geometry..." @@ -4022,15 +4224,11 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "Зроблено!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð°Ð²Ñ–Ð³Ð°Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ полігону" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -4043,37 +4241,37 @@ msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" -msgstr "" +msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ:" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" -msgstr "" +msgstr "ЧаÑтинки" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" -msgstr "" +msgstr "КількіÑть генерованих точок:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" -msgstr "" +msgstr "Ð§Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ— (Ñек):" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" @@ -4081,7 +4279,7 @@ msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Capture from Pixel" -msgstr "" +msgstr "Ð—Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ Ð· пікÑелÑ" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Colors" @@ -4089,7 +4287,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry." -msgstr "" +msgstr "Вузол не міÑтить геометрії." #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry (faces)." @@ -4120,10 +4318,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4133,7 +4327,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points" -msgstr "" +msgstr "Точки поверхні" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" @@ -4141,7 +4335,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" -msgstr "" +msgstr "Об'єм" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " @@ -4153,7 +4347,7 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" -msgstr "" +msgstr "Видалити точку з кривої" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" @@ -4166,11 +4360,11 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point to Curve" -msgstr "" +msgstr "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ до кривої" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" -msgstr "" +msgstr "ПереміÑтити точку на криву" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" @@ -4183,7 +4377,7 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Select Points" -msgstr "" +msgstr "Виберіть пункти" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4193,12 +4387,12 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Click: Add Point" -msgstr "" +msgstr "Клацніть: Додати точку" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Right Click: Delete Point" -msgstr "" +msgstr "Клацніть правою кнопкою миші: видалити точку" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" @@ -4207,7 +4401,7 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point (in empty space)" -msgstr "" +msgstr "Додати точку (в порожньому проÑторі)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4217,16 +4411,16 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Delete Point" -msgstr "" +msgstr "Вилучити точку" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Close Curve" -msgstr "" +msgstr "Закрити криву" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "Точку кривої #" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve Point Position" @@ -4234,7 +4428,7 @@ msgstr "" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve In Position" -msgstr "" +msgstr "Ð’Ñтановити криву в позиції" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve Out Position" @@ -4270,15 +4464,15 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" -msgstr "" +msgstr "ПереміÑтити точку" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" -msgstr "" +msgstr "Ctrl: повернути" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" -msgstr "" +msgstr "Shift: ПереміÑтити вÑÑ–" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" @@ -4286,15 +4480,15 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Polygon" -msgstr "" +msgstr "ПереміÑтити полігон" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Rotate Polygon" -msgstr "" +msgstr "Повернути полігон" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Scale Polygon" -msgstr "" +msgstr "МаÑштабувати полігон" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4302,7 +4496,7 @@ msgstr "" #: editor/project_settings_editor.cpp editor/property_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Edit" -msgstr "" +msgstr "Редагувати" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" @@ -4331,20 +4525,20 @@ msgstr "" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" -msgstr "" +msgstr "Додати реÑурÑ" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Rename Resource" -msgstr "" +msgstr "Перейменувати реÑурÑ" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Resource" -msgstr "" +msgstr "Вилучити реÑурÑ" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" @@ -4371,14 +4565,16 @@ msgid "" "Close and save changes?\n" "\"" msgstr "" +"Закрити та зберегти зміни?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "" +msgstr "Помилка під Ñ‡Ð°Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚ÐµÐ¼Ð¸" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" -msgstr "" +msgstr "Помилка збереженнÑ" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme" @@ -4394,7 +4590,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As.." -msgstr "" +msgstr "Зберегти тему Ñк..." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" @@ -4406,11 +4602,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4426,7 +4624,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4439,6 +4637,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Копіювати шлÑÑ…" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4625,11 +4828,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4957,6 +5156,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Гаразд :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5061,6 +5268,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5133,10 +5352,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5178,6 +5393,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5560,6 +5779,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Ðабір тайлів.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5571,6 +5795,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "СкаÑувати" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5688,10 +5916,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5826,15 +6050,15 @@ msgstr "" #: editor/project_manager.cpp msgid "Exit" -msgstr "" +msgstr "Вихід" #: editor/project_manager.cpp msgid "Restart Now" -msgstr "" +msgstr "Перезавантажити зараз" #: editor/project_manager.cpp msgid "Can't run project" -msgstr "" +msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿ÑƒÑтити проект" #: editor/project_manager.cpp msgid "" @@ -5844,7 +6068,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Key " -msgstr "" +msgstr "Клавіша " #: editor/project_settings_editor.cpp msgid "Joy Button" @@ -5856,7 +6080,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Mouse Button" -msgstr "" +msgstr "Кнопка миші" #: editor/project_settings_editor.cpp msgid "Invalid action (anything goes but '/' or ':')." @@ -5888,7 +6112,7 @@ msgstr "" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key.." -msgstr "" +msgstr "ÐатиÑніть клавішу,..." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" @@ -5916,19 +6140,19 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Button 6" -msgstr "" +msgstr "Кнопка 6" #: editor/project_settings_editor.cpp msgid "Button 7" -msgstr "" +msgstr "Кнопка 7" #: editor/project_settings_editor.cpp msgid "Button 8" -msgstr "" +msgstr "Кнопка 8" #: editor/project_settings_editor.cpp msgid "Button 9" -msgstr "" +msgstr "Кнопка 9" #: editor/project_settings_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -5948,7 +6172,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6016,10 +6240,14 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp -msgid "Error saving settings." +msgid "Add Input Action" msgstr "" #: editor/project_settings_editor.cpp +msgid "Error saving settings." +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ." + +#: editor/project_settings_editor.cpp msgid "Settings saved OK." msgstr "" @@ -6029,7 +6257,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Add Translation" -msgstr "" +msgstr "Додати переклад" #: editor/project_settings_editor.cpp msgid "Remove Translation" @@ -6097,15 +6325,15 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Localization" -msgstr "" +msgstr "ЛокалізаціÑ" #: editor/project_settings_editor.cpp msgid "Translations" -msgstr "" +msgstr "Переклади" #: editor/project_settings_editor.cpp msgid "Translations:" -msgstr "" +msgstr "Переклади:" #: editor/project_settings_editor.cpp msgid "Remaps" @@ -6173,7 +6401,7 @@ msgstr "" #: editor/property_editor.cpp msgid "File.." -msgstr "" +msgstr "Файл..." #: editor/property_editor.cpp msgid "Dir.." @@ -6189,6 +6417,10 @@ msgstr "" #: editor/property_editor.cpp msgid "New Script" +msgstr "Ðовий Ñкрипт" + +#: editor/property_editor.cpp +msgid "New %s" msgstr "" #: editor/property_editor.cpp @@ -6223,6 +6455,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6231,10 +6467,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6277,7 +6509,7 @@ msgstr "" #: editor/run_settings_dialog.cpp msgid "Current Scene" -msgstr "" +msgstr "Поточна Ñцена" #: editor/run_settings_dialog.cpp msgid "Main Scene" @@ -6294,7 +6526,7 @@ msgstr "" #: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp #: scene/gui/dialogs.cpp msgid "OK" -msgstr "" +msgstr "Гаразд" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." @@ -6306,7 +6538,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Ok" -msgstr "" +msgstr "Гаразд" #: editor/scene_tree_dock.cpp msgid "" @@ -6348,7 +6580,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Save New Scene As.." -msgstr "" +msgstr "Зберегти нову Ñцену Ñк..." #: editor/scene_tree_dock.cpp msgid "Editable Children" @@ -6386,7 +6618,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Error saving scene." -msgstr "" +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñцени." #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." @@ -6402,7 +6634,7 @@ msgstr "" #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" -msgstr "" +msgstr "Відкрити в редакторі" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)" @@ -6438,7 +6670,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Copy Node Path" -msgstr "" +msgstr "Копіювати вузол шлÑху" #: editor/scene_tree_dock.cpp msgid "Delete (No Confirm)" @@ -6518,13 +6750,15 @@ msgstr "" #: editor/scene_tree_editor.cpp msgid "Open script" -msgstr "" +msgstr "Відкрити Ñкрипт" #: editor/scene_tree_editor.cpp msgid "" "Node is locked.\n" "Click to unlock" msgstr "" +"Вузол заблоковано.\n" +"ÐатиÑніть, щоб розблокувати" #: editor/scene_tree_editor.cpp msgid "" @@ -6542,7 +6776,7 @@ msgstr "" #: editor/scene_tree_editor.cpp msgid "Rename Node" -msgstr "" +msgstr "Перейменувати вузол" #: editor/scene_tree_editor.cpp msgid "Scene Tree (Nodes):" @@ -6554,7 +6788,7 @@ msgstr "" #: editor/scene_tree_editor.cpp msgid "Select a Node" -msgstr "" +msgstr "Виберіть вузол" #: editor/script_create_dialog.cpp msgid "Error loading template '%s'" @@ -6570,7 +6804,7 @@ msgstr "" #: editor/script_create_dialog.cpp msgid "N/A" -msgstr "" +msgstr "Ð/З" #: editor/script_create_dialog.cpp msgid "Path is empty" @@ -6602,7 +6836,7 @@ msgstr "" #: editor/script_create_dialog.cpp msgid "Invalid Path" -msgstr "" +msgstr "Ðеправильний шлÑÑ…" #: editor/script_create_dialog.cpp msgid "Invalid class name" @@ -6626,15 +6860,15 @@ msgstr "" #: editor/script_create_dialog.cpp msgid "Create new script file" -msgstr "" +msgstr "Створити новий файл Ñкрипту" #: editor/script_create_dialog.cpp msgid "Load existing script file" -msgstr "" +msgstr "Завантажити наÑвний файл Ñкрипту" #: editor/script_create_dialog.cpp msgid "Language" -msgstr "" +msgstr "Мова" #: editor/script_create_dialog.cpp msgid "Inherits" @@ -6666,19 +6900,19 @@ msgstr "" #: editor/script_editor_debugger.cpp msgid "Warning" -msgstr "" +msgstr "ПопередженнÑ" #: editor/script_editor_debugger.cpp msgid "Error:" -msgstr "" +msgstr "Помилка:" #: editor/script_editor_debugger.cpp msgid "Source:" -msgstr "" +msgstr "Джерело:" #: editor/script_editor_debugger.cpp msgid "Function:" -msgstr "" +msgstr "ФункціÑ:" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." @@ -6686,7 +6920,7 @@ msgstr "" #: editor/script_editor_debugger.cpp msgid "Errors" -msgstr "" +msgstr "Помилки" #: editor/script_editor_debugger.cpp msgid "Child Process Connected" @@ -6706,11 +6940,11 @@ msgstr "" #: editor/script_editor_debugger.cpp msgid "Variable" -msgstr "" +msgstr "Змінна" #: editor/script_editor_debugger.cpp msgid "Errors:" -msgstr "" +msgstr "Помилки:" #: editor/script_editor_debugger.cpp msgid "Stack Trace (if applicable):" @@ -6784,6 +7018,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6798,7 +7036,7 @@ msgstr "" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera Size" -msgstr "" +msgstr "Змінити розмір камери" #: editor/spatial_editor_gizmos.cpp msgid "Change Sphere Shape Radius" @@ -6832,18 +7070,57 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Library" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Status" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Libraries: " +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Видалити точку кривої" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Бібліотека" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" msgstr "" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "Бібліотека" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Library" +msgstr "Бібліотека" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Status" +msgstr "СтатуÑ" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Libraries: " +msgstr "Бібліотеки: " + #: modules/gdnative/register_types.cpp msgid "GDNative" msgstr "" @@ -6868,11 +7145,11 @@ msgstr "" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a script" -msgstr "" +msgstr "Ðе заÑнований на Ñкрипті" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a resource file" -msgstr "" +msgstr "Ðе заÑнований на файлі реÑурÑів" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (missing @path)" @@ -6988,7 +7265,7 @@ msgstr "" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clear Selection" -msgstr "" +msgstr "ОчиÑтити виділене" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" @@ -7054,11 +7331,11 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Functions:" -msgstr "" +msgstr "Функції:" #: modules/visual_script/visual_script_editor.cpp msgid "Variables:" -msgstr "" +msgstr "Змінні:" #: modules/visual_script/visual_script_editor.cpp msgid "Name is not a valid identifier:" @@ -7070,35 +7347,35 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Function" -msgstr "" +msgstr "Перейменувати функцію" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Variable" -msgstr "" +msgstr "Перейменувати змінну" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Signal" -msgstr "" +msgstr "Перейменувати Ñигнал" #: modules/visual_script/visual_script_editor.cpp msgid "Add Function" -msgstr "" +msgstr "Додати функцію" #: modules/visual_script/visual_script_editor.cpp msgid "Add Variable" -msgstr "" +msgstr "Додати змінну" #: modules/visual_script/visual_script_editor.cpp msgid "Add Signal" -msgstr "" +msgstr "Додати Ñигнал" #: modules/visual_script/visual_script_editor.cpp msgid "Change Expression" -msgstr "" +msgstr "Змінити вираз" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node" -msgstr "" +msgstr "Додати вузол" #: modules/visual_script/visual_script_editor.cpp msgid "Remove VisualScript Nodes" @@ -7134,7 +7411,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Add Preload Node" -msgstr "" +msgstr "Додати попередньо завантажений вузол" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -7150,7 +7427,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Change Base Type" -msgstr "" +msgstr "Змінити базовий тип" #: modules/visual_script/visual_script_editor.cpp msgid "Move Node(s)" @@ -7162,7 +7439,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Connect Nodes" -msgstr "" +msgstr "Приєднати вузли" #: modules/visual_script/visual_script_editor.cpp msgid "Condition" @@ -7174,27 +7451,27 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Switch" -msgstr "" +msgstr "Перемикач" #: modules/visual_script/visual_script_editor.cpp msgid "Iterator" -msgstr "" +msgstr "Ітератор" #: modules/visual_script/visual_script_editor.cpp msgid "While" -msgstr "" +msgstr "Поки" #: modules/visual_script/visual_script_editor.cpp msgid "Return" -msgstr "" +msgstr "ПоверненнÑ" #: modules/visual_script/visual_script_editor.cpp msgid "Call" -msgstr "" +msgstr "Виклик" #: modules/visual_script/visual_script_editor.cpp msgid "Get" -msgstr "" +msgstr "Отримати" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" @@ -7202,11 +7479,11 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" -msgstr "" +msgstr "Зміна вхідного значеннÑ" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." -msgstr "" +msgstr "Ðеможливо Ñкопіювати вузол функції." #: modules/visual_script/visual_script_editor.cpp msgid "Clipboard is empty!" @@ -7218,51 +7495,51 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Function" -msgstr "" +msgstr "Вилучити функцію" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Variable" -msgstr "" +msgstr "Редагувати змінну" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Variable" -msgstr "" +msgstr "Вилучити змінну" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Signal" -msgstr "" +msgstr "Редагувати Ñигнал" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Signal" -msgstr "" +msgstr "Вилучити Ñигнал" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Variable:" -msgstr "" +msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ—:" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Signal:" -msgstr "" +msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñигналу:" #: modules/visual_script/visual_script_editor.cpp msgid "Base Type:" -msgstr "" +msgstr "Базовий тип:" #: modules/visual_script/visual_script_editor.cpp msgid "Available Nodes:" -msgstr "" +msgstr "ДоÑтупні вузли:" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit graph" -msgstr "" +msgstr "Виберіть або Ñтворіть функцію Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ€Ð°Ñ„Ð°" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Signal Arguments:" -msgstr "" +msgstr "Редагувати аргументи Ñигналу:" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Variable:" -msgstr "" +msgstr "Редагувати змінну:" #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" @@ -7286,27 +7563,27 @@ msgstr "Ð’Ñтавити вузли" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " -msgstr "" +msgstr "Тип вводу не ітерабельний: " #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid" -msgstr "" +msgstr "Ітератор Ñтав недійÑним" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid: " -msgstr "" +msgstr "Ітератор Ñтав недійÑним: " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "" +msgstr "Ðеправильний Ñ–Ð½Ð´ÐµÐºÑ Ð²Ð»Ð°ÑтивоÑті імені." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" -msgstr "" +msgstr "Базовий об'єкт не Ñ” вузлом!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Path does not lead Node!" -msgstr "" +msgstr "ШлÑÑ… не веде до вузла!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." @@ -7314,7 +7591,7 @@ msgstr "" #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " -msgstr "" +msgstr ": Ðеправильний тип аргументу: " #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid arguments: " @@ -7344,7 +7621,7 @@ msgstr "ЗапуÑтити в браузері" #: platform/javascript/export/export.cpp msgid "Run exported HTML in the system's default browser." -msgstr "" +msgstr "Виконати екÑпортований HTML у браузері за умовчаннÑм ÑиÑтеми." #: platform/javascript/export/export.cpp msgid "Could not write file:\n" @@ -7352,19 +7629,19 @@ msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл:\n" #: platform/javascript/export/export.cpp msgid "Could not open template for export:\n" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ шаблон Ð´Ð»Ñ ÐµÐºÑпорту:\n" #: platform/javascript/export/export.cpp msgid "Invalid export template:\n" -msgstr "" +msgstr "Ðеправильний шаблон екÑпорту:\n" #: platform/javascript/export/export.cpp msgid "Could not read custom HTML shell:\n" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñпеціальну оболонку HTML:\n" #: platform/javascript/export/export.cpp msgid "Could not read boot splash image file:\n" -msgstr "" +msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ файл Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ñтавки:\n" #: scene/2d/animated_sprite.cpp msgid "" @@ -7489,6 +7766,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Побудова Ñітки" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Побудова Ñітки" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Завершальна ділÑнка" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Побудова Ñітки" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7517,13 +7813,11 @@ msgstr "" msgid "Plotting Meshes" msgstr "Побудова Ñітки" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" +"РеÑÑƒÑ€Ñ Ðавігаційна Ñітка повинен бути вÑтановлений або Ñтворений Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ " +"цього вузла." #: scene/3d/navigation_mesh.cpp msgid "" @@ -7566,17 +7860,13 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Raw Mode" -msgstr "" +msgstr "Raw (Ñирий) режим" #: scene/gui/color_picker.cpp msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "СкаÑувати" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "СповіщеннÑ!" @@ -7586,7 +7876,7 @@ msgstr "Будь-лаÑка підтвердіть..." #: scene/gui/file_dialog.cpp msgid "Select this Folder" -msgstr "" +msgstr "Обрати цю теку" #: scene/gui/popup.cpp msgid "" @@ -7635,3 +7925,12 @@ msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ñƒ." #: scene/resources/dynamic_font.cpp msgid "Invalid font size." msgstr "ÐедійÑний розмір шрифту." + +#~ msgid "Move Add Key" +#~ msgstr "ПоÑунути ключ" + +#~ msgid "Create Subscription" +#~ msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñки" + +#~ msgid "List:" +#~ msgstr "СпиÑок:" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index da20b0e26a..8876d52ace 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -1,6 +1,6 @@ # Urdu (Pakistan) translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Muhammad Ali <ali@codeonion.com>, 2016. @@ -27,7 +27,7 @@ msgid "All Selection" msgstr ".تمام کا انتخاب" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -39,7 +39,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -532,8 +532,8 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "سب سکریپشن بنائیں" +msgid "Disconnect '%s' from '%s'" +msgstr "" #: editor/connections_dialog.cpp msgid "Connect.." @@ -549,8 +549,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "سب سکریپشن بنائیں" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -564,7 +565,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -601,6 +602,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -701,9 +703,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -843,6 +846,11 @@ msgid "Rename Audio Bus" msgstr ".تمام کا انتخاب" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr ".تمام کا انتخاب" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -890,8 +898,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -904,6 +912,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1057,7 +1069,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1065,10 +1078,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1081,6 +1090,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1130,6 +1147,22 @@ msgstr "" msgid "Select Current Folder" msgstr "" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr ".سب Ú©Ú†Ú¾ تسلیم Ûوچکا ÛÛ’" @@ -1177,10 +1210,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1360,7 +1389,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2252,6 +2282,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2387,7 +2425,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2435,7 +2473,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2528,6 +2566,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2560,31 +2602,31 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2600,6 +2642,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2692,6 +2738,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3256,6 +3310,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3297,6 +3352,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "Ø§Ø«Ø§Ø«Û Ú©ÛŒ زپ ÙØ§Ø¦Ù„" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3435,7 +3511,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3616,16 +3691,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3820,6 +3885,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3860,6 +3941,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4036,10 +4129,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4057,15 +4146,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4127,10 +4216,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4417,11 +4502,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4438,7 +4525,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4451,6 +4538,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4637,11 +4728,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4969,6 +5056,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5073,6 +5168,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5148,10 +5255,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5193,6 +5296,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5580,6 +5687,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5591,6 +5702,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5708,10 +5823,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5970,8 +6081,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr ".تمام کا انتخاب" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6038,6 +6150,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6215,6 +6331,10 @@ msgid "New Script" msgstr "سب سکریپشن بنائیں" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6246,6 +6366,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6254,10 +6378,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6816,6 +6936,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6865,15 +6989,52 @@ msgstr "" msgid "Change Probe Extents" msgstr ".Ù†ÙˆÙ¹ÙØ¦Ø± Ú©Û’ اکسٹنٹ Ú©Ùˆ تبدیل کیجیۓ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr ".تمام کا انتخاب" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7529,6 +7690,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7557,10 +7734,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7613,10 +7786,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7676,5 +7845,8 @@ msgstr "" msgid "Invalid font size." msgstr "" +#~ msgid "Create Subscription" +#~ msgstr "سب سکریپشن بنائیں" + #~ msgid "Samples" #~ msgstr "نمونے" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 11b923a83a..89b1200f6b 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -1,6 +1,6 @@ # Vietnamese translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Hai Le <dark.hades.1102@gmail.com>, 2017. @@ -30,8 +30,9 @@ msgid "All Selection" msgstr "Chá»n tất cả" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Äổi giá trị" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -42,7 +43,8 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Äổi giá trị" #: editor/animation_editor.cpp @@ -534,7 +536,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -551,8 +553,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "Tạo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -566,7 +569,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -603,6 +606,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -703,9 +707,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -844,6 +849,10 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Change Audio Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -891,8 +900,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -905,6 +914,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1055,7 +1068,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1063,10 +1077,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1079,6 +1089,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1128,6 +1146,22 @@ msgstr "" msgid "Select Current Folder" msgstr "" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1175,10 +1209,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1354,7 +1384,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2244,6 +2275,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2379,7 +2418,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2426,7 +2465,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2517,6 +2556,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2549,31 +2592,31 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2589,6 +2632,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2681,6 +2728,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3243,6 +3298,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3284,6 +3340,27 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3418,7 +3495,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3598,16 +3674,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3799,6 +3865,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3839,6 +3921,18 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4015,10 +4109,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4036,15 +4126,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4106,10 +4196,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4392,11 +4478,13 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4412,7 +4500,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4425,6 +4513,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4611,11 +4703,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4943,6 +5031,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5047,6 +5143,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5119,10 +5227,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5164,6 +5268,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5546,6 +5654,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5557,6 +5669,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5674,10 +5790,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5934,7 +6046,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6002,6 +6114,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6178,6 +6294,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6209,6 +6329,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6217,10 +6341,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6770,6 +6890,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6818,15 +6942,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Remove current entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7475,6 +7635,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7503,10 +7679,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7559,10 +7731,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Cảnh báo!" diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index ab00b50a1c..e1ee53bf94 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -1,6 +1,6 @@ # Chinese (China) translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # 纯æ´çš„å蛋 <tqj.zyy@gmail.com>, 2016. @@ -23,8 +23,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-27 10:44+0000\n" -"Last-Translator: dragonandy <dragonandy@foxmail.com>\n" +"PO-Revision-Date: 2017-12-10 10:33+0000\n" +"Last-Translator: Geequlim <geequlim@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" "Language: zh_CN\n" @@ -43,8 +43,9 @@ msgid "All Selection" msgstr "所有选ä¸é¡¹" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "ç§»åŠ¨å·²æ·»åŠ å…³é”®å¸§" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "修改动画值" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -55,7 +56,8 @@ msgid "Anim Change Transform" msgstr "ä¿®æ”¹å˜æ¢" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "修改动画值" #: editor/animation_editor.cpp @@ -547,8 +549,9 @@ msgid "Connecting Signal:" msgstr "连接事件:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "创建订阅" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "连接'%s'到'%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -564,7 +567,8 @@ msgid "Signals" msgstr "ä¿¡å·" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "新建" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -579,7 +583,7 @@ msgstr "最近文件:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "æœç´¢:" @@ -616,6 +620,7 @@ msgid "" msgstr "资æº'%s'æ£åœ¨ä½¿ç”¨ä¸ï¼Œä¿®æ”¹å°†åœ¨é‡æ–°åŠ è½½åŽç”Ÿæ•ˆã€‚" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ä¾èµ–" @@ -716,9 +721,10 @@ msgid "Delete selected files?" msgstr "åˆ é™¤é€‰ä¸çš„æ–‡ä»¶ï¼Ÿ" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "åˆ é™¤" @@ -859,6 +865,11 @@ msgid "Rename Audio Bus" msgstr "é‡å‘½å音频总线(Audio Bus)" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "切æ¢éŸ³é¢‘独å¥" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "切æ¢éŸ³é¢‘独å¥" @@ -906,8 +917,8 @@ msgstr "æ—通" msgid "Bus options" msgstr "音频总线选项" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "æ‹·è´" @@ -920,6 +931,10 @@ msgid "Delete Effect" msgstr "åˆ é™¤æ•ˆæžœ" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "æ·»åŠ éŸ³é¢‘æ€»çº¿ï¼ˆAudio Bus)" @@ -1070,7 +1085,8 @@ msgstr "路径:" msgid "Node Name:" msgstr "节点åç§°:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "åç§°" @@ -1078,10 +1094,6 @@ msgstr "åç§°" msgid "Singleton" msgstr "å•独(Singleton)" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "列表:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "更新场景" @@ -1094,6 +1106,15 @@ msgstr "ä¿å˜ä¿®æ”¹ä¸.." msgid "Updating scene.." msgstr "更新场景ä¸.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(空)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "请先选择一个目录" @@ -1140,9 +1161,24 @@ msgid "File Exists, Overwrite?" msgstr "文件已å˜åœ¨ï¼Œç¡®å®šè¦è¦†ç›–它å—?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "新建目录" +msgstr "选择当å‰ç›®å½•" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "æ‹·è´è·¯å¾„" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "在资æºç®¡ç†å™¨ä¸æ‰“å¼€" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "新建文件夹 .." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "刷新" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1191,10 +1227,6 @@ msgid "Go Up" msgstr "上一级" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "刷新" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "åˆ‡æ¢æ˜¾ç¤ºéšè—文件" @@ -1374,7 +1406,8 @@ msgstr "输出:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "清除" @@ -1516,7 +1549,6 @@ msgstr "" "请阅读与导入场景相关的文档, 以便更好地ç†è§£æ¤å·¥ä½œæµã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "" "This is a remote object so changes to it will not be kept.\n" "Please read the documentation relevant to debugging to better understand " @@ -1526,14 +1558,12 @@ msgstr "" "请阅读与调试相关的文档,以便更好地ç†è§£è¿™ä¸ªå·¥ä½œæµã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "展开所有" +msgstr "展开所有属性" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "收起所有" +msgstr "收起所有属性" #: editor/editor_node.cpp msgid "Copy Params" @@ -1783,19 +1813,16 @@ msgid "Switch Scene Tab" msgstr "切æ¢åœºæ™¯æ ‡ç¾é¡µ" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files or folders" -msgstr "%d个文件或目录未展示" +msgstr "%d 个文件或目录未展示" #: editor/editor_node.cpp -#, fuzzy msgid "%d more folders" -msgstr "%d个目录未展示" +msgstr "%d 个目录未展示" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files" -msgstr "%d个文件未展示" +msgstr "%d 个文件未展示" #: editor/editor_node.cpp msgid "Dock Position" @@ -2298,6 +2325,16 @@ msgstr "自身" msgid "Frame #:" msgstr "帧åºå·:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "æ—¶é—´:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "调用到" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "从列表ä¸é€‰æ‹©è®¾å¤‡" @@ -2435,7 +2472,8 @@ msgstr "æ— å“应。" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "请求失败." #: editor/export_template_manager.cpp @@ -2482,7 +2520,8 @@ msgid "Connecting.." msgstr "连接ä¸.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "æ— æ³•è¿žæŽ¥" #: editor/export_template_manager.cpp @@ -2575,6 +2614,11 @@ msgid "Error moving:\n" msgstr "移动时出错:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "åŠ è½½å‡ºé”™:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "æ— æ³•æ›´æ–°ä¾èµ–关系:\n" @@ -2607,6 +2651,16 @@ msgid "Renaming folder:" msgstr "é‡å‘½å文件夹:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "æ‹·è´" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "é‡å‘½å文件夹:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "展开所有" @@ -2615,10 +2669,6 @@ msgid "Collapse all" msgstr "收起所有" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "æ‹·è´è·¯å¾„" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "é‡å‘½å为..." @@ -2627,12 +2677,9 @@ msgid "Move To.." msgstr "移动.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "新建文件夹 .." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "在资æºç®¡ç†å™¨ä¸æ‰“å¼€" +#, fuzzy +msgid "Open Scene(s)" +msgstr "打开场景" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2647,6 +2694,11 @@ msgid "View Owners.." msgstr "查看所有者.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "æ‹·è´" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "上一个目录" @@ -2696,9 +2748,8 @@ msgid "Import as Single Scene" msgstr "导入为独立场景" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Animations" -msgstr "导入独立动画" +msgstr "导入独立的动画" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" @@ -2713,19 +2764,16 @@ msgid "Import with Separate Objects+Materials" msgstr "导入独立物体 + æè´¨" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Objects+Animations" -msgstr "导入独立物体 + 动画" +msgstr "导入独立物体+动画" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Materials+Animations" -msgstr "导入独立æè´¨ + 动画" +msgstr "导入独立æè´¨+动画" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Objects+Materials+Animations" -msgstr "导入独立物体 + æè´¨ + 动画" +msgstr "导入独立物体+æè´¨+动画" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" @@ -2745,6 +2793,16 @@ msgid "Importing Scene.." msgstr "导入场景.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "转移到光照贴图:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "æ£åœ¨ç”ŸæˆAABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "执行自定义脚本.." @@ -2990,21 +3048,19 @@ msgstr "æ‹·è´åŠ¨ç”»" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "洋葱皮(Onion Skining)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "å¯ç”¨æ´‹è‘±çš®(Onion Skinning)" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "选项:" +msgstr "æ–¹å‘" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "粘贴" +msgstr "穿过" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3013,19 +3069,19 @@ msgstr "功能" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "深度" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1æ¥" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2æ¥" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3æ¥" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" @@ -3314,6 +3370,7 @@ msgid "last" msgstr "最åŽä¸€é¡µ" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "全部" @@ -3355,6 +3412,28 @@ msgstr "测试" msgid "Assets ZIP File" msgstr "ZIP资æºåŒ…" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "转移到光照贴图:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "预览" @@ -3491,7 +3570,6 @@ msgid "Toggles snapping" msgstr "切æ¢å¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "使用å¸é™„" @@ -3673,16 +3751,6 @@ msgstr "从%s实例化场景出错" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "好å§" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "没有选ä¸èŠ‚ç‚¹æ¥æ·»åŠ å®žä¾‹ã€‚" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "æ¤æ“作åªèƒ½åº”用于å•个选ä¸èŠ‚ç‚¹ã€‚" @@ -3881,6 +3949,22 @@ msgid "Create Navigation Mesh" msgstr "创建导航Mesh(ç½‘æ ¼)" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance (ç½‘æ ¼å®žä¾‹) 缺少 Mesh(ç½‘æ ¼)ï¼" @@ -3921,6 +4005,20 @@ msgid "Create Outline Mesh.." msgstr "åˆ›å»ºè½®å»“ç½‘æ ¼(Outline Mesh).." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "视图" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "视图" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "åˆ›å»ºè½®å»“ç½‘æ ¼(Outline Mesh)" @@ -4105,10 +4203,6 @@ msgid "Create Navigation Polygon" msgstr "创建导航多边形" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "清除Emission Mask(å‘å°„å±è”½ï¼‰" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "æ£åœ¨ç”ŸæˆAABB" @@ -4126,10 +4220,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "å›¾ç‰‡ä¸æ²¡æœ‰é€æ˜Žåº¦> 128çš„åƒç´ .." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "设置Emission Mask(å‘å°„å±è”½ï¼‰" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "生æˆå¯è§†åŒ–区域" @@ -4138,6 +4228,10 @@ msgid "Load Emission Mask" msgstr "åŠ è½½Emission Mask(å‘å°„å±è”½ï¼‰" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "清除Emission Mask(å‘å°„å±è”½ï¼‰" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "ç²’å" @@ -4196,10 +4290,6 @@ msgid "Create Emission Points From Node" msgstr "从节点创建å‘射器(Emission)" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "清除å‘射器(Emitter)" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "创建å‘射器(Emitter)" @@ -4482,17 +4572,18 @@ msgid " Class Reference" msgstr " 类引用" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Sort" -msgstr "排åº:" +msgstr "排åº" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "å‘上移动" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "å‘下移动" @@ -4508,7 +4599,7 @@ msgstr "上一个脚本" msgid "File" msgstr "文件" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "新建" @@ -4521,6 +4612,11 @@ msgid "Soft Reload Script" msgstr "软é‡è½½è„šæœ¬" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "æ‹·è´è·¯å¾„" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "åŽé€€" @@ -4711,11 +4807,7 @@ msgstr "æ‹·è´åˆ°ä¸‹ä¸€è¡Œ" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "折å 行" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "å–æ¶ˆæŠ˜å 行" #: editor/plugins/script_text_editor.cpp @@ -5044,6 +5136,14 @@ msgstr "帧数" msgid "Align with view" msgstr "与视图对é½" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "好å§" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "没有选ä¸èŠ‚ç‚¹æ¥æ·»åŠ å®žä¾‹ã€‚" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "显示法线" @@ -5152,6 +5252,20 @@ msgid "Scale Mode (R)" msgstr "缩放模å¼ï¼ˆR)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "æœ¬åœ°åæ ‡" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "缩放模å¼ï¼ˆR)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "å¸é™„模å¼:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "底部视图" @@ -5225,10 +5339,6 @@ msgid "Configure Snap.." msgstr "设置å¸é™„.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "æœ¬åœ°åæ ‡" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "å˜æ¢å¯¹è¯æ¡†.." @@ -5270,6 +5380,10 @@ msgid "Settings" msgstr "设置" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "å¸é™„设置" @@ -5655,6 +5769,11 @@ msgid "Merge from scene?" msgstr "确定è¦åˆå¹¶åœºæ™¯ï¼Ÿ" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "ç –å—集.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "从场景ä¸åˆ›å»º" @@ -5666,6 +5785,10 @@ msgstr "从场景ä¸åˆå¹¶" msgid "Error" msgstr "错误" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "å–æ¶ˆ" + #: editor/project_export.cpp msgid "Runnable" msgstr "å¯ç”¨" @@ -5784,10 +5907,6 @@ msgid "Imported Project" msgstr "已导入的项目" #: editor/project_manager.cpp -msgid " " -msgstr " .. " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "ä¸ºé¡¹ç›®å‘½åæ˜¯ä¸€ä¸ªå¥½ä¸»æ„。" @@ -5943,6 +6062,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"æ‚¨ç›®å‰æ²¡æœ‰ä»»ä½•项目。\n" +"是å¦è¦æ‰“开资æºå•†åº—æµè§ˆå®˜æ–¹æ ·ä¾‹é¡¹ç›®ï¼Ÿ" #: editor/project_settings_editor.cpp msgid "Key " @@ -6050,8 +6171,9 @@ msgid "Joypad Button Index:" msgstr "手柄按钮:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "æ·»åŠ è¾“å…¥åŠ¨ä½œ" +#, fuzzy +msgid "Erase Input Action" +msgstr "移除输入事件" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6098,9 +6220,8 @@ msgid "Select a setting item first!" msgstr "请先选择一个设置项目 ï¼" #: editor/project_settings_editor.cpp -#, fuzzy msgid "No property '%s' exists." -msgstr "没有属性 '%s'" +msgstr "属性 '%s' ä¸å˜åœ¨" #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." @@ -6119,6 +6240,10 @@ msgid "Already existing" msgstr "å·²ç»å˜åœ¨" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "æ·»åŠ è¾“å…¥åŠ¨ä½œ" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "ä¿å˜è®¾ç½®å‡ºé”™ã€‚" @@ -6298,6 +6423,10 @@ msgid "New Script" msgstr "新建脚本" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "转æ¢ä¸ºç‹¬ç«‹èµ„æº" @@ -6329,6 +6458,11 @@ msgstr "(Bit)ä½ %d, val %d." msgid "On" msgstr "å¯ç”¨" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "æ·»åŠ ç©ºç™½å¸§" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "设置" @@ -6337,10 +6471,6 @@ msgstr "设置" msgid "Properties:" msgstr "属性:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "选项:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "选择属性" @@ -6579,9 +6709,8 @@ msgid "Remote" msgstr "移除" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Local" -msgstr "地区" +msgstr "本地" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance? (No Undo!)" @@ -6905,6 +7034,10 @@ msgstr "ä»Žåœºæ™¯æ ‘è®¾ç½®" msgid "Shortcuts" msgstr "å¿«æ·é”®" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "设置光照åŠå¾„" @@ -6953,16 +7086,56 @@ msgstr "修改粒åAABB" msgid "Change Probe Extents" msgstr "修改探针(Probe)范围" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "移除路径顶点" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Platform" +msgstr "å¤åˆ¶åˆ°å¹³å°.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "库" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "库" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "状æ€" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "库: " @@ -7025,9 +7198,8 @@ msgid "GridMap Duplicate Selection" msgstr "å¤åˆ¶é€‰ä¸é¡¹" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Floor:" -msgstr "目录:" +msgstr "地æ¿:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7636,6 +7808,25 @@ msgstr "锚 id å¿…é¡»ä¸æ˜¯ 0 或这个锚点将ä¸ç»‘定到实际的锚" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin 必须拥有 ARVRCamera å节点" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "æ£åœ¨ç»˜åˆ¶ç½‘æ ¼" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "æ£åœ¨ç»˜åˆ¶ç½‘æ ¼" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "æ£åœ¨å®Œæˆåˆ’分" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "æ£åœ¨ç»˜åˆ¶ç½‘æ ¼" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7670,10 +7861,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "æ£åœ¨ç»˜åˆ¶ç½‘æ ¼" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "æ£åœ¨å®Œæˆåˆ’分" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "æ¤èŠ‚ç‚¹éœ€è¦è®¾ç½®NavigationMeshèµ„æºæ‰èƒ½å·¥ä½œã€‚" @@ -7733,10 +7920,6 @@ msgid "Add current color as a preset" msgstr "将当å‰é¢œè‰²æ·»åŠ ä¸ºé¢„è®¾" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "å–æ¶ˆ" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "æç¤ºï¼" @@ -7769,9 +7952,8 @@ msgstr "" "寸。" #: scene/gui/tree.cpp -#, fuzzy msgid "(Other)" -msgstr "(其它)" +msgstr "(其它)" #: scene/main/scene_tree.cpp msgid "" @@ -7806,6 +7988,31 @@ msgstr "åŠ è½½å—体出错。" msgid "Invalid font size." msgstr "å—体大å°éžæ³•。" +#~ msgid "Move Add Key" +#~ msgstr "ç§»åŠ¨å·²æ·»åŠ å…³é”®å¸§" + +#~ msgid "Create Subscription" +#~ msgstr "创建订阅" + +#~ msgid "List:" +#~ msgstr "列表:" + +#~ msgid "Set Emission Mask" +#~ msgstr "设置Emission Mask(å‘å°„å±è”½ï¼‰" + +#~ msgid "Clear Emitter" +#~ msgstr "清除å‘射器(Emitter)" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "折å 行" + +#~ msgid " " +#~ msgstr " .. " + +#~ msgid "Sections:" +#~ msgstr "选项:" + #~ msgid "Cannot navigate to '" #~ msgstr "æ— æ³•å¯¼èˆªåˆ° '" @@ -8342,9 +8549,6 @@ msgstr "å—体大å°éžæ³•。" #~ msgid "Making BVH" #~ msgstr "制作BVH(动作骨骼)" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "转移到光照贴图:" - #~ msgid "Allocating Texture #" #~ msgstr "分é…çº¹ç† #" @@ -8496,9 +8700,6 @@ msgstr "å—体大å°éžæ³•。" #~ msgid "Del" #~ msgstr "åˆ é™¤" -#~ msgid "Copy To Platform.." -#~ msgstr "å¤åˆ¶åˆ°å¹³å°.." - #~ msgid "just pressed" #~ msgstr "æ£å¥½æŒ‰ä¸‹" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 1035e4f6e8..a4fd11fc40 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -1,6 +1,6 @@ # Chinese (Hong Kong) translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Wesley (zx-wt) <ZX_WT@ymail.com>, 2016-2017. @@ -29,8 +29,8 @@ msgstr "所有é¸é …" #: editor/animation_editor.cpp #, fuzzy -msgid "Move Add Key" -msgstr "移動" +msgid "Anim Change Keyframe Time" +msgstr "動畫變化數值" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,7 +41,8 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "動畫變化數值" #: editor/animation_editor.cpp @@ -573,8 +574,9 @@ msgid "Connecting Signal:" msgstr "連接訊號:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "ç”± '%s' 連到 '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -590,7 +592,8 @@ msgid "Signals" msgstr "訊號" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "新增" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -605,7 +608,7 @@ msgstr "最近:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "æœå°‹ï¼š" @@ -642,6 +645,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -744,9 +748,10 @@ msgid "Delete selected files?" msgstr "è¦åˆªé™¤é¸ä¸æª”案?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "刪除" @@ -896,6 +901,11 @@ msgid "Rename Audio Bus" msgstr "釿–°å‘½åAutoload" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "動畫變化數值" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -946,8 +956,8 @@ msgstr "ç•¥éŽ" msgid "Bus options" msgstr "é¸é …" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "複製" @@ -962,6 +972,10 @@ msgid "Delete Effect" msgstr "刪除é¸ä¸æª”案" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1130,7 +1144,8 @@ msgstr "路徑:" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "å稱" @@ -1138,10 +1153,6 @@ msgstr "å稱" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "æ›´æ–°å ´æ™¯" @@ -1154,6 +1165,14 @@ msgstr "å„²å˜æœ¬åœ°æ›´æ”¹.." msgid "Updating scene.." msgstr "æ£åœ¨æ›´æ–°å ´æ™¯..." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1205,6 +1224,23 @@ msgstr "檔案已å˜åœ¨, è¦è¦†è“‹å—Ž?" msgid "Select Current Folder" msgstr "新增資料夾" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "複製路徑" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "新增資料夾" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "釿–°æ•´ç†" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "所有類型" @@ -1252,10 +1288,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "釿–°æ•´ç†" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "(ä¸ï¼‰é¡¯ç¤ºéš±è—的文件" @@ -1444,7 +1476,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "清空" @@ -2385,6 +2418,15 @@ msgstr "" msgid "Frame #:" msgstr "å¹€ #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "時間:" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "從列表é¸å–è¨å‚™" @@ -2526,7 +2568,8 @@ msgstr "沒有回應。" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "請求失敗。" #: editor/export_template_manager.cpp @@ -2580,7 +2623,7 @@ msgstr "連到..." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "ä¸èƒ½é€£æŽ¥ã€‚" #: editor/export_template_manager.cpp @@ -2680,6 +2723,11 @@ msgid "Error moving:\n" msgstr "載入錯誤:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "載入錯誤:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2714,6 +2762,16 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "複製" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "複製" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "" @@ -2722,10 +2780,6 @@ msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "複製路徑" - -#: editor/filesystem_dock.cpp #, fuzzy msgid "Rename.." msgstr "釿–°å‘½å.." @@ -2737,12 +2791,8 @@ msgstr "æ¬åˆ°.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "新增資料夾" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "é–‹å•“å ´æ™¯" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2757,6 +2807,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "複製" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2850,6 +2905,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3426,6 +3489,7 @@ msgid "last" msgstr "å°¾é " #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "全部" @@ -3467,6 +3531,27 @@ msgstr "測試" msgid "Assets ZIP File" msgstr "Assets ZIP 檔" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Bake Lightmaps" +msgstr "" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3604,7 +3689,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3786,16 +3870,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3992,6 +4066,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -4032,6 +4122,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "檔案" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "檔案" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4209,10 +4313,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4230,15 +4330,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4300,10 +4400,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4591,11 +4687,13 @@ msgstr "排åºï¼š" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "上移" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "下移" @@ -4611,7 +4709,7 @@ msgstr "" msgid "File" msgstr "檔案" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4624,6 +4722,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "複製路徑" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4817,14 +4920,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "跳到行" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5155,6 +5254,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5265,6 +5372,19 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "鏿“‡æ¨¡å¼" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5340,10 +5460,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5385,6 +5501,10 @@ msgid "Settings" msgstr "è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5772,6 +5892,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5783,6 +5908,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "å–æ¶ˆ" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -5907,10 +6036,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6174,8 +6299,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "縮放selection" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6244,6 +6370,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6423,6 +6553,10 @@ msgid "New Script" msgstr "下一個腳本" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6456,6 +6590,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6464,10 +6602,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -7039,6 +7173,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -7087,16 +7225,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "åªé™é¸ä¸" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "MeshLibrary.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "MeshLibrary.." + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "MeshLibrary.." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7772,6 +7949,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7800,10 +7993,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7856,10 +8045,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "å–æ¶ˆ" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "è¦å‘Š!" @@ -7921,6 +8106,10 @@ msgid "Invalid font size." msgstr "無效å—åž‹" #, fuzzy +#~ msgid "Move Add Key" +#~ msgstr "移動" + +#, fuzzy #~ msgid "" #~ "\n" #~ "Source: " diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 8a68c1f1a7..1cd5d9a4a7 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -1,6 +1,6 @@ # Chinese (Taiwan) translation of the Godot Engine editor -# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur -# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # # Allen H <w84miracle@gmail.com>, 2017. @@ -32,8 +32,9 @@ msgid "All Selection" msgstr "æ‰€æœ‰çš„é¸æ“‡" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "動畫更改座標" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -44,8 +45,9 @@ msgid "Anim Change Transform" msgstr "動畫更改座標" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "動畫更改座標" #: editor/animation_editor.cpp msgid "Anim Change Call" @@ -537,7 +539,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -554,7 +556,8 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "新增" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -569,7 +572,7 @@ msgstr "最近å˜å–:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "æœå°‹:" @@ -608,6 +611,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -710,9 +714,10 @@ msgid "Delete selected files?" msgstr "ç¢ºå®šåˆªé™¤æ‰€é¸æ“‡çš„æª”案嗎?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "刪除" @@ -852,6 +857,11 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "é‡è¨ç¸®æ”¾å¤§å°" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -900,8 +910,8 @@ msgstr "" msgid "Bus options" msgstr "除錯é¸é …" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -916,6 +926,10 @@ msgid "Delete Effect" msgstr "刪除" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1068,7 +1082,8 @@ msgstr "路徑:" msgid "Node Name:" msgstr "節點å稱:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "å稱" @@ -1076,10 +1091,6 @@ msgstr "å稱" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "列表:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "æ›´æ–°å ´æ™¯" @@ -1092,6 +1103,14 @@ msgstr "æ£åœ¨å„²å˜è®Šæ›´.." msgid "Updating scene.." msgstr "æ›´æ–°å ´æ™¯ä¸.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1142,6 +1161,23 @@ msgstr "檔案已經å˜åœ¨, è¦è¦†å¯«å—Ž?" msgid "Select Current Folder" msgstr "新增資料夾" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "新增資料夾" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "釿–°æ•´ç†" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1189,10 +1225,6 @@ msgid "Go Up" msgstr "往上" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "釿–°æ•´ç†" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1369,7 +1401,8 @@ msgstr "輸出:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "清除" @@ -2270,6 +2303,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2406,7 +2447,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2458,7 +2499,7 @@ msgstr "連接..." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "連接..." #: editor/export_template_manager.cpp @@ -2555,6 +2596,11 @@ msgstr "載入時發生錯誤:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "載入時發生錯誤:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "å ´æ™¯ç¼ºå°‘äº†æŸäº›è³‡æºä»¥è‡³æ–¼ç„¡æ³•載入" @@ -2588,15 +2634,20 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +#, fuzzy +msgid "Duplicating file:" +msgstr "載入時發生錯誤:" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2609,12 +2660,8 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "新增資料夾" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "é–‹å•Ÿå ´æ™¯" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2629,6 +2676,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "複製動畫關éµç•«æ ¼" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2722,6 +2774,14 @@ msgid "Importing Scene.." msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "" @@ -3289,6 +3349,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "全部" @@ -3330,6 +3391,28 @@ msgstr "" msgid "Assets ZIP File" msgstr "" +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"Can't determine a save path for lightmap images.\n" +"Save your scene (for images to be saved in the same dir), or pick a save " +"path from the BakedLightmap properties." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "" +"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " +"Light' flag is on." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +msgid "Failed creating lightmap images, make sure path is writable." +msgstr "" + +#: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy +msgid "Bake Lightmaps" +msgstr "變更光æºåŠå¾‘" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3465,7 +3548,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3646,16 +3728,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3851,6 +3923,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3891,6 +3979,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "éŽæ¿¾æª”案.." + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "éŽæ¿¾æª”案.." + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4068,10 +4170,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4089,15 +4187,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4159,10 +4257,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4449,11 +4543,13 @@ msgstr "排åº:" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "" @@ -4469,7 +4565,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4482,6 +4578,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4672,14 +4772,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "å‰å¾€ç¬¬...行" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5007,6 +5103,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5115,6 +5219,18 @@ msgid "Scale Mode (R)" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5188,10 +5304,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5233,6 +5345,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5618,6 +5734,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5629,6 +5749,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5749,10 +5873,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6013,8 +6133,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "æ‰€æœ‰çš„é¸æ“‡" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6082,6 +6203,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6261,6 +6386,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6293,6 +6422,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6301,10 +6434,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6866,6 +6995,10 @@ msgstr "" msgid "Shortcuts" msgstr "æ·å¾‘" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "變更光æºåŠå¾‘" @@ -6915,15 +7048,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "變更框型範åœ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "移除" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7595,6 +7765,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Meshes: " +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Plotting Lights:" +msgstr "" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +msgid "Lighting Meshes: " +msgstr "" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7623,10 +7809,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7679,10 +7861,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7743,6 +7921,9 @@ msgstr "讀å–å—體錯誤。" msgid "Invalid font size." msgstr "無效的å—體大å°ã€‚" +#~ msgid "List:" +#~ msgstr "列表:" + #, fuzzy #~ msgid "Selection -> Duplicate" #~ msgstr "åƒ…é¸æ“‡å€åŸŸ" diff --git a/main/input_default.cpp b/main/input_default.cpp index f637e77d56..c3454d86f3 100644 --- a/main/input_default.cpp +++ b/main/input_default.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -497,26 +497,16 @@ bool InputDefault::is_emulating_touchscreen() const { return emulate_touch; } -void InputDefault::set_custom_mouse_cursor(const RES &p_cursor, const Vector2 &p_hotspot) { - /* no longer supported, leaving this for reference to anyone who might want to implement hardware cursors +void InputDefault::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { + if (Engine::get_singleton()->is_editor_hint()) + return; + if (custom_cursor == p_cursor) return; custom_cursor = p_cursor; - if (p_cursor.is_null()) { - set_mouse_mode(MOUSE_MODE_VISIBLE); - //removed, please insist us to implement hardare cursors - //VisualServer::get_singleton()->cursor_set_visible(false); - } else { - Ref<AtlasTexture> atex = custom_cursor; - Rect2 region = atex.is_valid() ? atex->get_region() : Rect2(); - set_mouse_mode(MOUSE_MODE_HIDDEN); - VisualServer::get_singleton()->cursor_set_visible(true); - VisualServer::get_singleton()->cursor_set_texture(custom_cursor->get_rid(), p_hotspot, 0, region); - VisualServer::get_singleton()->cursor_set_pos(get_mouse_position()); - } - */ + OS::get_singleton()->set_custom_mouse_cursor(p_cursor, (OS::CursorShape)p_shape, p_hotspot); } void InputDefault::set_mouse_in_window(bool p_in_window) { diff --git a/main/input_default.h b/main/input_default.h index e2cb03e67c..3d9a809325 100644 --- a/main/input_default.h +++ b/main/input_default.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -225,7 +225,7 @@ public: void set_emulate_touch(bool p_emulate); virtual bool is_emulating_touchscreen() const; - virtual void set_custom_mouse_cursor(const RES &p_cursor, const Vector2 &p_hotspot = Vector2()); + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape = Input::CURSOR_ARROW, const Vector2 &p_hotspot = Vector2()); virtual void set_mouse_in_window(bool p_in_window); void parse_mapping(String p_mapping); diff --git a/main/main.cpp b/main/main.cpp index 5648676c4c..ac68fe1296 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -178,8 +178,8 @@ static String get_full_version_string() { void Main::print_help(const char *p_binary) { print_line(String(VERSION_NAME) + " v" + get_full_version_string() + " - https://godotengine.org"); - OS::get_singleton()->print("(c) 2007-2017 Juan Linietsky, Ariel Manzur.\n"); - OS::get_singleton()->print("(c) 2014-2017 Godot Engine contributors.\n"); + OS::get_singleton()->print("(c) 2007-2018 Juan Linietsky, Ariel Manzur.\n"); + OS::get_singleton()->print("(c) 2014-2018 Godot Engine contributors.\n"); OS::get_singleton()->print("\n"); OS::get_singleton()->print("Usage: %s [options] [path to scene or 'project.godot' file]\n", p_binary); OS::get_singleton()->print("\n"); @@ -755,8 +755,10 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph if (editor) { Engine::get_singleton()->set_editor_hint(true); main_args.push_back("--editor"); - init_maximized = true; - video_mode.maximized = true; + if (!init_windowed) { + init_maximized = true; + video_mode.maximized = true; + } use_custom_res = false; } @@ -1105,7 +1107,7 @@ Error Main::setup2(Thread::ID p_main_tid_override) { if (cursor.is_valid()) { //print_line("loaded ok"); Vector2 hotspot = ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image_hotspot"); - Input::get_singleton()->set_custom_mouse_cursor(cursor, hotspot); + Input::get_singleton()->set_custom_mouse_cursor(cursor, Input::CURSOR_ARROW, hotspot); } } #ifdef TOOLS_ENABLED diff --git a/main/main.h b/main/main.h index 2c1d42a163..4455f4b8ec 100644 --- a/main/main.h +++ b/main/main.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/performance.cpp b/main/performance.cpp index 39b42e803c..0ff2f5d540 100644 --- a/main/performance.cpp +++ b/main/performance.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/performance.h b/main/performance.h index 21fbd7a1d2..0c8406e464 100644 --- a/main/performance.h +++ b/main/performance.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_gdscript.cpp b/main/tests/test_gdscript.cpp index f99fd5fd88..1580a8e664 100644 --- a/main/tests/test_gdscript.cpp +++ b/main/tests/test_gdscript.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_gdscript.h b/main/tests/test_gdscript.h index cbbf7f3ef4..218f7a21a0 100644 --- a/main/tests/test_gdscript.h +++ b/main/tests/test_gdscript.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_gui.cpp b/main/tests/test_gui.cpp index d9b2873d6b..e9bbd2489e 100644 --- a/main/tests/test_gui.cpp +++ b/main/tests/test_gui.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_gui.h b/main/tests/test_gui.h index a5c5695980..156b3ed182 100644 --- a/main/tests/test_gui.h +++ b/main/tests/test_gui.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_image.cpp b/main/tests/test_image.cpp index 0b7ba0edcc..eb7b4f8076 100644 --- a/main/tests/test_image.cpp +++ b/main/tests/test_image.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_image.h b/main/tests/test_image.h index 254bccea85..ce1dabb433 100644 --- a/main/tests/test_image.h +++ b/main/tests/test_image.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_io.cpp b/main/tests/test_io.cpp index 1477df4415..42d79ba1f6 100644 --- a/main/tests/test_io.cpp +++ b/main/tests/test_io.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_io.h b/main/tests/test_io.h index ffb834b894..2cc1bfefaf 100644 --- a/main/tests/test_io.h +++ b/main/tests/test_io.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_main.cpp b/main/tests/test_main.cpp index d9b20254a8..41eae89c9e 100644 --- a/main/tests/test_main.cpp +++ b/main/tests/test_main.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_main.h b/main/tests/test_main.h index 0a50e3c7be..6f78127521 100644 --- a/main/tests/test_main.h +++ b/main/tests/test_main.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_math.cpp b/main/tests/test_math.cpp index 7d88372ee6..515b43a38a 100644 --- a/main/tests/test_math.cpp +++ b/main/tests/test_math.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_math.h b/main/tests/test_math.h index a0328a14d0..e3b74e94de 100644 --- a/main/tests/test_math.h +++ b/main/tests/test_math.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_oa_hash_map.cpp b/main/tests/test_oa_hash_map.cpp index 302c259262..47ae8912b2 100644 --- a/main/tests/test_oa_hash_map.cpp +++ b/main/tests/test_oa_hash_map.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_oa_hash_map.h b/main/tests/test_oa_hash_map.h index 92b4bc5e5a..c2812cebb7 100644 --- a/main/tests/test_oa_hash_map.h +++ b/main/tests/test_oa_hash_map.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_ordered_hash_map.cpp b/main/tests/test_ordered_hash_map.cpp index 89f4bf8593..b57bc0bcc9 100644 --- a/main/tests/test_ordered_hash_map.cpp +++ b/main/tests/test_ordered_hash_map.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_ordered_hash_map.h b/main/tests/test_ordered_hash_map.h index 0cde250f56..a327e4e18b 100644 --- a/main/tests/test_ordered_hash_map.h +++ b/main/tests/test_ordered_hash_map.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_physics.cpp b/main/tests/test_physics.cpp index e374113b67..275f67cd86 100644 --- a/main/tests/test_physics.cpp +++ b/main/tests/test_physics.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_physics.h b/main/tests/test_physics.h index 166bc87b4b..2b51899394 100644 --- a/main/tests/test_physics.h +++ b/main/tests/test_physics.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_physics_2d.cpp b/main/tests/test_physics_2d.cpp index 41b7893032..0af74a656e 100644 --- a/main/tests/test_physics_2d.cpp +++ b/main/tests/test_physics_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_physics_2d.h b/main/tests/test_physics_2d.h index 572429185f..e927a595ea 100644 --- a/main/tests/test_physics_2d.h +++ b/main/tests/test_physics_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_render.cpp b/main/tests/test_render.cpp index 9860a4a447..fa415e9bca 100644 --- a/main/tests/test_render.cpp +++ b/main/tests/test_render.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_render.h b/main/tests/test_render.h index 84b882de06..c79d9edcc7 100644 --- a/main/tests/test_render.h +++ b/main/tests/test_render.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_shader_lang.cpp b/main/tests/test_shader_lang.cpp index 679e54451e..1ca43686d4 100644 --- a/main/tests/test_shader_lang.cpp +++ b/main/tests/test_shader_lang.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_shader_lang.h b/main/tests/test_shader_lang.h index 203f3ffa87..9dd4958c55 100644 --- a/main/tests/test_shader_lang.h +++ b/main/tests/test_shader_lang.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_string.cpp b/main/tests/test_string.cpp index db57788ade..129adc5477 100644 --- a/main/tests/test_string.cpp +++ b/main/tests/test_string.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/main/tests/test_string.h b/main/tests/test_string.h index 9c97b13626..5e34929ff1 100644 --- a/main/tests/test_string.h +++ b/main/tests/test_string.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/misc/dist/osx_tools.app/Contents/Info.plist b/misc/dist/osx_tools.app/Contents/Info.plist index 5012d17c37..895eda14db 100755 --- a/misc/dist/osx_tools.app/Contents/Info.plist +++ b/misc/dist/osx_tools.app/Contents/Info.plist @@ -9,7 +9,7 @@ <key>CFBundleName</key> <string>Godot</string> <key>CFBundleGetInfoString</key> - <string>(c) 2007-2017 Juan Linietsky, Ariel Manzur</string> + <string>(c) 2007-2018 Juan Linietsky, Ariel Manzur.</string> <key>CFBundleIconFile</key> <string>Godot.icns</string> <key>CFBundleIdentifier</key> @@ -25,7 +25,7 @@ <key>CFBundleVersion</key> <string>3.0-dev</string> <key>NSHumanReadableCopyright</key> - <string>© 2007-2017 Juan Linietsky, Ariel Manzur</string> + <string>© 2007-2018 Juan Linietsky, Ariel Manzur.</string> <key>LSMinimumSystemVersion</key> <string>10.9.0</string> <key>LSMinimumSystemVersionByArchitecture</key> diff --git a/misc/scripts/addheader.py b/misc/scripts/addheader.py index 3f8b75ebcd..58d9fa35a3 100644 --- a/misc/scripts/addheader.py +++ b/misc/scripts/addheader.py @@ -6,8 +6,8 @@ header = """\ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/area_bullet.cpp b/modules/bullet/area_bullet.cpp index fad6f52cea..195d89d0c0 100644 --- a/modules/bullet/area_bullet.cpp +++ b/modules/bullet/area_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/area_bullet.h b/modules/bullet/area_bullet.h index 95ce62bfed..3e0913b891 100644 --- a/modules/bullet/area_bullet.h +++ b/modules/bullet/area_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/btRayShape.cpp b/modules/bullet/btRayShape.cpp index bbd2b19677..8f6434b46b 100644 --- a/modules/bullet/btRayShape.cpp +++ b/modules/bullet/btRayShape.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/btRayShape.h b/modules/bullet/btRayShape.h index 1b63fb477c..be7acaa01f 100644 --- a/modules/bullet/btRayShape.h +++ b/modules/bullet/btRayShape.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/bullet_physics_server.cpp b/modules/bullet/bullet_physics_server.cpp index b233edc0d4..679e4def82 100644 --- a/modules/bullet/bullet_physics_server.cpp +++ b/modules/bullet/bullet_physics_server.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -121,7 +121,7 @@ RID BulletPhysicsServer::shape_create(ShapeType p_shape) { shape = bulletnew(RayShapeBullet); } break; case SHAPE_CUSTOM: - defaul: + default: ERR_FAIL_V(RID()); break; } diff --git a/modules/bullet/bullet_physics_server.h b/modules/bullet/bullet_physics_server.h index 8a10c87fc6..006ad0f821 100644 --- a/modules/bullet/bullet_physics_server.h +++ b/modules/bullet/bullet_physics_server.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/bullet_types_converter.cpp b/modules/bullet/bullet_types_converter.cpp index 5010197a78..03247a91ca 100644 --- a/modules/bullet/bullet_types_converter.cpp +++ b/modules/bullet/bullet_types_converter.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/bullet_types_converter.h b/modules/bullet/bullet_types_converter.h index ed6a349382..5fa30c1d74 100644 --- a/modules/bullet/bullet_types_converter.h +++ b/modules/bullet/bullet_types_converter.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/bullet_utilities.h b/modules/bullet/bullet_utilities.h index 45cde169b7..1a44f48844 100644 --- a/modules/bullet/bullet_utilities.h +++ b/modules/bullet/bullet_utilities.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/collision_object_bullet.cpp b/modules/bullet/collision_object_bullet.cpp index 88d4108f82..70d604fa70 100644 --- a/modules/bullet/collision_object_bullet.cpp +++ b/modules/bullet/collision_object_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/collision_object_bullet.h b/modules/bullet/collision_object_bullet.h index 7d4659b64e..4168133e0d 100644 --- a/modules/bullet/collision_object_bullet.h +++ b/modules/bullet/collision_object_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/cone_twist_joint_bullet.cpp b/modules/bullet/cone_twist_joint_bullet.cpp index 738835b910..c8944d23c5 100644 --- a/modules/bullet/cone_twist_joint_bullet.cpp +++ b/modules/bullet/cone_twist_joint_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/cone_twist_joint_bullet.h b/modules/bullet/cone_twist_joint_bullet.h index 1ce5ef9826..5f0bccbd31 100644 --- a/modules/bullet/cone_twist_joint_bullet.h +++ b/modules/bullet/cone_twist_joint_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/constraint_bullet.cpp b/modules/bullet/constraint_bullet.cpp index 505579ce9b..0c5ba29cb3 100644 --- a/modules/bullet/constraint_bullet.cpp +++ b/modules/bullet/constraint_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/constraint_bullet.h b/modules/bullet/constraint_bullet.h index b528ec6d7b..a753ee0429 100644 --- a/modules/bullet/constraint_bullet.h +++ b/modules/bullet/constraint_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/generic_6dof_joint_bullet.cpp b/modules/bullet/generic_6dof_joint_bullet.cpp index da09d4e12f..674b30b23a 100644 --- a/modules/bullet/generic_6dof_joint_bullet.cpp +++ b/modules/bullet/generic_6dof_joint_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/generic_6dof_joint_bullet.h b/modules/bullet/generic_6dof_joint_bullet.h index ba0ae08800..df66892d66 100644 --- a/modules/bullet/generic_6dof_joint_bullet.h +++ b/modules/bullet/generic_6dof_joint_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/godot_collision_configuration.cpp b/modules/bullet/godot_collision_configuration.cpp index 136fb2ee74..6d83a9bccb 100644 --- a/modules/bullet/godot_collision_configuration.cpp +++ b/modules/bullet/godot_collision_configuration.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/godot_collision_configuration.h b/modules/bullet/godot_collision_configuration.h index ed99065f8c..835edac907 100644 --- a/modules/bullet/godot_collision_configuration.h +++ b/modules/bullet/godot_collision_configuration.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/godot_collision_dispatcher.cpp b/modules/bullet/godot_collision_dispatcher.cpp index e0ca29a8f3..31a965869e 100644 --- a/modules/bullet/godot_collision_dispatcher.cpp +++ b/modules/bullet/godot_collision_dispatcher.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/godot_collision_dispatcher.h b/modules/bullet/godot_collision_dispatcher.h index 501b2078dd..ab3ab2af31 100644 --- a/modules/bullet/godot_collision_dispatcher.h +++ b/modules/bullet/godot_collision_dispatcher.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/godot_motion_state.h b/modules/bullet/godot_motion_state.h index 62ea472446..79f139898c 100644 --- a/modules/bullet/godot_motion_state.h +++ b/modules/bullet/godot_motion_state.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/godot_ray_world_algorithm.cpp b/modules/bullet/godot_ray_world_algorithm.cpp index ba13903548..3dd10b9ab3 100644 --- a/modules/bullet/godot_ray_world_algorithm.cpp +++ b/modules/bullet/godot_ray_world_algorithm.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/godot_ray_world_algorithm.h b/modules/bullet/godot_ray_world_algorithm.h index 15c71b8d7d..f2c9008f58 100644 --- a/modules/bullet/godot_ray_world_algorithm.h +++ b/modules/bullet/godot_ray_world_algorithm.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/godot_result_callbacks.cpp b/modules/bullet/godot_result_callbacks.cpp index cbf30c8a2e..a91cbec340 100644 --- a/modules/bullet/godot_result_callbacks.cpp +++ b/modules/bullet/godot_result_callbacks.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -142,6 +142,9 @@ bool GodotAllContactResultCallback::needsCollision(btBroadphaseProxy *proxy0) co btScalar GodotAllContactResultCallback::addSingleResult(btManifoldPoint &cp, const btCollisionObjectWrapper *colObj0Wrap, int partId0, int index0, const btCollisionObjectWrapper *colObj1Wrap, int partId1, int index1) { + if (m_count >= m_resultMax) + return cp.getDistance(); + if (cp.getDistance() <= 0) { PhysicsDirectSpaceState::ShapeResult &result = m_results[m_count]; @@ -165,7 +168,7 @@ btScalar GodotAllContactResultCallback::addSingleResult(btManifoldPoint &cp, con ++m_count; } - return m_count < m_resultMax; + return cp.getDistance(); } bool GodotContactPairContactResultCallback::needsCollision(btBroadphaseProxy *proxy0) const { diff --git a/modules/bullet/godot_result_callbacks.h b/modules/bullet/godot_result_callbacks.h index 9d2fb1fce4..407fb79b9a 100644 --- a/modules/bullet/godot_result_callbacks.h +++ b/modules/bullet/godot_result_callbacks.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/hinge_joint_bullet.cpp b/modules/bullet/hinge_joint_bullet.cpp index ee0d6707d6..c731a3c134 100644 --- a/modules/bullet/hinge_joint_bullet.cpp +++ b/modules/bullet/hinge_joint_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/hinge_joint_bullet.h b/modules/bullet/hinge_joint_bullet.h index a78788a5e5..72146fca8b 100644 --- a/modules/bullet/hinge_joint_bullet.h +++ b/modules/bullet/hinge_joint_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/joint_bullet.cpp b/modules/bullet/joint_bullet.cpp index c8d91aa257..8aa15e731d 100644 --- a/modules/bullet/joint_bullet.cpp +++ b/modules/bullet/joint_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/joint_bullet.h b/modules/bullet/joint_bullet.h index d47e677502..2d4f774345 100644 --- a/modules/bullet/joint_bullet.h +++ b/modules/bullet/joint_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/pin_joint_bullet.cpp b/modules/bullet/pin_joint_bullet.cpp index 665e825967..7c44548496 100644 --- a/modules/bullet/pin_joint_bullet.cpp +++ b/modules/bullet/pin_joint_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/pin_joint_bullet.h b/modules/bullet/pin_joint_bullet.h index 3a0906bf83..5610e6aa05 100644 --- a/modules/bullet/pin_joint_bullet.h +++ b/modules/bullet/pin_joint_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/register_types.cpp b/modules/bullet/register_types.cpp index 1e697e7443..2a420f424b 100644 --- a/modules/bullet/register_types.cpp +++ b/modules/bullet/register_types.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/register_types.h b/modules/bullet/register_types.h index ca0683fa3b..4edc3fb839 100644 --- a/modules/bullet/register_types.h +++ b/modules/bullet/register_types.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/rid_bullet.h b/modules/bullet/rid_bullet.h index da7517f246..72859b628e 100644 --- a/modules/bullet/rid_bullet.h +++ b/modules/bullet/rid_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/rigid_body_bullet.cpp b/modules/bullet/rigid_body_bullet.cpp index 669b2c3f0c..e7342e2ae8 100644 --- a/modules/bullet/rigid_body_bullet.cpp +++ b/modules/bullet/rigid_body_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -264,6 +264,7 @@ RigidBodyBullet::RigidBodyBullet() : can_sleep(true), force_integration_callback(NULL), isTransformChanged(false), + previousActiveState(true), maxCollisionsDetection(0), collisionsCount(0), maxAreasWhereIam(10), @@ -287,6 +288,7 @@ RigidBodyBullet::RigidBodyBullet() : for (int i = areasWhereIam.size() - 1; 0 <= i; --i) { areasWhereIam[i] = NULL; } + btBody->setSleepingThresholds(0.2, 0.2); } RigidBodyBullet::~RigidBodyBullet() { @@ -337,7 +339,7 @@ void RigidBodyBullet::set_space(SpaceBullet *p_space) { void RigidBodyBullet::dispatch_callbacks() { /// The check isTransformChanged is necessary in order to call integrated forces only when the first transform is sent - if (btBody->isActive() && force_integration_callback && isTransformChanged) { + if ((btBody->isActive() || previousActiveState != btBody->isActive()) && force_integration_callback && isTransformChanged) { BulletPhysicsDirectBodyState *bodyDirect = BulletPhysicsDirectBodyState::get_singleton(this); @@ -364,6 +366,8 @@ void RigidBodyBullet::dispatch_callbacks() { /// Lock axis btBody->setLinearVelocity(btBody->getLinearVelocity() * btBody->getLinearFactor()); btBody->setAngularVelocity(btBody->getAngularVelocity() * btBody->getAngularFactor()); + + previousActiveState = btBody->isActive(); } void RigidBodyBullet::set_force_integration_callback(ObjectID p_id, const StringName &p_method, const Variant &p_udata) { @@ -580,7 +584,8 @@ Variant RigidBodyBullet::get_state(PhysicsServer::BodyState p_state) const { void RigidBodyBullet::apply_central_impulse(const Vector3 &p_impulse) { btVector3 btImpu; G_TO_B(p_impulse, btImpu); - btBody->activate(); + if (Vector3() != p_impulse) + btBody->activate(); btBody->applyCentralImpulse(btImpu); } @@ -589,14 +594,16 @@ void RigidBodyBullet::apply_impulse(const Vector3 &p_pos, const Vector3 &p_impul btVector3 btPos; G_TO_B(p_impulse, btImpu); G_TO_B(p_pos, btPos); - btBody->activate(); + if (Vector3() != p_impulse) + btBody->activate(); btBody->applyImpulse(btImpu, btPos); } void RigidBodyBullet::apply_torque_impulse(const Vector3 &p_impulse) { btVector3 btImp; G_TO_B(p_impulse, btImp); - btBody->activate(); + if (Vector3() != p_impulse) + btBody->activate(); btBody->applyTorqueImpulse(btImp); } @@ -605,28 +612,32 @@ void RigidBodyBullet::apply_force(const Vector3 &p_force, const Vector3 &p_pos) btVector3 btPos; G_TO_B(p_force, btForce); G_TO_B(p_pos, btPos); - btBody->activate(); + if (Vector3() != p_force) + btBody->activate(); btBody->applyForce(btForce, btPos); } void RigidBodyBullet::apply_central_force(const Vector3 &p_force) { btVector3 btForce; G_TO_B(p_force, btForce); - btBody->activate(); + if (Vector3() != p_force) + btBody->activate(); btBody->applyCentralForce(btForce); } void RigidBodyBullet::apply_torque(const Vector3 &p_torque) { btVector3 btTorq; G_TO_B(p_torque, btTorq); - btBody->activate(); + if (Vector3() != p_torque) + btBody->activate(); btBody->applyTorque(btTorq); } void RigidBodyBullet::set_applied_force(const Vector3 &p_force) { btVector3 btVec = btBody->getTotalTorque(); - btBody->activate(); + if (Vector3() != p_force) + btBody->activate(); btBody->clearForces(); btBody->applyTorque(btVec); @@ -644,7 +655,8 @@ Vector3 RigidBodyBullet::get_applied_force() const { void RigidBodyBullet::set_applied_torque(const Vector3 &p_torque) { btVector3 btVec = btBody->getTotalForce(); - btBody->activate(); + if (Vector3() != p_torque) + btBody->activate(); btBody->clearForces(); btBody->applyCentralForce(btVec); @@ -711,7 +723,8 @@ bool RigidBodyBullet::is_continuous_collision_detection_enabled() const { void RigidBodyBullet::set_linear_velocity(const Vector3 &p_velocity) { btVector3 btVec; G_TO_B(p_velocity, btVec); - btBody->activate(); + if (Vector3() != p_velocity) + btBody->activate(); btBody->setLinearVelocity(btVec); } @@ -724,7 +737,8 @@ Vector3 RigidBodyBullet::get_linear_velocity() const { void RigidBodyBullet::set_angular_velocity(const Vector3 &p_velocity) { btVector3 btVec; G_TO_B(p_velocity, btVec); - btBody->activate(); + if (Vector3() != p_velocity) + btBody->activate(); btBody->setAngularVelocity(btVec); } @@ -833,6 +847,9 @@ void RigidBodyBullet::on_exit_area(AreaBullet *p_area) { void RigidBodyBullet::reload_space_override_modificator() { + if (!is_active()) + return; + Vector3 newGravity(space->get_gravity_direction() * space->get_gravity_magnitude()); real_t newLinearDamp(linearDamp); real_t newAngularDamp(angularDamp); diff --git a/modules/bullet/rigid_body_bullet.h b/modules/bullet/rigid_body_bullet.h index c0eb148e24..ff1596e6f4 100644 --- a/modules/bullet/rigid_body_bullet.h +++ b/modules/bullet/rigid_body_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -207,6 +207,7 @@ private: bool isScratchedSpaceOverrideModificator; bool isTransformChanged; + bool previousActiveState; // Last check state ForceIntegrationCallback *force_integration_callback; diff --git a/modules/bullet/shape_bullet.cpp b/modules/bullet/shape_bullet.cpp index 572a3b4476..55cc742f0a 100644 --- a/modules/bullet/shape_bullet.cpp +++ b/modules/bullet/shape_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/shape_bullet.h b/modules/bullet/shape_bullet.h index 0a56fa1709..fa12e95efc 100644 --- a/modules/bullet/shape_bullet.h +++ b/modules/bullet/shape_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/shape_owner_bullet.cpp b/modules/bullet/shape_owner_bullet.cpp index 04b2b01675..7b753e1c48 100644 --- a/modules/bullet/shape_owner_bullet.cpp +++ b/modules/bullet/shape_owner_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/shape_owner_bullet.h b/modules/bullet/shape_owner_bullet.h index d2f3d321c7..4e81b4be6e 100644 --- a/modules/bullet/shape_owner_bullet.h +++ b/modules/bullet/shape_owner_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/slider_joint_bullet.cpp b/modules/bullet/slider_joint_bullet.cpp index cfcd0b57f6..09cbd5032c 100644 --- a/modules/bullet/slider_joint_bullet.cpp +++ b/modules/bullet/slider_joint_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/slider_joint_bullet.h b/modules/bullet/slider_joint_bullet.h index d50c376ea6..4b9a70a323 100644 --- a/modules/bullet/slider_joint_bullet.h +++ b/modules/bullet/slider_joint_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/soft_body_bullet.cpp b/modules/bullet/soft_body_bullet.cpp index ef5c8cac6f..268967f014 100644 --- a/modules/bullet/soft_body_bullet.cpp +++ b/modules/bullet/soft_body_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/soft_body_bullet.h b/modules/bullet/soft_body_bullet.h index 9ee7cd76d3..83597ae7d2 100644 --- a/modules/bullet/soft_body_bullet.h +++ b/modules/bullet/soft_body_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/space_bullet.cpp b/modules/bullet/space_bullet.cpp index 3ce4b294db..dc16d8402d 100644 --- a/modules/bullet/space_bullet.cpp +++ b/modules/bullet/space_bullet.cpp @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/bullet/space_bullet.h b/modules/bullet/space_bullet.h index e5267c01a9..6e71a25773 100644 --- a/modules/bullet/space_bullet.h +++ b/modules/bullet/space_bullet.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/dds/register_types.cpp b/modules/dds/register_types.cpp index 22fb391b9a..76244c76a4 100644 --- a/modules/dds/register_types.cpp +++ b/modules/dds/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/dds/register_types.h b/modules/dds/register_types.h index e48d56c898..74db58937e 100644 --- a/modules/dds/register_types.h +++ b/modules/dds/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/dds/texture_loader_dds.cpp b/modules/dds/texture_loader_dds.cpp index ae9daa802f..d01af20544 100644 --- a/modules/dds/texture_loader_dds.cpp +++ b/modules/dds/texture_loader_dds.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/dds/texture_loader_dds.h b/modules/dds/texture_loader_dds.h index c545d210b4..0adae2fb2a 100644 --- a/modules/dds/texture_loader_dds.h +++ b/modules/dds/texture_loader_dds.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/enet/networked_multiplayer_enet.cpp b/modules/enet/networked_multiplayer_enet.cpp index 396bebf0ea..2b5dd67938 100644 --- a/modules/enet/networked_multiplayer_enet.cpp +++ b/modules/enet/networked_multiplayer_enet.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/enet/networked_multiplayer_enet.h b/modules/enet/networked_multiplayer_enet.h index d7bc5c7849..d6644aed2d 100644 --- a/modules/enet/networked_multiplayer_enet.h +++ b/modules/enet/networked_multiplayer_enet.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/enet/register_types.cpp b/modules/enet/register_types.cpp index 316aca6d94..94d0eaa43f 100644 --- a/modules/enet/register_types.cpp +++ b/modules/enet/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/enet/register_types.h b/modules/enet/register_types.h index 0775044bc7..03cc2c8525 100644 --- a/modules/enet/register_types.h +++ b/modules/enet/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/etc/image_etc.cpp b/modules/etc/image_etc.cpp index 941df41694..2224ecc356 100644 --- a/modules/etc/image_etc.cpp +++ b/modules/etc/image_etc.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/etc/image_etc.h b/modules/etc/image_etc.h index 8cc0bdc08f..fb32a120b1 100644 --- a/modules/etc/image_etc.h +++ b/modules/etc/image_etc.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/etc/register_types.cpp b/modules/etc/register_types.cpp index ef0a403e90..42baf91dfa 100644 --- a/modules/etc/register_types.cpp +++ b/modules/etc/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/etc/register_types.h b/modules/etc/register_types.h index 1d9a0e3b2c..1f1336dc10 100644 --- a/modules/etc/register_types.h +++ b/modules/etc/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/etc/texture_loader_pkm.cpp b/modules/etc/texture_loader_pkm.cpp index e8a5aced3e..4f6df04341 100644 --- a/modules/etc/texture_loader_pkm.cpp +++ b/modules/etc/texture_loader_pkm.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/etc/texture_loader_pkm.h b/modules/etc/texture_loader_pkm.h index 667870d7cc..1e8833b547 100644 --- a/modules/etc/texture_loader_pkm.h +++ b/modules/etc/texture_loader_pkm.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/freetype/register_types.cpp b/modules/freetype/register_types.cpp index de6e73a55e..c3fa84417d 100644 --- a/modules/freetype/register_types.cpp +++ b/modules/freetype/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/freetype/register_types.h b/modules/freetype/register_types.h index ed8b5656b6..959d646cd4 100644 --- a/modules/freetype/register_types.h +++ b/modules/freetype/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/freetype/uwpdef.h b/modules/freetype/uwpdef.h index ecde9946c7..3887c3e25c 100644 --- a/modules/freetype/uwpdef.h +++ b/modules/freetype/uwpdef.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/arvr/arvr_interface_gdnative.cpp b/modules/gdnative/arvr/arvr_interface_gdnative.cpp index 29e4775e62..49e0a19d9e 100644 --- a/modules/gdnative/arvr/arvr_interface_gdnative.cpp +++ b/modules/gdnative/arvr/arvr_interface_gdnative.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/arvr/arvr_interface_gdnative.h b/modules/gdnative/arvr/arvr_interface_gdnative.h index 96f7b580d5..e50be6e196 100644 --- a/modules/gdnative/arvr/arvr_interface_gdnative.h +++ b/modules/gdnative/arvr/arvr_interface_gdnative.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/arvr/register_types.cpp b/modules/gdnative/arvr/register_types.cpp index 139750a02d..d792e1b4a4 100644 --- a/modules/gdnative/arvr/register_types.cpp +++ b/modules/gdnative/arvr/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/arvr/register_types.h b/modules/gdnative/arvr/register_types.h index 4918319926..4c651b4f76 100644 --- a/modules/gdnative/arvr/register_types.h +++ b/modules/gdnative/arvr/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative.cpp b/modules/gdnative/gdnative.cpp index 9c0041cbe0..57db9ac51c 100644 --- a/modules/gdnative/gdnative.cpp +++ b/modules/gdnative/gdnative.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -130,6 +130,9 @@ bool GDNative::initialize() { // we should pass library name to dlopen(). The library name is flattened // during export. String path = lib_path.get_file(); +#elif defined(UWP_ENABLED) + // On UWP we use a relative path from the app + String path = lib_path.replace("res://", ""); #else String path = ProjectSettings::get_singleton()->globalize_path(lib_path); #endif diff --git a/modules/gdnative/gdnative.h b/modules/gdnative/gdnative.h index 993cd0ece7..26c19dcf22 100644 --- a/modules/gdnative/gdnative.h +++ b/modules/gdnative/gdnative.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/aabb.cpp b/modules/gdnative/gdnative/aabb.cpp index 6c89bcdceb..706e81a606 100644 --- a/modules/gdnative/gdnative/aabb.cpp +++ b/modules/gdnative/gdnative/aabb.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/array.cpp b/modules/gdnative/gdnative/array.cpp index 8351c43574..72020b5361 100644 --- a/modules/gdnative/gdnative/array.cpp +++ b/modules/gdnative/gdnative/array.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/basis.cpp b/modules/gdnative/gdnative/basis.cpp index 7a65996036..7b9acc6bd0 100644 --- a/modules/gdnative/gdnative/basis.cpp +++ b/modules/gdnative/gdnative/basis.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/color.cpp b/modules/gdnative/gdnative/color.cpp index 281a4c416f..4fd4458bfb 100644 --- a/modules/gdnative/gdnative/color.cpp +++ b/modules/gdnative/gdnative/color.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/dictionary.cpp b/modules/gdnative/gdnative/dictionary.cpp index 8363416946..b2ac8e0426 100644 --- a/modules/gdnative/gdnative/dictionary.cpp +++ b/modules/gdnative/gdnative/dictionary.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/gdnative.cpp b/modules/gdnative/gdnative/gdnative.cpp index 8ff67b10b1..38fb2ee818 100644 --- a/modules/gdnative/gdnative/gdnative.cpp +++ b/modules/gdnative/gdnative/gdnative.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/node_path.cpp b/modules/gdnative/gdnative/node_path.cpp index 8dfe151f91..8c490709c0 100644 --- a/modules/gdnative/gdnative/node_path.cpp +++ b/modules/gdnative/gdnative/node_path.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/plane.cpp b/modules/gdnative/gdnative/plane.cpp index c92efb8d99..de272d6f08 100644 --- a/modules/gdnative/gdnative/plane.cpp +++ b/modules/gdnative/gdnative/plane.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/pool_arrays.cpp b/modules/gdnative/gdnative/pool_arrays.cpp index 562cc344a9..dc24bf4d15 100644 --- a/modules/gdnative/gdnative/pool_arrays.cpp +++ b/modules/gdnative/gdnative/pool_arrays.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/quat.cpp b/modules/gdnative/gdnative/quat.cpp index c308e5973d..2f577e485a 100644 --- a/modules/gdnative/gdnative/quat.cpp +++ b/modules/gdnative/gdnative/quat.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/rect2.cpp b/modules/gdnative/gdnative/rect2.cpp index b0b0e28138..c449a0d14c 100644 --- a/modules/gdnative/gdnative/rect2.cpp +++ b/modules/gdnative/gdnative/rect2.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/rid.cpp b/modules/gdnative/gdnative/rid.cpp index c6e8d82494..fe04f1e92f 100644 --- a/modules/gdnative/gdnative/rid.cpp +++ b/modules/gdnative/gdnative/rid.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/string.cpp b/modules/gdnative/gdnative/string.cpp index 67a037736c..a99adb3beb 100644 --- a/modules/gdnative/gdnative/string.cpp +++ b/modules/gdnative/gdnative/string.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/string_name.cpp b/modules/gdnative/gdnative/string_name.cpp index 5c79e0acbd..86067df433 100644 --- a/modules/gdnative/gdnative/string_name.cpp +++ b/modules/gdnative/gdnative/string_name.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/transform.cpp b/modules/gdnative/gdnative/transform.cpp index b07fcffcb6..4b6589a209 100644 --- a/modules/gdnative/gdnative/transform.cpp +++ b/modules/gdnative/gdnative/transform.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/transform2d.cpp b/modules/gdnative/gdnative/transform2d.cpp index 0a6334516b..0ff5420f4f 100644 --- a/modules/gdnative/gdnative/transform2d.cpp +++ b/modules/gdnative/gdnative/transform2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/variant.cpp b/modules/gdnative/gdnative/variant.cpp index 6483d19d74..6447641096 100644 --- a/modules/gdnative/gdnative/variant.cpp +++ b/modules/gdnative/gdnative/variant.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/vector2.cpp b/modules/gdnative/gdnative/vector2.cpp index 7be08929b1..aadce281b3 100644 --- a/modules/gdnative/gdnative/vector2.cpp +++ b/modules/gdnative/gdnative/vector2.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative/vector3.cpp b/modules/gdnative/gdnative/vector3.cpp index 0027d236f2..4de9889c23 100644 --- a/modules/gdnative/gdnative/vector3.cpp +++ b/modules/gdnative/gdnative/vector3.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative_library_editor_plugin.cpp b/modules/gdnative/gdnative_library_editor_plugin.cpp index 1e638ab702..6424b66d1e 100644 --- a/modules/gdnative/gdnative_library_editor_plugin.cpp +++ b/modules/gdnative/gdnative_library_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -299,8 +299,8 @@ GDNativeLibraryEditor::GDNativeLibraryEditor() { NativePlatformConfig platform_uwp; platform_uwp.name = "Windows Universal"; platform_uwp.entries.push_back("arm"); - platform_uwp.entries.push_back("x86"); - platform_uwp.entries.push_back("x64"); + platform_uwp.entries.push_back("32"); + platform_uwp.entries.push_back("64"); platform_uwp.library_extension = "*.dll"; platforms["UWP"] = platform_uwp; diff --git a/modules/gdnative/gdnative_library_editor_plugin.h b/modules/gdnative/gdnative_library_editor_plugin.h index 1fa6a0c945..2b635d0937 100644 --- a/modules/gdnative/gdnative_library_editor_plugin.h +++ b/modules/gdnative/gdnative_library_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative_library_singleton_editor.cpp b/modules/gdnative/gdnative_library_singleton_editor.cpp index 2ad497fcad..4c0049f90d 100644 --- a/modules/gdnative/gdnative_library_singleton_editor.cpp +++ b/modules/gdnative/gdnative_library_singleton_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/gdnative_library_singleton_editor.h b/modules/gdnative/gdnative_library_singleton_editor.h index ee1a32c5a5..d00ddc9211 100644 --- a/modules/gdnative/gdnative_library_singleton_editor.h +++ b/modules/gdnative/gdnative_library_singleton_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/arvr/godot_arvr.h b/modules/gdnative/include/arvr/godot_arvr.h index be13ac954b..fc4626c967 100644 --- a/modules/gdnative/include/arvr/godot_arvr.h +++ b/modules/gdnative/include/arvr/godot_arvr.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/aabb.h b/modules/gdnative/include/gdnative/aabb.h index 34339fa242..a40061ce2e 100644 --- a/modules/gdnative/include/gdnative/aabb.h +++ b/modules/gdnative/include/gdnative/aabb.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/array.h b/modules/gdnative/include/gdnative/array.h index 484ffd10ba..1e66d133b9 100644 --- a/modules/gdnative/include/gdnative/array.h +++ b/modules/gdnative/include/gdnative/array.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/basis.h b/modules/gdnative/include/gdnative/basis.h index 4898eab24c..ce9ac590d9 100644 --- a/modules/gdnative/include/gdnative/basis.h +++ b/modules/gdnative/include/gdnative/basis.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/color.h b/modules/gdnative/include/gdnative/color.h index 857e86a738..14086c1155 100644 --- a/modules/gdnative/include/gdnative/color.h +++ b/modules/gdnative/include/gdnative/color.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/dictionary.h b/modules/gdnative/include/gdnative/dictionary.h index 6d1f436921..07ffb3346b 100644 --- a/modules/gdnative/include/gdnative/dictionary.h +++ b/modules/gdnative/include/gdnative/dictionary.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/gdnative.h b/modules/gdnative/include/gdnative/gdnative.h index 9d7829a51f..d066df8046 100644 --- a/modules/gdnative/include/gdnative/gdnative.h +++ b/modules/gdnative/include/gdnative/gdnative.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/node_path.h b/modules/gdnative/include/gdnative/node_path.h index b5a59fd325..e58c332cdf 100644 --- a/modules/gdnative/include/gdnative/node_path.h +++ b/modules/gdnative/include/gdnative/node_path.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/plane.h b/modules/gdnative/include/gdnative/plane.h index dddd172122..d40a76374f 100644 --- a/modules/gdnative/include/gdnative/plane.h +++ b/modules/gdnative/include/gdnative/plane.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/pool_arrays.h b/modules/gdnative/include/gdnative/pool_arrays.h index 81500c9186..f91bd4694b 100644 --- a/modules/gdnative/include/gdnative/pool_arrays.h +++ b/modules/gdnative/include/gdnative/pool_arrays.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/quat.h b/modules/gdnative/include/gdnative/quat.h index 2be9d8849d..3696a303df 100644 --- a/modules/gdnative/include/gdnative/quat.h +++ b/modules/gdnative/include/gdnative/quat.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/rect2.h b/modules/gdnative/include/gdnative/rect2.h index 1c66443d4f..7b223b450e 100644 --- a/modules/gdnative/include/gdnative/rect2.h +++ b/modules/gdnative/include/gdnative/rect2.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/rid.h b/modules/gdnative/include/gdnative/rid.h index caa1bb967e..effa89bbbd 100644 --- a/modules/gdnative/include/gdnative/rid.h +++ b/modules/gdnative/include/gdnative/rid.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/string.h b/modules/gdnative/include/gdnative/string.h index 10358ceade..90397b0e40 100644 --- a/modules/gdnative/include/gdnative/string.h +++ b/modules/gdnative/include/gdnative/string.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/string_name.h b/modules/gdnative/include/gdnative/string_name.h index ee9f603d20..287f98d523 100644 --- a/modules/gdnative/include/gdnative/string_name.h +++ b/modules/gdnative/include/gdnative/string_name.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/transform.h b/modules/gdnative/include/gdnative/transform.h index 3b5c189bdf..d5e2e9364f 100644 --- a/modules/gdnative/include/gdnative/transform.h +++ b/modules/gdnative/include/gdnative/transform.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/transform2d.h b/modules/gdnative/include/gdnative/transform2d.h index c68bd2963f..c92225a110 100644 --- a/modules/gdnative/include/gdnative/transform2d.h +++ b/modules/gdnative/include/gdnative/transform2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/variant.h b/modules/gdnative/include/gdnative/variant.h index 06cafcfa63..af26ab99db 100644 --- a/modules/gdnative/include/gdnative/variant.h +++ b/modules/gdnative/include/gdnative/variant.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/vector2.h b/modules/gdnative/include/gdnative/vector2.h index 4d1117e3aa..c7e7926b0a 100644 --- a/modules/gdnative/include/gdnative/vector2.h +++ b/modules/gdnative/include/gdnative/vector2.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/gdnative/vector3.h b/modules/gdnative/include/gdnative/vector3.h index 135a13acc8..c117bad380 100644 --- a/modules/gdnative/include/gdnative/vector3.h +++ b/modules/gdnative/include/gdnative/vector3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/nativescript/godot_nativescript.h b/modules/gdnative/include/nativescript/godot_nativescript.h index 8baff0fff9..e6fd9d3f84 100644 --- a/modules/gdnative/include/nativescript/godot_nativescript.h +++ b/modules/gdnative/include/nativescript/godot_nativescript.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/include/pluginscript/godot_pluginscript.h b/modules/gdnative/include/pluginscript/godot_pluginscript.h index d1c210529c..fca29b67ca 100644 --- a/modules/gdnative/include/pluginscript/godot_pluginscript.h +++ b/modules/gdnative/include/pluginscript/godot_pluginscript.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/nativescript/api_generator.cpp b/modules/gdnative/nativescript/api_generator.cpp index 653445c2db..687aa66219 100644 --- a/modules/gdnative/nativescript/api_generator.cpp +++ b/modules/gdnative/nativescript/api_generator.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/nativescript/api_generator.h b/modules/gdnative/nativescript/api_generator.h index a8e2eaf0bf..23fd0377ad 100644 --- a/modules/gdnative/nativescript/api_generator.h +++ b/modules/gdnative/nativescript/api_generator.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/nativescript/godot_nativescript.cpp b/modules/gdnative/nativescript/godot_nativescript.cpp index 61ac13b796..c9434c404e 100644 --- a/modules/gdnative/nativescript/godot_nativescript.cpp +++ b/modules/gdnative/nativescript/godot_nativescript.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/nativescript/nativescript.cpp b/modules/gdnative/nativescript/nativescript.cpp index 965de062e3..823d794f72 100644 --- a/modules/gdnative/nativescript/nativescript.cpp +++ b/modules/gdnative/nativescript/nativescript.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/nativescript/nativescript.h b/modules/gdnative/nativescript/nativescript.h index 30fa400cb0..5eefdf1567 100644 --- a/modules/gdnative/nativescript/nativescript.h +++ b/modules/gdnative/nativescript/nativescript.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/nativescript/register_types.cpp b/modules/gdnative/nativescript/register_types.cpp index d734bba810..d7d2c11d54 100644 --- a/modules/gdnative/nativescript/register_types.cpp +++ b/modules/gdnative/nativescript/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/nativescript/register_types.h b/modules/gdnative/nativescript/register_types.h index 7ac558f68f..66cd4c33bb 100644 --- a/modules/gdnative/nativescript/register_types.h +++ b/modules/gdnative/nativescript/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/pluginscript_instance.cpp b/modules/gdnative/pluginscript/pluginscript_instance.cpp index 8f01350826..c9e7c60399 100644 --- a/modules/gdnative/pluginscript/pluginscript_instance.cpp +++ b/modules/gdnative/pluginscript/pluginscript_instance.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/pluginscript_instance.h b/modules/gdnative/pluginscript/pluginscript_instance.h index 68696b4417..7848739d9b 100644 --- a/modules/gdnative/pluginscript/pluginscript_instance.h +++ b/modules/gdnative/pluginscript/pluginscript_instance.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/pluginscript_language.cpp b/modules/gdnative/pluginscript/pluginscript_language.cpp index e358c2fb69..382b28a0bb 100644 --- a/modules/gdnative/pluginscript/pluginscript_language.cpp +++ b/modules/gdnative/pluginscript/pluginscript_language.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/pluginscript_language.h b/modules/gdnative/pluginscript/pluginscript_language.h index 79b95ff4e6..5bbd3507e3 100644 --- a/modules/gdnative/pluginscript/pluginscript_language.h +++ b/modules/gdnative/pluginscript/pluginscript_language.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/pluginscript_loader.cpp b/modules/gdnative/pluginscript/pluginscript_loader.cpp index 3648e1a5b4..62ba41a24e 100644 --- a/modules/gdnative/pluginscript/pluginscript_loader.cpp +++ b/modules/gdnative/pluginscript/pluginscript_loader.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/pluginscript_loader.h b/modules/gdnative/pluginscript/pluginscript_loader.h index b85e7725a1..5e59d25d75 100644 --- a/modules/gdnative/pluginscript/pluginscript_loader.h +++ b/modules/gdnative/pluginscript/pluginscript_loader.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/pluginscript_script.cpp b/modules/gdnative/pluginscript/pluginscript_script.cpp index 0b71b3b10d..876719820b 100644 --- a/modules/gdnative/pluginscript/pluginscript_script.cpp +++ b/modules/gdnative/pluginscript/pluginscript_script.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/pluginscript_script.h b/modules/gdnative/pluginscript/pluginscript_script.h index 5600bca5ef..9928e115ea 100644 --- a/modules/gdnative/pluginscript/pluginscript_script.h +++ b/modules/gdnative/pluginscript/pluginscript_script.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/register_types.cpp b/modules/gdnative/pluginscript/register_types.cpp index 5829d08dff..b7c8b6f536 100644 --- a/modules/gdnative/pluginscript/register_types.cpp +++ b/modules/gdnative/pluginscript/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/pluginscript/register_types.h b/modules/gdnative/pluginscript/register_types.h index 70bbb16c62..be2b1ca4c8 100644 --- a/modules/gdnative/pluginscript/register_types.h +++ b/modules/gdnative/pluginscript/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/register_types.cpp b/modules/gdnative/register_types.cpp index bd9bae5294..21330dfefd 100644 --- a/modules/gdnative/register_types.cpp +++ b/modules/gdnative/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdnative/register_types.h b/modules/gdnative/register_types.h index 08da72016f..39d47dccb0 100644 --- a/modules/gdnative/register_types.h +++ b/modules/gdnative/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp index b75f670906..11c13ce2ea 100644 --- a/modules/gdscript/gdscript.cpp +++ b/modules/gdscript/gdscript.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript.h b/modules/gdscript/gdscript.h index 6e5d59ad0e..d669fd6664 100644 --- a/modules/gdscript/gdscript.h +++ b/modules/gdscript/gdscript.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index f9385d7a11..360cce9ca0 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_compiler.h b/modules/gdscript/gdscript_compiler.h index 6e0457ba30..4b35898bb0 100644 --- a/modules/gdscript/gdscript_compiler.h +++ b/modules/gdscript/gdscript_compiler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index adf6780278..9dcaaf828f 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_function.cpp b/modules/gdscript/gdscript_function.cpp index d6352f1e6e..3023b489e5 100644 --- a/modules/gdscript/gdscript_function.cpp +++ b/modules/gdscript/gdscript_function.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -605,7 +605,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a #ifdef DEBUG_ENABLED if (!valid) { if (src->has_method(*index)) { - err_text = "Invalid get index '" + index->operator String() + "' (on base: '" + _get_var_type(src) + "'). Did you mean '." + index->operator String() + "()' ?"; + err_text = "Invalid get index '" + index->operator String() + "' (on base: '" + _get_var_type(src) + "'). Did you mean '." + index->operator String() + "()' or funcref(obj, \"" + index->operator String() + "\") ?"; } else { err_text = "Invalid get index '" + index->operator String() + "' (on base: '" + _get_var_type(src) + "')."; } diff --git a/modules/gdscript/gdscript_function.h b/modules/gdscript/gdscript_function.h index 03fd5d52dc..e499820954 100644 --- a/modules/gdscript/gdscript_function.h +++ b/modules/gdscript/gdscript_function.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_functions.cpp b/modules/gdscript/gdscript_functions.cpp index ca0a9582a7..cae3bcadfe 100644 --- a/modules/gdscript/gdscript_functions.cpp +++ b/modules/gdscript/gdscript_functions.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_functions.h b/modules/gdscript/gdscript_functions.h index d1c5815cec..5bbd848339 100644 --- a/modules/gdscript/gdscript_functions.h +++ b/modules/gdscript/gdscript_functions.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index 8c110143b8..4b3feb49b9 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_parser.h b/modules/gdscript/gdscript_parser.h index 3c9c5ea02c..1b851434db 100644 --- a/modules/gdscript/gdscript_parser.h +++ b/modules/gdscript/gdscript_parser.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_tokenizer.cpp b/modules/gdscript/gdscript_tokenizer.cpp index e3a0af8ee6..281aa6ca44 100644 --- a/modules/gdscript/gdscript_tokenizer.cpp +++ b/modules/gdscript/gdscript_tokenizer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/gdscript_tokenizer.h b/modules/gdscript/gdscript_tokenizer.h index d19367177b..9a09058cf3 100644 --- a/modules/gdscript/gdscript_tokenizer.h +++ b/modules/gdscript/gdscript_tokenizer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/register_types.cpp b/modules/gdscript/register_types.cpp index e707032ed8..50f5da9995 100644 --- a/modules/gdscript/register_types.cpp +++ b/modules/gdscript/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gdscript/register_types.h b/modules/gdscript/register_types.h index a674877f37..21ad85f12e 100644 --- a/modules/gdscript/register_types.h +++ b/modules/gdscript/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gridmap/doc_classes/GridMap.xml b/modules/gridmap/doc_classes/GridMap.xml index e9bb90631d..c30c6d77b9 100644 --- a/modules/gridmap/doc_classes/GridMap.xml +++ b/modules/gridmap/doc_classes/GridMap.xml @@ -95,6 +95,22 @@ Returns whether or not grid items are centered on the Z axis. </description> </method> + <method name="get_collision_layer_bit" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_collision_mask_bit" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <description> + </description> + </method> <method name="get_meshes"> <return type="Array"> </return> @@ -222,6 +238,26 @@ <description> </description> </method> + <method name="set_collision_layer_bit"> + <return type="void"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <argument index="1" name="value" type="bool"> + </argument> + <description> + </description> + </method> + <method name="set_collision_mask_bit"> + <return type="void"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <argument index="1" name="value" type="bool"> + </argument> + <description> + </description> + </method> <method name="set_octant_size"> <return type="void"> </return> @@ -249,6 +285,12 @@ </description> </method> </methods> + <members> + <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer"> + </member> + <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask"> + </member> + </members> <constants> <constant name="INVALID_CELL_ITEM" value="-1"> Invalid cell item that can be used in [method set_cell_item] to clear cells (or represent an empty cell in [method get_cell_item]). diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp index 0b73cbfc6d..9a03bc410a 100644 --- a/modules/gridmap/grid_map.cpp +++ b/modules/gridmap/grid_map.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -198,6 +198,58 @@ void GridMap::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE)); } +void GridMap::set_collision_layer(uint32_t p_layer) { + + collision_layer = p_layer; + _reset_physic_bodies_collision_filters(); +} + +uint32_t GridMap::get_collision_layer() const { + + return collision_layer; +} + +void GridMap::set_collision_mask(uint32_t p_mask) { + + collision_mask = p_mask; + _reset_physic_bodies_collision_filters(); +} + +uint32_t GridMap::get_collision_mask() const { + + return collision_mask; +} + +void GridMap::set_collision_mask_bit(int p_bit, bool p_value) { + + uint32_t mask = get_collision_mask(); + if (p_value) + mask |= 1 << p_bit; + else + mask &= ~(1 << p_bit); + set_collision_mask(mask); +} + +bool GridMap::get_collision_mask_bit(int p_bit) const { + + return get_collision_mask() & (1 << p_bit); +} + +void GridMap::set_collision_layer_bit(int p_bit, bool p_value) { + + uint32_t mask = get_collision_layer(); + if (p_value) + mask |= 1 << p_bit; + else + mask &= ~(1 << p_bit); + set_collision_layer(mask); +} + +bool GridMap::get_collision_layer_bit(int p_bit) const { + + return get_collision_layer() & (1 << p_bit); +} + void GridMap::set_theme(const Ref<MeshLibrary> &p_theme) { if (!theme.is_null()) @@ -311,6 +363,8 @@ void GridMap::set_cell_item(int p_x, int p_y, int p_z, int p_item, int p_rot) { g->dirty = true; g->static_body = PhysicsServer::get_singleton()->body_create(PhysicsServer::BODY_MODE_STATIC); PhysicsServer::get_singleton()->body_attach_object_instance_id(g->static_body, get_instance_id()); + PhysicsServer::get_singleton()->body_set_collision_layer(g->static_body, collision_layer); + PhysicsServer::get_singleton()->body_set_collision_mask(g->static_body, collision_mask); SceneTree *st = SceneTree::get_singleton(); if (st && st->is_debugging_collisions_hint()) { @@ -575,6 +629,13 @@ bool GridMap::_octant_update(const OctantKey &p_key) { return false; } +void GridMap::_reset_physic_bodies_collision_filters() { + for (Map<OctantKey, Octant *>::Element *E = octant_map.front(); E; E = E->next()) { + PhysicsServer::get_singleton()->body_set_collision_layer(E->get()->static_body, collision_layer); + PhysicsServer::get_singleton()->body_set_collision_mask(E->get()->static_body, collision_mask); + } +} + void GridMap::_octant_enter_world(const OctantKey &p_key) { ERR_FAIL_COND(!octant_map.has(p_key)); @@ -815,6 +876,18 @@ void GridMap::_update_octants_callback() { void GridMap::_bind_methods() { + ClassDB::bind_method(D_METHOD("set_collision_layer", "layer"), &GridMap::set_collision_layer); + ClassDB::bind_method(D_METHOD("get_collision_layer"), &GridMap::get_collision_layer); + + ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &GridMap::set_collision_mask); + ClassDB::bind_method(D_METHOD("get_collision_mask"), &GridMap::get_collision_mask); + + ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &GridMap::set_collision_mask_bit); + ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &GridMap::get_collision_mask_bit); + + ClassDB::bind_method(D_METHOD("set_collision_layer_bit", "bit", "value"), &GridMap::set_collision_layer_bit); + ClassDB::bind_method(D_METHOD("get_collision_layer_bit", "bit"), &GridMap::get_collision_layer_bit); + ClassDB::bind_method(D_METHOD("set_theme", "theme"), &GridMap::set_theme); ClassDB::bind_method(D_METHOD("get_theme"), &GridMap::get_theme); @@ -855,6 +928,10 @@ void GridMap::_bind_methods() { ClassDB::bind_method(D_METHOD("clear_baked_meshes"), &GridMap::clear_baked_meshes); ClassDB::bind_method(D_METHOD("make_baked_meshes", "gen_lightmap_uv", "lightmap_uv_texel_size"), &GridMap::make_baked_meshes, DEFVAL(false), DEFVAL(0.1)); + ADD_GROUP("Collision", "collision_"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_layer", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_layer", "get_collision_layer"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask"); + BIND_CONSTANT(INVALID_CELL_ITEM); } @@ -1067,6 +1144,9 @@ RID GridMap::get_bake_mesh_instance(int p_idx) { GridMap::GridMap() { + collision_layer = 1; + collision_mask = 1; + cell_size = Vector3(2, 2, 2); octant_size = 8; awaiting_update = false; diff --git a/modules/gridmap/grid_map.h b/modules/gridmap/grid_map.h index 241ac7a434..7b97fe3183 100644 --- a/modules/gridmap/grid_map.h +++ b/modules/gridmap/grid_map.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -136,6 +136,9 @@ class GridMap : public Spatial { OctantKey() { key = 0; } }; + uint32_t collision_layer; + uint32_t collision_mask; + Transform last_transform; bool _in_tree; @@ -173,6 +176,7 @@ class GridMap : public Spatial { return Vector3(p_key.x, p_key.y, p_key.z) * cell_size * octant_size; } + void _reset_physic_bodies_collision_filters(); void _octant_enter_world(const OctantKey &p_key); void _octant_exit_world(const OctantKey &p_key); bool _octant_update(const OctantKey &p_key); @@ -210,6 +214,18 @@ public: INVALID_CELL_ITEM = -1 }; + void set_collision_layer(uint32_t p_layer); + uint32_t get_collision_layer() const; + + void set_collision_mask(uint32_t p_mask); + uint32_t get_collision_mask() const; + + void set_collision_layer_bit(int p_bit, bool p_value); + bool get_collision_layer_bit(int p_bit) const; + + void set_collision_mask_bit(int p_bit, bool p_value); + bool get_collision_mask_bit(int p_bit) const; + void set_theme(const Ref<MeshLibrary> &p_theme); Ref<MeshLibrary> get_theme() const; diff --git a/modules/gridmap/grid_map_editor_plugin.cpp b/modules/gridmap/grid_map_editor_plugin.cpp index 3a5d0fd3fc..dc7dbb0b0d 100644 --- a/modules/gridmap/grid_map_editor_plugin.cpp +++ b/modules/gridmap/grid_map_editor_plugin.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gridmap/grid_map_editor_plugin.h b/modules/gridmap/grid_map_editor_plugin.h index ecbfbf2d65..a49b44e7a2 100644 --- a/modules/gridmap/grid_map_editor_plugin.h +++ b/modules/gridmap/grid_map_editor_plugin.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gridmap/register_types.cpp b/modules/gridmap/register_types.cpp index e2f6b57c04..23a8d16497 100644 --- a/modules/gridmap/register_types.cpp +++ b/modules/gridmap/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/gridmap/register_types.h b/modules/gridmap/register_types.h index c50f89155f..0e19f1ce8d 100644 --- a/modules/gridmap/register_types.h +++ b/modules/gridmap/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/hdr/image_loader_hdr.cpp b/modules/hdr/image_loader_hdr.cpp index 08ac624504..2b829ef246 100644 --- a/modules/hdr/image_loader_hdr.cpp +++ b/modules/hdr/image_loader_hdr.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/hdr/image_loader_hdr.h b/modules/hdr/image_loader_hdr.h index 569978d28d..4d4edc4df7 100644 --- a/modules/hdr/image_loader_hdr.h +++ b/modules/hdr/image_loader_hdr.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/hdr/register_types.cpp b/modules/hdr/register_types.cpp index 808b168432..469fdfc85e 100644 --- a/modules/hdr/register_types.cpp +++ b/modules/hdr/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/hdr/register_types.h b/modules/hdr/register_types.h index e453192d9c..b3f69405f2 100644 --- a/modules/hdr/register_types.h +++ b/modules/hdr/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/jpg/image_loader_jpegd.cpp b/modules/jpg/image_loader_jpegd.cpp index 57ec074bbb..b90d968753 100644 --- a/modules/jpg/image_loader_jpegd.cpp +++ b/modules/jpg/image_loader_jpegd.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/jpg/image_loader_jpegd.h b/modules/jpg/image_loader_jpegd.h index 6a2f042412..b4bcb11239 100644 --- a/modules/jpg/image_loader_jpegd.h +++ b/modules/jpg/image_loader_jpegd.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/jpg/register_types.cpp b/modules/jpg/register_types.cpp index 85dee90eb0..809c934be4 100644 --- a/modules/jpg/register_types.cpp +++ b/modules/jpg/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/jpg/register_types.h b/modules/jpg/register_types.h index 3d912a4398..d38fb908d3 100644 --- a/modules/jpg/register_types.h +++ b/modules/jpg/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mobile_vr/mobile_interface.cpp b/modules/mobile_vr/mobile_interface.cpp index 35253d5a77..4e8894f9fb 100644 --- a/modules/mobile_vr/mobile_interface.cpp +++ b/modules/mobile_vr/mobile_interface.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mobile_vr/mobile_interface.h b/modules/mobile_vr/mobile_interface.h index b652edc1c6..4a2484667d 100644 --- a/modules/mobile_vr/mobile_interface.h +++ b/modules/mobile_vr/mobile_interface.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mobile_vr/register_types.cpp b/modules/mobile_vr/register_types.cpp index f742ecbf00..6a513607fa 100644 --- a/modules/mobile_vr/register_types.cpp +++ b/modules/mobile_vr/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mobile_vr/register_types.h b/modules/mobile_vr/register_types.h index a492fff397..d9625d1bba 100644 --- a/modules/mobile_vr/register_types.h +++ b/modules/mobile_vr/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp index af5a0334c3..f95a3dab2d 100644 --- a/modules/mono/csharp_script.cpp +++ b/modules/mono/csharp_script.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -122,6 +122,16 @@ void CSharpLanguage::init() { void CSharpLanguage::finish() { + finalizing = true; + +#ifdef TOOLS_ENABLED + // Must be here, to avoid StringName leaks + if (BindingsGenerator::singleton) { + memdelete(BindingsGenerator::singleton); + BindingsGenerator::singleton = NULL; + } +#endif + // Release gchandle bindings before finalizing mono runtime gchandle_bindings.clear(); @@ -129,6 +139,8 @@ void CSharpLanguage::finish() { memdelete(gdmono); gdmono = NULL; } + + finalizing = false; } void CSharpLanguage::get_reserved_words(List<String> *p_words) const { @@ -742,6 +754,8 @@ CSharpLanguage::CSharpLanguage() { ERR_FAIL_COND(singleton); singleton = this; + finalizing = false; + gdmono = NULL; #ifdef NO_THREADS @@ -798,12 +812,9 @@ void *CSharpLanguage::alloc_instance_binding_data(Object *p_object) { ERR_FAIL_NULL_V(mono_object, NULL); // Tie managed to unmanaged - bool strong_handle = true; Reference *ref = Object::cast_to<Reference>(p_object); if (ref) { - strong_handle = false; - // Unsafe refcount increment. The managed instance also counts as a reference. // This way if the unmanaged world has no references to our owner // but the managed instance is alive, the refcount will be 1 instead of 0. @@ -812,8 +823,7 @@ void *CSharpLanguage::alloc_instance_binding_data(Object *p_object) { ref->reference(); } - Ref<MonoGCHandle> gchandle = strong_handle ? MonoGCHandle::create_strong(mono_object) : - MonoGCHandle::create_weak(mono_object); + Ref<MonoGCHandle> gchandle = MonoGCHandle::create_strong(mono_object); #ifndef NO_THREADS script_bind_lock->lock(); @@ -838,27 +848,38 @@ void CSharpLanguage::free_instance_binding_data(void *p_data) { return; } + if (finalizing) + return; // inside CSharpLanguage::finish(), all the gchandle bindings are released there + #ifndef NO_THREADS script_bind_lock->lock(); #endif - gchandle_bindings.erase((Map<Object *, Ref<MonoGCHandle> >::Element *)p_data); + Map<Object *, Ref<MonoGCHandle> >::Element *data = (Map<Object *, Ref<MonoGCHandle> >::Element *)p_data; + + // Set the native instance field to IntPtr.Zero, if not yet garbage collected + MonoObject *mono_object = data->value()->get_target(); + if (mono_object) { + CACHED_FIELD(GodotObject, ptr)->set_value_raw(mono_object, NULL); + } + + gchandle_bindings.erase(data); #ifndef NO_THREADS script_bind_lock->unlock(); #endif } -void CSharpInstance::_ml_call_reversed(GDMonoClass *klass, const StringName &p_method, const Variant **p_args, int p_argcount) { +void CSharpInstance::_ml_call_reversed(MonoObject *p_mono_object, GDMonoClass *p_klass, const StringName &p_method, const Variant **p_args, int p_argcount) { - GDMonoClass *base = klass->get_parent_class(); + GDMonoClass *base = p_klass->get_parent_class(); if (base && base != script->native) - _ml_call_reversed(base, p_method, p_args, p_argcount); + _ml_call_reversed(p_mono_object, base, p_method, p_args, p_argcount); - GDMonoMethod *method = klass->get_method(p_method, p_argcount); + GDMonoMethod *method = p_klass->get_method(p_method, p_argcount); if (method) { - method->invoke(get_mono_object(), p_args); + method->invoke(p_mono_object, p_args); } } @@ -1020,7 +1041,6 @@ Variant CSharpInstance::call(const StringName &p_method, const Variant **p_args, MonoObject *mono_object = get_mono_object(); - ERR_EXPLAIN("Reference has been garbage collected?"); ERR_FAIL_NULL_V(mono_object, Variant()); if (!script.is_valid()) @@ -1054,23 +1074,34 @@ void CSharpInstance::call_multilevel(const StringName &p_method, const Variant * if (script.is_valid()) { MonoObject *mono_object = get_mono_object(); - GDMonoClass *top = script->script_class; + ERR_FAIL_NULL(mono_object); - while (top && top != script->native) { - GDMonoMethod *method = top->get_method(p_method, p_argcount); + _call_multilevel(mono_object, p_method, p_args, p_argcount); + } +} - if (method) - method->invoke(mono_object, p_args); +void CSharpInstance::_call_multilevel(MonoObject *p_mono_object, const StringName &p_method, const Variant **p_args, int p_argcount) { - top = top->get_parent_class(); - } + GDMonoClass *top = script->script_class; + + while (top && top != script->native) { + GDMonoMethod *method = top->get_method(p_method, p_argcount); + + if (method) + method->invoke(p_mono_object, p_args); + + top = top->get_parent_class(); } } void CSharpInstance::call_multilevel_reversed(const StringName &p_method, const Variant **p_args, int p_argcount) { if (script.is_valid()) { - _ml_call_reversed(script->script_class, p_method, p_args, p_argcount); + MonoObject *mono_object = get_mono_object(); + + ERR_FAIL_NULL(mono_object); + + _ml_call_reversed(mono_object, script->script_class, p_method, p_args, p_argcount); } } @@ -1118,7 +1149,7 @@ void CSharpInstance::refcount_incremented() { Reference *ref_owner = Object::cast_to<Reference>(owner); - if (ref_owner->reference_get_count() > 1) { // Remember the managed side holds a reference, hence 1 instead of 0 here + if (ref_owner->reference_get_count() > 1) { // The managed side also holds a reference, hence 1 instead of 0 // The reference count was increased after the managed side was the only one referencing our owner. // This means the owner is being referenced again by the unmanaged side, // so the owner must hold the managed side alive again to avoid it from being GCed. @@ -1138,7 +1169,7 @@ bool CSharpInstance::refcount_decremented() { int refcount = ref_owner->reference_get_count(); - if (refcount == 1) { // Remember the managed side holds a reference, hence 1 instead of 0 here + if (refcount == 1) { // The managed side also holds a reference, hence 1 instead of 0 // If owner owner is no longer referenced by the unmanaged side, // the managed instance takes responsibility of deleting the owner when GCed. @@ -1207,10 +1238,25 @@ ScriptInstance::RPCMode CSharpInstance::get_rset_mode(const StringName &p_variab void CSharpInstance::notification(int p_notification) { + MonoObject *mono_object = get_mono_object(); + + if (p_notification == Object::NOTIFICATION_PREDELETE) { + if (mono_object != NULL) { // otherwise it was collected, and the finalizer already called NOTIFICATION_PREDELETE + call_notification_no_check(mono_object, p_notification); + // Set the native instance field to IntPtr.Zero + CACHED_FIELD(GodotObject, ptr)->set_value_raw(mono_object, NULL); + } + return; + } + + call_notification_no_check(mono_object, p_notification); +} + +void CSharpInstance::call_notification_no_check(MonoObject *p_mono_object, int p_notification) { Variant value = p_notification; const Variant *args[1] = { &value }; - call_multilevel(CACHED_STRING_NAME(_notification), args, 1); + _call_multilevel(p_mono_object, CACHED_STRING_NAME(_notification), args, 1); } Ref<Script> CSharpInstance::get_script() const { @@ -1376,7 +1422,7 @@ bool CSharpScript::_update_exports() { hint_string = NATIVE_GDMONOCLASS_NAME(field_type.type_class); } else { hint = PropertyHint(CACHED_FIELD(ExportAttribute, hint)->get_int_value(attr)); - hint_string = CACHED_FIELD(ExportAttribute, hint_string)->get_string_value(attr); + hint_string = CACHED_FIELD(ExportAttribute, hintString)->get_string_value(attr); } PropertyInfo prop_info = PropertyInfo(type, name, hint, hint_string, PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_SCRIPT_VARIABLE); diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h index 255665b495..27e68a7a56 100644 --- a/modules/mono/csharp_script.h +++ b/modules/mono/csharp_script.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -167,7 +167,7 @@ class CSharpInstance : public ScriptInstance { bool base_ref; bool ref_dying; - void _ml_call_reversed(GDMonoClass *klass, const StringName &p_method, const Variant **p_args, int p_argcount); + void _ml_call_reversed(MonoObject *p_mono_object, GDMonoClass *klass, const StringName &p_method, const Variant **p_args, int p_argcount); void _reference_owner_unsafe(); void _unreference_owner_unsafe(); @@ -176,6 +176,8 @@ class CSharpInstance : public ScriptInstance { friend void GDMonoInternals::tie_managed_to_unmanaged(MonoObject *, Object *); static CSharpInstance *create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref<MonoGCHandle> &p_gchandle); + void _call_multilevel(MonoObject *p_mono_object, const StringName &p_method, const Variant **p_args, int p_argcount); + public: MonoObject *get_mono_object() const; @@ -192,13 +194,14 @@ public: void mono_object_disposed(); - void refcount_incremented(); - bool refcount_decremented(); + virtual void refcount_incremented(); + virtual bool refcount_decremented(); - RPCMode get_rpc_mode(const StringName &p_method) const; - RPCMode get_rset_mode(const StringName &p_variable) const; + virtual RPCMode get_rpc_mode(const StringName &p_method) const; + virtual RPCMode get_rset_mode(const StringName &p_variable) const; virtual void notification(int p_notification); + void call_notification_no_check(MonoObject *p_mono_object, int p_notification); virtual Ref<Script> get_script() const; @@ -215,6 +218,8 @@ class CSharpLanguage : public ScriptLanguage { static CSharpLanguage *singleton; + bool finalizing; + GDMono *gdmono; SelfList<CSharpScript>::List script_list; diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp index fbb9b2ed14..0e41e00f30 100644 --- a/modules/mono/editor/bindings_generator.cpp +++ b/modules/mono/editor/bindings_generator.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -108,7 +108,9 @@ const char *BindingsGenerator::TypeInterface::DEFAULT_VARARG_C_IN = "\t%0 %1_in bool BindingsGenerator::verbose_output = false; -static String snake_to_pascal_case(const String &p_identifier) { +BindingsGenerator *BindingsGenerator::singleton = NULL; + +static String snake_to_pascal_case(const String &p_identifier, bool p_input_is_upper = false) { String ret; Vector<String> parts = p_identifier.split("_", true); @@ -118,6 +120,10 @@ static String snake_to_pascal_case(const String &p_identifier) { if (part.length()) { part[0] = _find_upper(part[0]); + if (p_input_is_upper) { + for (int j = 1; j < part.length(); j++) + part[j] = _find_lower(part[j]); + } ret += part; } else { if (i == 0 || i == (parts.size() - 1)) { @@ -137,7 +143,7 @@ static String snake_to_pascal_case(const String &p_identifier) { return ret; } -static String snake_to_camel_case(const String &p_identifier) { +static String snake_to_camel_case(const String &p_identifier, bool p_input_is_upper = false) { String ret; Vector<String> parts = p_identifier.split("_", true); @@ -146,8 +152,13 @@ static String snake_to_camel_case(const String &p_identifier) { String part = parts[i]; if (part.length()) { - if (i != 0) + if (i != 0) { part[0] = _find_upper(part[0]); + } + if (p_input_is_upper) { + for (int j = i != 0 ? 1 : 0; j < part.length(); j++) + part[j] = _find_lower(part[j]); + } ret += part; } else { if (i == 0 || i == (parts.size() - 1)) { @@ -167,12 +178,31 @@ static String snake_to_camel_case(const String &p_identifier) { return ret; } +String BindingsGenerator::_determine_enum_prefix(const EnumInterface &p_ienum) { + + CRASH_COND(p_ienum.constants.empty()); + + const List<ConstantInterface>::Element *front = p_ienum.constants.front(); + int candidate_len = front->get().name.length(); + + for (const List<ConstantInterface>::Element *E = front->next(); E; E = E->next()) { + int j = 0; + for (j = 0; j < candidate_len && j < E->get().name.length(); j++) { + if (front->get().name[j] != E->get().name[j]) + break; + } + candidate_len = j; + } + + return front->get().name.substr(0, candidate_len); +} + void BindingsGenerator::_generate_header_icalls() { core_custom_icalls.clear(); core_custom_icalls.push_back(InternalCall(ICALL_GET_METHODBIND, "IntPtr", "string type, string method")); - core_custom_icalls.push_back(InternalCall(ICALL_OBJECT_DTOR, "void", "IntPtr ptr")); + core_custom_icalls.push_back(InternalCall(ICALL_OBJECT_DTOR, "void", "object obj, IntPtr ptr")); core_custom_icalls.push_back(InternalCall(ICALL_CONNECT_SIGNAL_AWAITER, "Error", "IntPtr source, string signal, IntPtr target, " CS_CLASS_SIGNALAWAITER " awaiter")); @@ -220,7 +250,7 @@ void BindingsGenerator::_generate_method_icalls(const TypeInterface &p_itype) { const TypeInterface *return_type = _get_type_by_name_or_placeholder(imethod.return_type); String im_sig = "IntPtr " CS_PARAM_METHODBIND ", IntPtr " CS_PARAM_INSTANCE; - String im_unique_sig = imethod.return_type + ",IntPtr,IntPtr"; + String im_unique_sig = imethod.return_type.operator String() + ",IntPtr,IntPtr"; // Get arguments information int i = 0; @@ -256,6 +286,129 @@ void BindingsGenerator::_generate_method_icalls(const TypeInterface &p_itype) { } } +void BindingsGenerator::_generate_global_constants(List<String> &p_output) { + + // Constants (in partial GD class) + + p_output.push_back("namespace " BINDINGS_NAMESPACE "\n" OPEN_BLOCK); + p_output.push_back(INDENT1 "public static partial class " BINDINGS_GLOBAL_SCOPE_CLASS "\n" INDENT1 "{"); + + for (const List<ConstantInterface>::Element *E = global_constants.front(); E; E = E->next()) { + const ConstantInterface &iconstant = E->get(); + + if (iconstant.const_doc && iconstant.const_doc->description.size()) { + p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); + + Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + + for (int i = 0; i < description_lines.size(); i++) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { + p_output.push_back(INDENT2 "/// "); + p_output.push_back(description_line.xml_escape()); + p_output.push_back("\n"); + } + } + + p_output.push_back(INDENT2 "/// </summary>"); + } + + p_output.push_back(MEMBER_BEGIN "public const int "); + p_output.push_back(iconstant.name); + p_output.push_back(" = "); + p_output.push_back(itos(iconstant.value)); + p_output.push_back(";"); + } + + if (!global_constants.empty()) + p_output.push_back("\n"); + + p_output.push_back(INDENT1 CLOSE_BLOCK); // end of GD class + + // Enums + + for (List<EnumInterface>::Element *E = global_enums.front(); E; E = E->next()) { + const EnumInterface &ienum = E->get(); + + CRASH_COND(ienum.constants.empty()); + + String enum_proxy_name = ienum.cname.operator String(); + + bool enum_in_static_class = false; + + if (enum_proxy_name.find(".") > 0) { + enum_in_static_class = true; + String enum_class_name = enum_proxy_name.get_slicec('.', 0); + enum_proxy_name = enum_proxy_name.get_slicec('.', 1); + + CRASH_COND(enum_class_name != "Variant"); // Hard-coded... + + if (verbose_output) { + WARN_PRINTS("Declaring global enum `" + enum_proxy_name + "` inside static class `" + enum_class_name + "`"); + } + + p_output.push_back("\n" INDENT1 "public static partial class "); + p_output.push_back(enum_class_name); + p_output.push_back("\n" INDENT1 OPEN_BLOCK); + } + + p_output.push_back("\n" INDENT1 "public enum "); + p_output.push_back(enum_proxy_name); + p_output.push_back("\n" INDENT1 OPEN_BLOCK); + + for (const List<ConstantInterface>::Element *E = ienum.constants.front(); E; E = E->next()) { + const ConstantInterface &iconstant = E->get(); + + if (iconstant.const_doc && iconstant.const_doc->description.size()) { + p_output.push_back(INDENT2 "/// <summary>\n"); + + Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + + for (int i = 0; i < description_lines.size(); i++) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { + p_output.push_back(INDENT2 "/// "); + p_output.push_back(description_line.xml_escape()); + p_output.push_back("\n"); + } + } + + p_output.push_back(INDENT2 "/// </summary>\n"); + } + + String constant_name = iconstant.name; + + if (!ienum.prefix.empty() && constant_name.begins_with(ienum.prefix)) { + constant_name = constant_name.substr(ienum.prefix.length(), constant_name.length()); + } + + if (constant_name[0] >= '0' && constant_name[0] <= '9') { + // The name of enum constants may begin with a numeric digit when strip from the enum prefix, + // so we make the prefix one word shorter in those cases. + int i = 0; + for (i = ienum.prefix.length() - 1; i >= 0; i--) { + if (ienum.prefix[i] >= 'A' && ienum.prefix[i] <= 'Z') + break; + } + constant_name = ienum.prefix.substr(i, ienum.prefix.length()) + constant_name; + } + + p_output.push_back(INDENT2); + p_output.push_back(constant_name); + p_output.push_back(" = "); + p_output.push_back(itos(iconstant.value)); + p_output.push_back(E != ienum.constants.back() ? ",\n" : "\n"); + } + + p_output.push_back(INDENT1 CLOSE_BLOCK); + + if (enum_in_static_class) + p_output.push_back(INDENT1 CLOSE_BLOCK); + } + + p_output.push_back(CLOSE_BLOCK); // end of namespace +} + Error BindingsGenerator::generate_cs_core_project(const String &p_output_dir, bool p_verbose_output) { verbose_output = p_verbose_output; @@ -282,7 +435,19 @@ Error BindingsGenerator::generate_cs_core_project(const String &p_output_dir, bo if (!solution.set_path(p_output_dir)) return ERR_FILE_NOT_FOUND; - for (Map<String, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) { + // Generate source file for global scope constants and enums + { + List<String> constants_source; + _generate_global_constants(constants_source); + String output_file = path_join(core_dir, BINDINGS_GLOBAL_SCOPE_CLASS "_constants.cs"); + Error save_err = _save_file(output_file, constants_source); + if (save_err != OK) + return save_err; + + compile_items.push_back(output_file); + } + + for (Map<StringName, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) { const TypeInterface &itype = E->get(); if (itype.api_type == ClassDB::API_EDITOR) @@ -314,49 +479,6 @@ Error BindingsGenerator::generate_cs_core_project(const String &p_output_dir, bo #undef GENERATE_BUILTIN_TYPE - // Generate source for GlobalConstants - - String constants_source; - int global_constants_count = GlobalConstants::get_global_constant_count(); - - if (global_constants_count > 0) { - Map<String, DocData::ClassDoc>::Element *match = EditorHelp::get_doc_data()->class_list.find("@GlobalScope"); - - ERR_EXPLAIN("Could not find `@GlobalScope` in DocData"); - ERR_FAIL_COND_V(!match, ERR_BUG); - - const DocData::ClassDoc &global_scope_doc = match->value(); - - for (int i = 0; i < global_constants_count; i++) { - const DocData::ConstantDoc &const_doc = global_scope_doc.constants[i]; - - if (i > 0) - constants_source += MEMBER_BEGIN; - - if (const_doc.description.size()) { - constants_source += "/// <summary>\n"; - - Vector<String> description_lines = const_doc.description.split("\n"); - - for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { - constants_source += INDENT2 "/// "; - constants_source += description_lines[i].strip_edges().xml_escape(); - constants_source += "\n"; - } - } - - constants_source += INDENT2 "/// </summary>" MEMBER_BEGIN; - } - - constants_source += "public const int "; - constants_source += GlobalConstants::get_global_constant_name(i); - constants_source += " = "; - constants_source += itos(GlobalConstants::get_global_constant_value(i)); - constants_source += ";"; - } - } - // Generate sources from compressed files Map<String, CompressedFile> compressed_files; @@ -372,19 +494,6 @@ Error BindingsGenerator::generate_cs_core_project(const String &p_output_dir, bo data.resize(file_data.uncompressed_size); Compression::decompress(data.ptrw(), file_data.uncompressed_size, file_data.data, file_data.compressed_size, Compression::MODE_DEFLATE); - if (file_name.get_basename() == BINDINGS_GLOBAL_SCOPE_CLASS) { - // GD.cs must be formatted to include the generated global constants - String data_str = String::utf8(reinterpret_cast<const char *>(data.ptr()), data.size()); - - Dictionary format_keys; - format_keys["GodotGlobalConstants"] = constants_source; - data_str = data_str.format(format_keys, "/*{_}*/"); - - CharString data_utf8 = data_str.utf8(); - data.resize(data_utf8.length()); - copymem(data.ptrw(), reinterpret_cast<const uint8_t *>(data_utf8.get_data()), data_utf8.length()); - } - FileAccessRef file = FileAccess::open(output_file, FileAccess::WRITE); ERR_FAIL_COND_V(!file, ERR_FILE_CANT_WRITE); file->store_buffer(data.ptr(), data.size()); @@ -470,7 +579,7 @@ Error BindingsGenerator::generate_cs_editor_project(const String &p_output_dir, if (!solution.set_path(p_output_dir)) return ERR_FILE_NOT_FOUND; - for (Map<String, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) { + for (Map<StringName, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) { const TypeInterface &itype = E->get(); if (itype.api_type != ClassDB::API_EDITOR) @@ -543,7 +652,7 @@ Error BindingsGenerator::generate_cs_editor_project(const String &p_output_dir, // e.g.: warning CS0108: 'SpriteBase3D.FLAG_MAX' hides inherited member 'GeometryInstance.FLAG_MAX'. Use the new keyword if hiding was intended. Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const String &p_output_file) { - bool is_derived_type = itype.base_name.length(); + bool is_derived_type = itype.base_name != StringName(); List<InternalCall> &custom_icalls = itype.api_type == ClassDB::API_EDITOR ? editor_custom_icalls : core_custom_icalls; @@ -569,9 +678,10 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str Vector<String> description_lines = class_doc->description.split("\n"); for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { output.push_back(INDENT1 "/// "); - output.push_back(description_lines[i].strip_edges().xml_escape()); + output.push_back(description_line.xml_escape()); output.push_back("\n"); } } @@ -592,7 +702,7 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str output.push_back(obj_types[itype.base_name].proxy_name); output.push_back("\n"); } else { - ERR_PRINTS("Base type '" + itype.base_name + "' does not exist, for class " + itype.name); + ERR_PRINTS("Base type '" + itype.base_name.operator String() + "' does not exist, for class " + itype.name); return ERR_INVALID_DATA; } @@ -602,18 +712,19 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str // Add constants - for (int i = 0; i < class_doc->constants.size(); i++) { - const DocData::ConstantDoc &const_doc = class_doc->constants[i]; + for (const List<ConstantInterface>::Element *E = itype.constants.front(); E; E = E->next()) { + const ConstantInterface &iconstant = E->get(); - if (const_doc.description.size()) { + if (iconstant.const_doc && iconstant.const_doc->description.size()) { output.push_back(MEMBER_BEGIN "/// <summary>\n"); - Vector<String> description_lines = const_doc.description.split("\n"); + Vector<String> description_lines = iconstant.const_doc->description.split("\n"); for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { output.push_back(INDENT2 "/// "); - output.push_back(description_lines[i].strip_edges().xml_escape()); + output.push_back(description_line.xml_escape()); output.push_back("\n"); } } @@ -622,24 +733,84 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str } output.push_back(MEMBER_BEGIN "public const int "); - output.push_back(const_doc.name); + output.push_back(iconstant.name); output.push_back(" = "); - output.push_back(const_doc.value); + output.push_back(itos(iconstant.value)); output.push_back(";"); } - if (class_doc->constants.size()) + if (itype.constants.size()) output.push_back("\n"); - // Add properties + // Add enums - const Vector<DocData::PropertyDoc> &properties = class_doc->properties; + for (const List<EnumInterface>::Element *E = itype.enums.front(); E; E = E->next()) { + const EnumInterface &ienum = E->get(); + + ERR_FAIL_COND_V(ienum.constants.empty(), ERR_BUG); + + output.push_back(MEMBER_BEGIN "public enum "); + output.push_back(ienum.cname.operator String()); + output.push_back(MEMBER_BEGIN OPEN_BLOCK); + + for (const List<ConstantInterface>::Element *E = ienum.constants.front(); E; E = E->next()) { + const ConstantInterface &iconstant = E->get(); + + if (iconstant.const_doc && iconstant.const_doc->description.size()) { + output.push_back(INDENT3 "/// <summary>\n"); + + Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + + for (int i = 0; i < description_lines.size(); i++) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { + output.push_back(INDENT3 "/// "); + output.push_back(description_line.xml_escape()); + output.push_back("\n"); + } + } - for (int i = 0; i < properties.size(); i++) { - const DocData::PropertyDoc &prop_doc = properties[i]; - Error prop_err = _generate_cs_property(itype, prop_doc, output); + output.push_back(INDENT3 "/// </summary>\n"); + } + + String constant_name = iconstant.name; + + if (!ienum.prefix.empty() && constant_name.begins_with(ienum.prefix)) { + constant_name = constant_name.substr(ienum.prefix.length(), constant_name.length()); + } + + if (constant_name[0] >= '0' && constant_name[0] <= '9') { + // The name of enum constants may begin with a numeric digit when strip from the enum prefix, + // so we make the prefix one word shorter in those cases. + int i = 0; + for (i = ienum.prefix.length() - 1; i >= 0; i--) { + if (ienum.prefix[i] >= 'A' && ienum.prefix[i] <= 'Z') + break; + } + constant_name = ienum.prefix.substr(i, ienum.prefix.length()) + constant_name; + } + + output.push_back(INDENT3); + output.push_back(constant_name); + output.push_back(" = "); + output.push_back(itos(iconstant.value)); + output.push_back(E != ienum.constants.back() ? ",\n" : "\n"); + } + + output.push_back(INDENT2 CLOSE_BLOCK); + } + + if (itype.enums.size()) + output.push_back("\n"); + + // Add properties + + for (const List<PropertyInterface>::Element *E = itype.properties.front(); E; E = E->next()) { + const PropertyInterface &iprop = E->get(); + Error prop_err = _generate_cs_property(itype, iprop, output); if (prop_err != OK) { - ERR_EXPLAIN("Failed to generate property '" + prop_doc.name + "' for class '" + itype.name + "'"); + ERR_EXPLAIN("Failed to generate property '" + iprop.cname.operator String() + + "' for class '" + itype.name + "'"); ERR_FAIL_V(prop_err); } } @@ -762,18 +933,18 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str "if (" BINDINGS_PTR_FIELD " != IntPtr.Zero)\n" OPEN_BLOCK_L3 "if (" CS_FIELD_MEMORYOWN ")\n" OPEN_BLOCK_L4 CS_FIELD_MEMORYOWN " = false;\n" INDENT5 CS_CLASS_NATIVECALLS "." ICALL_OBJECT_DTOR - "(" BINDINGS_PTR_FIELD ");\n" INDENT5 BINDINGS_PTR_FIELD - " = IntPtr.Zero;\n" CLOSE_BLOCK_L4 CLOSE_BLOCK_L3 INDENT3 + "(this, " BINDINGS_PTR_FIELD ");\n" CLOSE_BLOCK_L4 CLOSE_BLOCK_L3 INDENT3 + "this." BINDINGS_PTR_FIELD " = IntPtr.Zero;\n" INDENT3 "GC.SuppressFinalize(this);\n" INDENT3 "disposed = true;\n" CLOSE_BLOCK_L2); - Map<String, TypeInterface>::Element *array_itype = builtin_types.find("Array"); + Map<StringName, TypeInterface>::Element *array_itype = builtin_types.find(name_cache.type_Array); if (!array_itype) { ERR_PRINT("BUG: Array type interface not found!"); return ERR_BUG; } - Map<String, TypeInterface>::Element *object_itype = obj_types.find("Object"); + Map<StringName, TypeInterface>::Element *object_itype = obj_types.find("Object"); if (!object_itype) { ERR_PRINT("BUG: Object type interface not found!"); @@ -787,7 +958,7 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str } } - Map<String, String>::Element *extra_member = extra_members.find(itype.name); + Map<StringName, String>::Element *extra_member = extra_members.find(itype.cname); if (extra_member) output.push_back(extra_member->get()); @@ -820,43 +991,39 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str return _save_file(p_output_file, output); } -Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInterface &p_itype, const DocData::PropertyDoc &p_prop_doc, List<String> &p_output) { +Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInterface &p_itype, const PropertyInterface &p_iprop, List<String> &p_output) { - const MethodInterface *setter = p_itype.find_method_by_name(p_prop_doc.setter); + const MethodInterface *setter = p_itype.find_method_by_name(p_iprop.setter); // Search it in base types too const TypeInterface *current_type = &p_itype; - while (!setter && current_type->base_name.length()) { - Map<String, TypeInterface>::Element *base_match = obj_types.find(current_type->base_name); + while (!setter && current_type->base_name != StringName()) { + Map<StringName, TypeInterface>::Element *base_match = obj_types.find(current_type->base_name); ERR_FAIL_NULL_V(base_match, ERR_BUG); current_type = &base_match->get(); - setter = current_type->find_method_by_name(p_prop_doc.setter); + setter = current_type->find_method_by_name(p_iprop.setter); } - const MethodInterface *getter = p_itype.find_method_by_name(p_prop_doc.getter); + const MethodInterface *getter = p_itype.find_method_by_name(p_iprop.getter); // Search it in base types too current_type = &p_itype; - while (!getter && current_type->base_name.length()) { - Map<String, TypeInterface>::Element *base_match = obj_types.find(current_type->base_name); + while (!getter && current_type->base_name != StringName()) { + Map<StringName, TypeInterface>::Element *base_match = obj_types.find(current_type->base_name); ERR_FAIL_NULL_V(base_match, ERR_BUG); current_type = &base_match->get(); - getter = current_type->find_method_by_name(p_prop_doc.getter); + getter = current_type->find_method_by_name(p_iprop.getter); } ERR_FAIL_COND_V(!setter && !getter, ERR_BUG); - bool is_valid = false; - int prop_index = ClassDB::get_property_index(p_itype.name, p_prop_doc.name, &is_valid); - ERR_FAIL_COND_V(!is_valid, ERR_BUG); - if (setter) { - int setter_argc = prop_index != -1 ? 2 : 1; + int setter_argc = p_iprop.index != -1 ? 2 : 1; ERR_FAIL_COND_V(setter->arguments.size() != setter_argc, ERR_BUG); } if (getter) { - int getter_argc = prop_index != -1 ? 1 : 0; + int getter_argc = p_iprop.index != -1 ? 1 : 0; ERR_FAIL_COND_V(getter->arguments.size() != getter_argc, ERR_BUG); } @@ -864,18 +1031,12 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte ERR_FAIL_COND_V(getter->return_type != setter->arguments.back()->get().type, ERR_BUG); } - // Let's not trust PropertyDoc::type - String proptype_name = getter ? getter->return_type : setter->arguments.back()->get().type; + StringName proptype_name = getter ? getter->return_type : setter->arguments.back()->get().type; const TypeInterface *prop_itype = _get_type_by_name_or_null(proptype_name); - if (!prop_itype) { - // Try with underscore prefix - prop_itype = _get_type_by_name_or_null("_" + proptype_name); - } - - ERR_FAIL_NULL_V(prop_itype, ERR_BUG); + ERR_FAIL_NULL_V(prop_itype, ERR_BUG); // Property type not found - String prop_proxy_name = escape_csharp_keyword(snake_to_pascal_case(p_prop_doc.name)); + String prop_proxy_name = escape_csharp_keyword(snake_to_pascal_case(p_iprop.cname)); // Prevent property and enclosing type from sharing the same name if (prop_proxy_name == p_itype.proxy_name) { @@ -887,15 +1048,16 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte prop_proxy_name += "_"; } - if (p_prop_doc.description.size()) { + if (p_iprop.prop_doc && p_iprop.prop_doc->description.size()) { p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); - Vector<String> description_lines = p_prop_doc.description.split("\n"); + Vector<String> description_lines = p_iprop.prop_doc->description.split("\n"); for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { p_output.push_back(INDENT2 "/// "); - p_output.push_back(description_lines[i].strip_edges().xml_escape()); + p_output.push_back(description_line.xml_escape()); p_output.push_back("\n"); } } @@ -917,16 +1079,34 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte p_output.push_back(INDENT3 "get\n" OPEN_BLOCK_L3); p_output.push_back("return "); p_output.push_back(getter->proxy_name + "("); - if (prop_index != -1) - p_output.push_back(itos(prop_index)); + if (p_iprop.index != -1) { + const ArgumentInterface &idx_arg = getter->arguments.front()->get(); + if (idx_arg.type != name_cache.type_int) { + // Assume the index parameter is an enum + const TypeInterface *idx_arg_type = _get_type_by_name_or_null(idx_arg.type); + CRASH_COND(idx_arg_type == NULL); + p_output.push_back("(" + idx_arg_type->proxy_name + ")" + itos(p_iprop.index)); + } else { + p_output.push_back(itos(p_iprop.index)); + } + } p_output.push_back(");\n" CLOSE_BLOCK_L3); } if (setter) { p_output.push_back(INDENT3 "set\n" OPEN_BLOCK_L3); p_output.push_back(setter->proxy_name + "("); - if (prop_index != -1) - p_output.push_back(itos(prop_index) + ", "); + if (p_iprop.index != -1) { + const ArgumentInterface &idx_arg = setter->arguments.front()->get(); + if (idx_arg.type != name_cache.type_int) { + // Assume the index parameter is an enum + const TypeInterface *idx_arg_type = _get_type_by_name_or_null(idx_arg.type); + CRASH_COND(idx_arg_type == NULL); + p_output.push_back("(" + idx_arg_type->proxy_name + ")" + itos(p_iprop.index) + ", "); + } else { + p_output.push_back(itos(p_iprop.index) + ", "); + } + } p_output.push_back("value);\n" CLOSE_BLOCK_L3); } @@ -1033,9 +1213,10 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf Vector<String> description_lines = p_imethod.method_doc->description.split("\n"); for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { p_output.push_back(INDENT2 "/// "); - p_output.push_back(description_lines[i].strip_edges().xml_escape()); + p_output.push_back(description_line.xml_escape()); p_output.push_back("\n"); } } @@ -1069,7 +1250,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf if (p_imethod.is_virtual) { // Godot virtual method must be overridden, therefore we return a default value by default. - if (return_type->name == "void") { + if (return_type->cname == name_cache.type_void) { p_output.push_back("return;\n" CLOSE_BLOCK_L2); } else { p_output.push_back("return default("); @@ -1108,7 +1289,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf if (p_imethod.arguments.size()) p_output.push_back(cs_in_statements); - if (return_type->name == "void") { + if (return_type->cname == name_cache.type_void) { p_output.push_back(im_call); } else if (return_type->cs_out.empty()) { p_output.push_back("return " + im_call); @@ -1142,7 +1323,7 @@ Error BindingsGenerator::generate_glue(const String &p_output_dir) { generated_icall_funcs.clear(); - for (Map<String, TypeInterface>::Element *type_elem = obj_types.front(); type_elem; type_elem = type_elem->next()) { + for (Map<StringName, TypeInterface>::Element *type_elem = obj_types.front(); type_elem; type_elem = type_elem->next()) { const TypeInterface &itype = type_elem->get(); List<InternalCall> &custom_icalls = itype.api_type == ClassDB::API_EDITOR ? editor_custom_icalls : core_custom_icalls; @@ -1295,7 +1476,7 @@ Error BindingsGenerator::_generate_glue_method(const BindingsGenerator::TypeInte if (p_imethod.is_virtual) return OK; // Ignore - bool ret_void = p_imethod.return_type == "void"; + bool ret_void = p_imethod.return_type == name_cache.type_void; const TypeInterface *return_type = _get_type_by_name_or_placeholder(p_imethod.return_type); @@ -1447,14 +1628,19 @@ Error BindingsGenerator::_generate_glue_method(const BindingsGenerator::TypeInte return OK; } -const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_null(const String &p_name) { +const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_null(const StringName &p_cname) { + + const Map<StringName, TypeInterface>::Element *match = builtin_types.find(p_cname); + + if (match) + return &match->get(); - const Map<String, TypeInterface>::Element *match = builtin_types.find(p_name); + match = obj_types.find(p_cname); if (match) return &match->get(); - match = obj_types.find(p_name); + match = enum_types.find(p_cname); if (match) return &match->get(); @@ -1462,24 +1648,27 @@ const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_ return NULL; } -const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_placeholder(const String &p_name) { +const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_placeholder(const StringName &p_cname) { - const TypeInterface *found = _get_type_by_name_or_null(p_name); + const TypeInterface *found = _get_type_by_name_or_null(p_cname); if (found) return found; - ERR_PRINTS(String() + "Type not found. Creating placeholder: " + p_name); + ERR_PRINTS(String() + "Type not found. Creating placeholder: " + p_cname.operator String()); - const Map<String, TypeInterface>::Element *match = placeholder_types.find(p_name); + const Map<StringName, TypeInterface>::Element *match = placeholder_types.find(p_cname); if (match) return &match->get(); TypeInterface placeholder; - TypeInterface::create_placeholder_type(placeholder, p_name); + TypeInterface::create_placeholder_type(placeholder, p_cname); + + return &placeholder_types.insert(placeholder.cname, placeholder)->get(); +} - return &placeholder_types.insert(placeholder.name, placeholder)->get(); +static void _create_constant_interface_from(const StringName &p_constant, const DocData::ClassDoc &p_classdoc) { } void BindingsGenerator::_populate_object_type_interfaces() { @@ -1490,8 +1679,6 @@ void BindingsGenerator::_populate_object_type_interfaces() { ClassDB::get_class_list(&class_list); class_list.sort_custom<StringName::AlphCompare>(); - StringName refclass_name = String("Reference"); - while (class_list.size()) { StringName type_cname = class_list.front()->get(); @@ -1502,21 +1689,23 @@ void BindingsGenerator::_populate_object_type_interfaces() { continue; } + if (!ClassDB::is_class_exposed(type_cname)) { + if (verbose_output) + WARN_PRINTS("Ignoring type " + type_cname.operator String() + " because it's not exposed"); + class_list.pop_front(); + continue; + } + + ClassDB::ClassInfo *class_info = ClassDB::classes.getptr(type_cname); + TypeInterface itype = TypeInterface::create_object_type(type_cname, api_type); itype.base_name = ClassDB::get_parent_class(type_cname); itype.is_singleton = Engine::get_singleton()->has_singleton(itype.proxy_name); itype.is_instantiable = ClassDB::can_instance(type_cname) && !itype.is_singleton; - itype.is_reference = ClassDB::is_parent_class(type_cname, refclass_name); + itype.is_reference = ClassDB::is_parent_class(type_cname, name_cache.type_Reference); itype.memory_own = itype.is_reference; - if (!ClassDB::is_class_exposed(type_cname)) { - if (verbose_output) - WARN_PRINTS("Ignoring type " + String(type_cname) + " because it's not exposed"); - class_list.pop_front(); - continue; - } - itype.c_out = "\treturn "; itype.c_out += C_METHOD_UNMANAGED_GET_MANAGED; itype.c_out += itype.is_reference ? "(%1.ptr());\n" : "(%1);\n"; @@ -1530,6 +1719,53 @@ void BindingsGenerator::_populate_object_type_interfaces() { itype.im_type_in = "IntPtr"; itype.im_type_out = itype.proxy_name; + List<PropertyInfo> property_list; + ClassDB::get_property_list(type_cname, &property_list, true); + + // Populate properties + + for (const List<PropertyInfo>::Element *E = property_list.front(); E; E = E->next()) { + const PropertyInfo &property = E->get(); + + if (property.usage & PROPERTY_USAGE_GROUP || property.usage & PROPERTY_USAGE_CATEGORY) + continue; + + PropertyInterface iprop; + iprop.cname = property.name; + iprop.proxy_name = escape_csharp_keyword(snake_to_pascal_case(iprop.cname)); + iprop.setter = ClassDB::get_property_setter(type_cname, iprop.cname); + iprop.getter = ClassDB::get_property_getter(type_cname, iprop.cname); + + bool valid = false; + iprop.index = ClassDB::get_property_index(type_cname, iprop.cname, &valid); + ERR_FAIL_COND(!valid); + + // Prevent property and enclosing type from sharing the same name + if (iprop.proxy_name == itype.proxy_name) { + if (verbose_output) { + WARN_PRINTS("Name of property `" + iprop.proxy_name + "` is ambiguous with the name of its class `" + + itype.proxy_name + "`. Renaming property to `" + iprop.proxy_name + "_`"); + } + + iprop.proxy_name += "_"; + } + + iprop.prop_doc = NULL; + + for (int i = 0; i < itype.class_doc->properties.size(); i++) { + const DocData::PropertyDoc &prop_doc = itype.class_doc->properties[i]; + + if (prop_doc.name == iprop.cname) { + iprop.prop_doc = &prop_doc; + break; + } + } + + itype.properties.push_back(iprop); + } + + // Populate methods + List<MethodInfo> virtual_method_list; ClassDB::get_virtual_methods(type_cname, &virtual_method_list, true); @@ -1547,6 +1783,7 @@ void BindingsGenerator::_populate_object_type_interfaces() { MethodInterface imethod; imethod.name = method_info.name; + imethod.cname = imethod.name; if (method_info.flags & METHOD_FLAG_VIRTUAL) imethod.is_virtual = true; @@ -1570,12 +1807,12 @@ void BindingsGenerator::_populate_object_type_interfaces() { // The method Object.free is registered as a virtual method, but without the virtual flag. // This is because this method is not supposed to be overridden, but called. // We assume the return type is void. - imethod.return_type = "void"; + imethod.return_type = name_cache.type_void; // Actually, more methods like this may be added in the future, // which could actually will return something differnet. // Let's put this to notify us if that ever happens. - if (itype.name != "Object" || imethod.name != "free") { + if (itype.cname != name_cache.type_Object || imethod.name != "free") { if (verbose_output) { WARN_PRINTS("Notification: New unexpected virtual non-overridable method found.\n" "We only expected Object.free, but found " + @@ -1585,22 +1822,21 @@ void BindingsGenerator::_populate_object_type_interfaces() { } else { ERR_PRINTS("Missing MethodBind for non-virtual method: " + itype.name + "." + imethod.name); } - } else if (return_info.type == Variant::INT && return_info.usage & PROPERTY_USAGE_CLASS_IS_ENUM) { - //imethod.return_type = return_info.class_name; - imethod.return_type = "int"; + } else if (return_info.type == Variant::INT && return_info.usage & PROPERTY_USAGE_CLASS_IS_ENUM) { // TODO redundant? + imethod.return_type = return_info.class_name; } else if (return_info.class_name != StringName()) { imethod.return_type = return_info.class_name; } else if (return_info.hint == PROPERTY_HINT_RESOURCE_TYPE) { imethod.return_type = return_info.hint_string; } else if (return_info.type == Variant::NIL && return_info.usage & PROPERTY_USAGE_NIL_IS_VARIANT) { - imethod.return_type = "Variant"; + imethod.return_type = name_cache.type_Variant; } else if (return_info.type == Variant::NIL) { - imethod.return_type = "void"; + imethod.return_type = name_cache.type_void; } else { imethod.return_type = Variant::get_type_name(return_info.type); } - if (!itype.requires_collections && imethod.return_type == "Dictionary") + if (!itype.requires_collections && imethod.return_type == name_cache.type_Dictionary) itype.requires_collections = true; for (int i = 0; i < argc; i++) { @@ -1609,22 +1845,21 @@ void BindingsGenerator::_populate_object_type_interfaces() { ArgumentInterface iarg; iarg.name = arginfo.name; - if (arginfo.type == Variant::INT && arginfo.usage & PROPERTY_USAGE_CLASS_IS_ENUM) { - //iarg.type = arginfo.class_name; - iarg.type = "int"; + if (arginfo.type == Variant::INT && arginfo.usage & PROPERTY_USAGE_CLASS_IS_ENUM) { // TODO redundant? + iarg.type = arginfo.class_name; } else if (arginfo.class_name != StringName()) { iarg.type = arginfo.class_name; } else if (arginfo.hint == PROPERTY_HINT_RESOURCE_TYPE) { iarg.type = arginfo.hint_string; } else if (arginfo.type == Variant::NIL) { - iarg.type = "Variant"; + iarg.type = name_cache.type_Variant; } else { iarg.type = Variant::get_type_name(arginfo.type); } iarg.name = escape_csharp_keyword(snake_to_camel_case(iarg.name)); - if (!itype.requires_collections && iarg.type == "Dictionary") + if (!itype.requires_collections && iarg.type == name_cache.type_Dictionary) itype.requires_collections = true; if (m && m->has_default_argument(i)) { @@ -1636,7 +1871,7 @@ void BindingsGenerator::_populate_object_type_interfaces() { if (imethod.is_vararg) { ArgumentInterface ivararg; - ivararg.type = "VarArg"; + ivararg.type = name_cache.type_VarArg; ivararg.name = "@args"; imethod.add_argument(ivararg); } @@ -1663,12 +1898,10 @@ void BindingsGenerator::_populate_object_type_interfaces() { } if (!imethod.is_virtual && imethod.name[0] == '_') { - const Vector<DocData::PropertyDoc> &properties = itype.class_doc->properties; - - for (int i = 0; i < properties.size(); i++) { - const DocData::PropertyDoc &prop_doc = properties[i]; + for (const List<PropertyInterface>::Element *E = itype.properties.front(); E; E = E->next()) { + const PropertyInterface &iprop = E->get(); - if (prop_doc.getter == imethod.name || prop_doc.setter == imethod.name) { + if (iprop.setter == imethod.name || iprop.getter == imethod.name) { imethod.is_internal = true; itype.methods.push_back(imethod); break; @@ -1679,7 +1912,84 @@ void BindingsGenerator::_populate_object_type_interfaces() { } } - obj_types.insert(itype.name, itype); + // Populate enums and constants + + List<String> constant_list; + ClassDB::get_integer_constant_list(type_cname, &constant_list, true); + + const HashMap<StringName, List<StringName> > &enum_map = class_info->enum_map; + const StringName *k = NULL; + + while ((k = enum_map.next(k))) { + StringName enum_proxy_cname = *k; + String enum_proxy_name = enum_proxy_cname.operator String(); + if (itype.find_property_by_proxy_name(enum_proxy_cname)) { + // We have several conflicts between enums and PascalCase properties, + // so we append 'Enum' to the enum name in those cases. + enum_proxy_name += "Enum"; + enum_proxy_cname = StringName(enum_proxy_name); + } + EnumInterface ienum(enum_proxy_cname); + const List<StringName> &constants = enum_map.get(*k); + for (const List<StringName>::Element *E = constants.front(); E; E = E->next()) { + int *value = class_info->constant_map.getptr(E->get()); + ERR_FAIL_NULL(value); + constant_list.erase(E->get().operator String()); + + ConstantInterface iconstant(snake_to_pascal_case(E->get(), true), *value); + + iconstant.const_doc = NULL; + for (int i = 0; i < itype.class_doc->constants.size(); i++) { + const DocData::ConstantDoc &const_doc = itype.class_doc->constants[i]; + + if (const_doc.name == iconstant.name) { + iconstant.const_doc = &const_doc; + break; + } + } + + ienum.constants.push_back(iconstant); + } + + ienum.prefix = _determine_enum_prefix(ienum); + + itype.enums.push_back(ienum); + + TypeInterface enum_itype; + enum_itype.name = itype.name + "." + String(*k); + enum_itype.cname = StringName(enum_itype.name); + enum_itype.proxy_name = itype.proxy_name + "." + enum_proxy_name; + enum_itype.c_arg_in = "&%s"; + enum_itype.c_type = "int"; + enum_itype.c_type_in = "int"; + enum_itype.c_type_out = "int"; + enum_itype.cs_type = enum_itype.proxy_name; + enum_itype.im_type_in = enum_itype.proxy_name; + enum_itype.im_type_out = enum_itype.proxy_name; + enum_itype.class_doc = &EditorHelp::get_doc_data()->class_list[enum_itype.proxy_name]; + enum_types.insert(enum_itype.cname, enum_itype); + } + + for (const List<String>::Element *E = constant_list.front(); E; E = E->next()) { + int *value = class_info->constant_map.getptr(E->get()); + ERR_FAIL_NULL(value); + + ConstantInterface iconstant(snake_to_pascal_case(E->get(), true), *value); + + iconstant.const_doc = NULL; + for (int i = 0; i < itype.class_doc->constants.size(); i++) { + const DocData::ConstantDoc &const_doc = itype.class_doc->constants[i]; + + if (const_doc.name == iconstant.name) { + iconstant.const_doc = &const_doc; + break; + } + } + + itype.constants.push_back(iconstant); + } + + obj_types.insert(itype.cname, itype); class_list.pop_front(); } @@ -1704,7 +2014,10 @@ void BindingsGenerator::_default_argument_from_variant(const Variant &p_val, Arg r_iarg.default_argument = bool(p_val) ? "true" : "false"; break; case Variant::INT: - break; // Keep it + if (r_iarg.type != name_cache.type_int) { + r_iarg.default_argument = "(%s)" + r_iarg.default_argument; + } + break; case Variant::REAL: #ifndef REAL_T_IS_DOUBLE r_iarg.default_argument += "f"; @@ -1762,7 +2075,7 @@ void BindingsGenerator::_default_argument_from_variant(const Variant &p_val, Arg default: {} } - if (r_iarg.def_param_mode == ArgumentInterface::CONSTANT && r_iarg.type == "Variant" && r_iarg.default_argument != "null") + if (r_iarg.def_param_mode == ArgumentInterface::CONSTANT && r_iarg.type == name_cache.type_Variant && r_iarg.default_argument != "null") r_iarg.def_param_mode = ArgumentInterface::NULLABLE_REF; } @@ -1774,7 +2087,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { #define INSERT_STRUCT_TYPE(m_type, m_type_in) \ { \ - itype = TypeInterface::create_value_type(#m_type); \ + itype = TypeInterface::create_value_type(String(#m_type)); \ itype.c_in = "\tMARSHALLED_IN(" #m_type ", %1, %1_in);\n"; \ itype.c_out = "\tMARSHALLED_OUT(" #m_type ", %1, ret_out)\n" \ "\treturn mono_value_box(mono_domain_get(), CACHED_CLASS_RAW(%2), ret_out);\n"; \ @@ -1783,7 +2096,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_in = "ref %s"; \ itype.cs_out = "return (" #m_type ")%0;"; \ itype.im_type_out = "object"; \ - builtin_types.insert(#m_type, itype); \ + builtin_types.insert(itype.cname, itype); \ } INSERT_STRUCT_TYPE(Vector2, "real_t*") @@ -1799,22 +2112,22 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { #undef INSERT_STRUCT_TYPE -#define INSERT_PRIMITIVE_TYPE(m_type) \ - { \ - itype = TypeInterface::create_value_type(#m_type); \ - itype.c_arg_in = "&%s"; \ - itype.c_type_in = #m_type; \ - itype.c_type_out = #m_type; \ - itype.im_type_in = #m_type; \ - itype.im_type_out = #m_type; \ - builtin_types.insert(#m_type, itype); \ +#define INSERT_PRIMITIVE_TYPE(m_type) \ + { \ + itype = TypeInterface::create_value_type(String(#m_type)); \ + itype.c_arg_in = "&%s"; \ + itype.c_type_in = #m_type; \ + itype.c_type_out = #m_type; \ + itype.im_type_in = #m_type; \ + itype.im_type_out = #m_type; \ + builtin_types.insert(itype.cname, itype); \ } INSERT_PRIMITIVE_TYPE(bool) //INSERT_PRIMITIVE_TYPE(int) // int - itype = TypeInterface::create_value_type("int"); + itype = TypeInterface::create_value_type(String("int")); itype.c_arg_in = "&%s_in"; //* ptrcall only supports int64_t and uint64_t itype.c_in = "\t%0 %1_in = (%0)%1;\n"; @@ -1825,7 +2138,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.c_type_out = itype.name; itype.im_type_in = itype.name; itype.im_type_out = itype.name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); #undef INSERT_PRIMITIVE_TYPE @@ -1836,6 +2149,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { #else itype.name = "float"; #endif + itype.cname = itype.name; itype.proxy_name = itype.name; itype.c_arg_in = "&%s_in"; //* ptrcall only supports double @@ -1848,11 +2162,12 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = itype.proxy_name; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); // String itype = TypeInterface(); itype.name = "String"; + itype.cname = itype.name; itype.proxy_name = "string"; itype.c_in = "\t%0 %1_in = " C_METHOD_MONOSTR_TO_GODOT "(%1);\n"; itype.c_out = "\treturn " C_METHOD_MONOSTR_FROM_GODOT "(%1);\n"; @@ -1863,11 +2178,12 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = itype.proxy_name; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); // NodePath itype = TypeInterface(); itype.name = "NodePath"; + itype.cname = itype.name; itype.proxy_name = "NodePath"; itype.c_out = "\treturn memnew(NodePath(%1));\n"; itype.c_type = itype.name; @@ -1879,16 +2195,17 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.im_type_in = "IntPtr"; itype.im_type_out = "IntPtr"; _populate_builtin_type(itype, Variant::NODE_PATH); - extra_members.insert(itype.name, MEMBER_BEGIN "public NodePath() : this(string.Empty) {}\n" MEMBER_BEGIN "public NodePath(string path)\n" OPEN_BLOCK_L2 - "this." BINDINGS_PTR_FIELD " = NativeCalls.godot_icall_NodePath_Ctor(path);\n" CLOSE_BLOCK_L2 - MEMBER_BEGIN "public static implicit operator NodePath(string from)\n" OPEN_BLOCK_L2 "return new NodePath(from);\n" CLOSE_BLOCK_L2 - MEMBER_BEGIN "public static implicit operator string(NodePath from)\n" OPEN_BLOCK_L2 - "return NativeCalls." ICALL_PREFIX "NodePath_operator_String(NodePath." CS_SMETHOD_GETINSTANCE "(from));\n" CLOSE_BLOCK_L2); - builtin_types.insert(itype.name, itype); + extra_members.insert(itype.cname, MEMBER_BEGIN "public NodePath() : this(string.Empty) {}\n" MEMBER_BEGIN "public NodePath(string path)\n" OPEN_BLOCK_L2 + "this." BINDINGS_PTR_FIELD " = NativeCalls.godot_icall_NodePath_Ctor(path);\n" CLOSE_BLOCK_L2 + MEMBER_BEGIN "public static implicit operator NodePath(string from)\n" OPEN_BLOCK_L2 "return new NodePath(from);\n" CLOSE_BLOCK_L2 + MEMBER_BEGIN "public static implicit operator string(NodePath from)\n" OPEN_BLOCK_L2 + "return NativeCalls." ICALL_PREFIX "NodePath_operator_String(NodePath." CS_SMETHOD_GETINSTANCE "(from));\n" CLOSE_BLOCK_L2); + builtin_types.insert(itype.cname, itype); // RID itype = TypeInterface(); itype.name = "RID"; + itype.cname = itype.name; itype.proxy_name = "RID"; itype.c_out = "\treturn memnew(RID(%1));\n"; itype.c_type = itype.name; @@ -1900,13 +2217,14 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.im_type_in = "IntPtr"; itype.im_type_out = "IntPtr"; _populate_builtin_type(itype, Variant::_RID); - extra_members.insert(itype.name, MEMBER_BEGIN "internal RID()\n" OPEN_BLOCK_L2 - "this." BINDINGS_PTR_FIELD " = IntPtr.Zero;\n" CLOSE_BLOCK_L2); - builtin_types.insert(itype.name, itype); + extra_members.insert(itype.cname, MEMBER_BEGIN "internal RID()\n" OPEN_BLOCK_L2 + "this." BINDINGS_PTR_FIELD " = IntPtr.Zero;\n" CLOSE_BLOCK_L2); + builtin_types.insert(itype.cname, itype); // Variant itype = TypeInterface(); itype.name = "Variant"; + itype.cname = itype.name; itype.proxy_name = "object"; itype.c_in = "\t%0 %1_in = " C_METHOD_MANAGED_TO_VARIANT "(%1);\n"; itype.c_out = "\treturn " C_METHOD_MANAGED_FROM_VARIANT "(%1);\n"; @@ -1917,11 +2235,12 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = "object"; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); // VarArg (fictitious type to represent variable arguments) itype = TypeInterface(); itype.name = "VarArg"; + itype.cname = itype.name; itype.proxy_name = "object[]"; itype.c_in = "\t%0 %1_in = " C_METHOD_MONOARRAY_TO(Array) "(%1);\n"; itype.c_arg_in = "&%s_in"; @@ -1929,12 +2248,13 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.c_type_in = "MonoArray*"; itype.cs_type = "params object[]"; itype.im_type_in = "object[]"; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); #define INSERT_ARRAY_FULL(m_name, m_type, m_proxy_t) \ { \ itype = TypeInterface(); \ itype.name = #m_name; \ + itype.cname = itype.name; \ itype.proxy_name = #m_proxy_t "[]"; \ itype.c_in = "\t%0 %1_in = " C_METHOD_MONOARRAY_TO(m_type) "(%1);\n"; \ itype.c_out = "\treturn " C_METHOD_MONOARRAY_FROM(m_type) "(%1);\n"; \ @@ -1971,6 +2291,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { // Dictionary itype = TypeInterface(); itype.name = "Dictionary"; + itype.cname = itype.name; itype.proxy_name = "Dictionary<object, object>"; itype.c_in = "\t%0 %1_in = " C_METHOD_MANAGED_TO_DICT "(%1);\n"; itype.c_out = "\treturn " C_METHOD_MANAGED_FROM_DICT "(%1);\n"; @@ -1981,11 +2302,12 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = itype.proxy_name; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); // void (fictitious type to represent the return type of methods that do not return anything) itype = TypeInterface(); itype.name = "void"; + itype.cname = itype.name; itype.proxy_name = itype.name; itype.c_type = itype.name; itype.c_type_in = itype.c_type; @@ -1993,21 +2315,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = itype.proxy_name; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); - - // Error - itype = TypeInterface(); - itype.name = "Error"; - itype.proxy_name = "Error"; - itype.c_type = itype.name; - itype.c_type_in = itype.c_type; - itype.c_type_out = itype.c_type; - itype.cs_type = itype.proxy_name; - itype.cs_in = "(int)%0"; - itype.cs_out = "return (Error)%s;"; - itype.im_type_in = "int"; - itype.im_type_out = "int"; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); } void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant::Type vtype) { @@ -2024,6 +2332,7 @@ void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant:: MethodInterface imethod; imethod.name = mi.name; + imethod.cname = imethod.name; imethod.proxy_name = mi.name; for (int i = 0; i < mi.arguments.size(); i++) { @@ -2033,11 +2342,11 @@ void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant:: iarg.name = pi.name; if (pi.type == Variant::NIL) - iarg.type = "Variant"; + iarg.type = name_cache.type_Variant; else iarg.type = Variant::get_type_name(pi.type); - if (!r_itype.requires_collections && iarg.type == "Dictionary") + if (!r_itype.requires_collections && iarg.type == name_cache.type_Dictionary) r_itype.requires_collections = true; if ((mi.default_arguments.size() - mi.arguments.size() + i) >= 0) @@ -2048,12 +2357,12 @@ void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant:: if (mi.return_val.type == Variant::NIL) { if (mi.return_val.name != "") - imethod.return_type = "Variant"; + imethod.return_type = name_cache.type_Variant; } else { imethod.return_type = Variant::get_type_name(mi.return_val.type); } - if (!r_itype.requires_collections && imethod.return_type == "Dictionary") + if (!r_itype.requires_collections && imethod.return_type == name_cache.type_Dictionary) r_itype.requires_collections = true; if (r_itype.class_doc) { @@ -2069,15 +2378,112 @@ void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant:: } } -BindingsGenerator::BindingsGenerator() { +void BindingsGenerator::_populate_global_constants() { + + int global_constants_count = GlobalConstants::get_global_constant_count(); + + if (global_constants_count > 0) { + Map<String, DocData::ClassDoc>::Element *match = EditorHelp::get_doc_data()->class_list.find("@GlobalScope"); + + ERR_EXPLAIN("Could not find `@GlobalScope` in DocData"); + CRASH_COND(!match); + + const DocData::ClassDoc &global_scope_doc = match->value(); + + for (int i = 0; i < global_constants_count; i++) { + + String constant_name = GlobalConstants::get_global_constant_name(i); + + const DocData::ConstantDoc *const_doc = NULL; + for (int i = 0; i < global_scope_doc.constants.size(); i++) { + const DocData::ConstantDoc &curr_const_doc = global_scope_doc.constants[i]; + + if (curr_const_doc.name == constant_name) { + const_doc = &curr_const_doc; + break; + } + } + + int constant_value = GlobalConstants::get_global_constant_value(i); + StringName enum_name = GlobalConstants::get_global_constant_enum(i); + + ConstantInterface iconstant(snake_to_pascal_case(constant_name, true), constant_value); + iconstant.const_doc = const_doc; + + if (enum_name != StringName()) { + EnumInterface ienum(enum_name); + List<EnumInterface>::Element *match = global_enums.find(ienum); + if (match) { + match->get().constants.push_back(iconstant); + } else { + ienum.constants.push_back(iconstant); + global_enums.push_back(ienum); + } + } else { + global_constants.push_back(iconstant); + } + } + + for (List<EnumInterface>::Element *E = global_enums.front(); E; E = E->next()) { + EnumInterface &ienum = E->get(); + + TypeInterface enum_itype; + enum_itype = TypeInterface::create_value_type(ienum.cname); + enum_itype.c_arg_in = "&%s"; + enum_itype.c_type = "int"; + enum_itype.c_type_in = "int"; + enum_itype.c_type_out = "int"; + enum_itype.im_type_in = enum_itype.name; + enum_itype.im_type_out = enum_itype.name; + enum_types.insert(enum_itype.cname, enum_itype); + + ienum.prefix = _determine_enum_prefix(ienum); + + // HARDCODED + if (ienum.cname == name_cache.enum_Error) { + if (!ienum.prefix.empty()) { // Just in case it ever changes + ERR_PRINTS("Prefix for enum 'Error' is not empty"); + } + + ienum.prefix = "Err"; + } + } + } + + // HARDCODED + List<StringName> hardcoded_enums; + hardcoded_enums.push_back("Vector3.Axis"); + for (List<StringName>::Element *E = hardcoded_enums.front(); E; E = E->next()) { + // These enums are not generated and must be written manually (e.g.: Vector3.Axis) + // Here, we are assuming core types do not begin with underscore + TypeInterface enum_itype; + enum_itype = TypeInterface::create_value_type(E->get()); + enum_itype.c_arg_in = "&%s"; + enum_itype.c_type = "int"; + enum_itype.c_type_in = "int"; + enum_itype.c_type_out = "int"; + enum_itype.im_type_in = enum_itype.name; + enum_itype.im_type_out = enum_itype.name; + enum_types.insert(enum_itype.cname, enum_itype); + } +} + +void BindingsGenerator::initialize() { EditorHelp::generate_doc(); + enum_types.clear(); + _populate_object_type_interfaces(); _populate_builtin_type_interfaces(); + + _populate_global_constants(); + + // Populate internal calls (after populating type interfaces and global constants) + _generate_header_icalls(); - for (Map<String, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) + for (Map<StringName, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) _generate_method_icalls(E->get()); _generate_method_icalls(builtin_types["NodePath"]); @@ -2104,7 +2510,7 @@ void BindingsGenerator::handle_cmdline_args(const List<String> &p_cmdline_args) const List<String>::Element *path_elem = elem->next(); if (path_elem) { - if (get_singleton().generate_glue(path_elem->get()) != OK) + if (get_singleton()->generate_glue(path_elem->get()) != OK) ERR_PRINT("Mono glue generation failed"); elem = elem->next(); } else { @@ -2118,7 +2524,7 @@ void BindingsGenerator::handle_cmdline_args(const List<String> &p_cmdline_args) const List<String>::Element *path_elem = elem->next(); if (path_elem) { - if (get_singleton().generate_cs_core_project(path_elem->get()) != OK) + if (get_singleton()->generate_cs_core_project(path_elem->get()) != OK) ERR_PRINT("Generation of solution and C# project for the Core API failed"); elem = elem->next(); } else { @@ -2133,7 +2539,7 @@ void BindingsGenerator::handle_cmdline_args(const List<String> &p_cmdline_args) if (path_elem) { if (path_elem->next()) { - if (get_singleton().generate_cs_editor_project(path_elem->get(), path_elem->next()->get()) != OK) + if (get_singleton()->generate_cs_editor_project(path_elem->get(), path_elem->next()->get()) != OK) ERR_PRINT("Generation of solution and C# project for the Editor API failed"); elem = path_elem->next(); } else { diff --git a/modules/mono/editor/bindings_generator.h b/modules/mono/editor/bindings_generator.h index dfa3aa9911..9da7add867 100644 --- a/modules/mono/editor/bindings_generator.h +++ b/modules/mono/editor/bindings_generator.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,6 +39,47 @@ #include "ustring.h" class BindingsGenerator { + + struct ConstantInterface { + String name; + int value; + const DocData::ConstantDoc *const_doc; + + ConstantInterface() {} + + ConstantInterface(const String &p_name, int p_value) { + name = p_name; + value = p_value; + } + }; + + struct EnumInterface { + StringName cname; + String prefix; + List<ConstantInterface> constants; + + _FORCE_INLINE_ bool operator==(const EnumInterface &p_ienum) const { + return p_ienum.cname == cname; + } + + EnumInterface() {} + + EnumInterface(const StringName &p_cname) { + cname = p_cname; + } + }; + + struct PropertyInterface { + StringName cname; + String proxy_name; + int index; + + StringName setter; + StringName getter; + + const DocData::PropertyDoc *prop_doc; + }; + struct ArgumentInterface { enum DefaultParamMode { CONSTANT, @@ -46,7 +87,7 @@ class BindingsGenerator { NULLABLE_REF }; - String type; + StringName type; String name; String default_argument; DefaultParamMode def_param_mode; @@ -58,6 +99,7 @@ class BindingsGenerator { struct MethodInterface { String name; + StringName cname; /** * Name of the C# method @@ -67,7 +109,7 @@ class BindingsGenerator { /** * [TypeInterface::name] of the return type */ - String return_type; + StringName return_type; /** * Determines if the method has a variable number of arguments (VarArg) @@ -103,7 +145,7 @@ class BindingsGenerator { } MethodInterface() { - return_type = "void"; + return_type = BindingsGenerator::get_singleton()->name_cache.type_void; is_vararg = false; is_virtual = false; requires_object_call = false; @@ -118,11 +160,12 @@ class BindingsGenerator { * Also used to format [c_out]. */ String name; + StringName cname; /** * Identifier name of the base class. */ - String base_name; + StringName base_name; /** * Name of the C# class @@ -256,23 +299,32 @@ class BindingsGenerator { const DocData::ClassDoc *class_doc; + List<ConstantInterface> constants; + List<EnumInterface> enums; + List<PropertyInterface> properties; List<MethodInterface> methods; - const MethodInterface *find_method_by_name(const String &p_name) const { - + const MethodInterface *find_method_by_name(const StringName &p_cname) const { for (const List<MethodInterface>::Element *E = methods.front(); E; E = E->next()) { - if (E->get().name == p_name) + if (E->get().cname == p_cname) return &E->get(); } return NULL; } - static TypeInterface create_value_type(const String &p_name) { - TypeInterface itype; + const PropertyInterface *find_property_by_proxy_name(const String &p_proxy_name) const { + for (const List<PropertyInterface>::Element *E = properties.front(); E; E = E->next()) { + if (E->get().proxy_name == p_proxy_name) + return &E->get(); + } - itype.name = p_name; - itype.proxy_name = p_name; + return NULL; + } + + private: + static void _init_value_type(TypeInterface &itype) { + itype.proxy_name = itype.name; itype.c_type = itype.name; itype.c_type_in = "void*"; @@ -281,15 +333,31 @@ class BindingsGenerator { itype.im_type_in = "ref " + itype.proxy_name; itype.im_type_out = itype.proxy_name; itype.class_doc = &EditorHelp::get_doc_data()->class_list[itype.proxy_name]; + } + public: + static TypeInterface create_value_type(const String &p_name) { + TypeInterface itype; + itype.name = p_name; + itype.cname = StringName(p_name); + _init_value_type(itype); return itype; } - static TypeInterface create_object_type(const String &p_name, ClassDB::APIType p_api_type) { + static TypeInterface create_value_type(const StringName &p_name) { TypeInterface itype; + itype.name = p_name.operator String(); + itype.cname = p_name; + _init_value_type(itype); + return itype; + } - itype.name = p_name; - itype.proxy_name = p_name.begins_with("_") ? p_name.substr(1, p_name.length()) : p_name; + static TypeInterface create_object_type(const StringName &p_cname, ClassDB::APIType p_api_type) { + TypeInterface itype; + + itype.name = p_cname; + itype.cname = p_cname; + itype.proxy_name = itype.name.begins_with("_") ? itype.name.substr(1, itype.name.length()) : itype.name; itype.api_type = p_api_type; itype.is_object_type = true; itype.class_doc = &EditorHelp::get_doc_data()->class_list[itype.proxy_name]; @@ -297,9 +365,10 @@ class BindingsGenerator { return itype; } - static void create_placeholder_type(TypeInterface &r_itype, const String &p_name) { - r_itype.name = p_name; - r_itype.proxy_name = p_name; + static void create_placeholder_type(TypeInterface &r_itype, const StringName &p_cname) { + r_itype.name = p_cname; + r_itype.cname = p_cname; + r_itype.proxy_name = r_itype.name; r_itype.c_type = r_itype.name; r_itype.c_type_in = "MonoObject*"; @@ -359,11 +428,15 @@ class BindingsGenerator { static bool verbose_output; - Map<String, TypeInterface> placeholder_types; - Map<String, TypeInterface> builtin_types; - Map<String, TypeInterface> obj_types; + Map<StringName, TypeInterface> placeholder_types; + Map<StringName, TypeInterface> builtin_types; + Map<StringName, TypeInterface> enum_types; + Map<StringName, TypeInterface> obj_types; + + List<EnumInterface> global_enums; + List<ConstantInterface> global_constants; - Map<String, String> extra_members; + Map<StringName, String> extra_members; List<InternalCall> method_icalls; Map<const MethodInterface *, const InternalCall *> method_icalls_map; @@ -373,8 +446,36 @@ class BindingsGenerator { List<InternalCall> core_custom_icalls; List<InternalCall> editor_custom_icalls; - const List<InternalCall>::Element *find_icall_by_name(const String &p_name, const List<InternalCall> &p_list) { + struct NameCache { + StringName type_void; + StringName type_int; + StringName type_Array; + StringName type_Dictionary; + StringName type_Variant; + StringName type_VarArg; + StringName type_Object; + StringName type_Reference; + StringName enum_Error; + + NameCache() { + type_void = StaticCString::create("void"); + type_int = StaticCString::create("int"); + type_Array = StaticCString::create("Array"); + type_Dictionary = StaticCString::create("Dictionary"); + type_Variant = StaticCString::create("Variant"); + type_VarArg = StaticCString::create("VarArg"); + type_Object = StaticCString::create("Object"); + type_Reference = StaticCString::create("Reference"); + enum_Error = StaticCString::create("Error"); + } + + NameCache(const NameCache &); + NameCache &operator=(const NameCache &); + }; + + NameCache name_cache; + const List<InternalCall>::Element *find_icall_by_name(const String &p_name, const List<InternalCall> &p_list) { const List<InternalCall>::Element *it = p_list.front(); while (it) { if (it->get().name == p_name) return it; @@ -392,11 +493,13 @@ class BindingsGenerator { return p_type.name; } + String _determine_enum_prefix(const EnumInterface &p_ienum); + void _generate_header_icalls(); void _generate_method_icalls(const TypeInterface &p_itype); - const TypeInterface *_get_type_by_name_or_null(const String &p_name); - const TypeInterface *_get_type_by_name_or_placeholder(const String &p_name); + const TypeInterface *_get_type_by_name_or_null(const StringName &p_cname); + const TypeInterface *_get_type_by_name_or_placeholder(const StringName &p_cname); void _default_argument_from_variant(const Variant &p_var, ArgumentInterface &r_iarg); void _populate_builtin_type(TypeInterface &r_type, Variant::Type vtype); @@ -404,27 +507,39 @@ class BindingsGenerator { void _populate_object_type_interfaces(); void _populate_builtin_type_interfaces(); + void _populate_global_constants(); + Error _generate_cs_type(const TypeInterface &itype, const String &p_output_file); - Error _generate_cs_property(const TypeInterface &p_itype, const DocData::PropertyDoc &p_prop_doc, List<String> &p_output); + Error _generate_cs_property(const TypeInterface &p_itype, const PropertyInterface &p_prop_doc, List<String> &p_output); Error _generate_cs_method(const TypeInterface &p_itype, const MethodInterface &p_imethod, int &p_method_bind_count, List<String> &p_output); + void _generate_global_constants(List<String> &p_output); + Error _generate_glue_method(const TypeInterface &p_itype, const MethodInterface &p_imethod, List<String> &p_output); Error _save_file(const String &path, const List<String> &content); - BindingsGenerator(); + BindingsGenerator() {} BindingsGenerator(const BindingsGenerator &); BindingsGenerator &operator=(const BindingsGenerator &); + friend class CSharpLanguage; + static BindingsGenerator *singleton; + public: Error generate_cs_core_project(const String &p_output_dir, bool p_verbose_output = true); Error generate_cs_editor_project(const String &p_output_dir, const String &p_core_dll_path, bool p_verbose_output = true); Error generate_glue(const String &p_output_dir); - static BindingsGenerator &get_singleton() { - static BindingsGenerator singleton; + void initialize(); + + _FORCE_INLINE_ static BindingsGenerator *get_singleton() { + if (!singleton) { + singleton = memnew(BindingsGenerator); + singleton->initialize(); + } return singleton; } diff --git a/modules/mono/editor/csharp_project.cpp b/modules/mono/editor/csharp_project.cpp index 9a1efb4423..89e72e5c4b 100644 --- a/modules/mono/editor/csharp_project.cpp +++ b/modules/mono/editor/csharp_project.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -54,7 +54,7 @@ String generate_core_api_project(const String &p_dir, const Vector<String> &p_fi ERR_FAIL_V(String()); } - return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : ""; + return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : String(); } String generate_editor_api_project(const String &p_dir, const String &p_core_dll_path, const Vector<String> &p_files) { @@ -75,7 +75,7 @@ String generate_editor_api_project(const String &p_dir, const String &p_core_dll ERR_FAIL_V(String()); } - return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : ""; + return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : String(); } String generate_game_project(const String &p_dir, const String &p_name, const Vector<String> &p_files) { @@ -96,7 +96,7 @@ String generate_game_project(const String &p_dir, const String &p_name, const Ve ERR_FAIL_V(String()); } - return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : ""; + return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : String(); } void add_item(const String &p_project_path, const String &p_item_type, const String &p_include) { diff --git a/modules/mono/editor/csharp_project.h b/modules/mono/editor/csharp_project.h index 44e8325a59..59277664b2 100644 --- a/modules/mono/editor/csharp_project.h +++ b/modules/mono/editor/csharp_project.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/editor/godotsharp_builds.cpp b/modules/mono/editor/godotsharp_builds.cpp index b88d34fc33..58d26a0f83 100644 --- a/modules/mono/editor/godotsharp_builds.cpp +++ b/modules/mono/editor/godotsharp_builds.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -238,12 +238,12 @@ bool GodotSharpBuilds::make_api_sln(GodotSharpBuilds::APIType p_api_type) { #error "How am I supposed to generate the bindings?" #endif - BindingsGenerator &gen = BindingsGenerator::get_singleton(); + BindingsGenerator *gen = BindingsGenerator::get_singleton(); bool gen_verbose = OS::get_singleton()->is_stdout_verbose(); Error err = p_api_type == API_CORE ? - gen.generate_cs_core_project(api_sln_dir, gen_verbose) : - gen.generate_cs_editor_project(api_sln_dir, core_api_assembly, gen_verbose); + gen->generate_cs_core_project(api_sln_dir, gen_verbose) : + gen->generate_cs_editor_project(api_sln_dir, core_api_assembly, gen_verbose); if (err != OK) { show_build_error_dialog("Failed to generate " + api_name + " solution. Error: " + itos(err)); @@ -313,7 +313,7 @@ GodotSharpBuilds *GodotSharpBuilds::singleton = NULL; void GodotSharpBuilds::build_exit_callback(const MonoBuildInfo &p_build_info, int p_exit_code) { BuildProcess *match = builds.getptr(p_build_info); - ERR_FAIL_COND(!match); + ERR_FAIL_NULL(match); BuildProcess &bp = *match; bp.on_exit(p_exit_code); diff --git a/modules/mono/editor/godotsharp_builds.h b/modules/mono/editor/godotsharp_builds.h index 7d2f38a774..956f8f6253 100644 --- a/modules/mono/editor/godotsharp_builds.h +++ b/modules/mono/editor/godotsharp_builds.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/editor/godotsharp_editor.cpp b/modules/mono/editor/godotsharp_editor.cpp index 1bc1e8a515..f964fac8e9 100644 --- a/modules/mono/editor/godotsharp_editor.cpp +++ b/modules/mono/editor/godotsharp_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -50,9 +50,9 @@ GodotSharpEditor *GodotSharpEditor::singleton = NULL; bool GodotSharpEditor::_create_project_solution() { - EditorProgress pr("create_csharp_solution", "Generating solution...", 2); + EditorProgress pr("create_csharp_solution", TTR("Generating solution..."), 2); - pr.step("Generating C# project..."); + pr.step(TTR("Generating C# project...")); String path = OS::get_singleton()->get_resource_dir(); String name = ProjectSettings::get_singleton()->get("application/config/name"); @@ -67,7 +67,7 @@ bool GodotSharpEditor::_create_project_solution() { NETSolution solution(name); if (!solution.set_path(path)) { - show_error_dialog("Failed to create solution."); + show_error_dialog(TTR("Failed to create solution.")); return false; } @@ -79,7 +79,7 @@ bool GodotSharpEditor::_create_project_solution() { Error sln_error = solution.save(); if (sln_error != OK) { - show_error_dialog("Failed to save solution."); + show_error_dialog(TTR("Failed to save solution.")); return false; } @@ -89,13 +89,13 @@ bool GodotSharpEditor::_create_project_solution() { if (!GodotSharpBuilds::make_api_sln(GodotSharpBuilds::API_EDITOR)) return false; - pr.step("Done"); + pr.step(TTR("Done")); // Here, after all calls to progress_task_step call_deferred("_remove_create_sln_menu_option"); } else { - show_error_dialog("Failed to create C# project."); + show_error_dialog(TTR("Failed to create C# project.")); } return true; @@ -194,14 +194,14 @@ GodotSharpEditor::GodotSharpEditor(EditorNode *p_editor) { error_dialog = memnew(AcceptDialog); editor->get_gui_base()->add_child(error_dialog); - bottom_panel_btn = editor->add_bottom_panel_item("Mono", memnew(MonoBottomPanel(editor))); + bottom_panel_btn = editor->add_bottom_panel_item(TTR("Mono"), memnew(MonoBottomPanel(editor))); godotsharp_builds = memnew(GodotSharpBuilds); editor->add_child(memnew(MonoReloadNode)); menu_button = memnew(MenuButton); - menu_button->set_text("Mono"); + menu_button->set_text(TTR("Mono")); menu_popup = menu_button->get_popup(); String sln_path = GodotSharpDirs::get_project_sln_path(); @@ -209,7 +209,7 @@ GodotSharpEditor::GodotSharpEditor(EditorNode *p_editor) { if (!FileAccess::exists(sln_path) || !FileAccess::exists(csproj_path)) { bottom_panel_btn->hide(); - menu_popup->add_item("Create C# solution", MENU_CREATE_SLN); + menu_popup->add_item(TTR("Create C# solution"), MENU_CREATE_SLN); } menu_popup->connect("id_pressed", this, "_menu_option_pressed"); diff --git a/modules/mono/editor/godotsharp_editor.h b/modules/mono/editor/godotsharp_editor.h index 0f2c163582..f9b4fb42fb 100644 --- a/modules/mono/editor/godotsharp_editor.h +++ b/modules/mono/editor/godotsharp_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/editor/mono_bottom_panel.cpp b/modules/mono/editor/mono_bottom_panel.cpp index 31dc09856a..7c8d822037 100644 --- a/modules/mono/editor/mono_bottom_panel.cpp +++ b/modules/mono/editor/mono_bottom_panel.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -197,7 +197,7 @@ MonoBottomPanel::MonoBottomPanel(EditorNode *p_editor) { panel_builds_tab->add_child(toolbar_hbc); ToolButton *build_project_btn = memnew(ToolButton); - build_project_btn->set_text("Build Project"); + build_project_btn->set_text(TTR("Build Project")); build_project_btn->set_focus_mode(FOCUS_NONE); build_project_btn->connect("pressed", this, "_build_project_pressed"); toolbar_hbc->add_child(build_project_btn); @@ -205,7 +205,7 @@ MonoBottomPanel::MonoBottomPanel(EditorNode *p_editor) { toolbar_hbc->add_spacer(); warnings_btn = memnew(ToolButton); - warnings_btn->set_text("Warnings"); + warnings_btn->set_text(TTR("Warnings")); warnings_btn->set_toggle_mode(true); warnings_btn->set_pressed(true); warnings_btn->set_visible(false); @@ -214,7 +214,7 @@ MonoBottomPanel::MonoBottomPanel(EditorNode *p_editor) { toolbar_hbc->add_child(warnings_btn); errors_btn = memnew(ToolButton); - errors_btn->set_text("Errors"); + errors_btn->set_text(TTR("Errors")); errors_btn->set_toggle_mode(true); errors_btn->set_pressed(true); errors_btn->set_visible(false); diff --git a/modules/mono/editor/mono_bottom_panel.h b/modules/mono/editor/mono_bottom_panel.h index 5cc4aa3240..d7573361ab 100644 --- a/modules/mono/editor/mono_bottom_panel.h +++ b/modules/mono/editor/mono_bottom_panel.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/editor/mono_build_info.h b/modules/mono/editor/mono_build_info.h index f3b3e43b6d..115fc9ea55 100644 --- a/modules/mono/editor/mono_build_info.h +++ b/modules/mono/editor/mono_build_info.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/editor/monodevelop_instance.cpp b/modules/mono/editor/monodevelop_instance.cpp index a34d82ffcb..57b3382bff 100644 --- a/modules/mono/editor/monodevelop_instance.cpp +++ b/modules/mono/editor/monodevelop_instance.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/editor/monodevelop_instance.h b/modules/mono/editor/monodevelop_instance.h index 9eb154eba1..783d12325f 100644 --- a/modules/mono/editor/monodevelop_instance.h +++ b/modules/mono/editor/monodevelop_instance.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/editor/net_solution.cpp b/modules/mono/editor/net_solution.cpp index fa60c310db..b9df5b5327 100644 --- a/modules/mono/editor/net_solution.cpp +++ b/modules/mono/editor/net_solution.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/editor/net_solution.h b/modules/mono/editor/net_solution.h index d7ccebb7df..21af1938cb 100644 --- a/modules/mono/editor/net_solution.h +++ b/modules/mono/editor/net_solution.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/glue/cs_files/Error.cs b/modules/mono/glue/cs_files/Error.cs deleted file mode 100644 index dee4b88f74..0000000000 --- a/modules/mono/glue/cs_files/Error.cs +++ /dev/null @@ -1,47 +0,0 @@ -namespace Godot -{ - public enum Error : int - { - OK = 0, - FAILED = 1, - ERR_UNAVAILABLE = 2, - ERR_UNCONFIGURED = 3, - ERR_UNAUTHORIZED = 4, - ERR_PARAMETER_RANGE_ERROR = 5, - ERR_OUT_OF_MEMORY = 6, - ERR_FILE_NOT_FOUND = 7, - ERR_FILE_BAD_DRIVE = 8, - ERR_FILE_BAD_PATH = 9, - ERR_FILE_NO_PERMISSION = 10, - ERR_FILE_ALREADY_IN_USE = 11, - ERR_FILE_CANT_OPEN = 12, - ERR_FILE_CANT_WRITE = 13, - ERR_FILE_CANT_READ = 14, - ERR_FILE_UNRECOGNIZED = 15, - ERR_FILE_CORRUPT = 16, - ERR_FILE_MISSING_DEPENDENCIES = 17, - ERR_FILE_EOF = 18, - ERR_CANT_OPEN = 19, - ERR_CANT_CREATE = 20, - ERR_PARSE_ERROR = 43, - ERROR_QUERY_FAILED = 21, - ERR_ALREADY_IN_USE = 22, - ERR_LOCKED = 23, - ERR_TIMEOUT = 24, - ERR_CANT_AQUIRE_RESOURCE = 28, - ERR_INVALID_DATA = 30, - ERR_INVALID_PARAMETER = 31, - ERR_ALREADY_EXISTS = 32, - ERR_DOES_NOT_EXIST = 33, - ERR_DATABASE_CANT_READ = 34, - ERR_DATABASE_CANT_WRITE = 35, - ERR_COMPILATION_FAILED = 36, - ERR_METHOD_NOT_FOUND = 37, - ERR_LINK_FAILED = 38, - ERR_SCRIPT_FAILED = 39, - ERR_CYCLIC_LINK = 40, - ERR_BUSY = 44, - ERR_HELP = 46, - ERR_BUG = 47 - } -} diff --git a/modules/mono/glue/cs_files/ExportAttribute.cs b/modules/mono/glue/cs_files/ExportAttribute.cs index dce9cc59a0..e6f569e1bb 100644 --- a/modules/mono/glue/cs_files/ExportAttribute.cs +++ b/modules/mono/glue/cs_files/ExportAttribute.cs @@ -5,13 +5,13 @@ namespace Godot [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] public class ExportAttribute : Attribute { - private int hint; - private string hint_string; + private PropertyHint hint; + private string hintString; - public ExportAttribute(int hint = GD.PROPERTY_HINT_NONE, string hint_string = "") + public ExportAttribute(PropertyHint hint = PropertyHint.None, string hintString = "") { this.hint = hint; - this.hint_string = hint_string; + this.hintString = hintString; } } } diff --git a/modules/mono/glue/cs_files/GD.cs b/modules/mono/glue/cs_files/GD.cs index 99fc289161..b335ef55e4 100644 --- a/modules/mono/glue/cs_files/GD.cs +++ b/modules/mono/glue/cs_files/GD.cs @@ -2,10 +2,8 @@ using System; namespace Godot { - public static class GD + public static partial class GD { - /*{GodotGlobalConstants}*/ - public static object Bytes2Var(byte[] bytes) { return NativeCalls.godot_icall_Godot_bytes2var(bytes); diff --git a/modules/mono/glue/cs_files/Rect2.cs b/modules/mono/glue/cs_files/Rect2.cs index f2718d7b7a..e1fbb65da5 100644 --- a/modules/mono/glue/cs_files/Rect2.cs +++ b/modules/mono/glue/cs_files/Rect2.cs @@ -109,14 +109,14 @@ namespace Godot return g; } - public Rect2 GrowMargin(int margin, float by) + public Rect2 GrowMargin(Margin margin, float by) { Rect2 g = this; - g.GrowIndividual((GD.MARGIN_LEFT == margin) ? by : 0, - (GD.MARGIN_TOP == margin) ? by : 0, - (GD.MARGIN_RIGHT == margin) ? by : 0, - (GD.MARGIN_BOTTOM == margin) ? by : 0); + g.GrowIndividual((Margin.Left == margin) ? by : 0, + (Margin.Top == margin) ? by : 0, + (Margin.Right == margin) ? by : 0, + (Margin.Bottom == margin) ? by : 0); return g; } @@ -230,4 +230,4 @@ namespace Godot }); } } -}
\ No newline at end of file +} diff --git a/modules/mono/glue/glue_header.h b/modules/mono/glue/glue_header.h index 75a4eb2b40..1d64fa4d72 100644 --- a/modules/mono/glue/glue_header.h +++ b/modules/mono/glue/glue_header.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -53,9 +53,11 @@ } \ Object *m_instance = ci->creation_func(); -void godot_icall_Object_Dtor(Object *ptr) { - ERR_FAIL_NULL(ptr); - _GodotSharp::get_singleton()->queue_dispose(ptr); +void godot_icall_Object_Dtor(MonoObject *obj, Object *ptr) { +#ifdef DEBUG_ENABLED + CRASH_COND(ptr == NULL); +#endif + _GodotSharp::get_singleton()->queue_dispose(obj, ptr); } // -- ClassDB -- diff --git a/modules/mono/godotsharp_defs.h b/modules/mono/godotsharp_defs.h index f941a4d6c5..1679eb6242 100644 --- a/modules/mono/godotsharp_defs.h +++ b/modules/mono/godotsharp_defs.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/godotsharp_dirs.cpp b/modules/mono/godotsharp_dirs.cpp index 0f6245a37c..a2965080d6 100644 --- a/modules/mono/godotsharp_dirs.cpp +++ b/modules/mono/godotsharp_dirs.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/godotsharp_dirs.h b/modules/mono/godotsharp_dirs.h index 914df40629..0e484fea91 100644 --- a/modules/mono/godotsharp_dirs.h +++ b/modules/mono/godotsharp_dirs.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gc_handle.cpp b/modules/mono/mono_gc_handle.cpp index 121392b3f8..5ae12f5ebf 100644 --- a/modules/mono/mono_gc_handle.cpp +++ b/modules/mono/mono_gc_handle.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -41,10 +41,7 @@ uint32_t MonoGCHandle::make_strong_handle(MonoObject *p_object) { uint32_t MonoGCHandle::make_weak_handle(MonoObject *p_object) { - return mono_gchandle_new_weakref( - p_object, - true /* track_resurrection: allows us to invoke _notification(NOTIFICATION_PREDELETE) while disposing */ - ); + return mono_gchandle_new_weakref(p_object, false); } Ref<MonoGCHandle> MonoGCHandle::create_strong(MonoObject *p_object) { diff --git a/modules/mono/mono_gc_handle.h b/modules/mono/mono_gc_handle.h index cf5b6cec21..565f5d4f76 100644 --- a/modules/mono/mono_gc_handle.h +++ b/modules/mono/mono_gc_handle.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono.cpp b/modules/mono/mono_gd/gd_mono.cpp index c997b0f000..5b65f020fc 100644 --- a/modules/mono/mono_gd/gd_mono.cpp +++ b/modules/mono/mono_gd/gd_mono.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -703,7 +703,7 @@ bool _GodotSharp::is_domain_loaded() { call_deferred("_dispose_callback"); \ } -void _GodotSharp::queue_dispose(Object *p_object) { +void _GodotSharp::queue_dispose(MonoObject *p_mono_object, Object *p_object) { if (GDMonoUtils::is_main_thread() && !GDMono::get_singleton()->is_finalizing_scripts_domain()) { _dispose_object(p_object); @@ -712,6 +712,13 @@ void _GodotSharp::queue_dispose(Object *p_object) { queue_mutex->lock(); #endif + // This is our last chance to invoke notification predelete (this is being called from the finalizer) + // We must use the MonoObject* passed by the finalizer, because the weak GC handle target returns NULL at this point + CSharpInstance *si = CAST_CSHARP_INSTANCE(p_object->get_script_instance()); + if (si) { + si->call_notification_no_check(p_mono_object, Object::NOTIFICATION_PREDELETE); + } + ENQUEUE_FOR_DISPOSAL(obj_delete_queue, p_object); #ifndef NO_THREADS diff --git a/modules/mono/mono_gd/gd_mono.h b/modules/mono/mono_gd/gd_mono.h index b188c0730a..c565e26de6 100644 --- a/modules/mono/mono_gd/gd_mono.h +++ b/modules/mono/mono_gd/gd_mono.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -215,7 +215,7 @@ public: bool is_finalizing_domain(); bool is_domain_loaded(); - void queue_dispose(Object *p_object); + void queue_dispose(MonoObject *p_mono_object, Object *p_object); void queue_dispose(NodePath *p_node_path); void queue_dispose(RID *p_rid); diff --git a/modules/mono/mono_gd/gd_mono_assembly.cpp b/modules/mono/mono_gd/gd_mono_assembly.cpp index 7dc7043eec..7a1bf99a36 100644 --- a/modules/mono/mono_gd/gd_mono_assembly.cpp +++ b/modules/mono/mono_gd/gd_mono_assembly.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_assembly.h b/modules/mono/mono_gd/gd_mono_assembly.h index 710b674622..9f38202758 100644 --- a/modules/mono/mono_gd/gd_mono_assembly.h +++ b/modules/mono/mono_gd/gd_mono_assembly.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_class.cpp b/modules/mono/mono_gd/gd_mono_class.cpp index 77ba0ee90e..2bcce86d8c 100644 --- a/modules/mono/mono_gd/gd_mono_class.cpp +++ b/modules/mono/mono_gd/gd_mono_class.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_class.h b/modules/mono/mono_gd/gd_mono_class.h index ef1ca425a7..b9d34eef3a 100644 --- a/modules/mono/mono_gd/gd_mono_class.h +++ b/modules/mono/mono_gd/gd_mono_class.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_field.cpp b/modules/mono/mono_gd/gd_mono_field.cpp index eb34f9dd3f..133cfc9145 100644 --- a/modules/mono/mono_gd/gd_mono_field.cpp +++ b/modules/mono/mono_gd/gd_mono_field.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -290,7 +290,7 @@ int GDMonoField::get_int_value(MonoObject *p_object) { String GDMonoField::get_string_value(MonoObject *p_object) { MonoObject *val = get_value(p_object); - return val ? GDMonoMarshal::mono_string_to_godot((MonoString *)val) : String(); + return GDMonoMarshal::mono_string_to_godot((MonoString *)val); } bool GDMonoField::has_attribute(GDMonoClass *p_attr_class) { diff --git a/modules/mono/mono_gd/gd_mono_field.h b/modules/mono/mono_gd/gd_mono_field.h index b7e1942d71..a5559df059 100644 --- a/modules/mono/mono_gd/gd_mono_field.h +++ b/modules/mono/mono_gd/gd_mono_field.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_header.h b/modules/mono/mono_gd/gd_mono_header.h index 803d394f96..a749aa8768 100644 --- a/modules/mono/mono_gd/gd_mono_header.h +++ b/modules/mono/mono_gd/gd_mono_header.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_internals.cpp b/modules/mono/mono_gd/gd_mono_internals.cpp index 56e8a01567..95d15c3581 100644 --- a/modules/mono/mono_gd/gd_mono_internals.cpp +++ b/modules/mono/mono_gd/gd_mono_internals.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_internals.h b/modules/mono/mono_gd/gd_mono_internals.h index 6bdf4a6c46..91f6fcbbc7 100644 --- a/modules/mono/mono_gd/gd_mono_internals.h +++ b/modules/mono/mono_gd/gd_mono_internals.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_log.cpp b/modules/mono/mono_gd/gd_mono_log.cpp index e8aea8624d..f954530552 100644 --- a/modules/mono/mono_gd/gd_mono_log.cpp +++ b/modules/mono/mono_gd/gd_mono_log.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_log.h b/modules/mono/mono_gd/gd_mono_log.h index 497f1e5317..4ed5f2a255 100644 --- a/modules/mono/mono_gd/gd_mono_log.h +++ b/modules/mono/mono_gd/gd_mono_log.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_marshal.cpp b/modules/mono/mono_gd/gd_mono_marshal.cpp index 8bc2bb5096..48d08b159c 100644 --- a/modules/mono/mono_gd/gd_mono_marshal.cpp +++ b/modules/mono/mono_gd/gd_mono_marshal.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -490,8 +490,9 @@ Variant mono_object_to_variant(MonoObject *p_obj, const ManagedType &p_type) { return unbox<double>(p_obj); case MONO_TYPE_STRING: { - String str = mono_string_to_godot((MonoString *)p_obj); - return str; + if (p_obj == NULL) + return Variant(); // NIL + return mono_string_to_godot_not_null((MonoString *)p_obj); } break; case MONO_TYPE_VALUETYPE: { diff --git a/modules/mono/mono_gd/gd_mono_marshal.h b/modules/mono/mono_gd/gd_mono_marshal.h index 443e947fb5..0570415575 100644 --- a/modules/mono/mono_gd/gd_mono_marshal.h +++ b/modules/mono/mono_gd/gd_mono_marshal.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -62,13 +62,20 @@ Variant::Type managed_to_variant_type(const ManagedType &p_type); String mono_to_utf8_string(MonoString *p_mono_string); String mono_to_utf16_string(MonoString *p_mono_string); -_FORCE_INLINE_ String mono_string_to_godot(MonoString *p_mono_string) { +_FORCE_INLINE_ String mono_string_to_godot_not_null(MonoString *p_mono_string) { if (sizeof(CharType) == 2) return mono_to_utf16_string(p_mono_string); return mono_to_utf8_string(p_mono_string); } +_FORCE_INLINE_ String mono_string_to_godot(MonoString *p_mono_string) { + if (p_mono_string == NULL) + return String(); + + return mono_string_to_godot_not_null(p_mono_string); +} + _FORCE_INLINE_ MonoString *mono_from_utf8_string(const String &p_string) { return mono_string_new(mono_domain_get(), p_string.utf8().get_data()); } diff --git a/modules/mono/mono_gd/gd_mono_method.cpp b/modules/mono/mono_gd/gd_mono_method.cpp index eb97d62900..01afd1e51e 100644 --- a/modules/mono/mono_gd/gd_mono_method.cpp +++ b/modules/mono/mono_gd/gd_mono_method.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_method.h b/modules/mono/mono_gd/gd_mono_method.h index ea4bc8e707..f1f6e51d45 100644 --- a/modules/mono/mono_gd/gd_mono_method.h +++ b/modules/mono/mono_gd/gd_mono_method.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/mono_gd/gd_mono_utils.cpp b/modules/mono/mono_gd/gd_mono_utils.cpp index 1cccd0ad9d..03f3053372 100644 --- a/modules/mono/mono_gd/gd_mono_utils.cpp +++ b/modules/mono/mono_gd/gd_mono_utils.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -95,7 +95,7 @@ void MonoCache::clear_members() { class_ExportAttribute = NULL; field_ExportAttribute_hint = NULL; - field_ExportAttribute_hint_string = NULL; + field_ExportAttribute_hintString = NULL; class_ToolAttribute = NULL; class_RemoteAttribute = NULL; class_SyncAttribute = NULL; @@ -163,7 +163,7 @@ void update_godot_api_cache() { // Attributes CACHE_CLASS_AND_CHECK(ExportAttribute, GODOT_API_CLASS(ExportAttribute)); CACHE_FIELD_AND_CHECK(ExportAttribute, hint, CACHED_CLASS(ExportAttribute)->get_field("hint")); - CACHE_FIELD_AND_CHECK(ExportAttribute, hint_string, CACHED_CLASS(ExportAttribute)->get_field("hint_string")); + CACHE_FIELD_AND_CHECK(ExportAttribute, hintString, CACHED_CLASS(ExportAttribute)->get_field("hintString")); CACHE_CLASS_AND_CHECK(ToolAttribute, GODOT_API_CLASS(ToolAttribute)); CACHE_CLASS_AND_CHECK(RemoteAttribute, GODOT_API_CLASS(RemoteAttribute)); CACHE_CLASS_AND_CHECK(SyncAttribute, GODOT_API_CLASS(SyncAttribute)); diff --git a/modules/mono/mono_gd/gd_mono_utils.h b/modules/mono/mono_gd/gd_mono_utils.h index c38f8c5af5..62d31f78fb 100644 --- a/modules/mono/mono_gd/gd_mono_utils.h +++ b/modules/mono/mono_gd/gd_mono_utils.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -97,7 +97,7 @@ struct MonoCache { GDMonoClass *class_ExportAttribute; GDMonoField *field_ExportAttribute_hint; - GDMonoField *field_ExportAttribute_hint_string; + GDMonoField *field_ExportAttribute_hintString; GDMonoClass *class_ToolAttribute; GDMonoClass *class_RemoteAttribute; GDMonoClass *class_SyncAttribute; diff --git a/modules/mono/register_types.cpp b/modules/mono/register_types.cpp index 217460a439..9bc384063d 100644 --- a/modules/mono/register_types.cpp +++ b/modules/mono/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/register_types.h b/modules/mono/register_types.h index 6cf706b944..d4f052b793 100644 --- a/modules/mono/register_types.h +++ b/modules/mono/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/signal_awaiter_utils.cpp b/modules/mono/signal_awaiter_utils.cpp index 47cc11cc0a..bad75224dc 100644 --- a/modules/mono/signal_awaiter_utils.cpp +++ b/modules/mono/signal_awaiter_utils.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/signal_awaiter_utils.h b/modules/mono/signal_awaiter_utils.h index 0d615b5826..97cf4238da 100644 --- a/modules/mono/signal_awaiter_utils.h +++ b/modules/mono/signal_awaiter_utils.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/utils/mono_reg_utils.cpp b/modules/mono/utils/mono_reg_utils.cpp index 2e90b3b716..8d91e16c5c 100644 --- a/modules/mono/utils/mono_reg_utils.cpp +++ b/modules/mono/utils/mono_reg_utils.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/utils/mono_reg_utils.h b/modules/mono/utils/mono_reg_utils.h index 599828aa80..80270ad794 100644 --- a/modules/mono/utils/mono_reg_utils.h +++ b/modules/mono/utils/mono_reg_utils.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/utils/path_utils.cpp b/modules/mono/utils/path_utils.cpp index 105c2c981e..dfbb1b9ba4 100644 --- a/modules/mono/utils/path_utils.cpp +++ b/modules/mono/utils/path_utils.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/utils/path_utils.h b/modules/mono/utils/path_utils.h index 445604300d..4e8d8f2815 100644 --- a/modules/mono/utils/path_utils.h +++ b/modules/mono/utils/path_utils.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/utils/string_utils.cpp b/modules/mono/utils/string_utils.cpp index 8f817771ac..4bea504d28 100644 --- a/modules/mono/utils/string_utils.cpp +++ b/modules/mono/utils/string_utils.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/mono/utils/string_utils.h b/modules/mono/utils/string_utils.h index a0d66ebdc3..b02abc77be 100644 --- a/modules/mono/utils/string_utils.h +++ b/modules/mono/utils/string_utils.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/ogg/register_types.cpp b/modules/ogg/register_types.cpp index 452e6e332a..993b2f9e1b 100644 --- a/modules/ogg/register_types.cpp +++ b/modules/ogg/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/ogg/register_types.h b/modules/ogg/register_types.h index a2a8b7cedc..39482dc71b 100644 --- a/modules/ogg/register_types.h +++ b/modules/ogg/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/openssl/register_types.cpp b/modules/openssl/register_types.cpp index 16563aabf7..e103b3b9bf 100644 --- a/modules/openssl/register_types.cpp +++ b/modules/openssl/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/openssl/register_types.h b/modules/openssl/register_types.h index 58f2d55c98..d87f1a31df 100644 --- a/modules/openssl/register_types.h +++ b/modules/openssl/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/openssl/stream_peer_openssl.cpp b/modules/openssl/stream_peer_openssl.cpp index 7e8b308cf8..30a03f9000 100644 --- a/modules/openssl/stream_peer_openssl.cpp +++ b/modules/openssl/stream_peer_openssl.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/openssl/stream_peer_openssl.h b/modules/openssl/stream_peer_openssl.h index ad09564447..a696e29d6c 100644 --- a/modules/openssl/stream_peer_openssl.h +++ b/modules/openssl/stream_peer_openssl.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/opus/audio_stream_opus.cpp b/modules/opus/audio_stream_opus.cpp index 5742102dae..260612e370 100644 --- a/modules/opus/audio_stream_opus.cpp +++ b/modules/opus/audio_stream_opus.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Author: George Marques <george@gmarqu.es> */ /* */ diff --git a/modules/opus/audio_stream_opus.h b/modules/opus/audio_stream_opus.h index f8d8f585cf..7be133b5bc 100644 --- a/modules/opus/audio_stream_opus.h +++ b/modules/opus/audio_stream_opus.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Author: George Marques <george@gmarqu.es> */ /* */ diff --git a/modules/opus/register_types.cpp b/modules/opus/register_types.cpp index a69c8bf9f3..41bee6d552 100644 --- a/modules/opus/register_types.cpp +++ b/modules/opus/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -34,13 +34,18 @@ static ResourceFormatLoaderAudioStreamOpus *opus_stream_loader = NULL; void register_opus_types() { + // Sorry guys, do not enable this unless you can figure out a way + // to get Opus to not do any memory allocation or system calls + // in the audio thread. + // Currently the implementation even reads files from the audio thread, + // and this is not how audio programming works. - opus_stream_loader = memnew(ResourceFormatLoaderAudioStreamOpus); - ResourceLoader::add_resource_format_loader(opus_stream_loader); - ClassDB::register_class<AudioStreamOpus>(); + //opus_stream_loader = memnew(ResourceFormatLoaderAudioStreamOpus); + //ResourceLoader::add_resource_format_loader(opus_stream_loader); + //ClassDB::register_class<AudioStreamOpus>(); } void unregister_opus_types() { - memdelete(opus_stream_loader); + //memdelete(opus_stream_loader); } diff --git a/modules/opus/register_types.h b/modules/opus/register_types.h index 1865b7966e..85a7efbfc0 100644 --- a/modules/opus/register_types.h +++ b/modules/opus/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/opus/stub/register_types.cpp b/modules/opus/stub/register_types.cpp index c5ae3e274e..449edcc0f5 100644 --- a/modules/opus/stub/register_types.cpp +++ b/modules/opus/stub/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/opus/stub/register_types.h b/modules/opus/stub/register_types.h index 4517dc5df7..c41cc4818c 100644 --- a/modules/opus/stub/register_types.h +++ b/modules/opus/stub/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/pbm/bitmap_loader_pbm.cpp b/modules/pbm/bitmap_loader_pbm.cpp index d222935970..39d238ae5c 100644 --- a/modules/pbm/bitmap_loader_pbm.cpp +++ b/modules/pbm/bitmap_loader_pbm.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/pbm/bitmap_loader_pbm.h b/modules/pbm/bitmap_loader_pbm.h index 85d3eadcb9..d5955adba3 100644 --- a/modules/pbm/bitmap_loader_pbm.h +++ b/modules/pbm/bitmap_loader_pbm.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/pbm/register_types.cpp b/modules/pbm/register_types.cpp index 60401b8cc9..c2a1585afa 100644 --- a/modules/pbm/register_types.cpp +++ b/modules/pbm/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/pbm/register_types.h b/modules/pbm/register_types.h index b75eff55d3..958e162da1 100644 --- a/modules/pbm/register_types.h +++ b/modules/pbm/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/pvr/register_types.cpp b/modules/pvr/register_types.cpp index 8fb78d7734..f1cd481a4a 100644 --- a/modules/pvr/register_types.cpp +++ b/modules/pvr/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/pvr/register_types.h b/modules/pvr/register_types.h index 4db8219b21..b53dd8da52 100644 --- a/modules/pvr/register_types.h +++ b/modules/pvr/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/pvr/texture_loader_pvr.cpp b/modules/pvr/texture_loader_pvr.cpp index 4415c888a4..5046526d81 100644 --- a/modules/pvr/texture_loader_pvr.cpp +++ b/modules/pvr/texture_loader_pvr.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/pvr/texture_loader_pvr.h b/modules/pvr/texture_loader_pvr.h index a51160d902..ae6df3658a 100644 --- a/modules/pvr/texture_loader_pvr.h +++ b/modules/pvr/texture_loader_pvr.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/recast/register_types.cpp b/modules/recast/register_types.cpp index 654ceec373..913857c591 100644 --- a/modules/recast/register_types.cpp +++ b/modules/recast/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/recast/register_types.h b/modules/recast/register_types.h index 90587bc11f..aaa32e0cdf 100644 --- a/modules/recast/register_types.h +++ b/modules/recast/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/regex/regex.cpp b/modules/regex/regex.cpp index daadfcc659..9bcbc4c4ea 100644 --- a/modules/regex/regex.cpp +++ b/modules/regex/regex.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/regex/regex.h b/modules/regex/regex.h index 21387222f2..04ebaf6f9e 100644 --- a/modules/regex/regex.h +++ b/modules/regex/regex.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/regex/register_types.cpp b/modules/regex/register_types.cpp index 7b042aaa52..14eba69ee0 100644 --- a/modules/regex/register_types.cpp +++ b/modules/regex/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/regex/register_types.h b/modules/regex/register_types.h index 1624fe18c8..872e5eece5 100644 --- a/modules/regex/register_types.h +++ b/modules/regex/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/register_module_types.h b/modules/register_module_types.h index 089055ffa0..4f9c2eb41f 100644 --- a/modules/register_module_types.h +++ b/modules/register_module_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/squish/image_compress_squish.cpp b/modules/squish/image_compress_squish.cpp index ac436c3c26..c97cee6e1d 100644 --- a/modules/squish/image_compress_squish.cpp +++ b/modules/squish/image_compress_squish.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/squish/image_compress_squish.h b/modules/squish/image_compress_squish.h index 0dff5a7ce3..83dab024b2 100644 --- a/modules/squish/image_compress_squish.h +++ b/modules/squish/image_compress_squish.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/squish/register_types.cpp b/modules/squish/register_types.cpp index d5aa1d4b71..600a33cdd6 100644 --- a/modules/squish/register_types.cpp +++ b/modules/squish/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/squish/register_types.h b/modules/squish/register_types.h index 0afeeeff3b..f9971f4f19 100644 --- a/modules/squish/register_types.h +++ b/modules/squish/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp b/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp index 6f5bbba8d1..7ab3d0a140 100644 --- a/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp +++ b/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/stb_vorbis/audio_stream_ogg_vorbis.h b/modules/stb_vorbis/audio_stream_ogg_vorbis.h index f4d381897b..f920047703 100644 --- a/modules/stb_vorbis/audio_stream_ogg_vorbis.h +++ b/modules/stb_vorbis/audio_stream_ogg_vorbis.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/stb_vorbis/register_types.cpp b/modules/stb_vorbis/register_types.cpp index abd01e9a14..992cc1f159 100644 --- a/modules/stb_vorbis/register_types.cpp +++ b/modules/stb_vorbis/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/stb_vorbis/register_types.h b/modules/stb_vorbis/register_types.h index 8e2d5e78f8..9af22e2374 100644 --- a/modules/stb_vorbis/register_types.h +++ b/modules/stb_vorbis/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/stb_vorbis/resource_importer_ogg_vorbis.cpp b/modules/stb_vorbis/resource_importer_ogg_vorbis.cpp index 4d28dc027b..db4443255d 100644 --- a/modules/stb_vorbis/resource_importer_ogg_vorbis.cpp +++ b/modules/stb_vorbis/resource_importer_ogg_vorbis.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/stb_vorbis/resource_importer_ogg_vorbis.h b/modules/stb_vorbis/resource_importer_ogg_vorbis.h index 8134009704..9b7bf1946e 100644 --- a/modules/stb_vorbis/resource_importer_ogg_vorbis.h +++ b/modules/stb_vorbis/resource_importer_ogg_vorbis.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/svg/image_loader_svg.cpp b/modules/svg/image_loader_svg.cpp index 9c198ea98e..ea538a2895 100644 --- a/modules/svg/image_loader_svg.cpp +++ b/modules/svg/image_loader_svg.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/svg/image_loader_svg.h b/modules/svg/image_loader_svg.h index cf44cd8c50..61bf390bc7 100644 --- a/modules/svg/image_loader_svg.h +++ b/modules/svg/image_loader_svg.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/svg/register_types.cpp b/modules/svg/register_types.cpp index e37239f27a..ddd63009f7 100644 --- a/modules/svg/register_types.cpp +++ b/modules/svg/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/svg/register_types.h b/modules/svg/register_types.h index 49d550e7c9..8759e3cdd5 100644 --- a/modules/svg/register_types.h +++ b/modules/svg/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/tga/image_loader_tga.cpp b/modules/tga/image_loader_tga.cpp index d7a1ce7308..dec8526b0a 100644 --- a/modules/tga/image_loader_tga.cpp +++ b/modules/tga/image_loader_tga.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/tga/image_loader_tga.h b/modules/tga/image_loader_tga.h index 7905ab37a7..2a0b6f4504 100644 --- a/modules/tga/image_loader_tga.h +++ b/modules/tga/image_loader_tga.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/tga/register_types.cpp b/modules/tga/register_types.cpp index 814b21d368..81991b1142 100644 --- a/modules/tga/register_types.cpp +++ b/modules/tga/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/tga/register_types.h b/modules/tga/register_types.h index 10812981f8..1b6f66a4d0 100644 --- a/modules/tga/register_types.h +++ b/modules/tga/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/thekla_unwrap/register_types.cpp b/modules/thekla_unwrap/register_types.cpp index da6c1bab2a..eb11325dde 100644 --- a/modules/thekla_unwrap/register_types.cpp +++ b/modules/thekla_unwrap/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,7 +28,9 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ #include "register_types.h" +#include "error_macros.h" #include "thirdparty/thekla_atlas/thekla/thekla_atlas.h" + #include <stdio.h> #include <stdlib.h> extern bool (*array_mesh_lightmap_unwrap_callback)(float p_texel_size, const float *p_vertices, const float *p_normals, int p_vertex_count, const int *p_indices, const int *p_face_materials, int p_index_count, float **r_uv, int **r_vertex, int *r_vertex_count, int **r_index, int *r_index_count, int *r_size_hint_x, int *r_size_hint_y); @@ -74,6 +76,11 @@ bool thekla_mesh_lightmap_unwrap_callback(float p_texel_size, const float *p_ver delete[] input_mesh.face_array; delete[] input_mesh.vertex_array; + if (output == NULL) { + ERR_PRINT("could not generate atlas output mesh"); + return false; + } + if (err != Thekla::Atlas_Error_Success) { printf("error with atlas\n"); } else { diff --git a/modules/thekla_unwrap/register_types.h b/modules/thekla_unwrap/register_types.h index 2bc3d16c64..7a542592b5 100644 --- a/modules/thekla_unwrap/register_types.h +++ b/modules/thekla_unwrap/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/theora/register_types.cpp b/modules/theora/register_types.cpp index c51b87b8fc..c6d125226b 100644 --- a/modules/theora/register_types.cpp +++ b/modules/theora/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/theora/register_types.h b/modules/theora/register_types.h index 7011ee44d0..69b43744b5 100644 --- a/modules/theora/register_types.h +++ b/modules/theora/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/theora/resource_importer_theora.cpp b/modules/theora/resource_importer_theora.cpp index c25c0e7427..0c9a21c825 100644 --- a/modules/theora/resource_importer_theora.cpp +++ b/modules/theora/resource_importer_theora.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/theora/resource_importer_theora.h b/modules/theora/resource_importer_theora.h index 8bf0ad38c4..913bf87a42 100644 --- a/modules/theora/resource_importer_theora.h +++ b/modules/theora/resource_importer_theora.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/theora/video_stream_theora.cpp b/modules/theora/video_stream_theora.cpp index bc8ca23d60..2ff3fb6d7a 100644 --- a/modules/theora/video_stream_theora.cpp +++ b/modules/theora/video_stream_theora.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -309,9 +309,6 @@ void VideoStreamPlaybackTheora::set_file(const String &p_file) { /* and now we have it all. initialize decoders */ if (theora_p) { td = th_decode_alloc(&ti, ts); - printf("Ogg logical stream %lx is Theora %dx%d %.02f fps", - to.serialno, ti.pic_width, ti.pic_height, - (double)ti.fps_numerator / ti.fps_denominator); px_fmt = ti.pixel_fmt; switch (ti.pixel_fmt) { case TH_PF_420: printf(" 4:2:0 video\n"); break; @@ -322,9 +319,6 @@ void VideoStreamPlaybackTheora::set_file(const String &p_file) { printf(" video\n (UNKNOWN Chroma sampling!)\n"); break; } - if (ti.pic_width != ti.frame_width || ti.pic_height != ti.frame_height) - printf(" Frame content is %dx%d with offset (%d,%d).\n", - ti.frame_width, ti.frame_height, ti.pic_x, ti.pic_y); th_decode_ctl(td, TH_DECCTL_GET_PPLEVEL_MAX, &pp_level_max, sizeof(pp_level_max)); pp_level = 0; @@ -351,10 +345,7 @@ void VideoStreamPlaybackTheora::set_file(const String &p_file) { if (vorbis_p) { vorbis_synthesis_init(&vd, &vi); vorbis_block_init(&vd, &vb); - fprintf(stderr, "Ogg logical stream %lx is Vorbis %d channel %ld Hz audio.\n", - vo.serialno, vi.channels, vi.rate); //_setup(vi.channels, vi.rate); - } else { /* tear down the partial vorbis setup */ vorbis_info_clear(&vi); diff --git a/modules/theora/video_stream_theora.h b/modules/theora/video_stream_theora.h index ec0e5aa34a..cbcdd34bfc 100644 --- a/modules/theora/video_stream_theora.h +++ b/modules/theora/video_stream_theora.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/tinyexr/image_loader_tinyexr.cpp b/modules/tinyexr/image_loader_tinyexr.cpp index c88662454c..c4d9e7c7e0 100644 --- a/modules/tinyexr/image_loader_tinyexr.cpp +++ b/modules/tinyexr/image_loader_tinyexr.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/tinyexr/image_loader_tinyexr.h b/modules/tinyexr/image_loader_tinyexr.h index 53a81597af..b46c9582e1 100644 --- a/modules/tinyexr/image_loader_tinyexr.h +++ b/modules/tinyexr/image_loader_tinyexr.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/tinyexr/register_types.cpp b/modules/tinyexr/register_types.cpp index 4bbafbc90a..648cc98c25 100644 --- a/modules/tinyexr/register_types.cpp +++ b/modules/tinyexr/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/tinyexr/register_types.h b/modules/tinyexr/register_types.h index e866bb7624..e2bd8a0cbe 100644 --- a/modules/tinyexr/register_types.h +++ b/modules/tinyexr/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/register_types.cpp b/modules/visual_script/register_types.cpp index ecdca7eb42..a9c6554198 100644 --- a/modules/visual_script/register_types.cpp +++ b/modules/visual_script/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/register_types.h b/modules/visual_script/register_types.h index 4fb03bc227..3d6eb25d10 100644 --- a/modules/visual_script/register_types.h +++ b/modules/visual_script/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script.cpp b/modules/visual_script/visual_script.cpp index 53d93798d9..26c3aed465 100644 --- a/modules/visual_script/visual_script.cpp +++ b/modules/visual_script/visual_script.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script.h b/modules/visual_script/visual_script.h index 3e31876941..76eadece66 100644 --- a/modules/visual_script/visual_script.h +++ b/modules/visual_script/visual_script.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_builtin_funcs.cpp b/modules/visual_script/visual_script_builtin_funcs.cpp index 32f7519125..3ace2de176 100644 --- a/modules/visual_script/visual_script_builtin_funcs.cpp +++ b/modules/visual_script/visual_script_builtin_funcs.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_builtin_funcs.h b/modules/visual_script/visual_script_builtin_funcs.h index 54dc997b38..1e098535f3 100644 --- a/modules/visual_script/visual_script_builtin_funcs.h +++ b/modules/visual_script/visual_script_builtin_funcs.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp index faf3aecbd4..dfd563499f 100644 --- a/modules/visual_script/visual_script_editor.cpp +++ b/modules/visual_script/visual_script_editor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_editor.h b/modules/visual_script/visual_script_editor.h index 3d037e82ea..48b6a92b76 100644 --- a/modules/visual_script/visual_script_editor.h +++ b/modules/visual_script/visual_script_editor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_expression.cpp b/modules/visual_script/visual_script_expression.cpp index ba58a8e1c0..2a051b3288 100644 --- a/modules/visual_script/visual_script_expression.cpp +++ b/modules/visual_script/visual_script_expression.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_expression.h b/modules/visual_script/visual_script_expression.h index 2636e79842..628f06fc0b 100644 --- a/modules/visual_script/visual_script_expression.h +++ b/modules/visual_script/visual_script_expression.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_flow_control.cpp b/modules/visual_script/visual_script_flow_control.cpp index 147761783a..56aeeac7fb 100644 --- a/modules/visual_script/visual_script_flow_control.cpp +++ b/modules/visual_script/visual_script_flow_control.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_flow_control.h b/modules/visual_script/visual_script_flow_control.h index 4766bbef6b..c985d1b9a9 100644 --- a/modules/visual_script/visual_script_flow_control.h +++ b/modules/visual_script/visual_script_flow_control.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp index cbe4438cdf..345d2f7df8 100644 --- a/modules/visual_script/visual_script_func_nodes.cpp +++ b/modules/visual_script/visual_script_func_nodes.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_func_nodes.h b/modules/visual_script/visual_script_func_nodes.h index a9a0bd083f..925f3b94aa 100644 --- a/modules/visual_script/visual_script_func_nodes.h +++ b/modules/visual_script/visual_script_func_nodes.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_nodes.cpp b/modules/visual_script/visual_script_nodes.cpp index 5f98951bec..a41b3fc6c9 100644 --- a/modules/visual_script/visual_script_nodes.cpp +++ b/modules/visual_script/visual_script_nodes.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_nodes.h b/modules/visual_script/visual_script_nodes.h index 6648f57e7b..d49f64f3a6 100644 --- a/modules/visual_script/visual_script_nodes.h +++ b/modules/visual_script/visual_script_nodes.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_yield_nodes.cpp b/modules/visual_script/visual_script_yield_nodes.cpp index 3c9076246d..1961809be0 100644 --- a/modules/visual_script/visual_script_yield_nodes.cpp +++ b/modules/visual_script/visual_script_yield_nodes.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/visual_script/visual_script_yield_nodes.h b/modules/visual_script/visual_script_yield_nodes.h index 4a595a875a..b6efd88c0e 100644 --- a/modules/visual_script/visual_script_yield_nodes.h +++ b/modules/visual_script/visual_script_yield_nodes.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/vorbis/audio_stream_ogg_vorbis.cpp b/modules/vorbis/audio_stream_ogg_vorbis.cpp index 03c0bfb1c2..999c06f664 100644 --- a/modules/vorbis/audio_stream_ogg_vorbis.cpp +++ b/modules/vorbis/audio_stream_ogg_vorbis.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/vorbis/audio_stream_ogg_vorbis.h b/modules/vorbis/audio_stream_ogg_vorbis.h index 5000d03fd4..24102a43ec 100644 --- a/modules/vorbis/audio_stream_ogg_vorbis.h +++ b/modules/vorbis/audio_stream_ogg_vorbis.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/vorbis/register_types.cpp b/modules/vorbis/register_types.cpp index 270a58e7fe..ffa3971c3e 100644 --- a/modules/vorbis/register_types.cpp +++ b/modules/vorbis/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/vorbis/register_types.h b/modules/vorbis/register_types.h index db317e9f6a..8e54747036 100644 --- a/modules/vorbis/register_types.h +++ b/modules/vorbis/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/vorbis/stub/register_types.cpp b/modules/vorbis/stub/register_types.cpp index b93d890436..39abb9aafc 100644 --- a/modules/vorbis/stub/register_types.cpp +++ b/modules/vorbis/stub/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/vorbis/stub/register_types.h b/modules/vorbis/stub/register_types.h index e7cde7a66c..a6c51fb3e1 100644 --- a/modules/vorbis/stub/register_types.h +++ b/modules/vorbis/stub/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webm/register_types.cpp b/modules/webm/register_types.cpp index 669c9997f1..10c06ca4e5 100644 --- a/modules/webm/register_types.cpp +++ b/modules/webm/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webm/register_types.h b/modules/webm/register_types.h index 94ff7de739..a429a9a398 100644 --- a/modules/webm/register_types.h +++ b/modules/webm/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webm/resource_importer_webm.cpp b/modules/webm/resource_importer_webm.cpp index 5db3d4df2e..2ea1485437 100644 --- a/modules/webm/resource_importer_webm.cpp +++ b/modules/webm/resource_importer_webm.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webm/resource_importer_webm.h b/modules/webm/resource_importer_webm.h index 4cedd1598d..7cce805e70 100644 --- a/modules/webm/resource_importer_webm.h +++ b/modules/webm/resource_importer_webm.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webm/video_stream_webm.cpp b/modules/webm/video_stream_webm.cpp index b055ccf5aa..e915af3e6c 100644 --- a/modules/webm/video_stream_webm.cpp +++ b/modules/webm/video_stream_webm.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webm/video_stream_webm.h b/modules/webm/video_stream_webm.h index f7dd16a38f..c0b4490bf5 100644 --- a/modules/webm/video_stream_webm.h +++ b/modules/webm/video_stream_webm.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webp/image_loader_webp.cpp b/modules/webp/image_loader_webp.cpp index 8fe2db9e27..903b456540 100644 --- a/modules/webp/image_loader_webp.cpp +++ b/modules/webp/image_loader_webp.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webp/image_loader_webp.h b/modules/webp/image_loader_webp.h index f7ef210458..b00c8b1b05 100644 --- a/modules/webp/image_loader_webp.h +++ b/modules/webp/image_loader_webp.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webp/register_types.cpp b/modules/webp/register_types.cpp index 95e5cd105d..86eb558dff 100644 --- a/modules/webp/register_types.cpp +++ b/modules/webp/register_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/webp/register_types.h b/modules/webp/register_types.h index 7ec926c572..025bc49be1 100644 --- a/modules/webp/register_types.h +++ b/modules/webp/register_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/SCsub b/platform/android/SCsub index 0cd91276ef..d2285a82dd 100644 --- a/platform/android/SCsub +++ b/platform/android/SCsub @@ -104,7 +104,7 @@ gradle_asset_dirs_text = "" gradle_default_config_text = "" minSdk = 18 -targetSdk = 23 +targetSdk = 27 for x in env.android_default_config: if x.startswith("minSdkVersion") and int(x.split(" ")[-1]) < minSdk: diff --git a/platform/android/audio_driver_jandroid.cpp b/platform/android/audio_driver_jandroid.cpp index 4a3bdd877d..1f05d6cd9b 100644 --- a/platform/android/audio_driver_jandroid.cpp +++ b/platform/android/audio_driver_jandroid.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/audio_driver_jandroid.h b/platform/android/audio_driver_jandroid.h index 8135641a62..5cd8eb8e0c 100644 --- a/platform/android/audio_driver_jandroid.h +++ b/platform/android/audio_driver_jandroid.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/audio_driver_opensl.cpp b/platform/android/audio_driver_opensl.cpp index 9ebed84ace..f0218e13bd 100644 --- a/platform/android/audio_driver_opensl.cpp +++ b/platform/android/audio_driver_opensl.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/audio_driver_opensl.h b/platform/android/audio_driver_opensl.h index b505c5fe8a..9dc74c6c8a 100644 --- a/platform/android/audio_driver_opensl.h +++ b/platform/android/audio_driver_opensl.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/build.gradle.template b/platform/android/build.gradle.template index 4a44d1c5f9..13b4d3b6c7 100644 --- a/platform/android/build.gradle.template +++ b/platform/android/build.gradle.template @@ -31,8 +31,8 @@ android { disable 'MissingTranslation' } - compileSdkVersion 26 - buildToolsVersion "26.0.1" + compileSdkVersion 27 + buildToolsVersion "27.0.3" useLibrary 'org.apache.http.legacy' packagingOptions { diff --git a/platform/android/dir_access_android.cpp b/platform/android/dir_access_android.cpp index 9653a585b1..c6e11ec505 100644 --- a/platform/android/dir_access_android.cpp +++ b/platform/android/dir_access_android.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/dir_access_android.h b/platform/android/dir_access_android.h index 2f63befc32..970202b5cc 100644 --- a/platform/android/dir_access_android.h +++ b/platform/android/dir_access_android.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/dir_access_jandroid.cpp b/platform/android/dir_access_jandroid.cpp index 26e4684056..6abab3edf6 100644 --- a/platform/android/dir_access_jandroid.cpp +++ b/platform/android/dir_access_jandroid.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/dir_access_jandroid.h b/platform/android/dir_access_jandroid.h index ad89be3581..4a9112fb27 100644 --- a/platform/android/dir_access_jandroid.h +++ b/platform/android/dir_access_jandroid.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index d4c079cfc6..922a53621f 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/export/export.h b/platform/android/export/export.h index 40ce129dcd..eb18e04863 100644 --- a/platform/android/export/export.h +++ b/platform/android/export/export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/file_access_android.cpp b/platform/android/file_access_android.cpp index 0fdf9002d7..d958ef8294 100644 --- a/platform/android/file_access_android.cpp +++ b/platform/android/file_access_android.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/file_access_android.h b/platform/android/file_access_android.h index c8fedbe684..f44c19f963 100644 --- a/platform/android/file_access_android.h +++ b/platform/android/file_access_android.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/file_access_jandroid.cpp b/platform/android/file_access_jandroid.cpp index 980afd8f46..4285a136a2 100644 --- a/platform/android/file_access_jandroid.cpp +++ b/platform/android/file_access_jandroid.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/file_access_jandroid.h b/platform/android/file_access_jandroid.h index 368d2c98fa..c537f2f01a 100644 --- a/platform/android/file_access_jandroid.h +++ b/platform/android/file_access_jandroid.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/globals/global_defaults.cpp b/platform/android/globals/global_defaults.cpp index 0e1c17e9c8..4a7dd07090 100644 --- a/platform/android/globals/global_defaults.cpp +++ b/platform/android/globals/global_defaults.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/globals/global_defaults.h b/platform/android/globals/global_defaults.h index 8c918414d3..412942eb88 100644 --- a/platform/android/globals/global_defaults.h +++ b/platform/android/globals/global_defaults.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/godot_android.cpp b/platform/android/godot_android.cpp index 8c4a4726ae..1643be7763 100644 --- a/platform/android/godot_android.cpp +++ b/platform/android/godot_android.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/gradle/wrapper/gradle-wrapper.properties b/platform/android/java/gradle/wrapper/gradle-wrapper.properties index ee6901c9d7..fe37fa74a9 100644 --- a/platform/android/java/gradle/wrapper/gradle-wrapper.properties +++ b/platform/android/java/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip diff --git a/platform/android/java/src/org/godotengine/godot/Dictionary.java b/platform/android/java/src/org/godotengine/godot/Dictionary.java index 2bc9c083aa..b7ced69d0e 100644 --- a/platform/android/java/src/org/godotengine/godot/Dictionary.java +++ b/platform/android/java/src/org/godotengine/godot/Dictionary.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java index 3939ceb2e7..d6e060f8d5 100644 --- a/platform/android/java/src/org/godotengine/godot/Godot.java +++ b/platform/android/java/src/org/godotengine/godot/Godot.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java b/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java index 568c7a4140..a3fed28c6f 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java +++ b/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java b/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java index b8b3b925c5..9da705409b 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java +++ b/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/GodotIO.java b/platform/android/java/src/org/godotengine/godot/GodotIO.java index 12a2467a29..2382288ca8 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotIO.java +++ b/platform/android/java/src/org/godotengine/godot/GodotIO.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/GodotLib.java b/platform/android/java/src/org/godotengine/godot/GodotLib.java index 873d30eb34..9deb9dcb35 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotLib.java +++ b/platform/android/java/src/org/godotengine/godot/GodotLib.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java b/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java index 61d10ed9e4..7db0ef1b18 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java +++ b/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/GodotView.java b/platform/android/java/src/org/godotengine/godot/GodotView.java index b762aa021a..db7daa1307 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotView.java +++ b/platform/android/java/src/org/godotengine/godot/GodotView.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java b/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java index 9e062d89c6..df62ac5a01 100644 --- a/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java +++ b/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java index 8e34d9e9e7..eb3075fdfc 100644 --- a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java +++ b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java b/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java index d6f26e19b2..f78e454d93 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java b/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java index 31f6396738..747eea5e5c 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java b/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java index 80f53d16c8..b49244cf09 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java b/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java index f9828ef77d..05e634c13c 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java +++ b/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java b/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java index 71407566e2..8086489897 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java +++ b/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java b/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java index e2f08345ad..a31b6ed9f2 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java b/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java index 765906d0bb..6ab6673183 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java b/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java index 3e62ef282a..c10008c4e1 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/utils/Crypt.java b/platform/android/java/src/org/godotengine/godot/utils/Crypt.java index 35e4e430a4..cdaf60bded 100644 --- a/platform/android/java/src/org/godotengine/godot/utils/Crypt.java +++ b/platform/android/java/src/org/godotengine/godot/utils/Crypt.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java b/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java index bfcf7e3b2a..7bd8fb63b2 100644 --- a/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java +++ b/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java b/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java index 81a642af9f..ae1233674e 100644 --- a/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java +++ b/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java b/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java index 051fed5500..7df98fab85 100644 --- a/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java +++ b/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java_class_wrapper.cpp b/platform/android/java_class_wrapper.cpp index 892e64cdfc..1d03c3671a 100644 --- a/platform/android/java_class_wrapper.cpp +++ b/platform/android/java_class_wrapper.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java_class_wrapper.h b/platform/android/java_class_wrapper.h index 1274b4bea9..4b374bc216 100644 --- a/platform/android/java_class_wrapper.h +++ b/platform/android/java_class_wrapper.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java_glue.cpp b/platform/android/java_glue.cpp index 1e28ef4c6a..25aee74c46 100644 --- a/platform/android/java_glue.cpp +++ b/platform/android/java_glue.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java_glue.h b/platform/android/java_glue.h index 4790c65617..fb997e950b 100644 --- a/platform/android/java_glue.h +++ b/platform/android/java_glue.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp index b575f15559..97e81874c9 100644 --- a/platform/android/os_android.cpp +++ b/platform/android/os_android.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -248,6 +248,9 @@ void OS_Android::set_cursor_shape(CursorShape p_shape) { //android really really really has no mouse.. how amazing.. } +void OS_Android::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { +} + void OS_Android::main_loop_begin() { if (main_loop) diff --git a/platform/android/os_android.h b/platform/android/os_android.h index 3b7f55096e..adfd88b59b 100644 --- a/platform/android/os_android.h +++ b/platform/android/os_android.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -182,6 +182,7 @@ public: virtual bool can_draw() const; virtual void set_cursor_shape(CursorShape p_shape); + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); void main_loop_begin(); bool main_loop_iterate(); diff --git a/platform/android/platform_config.h b/platform/android/platform_config.h index b1f51c9256..3b3ea3930c 100644 --- a/platform/android/platform_config.h +++ b/platform/android/platform_config.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/power_android.cpp b/platform/android/power_android.cpp index 54fb435b62..51283183df 100644 --- a/platform/android/power_android.cpp +++ b/platform/android/power_android.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/power_android.h b/platform/android/power_android.h index 4c7af1c771..f0d1bee1e2 100644 --- a/platform/android/power_android.h +++ b/platform/android/power_android.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/thread_jandroid.cpp b/platform/android/thread_jandroid.cpp index 79488197ea..29c4e7301c 100644 --- a/platform/android/thread_jandroid.cpp +++ b/platform/android/thread_jandroid.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/thread_jandroid.h b/platform/android/thread_jandroid.h index b854a83e23..37b3b38408 100644 --- a/platform/android/thread_jandroid.h +++ b/platform/android/thread_jandroid.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/audio_driver_media_kit.cpp b/platform/haiku/audio_driver_media_kit.cpp index 4d8d580660..f687339fec 100644 --- a/platform/haiku/audio_driver_media_kit.cpp +++ b/platform/haiku/audio_driver_media_kit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/audio_driver_media_kit.h b/platform/haiku/audio_driver_media_kit.h index 2f4752a973..844ab4c60e 100644 --- a/platform/haiku/audio_driver_media_kit.h +++ b/platform/haiku/audio_driver_media_kit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/context_gl_haiku.cpp b/platform/haiku/context_gl_haiku.cpp index 80d0bd78d5..9332e93389 100644 --- a/platform/haiku/context_gl_haiku.cpp +++ b/platform/haiku/context_gl_haiku.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/context_gl_haiku.h b/platform/haiku/context_gl_haiku.h index a9a13a2b7f..193c1e77f9 100644 --- a/platform/haiku/context_gl_haiku.h +++ b/platform/haiku/context_gl_haiku.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/godot_haiku.cpp b/platform/haiku/godot_haiku.cpp index ffc6e56cdd..d207d36606 100644 --- a/platform/haiku/godot_haiku.cpp +++ b/platform/haiku/godot_haiku.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/haiku_application.cpp b/platform/haiku/haiku_application.cpp index e2649b15a4..d7fa505b79 100644 --- a/platform/haiku/haiku_application.cpp +++ b/platform/haiku/haiku_application.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/haiku_application.h b/platform/haiku/haiku_application.h index 2162cae892..4408f466fb 100644 --- a/platform/haiku/haiku_application.h +++ b/platform/haiku/haiku_application.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/haiku_direct_window.cpp b/platform/haiku/haiku_direct_window.cpp index aa25064ccb..cf33e42220 100644 --- a/platform/haiku/haiku_direct_window.cpp +++ b/platform/haiku/haiku_direct_window.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/haiku_direct_window.h b/platform/haiku/haiku_direct_window.h index 0f3e9de85b..0bdcb51ca1 100644 --- a/platform/haiku/haiku_direct_window.h +++ b/platform/haiku/haiku_direct_window.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/haiku_gl_view.cpp b/platform/haiku/haiku_gl_view.cpp index bb9c439e94..e47dc2f726 100644 --- a/platform/haiku/haiku_gl_view.cpp +++ b/platform/haiku/haiku_gl_view.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/haiku_gl_view.h b/platform/haiku/haiku_gl_view.h index 10facfe0c3..e67f3e6b0a 100644 --- a/platform/haiku/haiku_gl_view.h +++ b/platform/haiku/haiku_gl_view.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/key_mapping_haiku.cpp b/platform/haiku/key_mapping_haiku.cpp index 074f03f471..62671b0cc3 100644 --- a/platform/haiku/key_mapping_haiku.cpp +++ b/platform/haiku/key_mapping_haiku.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/key_mapping_haiku.h b/platform/haiku/key_mapping_haiku.h index 943ba21e7c..5a1b9f9134 100644 --- a/platform/haiku/key_mapping_haiku.h +++ b/platform/haiku/key_mapping_haiku.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/os_haiku.cpp b/platform/haiku/os_haiku.cpp index f7196755af..65a220f8ca 100644 --- a/platform/haiku/os_haiku.cpp +++ b/platform/haiku/os_haiku.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -200,6 +200,10 @@ void OS_Haiku::set_cursor_shape(CursorShape p_shape) { //ERR_PRINT("set_cursor_shape() NOT IMPLEMENTED"); } +void OS_Haiku::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { + // TODO +} + int OS_Haiku::get_screen_count() const { // TODO: implement get_screen_count() return 1; diff --git a/platform/haiku/os_haiku.h b/platform/haiku/os_haiku.h index 4ee54fb48d..6d69c1997f 100644 --- a/platform/haiku/os_haiku.h +++ b/platform/haiku/os_haiku.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -87,6 +87,7 @@ public: virtual Point2 get_mouse_position() const; virtual int get_mouse_button_state() const; virtual void set_cursor_shape(CursorShape p_shape); + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); virtual int get_screen_count() const; virtual int get_current_screen() const; diff --git a/platform/haiku/platform_config.h b/platform/haiku/platform_config.h index 27731a7b74..5a7bc3db23 100644 --- a/platform/haiku/platform_config.h +++ b/platform/haiku/platform_config.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/power_haiku.cpp b/platform/haiku/power_haiku.cpp index 73d60e9fec..2a26dd0f9c 100644 --- a/platform/haiku/power_haiku.cpp +++ b/platform/haiku/power_haiku.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/haiku/power_haiku.h b/platform/haiku/power_haiku.h index 59a93cd976..2fe85cd23d 100644 --- a/platform/haiku/power_haiku.h +++ b/platform/haiku/power_haiku.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/app_delegate.h b/platform/iphone/app_delegate.h index 4a1f52565a..11656ca1f3 100644 --- a/platform/iphone/app_delegate.h +++ b/platform/iphone/app_delegate.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/app_delegate.mm b/platform/iphone/app_delegate.mm index 111cdce2de..96f542c170 100644 --- a/platform/iphone/app_delegate.mm +++ b/platform/iphone/app_delegate.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/export/export.cpp b/platform/iphone/export/export.cpp index 9ea8d58db0..99d44f3b5e 100644 --- a/platform/iphone/export/export.cpp +++ b/platform/iphone/export/export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/export/export.h b/platform/iphone/export/export.h index 1b96b8338a..f67c34a626 100644 --- a/platform/iphone/export/export.h +++ b/platform/iphone/export/export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/game_center.h b/platform/iphone/game_center.h index 21f40fa362..bf7ec1f93e 100644 --- a/platform/iphone/game_center.h +++ b/platform/iphone/game_center.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/game_center.mm b/platform/iphone/game_center.mm index d2104ae765..958158c254 100644 --- a/platform/iphone/game_center.mm +++ b/platform/iphone/game_center.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/gl_view.h b/platform/iphone/gl_view.h index f7309396c6..85376ebc08 100644 --- a/platform/iphone/gl_view.h +++ b/platform/iphone/gl_view.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/gl_view.mm b/platform/iphone/gl_view.mm index 02da706cc5..f0dafacd03 100644 --- a/platform/iphone/gl_view.mm +++ b/platform/iphone/gl_view.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/globals/global_defaults.cpp b/platform/iphone/globals/global_defaults.cpp index b81e6def3b..97a7ec1678 100644 --- a/platform/iphone/globals/global_defaults.cpp +++ b/platform/iphone/globals/global_defaults.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/globals/global_defaults.h b/platform/iphone/globals/global_defaults.h index ee8ae833b9..f58659ebff 100644 --- a/platform/iphone/globals/global_defaults.h +++ b/platform/iphone/globals/global_defaults.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/godot_iphone.cpp b/platform/iphone/godot_iphone.cpp index 7d21d35e18..440dae5da5 100644 --- a/platform/iphone/godot_iphone.cpp +++ b/platform/iphone/godot_iphone.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/icloud.h b/platform/iphone/icloud.h index 6944ee6749..d2514919ba 100644 --- a/platform/iphone/icloud.h +++ b/platform/iphone/icloud.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/icloud.mm b/platform/iphone/icloud.mm index 097018f296..db4d86b812 100644 --- a/platform/iphone/icloud.mm +++ b/platform/iphone/icloud.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/in_app_store.h b/platform/iphone/in_app_store.h index 4c12f825c1..28f23d77e1 100644 --- a/platform/iphone/in_app_store.h +++ b/platform/iphone/in_app_store.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/in_app_store.mm b/platform/iphone/in_app_store.mm index 31d3659802..3399a64732 100644 --- a/platform/iphone/in_app_store.mm +++ b/platform/iphone/in_app_store.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/ios.h b/platform/iphone/ios.h index 0c2e6b4aa6..aca0ac54a9 100644 --- a/platform/iphone/ios.h +++ b/platform/iphone/ios.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/ios.mm b/platform/iphone/ios.mm index add0949f94..48104b9c4f 100644 --- a/platform/iphone/ios.mm +++ b/platform/iphone/ios.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/main.m b/platform/iphone/main.m index 0de5c3b41b..dfe468dc13 100644 --- a/platform/iphone/main.m +++ b/platform/iphone/main.m @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/os_iphone.cpp b/platform/iphone/os_iphone.cpp index 1c7f41b464..507d4f22db 100644 --- a/platform/iphone/os_iphone.cpp +++ b/platform/iphone/os_iphone.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -490,6 +490,8 @@ String OSIPhone::get_user_data_dir() const { return data_dir; }; +void OSIPhone::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot){}; + String OSIPhone::get_name() { return "iOS"; diff --git a/platform/iphone/os_iphone.h b/platform/iphone/os_iphone.h index 3f989b49be..8e701a7fab 100644 --- a/platform/iphone/os_iphone.h +++ b/platform/iphone/os_iphone.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -173,6 +173,7 @@ public: virtual int get_virtual_keyboard_height() const; virtual void set_cursor_shape(CursorShape p_shape); + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); virtual Size2 get_window_size() const; diff --git a/platform/iphone/platform_config.h b/platform/iphone/platform_config.h index 7ff6e7a9a9..373c70d822 100644 --- a/platform/iphone/platform_config.h +++ b/platform/iphone/platform_config.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/platform_refcount.h b/platform/iphone/platform_refcount.h index 8d04340793..90e716e4e4 100644 --- a/platform/iphone/platform_refcount.h +++ b/platform/iphone/platform_refcount.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/power_iphone.cpp b/platform/iphone/power_iphone.cpp index 03afdb15f9..95a9aa9705 100644 --- a/platform/iphone/power_iphone.cpp +++ b/platform/iphone/power_iphone.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/power_iphone.h b/platform/iphone/power_iphone.h index 6270a8069c..9619064915 100644 --- a/platform/iphone/power_iphone.h +++ b/platform/iphone/power_iphone.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/sem_iphone.cpp b/platform/iphone/sem_iphone.cpp index 623749f891..04eb6e9332 100644 --- a/platform/iphone/sem_iphone.cpp +++ b/platform/iphone/sem_iphone.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/sem_iphone.h b/platform/iphone/sem_iphone.h index 9ae201557f..8311538419 100644 --- a/platform/iphone/sem_iphone.h +++ b/platform/iphone/sem_iphone.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/view_controller.h b/platform/iphone/view_controller.h index ed33e5fdf3..cd08be3aa7 100644 --- a/platform/iphone/view_controller.h +++ b/platform/iphone/view_controller.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/iphone/view_controller.mm b/platform/iphone/view_controller.mm index 23d60cc5d5..f6487ea6c8 100644 --- a/platform/iphone/view_controller.mm +++ b/platform/iphone/view_controller.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/api/api.cpp b/platform/javascript/api/api.cpp index f2b2ca40bf..fe3b20b7a0 100644 --- a/platform/javascript/api/api.cpp +++ b/platform/javascript/api/api.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/api/api.h b/platform/javascript/api/api.h index 53cd9239fc..ab3e47ec31 100644 --- a/platform/javascript/api/api.h +++ b/platform/javascript/api/api.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/api/javascript_eval.h b/platform/javascript/api/javascript_eval.h index 4d0b0b21ff..d39d97f7c5 100644 --- a/platform/javascript/api/javascript_eval.h +++ b/platform/javascript/api/javascript_eval.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/audio_driver_javascript.cpp b/platform/javascript/audio_driver_javascript.cpp index 9633472cd2..acf6ef87ba 100644 --- a/platform/javascript/audio_driver_javascript.cpp +++ b/platform/javascript/audio_driver_javascript.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/audio_driver_javascript.h b/platform/javascript/audio_driver_javascript.h index b265c4e030..d44e2c51e6 100644 --- a/platform/javascript/audio_driver_javascript.h +++ b/platform/javascript/audio_driver_javascript.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/dom_keys.h b/platform/javascript/dom_keys.h index bd15cec603..cfd55dfc90 100644 --- a/platform/javascript/dom_keys.h +++ b/platform/javascript/dom_keys.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/export/export.cpp b/platform/javascript/export/export.cpp index ec5010f330..6c2b6799a6 100644 --- a/platform/javascript/export/export.cpp +++ b/platform/javascript/export/export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/export/export.h b/platform/javascript/export/export.h index 0cea0a213b..756c3ef9fa 100644 --- a/platform/javascript/export/export.h +++ b/platform/javascript/export/export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/http_client.h.inc b/platform/javascript/http_client.h.inc index 9e4edf7848..23a74e68f5 100644 --- a/platform/javascript/http_client.h.inc +++ b/platform/javascript/http_client.h.inc @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/http_client_javascript.cpp b/platform/javascript/http_client_javascript.cpp index b170ba6f35..f23867cc60 100644 --- a/platform/javascript/http_client_javascript.cpp +++ b/platform/javascript/http_client_javascript.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/http_request.h b/platform/javascript/http_request.h index 06d9239004..2ca48bfd00 100644 --- a/platform/javascript/http_request.h +++ b/platform/javascript/http_request.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/http_request.js b/platform/javascript/http_request.js index f30240b41b..c420052e54 100644 --- a/platform/javascript/http_request.js +++ b/platform/javascript/http_request.js @@ -5,7 +5,7 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/javascript_eval.cpp b/platform/javascript/javascript_eval.cpp index 9fc23a6747..9abea29a93 100644 --- a/platform/javascript/javascript_eval.cpp +++ b/platform/javascript/javascript_eval.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/javascript_main.cpp b/platform/javascript/javascript_main.cpp index 5c5d608524..973f8f500c 100644 --- a/platform/javascript/javascript_main.cpp +++ b/platform/javascript/javascript_main.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp index 3b02bfd862..0bdd090ba9 100644 --- a/platform/javascript/os_javascript.cpp +++ b/platform/javascript/os_javascript.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/os_javascript.h b/platform/javascript/os_javascript.h index a95b069d03..8acaac9ef3 100644 --- a/platform/javascript/os_javascript.h +++ b/platform/javascript/os_javascript.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/platform_config.h b/platform/javascript/platform_config.h index b1c3f027f3..413fea20d8 100644 --- a/platform/javascript/platform_config.h +++ b/platform/javascript/platform_config.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/power_javascript.cpp b/platform/javascript/power_javascript.cpp index 54fceb75f4..5241644dbc 100644 --- a/platform/javascript/power_javascript.cpp +++ b/platform/javascript/power_javascript.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/javascript/power_javascript.h b/platform/javascript/power_javascript.h index 8454c5d728..c0c564aa60 100644 --- a/platform/javascript/power_javascript.h +++ b/platform/javascript/power_javascript.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/crash_handler_osx.h b/platform/osx/crash_handler_osx.h index ff037e6b7a..51e0a3ffcb 100644 --- a/platform/osx/crash_handler_osx.h +++ b/platform/osx/crash_handler_osx.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/crash_handler_osx.mm b/platform/osx/crash_handler_osx.mm index 5635fe0187..c4b5204e1a 100644 --- a/platform/osx/crash_handler_osx.mm +++ b/platform/osx/crash_handler_osx.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/detect.py b/platform/osx/detect.py index e8a8319431..2e686fbee4 100644 --- a/platform/osx/detect.py +++ b/platform/osx/detect.py @@ -82,9 +82,6 @@ def configure(env): env['RANLIB'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ranlib" env['AS'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-as" env.Append(CCFLAGS=['-D__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define - if (env["openmp"]): - env.Append(CPPFLAGS=['-fopenmp']) - env.Append(LINKFLAGS=['-fopenmp']) else: # osxcross build root = os.environ.get("OSXCROSS_ROOT", 0) diff --git a/platform/osx/dir_access_osx.h b/platform/osx/dir_access_osx.h index 9a7773f5ee..eec3016eaa 100644 --- a/platform/osx/dir_access_osx.h +++ b/platform/osx/dir_access_osx.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/dir_access_osx.mm b/platform/osx/dir_access_osx.mm index 6121e6ccfb..a187083dd1 100644 --- a/platform/osx/dir_access_osx.mm +++ b/platform/osx/dir_access_osx.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp index 8a09aa634e..657a899367 100644 --- a/platform/osx/export/export.cpp +++ b/platform/osx/export/export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/export/export.h b/platform/osx/export/export.h index bb87c8a6b7..ccb96022f9 100644 --- a/platform/osx/export/export.h +++ b/platform/osx/export/export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/godot_main_osx.mm b/platform/osx/godot_main_osx.mm index e2740fc666..156b4c02f2 100644 --- a/platform/osx/godot_main_osx.mm +++ b/platform/osx/godot_main_osx.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/joypad_osx.cpp b/platform/osx/joypad_osx.cpp index ab323ad410..bc65aa8149 100644 --- a/platform/osx/joypad_osx.cpp +++ b/platform/osx/joypad_osx.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/joypad_osx.h b/platform/osx/joypad_osx.h index 4bdef8eb83..78ee4581d5 100644 --- a/platform/osx/joypad_osx.h +++ b/platform/osx/joypad_osx.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/os_osx.h b/platform/osx/os_osx.h index 2381b85658..0411b4e72b 100644 --- a/platform/osx/os_osx.h +++ b/platform/osx/os_osx.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -41,6 +41,7 @@ #include "servers/visual/rasterizer.h" #include "servers/visual/visual_server_wrap_mt.h" #include "servers/visual_server.h" +#include <AppKit/NSCursor.h> #include <ApplicationServices/ApplicationServices.h> #undef CursorShape @@ -86,6 +87,7 @@ public: id context; CursorShape cursor_shape; + NSCursor *cursors[CURSOR_MAX] = { NULL }; MouseMode mouse_mode; String title; @@ -137,6 +139,7 @@ public: virtual void alert(const String &p_alert, const String &p_title = "ALERT!"); virtual void set_cursor_shape(CursorShape p_shape); + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); virtual void set_mouse_show(bool p_show); virtual void set_mouse_grab(bool p_grab); diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm index aab37cb59c..dbc9cdf3b7 100644 --- a/platform/osx/os_osx.mm +++ b/platform/osx/os_osx.mm @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -99,10 +99,28 @@ static Vector2 get_mouse_pos(NSEvent *event) { @implementation GodotApplication -// From http://cocoadev.com/index.pl?GameKeyboardHandlingAlmost -// This works around an AppKit bug, where key up events while holding -// down the command key don't get sent to the key window. - (void)sendEvent:(NSEvent *)event { + + // special case handling of command-period, which is traditionally a special + // shortcut in macOS and doesn't arrive at our regular keyDown handler. + if ([event type] == NSKeyDown) { + if (([event modifierFlags] & NSEventModifierFlagCommand) && [event keyCode] == 0x2f) { + + Ref<InputEventKey> k; + k.instance(); + + get_key_modifier_state([event modifierFlags], k); + k->set_pressed(true); + k->set_scancode(KEY_PERIOD); + k->set_echo([event isARepeat]); + + OS_OSX::singleton->push_input(k); + } + } + + // From http://cocoadev.com/index.pl?GameKeyboardHandlingAlmost + // This works around an AppKit bug, where key up events while holding + // down the command key don't get sent to the key window. if ([event type] == NSKeyUp && ([event modifierFlags] & NSCommandKeyMask)) [[self keyWindow] sendEvent:event]; else @@ -577,8 +595,11 @@ static void _mouseDownEvent(NSEvent *event, int index, int mask, bool pressed) { return; if (OS_OSX::singleton->main_loop && OS_OSX::singleton->mouse_mode != OS::MOUSE_MODE_CAPTURED) OS_OSX::singleton->main_loop->notification(MainLoop::NOTIFICATION_WM_MOUSE_ENTER); - if (OS_OSX::singleton->input) + if (OS_OSX::singleton->input) { OS_OSX::singleton->input->set_mouse_in_window(true); + OS_OSX::singleton->cursor_shape = OS::CURSOR_MAX; + OS_OSX::singleton->set_cursor_shape(OS::CURSOR_ARROW); + } } - (void)magnifyWithEvent:(NSEvent *)event { @@ -1240,30 +1261,84 @@ void OS_OSX::set_cursor_shape(CursorShape p_shape) { if (cursor_shape == p_shape) return; - switch (p_shape) { - case CURSOR_ARROW: [[NSCursor arrowCursor] set]; break; - case CURSOR_IBEAM: [[NSCursor IBeamCursor] set]; break; - case CURSOR_POINTING_HAND: [[NSCursor pointingHandCursor] set]; break; - case CURSOR_CROSS: [[NSCursor crosshairCursor] set]; break; - case CURSOR_WAIT: [[NSCursor arrowCursor] set]; break; - case CURSOR_BUSY: [[NSCursor arrowCursor] set]; break; - case CURSOR_DRAG: [[NSCursor closedHandCursor] set]; break; - case CURSOR_CAN_DROP: [[NSCursor openHandCursor] set]; break; - case CURSOR_FORBIDDEN: [[NSCursor arrowCursor] set]; break; - case CURSOR_VSIZE: [[NSCursor resizeUpDownCursor] set]; break; - case CURSOR_HSIZE: [[NSCursor resizeLeftRightCursor] set]; break; - case CURSOR_BDIAGSIZE: [[NSCursor arrowCursor] set]; break; - case CURSOR_FDIAGSIZE: [[NSCursor arrowCursor] set]; break; - case CURSOR_MOVE: [[NSCursor arrowCursor] set]; break; - case CURSOR_VSPLIT: [[NSCursor resizeUpDownCursor] set]; break; - case CURSOR_HSPLIT: [[NSCursor resizeLeftRightCursor] set]; break; - case CURSOR_HELP: [[NSCursor arrowCursor] set]; break; - default: {}; + if (cursors[p_shape] != NULL) { + [cursors[p_shape] set]; + } else { + switch (p_shape) { + case CURSOR_ARROW: [[NSCursor arrowCursor] set]; break; + case CURSOR_IBEAM: [[NSCursor IBeamCursor] set]; break; + case CURSOR_POINTING_HAND: [[NSCursor pointingHandCursor] set]; break; + case CURSOR_CROSS: [[NSCursor crosshairCursor] set]; break; + case CURSOR_WAIT: [[NSCursor arrowCursor] set]; break; + case CURSOR_BUSY: [[NSCursor arrowCursor] set]; break; + case CURSOR_DRAG: [[NSCursor closedHandCursor] set]; break; + case CURSOR_CAN_DROP: [[NSCursor openHandCursor] set]; break; + case CURSOR_FORBIDDEN: [[NSCursor arrowCursor] set]; break; + case CURSOR_VSIZE: [[NSCursor resizeUpDownCursor] set]; break; + case CURSOR_HSIZE: [[NSCursor resizeLeftRightCursor] set]; break; + case CURSOR_BDIAGSIZE: [[NSCursor arrowCursor] set]; break; + case CURSOR_FDIAGSIZE: [[NSCursor arrowCursor] set]; break; + case CURSOR_MOVE: [[NSCursor arrowCursor] set]; break; + case CURSOR_VSPLIT: [[NSCursor resizeUpDownCursor] set]; break; + case CURSOR_HSPLIT: [[NSCursor resizeLeftRightCursor] set]; break; + case CURSOR_HELP: [[NSCursor arrowCursor] set]; break; + default: {}; + } } cursor_shape = p_shape; } +void OS_OSX::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { + if (p_cursor.is_valid()) { + Ref<Texture> texture = p_cursor; + Ref<Image> image = texture->get_data(); + + int image_size = 32 * 32; + + ERR_FAIL_COND(texture->get_width() != 32 || texture->get_height() != 32); + + NSBitmapImageRep *imgrep = [[[NSBitmapImageRep alloc] + initWithBitmapDataPlanes:NULL + pixelsWide:image->get_width() + pixelsHigh:image->get_height() + bitsPerSample:8 + samplesPerPixel:4 + hasAlpha:YES + isPlanar:NO + colorSpaceName:NSDeviceRGBColorSpace + bytesPerRow:image->get_width() * 4 + bitsPerPixel:32] autorelease]; + + ERR_FAIL_COND(imgrep == nil); + uint8_t *pixels = [imgrep bitmapData]; + + int len = image->get_width() * image->get_height(); + PoolVector<uint8_t> data = image->get_data(); + PoolVector<uint8_t>::Read r = data.read(); + + /* Premultiply the alpha channel */ + for (int i = 0; i < len; i++) { + uint8_t alpha = r[i * 4 + 3]; + pixels[i * 4 + 0] = (uint8_t)(((uint16_t)r[i * 4 + 0] * alpha) / 255); + pixels[i * 4 + 1] = (uint8_t)(((uint16_t)r[i * 4 + 1] * alpha) / 255); + pixels[i * 4 + 2] = (uint8_t)(((uint16_t)r[i * 4 + 2] * alpha) / 255); + pixels[i * 4 + 3] = alpha; + } + + NSImage *nsimage = [[[NSImage alloc] initWithSize:NSMakeSize(image->get_width(), image->get_height())] autorelease]; + [nsimage addRepresentation:imgrep]; + + NSCursor *cursor = [[NSCursor alloc] initWithImage:nsimage hotSpot:NSMakePoint(p_hotspot.x, p_hotspot.y)]; + + cursors[p_shape] = cursor; + + if (p_shape == CURSOR_ARROW) { + [cursor set]; + } + } +} + void OS_OSX::set_mouse_show(bool p_show) { } diff --git a/platform/osx/platform_config.h b/platform/osx/platform_config.h index d2474fcfc7..a3715e7e4e 100644 --- a/platform/osx/platform_config.h +++ b/platform/osx/platform_config.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/power_osx.cpp b/platform/osx/power_osx.cpp index bd5f9fe65f..22e279dfa7 100644 --- a/platform/osx/power_osx.cpp +++ b/platform/osx/power_osx.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/power_osx.h b/platform/osx/power_osx.h index 20e47e9cd9..7123e34a03 100644 --- a/platform/osx/power_osx.h +++ b/platform/osx/power_osx.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/sem_osx.cpp b/platform/osx/sem_osx.cpp index f75ac181bf..2e7da62e5b 100644 --- a/platform/osx/sem_osx.cpp +++ b/platform/osx/sem_osx.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/osx/sem_osx.h b/platform/osx/sem_osx.h index 2b408b00de..0b9bbdfa76 100644 --- a/platform/osx/sem_osx.h +++ b/platform/osx/sem_osx.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/register_platform_apis.h b/platform/register_platform_apis.h index 37f98f6cd3..3ac3b319da 100644 --- a/platform/register_platform_apis.h +++ b/platform/register_platform_apis.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/server/godot_server.cpp b/platform/server/godot_server.cpp index 2fd8c315de..8e4742a1b0 100644 --- a/platform/server/godot_server.cpp +++ b/platform/server/godot_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/server/os_server.cpp b/platform/server/os_server.cpp index 5b852af738..13264ed46e 100644 --- a/platform/server/os_server.cpp +++ b/platform/server/os_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -179,6 +179,9 @@ void OS_Server::move_window_to_foreground() { void OS_Server::set_cursor_shape(CursorShape p_shape) { } +void OS_Server::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { +} + OS::PowerState OS_Server::get_power_state() { return power_manager->get_power_state(); } diff --git a/platform/server/os_server.h b/platform/server/os_server.h index 40b10c019f..7b7d4a38a8 100644 --- a/platform/server/os_server.h +++ b/platform/server/os_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -75,6 +75,7 @@ public: virtual String get_name(); virtual void set_cursor_shape(CursorShape p_shape); + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); virtual void set_mouse_show(bool p_show); virtual void set_mouse_grab(bool p_grab); diff --git a/platform/server/platform_config.h b/platform/server/platform_config.h index b1c3f027f3..413fea20d8 100644 --- a/platform/server/platform_config.h +++ b/platform/server/platform_config.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/app.cpp b/platform/uwp/app.cpp index b47b99744e..4468c18eba 100644 --- a/platform/uwp/app.cpp +++ b/platform/uwp/app.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/app.h b/platform/uwp/app.h index b812512a98..0641ea1b8c 100644 --- a/platform/uwp/app.h +++ b/platform/uwp/app.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp index 45ca097de5..620f6c0f24 100644 --- a/platform/uwp/export/export.cpp +++ b/platform/uwp/export/export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1024,6 +1024,17 @@ public: virtual void get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) { r_features->push_back("s3tc"); r_features->push_back("etc"); + switch ((int)p_preset->get("architecture/target")) { + case EditorExportUWP::ARM: { + r_features->push_back("arm"); + } break; + case EditorExportUWP::X86: { + r_features->push_back("32"); + } break; + case EditorExportUWP::X64: { + r_features->push_back("64"); + } break; + } } virtual void get_export_options(List<ExportOption> *r_options) { @@ -1041,6 +1052,10 @@ public: r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "identity/product_guid"), "00000000-0000-0000-0000-000000000000")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "identity/publisher_guid"), "00000000-0000-0000-0000-000000000000")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "signing/certificate", PROPERTY_HINT_GLOBAL_FILE, "*.pfx"), "")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "signing/password"), "")); + r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "signing/algorithm", PROPERTY_HINT_ENUM, "MD5,SHA1,SHA256"), 2)); + r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "version/major"), 1)); r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "version/minor"), 0)); r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "version/build"), 0)); @@ -1370,6 +1385,58 @@ public: packager.finish(); +#ifdef WINDOWS_ENABLED + // Sign with signtool + String signtool_path = EditorSettings::get_singleton()->get("export/uwp/signtool"); + if (signtool_path == String()) { + return OK; + } + + if (!FileAccess::exists(signtool_path)) { + ERR_PRINTS("Could not find signtool executable at " + signtool_path + ", aborting."); + return ERR_FILE_NOT_FOUND; + } + + static String algs[] = { "MD5", "SHA1", "SHA256" }; + + String cert_path = EditorSettings::get_singleton()->get("export/uwp/debug_certificate"); + String cert_pass = EditorSettings::get_singleton()->get("export/uwp/debug_password"); + int cert_alg = EditorSettings::get_singleton()->get("export/uwp/debug_algorithm"); + + if (!p_debug) { + cert_path = p_preset->get("signing/certificate"); + cert_pass = p_preset->get("signing/password"); + cert_alg = p_preset->get("signing/algorithm"); + } + + if (cert_path == String()) { + return OK; // Certificate missing, don't try to sign + } + + if (!FileAccess::exists(cert_path)) { + ERR_PRINTS("Could not find certificate file at " + cert_path + ", aborting."); + return ERR_FILE_NOT_FOUND; + } + + if (cert_alg < 0 || cert_alg > 2) { + ERR_PRINTS("Invalid certificate algorithm " + itos(cert_alg) + ", aborting."); + return ERR_INVALID_DATA; + } + + List<String> args; + args.push_back("sign"); + args.push_back("/fd"); + args.push_back(algs[cert_alg]); + args.push_back("/a"); + args.push_back("/f"); + args.push_back(cert_path); + args.push_back("/p"); + args.push_back(cert_pass); + args.push_back(p_path); + + OS::get_singleton()->execute(signtool_path, args, true); +#endif // WINDOWS_ENABLED + return OK; } @@ -1387,6 +1454,18 @@ public: }; void register_uwp_exporter() { - Ref<EditorExportUWP> exporter = Ref<EditorExportUWP>(memnew(EditorExportUWP)); + +#ifdef WINDOWS_ENABLED + EDITOR_DEF("export/uwp/signtool", ""); + EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/uwp/signtool", PROPERTY_HINT_GLOBAL_FILE, "*.exe")); + EDITOR_DEF("export/uwp/debug_certificate", ""); + EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/uwp/debug_certificate", PROPERTY_HINT_GLOBAL_FILE, "*.pfx")); + EDITOR_DEF("export/uwp/debug_password", ""); + EDITOR_DEF("export/uwp/debug_algorithm", 2); // SHA256 is the default + EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "export/uwp/debug_algorithm", PROPERTY_HINT_ENUM, "MD5,SHA1,SHA256")); +#endif // WINDOWS_ENABLED + + Ref<EditorExportUWP> exporter; + exporter.instance(); EditorExport::get_singleton()->add_export_platform(exporter); } diff --git a/platform/uwp/export/export.h b/platform/uwp/export/export.h index 558af38a70..8e248b1969 100644 --- a/platform/uwp/export/export.h +++ b/platform/uwp/export/export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/gl_context_egl.cpp b/platform/uwp/gl_context_egl.cpp index 2130af6d60..2dde05a01f 100644 --- a/platform/uwp/gl_context_egl.cpp +++ b/platform/uwp/gl_context_egl.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/gl_context_egl.h b/platform/uwp/gl_context_egl.h index 1b24780b29..55fd7ce705 100644 --- a/platform/uwp/gl_context_egl.h +++ b/platform/uwp/gl_context_egl.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/joypad_uwp.cpp b/platform/uwp/joypad_uwp.cpp index 088d232e04..dcc9f7d3af 100644 --- a/platform/uwp/joypad_uwp.cpp +++ b/platform/uwp/joypad_uwp.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/joypad_uwp.h b/platform/uwp/joypad_uwp.h index 4efec485fa..442f805b1f 100644 --- a/platform/uwp/joypad_uwp.h +++ b/platform/uwp/joypad_uwp.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/os_uwp.cpp b/platform/uwp/os_uwp.cpp index 3018ac0bef..603a918cca 100644 --- a/platform/uwp/os_uwp.cpp +++ b/platform/uwp/os_uwp.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -651,6 +651,10 @@ void OSUWP::set_cursor_shape(CursorShape p_shape) { cursor_shape = p_shape; } +void OSUWP::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { + // TODO +} + Error OSUWP::execute(const String &p_path, const List<String> &p_arguments, bool p_blocking, ProcessID *r_child_id, String *r_pipe, int *r_exitcode, bool read_stderr) { return FAILED; @@ -745,6 +749,51 @@ void OSUWP::hide_virtual_keyboard() { pane->TryHide(); } +static String format_error_message(DWORD id) { + + LPWSTR messageBuffer = NULL; + size_t size = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, id, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR)&messageBuffer, 0, NULL); + + String msg = "Error " + itos(id) + ": " + String(messageBuffer, size); + + LocalFree(messageBuffer); + + return msg; +} + +Error OSUWP::open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path) { + + String full_path = "game/" + p_path; + p_library_handle = (void *)LoadPackagedLibrary(full_path.c_str(), 0); + + if (!p_library_handle) { + ERR_EXPLAIN("Can't open dynamic library: " + full_path + ". Error: " + format_error_message(GetLastError())); + ERR_FAIL_V(ERR_CANT_OPEN); + } + return OK; +} + +Error OSUWP::close_dynamic_library(void *p_library_handle) { + if (!FreeLibrary((HMODULE)p_library_handle)) { + return FAILED; + } + return OK; +} + +Error OSUWP::get_dynamic_library_symbol_handle(void *p_library_handle, const String p_name, void *&p_symbol_handle, bool p_optional) { + p_symbol_handle = (void *)GetProcAddress((HMODULE)p_library_handle, p_name.utf8().get_data()); + if (!p_symbol_handle) { + if (!p_optional) { + ERR_EXPLAIN("Can't resolve symbol " + p_name + ". Error: " + String::num(GetLastError())); + ERR_FAIL_V(ERR_CANT_RESOLVE); + } else { + return ERR_CANT_RESOLVE; + } + } + return OK; +} + void OSUWP::run() { if (!main_loop) diff --git a/platform/uwp/os_uwp.h b/platform/uwp/os_uwp.h index 8d69cd53fd..976eda1fe1 100644 --- a/platform/uwp/os_uwp.h +++ b/platform/uwp/os_uwp.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -218,6 +218,7 @@ public: virtual String get_clipboard() const; void set_cursor_shape(CursorShape p_shape); + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); void set_icon(const Ref<Image> &p_icon); virtual String get_executable_path() const; @@ -242,6 +243,10 @@ public: virtual void show_virtual_keyboard(const String &p_existing_text, const Rect2 &p_screen_rect = Rect2()); virtual void hide_virtual_keyboard(); + virtual Error open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path = false); + virtual Error close_dynamic_library(void *p_library_handle); + virtual Error get_dynamic_library_symbol_handle(void *p_library_handle, const String p_name, void *&p_symbol_handle, bool p_optional = false); + virtual Error shell_open(String p_uri); void run(); diff --git a/platform/uwp/platform_config.h b/platform/uwp/platform_config.h index abe14f7578..0a21339237 100644 --- a/platform/uwp/platform_config.h +++ b/platform/uwp/platform_config.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/power_uwp.cpp b/platform/uwp/power_uwp.cpp index 14fce8b133..4eb48d2dd9 100644 --- a/platform/uwp/power_uwp.cpp +++ b/platform/uwp/power_uwp.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/power_uwp.h b/platform/uwp/power_uwp.h index 0c57689c50..09572a15f4 100644 --- a/platform/uwp/power_uwp.h +++ b/platform/uwp/power_uwp.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/thread_uwp.cpp b/platform/uwp/thread_uwp.cpp index 7c8c2b204a..79d244dd61 100644 --- a/platform/uwp/thread_uwp.cpp +++ b/platform/uwp/thread_uwp.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/uwp/thread_uwp.h b/platform/uwp/thread_uwp.h index 0446bd36ca..24ae5ec22a 100644 --- a/platform/uwp/thread_uwp.h +++ b/platform/uwp/thread_uwp.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/context_gl_win.cpp b/platform/windows/context_gl_win.cpp index ccb0a41d13..6875d23dfa 100644 --- a/platform/windows/context_gl_win.cpp +++ b/platform/windows/context_gl_win.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/context_gl_win.h b/platform/windows/context_gl_win.h index 5a280b0d08..d30f842f4b 100644 --- a/platform/windows/context_gl_win.h +++ b/platform/windows/context_gl_win.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/crash_handler_win.cpp b/platform/windows/crash_handler_win.cpp index 5657036693..50b4f2d811 100644 --- a/platform/windows/crash_handler_win.cpp +++ b/platform/windows/crash_handler_win.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/crash_handler_win.h b/platform/windows/crash_handler_win.h index 0b1889e4fe..6f170fb958 100644 --- a/platform/windows/crash_handler_win.h +++ b/platform/windows/crash_handler_win.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/ctxgl_procaddr.cpp b/platform/windows/ctxgl_procaddr.cpp index c0c900acca..dfb15cc358 100644 --- a/platform/windows/ctxgl_procaddr.cpp +++ b/platform/windows/ctxgl_procaddr.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/ctxgl_procaddr.h b/platform/windows/ctxgl_procaddr.h index 61fa6d7fbd..168f808285 100644 --- a/platform/windows/ctxgl_procaddr.h +++ b/platform/windows/ctxgl_procaddr.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/detect.py b/platform/windows/detect.py index 564359d743..489bac50f5 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -190,9 +190,11 @@ def configure(env): if (env["use_lto"]): env.Append(CCFLAGS=['/GL']) - env.Append(LINKFLAGS=['/LTCG']) - if (env["openmp"]): - env.Append(CPPFLAGS=['/openmp']) + env.Append(ARFLAGS=['/LTCG']) + if env["progress"]: + env.Append(LINKFLAGS=['/LTCG:STATUS']) + else: + env.Append(LINKFLAGS=['/LTCG']) env.Append(CCFLAGS=["/I" + p for p in os.getenv("INCLUDE").split(";")]) env.Append(LIBPATH=[p for p in os.getenv("LIB").split(";")]) @@ -270,9 +272,6 @@ def configure(env): env.Append(CCFLAGS=['-flto']) env.Append(LINKFLAGS=['-flto=' + str(env.GetOption("num_jobs"))]) - if (env["openmp"]): - env.Append(CPPFLAGS=['-fopenmp']) - env.Append(LINKFLAGS=['-fopenmp']) ## Compile flags diff --git a/platform/windows/export/export.cpp b/platform/windows/export/export.cpp index 1b6a8f4a60..d5c2cf7992 100644 --- a/platform/windows/export/export.cpp +++ b/platform/windows/export/export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/export/export.h b/platform/windows/export/export.h index cc85339312..78421928ff 100644 --- a/platform/windows/export/export.h +++ b/platform/windows/export/export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/godot_win.cpp b/platform/windows/godot_win.cpp index cff2cbad42..20e351c47c 100644 --- a/platform/windows/godot_win.cpp +++ b/platform/windows/godot_win.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/joypad.cpp b/platform/windows/joypad.cpp index 0c7358f499..4a3936b175 100644 --- a/platform/windows/joypad.cpp +++ b/platform/windows/joypad.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/joypad.h b/platform/windows/joypad.h index a76caf6fac..f3d24bce85 100644 --- a/platform/windows/joypad.h +++ b/platform/windows/joypad.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/key_mapping_win.cpp b/platform/windows/key_mapping_win.cpp index 76bb5d5723..bb90cb661a 100644 --- a/platform/windows/key_mapping_win.cpp +++ b/platform/windows/key_mapping_win.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/key_mapping_win.h b/platform/windows/key_mapping_win.h index 139f047d17..2daf3f4f01 100644 --- a/platform/windows/key_mapping_win.h +++ b/platform/windows/key_mapping_win.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/lang_table.h b/platform/windows/lang_table.h index d54894afce..614fbd8ae9 100644 --- a/platform/windows/lang_table.h +++ b/platform/windows/lang_table.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index d3fa2bbc0d..e3af82b629 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1844,10 +1844,125 @@ void OS_Windows::set_cursor_shape(CursorShape p_shape) { IDC_HELP }; - SetCursor(LoadCursor(hInstance, win_cursors[p_shape])); + if (cursors[p_shape] != NULL) { + SetCursor(cursors[p_shape]); + } else { + SetCursor(LoadCursor(hInstance, win_cursors[p_shape])); + } cursor_shape = p_shape; } +void OS_Windows::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { + if (p_cursor.is_valid()) { + Ref<Texture> texture = p_cursor; + Ref<Image> image = texture->get_data(); + + UINT image_size = 32 * 32; + UINT size = sizeof(UINT) * image_size; + + ERR_FAIL_COND(texture->get_width() != 32 || texture->get_height() != 32); + + // Create the BITMAP with alpha channel + COLORREF *buffer = (COLORREF *)malloc(sizeof(COLORREF) * image_size); + + image->lock(); + for (UINT index = 0; index < image_size; index++) { + int column_index = floor(index / 32); + int row_index = index % 32; + + Color pcColor = image->get_pixel(row_index, column_index); + *(buffer + index) = image->get_pixel(row_index, column_index).to_argb32(); + } + image->unlock(); + + // Using 4 channels, so 4 * 8 bits + HBITMAP bitmap = CreateBitmap(32, 32, 1, 4 * 8, buffer); + COLORREF clrTransparent = -1; + + // Create the AND and XOR masks for the bitmap + HBITMAP hAndMask = NULL; + HBITMAP hXorMask = NULL; + + GetMaskBitmaps(bitmap, clrTransparent, hAndMask, hXorMask); + + if (NULL == hAndMask || NULL == hXorMask) { + return; + } + + // Finally, create the icon + ICONINFO iconinfo = { 0 }; + iconinfo.fIcon = FALSE; + iconinfo.xHotspot = p_hotspot.x; + iconinfo.yHotspot = p_hotspot.y; + iconinfo.hbmMask = hAndMask; + iconinfo.hbmColor = hXorMask; + + cursors[p_shape] = CreateIconIndirect(&iconinfo); + + if (p_shape == CURSOR_ARROW) { + SetCursor(cursors[p_shape]); + } + + if (hAndMask != NULL) { + DeleteObject(hAndMask); + } + + if (hXorMask != NULL) { + DeleteObject(hXorMask); + } + } +} + +void OS_Windows::GetMaskBitmaps(HBITMAP hSourceBitmap, COLORREF clrTransparent, OUT HBITMAP &hAndMaskBitmap, OUT HBITMAP &hXorMaskBitmap) { + + // Get the system display DC + HDC hDC = GetDC(NULL); + + // Create helper DC + HDC hMainDC = CreateCompatibleDC(hDC); + HDC hAndMaskDC = CreateCompatibleDC(hDC); + HDC hXorMaskDC = CreateCompatibleDC(hDC); + + // Get the dimensions of the source bitmap + BITMAP bm; + GetObject(hSourceBitmap, sizeof(BITMAP), &bm); + + // Create the mask bitmaps + hAndMaskBitmap = CreateCompatibleBitmap(hDC, bm.bmWidth, bm.bmHeight); // color + hXorMaskBitmap = CreateCompatibleBitmap(hDC, bm.bmWidth, bm.bmHeight); // color + + // Release the system display DC + ReleaseDC(NULL, hDC); + + // Select the bitmaps to helper DC + HBITMAP hOldMainBitmap = (HBITMAP)SelectObject(hMainDC, hSourceBitmap); + HBITMAP hOldAndMaskBitmap = (HBITMAP)SelectObject(hAndMaskDC, hAndMaskBitmap); + HBITMAP hOldXorMaskBitmap = (HBITMAP)SelectObject(hXorMaskDC, hXorMaskBitmap); + + // Assign the monochrome AND mask bitmap pixels so that a pixels of the source bitmap + // with 'clrTransparent' will be white pixels of the monochrome bitmap + SetBkColor(hMainDC, clrTransparent); + BitBlt(hAndMaskDC, 0, 0, bm.bmWidth, bm.bmHeight, hMainDC, 0, 0, SRCCOPY); + + // Assign the color XOR mask bitmap pixels so that a pixels of the source bitmap + // with 'clrTransparent' will be black and rest the pixels same as corresponding + // pixels of the source bitmap + SetBkColor(hXorMaskDC, RGB(0, 0, 0)); + SetTextColor(hXorMaskDC, RGB(255, 255, 255)); + BitBlt(hXorMaskDC, 0, 0, bm.bmWidth, bm.bmHeight, hAndMaskDC, 0, 0, SRCCOPY); + BitBlt(hXorMaskDC, 0, 0, bm.bmWidth, bm.bmHeight, hMainDC, 0, 0, SRCAND); + + // Deselect bitmaps from the helper DC + SelectObject(hMainDC, hOldMainBitmap); + SelectObject(hAndMaskDC, hOldAndMaskBitmap); + SelectObject(hXorMaskDC, hOldXorMaskBitmap); + + // Delete the helper DC + DeleteDC(hXorMaskDC); + DeleteDC(hAndMaskDC); + DeleteDC(hMainDC); +} + Error OS_Windows::execute(const String &p_path, const List<String> &p_arguments, bool p_blocking, ProcessID *r_child_id, String *r_pipe, int *r_exitcode, bool read_stderr) { if (p_blocking && r_pipe) { diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h index 7c5490a0a4..9d254ccf27 100644 --- a/platform/windows/os_windows.h +++ b/platform/windows/os_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -113,6 +113,7 @@ class OS_Windows : public OS { bool window_has_focus; uint32_t last_button_state; + HCURSOR cursors[CURSOR_MAX] = { NULL }; CursorShape cursor_shape; InputDefault *input; @@ -244,6 +245,8 @@ public: virtual String get_clipboard() const; void set_cursor_shape(CursorShape p_shape); + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); + void GetMaskBitmaps(HBITMAP hSourceBitmap, COLORREF clrTransparent, OUT HBITMAP &hAndMaskBitmap, OUT HBITMAP &hXorMaskBitmap); void set_icon(const Ref<Image> &p_icon); virtual String get_executable_path() const; diff --git a/platform/windows/platform_config.h b/platform/windows/platform_config.h index 832504b9c5..6c26a8228d 100644 --- a/platform/windows/platform_config.h +++ b/platform/windows/platform_config.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/power_windows.cpp b/platform/windows/power_windows.cpp index cc452d774d..5612906251 100644 --- a/platform/windows/power_windows.cpp +++ b/platform/windows/power_windows.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/power_windows.h b/platform/windows/power_windows.h index 0745615195..1c1a8c0876 100644 --- a/platform/windows/power_windows.h +++ b/platform/windows/power_windows.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/windows_terminal_logger.cpp b/platform/windows/windows_terminal_logger.cpp index ef8140ffa7..12a4a1ae39 100644 --- a/platform/windows/windows_terminal_logger.cpp +++ b/platform/windows/windows_terminal_logger.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/windows/windows_terminal_logger.h b/platform/windows/windows_terminal_logger.h index f6b1a68d18..1ad2bcb0fd 100644 --- a/platform/windows/windows_terminal_logger.h +++ b/platform/windows/windows_terminal_logger.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/context_gl_x11.cpp b/platform/x11/context_gl_x11.cpp index 61c6b3c9dd..b232f36a46 100644 --- a/platform/x11/context_gl_x11.cpp +++ b/platform/x11/context_gl_x11.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/context_gl_x11.h b/platform/x11/context_gl_x11.h index c37bac5e9b..efebd3f78d 100644 --- a/platform/x11/context_gl_x11.h +++ b/platform/x11/context_gl_x11.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/crash_handler_x11.cpp b/platform/x11/crash_handler_x11.cpp index 005a7459f9..f0eb8a6d5b 100644 --- a/platform/x11/crash_handler_x11.cpp +++ b/platform/x11/crash_handler_x11.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/crash_handler_x11.h b/platform/x11/crash_handler_x11.h index e01334cbf2..36ab29b597 100644 --- a/platform/x11/crash_handler_x11.h +++ b/platform/x11/crash_handler_x11.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/detect.py b/platform/x11/detect.py index 09bf57c5f1..cb45fed1be 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -265,9 +265,5 @@ def configure(env): env.Append(LINKFLAGS=['-m64', '-L/usr/lib/i686-linux-gnu']) - if env["openmp"]: - env.Append(CPPFLAGS=['-fopenmp']) - env.Append(LINKFLAGS=['-fopenmp']) - if env['use_static_cpp']: env.Append(LINKFLAGS=['-static-libstdc++']) diff --git a/platform/x11/export/export.cpp b/platform/x11/export/export.cpp index 1baa3e127f..3a8786f296 100644 --- a/platform/x11/export/export.cpp +++ b/platform/x11/export/export.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/export/export.h b/platform/x11/export/export.h index b70633266f..152a64df86 100644 --- a/platform/x11/export/export.h +++ b/platform/x11/export/export.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/godot_x11.cpp b/platform/x11/godot_x11.cpp index 2e43613e5d..c7d7bb643b 100644 --- a/platform/x11/godot_x11.cpp +++ b/platform/x11/godot_x11.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/joypad_linux.cpp b/platform/x11/joypad_linux.cpp index 428385f7cb..aff9a50bd6 100644 --- a/platform/x11/joypad_linux.cpp +++ b/platform/x11/joypad_linux.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/joypad_linux.h b/platform/x11/joypad_linux.h index b34d98b77a..1187acac23 100644 --- a/platform/x11/joypad_linux.h +++ b/platform/x11/joypad_linux.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/key_mapping_x11.cpp b/platform/x11/key_mapping_x11.cpp index 95ac2fe6b6..5e15768d66 100644 --- a/platform/x11/key_mapping_x11.cpp +++ b/platform/x11/key_mapping_x11.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/key_mapping_x11.h b/platform/x11/key_mapping_x11.h index 7b11cb5ccc..022affcbea 100644 --- a/platform/x11/key_mapping_x11.h +++ b/platform/x11/key_mapping_x11.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 6616e47317..e9920b18a4 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1050,9 +1050,59 @@ void OS_X11::set_window_maximized(bool p_enabled) { XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev); + if (is_window_maximize_allowed()) { + while (p_enabled && !is_window_maximized()) { + // Wait for effective resizing (so the GLX context is too). + } + } + maximized = p_enabled; } +bool OS_X11::is_window_maximize_allowed() { + Atom property = XInternAtom(x11_display, "_NET_WM_ALLOWED_ACTIONS", False); + Atom type; + int format; + unsigned long len; + unsigned long remaining; + unsigned char *data = NULL; + + int result = XGetWindowProperty( + x11_display, + x11_window, + property, + 0, + 1024, + False, + XA_ATOM, + &type, + &format, + &len, + &remaining, + &data); + + if (result == Success) { + Atom *atoms = (Atom *)data; + Atom wm_act_max_horz = XInternAtom(x11_display, "_NET_WM_ACTION_MAXIMIZE_HORZ", False); + Atom wm_act_max_vert = XInternAtom(x11_display, "_NET_WM_ACTION_MAXIMIZE_VERT", False); + bool found_wm_act_max_horz = false; + bool found_wm_act_max_vert = false; + + for (unsigned int i = 0; i < len; i++) { + if (atoms[i] == wm_act_max_horz) + found_wm_act_max_horz = true; + if (atoms[i] == wm_act_max_vert) + found_wm_act_max_vert = true; + + if (found_wm_act_max_horz || found_wm_act_max_vert) + return true; + } + XFree(atoms); + } + + return false; +} + bool OS_X11::is_window_maximized() const { // Using EWMH -- Extended Window Manager Hints Atom property = XInternAtom(x11_display, "_NET_WM_STATE", False); @@ -2201,6 +2251,48 @@ void OS_X11::set_cursor_shape(CursorShape p_shape) { current_cursor = p_shape; } +void OS_X11::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { + if (p_cursor.is_valid()) { + Ref<Texture> texture = p_cursor; + Ref<Image> image = texture->get_data(); + + ERR_FAIL_COND(texture->get_width() != 32 || texture->get_height() != 32); + + // Create the cursor structure + XcursorImage *cursor_image = XcursorImageCreate(texture->get_width(), texture->get_height()); + XcursorUInt image_size = 32 * 32; + XcursorDim size = sizeof(XcursorPixel) * image_size; + + cursor_image->version = 1; + cursor_image->size = size; + cursor_image->xhot = p_hotspot.x; + cursor_image->yhot = p_hotspot.y; + + // allocate memory to contain the whole file + cursor_image->pixels = (XcursorPixel *)malloc(size); + + image->lock(); + + for (XcursorPixel index = 0; index < image_size; index++) { + int column_index = floor(index / 32); + int row_index = index % 32; + + *(cursor_image->pixels + index) = image->get_pixel(row_index, column_index).to_argb32(); + } + + image->unlock(); + + ERR_FAIL_COND(cursor_image->pixels == NULL); + + // Save it for a further usage + cursors[p_shape] = XcursorImageLoadCursor(x11_display, cursor_image); + + if (p_shape == CURSOR_ARROW) { + XDefineCursor(x11_display, x11_window, cursors[p_shape]); + } + } +} + void OS_X11::release_rendering_thread() { context_gl->release_current(); diff --git a/platform/x11/os_x11.h b/platform/x11/os_x11.h index 86f25918fd..04243a9b36 100644 --- a/platform/x11/os_x11.h +++ b/platform/x11/os_x11.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -200,10 +200,13 @@ protected: void _window_changed(XEvent *xevent); + bool is_window_maximize_allowed(); + public: virtual String get_name(); virtual void set_cursor_shape(CursorShape p_shape); + virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); void set_mouse_mode(MouseMode p_mode); MouseMode get_mouse_mode() const; diff --git a/platform/x11/platform_config.h b/platform/x11/platform_config.h index 85af12372f..0ad94803c2 100644 --- a/platform/x11/platform_config.h +++ b/platform/x11/platform_config.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/power_x11.cpp b/platform/x11/power_x11.cpp index 0ef2629cb0..4ac331d212 100644 --- a/platform/x11/power_x11.cpp +++ b/platform/x11/power_x11.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/x11/power_x11.h b/platform/x11/power_x11.h index 7fc258bc0d..4077887998 100644 --- a/platform/x11/power_x11.h +++ b/platform/x11/power_x11.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/animated_sprite.cpp b/scene/2d/animated_sprite.cpp index de28fef929..fb8bb3bb83 100644 --- a/scene/2d/animated_sprite.cpp +++ b/scene/2d/animated_sprite.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/animated_sprite.h b/scene/2d/animated_sprite.h index a8d0db021a..8a696a40fc 100644 --- a/scene/2d/animated_sprite.h +++ b/scene/2d/animated_sprite.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/area_2d.cpp b/scene/2d/area_2d.cpp index 80f9bf0f9f..29a01d30e1 100644 --- a/scene/2d/area_2d.cpp +++ b/scene/2d/area_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/area_2d.h b/scene/2d/area_2d.h index 09ccb364e6..66217c7b08 100644 --- a/scene/2d/area_2d.h +++ b/scene/2d/area_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/back_buffer_copy.cpp b/scene/2d/back_buffer_copy.cpp index e4f52a227a..1d13db493c 100644 --- a/scene/2d/back_buffer_copy.cpp +++ b/scene/2d/back_buffer_copy.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/back_buffer_copy.h b/scene/2d/back_buffer_copy.h index cfd632d755..01438ca7a1 100644 --- a/scene/2d/back_buffer_copy.h +++ b/scene/2d/back_buffer_copy.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/camera_2d.cpp b/scene/2d/camera_2d.cpp index 3164344d15..02e21913a5 100644 --- a/scene/2d/camera_2d.cpp +++ b/scene/2d/camera_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/camera_2d.h b/scene/2d/camera_2d.h index 13b6be3978..743bf6abd6 100644 --- a/scene/2d/camera_2d.h +++ b/scene/2d/camera_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/canvas_item.cpp b/scene/2d/canvas_item.cpp index 82123d12ac..4fb22ac04a 100644 --- a/scene/2d/canvas_item.cpp +++ b/scene/2d/canvas_item.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/canvas_item.h b/scene/2d/canvas_item.h index 2384c0f370..1db9e4902a 100644 --- a/scene/2d/canvas_item.h +++ b/scene/2d/canvas_item.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -229,6 +229,7 @@ public: // Used to resize/move/select the node virtual void _edit_set_rect(const Rect2 &p_rect){}; virtual Rect2 _edit_get_rect() const { return Rect2(-32, -32, 64, 64); }; + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { return true; } Rect2 _edit_get_item_and_children_rect() const; virtual bool _edit_use_rect() const { return false; }; diff --git a/scene/2d/canvas_modulate.cpp b/scene/2d/canvas_modulate.cpp index 05831609fc..925c01f6b3 100644 --- a/scene/2d/canvas_modulate.cpp +++ b/scene/2d/canvas_modulate.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/canvas_modulate.h b/scene/2d/canvas_modulate.h index 4195c1386c..b9d7b14b0a 100644 --- a/scene/2d/canvas_modulate.h +++ b/scene/2d/canvas_modulate.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/collision_object_2d.cpp b/scene/2d/collision_object_2d.cpp index 73e5dc6021..b4f9f3fd9d 100644 --- a/scene/2d/collision_object_2d.cpp +++ b/scene/2d/collision_object_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/collision_object_2d.h b/scene/2d/collision_object_2d.h index a828d8d8ea..62298b4036 100644 --- a/scene/2d/collision_object_2d.h +++ b/scene/2d/collision_object_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/collision_polygon_2d.cpp b/scene/2d/collision_polygon_2d.cpp index 92855299ae..8c6b25f296 100644 --- a/scene/2d/collision_polygon_2d.cpp +++ b/scene/2d/collision_polygon_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -131,7 +131,7 @@ void CollisionPolygon2D::_notification(int p_what) { /*if (Engine::get_singleton()->is_editor_hint()) { //display above all else set_z_as_relative(false); - set_z(VS::CANVAS_ITEM_Z_MAX - 1); + set_z_index(VS::CANVAS_ITEM_Z_MAX - 1); }*/ } break; @@ -248,6 +248,11 @@ Rect2 CollisionPolygon2D::_edit_get_rect() const { return aabb; } +bool CollisionPolygon2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + return Geometry::is_point_in_polygon(p_point, Variant(polygon)); +} + String CollisionPolygon2D::get_configuration_warning() const { if (!Object::cast_to<CollisionObject2D>(get_parent())) { diff --git a/scene/2d/collision_polygon_2d.h b/scene/2d/collision_polygon_2d.h index 2fb08a4599..fa7e5e1046 100644 --- a/scene/2d/collision_polygon_2d.h +++ b/scene/2d/collision_polygon_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -70,6 +70,7 @@ public: Vector<Point2> get_polygon() const; virtual Rect2 _edit_get_rect() const; + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; virtual String get_configuration_warning() const; diff --git a/scene/2d/collision_shape_2d.cpp b/scene/2d/collision_shape_2d.cpp index f7cb5473e3..1956e23421 100644 --- a/scene/2d/collision_shape_2d.cpp +++ b/scene/2d/collision_shape_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -64,7 +64,7 @@ void CollisionShape2D::_notification(int p_what) { /*if (Engine::get_singleton()->is_editor_hint()) { //display above all else set_z_as_relative(false); - set_z(VS::CANVAS_ITEM_Z_MAX - 1); + set_z_index(VS::CANVAS_ITEM_Z_MAX - 1); }*/ } break; @@ -163,6 +163,14 @@ Rect2 CollisionShape2D::_edit_get_rect() const { return rect; } +bool CollisionShape2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + if (!shape.is_valid()) + return false; + + return shape->_edit_is_selected_on_click(p_point, p_tolerance); +} + String CollisionShape2D::get_configuration_warning() const { if (!Object::cast_to<CollisionObject2D>(get_parent())) { diff --git a/scene/2d/collision_shape_2d.h b/scene/2d/collision_shape_2d.h index 4745c659c8..921066c5c8 100644 --- a/scene/2d/collision_shape_2d.h +++ b/scene/2d/collision_shape_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -52,6 +52,7 @@ protected: public: virtual Rect2 _edit_get_rect() const; + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; void set_shape(const Ref<Shape2D> &p_shape); Ref<Shape2D> get_shape() const; diff --git a/scene/2d/joints_2d.cpp b/scene/2d/joints_2d.cpp index b98cdcc365..eec483c29e 100644 --- a/scene/2d/joints_2d.cpp +++ b/scene/2d/joints_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/joints_2d.h b/scene/2d/joints_2d.h index a6292be51c..9b6ba22d64 100644 --- a/scene/2d/joints_2d.h +++ b/scene/2d/joints_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/light_2d.cpp b/scene/2d/light_2d.cpp index d2b987e037..a6a871be1d 100644 --- a/scene/2d/light_2d.cpp +++ b/scene/2d/light_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/light_2d.h b/scene/2d/light_2d.h index 9b9da8379f..9c55f72870 100644 --- a/scene/2d/light_2d.h +++ b/scene/2d/light_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/light_occluder_2d.cpp b/scene/2d/light_occluder_2d.cpp index 92e0d8a2f6..b95d4f8f0a 100644 --- a/scene/2d/light_occluder_2d.cpp +++ b/scene/2d/light_occluder_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/light_occluder_2d.h b/scene/2d/light_occluder_2d.h index cca7bfecd6..a2e81ef2b4 100644 --- a/scene/2d/light_occluder_2d.h +++ b/scene/2d/light_occluder_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/line_2d.cpp b/scene/2d/line_2d.cpp index 57a0e15447..abc80216d4 100644 --- a/scene/2d/line_2d.cpp +++ b/scene/2d/line_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -48,6 +48,32 @@ Line2D::Line2D() : _round_precision = 8; } +Rect2 Line2D::_edit_get_rect() const { + + if (_points.size() == 0) + return Rect2(0, 0, 0, 0); + Vector2 d = Vector2(_width, _width); + Rect2 aabb = Rect2(_points[0] - d, 2 * d); + for (int i = 1; i < _points.size(); i++) { + aabb.expand_to(_points[i] - d); + aabb.expand_to(_points[i] + d); + } + return aabb; +} + +bool Line2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + const real_t d = _width / 2 + p_tolerance; + PoolVector<Vector2>::Read points = _points.read(); + for (int i = 0; i < _points.size() - 1; i++) { + Vector2 p = Geometry::get_closest_point_to_segment_2d(p_point, &points[i]); + if (p.distance_to(p_point) <= d) + return true; + } + + return false; +} + void Line2D::set_points(const PoolVector<Vector2> &p_points) { _points = p_points; update(); diff --git a/scene/2d/line_2d.h b/scene/2d/line_2d.h index 6426484f02..54a4683dc7 100644 --- a/scene/2d/line_2d.h +++ b/scene/2d/line_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -57,6 +57,9 @@ public: Line2D(); + virtual Rect2 _edit_get_rect() const; + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_points(const PoolVector<Vector2> &p_points); PoolVector<Vector2> get_points() const; diff --git a/scene/2d/line_builder.cpp b/scene/2d/line_builder.cpp index 4873c47827..ae2f9371a3 100644 --- a/scene/2d/line_builder.cpp +++ b/scene/2d/line_builder.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/line_builder.h b/scene/2d/line_builder.h index f12fbf6f82..0b19cd4674 100644 --- a/scene/2d/line_builder.h +++ b/scene/2d/line_builder.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/navigation2d.cpp b/scene/2d/navigation2d.cpp index 40013814f8..8e910563ca 100644 --- a/scene/2d/navigation2d.cpp +++ b/scene/2d/navigation2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/navigation2d.h b/scene/2d/navigation2d.h index 02dbcb0f96..52c4967d3d 100644 --- a/scene/2d/navigation2d.h +++ b/scene/2d/navigation2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/navigation_polygon.cpp b/scene/2d/navigation_polygon.cpp index 5a6a5128e6..dde41dbf3f 100644 --- a/scene/2d/navigation_polygon.cpp +++ b/scene/2d/navigation_polygon.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -35,9 +35,50 @@ #include "thirdparty/misc/triangulator.h" +Rect2 NavigationPolygon::_edit_get_rect() const { + + if (rect_cache_dirty) { + item_rect = Rect2(); + bool first = true; + + for (int i = 0; i < outlines.size(); i++) { + const PoolVector<Vector2> &outline = outlines[i]; + const int outline_size = outline.size(); + if (outline_size < 3) + continue; + PoolVector<Vector2>::Read p = outline.read(); + for (int j = 0; j < outline_size; j++) { + if (first) { + item_rect = Rect2(p[j], Vector2(0, 0)); + first = false; + } else { + item_rect.expand_to(p[j]); + } + } + } + + rect_cache_dirty = false; + } + return item_rect; +} + +bool NavigationPolygon::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + for (int i = 0; i < outlines.size(); i++) { + const PoolVector<Vector2> &outline = outlines[i]; + const int outline_size = outline.size(); + if (outline_size < 3) + continue; + if (Geometry::is_point_in_polygon(p_point, Variant(outline))) + return true; + } + return false; +} + void NavigationPolygon::set_vertices(const PoolVector<Vector2> &p_vertices) { vertices = p_vertices; + rect_cache_dirty = true; } PoolVector<Vector2> NavigationPolygon::get_vertices() const { @@ -70,6 +111,7 @@ void NavigationPolygon::_set_outlines(const Array &p_array) { for (int i = 0; i < p_array.size(); i++) { outlines[i] = p_array[i]; } + rect_cache_dirty = true; } Array NavigationPolygon::_get_outlines() const { @@ -93,6 +135,7 @@ void NavigationPolygon::add_polygon(const Vector<int> &p_polygon) { void NavigationPolygon::add_outline_at_index(const PoolVector<Vector2> &p_outline, int p_index) { outlines.insert(p_index, p_outline); + rect_cache_dirty = true; } int NavigationPolygon::get_polygon_count() const { @@ -112,6 +155,7 @@ void NavigationPolygon::clear_polygons() { void NavigationPolygon::add_outline(const PoolVector<Vector2> &p_outline) { outlines.push_back(p_outline); + rect_cache_dirty = true; } int NavigationPolygon::get_outline_count() const { @@ -122,12 +166,14 @@ int NavigationPolygon::get_outline_count() const { void NavigationPolygon::set_outline(int p_idx, const PoolVector<Vector2> &p_outline) { ERR_FAIL_INDEX(p_idx, outlines.size()); outlines[p_idx] = p_outline; + rect_cache_dirty = true; } void NavigationPolygon::remove_outline(int p_idx) { ERR_FAIL_INDEX(p_idx, outlines.size()); outlines.remove(p_idx); + rect_cache_dirty = true; } PoolVector<Vector2> NavigationPolygon::get_outline(int p_idx) const { @@ -138,6 +184,7 @@ PoolVector<Vector2> NavigationPolygon::get_outline(int p_idx) const { void NavigationPolygon::clear_outlines() { outlines.clear(); + rect_cache_dirty = true; } void NavigationPolygon::make_polygons_from_outlines() { @@ -269,7 +316,8 @@ void NavigationPolygon::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "outlines", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "_set_outlines", "_get_outlines"); } -NavigationPolygon::NavigationPolygon() { +NavigationPolygon::NavigationPolygon() : + rect_cache_dirty(true) { } void NavigationPolygonInstance::set_enabled(bool p_enabled) { @@ -311,6 +359,16 @@ bool NavigationPolygonInstance::is_enabled() const { ///////////////////////////// +Rect2 NavigationPolygonInstance::_edit_get_rect() const { + + return navpoly.is_valid() ? navpoly->_edit_get_rect() : Rect2(); +} + +bool NavigationPolygonInstance::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + return navpoly.is_valid() ? navpoly->_edit_is_selected_on_click(p_point, p_tolerance) : false; +} + void NavigationPolygonInstance::_notification(int p_what) { switch (p_what) { diff --git a/scene/2d/navigation_polygon.h b/scene/2d/navigation_polygon.h index 5576a3abd2..7b5220f92d 100644 --- a/scene/2d/navigation_polygon.h +++ b/scene/2d/navigation_polygon.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -43,6 +43,9 @@ class NavigationPolygon : public Resource { Vector<Polygon> polygons; Vector<PoolVector<Vector2> > outlines; + mutable Rect2 item_rect; + mutable bool rect_cache_dirty; + protected: static void _bind_methods(); @@ -53,6 +56,9 @@ protected: Array _get_outlines() const; public: + Rect2 _edit_get_rect() const; + bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_vertices(const PoolVector<Vector2> &p_vertices); PoolVector<Vector2> get_vertices() const; @@ -93,6 +99,9 @@ protected: static void _bind_methods(); public: + virtual Rect2 _edit_get_rect() const; + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_enabled(bool p_enabled); bool is_enabled() const; diff --git a/scene/2d/node_2d.cpp b/scene/2d/node_2d.cpp index 45f780e50e..e133f86ef7 100644 --- a/scene/2d/node_2d.cpp +++ b/scene/2d/node_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -329,13 +329,13 @@ void Node2D::set_global_transform(const Transform2D &p_transform) { set_transform(p_transform); } -void Node2D::set_z(int p_z) { +void Node2D::set_z_index(int p_z) { ERR_FAIL_COND(p_z < VS::CANVAS_ITEM_Z_MIN); ERR_FAIL_COND(p_z > VS::CANVAS_ITEM_Z_MAX); - z = p_z; - VS::get_singleton()->canvas_item_set_z(get_canvas_item(), z); - _change_notify("z"); + z_index = p_z; + VS::get_singleton()->canvas_item_set_z_index(get_canvas_item(), z_index); + _change_notify("z_index"); } void Node2D::set_z_as_relative(bool p_enabled) { @@ -351,9 +351,9 @@ bool Node2D::is_z_relative() const { return z_relative; } -int Node2D::get_z() const { +int Node2D::get_z_index() const { - return z; + return z_index; } Transform2D Node2D::get_relative_transform_to_parent(const Node *p_parent) const { @@ -427,8 +427,8 @@ void Node2D::_bind_methods() { ClassDB::bind_method(D_METHOD("to_local", "global_point"), &Node2D::to_local); ClassDB::bind_method(D_METHOD("to_global", "local_point"), &Node2D::to_global); - ClassDB::bind_method(D_METHOD("set_z", "z"), &Node2D::set_z); - ClassDB::bind_method(D_METHOD("get_z"), &Node2D::get_z); + ClassDB::bind_method(D_METHOD("set_z_index", "z_index"), &Node2D::set_z_index); + ClassDB::bind_method(D_METHOD("get_z_index"), &Node2D::get_z_index); ClassDB::bind_method(D_METHOD("set_z_as_relative", "enable"), &Node2D::set_z_as_relative); ClassDB::bind_method(D_METHOD("is_z_relative"), &Node2D::is_z_relative); @@ -448,8 +448,8 @@ void Node2D::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::REAL, "global_scale", PROPERTY_HINT_NONE, "", 0), "set_global_scale", "get_global_scale"); ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "global_transform", PROPERTY_HINT_NONE, "", 0), "set_global_transform", "get_global_transform"); - ADD_GROUP("Z", ""); - ADD_PROPERTYNZ(PropertyInfo(Variant::INT, "z", PROPERTY_HINT_RANGE, itos(VS::CANVAS_ITEM_Z_MIN) + "," + itos(VS::CANVAS_ITEM_Z_MAX) + ",1"), "set_z", "get_z"); + ADD_GROUP("Z Index", ""); + ADD_PROPERTYNZ(PropertyInfo(Variant::INT, "z_index", PROPERTY_HINT_RANGE, itos(VS::CANVAS_ITEM_Z_MIN) + "," + itos(VS::CANVAS_ITEM_Z_MAX) + ",1"), "set_z_index", "get_z_index"); ADD_PROPERTYNO(PropertyInfo(Variant::BOOL, "z_as_relative"), "set_z_as_relative", "is_z_relative"); } @@ -458,6 +458,6 @@ Node2D::Node2D() { angle = 0; _scale = Vector2(1, 1); _xform_dirty = false; - z = 0; + z_index = 0; z_relative = true; } diff --git a/scene/2d/node_2d.h b/scene/2d/node_2d.h index e1e07f2895..321021a748 100644 --- a/scene/2d/node_2d.h +++ b/scene/2d/node_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,7 +39,7 @@ class Node2D : public CanvasItem { Point2 pos; float angle; Size2 _scale; - int z; + int z_index; bool z_relative; Transform2D _mat; @@ -96,8 +96,8 @@ public: void set_global_rotation_degrees(float p_degrees); void set_global_scale(const Size2 &p_scale); - void set_z(int p_z); - int get_z() const; + void set_z_index(int p_z); + int get_z_index() const; void look_at(const Vector2 &p_pos); float get_angle_to(const Vector2 &p_pos) const; diff --git a/scene/2d/parallax_background.cpp b/scene/2d/parallax_background.cpp index b9012e37b2..46d0b7647f 100644 --- a/scene/2d/parallax_background.cpp +++ b/scene/2d/parallax_background.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/parallax_background.h b/scene/2d/parallax_background.h index e37ec0db99..a7b745f199 100644 --- a/scene/2d/parallax_background.h +++ b/scene/2d/parallax_background.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/parallax_layer.cpp b/scene/2d/parallax_layer.cpp index 9da27caa4c..7a9ea1931e 100644 --- a/scene/2d/parallax_layer.cpp +++ b/scene/2d/parallax_layer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/parallax_layer.h b/scene/2d/parallax_layer.h index 6feb1fad67..937451c3e2 100644 --- a/scene/2d/parallax_layer.h +++ b/scene/2d/parallax_layer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/particles_2d.cpp b/scene/2d/particles_2d.cpp index 7d53557216..a760b8e599 100644 --- a/scene/2d/particles_2d.cpp +++ b/scene/2d/particles_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -35,8 +35,7 @@ void Particles2D::set_emitting(bool p_emitting) { - emitting = p_emitting; - VS::get_singleton()->particles_set_emitting(particles, emitting); + VS::get_singleton()->particles_set_emitting(particles, p_emitting); } void Particles2D::set_amount(int p_amount) { @@ -56,7 +55,7 @@ void Particles2D::set_one_shot(bool p_enable) { one_shot = p_enable; VS::get_singleton()->particles_set_one_shot(particles, one_shot); - if (!one_shot && emitting) + if (!one_shot && is_emitting()) VisualServer::get_singleton()->particles_restart(particles); } void Particles2D::set_pre_process_time(float p_time) { @@ -134,7 +133,7 @@ void Particles2D::set_speed_scale(float p_scale) { bool Particles2D::is_emitting() const { - return emitting; + return VS::get_singleton()->particles_get_emitting(particles); } int Particles2D::get_amount() const { diff --git a/scene/2d/particles_2d.h b/scene/2d/particles_2d.h index 6946f2a799..e7a510d8bc 100644 --- a/scene/2d/particles_2d.h +++ b/scene/2d/particles_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -47,7 +47,6 @@ public: private: RID particles; - bool emitting; bool one_shot; int amount; float lifetime; diff --git a/scene/2d/path_2d.cpp b/scene/2d/path_2d.cpp index 4029ef137b..d2a307a9ed 100644 --- a/scene/2d/path_2d.cpp +++ b/scene/2d/path_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -32,6 +32,51 @@ #include "engine.h" #include "scene/scene_string_names.h" +#ifdef TOOLS_ENABLED +#include "editor/editor_scale.h" +#endif + +Rect2 Path2D::_edit_get_rect() const { + + if (curve->get_point_count() == 0) + return Rect2(0, 0, 0, 0); + + Rect2 aabb = Rect2(curve->get_point_position(0), Vector2(0, 0)); + + for (int i = 0; i < curve->get_point_count(); i++) { + + for (int j = 0; j <= 8; j++) { + + real_t frac = j / 8.0; + Vector2 p = curve->interpolate(i, frac); + aabb.expand_to(p); + } + } + + return aabb; +} + +bool Path2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + for (int i = 0; i < curve->get_point_count(); i++) { + Vector2 s[2]; + s[0] = curve->get_point_position(i); + + for (int j = 1; j <= 8; j++) { + real_t frac = j / 8.0; + s[1] = curve->interpolate(i, frac); + + Vector2 p = Geometry::get_closest_point_to_segment_2d(p_point, s); + if (p.distance_to(p_point) <= p_tolerance) + return true; + + s[0] = s[1]; + } + } + + return false; +} + void Path2D::_notification(int p_what) { if (p_what == NOTIFICATION_DRAW && curve.is_valid()) { @@ -41,6 +86,13 @@ void Path2D::_notification(int p_what) { return; } +#if TOOLS_ENABLED + const float line_width = 2 * EDSCALE; +#else + const float line_width = 2; +#endif + const Color color = Color(0.5, 0.6, 1.0, 0.7); + for (int i = 0; i < curve->get_point_count(); i++) { Vector2 prev_p = curve->get_point_position(i); @@ -49,7 +101,7 @@ void Path2D::_notification(int p_what) { real_t frac = j / 8.0; Vector2 p = curve->interpolate(i, frac); - draw_line(prev_p, p, Color(0.5, 0.6, 1.0, 0.7), 2); + draw_line(prev_p, p, color, line_width); prev_p = p; } } diff --git a/scene/2d/path_2d.h b/scene/2d/path_2d.h index 88a0abdea9..7f53821c7e 100644 --- a/scene/2d/path_2d.h +++ b/scene/2d/path_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -46,6 +46,9 @@ protected: static void _bind_methods(); public: + virtual Rect2 _edit_get_rect() const; + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_curve(const Ref<Curve2D> &p_curve); Ref<Curve2D> get_curve() const; diff --git a/scene/2d/path_texture.cpp b/scene/2d/path_texture.cpp index 13644f71cf..59e01f7cb6 100644 --- a/scene/2d/path_texture.cpp +++ b/scene/2d/path_texture.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/path_texture.h b/scene/2d/path_texture.h index 4639a6072b..cfe00f3880 100644 --- a/scene/2d/path_texture.h +++ b/scene/2d/path_texture.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp index a1a1101b11..ec6ff182db 100644 --- a/scene/2d/physics_body_2d.cpp +++ b/scene/2d/physics_body_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/physics_body_2d.h b/scene/2d/physics_body_2d.h index b82771a8f4..a39eb09514 100644 --- a/scene/2d/physics_body_2d.h +++ b/scene/2d/physics_body_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/polygon_2d.cpp b/scene/2d/polygon_2d.cpp index 3f2ad19e51..f9951cdd08 100644 --- a/scene/2d/polygon_2d.cpp +++ b/scene/2d/polygon_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,6 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ #include "polygon_2d.h" +#include "core/math/geometry.h" Rect2 Polygon2D::_edit_get_rect() const { @@ -42,13 +43,17 @@ Rect2 Polygon2D::_edit_get_rect() const { else item_rect.expand_to(pos); } - item_rect = item_rect.grow(20); rect_cache_dirty = false; } return item_rect; } +bool Polygon2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + return Geometry::is_point_in_polygon(p_point, Variant(polygon)); +} + void Polygon2D::_edit_set_pivot(const Point2 &p_pivot) { set_offset(p_pivot); diff --git a/scene/2d/polygon_2d.h b/scene/2d/polygon_2d.h index d09e22f5ff..5014cbc6e9 100644 --- a/scene/2d/polygon_2d.h +++ b/scene/2d/polygon_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -104,6 +104,7 @@ public: virtual bool _edit_use_pivot() const; virtual Rect2 _edit_get_rect() const; + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; Polygon2D(); }; diff --git a/scene/2d/position_2d.cpp b/scene/2d/position_2d.cpp index 1e729bc179..bff7554ec3 100644 --- a/scene/2d/position_2d.cpp +++ b/scene/2d/position_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/position_2d.h b/scene/2d/position_2d.h index 5961e447df..e5862974fa 100644 --- a/scene/2d/position_2d.h +++ b/scene/2d/position_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/ray_cast_2d.cpp b/scene/2d/ray_cast_2d.cpp index a809023083..d7c152b108 100644 --- a/scene/2d/ray_cast_2d.cpp +++ b/scene/2d/ray_cast_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/ray_cast_2d.h b/scene/2d/ray_cast_2d.h index 9d60a16c6a..a2e1d689fc 100644 --- a/scene/2d/ray_cast_2d.h +++ b/scene/2d/ray_cast_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/remote_transform_2d.cpp b/scene/2d/remote_transform_2d.cpp index c139573853..c283d69f86 100644 --- a/scene/2d/remote_transform_2d.cpp +++ b/scene/2d/remote_transform_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/remote_transform_2d.h b/scene/2d/remote_transform_2d.h index 30d5fd1e7c..cfc38ebabb 100644 --- a/scene/2d/remote_transform_2d.h +++ b/scene/2d/remote_transform_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/screen_button.cpp b/scene/2d/screen_button.cpp index d5fcda90d5..cf059ec55e 100644 --- a/scene/2d/screen_button.cpp +++ b/scene/2d/screen_button.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/screen_button.h b/scene/2d/screen_button.h index 2e674c20b4..ad558bb9ec 100644 --- a/scene/2d/screen_button.h +++ b/scene/2d/screen_button.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/sprite.cpp b/scene/2d/sprite.cpp index df2265aae9..68df95c042 100644 --- a/scene/2d/sprite.cpp +++ b/scene/2d/sprite.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -47,6 +47,40 @@ bool Sprite::_edit_use_pivot() const { return true; } +void Sprite::_get_rects(Rect2 &r_src_rect, Rect2 &r_dst_rect, bool &r_filter_clip) const { + + Size2 s; + r_filter_clip = false; + + if (region) { + + s = region_rect.size; + r_src_rect = region_rect; + r_filter_clip = region_filter_clip; + } else { + s = Size2(texture->get_size()); + s = s / Size2(hframes, vframes); + + r_src_rect.size = s; + r_src_rect.position.x += float(frame % hframes) * s.x; + r_src_rect.position.y += float(frame / hframes) * s.y; + } + + Point2 ofs = offset; + if (centered) + ofs -= s / 2; + if (Engine::get_singleton()->get_use_pixel_snap()) { + ofs = ofs.floor(); + } + + r_dst_rect = Rect2(ofs, s); + + if (hflip) + r_dst_rect.size.x = -r_dst_rect.size.x; + if (vflip) + r_dst_rect.size.y = -r_dst_rect.size.y; +} + void Sprite::_notification(int p_what) { switch (p_what) { @@ -63,38 +97,9 @@ void Sprite::_notification(int p_what) { break; */ - Size2 s; - Rect2 src_rect; - bool filter_clip = false; - - if (region) { - - s = region_rect.size; - src_rect = region_rect; - filter_clip = region_filter_clip; - } else { - s = Size2(texture->get_size()); - s = s / Size2(hframes, vframes); - - src_rect.size = s; - src_rect.position.x += float(frame % hframes) * s.x; - src_rect.position.y += float(frame / hframes) * s.y; - } - - Point2 ofs = offset; - if (centered) - ofs -= s / 2; - if (Engine::get_singleton()->get_use_pixel_snap()) { - ofs = ofs.floor(); - } - - Rect2 dst_rect(ofs, s); - - if (hflip) - dst_rect.size.x = -dst_rect.size.x; - if (vflip) - dst_rect.size.y = -dst_rect.size.y; - + Rect2 src_rect, dst_rect; + bool filter_clip; + _get_rects(src_rect, dst_rect, filter_clip); texture->draw_rect_region(ci, dst_rect, src_rect, Color(1, 1, 1), false, normal_map, filter_clip); } break; @@ -257,6 +262,30 @@ int Sprite::get_hframes() const { return hframes; } +bool Sprite::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + if (texture.is_null()) + return false; + + Rect2 src_rect, dst_rect; + bool filter_clip; + _get_rects(src_rect, dst_rect, filter_clip); + + if (!dst_rect.has_point(p_point)) + return false; + + Vector2 q = ((p_point - dst_rect.position) / dst_rect.size) * src_rect.size + src_rect.position; + + Ref<Image> image = texture->get_data(); + ERR_FAIL_COND_V(image.is_null(), false); + + image->lock(); + const Color c = image->get_pixel((int)q.x, (int)q.y); + image->unlock(); + + return c.a > 0.01; +} + Rect2 Sprite::_edit_get_rect() const { if (texture.is_null()) diff --git a/scene/2d/sprite.h b/scene/2d/sprite.h index 1bef73c0a5..7d9b2cf457 100644 --- a/scene/2d/sprite.h +++ b/scene/2d/sprite.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -54,6 +54,8 @@ class Sprite : public Node2D { int vframes; int hframes; + void _get_rects(Rect2 &r_src_rect, Rect2 &r_dst_rect, bool &r_filter_clip) const; + protected: void _notification(int p_what); @@ -65,6 +67,7 @@ public: virtual void _edit_set_pivot(const Point2 &p_pivot); virtual Point2 _edit_get_pivot() const; virtual bool _edit_use_pivot() const; + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; virtual Rect2 _edit_get_rect() const; void set_texture(const Ref<Texture> &p_texture); diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index 7b30ddaa56..8bd5676bc7 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -336,7 +336,7 @@ void TileMap::_update_dirty_quadrants() { debug_canvas_item = vs->canvas_item_create(); vs->canvas_item_set_parent(debug_canvas_item, canvas_item); vs->canvas_item_set_z_as_relative_to_parent(debug_canvas_item, false); - vs->canvas_item_set_z(debug_canvas_item, VS::CANVAS_ITEM_Z_MAX - 1); + vs->canvas_item_set_z_index(debug_canvas_item, VS::CANVAS_ITEM_Z_MAX - 1); q.canvas_items.push_back(debug_canvas_item); prev_debug_canvas_item = debug_canvas_item; } @@ -1527,7 +1527,7 @@ void TileMap::_bind_methods() { ClassDB::bind_method(D_METHOD("_recreate_quadrants"), &TileMap::_recreate_quadrants); ClassDB::bind_method(D_METHOD("_update_dirty_quadrants"), &TileMap::_update_dirty_quadrants); - ClassDB::bind_method(D_METHOD("update_bitmask_area"), &TileMap::update_bitmask_area); + ClassDB::bind_method(D_METHOD("update_bitmask_area", "position"), &TileMap::update_bitmask_area); ClassDB::bind_method(D_METHOD("update_bitmask_region", "start", "end"), &TileMap::update_bitmask_region, DEFVAL(Vector2()), DEFVAL(Vector2())); ClassDB::bind_method(D_METHOD("_set_tile_data"), &TileMap::_set_tile_data); diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h index 8f0b2e6e4c..21258f27c9 100644 --- a/scene/2d/tile_map.h +++ b/scene/2d/tile_map.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/visibility_notifier_2d.cpp b/scene/2d/visibility_notifier_2d.cpp index 298bc2649e..cc6ee1a426 100644 --- a/scene/2d/visibility_notifier_2d.cpp +++ b/scene/2d/visibility_notifier_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/visibility_notifier_2d.h b/scene/2d/visibility_notifier_2d.h index 6e06833912..b2fbb39dfc 100644 --- a/scene/2d/visibility_notifier_2d.h +++ b/scene/2d/visibility_notifier_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/y_sort.cpp b/scene/2d/y_sort.cpp index e0fb3f0645..85c068b212 100644 --- a/scene/2d/y_sort.cpp +++ b/scene/2d/y_sort.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/2d/y_sort.h b/scene/2d/y_sort.h index de7aa3a317..63796f8719 100644 --- a/scene/2d/y_sort.h +++ b/scene/2d/y_sort.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/area.cpp b/scene/3d/area.cpp index 422aa556f9..ad8bf7141a 100644 --- a/scene/3d/area.cpp +++ b/scene/3d/area.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/area.h b/scene/3d/area.h index 7ea97d0a8c..fa01a783f9 100644 --- a/scene/3d/area.h +++ b/scene/3d/area.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/arvr_nodes.cpp b/scene/3d/arvr_nodes.cpp index e1e0b9b1ce..001c58ea76 100644 --- a/scene/3d/arvr_nodes.cpp +++ b/scene/3d/arvr_nodes.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -231,7 +231,7 @@ void ARVRController::_notification(int p_what) { void ARVRController::_bind_methods() { ClassDB::bind_method(D_METHOD("set_controller_id", "controller_id"), &ARVRController::set_controller_id); ClassDB::bind_method(D_METHOD("get_controller_id"), &ARVRController::get_controller_id); - ADD_PROPERTY(PropertyInfo(Variant::INT, "controller_id", PROPERTY_HINT_RANGE, "1,32,1"), "set_controller_id", "get_controller_id"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "controller_id", PROPERTY_HINT_RANGE, "0,32,1"), "set_controller_id", "get_controller_id"); ClassDB::bind_method(D_METHOD("get_controller_name"), &ARVRController::get_controller_name); // passthroughs to information about our related joystick @@ -251,7 +251,8 @@ void ARVRController::_bind_methods() { }; void ARVRController::set_controller_id(int p_controller_id) { - // we don't check any bounds here, this controller may not yet be active and just be a place holder until it is. + // We don't check any bounds here, this controller may not yet be active and just be a place holder until it is. + // Note that setting this to 0 means this node is not bound to a controller yet. controller_id = p_controller_id; }; @@ -420,7 +421,7 @@ void ARVRAnchor::_bind_methods() { ClassDB::bind_method(D_METHOD("set_anchor_id", "anchor_id"), &ARVRAnchor::set_anchor_id); ClassDB::bind_method(D_METHOD("get_anchor_id"), &ARVRAnchor::get_anchor_id); - ADD_PROPERTY(PropertyInfo(Variant::INT, "anchor_id"), "set_anchor_id", "get_anchor_id"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "anchor_id", PROPERTY_HINT_RANGE, "0,32,1"), "set_anchor_id", "get_anchor_id"); ClassDB::bind_method(D_METHOD("get_anchor_name"), &ARVRAnchor::get_anchor_name); ClassDB::bind_method(D_METHOD("get_is_active"), &ARVRAnchor::get_is_active); @@ -430,7 +431,8 @@ void ARVRAnchor::_bind_methods() { }; void ARVRAnchor::set_anchor_id(int p_anchor_id) { - // we don't check any bounds here, this anchor may not yet be active and just be a place holder until it is. + // We don't check any bounds here, this anchor may not yet be active and just be a place holder until it is. + // Note that setting this to 0 means this node is not bound to an anchor yet. anchor_id = p_anchor_id; }; diff --git a/scene/3d/arvr_nodes.h b/scene/3d/arvr_nodes.h index 6e940351f2..67fb658562 100644 --- a/scene/3d/arvr_nodes.h +++ b/scene/3d/arvr_nodes.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/baked_lightmap.cpp b/scene/3d/baked_lightmap.cpp index 754dcd9a6c..8c282a31b8 100644 --- a/scene/3d/baked_lightmap.cpp +++ b/scene/3d/baked_lightmap.cpp @@ -165,20 +165,20 @@ BakedLightmap::BakeBeginFunc BakedLightmap::bake_begin_function = NULL; BakedLightmap::BakeStepFunc BakedLightmap::bake_step_function = NULL; BakedLightmap::BakeEndFunc BakedLightmap::bake_end_function = NULL; -void BakedLightmap::set_bake_subdiv(Subdiv p_subdiv) { - bake_subdiv = p_subdiv; +void BakedLightmap::set_bake_cell_size(float p_cell_size) { + bake_cell_size = p_cell_size; } -BakedLightmap::Subdiv BakedLightmap::get_bake_subdiv() const { - return bake_subdiv; +float BakedLightmap::get_bake_cell_size() const { + return bake_cell_size; } -void BakedLightmap::set_capture_subdiv(Subdiv p_subdiv) { - capture_subdiv = p_subdiv; +void BakedLightmap::set_capture_cell_size(float p_cell_size) { + capture_cell_size = p_cell_size; } -BakedLightmap::Subdiv BakedLightmap::get_capture_subdiv() const { - return capture_subdiv; +float BakedLightmap::get_capture_cell_size() const { + return capture_cell_size; } void BakedLightmap::set_extents(const Vector3 &p_extents) { @@ -327,11 +327,29 @@ BakedLightmap::BakeError BakedLightmap::bake(Node *p_from_node, bool p_create_vi Ref<BakedLightmapData> new_light_data; new_light_data.instance(); - static const int subdiv_value[SUBDIV_MAX] = { 8, 9, 10, 11 }; - VoxelLightBaker baker; - baker.begin_bake(subdiv_value[bake_subdiv], AABB(-extents, extents * 2.0)); + int bake_subdiv; + int capture_subdiv; + AABB bake_bounds; + { + bake_bounds = AABB(-extents, extents * 2.0); + int subdiv = nearest_power_of_2_templated(int(bake_bounds.get_longest_axis_size() / bake_cell_size)); + bake_bounds.size[bake_bounds.get_longest_axis_size()] = subdiv * bake_cell_size; + bake_subdiv = nearest_shift(subdiv) + 1; + + capture_subdiv = bake_subdiv; + float css = bake_cell_size; + while (css < capture_cell_size && capture_subdiv > 2) { + capture_subdiv--; + css *= 2.0; + } + + print_line("bake subdiv: " + itos(bake_subdiv)); + print_line("capture subdiv: " + itos(capture_subdiv)); + } + + baker.begin_bake(bake_subdiv, bake_bounds); List<PlotMesh> mesh_list; List<PlotLight> light_list; @@ -510,19 +528,19 @@ BakedLightmap::BakeError BakedLightmap::bake(Node *p_from_node, bool p_create_vi } } - int csubdiv = subdiv_value[capture_subdiv]; AABB bounds = AABB(-extents, extents * 2); - new_light_data->set_cell_subdiv(csubdiv); + new_light_data->set_cell_subdiv(capture_subdiv); new_light_data->set_bounds(bounds); - new_light_data->set_octree(baker.create_capture_octree(csubdiv)); + new_light_data->set_octree(baker.create_capture_octree(capture_subdiv)); { + float bake_bound_size = bake_bounds.get_longest_axis_size(); Transform to_bounds; - to_bounds.basis.scale(Vector3(bounds.get_longest_axis_size(), bounds.get_longest_axis_size(), bounds.get_longest_axis_size())); + to_bounds.basis.scale(Vector3(bake_bound_size, bake_bound_size, bake_bound_size)); to_bounds.origin = bounds.position; Transform to_grid; - to_grid.basis.scale(Vector3(1 << (csubdiv - 1), 1 << (csubdiv - 1), 1 << (csubdiv - 1))); + to_grid.basis.scale(Vector3(1 << (capture_subdiv - 1), 1 << (capture_subdiv - 1), 1 << (capture_subdiv - 1))); Transform to_cell_space = to_grid * to_bounds.affine_inverse(); new_light_data->set_cell_space_transform(to_cell_space); @@ -693,11 +711,11 @@ void BakedLightmap::_bind_methods() { ClassDB::bind_method(D_METHOD("set_light_data", "data"), &BakedLightmap::set_light_data); ClassDB::bind_method(D_METHOD("get_light_data"), &BakedLightmap::get_light_data); - ClassDB::bind_method(D_METHOD("set_bake_subdiv", "bake_subdiv"), &BakedLightmap::set_bake_subdiv); - ClassDB::bind_method(D_METHOD("get_bake_subdiv"), &BakedLightmap::get_bake_subdiv); + ClassDB::bind_method(D_METHOD("set_bake_cell_size", "bake_cell_size"), &BakedLightmap::set_bake_cell_size); + ClassDB::bind_method(D_METHOD("get_bake_cell_size"), &BakedLightmap::get_bake_cell_size); - ClassDB::bind_method(D_METHOD("set_capture_subdiv", "capture_subdiv"), &BakedLightmap::set_capture_subdiv); - ClassDB::bind_method(D_METHOD("get_capture_subdiv"), &BakedLightmap::get_capture_subdiv); + ClassDB::bind_method(D_METHOD("set_capture_cell_size", "capture_cell_size"), &BakedLightmap::set_capture_cell_size); + ClassDB::bind_method(D_METHOD("get_capture_cell_size"), &BakedLightmap::get_capture_cell_size); ClassDB::bind_method(D_METHOD("set_bake_quality", "bake_quality"), &BakedLightmap::set_bake_quality); ClassDB::bind_method(D_METHOD("get_bake_quality"), &BakedLightmap::get_bake_quality); @@ -724,23 +742,20 @@ void BakedLightmap::_bind_methods() { ClassDB::bind_method(D_METHOD("debug_bake"), &BakedLightmap::_debug_bake); ClassDB::set_method_flags(get_class_static(), _scs_create("debug_bake"), METHOD_FLAGS_DEFAULT | METHOD_FLAG_EDITOR); - ADD_PROPERTY(PropertyInfo(Variant::INT, "bake_subdiv", PROPERTY_HINT_ENUM, "128,256,512,1024"), "set_bake_subdiv", "get_bake_subdiv"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "capture_subdiv", PROPERTY_HINT_ENUM, "128,256,512"), "set_capture_subdiv", "get_capture_subdiv"); + ADD_GROUP("Bake", "bake_"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "bake_cell_size", PROPERTY_HINT_RANGE, "0.01,64,0.01"), "set_bake_cell_size", "get_bake_cell_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "bake_quality", PROPERTY_HINT_ENUM, "Low,Medium,High"), "set_bake_quality", "get_bake_quality"); ADD_PROPERTY(PropertyInfo(Variant::INT, "bake_mode", PROPERTY_HINT_ENUM, "ConeTrace,RayTrace"), "set_bake_mode", "get_bake_mode"); - ADD_PROPERTY(PropertyInfo(Variant::REAL, "propagation", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_propagation", "get_propagation"); - ADD_PROPERTY(PropertyInfo(Variant::REAL, "energy", PROPERTY_HINT_RANGE, "0,32,0.01"), "set_energy", "get_energy"); - ADD_PROPERTY(PropertyInfo(Variant::BOOL, "hdr"), "set_hdr", "is_hdr"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "bake_propagation", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_propagation", "get_propagation"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "bake_energy", PROPERTY_HINT_RANGE, "0,32,0.01"), "set_energy", "get_energy"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "bake_hdr"), "set_hdr", "is_hdr"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "bake_extents"), "set_extents", "get_extents"); + ADD_GROUP("Capture", "capture_"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "capture_cell_size", PROPERTY_HINT_RANGE, "0.01,64,0.01"), "set_capture_cell_size", "get_capture_cell_size"); + ADD_GROUP("Data", ""); ADD_PROPERTY(PropertyInfo(Variant::STRING, "image_path", PROPERTY_HINT_DIR), "set_image_path", "get_image_path"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "extents"), "set_extents", "get_extents"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "light_data", PROPERTY_HINT_RESOURCE_TYPE, "BakedIndirectLightData"), "set_light_data", "get_light_data"); - BIND_ENUM_CONSTANT(SUBDIV_128); - BIND_ENUM_CONSTANT(SUBDIV_256); - BIND_ENUM_CONSTANT(SUBDIV_512); - BIND_ENUM_CONSTANT(SUBDIV_1024); - BIND_ENUM_CONSTANT(SUBDIV_MAX); - BIND_ENUM_CONSTANT(BAKE_QUALITY_LOW); BIND_ENUM_CONSTANT(BAKE_QUALITY_MEDIUM); BIND_ENUM_CONSTANT(BAKE_QUALITY_HIGH); @@ -757,8 +772,9 @@ void BakedLightmap::_bind_methods() { BakedLightmap::BakedLightmap() { extents = Vector3(10, 10, 10); - bake_subdiv = SUBDIV_256; - capture_subdiv = SUBDIV_128; + bake_cell_size = 0.25; + capture_cell_size = 0.5; + bake_quality = BAKE_QUALITY_MEDIUM; bake_mode = BAKE_MODE_CONE_TRACE; energy = 1; diff --git a/scene/3d/baked_lightmap.h b/scene/3d/baked_lightmap.h index 9e15f1bb10..9b53e41d73 100644 --- a/scene/3d/baked_lightmap.h +++ b/scene/3d/baked_lightmap.h @@ -61,15 +61,6 @@ class BakedLightmap : public VisualInstance { GDCLASS(BakedLightmap, VisualInstance); public: - enum Subdiv { - SUBDIV_128, - SUBDIV_256, - SUBDIV_512, - SUBDIV_1024, - SUBDIV_MAX - - }; - enum BakeQuality { BAKE_QUALITY_LOW, BAKE_QUALITY_MEDIUM, @@ -95,8 +86,8 @@ public: typedef void (*BakeEndFunc)(); private: - Subdiv bake_subdiv; - Subdiv capture_subdiv; + float bake_cell_size; + float capture_cell_size; Vector3 extents; float propagation; float energy; @@ -148,11 +139,11 @@ public: void set_light_data(const Ref<BakedLightmapData> &p_data); Ref<BakedLightmapData> get_light_data() const; - void set_bake_subdiv(Subdiv p_subdiv); - Subdiv get_bake_subdiv() const; + void set_bake_cell_size(float p_cell_size); + float get_bake_cell_size() const; - void set_capture_subdiv(Subdiv p_subdiv); - Subdiv get_capture_subdiv() const; + void set_capture_cell_size(float p_cell_size); + float get_capture_cell_size() const; void set_extents(const Vector3 &p_extents); Vector3 get_extents() const; @@ -182,7 +173,6 @@ public: BakedLightmap(); }; -VARIANT_ENUM_CAST(BakedLightmap::Subdiv); VARIANT_ENUM_CAST(BakedLightmap::BakeQuality); VARIANT_ENUM_CAST(BakedLightmap::BakeMode); VARIANT_ENUM_CAST(BakedLightmap::BakeError); diff --git a/scene/3d/bone_attachment.cpp b/scene/3d/bone_attachment.cpp index 2580b645e2..9e3b15461b 100644 --- a/scene/3d/bone_attachment.cpp +++ b/scene/3d/bone_attachment.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/bone_attachment.h b/scene/3d/bone_attachment.h index 159d16157a..57bc71a51f 100644 --- a/scene/3d/bone_attachment.h +++ b/scene/3d/bone_attachment.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/camera.cpp b/scene/3d/camera.cpp index 72c0b979af..840783c399 100644 --- a/scene/3d/camera.cpp +++ b/scene/3d/camera.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -70,6 +70,9 @@ void Camera::_validate_property(PropertyInfo &p_property) const { void Camera::_update_camera() { + if (!is_inside_tree()) + return; + Transform tr = get_camera_transform(); tr.origin += tr.basis.get_axis(1) * v_offset; tr.origin += tr.basis.get_axis(0) * h_offset; @@ -81,7 +84,7 @@ void Camera::_update_camera() { get_viewport()->_camera_transform_changed_notify(); */ - if (!is_inside_tree() || get_tree()->is_node_being_edited(this) || !is_current()) + if (get_tree()->is_node_being_edited(this) || !is_current()) return; get_viewport()->_camera_transform_changed_notify(); @@ -407,15 +410,6 @@ Camera::KeepAspect Camera::get_keep_aspect_mode() const { return keep_aspect; } -void Camera::set_vaspect(bool p_vaspect) { - set_keep_aspect_mode(p_vaspect ? KEEP_WIDTH : KEEP_HEIGHT); - _update_camera_mode(); -} - -bool Camera::get_vaspect() const { - return keep_aspect == KEEP_HEIGHT; -} - void Camera::set_doppler_tracking(DopplerTracking p_tracking) { if (doppler_tracking == p_tracking) @@ -468,14 +462,11 @@ void Camera::_bind_methods() { ClassDB::bind_method(D_METHOD("get_environment"), &Camera::get_environment); ClassDB::bind_method(D_METHOD("set_keep_aspect_mode", "mode"), &Camera::set_keep_aspect_mode); ClassDB::bind_method(D_METHOD("get_keep_aspect_mode"), &Camera::get_keep_aspect_mode); - ClassDB::bind_method(D_METHOD("set_vaspect"), &Camera::set_vaspect); - ClassDB::bind_method(D_METHOD("get_vaspect"), &Camera::get_vaspect); ClassDB::bind_method(D_METHOD("set_doppler_tracking", "mode"), &Camera::set_doppler_tracking); ClassDB::bind_method(D_METHOD("get_doppler_tracking"), &Camera::get_doppler_tracking); //ClassDB::bind_method(D_METHOD("_camera_make_current"),&Camera::_camera_make_current ); ADD_PROPERTY(PropertyInfo(Variant::INT, "keep_aspect", PROPERTY_HINT_ENUM, "Keep Width,Keep Height"), "set_keep_aspect_mode", "get_keep_aspect_mode"); - ADD_PROPERTY(PropertyInfo(Variant::BOOL, "vaspect"), "set_vaspect", "get_vaspect"); ADD_PROPERTY(PropertyInfo(Variant::INT, "cull_mask", PROPERTY_HINT_LAYERS_3D_RENDER), "set_cull_mask", "get_cull_mask"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "environment", PROPERTY_HINT_RESOURCE_TYPE, "Environment"), "set_environment", "get_environment"); ADD_PROPERTY(PropertyInfo(Variant::REAL, "h_offset"), "set_h_offset", "get_h_offset"); diff --git a/scene/3d/camera.h b/scene/3d/camera.h index 520afb962b..c24286ecc5 100644 --- a/scene/3d/camera.h +++ b/scene/3d/camera.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -148,8 +148,6 @@ public: void set_keep_aspect_mode(KeepAspect p_aspect); KeepAspect get_keep_aspect_mode() const; - void set_vaspect(bool p_vaspect); - bool get_vaspect() const; void set_v_offset(float p_offset); float get_v_offset() const; diff --git a/scene/3d/collision_object.cpp b/scene/3d/collision_object.cpp index 7b4770e435..e591b17aa6 100644 --- a/scene/3d/collision_object.cpp +++ b/scene/3d/collision_object.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/collision_object.h b/scene/3d/collision_object.h index ac35de697c..c1fed559c5 100644 --- a/scene/3d/collision_object.h +++ b/scene/3d/collision_object.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/collision_polygon.cpp b/scene/3d/collision_polygon.cpp index a6d812efec..7d894a0544 100644 --- a/scene/3d/collision_polygon.cpp +++ b/scene/3d/collision_polygon.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/collision_polygon.h b/scene/3d/collision_polygon.h index 14d8c3aba6..b979057da1 100644 --- a/scene/3d/collision_polygon.h +++ b/scene/3d/collision_polygon.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/collision_shape.cpp b/scene/3d/collision_shape.cpp index f49d89122d..b5f3a09c09 100644 --- a/scene/3d/collision_shape.cpp +++ b/scene/3d/collision_shape.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/collision_shape.h b/scene/3d/collision_shape.h index 94621177cb..4728d3d5c1 100644 --- a/scene/3d/collision_shape.h +++ b/scene/3d/collision_shape.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/gi_probe.cpp b/scene/3d/gi_probe.cpp index 9c811a74bf..21e8a6e17a 100644 --- a/scene/3d/gi_probe.cpp +++ b/scene/3d/gi_probe.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/gi_probe.h b/scene/3d/gi_probe.h index 0858af0001..af3c854f1f 100644 --- a/scene/3d/gi_probe.h +++ b/scene/3d/gi_probe.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/immediate_geometry.cpp b/scene/3d/immediate_geometry.cpp index 092ed8f0b2..8d8c1b65fc 100644 --- a/scene/3d/immediate_geometry.cpp +++ b/scene/3d/immediate_geometry.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/immediate_geometry.h b/scene/3d/immediate_geometry.h index 1ff4e05e82..abcabf2c34 100644 --- a/scene/3d/immediate_geometry.h +++ b/scene/3d/immediate_geometry.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/interpolated_camera.cpp b/scene/3d/interpolated_camera.cpp index 3ff8317732..03f82e0e44 100644 --- a/scene/3d/interpolated_camera.cpp +++ b/scene/3d/interpolated_camera.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/interpolated_camera.h b/scene/3d/interpolated_camera.h index 26e7278c99..d74b13c214 100644 --- a/scene/3d/interpolated_camera.h +++ b/scene/3d/interpolated_camera.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/light.cpp b/scene/3d/light.cpp index 6eb2028d8e..04c1f9e3e8 100644 --- a/scene/3d/light.cpp +++ b/scene/3d/light.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/light.h b/scene/3d/light.h index 7ba25731d9..2639e47217 100644 --- a/scene/3d/light.h +++ b/scene/3d/light.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/listener.cpp b/scene/3d/listener.cpp index 51cf9fb89b..752a2059f5 100644 --- a/scene/3d/listener.cpp +++ b/scene/3d/listener.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/listener.h b/scene/3d/listener.h index 2c800443b4..db8dca8ce2 100644 --- a/scene/3d/listener.h +++ b/scene/3d/listener.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/mesh_instance.cpp b/scene/3d/mesh_instance.cpp index 1e52ccc6e0..cffcbd9a41 100644 --- a/scene/3d/mesh_instance.cpp +++ b/scene/3d/mesh_instance.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/mesh_instance.h b/scene/3d/mesh_instance.h index 970a10aaf3..74041a46bc 100644 --- a/scene/3d/mesh_instance.h +++ b/scene/3d/mesh_instance.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/multimesh_instance.cpp b/scene/3d/multimesh_instance.cpp index ce7b97be7f..a6a8d434fa 100644 --- a/scene/3d/multimesh_instance.cpp +++ b/scene/3d/multimesh_instance.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/multimesh_instance.h b/scene/3d/multimesh_instance.h index 9b2b1ff9a7..312748b6f0 100644 --- a/scene/3d/multimesh_instance.h +++ b/scene/3d/multimesh_instance.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/navigation.cpp b/scene/3d/navigation.cpp index 78cf75e3b3..5d41fe576b 100644 --- a/scene/3d/navigation.cpp +++ b/scene/3d/navigation.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/navigation.h b/scene/3d/navigation.h index 134afa2278..a5a4deebcd 100644 --- a/scene/3d/navigation.h +++ b/scene/3d/navigation.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/navigation_mesh.cpp b/scene/3d/navigation_mesh.cpp index 4fb12b8fac..3e548b8e8f 100644 --- a/scene/3d/navigation_mesh.cpp +++ b/scene/3d/navigation_mesh.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/navigation_mesh.h b/scene/3d/navigation_mesh.h index dd5ed79500..0a81e1c67b 100644 --- a/scene/3d/navigation_mesh.h +++ b/scene/3d/navigation_mesh.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/particles.cpp b/scene/3d/particles.cpp index b445ccc5a9..fda4647141 100644 --- a/scene/3d/particles.cpp +++ b/scene/3d/particles.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -42,8 +42,7 @@ PoolVector<Face3> Particles::get_faces(uint32_t p_usage_flags) const { void Particles::set_emitting(bool p_emitting) { - emitting = p_emitting; - VS::get_singleton()->particles_set_emitting(particles, emitting); + VS::get_singleton()->particles_set_emitting(particles, p_emitting); } void Particles::set_amount(int p_amount) { @@ -63,7 +62,7 @@ void Particles::set_one_shot(bool p_one_shot) { one_shot = p_one_shot; VS::get_singleton()->particles_set_one_shot(particles, one_shot); - if (!one_shot && emitting) + if (!one_shot && is_emitting()) VisualServer::get_singleton()->particles_restart(particles); } @@ -113,7 +112,7 @@ void Particles::set_speed_scale(float p_scale) { bool Particles::is_emitting() const { - return emitting; + return VS::get_singleton()->particles_get_emitting(particles); } int Particles::get_amount() const { diff --git a/scene/3d/particles.h b/scene/3d/particles.h index 5b8121e937..ebd2b6ce48 100644 --- a/scene/3d/particles.h +++ b/scene/3d/particles.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -57,7 +57,6 @@ public: private: RID particles; - bool emitting; bool one_shot; int amount; float lifetime; diff --git a/scene/3d/path.cpp b/scene/3d/path.cpp index 65f20210e1..e0520fdb7c 100644 --- a/scene/3d/path.cpp +++ b/scene/3d/path.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/path.h b/scene/3d/path.h index 52760e0c75..7c3e0f35cc 100644 --- a/scene/3d/path.h +++ b/scene/3d/path.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/physics_body.cpp b/scene/3d/physics_body.cpp index c5f817d317..4c4e4bf1e6 100644 --- a/scene/3d/physics_body.cpp +++ b/scene/3d/physics_body.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/physics_body.h b/scene/3d/physics_body.h index 9d9feda0b2..f64733e707 100644 --- a/scene/3d/physics_body.h +++ b/scene/3d/physics_body.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/physics_joint.cpp b/scene/3d/physics_joint.cpp index 1d779d31fe..c36e684477 100644 --- a/scene/3d/physics_joint.cpp +++ b/scene/3d/physics_joint.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/physics_joint.h b/scene/3d/physics_joint.h index b94297da30..1520c40cdd 100644 --- a/scene/3d/physics_joint.h +++ b/scene/3d/physics_joint.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/portal.cpp b/scene/3d/portal.cpp index 4fde29aab9..35ef6fa2f1 100644 --- a/scene/3d/portal.cpp +++ b/scene/3d/portal.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/portal.h b/scene/3d/portal.h index a3a7956286..545dd61650 100644 --- a/scene/3d/portal.h +++ b/scene/3d/portal.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/position_3d.cpp b/scene/3d/position_3d.cpp index d0df985ac4..955c54a008 100644 --- a/scene/3d/position_3d.cpp +++ b/scene/3d/position_3d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/position_3d.h b/scene/3d/position_3d.h index 8083c33196..59512ea108 100644 --- a/scene/3d/position_3d.h +++ b/scene/3d/position_3d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/proximity_group.cpp b/scene/3d/proximity_group.cpp index 2288d8b08b..7daf43aefd 100644 --- a/scene/3d/proximity_group.cpp +++ b/scene/3d/proximity_group.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/proximity_group.h b/scene/3d/proximity_group.h index d003d2f525..7c61c0f949 100644 --- a/scene/3d/proximity_group.h +++ b/scene/3d/proximity_group.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/ray_cast.cpp b/scene/3d/ray_cast.cpp index faeb18691a..962af4b244 100644 --- a/scene/3d/ray_cast.cpp +++ b/scene/3d/ray_cast.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/ray_cast.h b/scene/3d/ray_cast.h index 9fb1a1be67..c44fd907e5 100644 --- a/scene/3d/ray_cast.h +++ b/scene/3d/ray_cast.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/reflection_probe.cpp b/scene/3d/reflection_probe.cpp index 0e575ec152..b8fa50357a 100644 --- a/scene/3d/reflection_probe.cpp +++ b/scene/3d/reflection_probe.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/reflection_probe.h b/scene/3d/reflection_probe.h index 26f17fdcf9..742e4121f7 100644 --- a/scene/3d/reflection_probe.h +++ b/scene/3d/reflection_probe.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/remote_transform.cpp b/scene/3d/remote_transform.cpp index 8faf985b11..afb85f7314 100644 --- a/scene/3d/remote_transform.cpp +++ b/scene/3d/remote_transform.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/remote_transform.h b/scene/3d/remote_transform.h index 51a0bf35a3..5fc9b071b0 100644 --- a/scene/3d/remote_transform.h +++ b/scene/3d/remote_transform.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/room_instance.cpp b/scene/3d/room_instance.cpp index 47a7b8bfb9..94ad07c617 100644 --- a/scene/3d/room_instance.cpp +++ b/scene/3d/room_instance.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/room_instance.h b/scene/3d/room_instance.h index 2b2f80a0c6..dc066c73c3 100644 --- a/scene/3d/room_instance.h +++ b/scene/3d/room_instance.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/scenario_fx.cpp b/scene/3d/scenario_fx.cpp index 8102b3f15c..cefe3e46f3 100644 --- a/scene/3d/scenario_fx.cpp +++ b/scene/3d/scenario_fx.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/scenario_fx.h b/scene/3d/scenario_fx.h index acf6a18526..3a8a927f88 100644 --- a/scene/3d/scenario_fx.h +++ b/scene/3d/scenario_fx.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/skeleton.cpp b/scene/3d/skeleton.cpp index d0e0937eca..aaa378bb68 100644 --- a/scene/3d/skeleton.cpp +++ b/scene/3d/skeleton.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -153,6 +153,24 @@ void Skeleton::_notification(int p_what) { case NOTIFICATION_EXIT_WORLD: { } break; + case NOTIFICATION_TRANSFORM_CHANGED: { + + if (dirty) + break; //will be eventually updated + + //if moved, just update transforms + VisualServer *vs = VisualServer::get_singleton(); + const Bone *bonesptr = bones.ptr(); + int len = bones.size(); + Transform global_transform = get_global_transform(); + Transform global_transform_inverse = global_transform.affine_inverse(); + + for (int i = 0; i < len; i++) { + + const Bone &b = bonesptr[i]; + vs->skeleton_bone_set_transform(skeleton, i, global_transform * (b.transform_final * global_transform_inverse)); + } + } break; case NOTIFICATION_UPDATE_SKELETON: { VisualServer *vs = VisualServer::get_singleton(); @@ -180,6 +198,9 @@ void Skeleton::_notification(int p_what) { rest_global_inverse_dirty = false; } + Transform global_transform = get_global_transform(); + Transform global_transform_inverse = global_transform.affine_inverse(); + for (int i = 0; i < len; i++) { Bone &b = bonesptr[i]; @@ -239,7 +260,8 @@ void Skeleton::_notification(int p_what) { } } - vs->skeleton_bone_set_transform(skeleton, i, b.pose_global * b.rest_global_inverse); + b.transform_final = b.pose_global * b.rest_global_inverse; + vs->skeleton_bone_set_transform(skeleton, i, global_transform * (b.transform_final * global_transform_inverse)); for (List<uint32_t>::Element *E = b.nodes_bound.front(); E; E = E->next()) { @@ -543,6 +565,7 @@ Skeleton::Skeleton() { rest_global_inverse_dirty = true; dirty = false; skeleton = VisualServer::get_singleton()->skeleton_create(); + set_notify_transform(true); } Skeleton::~Skeleton() { diff --git a/scene/3d/skeleton.h b/scene/3d/skeleton.h index fdc1100472..1b999d91c3 100644 --- a/scene/3d/skeleton.h +++ b/scene/3d/skeleton.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -57,6 +57,8 @@ class Skeleton : public Spatial { bool custom_pose_enable; Transform custom_pose; + Transform transform_final; + List<uint32_t> nodes_bound; Bone() { diff --git a/scene/3d/spatial.cpp b/scene/3d/spatial.cpp index d9f88ac693..a55c4a2cc5 100644 --- a/scene/3d/spatial.cpp +++ b/scene/3d/spatial.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -555,30 +555,36 @@ bool Spatial::is_visible() const { return data.visible; } -void Spatial::rotate(const Vector3 &p_normal, float p_radians) { +void Spatial::rotate_object_local(const Vector3 &p_axis, float p_angle) { + Transform t = get_transform(); + t.basis.rotate_local(p_axis, p_angle); + set_transform(t); +} + +void Spatial::rotate(const Vector3 &p_axis, float p_angle) { Transform t = get_transform(); - t.basis.rotate(p_normal, p_radians); + t.basis.rotate(p_axis, p_angle); set_transform(t); } -void Spatial::rotate_x(float p_radians) { +void Spatial::rotate_x(float p_angle) { Transform t = get_transform(); - t.basis.rotate(Vector3(1, 0, 0), p_radians); + t.basis.rotate(Vector3(1, 0, 0), p_angle); set_transform(t); } -void Spatial::rotate_y(float p_radians) { +void Spatial::rotate_y(float p_angle) { Transform t = get_transform(); - t.basis.rotate(Vector3(0, 1, 0), p_radians); + t.basis.rotate(Vector3(0, 1, 0), p_angle); set_transform(t); } -void Spatial::rotate_z(float p_radians) { +void Spatial::rotate_z(float p_angle) { Transform t = get_transform(); - t.basis.rotate(Vector3(0, 0, 1), p_radians); + t.basis.rotate(Vector3(0, 0, 1), p_angle); set_transform(t); } @@ -589,19 +595,45 @@ void Spatial::translate(const Vector3 &p_offset) { set_transform(t); } +void Spatial::translate_object_local(const Vector3 &p_offset) { + Transform t = get_transform(); + + Transform s; + s.translate(p_offset); + set_transform(t * s); +} + void Spatial::scale(const Vector3 &p_ratio) { Transform t = get_transform(); t.basis.scale(p_ratio); set_transform(t); } -void Spatial::global_rotate(const Vector3 &p_normal, float p_radians) { - Basis rotation(p_normal, p_radians); +void Spatial::scale_object_local(const Vector3 &p_scale) { + Transform t = get_transform(); + t.basis.scale_local(p_scale); + set_transform(t); +} + +void Spatial::global_rotate(const Vector3 &p_axis, float p_angle) { + + Basis rotation(p_axis, p_angle); Transform t = get_global_transform(); t.basis = rotation * t.basis; set_global_transform(t); } + +void Spatial::global_scale(const Vector3 &p_scale) { + + Basis s; + s.set_scale(p_scale); + + Transform t = get_global_transform(); + t.basis = s * t.basis; + set_global_transform(t); +} + void Spatial::global_translate(const Vector3 &p_offset) { Transform t = get_global_transform(); t.origin += p_offset; @@ -620,7 +652,7 @@ void Spatial::set_identity() { set_transform(Transform()); } -void Spatial::look_at(const Vector3 &p_target, const Vector3 &p_up_normal) { +void Spatial::look_at(const Vector3 &p_target, const Vector3 &p_up) { Transform lookat; lookat.origin = get_global_transform().origin; @@ -629,19 +661,19 @@ void Spatial::look_at(const Vector3 &p_target, const Vector3 &p_up_normal) { ERR_FAIL(); } - if (p_up_normal.cross(p_target - lookat.origin) == Vector3()) { + if (p_up.cross(p_target - lookat.origin) == Vector3()) { ERR_EXPLAIN("Up vector and direction between node origin and target are aligned, look_at() failed"); ERR_FAIL(); } - lookat = lookat.looking_at(p_target, p_up_normal); + lookat = lookat.looking_at(p_target, p_up); set_global_transform(lookat); } -void Spatial::look_at_from_position(const Vector3 &p_pos, const Vector3 &p_target, const Vector3 &p_up_normal) { +void Spatial::look_at_from_position(const Vector3 &p_pos, const Vector3 &p_target, const Vector3 &p_up) { Transform lookat; lookat.origin = p_pos; - lookat = lookat.looking_at(p_target, p_up_normal); + lookat = lookat.looking_at(p_target, p_up); set_global_transform(lookat); } @@ -677,9 +709,9 @@ void Spatial::_bind_methods() { ClassDB::bind_method(D_METHOD("get_transform"), &Spatial::get_transform); ClassDB::bind_method(D_METHOD("set_translation", "translation"), &Spatial::set_translation); ClassDB::bind_method(D_METHOD("get_translation"), &Spatial::get_translation); - ClassDB::bind_method(D_METHOD("set_rotation", "radians"), &Spatial::set_rotation); + ClassDB::bind_method(D_METHOD("set_rotation", "euler"), &Spatial::set_rotation); ClassDB::bind_method(D_METHOD("get_rotation"), &Spatial::get_rotation); - ClassDB::bind_method(D_METHOD("set_rotation_degrees", "degrees"), &Spatial::set_rotation_degrees); + ClassDB::bind_method(D_METHOD("set_rotation_degrees", "euler_degrees"), &Spatial::set_rotation_degrees); ClassDB::bind_method(D_METHOD("get_rotation_degrees"), &Spatial::get_rotation_degrees); ClassDB::bind_method(D_METHOD("set_scale", "scale"), &Spatial::set_scale); ClassDB::bind_method(D_METHOD("get_scale"), &Spatial::get_scale); @@ -711,22 +743,26 @@ void Spatial::_bind_methods() { ClassDB::bind_method(D_METHOD("set_notify_transform", "enable"), &Spatial::set_notify_transform); ClassDB::bind_method(D_METHOD("is_transform_notification_enabled"), &Spatial::is_transform_notification_enabled); - void rotate(const Vector3 &p_normal, float p_radians); - void rotate_x(float p_radians); - void rotate_y(float p_radians); - void rotate_z(float p_radians); + void rotate(const Vector3 &p_axis, float p_angle); + void rotate_x(float p_angle); + void rotate_y(float p_angle); + void rotate_z(float p_angle); void translate(const Vector3 &p_offset); void scale(const Vector3 &p_ratio); - void global_rotate(const Vector3 &p_normal, float p_radians); + void global_rotate(const Vector3 &p_axis, float p_angle); void global_translate(const Vector3 &p_offset); - ClassDB::bind_method(D_METHOD("rotate", "normal", "radians"), &Spatial::rotate); - ClassDB::bind_method(D_METHOD("global_rotate", "normal", "radians"), &Spatial::global_rotate); - ClassDB::bind_method(D_METHOD("rotate_x", "radians"), &Spatial::rotate_x); - ClassDB::bind_method(D_METHOD("rotate_y", "radians"), &Spatial::rotate_y); - ClassDB::bind_method(D_METHOD("rotate_z", "radians"), &Spatial::rotate_z); - ClassDB::bind_method(D_METHOD("translate", "offset"), &Spatial::translate); + ClassDB::bind_method(D_METHOD("rotate", "axis", "angle"), &Spatial::rotate); + ClassDB::bind_method(D_METHOD("global_rotate", "axis", "angle"), &Spatial::global_rotate); + ClassDB::bind_method(D_METHOD("global_scale", "scale"), &Spatial::global_scale); ClassDB::bind_method(D_METHOD("global_translate", "offset"), &Spatial::global_translate); + ClassDB::bind_method(D_METHOD("rotate_object_local", "axis", "angle"), &Spatial::rotate_object_local); + ClassDB::bind_method(D_METHOD("scale_object_local", "scale"), &Spatial::scale_object_local); + ClassDB::bind_method(D_METHOD("translate_object_local", "offset"), &Spatial::translate_object_local); + ClassDB::bind_method(D_METHOD("rotate_x", "angle"), &Spatial::rotate_x); + ClassDB::bind_method(D_METHOD("rotate_y", "angle"), &Spatial::rotate_y); + ClassDB::bind_method(D_METHOD("rotate_z", "angle"), &Spatial::rotate_z); + ClassDB::bind_method(D_METHOD("translate", "offset"), &Spatial::translate); ClassDB::bind_method(D_METHOD("orthonormalize"), &Spatial::orthonormalize); ClassDB::bind_method(D_METHOD("set_identity"), &Spatial::set_identity); diff --git a/scene/3d/spatial.h b/scene/3d/spatial.h index 8f53b4a066..1c2e73d5ba 100644 --- a/scene/3d/spatial.h +++ b/scene/3d/spatial.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -158,17 +158,23 @@ public: Transform get_relative_transform(const Node *p_parent) const; - void rotate(const Vector3 &p_normal, float p_radians); - void rotate_x(float p_radians); - void rotate_y(float p_radians); - void rotate_z(float p_radians); + void rotate(const Vector3 &p_axis, float p_angle); + void rotate_x(float p_angle); + void rotate_y(float p_angle); + void rotate_z(float p_angle); void translate(const Vector3 &p_offset); void scale(const Vector3 &p_ratio); - void global_rotate(const Vector3 &p_normal, float p_radians); + + void rotate_object_local(const Vector3 &p_axis, float p_angle); + void scale_object_local(const Vector3 &p_scale); + void translate_object_local(const Vector3 &p_offset); + + void global_rotate(const Vector3 &p_axis, float p_angle); + void global_scale(const Vector3 &p_scale); void global_translate(const Vector3 &p_offset); - void look_at(const Vector3 &p_target, const Vector3 &p_up_normal); - void look_at_from_position(const Vector3 &p_pos, const Vector3 &p_target, const Vector3 &p_up_normal); + void look_at(const Vector3 &p_target, const Vector3 &p_up); + void look_at_from_position(const Vector3 &p_pos, const Vector3 &p_target, const Vector3 &p_up); Vector3 to_local(Vector3 p_global) const; Vector3 to_global(Vector3 p_local) const; diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp index 2ecc445663..6bd673c7a2 100644 --- a/scene/3d/sprite_3d.cpp +++ b/scene/3d/sprite_3d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/sprite_3d.h b/scene/3d/sprite_3d.h index d18553a504..0ec8f4d668 100644 --- a/scene/3d/sprite_3d.h +++ b/scene/3d/sprite_3d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/vehicle_body.cpp b/scene/3d/vehicle_body.cpp index 2e3e179a7b..d9918c0b62 100644 --- a/scene/3d/vehicle_body.cpp +++ b/scene/3d/vehicle_body.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/vehicle_body.h b/scene/3d/vehicle_body.h index c642eb61b8..b4420e95e7 100644 --- a/scene/3d/vehicle_body.h +++ b/scene/3d/vehicle_body.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/visibility_notifier.cpp b/scene/3d/visibility_notifier.cpp index 47144c4b78..e6c660bad7 100644 --- a/scene/3d/visibility_notifier.cpp +++ b/scene/3d/visibility_notifier.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/visibility_notifier.h b/scene/3d/visibility_notifier.h index fc06cf5aec..ae17939e12 100644 --- a/scene/3d/visibility_notifier.h +++ b/scene/3d/visibility_notifier.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/visual_instance.cpp b/scene/3d/visual_instance.cpp index b92e7ead04..7497f35d29 100644 --- a/scene/3d/visual_instance.cpp +++ b/scene/3d/visual_instance.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/visual_instance.h b/scene/3d/visual_instance.h index 5827f1e1fb..34f035c9f8 100644 --- a/scene/3d/visual_instance.h +++ b/scene/3d/visual_instance.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/3d/voxel_light_baker.cpp b/scene/3d/voxel_light_baker.cpp index 4c52d0bb1b..e1717a56f3 100644 --- a/scene/3d/voxel_light_baker.cpp +++ b/scene/3d/voxel_light_baker.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -30,11 +30,9 @@ #include "voxel_light_baker.h" #include "os/os.h" +#include "os/threaded_array_processor.h" #include <stdlib.h> -#ifdef _OPENMP -#include <omp.h> -#endif #define FINDMINMAX(x0, x1, x2, min, max) \ min = max = x0; \ @@ -1689,7 +1687,7 @@ _ALWAYS_INLINE_ uint32_t xorshift32(uint32_t *state) { return x; } -Vector3 VoxelLightBaker::_compute_ray_trace_at_pos(const Vector3 &p_pos, const Vector3 &p_normal, uint32_t *rng_state) { +Vector3 VoxelLightBaker::_compute_ray_trace_at_pos(const Vector3 &p_pos, const Vector3 &p_normal) { int samples_per_quality[3] = { 48, 128, 512 }; @@ -1711,11 +1709,13 @@ Vector3 VoxelLightBaker::_compute_ray_trace_at_pos(const Vector3 &p_pos, const V const Light *light = bake_light.ptr(); const Cell *cells = bake_cells.ptr(); + uint32_t local_rng_state = rand(); //needs to be fixed again + for (int i = 0; i < samples; i++) { - float random_angle1 = (((xorshift32(rng_state) % 65535) / 65535.0) * 2.0 - 1.0) * spread; + float random_angle1 = (((xorshift32(&local_rng_state) % 65535) / 65535.0) * 2.0 - 1.0) * spread; Vector3 axis(0, sin(random_angle1), cos(random_angle1)); - float random_angle2 = ((xorshift32(rng_state) % 65535) / 65535.0) * Math_PI * 2.0; + float random_angle2 = ((xorshift32(&local_rng_state) % 65535) / 65535.0) * Math_PI * 2.0; Basis rot(Vector3(0, 0, 1), random_angle2); axis = rot.xform(axis); @@ -1792,9 +1792,29 @@ Vector3 VoxelLightBaker::_compute_ray_trace_at_pos(const Vector3 &p_pos, const V } } + // Make sure we don't reset this thread's RNG state + return accum / samples; } +void VoxelLightBaker::_lightmap_bake_point(uint32_t p_x, LightMap *p_line) { + + LightMap *pixel = &p_line[p_x]; + if (pixel->pos == Vector3()) + return; + //print_line("pos: " + pixel->pos + " normal " + pixel->normal); + switch (bake_mode) { + case BAKE_MODE_CONE_TRACE: { + pixel->light = _compute_pixel_light_at_pos(pixel->pos, pixel->normal) * energy; + } break; + case BAKE_MODE_RAY_TRACE: { + pixel->light = _compute_ray_trace_at_pos(pixel->pos, pixel->normal) * energy; + } break; + // pixel->light = Vector3(1, 1, 1); + //} + } +} + Error VoxelLightBaker::make_lightmap(const Transform &p_xform, Ref<Mesh> &p_mesh, LightMapData &r_lightmap, bool (*p_bake_time_func)(void *, float, float), void *p_bake_time_ud) { //transfer light information to a lightmap @@ -1857,53 +1877,10 @@ Error VoxelLightBaker::make_lightmap(const Transform &p_xform, Ref<Mesh> &p_mesh volatile int lines = 0; // make sure our OS-level rng is seeded - srand(OS::get_singleton()->get_ticks_usec()); - - // setup an RNG state for each OpenMP thread - uint32_t threadcount = 1; - uint32_t threadnum = 0; -#ifdef _OPENMP - threadcount = omp_get_max_threads(); -#endif - Vector<uint32_t> rng_states; - rng_states.resize(threadcount); - for (uint32_t i = 0; i < threadcount; i++) { - do { - rng_states[i] = rand(); - } while (rng_states[i] == 0); - } - uint32_t *rng_states_p = rng_states.ptrw(); for (int i = 0; i < height; i++) { - //print_line("bake line " + itos(i) + " / " + itos(height)); -#ifdef _OPENMP -#pragma omp parallel for schedule(dynamic, 1) private(threadnum) -#endif - for (int j = 0; j < width; j++) { - -#ifdef _OPENMP - threadnum = omp_get_thread_num(); -#endif - - //if (i == 125 && j == 280) { - - LightMap *pixel = &lightmap_ptr[i * width + j]; - if (pixel->pos == Vector3()) - continue; //unused, skipe - - //print_line("pos: " + pixel->pos + " normal " + pixel->normal); - switch (bake_mode) { - case BAKE_MODE_CONE_TRACE: { - pixel->light = _compute_pixel_light_at_pos(pixel->pos, pixel->normal) * energy; - } break; - case BAKE_MODE_RAY_TRACE: { - pixel->light = _compute_ray_trace_at_pos(pixel->pos, pixel->normal, &rng_states_p[threadnum]) * energy; - } break; - // pixel->light = Vector3(1, 1, 1); - //} - } - } + thread_process_array(width, this, &VoxelLightBaker::_lightmap_bake_point, &lightmap_ptr[i * width]); lines = MAX(lines, i); //for multithread if (p_bake_time_func) { diff --git a/scene/3d/voxel_light_baker.h b/scene/3d/voxel_light_baker.h index 7db31f8a67..d270a26a2a 100644 --- a/scene/3d/voxel_light_baker.h +++ b/scene/3d/voxel_light_baker.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -148,7 +148,9 @@ private: _FORCE_INLINE_ void _sample_baked_octree_filtered_and_anisotropic(const Vector3 &p_posf, const Vector3 &p_direction, float p_level, Vector3 &r_color, float &r_alpha); _FORCE_INLINE_ Vector3 _voxel_cone_trace(const Vector3 &p_pos, const Vector3 &p_normal, float p_aperture); _FORCE_INLINE_ Vector3 _compute_pixel_light_at_pos(const Vector3 &p_pos, const Vector3 &p_normal); - _FORCE_INLINE_ Vector3 _compute_ray_trace_at_pos(const Vector3 &p_pos, const Vector3 &p_normal, uint32_t *rng_state); + _FORCE_INLINE_ Vector3 _compute_ray_trace_at_pos(const Vector3 &p_pos, const Vector3 &p_normal); + + void _lightmap_bake_point(uint32_t p_x, LightMap *p_line); public: void begin_bake(int p_subdiv, const AABB &p_bounds); diff --git a/scene/animation/animation_cache.cpp b/scene/animation/animation_cache.cpp index fbe2593362..76043436df 100644 --- a/scene/animation/animation_cache.cpp +++ b/scene/animation/animation_cache.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/animation/animation_cache.h b/scene/animation/animation_cache.h index 481de59730..63c1f243ef 100644 --- a/scene/animation/animation_cache.h +++ b/scene/animation/animation_cache.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp index 5e776c5a1a..bac95c6cca 100644 --- a/scene/animation/animation_player.cpp +++ b/scene/animation/animation_player.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -547,12 +547,14 @@ void AnimationPlayer::_animation_process_data(PlaybackData &cd, float p_delta, f if (!backwards && cd.pos <= len && next_pos == len /*&& playback.blend.empty()*/) { //playback finished - end_notify = true; + end_reached = true; + end_notify = cd.pos < len; // Notify only if not already at the end } if (backwards && cd.pos >= 0 && next_pos == 0 /*&& playback.blend.empty()*/) { //playback finished - end_notify = true; + end_reached = true; + end_notify = cd.pos > 0; // Notify only if not already at the beginning } } @@ -679,24 +681,26 @@ void AnimationPlayer::_animation_process(float p_delta) { if (playback.current.from) { + end_reached = false; end_notify = false; _animation_process2(p_delta); _animation_update_transforms(); - if (end_notify) { + if (end_reached) { if (queued.size()) { String old = playback.assigned; play(queued.front()->get()); String new_name = playback.assigned; queued.pop_front(); - end_notify = false; - emit_signal(SceneStringNames::get_singleton()->animation_changed, old, new_name); + if (end_notify) + emit_signal(SceneStringNames::get_singleton()->animation_changed, old, new_name); } else { //stop(); playing = false; _set_process(false); - end_notify = false; - emit_signal(SceneStringNames::get_singleton()->animation_finished, playback.assigned); + if (end_notify) + emit_signal(SceneStringNames::get_singleton()->animation_finished, playback.assigned); } + end_reached = false; } } else { @@ -954,7 +958,7 @@ void AnimationPlayer::play(const StringName &p_name, float p_custom_blend, float c.current.speed_scale = p_custom_scale; c.assigned = p_name; - if (!end_notify) + if (!end_reached) queued.clear(); _set_process(true); // always process when starting an animation playing = true; @@ -1348,6 +1352,7 @@ AnimationPlayer::AnimationPlayer() { cache_update_size = 0; cache_update_prop_size = 0; speed_scale = 1; + end_reached = false; end_notify = false; animation_process_mode = ANIMATION_PROCESS_IDLE; processing = false; diff --git a/scene/animation/animation_player.h b/scene/animation/animation_player.h index e39afcf199..40a7252528 100644 --- a/scene/animation/animation_player.h +++ b/scene/animation/animation_player.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -205,6 +205,7 @@ private: List<StringName> queued; + bool end_reached; bool end_notify; String autoplay; diff --git a/scene/animation/animation_tree_player.cpp b/scene/animation/animation_tree_player.cpp index 32f82fe6b8..5777562f93 100644 --- a/scene/animation/animation_tree_player.cpp +++ b/scene/animation/animation_tree_player.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -386,8 +386,6 @@ bool AnimationTreePlayer::_get(const StringName &p_name, Variant &r_ret) const { void AnimationTreePlayer::_get_property_list(List<PropertyInfo> *p_list) const { - p_list->push_back(PropertyInfo(Variant::NODE_PATH, "base_path")); - p_list->push_back(PropertyInfo(Variant::NODE_PATH, "master_player")); p_list->push_back(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK)); } @@ -558,7 +556,7 @@ float AnimationTreePlayer::_process_node(const StringName &p_node, AnimationNode return _process_node(osn->inputs[0].node, r_prev_anim, p_time, p_seek, p_fallback_weight, p_weights); } - float os_seek = p_seek; + bool os_seek = p_seek; if (p_seek) osn->time = p_time; @@ -1140,6 +1138,9 @@ void AnimationTreePlayer::transition_node_set_input_count(const StringName &p_no n->inputs.resize(p_inputs); n->input_data.resize(p_inputs); + + _clear_cycle_test(); + last_error = _cycle_test(out_name); } void AnimationTreePlayer::transition_node_set_input_auto_advance(const StringName &p_node, int p_input, bool p_auto_advance) { @@ -1360,6 +1361,8 @@ void AnimationTreePlayer::remove_node(const StringName &p_node) { node_map.erase(p_node); + _clear_cycle_test(); + // compute last error again, just in case last_error = _cycle_test(out_name); dirty_caches = true; @@ -1387,6 +1390,14 @@ AnimationTreePlayer::ConnectError AnimationTreePlayer::_cycle_test(const StringN return CONNECT_OK; } +// Use this function to not alter next complete _cycle_test(). +void AnimationTreePlayer::_clear_cycle_test() { + for (Map<StringName, NodeBase *>::Element *E = node_map.front(); E; E = E->next()) { + NodeBase *nb = E->get(); + nb->cycletest = false; + } +} + Error AnimationTreePlayer::connect_nodes(const StringName &p_src_node, const StringName &p_dst_node, int p_dst_input) { ERR_FAIL_COND_V(!node_map.has(p_src_node), ERR_INVALID_PARAMETER); @@ -1411,11 +1422,7 @@ Error AnimationTreePlayer::connect_nodes(const StringName &p_src_node, const Str dst->inputs[p_dst_input].node = p_src_node; - for (Map<StringName, NodeBase *>::Element *E = node_map.front(); E; E = E->next()) { - - NodeBase *nb = E->get(); - nb->cycletest = false; - } + _clear_cycle_test(); last_error = _cycle_test(out_name); if (last_error) { diff --git a/scene/animation/animation_tree_player.h b/scene/animation/animation_tree_player.h index c49b0c4d1b..c6062b97e4 100644 --- a/scene/animation/animation_tree_player.h +++ b/scene/animation/animation_tree_player.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -317,6 +317,7 @@ private: bool reset_request; ConnectError _cycle_test(const StringName &p_at_node); + void _clear_cycle_test(); Track *_find_track(const NodePath &p_path); void _recompute_caches(); diff --git a/scene/animation/tween.cpp b/scene/animation/tween.cpp index 151632a0cb..1711fbffee 100644 --- a/scene/animation/tween.cpp +++ b/scene/animation/tween.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -561,57 +561,50 @@ void Tween::_tween_process(float p_delta) { data.finish = true; } - switch (data.type) { - case INTER_PROPERTY: - case INTER_METHOD: { - Variant result = _run_equation(data); - emit_signal("tween_step", object, NodePath(Vector<StringName>(), data.key, false), data.elapsed, result); - _apply_tween_value(data, result); - if (data.finish) - _apply_tween_value(data, data.final_val); - } break; - - case INTER_CALLBACK: - if (data.finish) { - if (data.call_deferred) { - - switch (data.args) { - case 0: - object->call_deferred(data.key[0]); - break; - case 1: - object->call_deferred(data.key[0], data.arg[0]); - break; - case 2: - object->call_deferred(data.key[0], data.arg[0], data.arg[1]); - break; - case 3: - object->call_deferred(data.key[0], data.arg[0], data.arg[1], data.arg[2]); - break; - case 4: - object->call_deferred(data.key[0], data.arg[0], data.arg[1], data.arg[2], data.arg[3]); - break; - case 5: - object->call_deferred(data.key[0], data.arg[0], data.arg[1], data.arg[2], data.arg[3], data.arg[4]); - break; - } - } else { - Variant::CallError error; - Variant *arg[5] = { - &data.arg[0], - &data.arg[1], - &data.arg[2], - &data.arg[3], - &data.arg[4], - }; - object->call(data.key[0], (const Variant **)arg, data.args, error); + if (data.type == INTER_CALLBACK) { + if (data.finish) { + if (data.call_deferred) { + + switch (data.args) { + case 0: + object->call_deferred(data.key[0]); + break; + case 1: + object->call_deferred(data.key[0], data.arg[0]); + break; + case 2: + object->call_deferred(data.key[0], data.arg[0], data.arg[1]); + break; + case 3: + object->call_deferred(data.key[0], data.arg[0], data.arg[1], data.arg[2]); + break; + case 4: + object->call_deferred(data.key[0], data.arg[0], data.arg[1], data.arg[2], data.arg[3]); + break; + case 5: + object->call_deferred(data.key[0], data.arg[0], data.arg[1], data.arg[2], data.arg[3], data.arg[4]); + break; } + } else { + Variant::CallError error; + Variant *arg[5] = { + &data.arg[0], + &data.arg[1], + &data.arg[2], + &data.arg[3], + &data.arg[4], + }; + object->call(data.key[0], (const Variant **)arg, data.args, error); } - break; - default: {} + } + } else { + Variant result = _run_equation(data); + emit_signal("tween_step", object, NodePath(Vector<StringName>(), data.key, false), data.elapsed, result); + _apply_tween_value(data, result); } if (data.finish) { + _apply_tween_value(data, data.final_val); emit_signal("tween_completed", object, NodePath(Vector<StringName>(), data.key, false)); // not repeat mode, remove completed action if (!repeat) diff --git a/scene/animation/tween.h b/scene/animation/tween.h index 44710b25f9..f052c415ae 100644 --- a/scene/animation/tween.h +++ b/scene/animation/tween.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/animation/tween_interpolaters.cpp b/scene/animation/tween_interpolaters.cpp index cbf941f3ed..72c603473a 100644 --- a/scene/animation/tween_interpolaters.cpp +++ b/scene/animation/tween_interpolaters.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/audio/audio_player.cpp b/scene/audio/audio_player.cpp index 81962901d9..2c90fd5511 100644 --- a/scene/audio/audio_player.cpp +++ b/scene/audio/audio_player.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/audio/audio_player.h b/scene/audio/audio_player.h index 6e9d623433..8d7a635a8b 100644 --- a/scene/audio/audio_player.h +++ b/scene/audio/audio_player.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/base_button.cpp b/scene/gui/base_button.cpp index 148277f2dd..41ff000ac1 100644 --- a/scene/gui/base_button.cpp +++ b/scene/gui/base_button.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -450,11 +450,11 @@ String BaseButton::get_tooltip(const Point2 &p_pos) const { String tooltip = Control::get_tooltip(p_pos); if (shortcut.is_valid() && shortcut->is_valid()) { - if (tooltip.find("$sc") != -1) { - tooltip = tooltip.replace_first("$sc", "(" + shortcut->get_as_text() + ")"); - } else { - tooltip += " (" + shortcut->get_as_text() + ")"; + String text = shortcut->get_name() + " (" + shortcut->get_as_text() + ")"; + if (shortcut->get_name().nocasecmp_to(tooltip) != 0) { + text += "\n" + tooltip; } + tooltip = text; } return tooltip; } diff --git a/scene/gui/base_button.h b/scene/gui/base_button.h index 0c08dc53a3..00c9fe959c 100644 --- a/scene/gui/base_button.h +++ b/scene/gui/base_button.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/box_container.cpp b/scene/gui/box_container.cpp index 739fd84b38..b7f1dbaa70 100644 --- a/scene/gui/box_container.cpp +++ b/scene/gui/box_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/box_container.h b/scene/gui/box_container.h index ebbbbed1f9..b22b3e28e3 100644 --- a/scene/gui/box_container.h +++ b/scene/gui/box_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/button.cpp b/scene/gui/button.cpp index 47977f0283..d5715d63b6 100644 --- a/scene/gui/button.cpp +++ b/scene/gui/button.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/button.h b/scene/gui/button.h index 35488582de..b3645fff7a 100644 --- a/scene/gui/button.h +++ b/scene/gui/button.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -56,7 +56,6 @@ private: float _internal_margin[4]; protected: - virtual Size2 get_minimum_size() const; void _set_internal_margin(Margin p_margin, float p_value); void _notification(int p_what); static void _bind_methods(); @@ -64,6 +63,8 @@ protected: public: // + virtual Size2 get_minimum_size() const; + void set_text(const String &p_text); String get_text() const; diff --git a/scene/gui/center_container.cpp b/scene/gui/center_container.cpp index 8c9c9d8720..bf9ca69be4 100644 --- a/scene/gui/center_container.cpp +++ b/scene/gui/center_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/center_container.h b/scene/gui/center_container.h index 4397539046..97912b11c7 100644 --- a/scene/gui/center_container.h +++ b/scene/gui/center_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/check_box.cpp b/scene/gui/check_box.cpp index bf8156b92b..73db240468 100644 --- a/scene/gui/check_box.cpp +++ b/scene/gui/check_box.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/check_box.h b/scene/gui/check_box.h index 3d3f170e8c..e7358c1fb2 100644 --- a/scene/gui/check_box.h +++ b/scene/gui/check_box.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/check_button.cpp b/scene/gui/check_button.cpp index 641d2d4f01..dbafcd4353 100644 --- a/scene/gui/check_button.cpp +++ b/scene/gui/check_button.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/check_button.h b/scene/gui/check_button.h index 3103a40d3c..8cf927de9b 100644 --- a/scene/gui/check_button.h +++ b/scene/gui/check_button.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index cb6283507e..63478886c6 100644 --- a/scene/gui/color_picker.cpp +++ b/scene/gui/color_picker.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,33 +39,32 @@ void ColorPicker::_notification(int p_what) { switch (p_what) { case NOTIFICATION_THEME_CHANGED: { - //sample->set_texture(get_icon("color_sample")); + btn_pick->set_icon(get_icon("screen_picker", "ColorPicker")); bt_add_preset->set_icon(get_icon("add_preset")); _update_controls(); } break; - case NOTIFICATION_ENTER_TREE: { + btn_pick->set_icon(get_icon("screen_picker", "ColorPicker")); bt_add_preset->set_icon(get_icon("add_preset")); _update_color(); } break; - case NOTIFICATION_PARENTED: { + for (int i = 0; i < 4; i++) set_margin((Margin)i, get_constant("margin")); } break; - case NOTIFICATION_VISIBILITY_CHANGED: { Popup *p = Object::cast_to<Popup>(get_parent()); if (p) p->set_size(Size2(get_combined_minimum_size().width + get_constant("margin") * 2, get_combined_minimum_size().height + get_constant("margin") * 2)); } break; - case MainLoop::NOTIFICATION_WM_QUIT_REQUEST: { + if (screen != NULL) { if (screen->is_visible()) { screen->hide(); @@ -210,6 +209,7 @@ Color ColorPicker::get_pick_color() const { } void ColorPicker::add_preset(const Color &p_color) { + if (presets.find(p_color)) { presets.move_to_back(presets.find(p_color)); } else { @@ -523,7 +523,6 @@ ColorPicker::ColorPicker() : add_child(hb_edit); w_edit = memnew(Control); - //w_edit->set_ignore_mouse(false); w_edit->set_custom_minimum_size(Size2(get_constant("h_width"), 0)); w_edit->set_h_size_flags(SIZE_FILL); w_edit->set_v_size_flags(SIZE_EXPAND_FILL); @@ -589,7 +588,6 @@ ColorPicker::ColorPicker() : c_text->set_h_size_flags(SIZE_EXPAND_FILL); _update_controls(); - //_update_color(); updating = false; set_pick_color(Color(1, 1, 1)); @@ -599,7 +597,6 @@ ColorPicker::ColorPicker() : preset = memnew(TextureRect); bbc->add_child(preset); - //preset->set_ignore_mouse(false); preset->connect("gui_input", this, "_preset_input"); preset->connect("draw", this, "_update_presets"); @@ -660,11 +657,13 @@ bool ColorPickerButton::is_editing_alpha() const { return picker->is_editing_alpha(); } -ColorPicker *ColorPickerButton::get_picker() { +ColorPicker *ColorPickerButton::get_picker() const { + return picker; } -PopupPanel *ColorPickerButton::get_popup() { +PopupPanel *ColorPickerButton::get_popup() const { + return popup; } diff --git a/scene/gui/color_picker.h b/scene/gui/color_picker.h index c02cdc8608..1f6a8fb1bb 100644 --- a/scene/gui/color_picker.h +++ b/scene/gui/color_picker.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -129,8 +129,8 @@ public: void set_edit_alpha(bool p_show); bool is_editing_alpha() const; - ColorPicker *get_picker(); - PopupPanel *get_popup(); + ColorPicker *get_picker() const; + PopupPanel *get_popup() const; ColorPickerButton(); }; diff --git a/scene/gui/color_rect.cpp b/scene/gui/color_rect.cpp index 6b5247648e..d212ba9416 100644 --- a/scene/gui/color_rect.cpp +++ b/scene/gui/color_rect.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/color_rect.h b/scene/gui/color_rect.h index 382648fddf..747ae72997 100644 --- a/scene/gui/color_rect.h +++ b/scene/gui/color_rect.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/container.cpp b/scene/gui/container.cpp index ba5d92620b..20616d5dd8 100644 --- a/scene/gui/container.cpp +++ b/scene/gui/container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/container.h b/scene/gui/container.h index 60a7a9efcb..2b9910dcf5 100644 --- a/scene/gui/container.h +++ b/scene/gui/container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index b34abf5a46..6072653c54 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/control.h b/scene/gui/control.h index 9ac0eb0be3..8da40e7d3f 100644 --- a/scene/gui/control.h +++ b/scene/gui/control.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index 9a55073bb6..a2cf0c951f 100644 --- a/scene/gui/dialogs.cpp +++ b/scene/gui/dialogs.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/dialogs.h b/scene/gui/dialogs.h index 54cc290b05..c4cde8ef22 100644 --- a/scene/gui/dialogs.h +++ b/scene/gui/dialogs.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp index 6af869c503..7bf06bc8c2 100644 --- a/scene/gui/file_dialog.cpp +++ b/scene/gui/file_dialog.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/file_dialog.h b/scene/gui/file_dialog.h index c8c1f23105..04f004bf47 100644 --- a/scene/gui/file_dialog.h +++ b/scene/gui/file_dialog.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/gradient_edit.cpp b/scene/gui/gradient_edit.cpp index c9ce5e2143..10cbac7d40 100644 --- a/scene/gui/gradient_edit.cpp +++ b/scene/gui/gradient_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/gradient_edit.h b/scene/gui/gradient_edit.h index 026e4f783b..5471b0a769 100644 --- a/scene/gui/gradient_edit.h +++ b/scene/gui/gradient_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index da52fb39e0..d0ab77ecf8 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/graph_edit.h b/scene/gui/graph_edit.h index e8e530848d..d307765bc0 100644 --- a/scene/gui/graph_edit.h +++ b/scene/gui/graph_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/graph_node.cpp b/scene/gui/graph_node.cpp index 7655363631..12aa79bf65 100644 --- a/scene/gui/graph_node.cpp +++ b/scene/gui/graph_node.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/graph_node.h b/scene/gui/graph_node.h index a0840544dd..13ef533134 100644 --- a/scene/gui/graph_node.h +++ b/scene/gui/graph_node.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/grid_container.cpp b/scene/gui/grid_container.cpp index 5dd5667f46..a0d9b5f5ff 100644 --- a/scene/gui/grid_container.cpp +++ b/scene/gui/grid_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/grid_container.h b/scene/gui/grid_container.h index 45e26ed48e..c52f8230b0 100644 --- a/scene/gui/grid_container.h +++ b/scene/gui/grid_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp index 197e474fd6..5a4a0b2106 100644 --- a/scene/gui/item_list.cpp +++ b/scene/gui/item_list.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -930,6 +930,9 @@ void ItemList::_notification(int p_what) { scroll_bar->hide(); } else { scroll_bar->show(); + + if (do_autoscroll_to_bottom) + scroll_bar->set_value(max); } break; } @@ -1313,6 +1316,11 @@ Size2 ItemList::get_minimum_size() const { return Size2(); } +void ItemList::set_autoscroll_to_bottom(const bool p_enable) { + + do_autoscroll_to_bottom = p_enable; +} + void ItemList::set_auto_height(bool p_enable) { auto_height = p_enable; @@ -1466,6 +1474,7 @@ ItemList::ItemList() { ensure_selected_visible = false; defer_select_single = -1; allow_rmb_select = false; + do_autoscroll_to_bottom = false; icon_scale = 1.0f; set_clip_contents(true); diff --git a/scene/gui/item_list.h b/scene/gui/item_list.h index b1e1e5eeb0..e56d5e5224 100644 --- a/scene/gui/item_list.h +++ b/scene/gui/item_list.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -107,6 +107,8 @@ private: real_t icon_scale; + bool do_autoscroll_to_bottom; + Array _get_items() const; void _set_items(const Array &p_items); @@ -212,6 +214,8 @@ public: Size2 get_minimum_size() const; + void set_autoscroll_to_bottom(const bool p_enable); + VScrollBar *get_v_scroll() { return scroll_bar; } ItemList(); diff --git a/scene/gui/label.cpp b/scene/gui/label.cpp index 51a25c60a1..be065bc0fb 100644 --- a/scene/gui/label.cpp +++ b/scene/gui/label.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/label.h b/scene/gui/label.h index 7c1905af7d..160eb66e53 100644 --- a/scene/gui/label.h +++ b/scene/gui/label.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index cebbb2193d..dff7722a9e 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -368,6 +368,18 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { shift_selection_check_post(k->get_shift()); } break; + case KEY_UP: { + + shift_selection_check_pre(k->get_shift()); + set_cursor_position(0); + shift_selection_check_post(k->get_shift()); + } break; + case KEY_DOWN: { + + shift_selection_check_pre(k->get_shift()); + set_cursor_position(text.length()); + shift_selection_check_post(k->get_shift()); + } break; case KEY_DELETE: { if (!editable) diff --git a/scene/gui/line_edit.h b/scene/gui/line_edit.h index 5ca4ca15df..f57fde2525 100644 --- a/scene/gui/line_edit.h +++ b/scene/gui/line_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/link_button.cpp b/scene/gui/link_button.cpp index 9fe94fc464..dca83dc31f 100644 --- a/scene/gui/link_button.cpp +++ b/scene/gui/link_button.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/link_button.h b/scene/gui/link_button.h index 386eb452ae..610f481e4e 100644 --- a/scene/gui/link_button.h +++ b/scene/gui/link_button.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/margin_container.cpp b/scene/gui/margin_container.cpp index 14991f5d44..97cc16c22d 100644 --- a/scene/gui/margin_container.cpp +++ b/scene/gui/margin_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/margin_container.h b/scene/gui/margin_container.h index 9703d9ebe0..443e0769bc 100644 --- a/scene/gui/margin_container.h +++ b/scene/gui/margin_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/menu_button.cpp b/scene/gui/menu_button.cpp index d850553957..caf3b90fa1 100644 --- a/scene/gui/menu_button.cpp +++ b/scene/gui/menu_button.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -33,6 +33,9 @@ void MenuButton::_unhandled_key_input(Ref<InputEvent> p_event) { + if (disable_shortcuts) + return; + if (p_event->is_pressed() && !p_event->is_echo() && (Object::cast_to<InputEventKey>(p_event.ptr()) || Object::cast_to<InputEventJoypadButton>(p_event.ptr()) || Object::cast_to<InputEventAction>(*p_event))) { if (!get_parent() || !is_visible_in_tree() || is_disabled()) @@ -60,25 +63,10 @@ void MenuButton::pressed() { void MenuButton::_gui_input(Ref<InputEvent> p_event) { - /*if (p_event.type==InputEvent::MOUSE_BUTTON && p_event->get_button_index()==BUTTON_LEFT) { - clicked=p_event->is_pressed(); - } - if (clicked && p_event.type==InputEvent::MOUSE_MOTION && popup->is_visible_in_tree()) { - - Point2 gt = Point2(p_event.mouse_motion.x,p_event.mouse_motion.y); - gt = get_global_transform().xform(gt); - Point2 lt = popup->get_transform().affine_inverse().xform(gt); - if (popup->has_point(lt)) { - //print_line("HAS POINT!!!"); - popup->call_deferred("grab_click_focus"); - } - - }*/ - BaseButton::_gui_input(p_event); } -PopupMenu *MenuButton::get_popup() { +PopupMenu *MenuButton::get_popup() const { return popup; } @@ -98,14 +86,22 @@ void MenuButton::_bind_methods() { ClassDB::bind_method(D_METHOD("_unhandled_key_input"), &MenuButton::_unhandled_key_input); ClassDB::bind_method(D_METHOD("_set_items"), &MenuButton::_set_items); ClassDB::bind_method(D_METHOD("_get_items"), &MenuButton::_get_items); + ClassDB::bind_method(D_METHOD("set_disable_shortcuts", "disabled"), &MenuButton::set_disable_shortcuts); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "items", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "_set_items", "_get_items"); ADD_SIGNAL(MethodInfo("about_to_show")); } + +void MenuButton::set_disable_shortcuts(bool p_disabled) { + + disable_shortcuts = p_disabled; +} + MenuButton::MenuButton() { set_flat(true); + set_disable_shortcuts(false); set_enabled_focus_mode(FOCUS_NONE); popup = memnew(PopupMenu); popup->hide(); diff --git a/scene/gui/menu_button.h b/scene/gui/menu_button.h index c7f1d976ff..bfe168adf7 100644 --- a/scene/gui/menu_button.h +++ b/scene/gui/menu_button.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -40,6 +40,7 @@ class MenuButton : public Button { GDCLASS(MenuButton, Button); bool clicked; + bool disable_shortcuts; PopupMenu *popup; virtual void pressed(); @@ -53,7 +54,9 @@ protected: static void _bind_methods(); public: - PopupMenu *get_popup(); + PopupMenu *get_popup() const; + void set_disable_shortcuts(bool p_disabled); + MenuButton(); ~MenuButton(); }; diff --git a/scene/gui/nine_patch_rect.cpp b/scene/gui/nine_patch_rect.cpp index c02d80bba8..0e753675f7 100644 --- a/scene/gui/nine_patch_rect.cpp +++ b/scene/gui/nine_patch_rect.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/nine_patch_rect.h b/scene/gui/nine_patch_rect.h index 809daf9db3..dc6c5c8a28 100644 --- a/scene/gui/nine_patch_rect.h +++ b/scene/gui/nine_patch_rect.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/option_button.cpp b/scene/gui/option_button.cpp index 70f3d9ca83..a447889971 100644 --- a/scene/gui/option_button.cpp +++ b/scene/gui/option_button.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -42,38 +42,35 @@ Size2 OptionButton::get_minimum_size() const { void OptionButton::_notification(int p_what) { - switch (p_what) { - - case NOTIFICATION_DRAW: { - - if (!has_icon("arrow")) - return; - - RID ci = get_canvas_item(); - Ref<Texture> arrow = Control::get_icon("arrow"); - Ref<StyleBox> normal = get_stylebox("normal"); - Color clr = Color(1, 1, 1); - if (get_constant("modulate_arrow")) - switch (get_draw_mode()) { - case DRAW_PRESSED: - clr = get_color("font_color_pressed"); - break; - case DRAW_HOVER: - clr = get_color("font_color_hover"); - break; - case DRAW_DISABLED: - clr = get_color("font_color_disabled"); - break; - default: - clr = get_color("font_color"); - } - - Size2 size = get_size(); - - Point2 ofs(size.width - arrow->get_width() - get_constant("arrow_margin"), int(Math::abs((size.height - arrow->get_height()) / 2))); - arrow->draw(ci, ofs, clr); - - } break; + if (p_what == NOTIFICATION_DRAW) { + + if (!has_icon("arrow")) + return; + + RID ci = get_canvas_item(); + Ref<Texture> arrow = Control::get_icon("arrow"); + Ref<StyleBox> normal = get_stylebox("normal"); + Color clr = Color(1, 1, 1); + if (get_constant("modulate_arrow")) { + switch (get_draw_mode()) { + case DRAW_PRESSED: + clr = get_color("font_color_pressed"); + break; + case DRAW_HOVER: + clr = get_color("font_color_hover"); + break; + case DRAW_DISABLED: + clr = get_color("font_color_disabled"); + break; + default: + clr = get_color("font_color"); + } + } + + Size2 size = get_size(); + + Point2 ofs(size.width - arrow->get_width() - get_constant("arrow_margin"), int(Math::abs((size.height - arrow->get_height()) / 2))); + arrow->draw(ci, ofs, clr); } } @@ -244,6 +241,11 @@ void OptionButton::remove_item(int p_idx) { popup->remove_item(p_idx); } +PopupMenu *OptionButton::get_popup() const { + + return popup; +} + Array OptionButton::_get_items() const { Array items; @@ -310,6 +312,8 @@ void OptionButton::_bind_methods() { ClassDB::bind_method(D_METHOD("remove_item", "idx"), &OptionButton::remove_item); ClassDB::bind_method(D_METHOD("_select_int"), &OptionButton::_select_int); + ClassDB::bind_method(D_METHOD("get_popup"), &OptionButton::get_popup); + ClassDB::bind_method(D_METHOD("_set_items"), &OptionButton::_set_items); ClassDB::bind_method(D_METHOD("_get_items"), &OptionButton::_get_items); @@ -320,15 +324,16 @@ void OptionButton::_bind_methods() { OptionButton::OptionButton() { + current = -1; + set_text_align(ALIGN_LEFT); + set_action_mode(ACTION_MODE_BUTTON_PRESS); + popup = memnew(PopupMenu); popup->hide(); + add_child(popup); popup->set_as_toplevel(true); popup->set_pass_on_modal_close_click(false); - add_child(popup); popup->connect("id_pressed", this, "_selected"); - - current = -1; - set_text_align(ALIGN_LEFT); } OptionButton::~OptionButton() { diff --git a/scene/gui/option_button.h b/scene/gui/option_button.h index a06c540678..c2854e9d1a 100644 --- a/scene/gui/option_button.h +++ b/scene/gui/option_button.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -85,6 +85,8 @@ public: void remove_item(int p_idx); + PopupMenu *get_popup() const; + virtual void get_translatable_strings(List<String> *p_strings) const; OptionButton(); diff --git a/scene/gui/panel.cpp b/scene/gui/panel.cpp index 536b655f75..28a221b63e 100644 --- a/scene/gui/panel.cpp +++ b/scene/gui/panel.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/panel.h b/scene/gui/panel.h index cc7ca47319..8641be4423 100644 --- a/scene/gui/panel.h +++ b/scene/gui/panel.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/panel_container.cpp b/scene/gui/panel_container.cpp index a0c75d1330..9d73b82952 100644 --- a/scene/gui/panel_container.cpp +++ b/scene/gui/panel_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/panel_container.h b/scene/gui/panel_container.h index 5d8f1ee64b..0a412cb091 100644 --- a/scene/gui/panel_container.h +++ b/scene/gui/panel_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/popup.cpp b/scene/gui/popup.cpp index 2110298950..73bf867c37 100644 --- a/scene/gui/popup.cpp +++ b/scene/gui/popup.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/popup.h b/scene/gui/popup.h index 6739c580f2..efe2ee88c2 100644 --- a/scene/gui/popup.h +++ b/scene/gui/popup.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp index d598104cf5..7999f50013 100644 --- a/scene/gui/popup_menu.cpp +++ b/scene/gui/popup_menu.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/popup_menu.h b/scene/gui/popup_menu.h index ee514f4c4b..f51ba81c89 100644 --- a/scene/gui/popup_menu.h +++ b/scene/gui/popup_menu.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/progress_bar.cpp b/scene/gui/progress_bar.cpp index 6953d03384..505068f155 100644 --- a/scene/gui/progress_bar.cpp +++ b/scene/gui/progress_bar.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/progress_bar.h b/scene/gui/progress_bar.h index c5a9252123..f7b2a194ba 100644 --- a/scene/gui/progress_bar.h +++ b/scene/gui/progress_bar.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/range.cpp b/scene/gui/range.cpp index f8fb786fa7..b1a33906d2 100644 --- a/scene/gui/range.cpp +++ b/scene/gui/range.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/range.h b/scene/gui/range.h index daa8af824a..521ce412cf 100644 --- a/scene/gui/range.h +++ b/scene/gui/range.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/reference_rect.cpp b/scene/gui/reference_rect.cpp index e2f4abe04a..1b25965dab 100644 --- a/scene/gui/reference_rect.cpp +++ b/scene/gui/reference_rect.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/reference_rect.h b/scene/gui/reference_rect.h index 9b826a1145..3a062f1b6b 100644 --- a/scene/gui/reference_rect.h +++ b/scene/gui/reference_rect.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 6fbc58a38a..bf048ea1b6 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -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; } @@ -815,7 +818,35 @@ void RichTextLabel::_gui_input(Ref<InputEvent> p_event) { } } } + } else if (b->is_pressed() && b->is_doubleclick() && selection.enabled) { + + //doubleclick: select word + int line = 0; + Item *item = NULL; + bool outside; + + _find_click(main, b->get_position(), &item, &line, &outside); + + while (item && item->type != ITEM_TEXT) { + + item = _get_next_item(item, true); + } + if (item && item->type == ITEM_TEXT) { + + String itext = static_cast<ItemText *>(item)->text; + + int beg, end; + if (select_word(itext, line, beg, end)) { + + selection.from = item; + selection.to = item; + selection.from_char = beg; + selection.to_char = end - 1; + selection.active = true; + update(); + } + } } else if (!b->is_pressed()) { selection.click = NULL; diff --git a/scene/gui/rich_text_label.h b/scene/gui/rich_text_label.h index b9a719dd10..c942ecc00f 100644 --- a/scene/gui/rich_text_label.h +++ b/scene/gui/rich_text_label.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/scroll_bar.cpp b/scene/gui/scroll_bar.cpp index c5ffec2d5e..3ac1ba0e48 100644 --- a/scene/gui/scroll_bar.cpp +++ b/scene/gui/scroll_bar.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/scroll_bar.h b/scene/gui/scroll_bar.h index 753bd35de7..9d0dc3ccbc 100644 --- a/scene/gui/scroll_bar.h +++ b/scene/gui/scroll_bar.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/scroll_container.cpp b/scene/gui/scroll_container.cpp index ffe0db691f..42745a7042 100644 --- a/scene/gui/scroll_container.cpp +++ b/scene/gui/scroll_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/scroll_container.h b/scene/gui/scroll_container.h index 2c5d60de6c..997d03cbf2 100644 --- a/scene/gui/scroll_container.h +++ b/scene/gui/scroll_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/separator.cpp b/scene/gui/separator.cpp index 55d837458a..f65d51cf86 100644 --- a/scene/gui/separator.cpp +++ b/scene/gui/separator.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/separator.h b/scene/gui/separator.h index be2f1e8e77..985ccce31d 100644 --- a/scene/gui/separator.h +++ b/scene/gui/separator.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/shortcut.cpp b/scene/gui/shortcut.cpp index f37410e77b..4f32786854 100644 --- a/scene/gui/shortcut.cpp +++ b/scene/gui/shortcut.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/shortcut.h b/scene/gui/shortcut.h index 8d85bb920f..1d5bfc8bd9 100644 --- a/scene/gui/shortcut.h +++ b/scene/gui/shortcut.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/slider.cpp b/scene/gui/slider.cpp index 70b8616af1..37b4d30e3c 100644 --- a/scene/gui/slider.cpp +++ b/scene/gui/slider.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/slider.h b/scene/gui/slider.h index 95ae429d63..c380ab25a5 100644 --- a/scene/gui/slider.h +++ b/scene/gui/slider.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/spin_box.cpp b/scene/gui/spin_box.cpp index 05f2809bfc..76bcde01af 100644 --- a/scene/gui/spin_box.cpp +++ b/scene/gui/spin_box.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/spin_box.h b/scene/gui/spin_box.h index 0c562bd744..ab969556d9 100644 --- a/scene/gui/spin_box.h +++ b/scene/gui/spin_box.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/split_container.cpp b/scene/gui/split_container.cpp index 4420a936d2..d0b7537665 100644 --- a/scene/gui/split_container.cpp +++ b/scene/gui/split_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -61,7 +61,7 @@ Control *SplitContainer::_getch(int p_idx) const { void SplitContainer::_resort() { - /** First pass, determine minimum size AND amount of stretchable elements */ + /* First pass, determine minimum size AND amount of stretchable elements */ int axis = vertical ? 1 : 0; @@ -114,10 +114,8 @@ void SplitContainer::_resort() { Size2 ms_second = second->get_combined_minimum_size(); if (vertical) { - minimum = ms_first.height + ms_second.height; } else { - minimum = ms_first.width + ms_second.width; } @@ -141,12 +139,10 @@ void SplitContainer::_resort() { } else if (expand_first_mode) { middle_sep = get_size()[axis] - ms_second[axis] - sep; - } else { middle_sep = ms_first[axis]; } - } else if (ratiomode) { int first_ratio = first->get_stretch_ratio(); @@ -160,23 +156,19 @@ void SplitContainer::_resort() { expand_ofs = (available * (1.0 - ratio)); middle_sep = ms_first[axis] + available * ratio + expand_ofs; - } else if (expand_first_mode) { if (expand_ofs > 0) expand_ofs = 0; - - if (expand_ofs < -available) + else if (expand_ofs < -available) expand_ofs = -available; middle_sep = get_size()[axis] - ms_second[axis] - sep + expand_ofs; - } else { if (expand_ofs < 0) expand_ofs = 0; - - if (expand_ofs > available) + else if (expand_ofs > available) expand_ofs = available; middle_sep = ms_first[axis] + expand_ofs; @@ -187,7 +179,6 @@ void SplitContainer::_resort() { fit_child_in_rect(first, Rect2(Point2(0, 0), Size2(get_size().width, middle_sep))); int sofs = middle_sep + sep; fit_child_in_rect(second, Rect2(Point2(0, sofs), Size2(get_size().width, get_size().height - sofs))); - } else { fit_child_in_rect(first, Rect2(Point2(0, 0), Size2(middle_sep, get_size().height))); @@ -246,10 +237,12 @@ void SplitContainer::_notification(int p_what) { _resort(); } break; case NOTIFICATION_MOUSE_ENTER: { + mouse_inside = true; update(); } break; case NOTIFICATION_MOUSE_EXIT: { + mouse_inside = false; update(); } break; @@ -260,22 +253,17 @@ void SplitContainer::_notification(int p_what) { if (collapsed || (!mouse_inside && get_constant("autohide"))) return; + int sep = dragger_visibility != DRAGGER_HIDDEN_COLLAPSED ? get_constant("separation") : 0; Ref<Texture> tex = get_icon("grabber"); Size2 size = get_size(); - if (vertical) { + if (dragger_visibility == DRAGGER_VISIBLE) { - //draw_style_box( get_stylebox("bg"), Rect2(0,middle_sep,get_size().width,sep)); - if (dragger_visibility == DRAGGER_VISIBLE) + if (vertical) draw_texture(tex, Point2i((size.x - tex->get_width()) / 2, middle_sep + (sep - tex->get_height()) / 2)); - - } else { - - //draw_style_box( get_stylebox("bg"), Rect2(middle_sep,0,sep,get_size().height)); - if (dragger_visibility == DRAGGER_VISIBLE) + else draw_texture(tex, Point2i(middle_sep + (sep - tex->get_width()) / 2, (size.y - tex->get_height()) / 2)); } - } break; } } @@ -292,11 +280,13 @@ void SplitContainer::_gui_input(const Ref<InputEvent> &p_event) { if (mb->get_button_index() == BUTTON_LEFT) { if (mb->is_pressed()) { + int sep = get_constant("separation"); if (vertical) { if (mb->get_position().y > middle_sep && mb->get_position().y < middle_sep + sep) { + dragging = true; drag_from = mb->get_position().y; drag_ofs = expand_ofs; @@ -304,6 +294,7 @@ void SplitContainer::_gui_input(const Ref<InputEvent> &p_event) { } else { if (mb->get_position().x > middle_sep && mb->get_position().x < middle_sep + sep) { + dragging = true; drag_from = mb->get_position().x; drag_ofs = expand_ofs; @@ -318,36 +309,31 @@ void SplitContainer::_gui_input(const Ref<InputEvent> &p_event) { Ref<InputEventMouseMotion> mm = p_event; - if (mm.is_valid()) { - - if (dragging) { + if (mm.is_valid() && dragging) { - expand_ofs = drag_ofs + ((vertical ? mm->get_position().y : mm->get_position().x) - drag_from); - queue_sort(); - emit_signal("dragged", get_split_offset()); - } + expand_ofs = drag_ofs + ((vertical ? mm->get_position().y : mm->get_position().x) - drag_from); + queue_sort(); + emit_signal("dragged", get_split_offset()); } } Control::CursorShape SplitContainer::get_cursor_shape(const Point2 &p_pos) const { - if (collapsed) - return Control::get_cursor_shape(p_pos); - if (dragging) return (vertical ? CURSOR_VSIZE : CURSOR_HSIZE); - int sep = get_constant("separation"); + if (!collapsed && _getch(0) && _getch(1) && dragger_visibility == DRAGGER_VISIBLE) { - if (vertical) { + int sep = get_constant("separation"); - if (p_pos.y > middle_sep && p_pos.y < middle_sep + sep) { - return CURSOR_VSIZE; - } - } else { + if (vertical) { - if (p_pos.x > middle_sep && p_pos.x < middle_sep + sep) { - return CURSOR_HSIZE; + if (p_pos.y > middle_sep && p_pos.y < middle_sep + sep) + return CURSOR_VSIZE; + } else { + + if (p_pos.x > middle_sep && p_pos.x < middle_sep + sep) + return CURSOR_HSIZE; } } @@ -358,6 +344,7 @@ void SplitContainer::set_split_offset(int p_offset) { if (expand_ofs == p_offset) return; + expand_ofs = p_offset; queue_sort(); } @@ -371,6 +358,7 @@ void SplitContainer::set_collapsed(bool p_collapsed) { if (collapsed == p_collapsed) return; + collapsed = p_collapsed; queue_sort(); } diff --git a/scene/gui/split_container.h b/scene/gui/split_container.h index c7a484c4c5..2f3e480434 100644 --- a/scene/gui/split_container.h +++ b/scene/gui/split_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -88,7 +88,7 @@ class HSplitContainer : public SplitContainer { public: HSplitContainer() : - SplitContainer(false) { set_default_cursor_shape(CURSOR_HSPLIT); } + SplitContainer(false) {} }; class VSplitContainer : public SplitContainer { @@ -97,7 +97,7 @@ class VSplitContainer : public SplitContainer { public: VSplitContainer() : - SplitContainer(true) { set_default_cursor_shape(CURSOR_VSPLIT); } + SplitContainer(true) {} }; #endif // SPLIT_CONTAINER_H diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp index f2a2d862de..d00e360642 100644 --- a/scene/gui/tab_container.cpp +++ b/scene/gui/tab_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/tab_container.h b/scene/gui/tab_container.h index a36c4f3790..7374fc2d77 100644 --- a/scene/gui/tab_container.h +++ b/scene/gui/tab_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/tabs.cpp b/scene/gui/tabs.cpp index 1fb0f84223..3ab031a2ea 100644 --- a/scene/gui/tabs.cpp +++ b/scene/gui/tabs.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/tabs.h b/scene/gui/tabs.h index 4eb6be3435..ffc0944829 100644 --- a/scene/gui/tabs.h +++ b/scene/gui/tabs.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 07f1bdf8e5..87043c65eb 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -42,14 +42,14 @@ #define TAB_PIXELS -static bool _is_text_char(CharType c) { +inline bool _is_symbol(CharType c) { - return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_'; + return is_symbol(c); } -static bool _is_symbol(CharType c) { +static bool _is_text_char(CharType c) { - return c != '_' && ((c >= '!' && c <= '/') || (c >= ':' && c <= '@') || (c >= '[' && c <= '`') || (c >= '{' && c <= '~') || c == '\t' || c == ' '); + return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_'; } static bool _is_whitespace(CharType c) { @@ -1498,7 +1498,7 @@ void TextEdit::_notification(int p_what) { if (OS::get_singleton()->has_virtual_keyboard()) OS::get_singleton()->show_virtual_keyboard(get_text(), get_global_rect()); if (raised_from_completion) { - VisualServer::get_singleton()->canvas_item_set_z(get_canvas_item(), 1); + VisualServer::get_singleton()->canvas_item_set_z_index(get_canvas_item(), 1); } } break; @@ -1512,7 +1512,7 @@ void TextEdit::_notification(int p_what) { if (OS::get_singleton()->has_virtual_keyboard()) OS::get_singleton()->hide_virtual_keyboard(); if (raised_from_completion) { - VisualServer::get_singleton()->canvas_item_set_z(get_canvas_item(), 0); + VisualServer::get_singleton()->canvas_item_set_z_index(get_canvas_item(), 0); } } break; } @@ -1695,10 +1695,9 @@ void TextEdit::indent_right() { // fix selection and cursor being off by one on the last line if (is_selection_active()) { - selection.to_column++; - selection.from_column++; + select(selection.from_line, selection.from_column + 1, selection.to_line, selection.to_column + 1); } - cursor.column++; + cursor_set_column(cursor.column + 1, false); end_complex_operation(); update(); } @@ -1737,14 +1736,9 @@ void TextEdit::indent_left() { // fix selection and cursor being off by one on the last line if (is_selection_active() && last_line_text != get_line(end_line)) { - if (selection.to_column > 0) - selection.to_column--; - if (selection.from_column > 0) - selection.from_column--; - } - if (cursor.column > 0) { - cursor.column--; + select(selection.from_line, selection.from_column - 1, selection.to_line, selection.to_column - 1); } + cursor_set_column(cursor.column - 1, false); end_complex_operation(); update(); } @@ -1828,10 +1822,18 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { if (mb->is_pressed()) { if (mb->get_button_index() == BUTTON_WHEEL_UP && !mb->get_command()) { - _scroll_up(3 * mb->get_factor()); + if (mb->get_shift()) { + h_scroll->set_value(h_scroll->get_value() - (100 * mb->get_factor())); + } else { + _scroll_up(3 * mb->get_factor()); + } } if (mb->get_button_index() == BUTTON_WHEEL_DOWN && !mb->get_command()) { - _scroll_down(3 * mb->get_factor()); + if (mb->get_shift()) { + h_scroll->set_value(h_scroll->get_value() + (100 * mb->get_factor())); + } else { + _scroll_down(3 * mb->get_factor()); + } } if (mb->get_button_index() == BUTTON_WHEEL_LEFT) { h_scroll->set_value(h_scroll->get_value() - (100 * mb->get_factor())); @@ -1962,7 +1964,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { } else if (mb->is_doubleclick() && text[cursor.line].length()) { - //doubleclick select world + //doubleclick select word selection.selecting_mode = Selection::MODE_WORD; _update_selection_mode_word(); last_dblclk = OS::get_singleton()->get_ticks_msec(); @@ -1973,6 +1975,31 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { if (mb->get_button_index() == BUTTON_RIGHT && context_menu_enabled) { + _reset_caret_blink_timer(); + + int row, col; + update_line_scroll_pos(); + _get_mouse_pos(Point2i(mb->get_position().x, mb->get_position().y), row, col); + + if (is_right_click_moving_caret()) { + if (is_selection_active()) { + + int from_line = get_selection_from_line(); + int to_line = get_selection_to_line(); + int from_column = get_selection_from_column(); + int to_column = get_selection_to_column(); + + if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) { + // Right click is outside the seleted text + deselect(); + } + } + if (!is_selection_active()) { + cursor_set_line(row, true, false); + cursor_set_column(col); + } + } + menu->set_position(get_global_transform().xform(get_local_mouse_position())); menu->set_size(Vector2(1, 1)); menu->popup(); @@ -2420,26 +2447,44 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { //simple unindent int cc = cursor.column; + + const int len = text[cursor.line].length(); + const String &line = text[cursor.line]; + + int left = 0; // number of whitespace chars at beginning of line + while (left < len && (line[left] == '\t' || line[left] == ' ')) + left++; + cc = MIN(cc, left); + + while (cc < indent_size && cc < left && line[cc] == ' ') + cc++; + if (cc > 0 && cc <= text[cursor.line].length()) { - if (text[cursor.line][cursor.column - 1] == '\t') { - backspace_at_cursor(); + if (text[cursor.line][cc - 1] == '\t') { + _remove_text(cursor.line, cc - 1, cursor.line, cc); + if (cursor.column >= left) + cursor_set_column(MAX(0, cursor.column - 1)); + update(); } else { - if (cursor.column - indent_size >= 0) { + int n = 0; - bool unindent = true; - for (int i = 1; i <= indent_size; i++) { - if (text[cursor.line][cursor.column - i] != ' ') { - unindent = false; - break; - } + for (int i = 1; i <= MIN(cc, indent_size); i++) { + if (line[cc - i] != ' ') { + break; } + n++; + } - if (unindent) { - _remove_text(cursor.line, cursor.column - indent_size, cursor.line, cursor.column); - cursor_set_column(cursor.column - indent_size); - } + if (n > 0) { + _remove_text(cursor.line, cc - n, cursor.line, cc); + if (cursor.column > left - n) // inside text? + cursor_set_column(MAX(0, cursor.column - n)); + update(); } } + } else if (cc == 0 && line.length() > 0 && line[0] == '\t') { + _remove_text(cursor.line, 0, cursor.line, 1); + update(); } } else { //simple indent @@ -2544,22 +2589,19 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { if (cc == 0 && cursor.line > 0) { cursor_set_line(cursor.line - 1); cursor_set_column(text[cursor.line].length()); - break; - } - - while (cc > 0) { - - bool ischar = _is_text_char(text[cursor.line][cc - 1]); + } else { + while (cc > 0) { + bool ischar = _is_text_char(text[cursor.line][cc - 1]); - if (prev_char && !ischar) - break; + if (prev_char && !ischar) + break; - prev_char = ischar; - cc--; + prev_char = ischar; + cc--; + } + cursor_set_column(cc); } - cursor_set_column(cc); - } else if (cursor.column == 0) { if (cursor.line > 0) { @@ -2608,21 +2650,18 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { if (cc == text[cursor.line].length() && cursor.line < text.size() - 1) { cursor_set_line(cursor.line + 1); cursor_set_column(0); - break; - } - - while (cc < text[cursor.line].length()) { - - bool ischar = _is_text_char(text[cursor.line][cc]); + } else { + while (cc < text[cursor.line].length()) { + bool ischar = _is_text_char(text[cursor.line][cc]); - if (prev_char && !ischar) - break; - prev_char = ischar; - cc++; + if (prev_char && !ischar) + break; + prev_char = ischar; + cc++; + } + cursor_set_column(cc); } - cursor_set_column(cc); - } else if (cursor.column == text[cursor.line].length()) { if (cursor.line < text.size() - 1) { @@ -2694,6 +2733,8 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { _scroll_lines_down(); break; } + + { #else if (k->get_command() && k->get_alt()) { _scroll_lines_down(); @@ -2702,9 +2743,15 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { if (k->get_command()) cursor_set_line(text.size() - 1, true, false); - else + else { #endif - cursor_set_line(cursor_get_line() + num_lines_from(CLAMP(cursor.line + 1, 0, text.size() - 1), 1), true, false); + if (!is_last_visible_line(cursor.line)) { + cursor_set_line(cursor_get_line() + num_lines_from(CLAMP(cursor.line + 1, 0, text.size() - 1), 1), true, false); + } else { + cursor_set_line(text.size() - 1); + cursor_set_column(get_line(cursor.line).length(), true); + } + } if (k->get_shift()) _post_shift_selection(); @@ -3100,6 +3147,9 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { void TextEdit::_scroll_up(real_t p_delta) { + if (scrolling && smooth_scroll_enabled && SGN(target_v_scroll - v_scroll->get_value()) != SGN(-p_delta)) + scrolling = false; + if (scrolling) { target_v_scroll = (target_v_scroll - p_delta); } else { @@ -3110,8 +3160,12 @@ void TextEdit::_scroll_up(real_t p_delta) { if (target_v_scroll <= 0) { target_v_scroll = 0; } - scrolling = true; - set_physics_process(true); + if (Math::abs(target_v_scroll - v_scroll->get_value()) < 1.0) { + v_scroll->set_value(target_v_scroll); + } else { + scrolling = true; + set_physics_process(true); + } } else { v_scroll->set_value(target_v_scroll); } @@ -3119,6 +3173,9 @@ void TextEdit::_scroll_up(real_t p_delta) { void TextEdit::_scroll_down(real_t p_delta) { + if (scrolling && smooth_scroll_enabled && SGN(target_v_scroll - v_scroll->get_value()) != SGN(p_delta)) + scrolling = false; + if (scrolling) { target_v_scroll = (target_v_scroll + p_delta); } else { @@ -3135,8 +3192,13 @@ void TextEdit::_scroll_down(real_t p_delta) { if (target_v_scroll > max_v_scroll) { target_v_scroll = max_v_scroll; } - scrolling = true; - set_physics_process(true); + + if (Math::abs(target_v_scroll - v_scroll->get_value()) < 1.0) { + v_scroll->set_value(target_v_scroll); + } else { + scrolling = true; + set_physics_process(true); + } } else { v_scroll->set_value(target_v_scroll); } @@ -3708,6 +3770,14 @@ bool TextEdit::cursor_is_block_mode() const { return block_caret; } +void TextEdit::set_right_click_moves_caret(bool p_enable) { + right_click_moves_caret = p_enable; +} + +bool TextEdit::is_right_click_moving_caret() const { + return right_click_moves_caret; +} + void TextEdit::_v_scroll_input() { scrolling = false; } @@ -4168,11 +4238,15 @@ void TextEdit::select(int p_from_line, int p_from_column, int p_to_line, int p_t p_from_line = text.size() - 1; if (p_from_column >= text[p_from_line].length()) p_from_column = text[p_from_line].length(); + if (p_from_column < 0) + p_from_column = 0; if (p_to_line >= text.size()) p_to_line = text.size() - 1; if (p_to_column >= text[p_to_line].length()) p_to_column = text[p_to_line].length(); + if (p_to_column < 0) + p_to_column = 0; selection.from_line = p_from_line; selection.from_column = p_from_column; @@ -4541,6 +4615,24 @@ int TextEdit::num_lines_from(int p_line_from, int unhidden_amount) const { return num_total; } +bool TextEdit::is_last_visible_line(int p_line) const { + + ERR_FAIL_INDEX_V(p_line, text.size(), false); + + if (p_line == text.size() - 1) + return true; + + if (!is_hiding_enabled()) + return false; + + for (int i = p_line + 1; i < text.size(); i++) { + if (!is_line_hidden(i)) + return false; + } + + return true; +} + int TextEdit::get_indent_level(int p_line) const { ERR_FAIL_INDEX_V(p_line, text.size(), 0); @@ -4970,7 +5062,7 @@ void TextEdit::_confirm_completion() { void TextEdit::_cancel_code_hint() { - VisualServer::get_singleton()->canvas_item_set_z(get_canvas_item(), 0); + VisualServer::get_singleton()->canvas_item_set_z_index(get_canvas_item(), 0); raised_from_completion = false; completion_hint = ""; update(); @@ -4978,7 +5070,7 @@ void TextEdit::_cancel_code_hint() { void TextEdit::_cancel_completion() { - VisualServer::get_singleton()->canvas_item_set_z(get_canvas_item(), 0); + VisualServer::get_singleton()->canvas_item_set_z_index(get_canvas_item(), 0); raised_from_completion = false; if (!completion_active) return; @@ -5153,7 +5245,7 @@ void TextEdit::query_code_comple() { void TextEdit::set_code_hint(const String &p_hint) { - VisualServer::get_singleton()->canvas_item_set_z(get_canvas_item(), 1); + VisualServer::get_singleton()->canvas_item_set_z_index(get_canvas_item(), 1); raised_from_completion = true; completion_hint = p_hint; completion_hint_offset = -0xFFFF; @@ -5162,7 +5254,7 @@ void TextEdit::set_code_hint(const String &p_hint) { void TextEdit::code_complete(const Vector<String> &p_strings, bool p_forced) { - VisualServer::get_singleton()->canvas_item_set_z(get_canvas_item(), 1); + VisualServer::get_singleton()->canvas_item_set_z_index(get_canvas_item(), 1); raised_from_completion = true; completion_strings = p_strings; completion_active = true; @@ -5181,12 +5273,8 @@ String TextEdit::get_word_at_pos(const Vector2 &p_pos) const { String s = text[row]; if (s.length() == 0) return ""; - int beg = CLAMP(col, 0, s.length()); - int end = beg; - - if (s[beg] > 32 || beg == s.length()) { - - bool symbol = beg < s.length() && _is_symbol(s[beg]); //not sure if right but most editors behave like this + int beg, end; + if (select_word(s, col, beg, end)) { bool inside_quotes = false; int qbegin = 0, qend = 0; @@ -5205,16 +5293,6 @@ String TextEdit::get_word_at_pos(const Vector2 &p_pos) const { } } - while (beg > 0 && s[beg - 1] > 32 && (symbol == _is_symbol(s[beg - 1]))) { - beg--; - } - while (end < s.length() && s[end + 1] > 32 && (symbol == _is_symbol(s[end + 1]))) { - end++; - } - - if (end < s.length()) - end += 1; - return s.substr(beg, end - beg); } @@ -5231,22 +5309,8 @@ String TextEdit::get_tooltip(const Point2 &p_pos) const { String s = text[row]; if (s.length() == 0) return Control::get_tooltip(p_pos); - int beg = CLAMP(col, 0, s.length()); - int end = beg; - - if (s[beg] > 32 || beg == s.length()) { - - bool symbol = beg < s.length() && _is_symbol(s[beg]); //not sure if right but most editors behave like this - - while (beg > 0 && s[beg - 1] > 32 && (symbol == _is_symbol(s[beg - 1]))) { - beg--; - } - while (end < s.length() && s[end + 1] > 32 && (symbol == _is_symbol(s[end + 1]))) { - end++; - } - - if (end < s.length()) - end += 1; + int beg, end; + if (select_word(s, col, beg, end)) { String tt = tooltip_obj->call(tooltip_func, s.substr(beg, end - beg), tooltip_ud); @@ -5457,6 +5521,9 @@ void TextEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("cursor_set_block_mode", "enable"), &TextEdit::cursor_set_block_mode); ClassDB::bind_method(D_METHOD("cursor_is_block_mode"), &TextEdit::cursor_is_block_mode); + ClassDB::bind_method(D_METHOD("set_right_click_moves_caret", "enable"), &TextEdit::set_right_click_moves_caret); + ClassDB::bind_method(D_METHOD("is_right_click_moving_caret"), &TextEdit::is_right_click_moving_caret); + ClassDB::bind_method(D_METHOD("set_readonly", "enable"), &TextEdit::set_readonly); ClassDB::bind_method(D_METHOD("is_readonly"), &TextEdit::is_readonly); @@ -5492,7 +5559,7 @@ void TextEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("set_hiding_enabled", "enable"), &TextEdit::set_hiding_enabled); ClassDB::bind_method(D_METHOD("is_hiding_enabled"), &TextEdit::is_hiding_enabled); ClassDB::bind_method(D_METHOD("set_line_as_hidden", "line", "enable"), &TextEdit::set_line_as_hidden); - ClassDB::bind_method(D_METHOD("is_line_hidden"), &TextEdit::is_line_hidden); + ClassDB::bind_method(D_METHOD("is_line_hidden", "line"), &TextEdit::is_line_hidden); ClassDB::bind_method(D_METHOD("fold_all_lines"), &TextEdit::fold_all_lines); ClassDB::bind_method(D_METHOD("unhide_all_lines"), &TextEdit::unhide_all_lines); ClassDB::bind_method(D_METHOD("fold_line", "line"), &TextEdit::fold_line); @@ -5540,6 +5607,7 @@ void TextEdit::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "caret_block_mode"), "cursor_set_block_mode", "cursor_is_block_mode"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "caret_blink"), "cursor_set_blink_enabled", "cursor_get_blink_enabled"); ADD_PROPERTYNZ(PropertyInfo(Variant::REAL, "caret_blink_speed", PROPERTY_HINT_RANGE, "0.1,10,0.1"), "cursor_set_blink_speed", "cursor_get_blink_speed"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "caret_moving_by_right_click"), "set_right_click_moves_caret", "is_right_click_moving_caret"); ADD_SIGNAL(MethodInfo("cursor_changed")); ADD_SIGNAL(MethodInfo("text_changed")); @@ -5617,6 +5685,7 @@ TextEdit::TextEdit() { caret_blink_timer->set_wait_time(0.65); caret_blink_timer->connect("timeout", this, "_toggle_draw_caret"); cursor_set_blink_enabled(false); + right_click_moves_caret = true; idle_detect = memnew(Timer); add_child(idle_detect); diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h index 836d5c7388..ccd7ba8278 100644 --- a/scene/gui/text_edit.h +++ b/scene/gui/text_edit.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -246,6 +246,7 @@ class TextEdit : public Control { bool draw_caret; bool window_has_focus; bool block_caret; + bool right_click_moves_caret; bool setting_row; bool wrap; @@ -432,6 +433,7 @@ public: void fold_all_lines(); void unhide_all_lines(); int num_lines_from(int p_line_from, int unhidden_amount) const; + bool is_last_visible_line(int p_line) const; bool can_fold(int p_line) const; bool is_folded(int p_line) const; void fold_line(int p_line); @@ -481,6 +483,9 @@ public: void cursor_set_block_mode(const bool p_enable); bool cursor_is_block_mode() const; + void set_right_click_moves_caret(bool p_enable); + bool is_right_click_moving_caret() const; + void set_readonly(bool p_readonly); bool is_readonly() const; diff --git a/scene/gui/texture_button.cpp b/scene/gui/texture_button.cpp index 77bc876201..ec77fae1fa 100644 --- a/scene/gui/texture_button.cpp +++ b/scene/gui/texture_button.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/texture_button.h b/scene/gui/texture_button.h index 94f372decf..c6b05703ed 100644 --- a/scene/gui/texture_button.h +++ b/scene/gui/texture_button.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/texture_progress.cpp b/scene/gui/texture_progress.cpp index aad7c6b96b..5f0c7f7385 100644 --- a/scene/gui/texture_progress.cpp +++ b/scene/gui/texture_progress.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/texture_progress.h b/scene/gui/texture_progress.h index 04096d35e3..ab1f42fe3b 100644 --- a/scene/gui/texture_progress.h +++ b/scene/gui/texture_progress.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/texture_rect.cpp b/scene/gui/texture_rect.cpp index 38f90fe7b5..5b689cfce2 100644 --- a/scene/gui/texture_rect.cpp +++ b/scene/gui/texture_rect.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/texture_rect.h b/scene/gui/texture_rect.h index 8a2b715488..b6ccdff217 100644 --- a/scene/gui/texture_rect.h +++ b/scene/gui/texture_rect.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/tool_button.cpp b/scene/gui/tool_button.cpp index 4dfa3d8f37..e86776af90 100644 --- a/scene/gui/tool_button.cpp +++ b/scene/gui/tool_button.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/tool_button.h b/scene/gui/tool_button.h index 4c5ea685de..14a7cdc2fe 100644 --- a/scene/gui/tool_button.h +++ b/scene/gui/tool_button.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index b5b42e8f29..b1a421c24f 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1009,10 +1009,10 @@ void Tree::draw_item_rect(const TreeItem::Cell &p_cell, const Rect2i &p_rect, co case TreeItem::ALIGN_LEFT: break; //do none case TreeItem::ALIGN_CENTER: - rect.position.x = MAX(0, (rect.size.width - w) / 2); + rect.position.x += MAX(0, (rect.size.width - w) / 2); break; //do none case TreeItem::ALIGN_RIGHT: - rect.position.x = MAX(0, (rect.size.width - w)); + rect.position.x += MAX(0, (rect.size.width - w)); break; //do none } @@ -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; } } @@ -1775,7 +1791,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, bool case TreeItem::CELL_MODE_STRING: { //nothing in particular - if (select_mode == SELECT_MULTI && (get_tree()->get_last_event_id() == focus_in_id || !already_cursor)) { + if (select_mode == SELECT_MULTI && (get_tree()->get_event_count() == focus_in_id || !already_cursor)) { bring_up_editor = false; } @@ -1863,7 +1879,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, bool } else { editor_text = String::num(p_item->cells[col].val, Math::step_decimals(p_item->cells[col].step)); - if (select_mode == SELECT_MULTI && get_tree()->get_last_event_id() == focus_in_id) + if (select_mode == SELECT_MULTI && get_tree()->get_event_count() == focus_in_id) bring_up_editor = false; } } @@ -2352,8 +2368,6 @@ void Tree::_gui_input(Ref<InputEvent> p_event) { last_keypress = 0; } } break; - - last_keypress = 0; } } @@ -2786,7 +2800,7 @@ void Tree::_notification(int p_what) { if (p_what == NOTIFICATION_FOCUS_ENTER) { - focus_in_id = get_tree()->get_last_event_id(); + focus_in_id = get_tree()->get_event_count(); } if (p_what == NOTIFICATION_MOUSE_EXIT) { @@ -2950,43 +2964,51 @@ Size2 Tree::get_minimum_size() const { return Size2(1, 1); } -TreeItem *Tree::create_item(TreeItem *p_parent) { +TreeItem *Tree::create_item(TreeItem *p_parent, int p_idx) { ERR_FAIL_COND_V(blocked > 0, NULL); - TreeItem *ti = memnew(TreeItem(this)); - - ERR_FAIL_COND_V(!ti, NULL); - ti->cells.resize(columns.size()); + TreeItem *ti = NULL; if (p_parent) { - /* Always append at the end */ + // Append or insert a new item to the given parent. + ti = memnew(TreeItem(this)); + ERR_FAIL_COND_V(!ti, NULL); + ti->cells.resize(columns.size()); - TreeItem *last = 0; + TreeItem *prev = NULL; TreeItem *c = p_parent->childs; + int idx = 0; while (c) { - - last = c; + if (idx++ == p_idx) { + ti->next = c; + break; + } + prev = c; c = c->next; } - if (last) { - - last->next = ti; - } else { - + if (prev) + prev->next = ti; + else p_parent->childs = ti; - } ti->parent = p_parent; } else { - if (root) - ti->childs = root; + if (!root) { + // No root exists, make the given item the new root. + ti = memnew(TreeItem(this)); + ERR_FAIL_COND_V(!ti, NULL); + ti->cells.resize(columns.size()); - root = ti; + root = ti; + } else { + // Root exists, append or insert to root. + ti = create_item(root, p_idx); + } } return ti; @@ -3723,7 +3745,7 @@ void Tree::_bind_methods() { ClassDB::bind_method(D_METHOD("_scroll_moved"), &Tree::_scroll_moved); ClassDB::bind_method(D_METHOD("clear"), &Tree::clear); - ClassDB::bind_method(D_METHOD("create_item", "parent"), &Tree::_create_item, DEFVAL(Variant())); + ClassDB::bind_method(D_METHOD("create_item", "parent", "idx"), &Tree::_create_item, DEFVAL(Variant()), DEFVAL(-1)); ClassDB::bind_method(D_METHOD("get_root"), &Tree::get_root); ClassDB::bind_method(D_METHOD("set_column_min_width", "column", "min_width"), &Tree::set_column_min_width); diff --git a/scene/gui/tree.h b/scene/gui/tree.h index 112de3165f..a6ebf6c3da 100644 --- a/scene/gui/tree.h +++ b/scene/gui/tree.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -359,7 +359,7 @@ private: LineEdit *text_editor; HSlider *value_editor; bool updating_value_editor; - uint32_t focus_in_id; + int64_t focus_in_id; PopupMenu *popup_menu; Vector<ColumnInfo> columns; @@ -511,8 +511,8 @@ protected: static void _bind_methods(); //bind helpers - Object *_create_item(Object *p_parent) { - return create_item(Object::cast_to<TreeItem>(p_parent)); + Object *_create_item(Object *p_parent, int p_idx = -1) { + return create_item(Object::cast_to<TreeItem>(p_parent), p_idx); } TreeItem *_get_next_selected(Object *p_item) { @@ -532,7 +532,7 @@ public: void clear(); - TreeItem *create_item(TreeItem *p_parent = 0); + TreeItem *create_item(TreeItem *p_parent = 0, int p_idx = -1); TreeItem *get_root(); TreeItem *get_last_item(); diff --git a/scene/gui/video_player.cpp b/scene/gui/video_player.cpp index 8f567f9796..06be83bf08 100644 --- a/scene/gui/video_player.cpp +++ b/scene/gui/video_player.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/video_player.h b/scene/gui/video_player.h index 74e2f14e58..e772851b0e 100644 --- a/scene/gui/video_player.h +++ b/scene/gui/video_player.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/viewport_container.cpp b/scene/gui/viewport_container.cpp index 9244d8de2f..e949c20c36 100644 --- a/scene/gui/viewport_container.cpp +++ b/scene/gui/viewport_container.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/gui/viewport_container.h b/scene/gui/viewport_container.h index ebf5869ed9..c28b3075aa 100644 --- a/scene/gui/viewport_container.h +++ b/scene/gui/viewport_container.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/canvas_layer.cpp b/scene/main/canvas_layer.cpp index 5a3814ef35..939de346eb 100644 --- a/scene/main/canvas_layer.cpp +++ b/scene/main/canvas_layer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/canvas_layer.h b/scene/main/canvas_layer.h index db2c8e1273..81d2616cdc 100644 --- a/scene/main/canvas_layer.h +++ b/scene/main/canvas_layer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/http_request.cpp b/scene/main/http_request.cpp index 4afdb56f86..e99a21fbce 100644 --- a/scene/main/http_request.cpp +++ b/scene/main/http_request.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/http_request.h b/scene/main/http_request.h index ab5a79c40d..1777a7f8f1 100644 --- a/scene/main/http_request.h +++ b/scene/main/http_request.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/instance_placeholder.cpp b/scene/main/instance_placeholder.cpp index cbe30e05dd..a2c29d8209 100644 --- a/scene/main/instance_placeholder.cpp +++ b/scene/main/instance_placeholder.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/instance_placeholder.h b/scene/main/instance_placeholder.h index 375c87a035..9b2f1e1168 100644 --- a/scene/main/instance_placeholder.h +++ b/scene/main/instance_placeholder.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/node.cpp b/scene/main/node.cpp index de1ab9959a..d82000e3fa 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -340,7 +340,8 @@ void Node::move_child(Node *p_child, int p_pos) { data.children[i]->notification(NOTIFICATION_MOVED_IN_PARENT); } for (const Map<StringName, GroupData>::Element *E = p_child->data.grouped.front(); E; E = E->next()) { - E->get().group->changed = true; + if (E->get().group) + E->get().group->changed = true; } data.blocked--; diff --git a/scene/main/node.h b/scene/main/node.h index 2b71b71c8d..2aca84324d 100644 --- a/scene/main/node.h +++ b/scene/main/node.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/resource_preloader.cpp b/scene/main/resource_preloader.cpp index 35bb6ef7e8..76fa40cc7c 100644 --- a/scene/main/resource_preloader.cpp +++ b/scene/main/resource_preloader.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/resource_preloader.h b/scene/main/resource_preloader.h index 40e900a492..479cde51ae 100644 --- a/scene/main/resource_preloader.h +++ b/scene/main/resource_preloader.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index 400c7f5b6e..632d912e43 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -391,13 +391,12 @@ void SceneTree::input_event(const Ref<InputEvent> &p_event) { if (Engine::get_singleton()->is_editor_hint() && (Object::cast_to<InputEventJoypadButton>(p_event.ptr()) || Object::cast_to<InputEventJoypadMotion>(*p_event))) return; //avoid joy input on editor + current_event++; root_lock++; - //last_id=p_event.ID; input_handled = false; Ref<InputEvent> ev = p_event; - ev->set_id(++last_id); //this should work better MainLoop::input_event(ev); @@ -941,11 +940,6 @@ void SceneMainLoop::_update_listener_2d() { } */ -uint32_t SceneTree::get_last_event_id() const { - - return last_id; -} - Variant SceneTree::_call_group_flags(const Variant **p_args, int p_argcount, Variant::CallError &r_error) { r_error.error = Variant::CallError::CALL_OK; @@ -994,6 +988,10 @@ int64_t SceneTree::get_frame() const { return current_frame; } +int64_t SceneTree::get_event_count() const { + + return current_event; +} Array SceneTree::_get_nodes_in_group(const StringName &p_group) { @@ -2128,6 +2126,7 @@ void SceneTree::_bind_methods() { ClassDB::bind_method(D_METHOD("has_group", "name"), &SceneTree::has_group); ClassDB::bind_method(D_METHOD("set_auto_accept_quit", "enabled"), &SceneTree::set_auto_accept_quit); + ClassDB::bind_method(D_METHOD("set_quit_on_go_back", "enabled"), &SceneTree::set_quit_on_go_back); ClassDB::bind_method(D_METHOD("set_debug_collisions_hint", "enable"), &SceneTree::set_debug_collisions_hint); ClassDB::bind_method(D_METHOD("is_debugging_collisions_hint"), &SceneTree::is_debugging_collisions_hint); @@ -2287,9 +2286,10 @@ SceneTree::SceneTree() { tree_version = 1; physics_process_time = 1; idle_process_time = 1; - last_id = 1; + root = NULL; current_frame = 0; + current_event = 0; tree_changed_name = "tree_changed"; node_added_name = "node_added"; node_removed_name = "node_removed"; @@ -2350,7 +2350,7 @@ SceneTree::SceneTree() { ProjectSettings::get_singleton()->set("rendering/environment/default_environment", ""); } else { //file was erased, notify user. - ERR_PRINTS(RTR("Default Environment as specified in Project Setings (Rendering -> Viewport -> Default Environment) could not be loaded.")); + ERR_PRINTS(RTR("Default Environment as specified in Project Setings (Rendering -> Environment -> Default Environment) could not be loaded.")); } } } diff --git a/scene/main/scene_tree.h b/scene/main/scene_tree.h index 9c5b0f69cb..dab446e226 100644 --- a/scene/main/scene_tree.h +++ b/scene/main/scene_tree.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -109,7 +109,6 @@ private: float idle_process_time; bool accept_quit; bool quit_on_go_back; - uint32_t last_id; #ifdef DEBUG_ENABLED bool debug_collisions_hint; @@ -130,6 +129,7 @@ private: bool use_font_oversampling; int64_t current_frame; + int64_t current_event; int node_count; #ifdef TOOLS_ENABLED @@ -325,7 +325,7 @@ public: NOTIFICATION_TRANSFORM_CHANGED = 29 }; - enum CallGroupFlags { + enum GroupCallFlags { GROUP_CALL_DEFAULT = 0, GROUP_CALL_REVERSE = 1, GROUP_CALL_REALTIME = 2, @@ -335,8 +335,6 @@ public: _FORCE_INLINE_ Viewport *get_root() const { return root; } - uint32_t get_last_event_id() const; - void call_group_flags(uint32_t p_call_flags, const StringName &p_group, const StringName &p_function, VARIANT_ARG_LIST); void notify_group_flags(uint32_t p_call_flags, const StringName &p_group, int p_notification); void set_group_flags(uint32_t p_call_flags, const StringName &p_group, const String &p_name, const Variant &p_value); @@ -412,6 +410,7 @@ public: int get_collision_debug_contact_count() { return collision_debug_contacts; } int64_t get_frame() const; + int64_t get_event_count() const; int get_node_count() const; @@ -467,6 +466,6 @@ public: VARIANT_ENUM_CAST(SceneTree::StretchMode); VARIANT_ENUM_CAST(SceneTree::StretchAspect); -VARIANT_ENUM_CAST(SceneTree::CallGroupFlags); +VARIANT_ENUM_CAST(SceneTree::GroupCallFlags); #endif diff --git a/scene/main/timer.cpp b/scene/main/timer.cpp index e0c6f93f25..90cec07f56 100755 --- a/scene/main/timer.cpp +++ b/scene/main/timer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/timer.h b/scene/main/timer.h index a02adbb0a3..8c15e2eac7 100755 --- a/scene/main/timer.h +++ b/scene/main/timer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index ae855e803c..78706ee14a 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -184,7 +184,6 @@ Viewport::GUI::GUI() { key_focus = NULL; mouse_over = NULL; - cancelled_input_ID = 0; tooltip = NULL; tooltip_popup = NULL; tooltip_label = NULL; @@ -1620,9 +1619,6 @@ bool Viewport::_gui_drop(Control *p_at_control, Point2 p_at_pos, bool p_just_che void Viewport::_gui_input_event(Ref<InputEvent> p_event) { - if (p_event->get_id() == gui.cancelled_input_ID) { - return; - } //? /* if (!is_visible()) { @@ -1640,7 +1636,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { if (mb->is_pressed()) { Size2 pos = mpos; - if (gui.mouse_focus && mb->get_button_index() != gui.mouse_focus_button) { + if (gui.mouse_focus && mb->get_button_index() != gui.mouse_focus_button && mb->get_button_index() == BUTTON_LEFT) { //do not steal mouse focus and stuff @@ -1752,7 +1748,6 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { _gui_call_input(gui.mouse_focus, mb); } - get_tree()->call_group_flags(SceneTree::GROUP_CALL_REALTIME, "windows", "_cancel_input_ID", mb->get_id()); get_tree()->set_input_as_handled(); if (gui.drag_data.get_type() != Variant::NIL && mb->get_button_index() == BUTTON_LEFT) { @@ -1808,21 +1803,23 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { pos = gui.focus_inv_xform.xform(pos); mb->set_position(pos); - if (gui.mouse_focus->can_process()) { - _gui_call_input(gui.mouse_focus, mb); - } + Control *mouse_focus = gui.mouse_focus; + //disable mouse focus if needed before calling input, this makes popups on mouse press event work better, as the release will never be received otherwise if (mb->get_button_index() == gui.mouse_focus_button) { gui.mouse_focus = NULL; gui.mouse_focus_button = -1; } + if (mouse_focus->can_process()) { + _gui_call_input(mouse_focus, mb); + } + /*if (gui.drag_data.get_type()!=Variant::NIL && mb->get_button_index()==BUTTON_LEFT) { _propagate_viewport_notification(this,NOTIFICATION_DRAG_END); gui.drag_data=Variant(); //always clear }*/ - get_tree()->call_group_flags(SceneTree::GROUP_CALL_REALTIME, "windows", "_cancel_input_ID", mb->get_id()); get_tree()->set_input_as_handled(); } } @@ -2033,6 +2030,8 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { Ref<InputEventGesture> gesture_event = p_event; if (gesture_event.is_valid()) { + _gui_cancel_tooltip(); + Size2 pos = gesture_event->get_position(); Control *over = _gui_find_control(pos); @@ -2371,7 +2370,17 @@ List<Control *>::Element *Viewport::_gui_show_modal(Control *p_control) { p_control->_modal_set_prev_focus_owner(0); if (gui.mouse_focus && !p_control->is_a_parent_of(gui.mouse_focus)) { - gui.mouse_focus->notification(Control::NOTIFICATION_MOUSE_EXIT); + Ref<InputEventMouseButton> mb; + mb.instance(); + mb->set_position(gui.mouse_focus->get_local_mouse_position()); + mb->set_global_position(gui.mouse_focus->get_local_mouse_position()); + mb->set_button_index(gui.mouse_focus_button); + mb->set_pressed(false); + gui.mouse_focus->call_multilevel(SceneStringNames::get_singleton()->_gui_input, mb); + + //if (gui.mouse_over == gui.mouse_focus) { + // gui.mouse_focus->notification(Control::NOTIFICATION_MOUSE_EXIT); + //} gui.mouse_focus = NULL; } @@ -2891,7 +2900,7 @@ Viewport::Viewport() { gui.canvas_sort_index = 0; msaa = MSAA_DISABLED; - hdr = false; + hdr = true; usage = USAGE_3D; debug_draw = DEBUG_DRAW_DISABLED; diff --git a/scene/main/viewport.h b/scene/main/viewport.h index 0835e3f69a..92c53a7ab8 100644 --- a/scene/main/viewport.h +++ b/scene/main/viewport.h @@ -6,8 +6,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -269,7 +269,6 @@ private: float tooltip_timer; float tooltip_delay; List<Control *> modal_stack; - unsigned int cancelled_input_ID; Transform2D focus_inv_xform; bool subwindow_order_dirty; List<Control *> subwindows; diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp index 39e6698725..998c790c94 100644 --- a/scene/register_scene_types.cpp +++ b/scene/register_scene_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -200,6 +200,9 @@ static ResourceFormatLoaderDynamicFont *resource_loader_dynamic_font = NULL; static ResourceFormatLoaderStreamTexture *resource_loader_stream_texture = NULL; +static ResourceFormatSaverShader *resource_saver_shader = NULL; +static ResourceFormatLoaderShader *resource_loader_shader = NULL; + void register_scene_types() { SceneStringNames::create(); @@ -217,31 +220,17 @@ void register_scene_types() { resource_loader_theme = memnew(ResourceFormatLoaderTheme); ResourceLoader::add_resource_format_loader(resource_loader_theme); - bool default_theme_hidpi = GLOBAL_DEF("gui/theme/use_hidpi", false); - ProjectSettings::get_singleton()->set_custom_property_info("gui/theme/use_hidpi", PropertyInfo(Variant::BOOL, "gui/theme/use_hidpi", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)); - String theme_path = GLOBAL_DEF("gui/theme/custom", ""); - ProjectSettings::get_singleton()->set_custom_property_info("gui/theme/custom", PropertyInfo(Variant::STRING, "gui/theme/custom", PROPERTY_HINT_FILE, "*.tres,*.res", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)); - String font_path = GLOBAL_DEF("gui/theme/custom_font", ""); - ProjectSettings::get_singleton()->set_custom_property_info("gui/theme/custom_font", PropertyInfo(Variant::STRING, "gui/theme/custom_font", PROPERTY_HINT_FILE, "*.tres,*.res,*.font", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)); + resource_saver_text = memnew(ResourceFormatSaverText); + ResourceSaver::add_resource_format_saver(resource_saver_text, true); - bool has_theme = false; - if (theme_path != String()) { - Ref<Theme> theme = ResourceLoader::load(theme_path); - if (theme.is_valid()) { - Theme::set_default(theme); - has_theme = true; - } else { - ERR_PRINTS("Error loading custom theme '" + theme_path + "'"); - } - } + resource_loader_text = memnew(ResourceFormatLoaderText); + ResourceLoader::add_resource_format_loader(resource_loader_text, true); - if (!has_theme) { - Ref<Font> font; - if (font_path != String()) { - font = ResourceLoader::load(font_path); - } - make_default_theme(default_theme_hidpi, font); - } + resource_saver_shader = memnew(ResourceFormatSaverShader); + ResourceSaver::add_resource_format_saver(resource_saver_shader, true); + + resource_loader_shader = memnew(ResourceFormatLoaderShader); + ResourceLoader::add_resource_format_loader(resource_loader_shader, true); OS::get_singleton()->yield(); //may take time to init @@ -601,18 +590,42 @@ void register_scene_types() { OS::get_singleton()->yield(); //may take time to init - resource_saver_text = memnew(ResourceFormatSaverText); - ResourceSaver::add_resource_format_saver(resource_saver_text, true); - - resource_loader_text = memnew(ResourceFormatLoaderText); - ResourceLoader::add_resource_format_loader(resource_loader_text, true); - for (int i = 0; i < 20; i++) { GLOBAL_DEF("layer_names/2d_render/layer_" + itos(i + 1), ""); GLOBAL_DEF("layer_names/2d_physics/layer_" + itos(i + 1), ""); GLOBAL_DEF("layer_names/3d_render/layer_" + itos(i + 1), ""); GLOBAL_DEF("layer_names/3d_physics/layer_" + itos(i + 1), ""); } + + bool default_theme_hidpi = GLOBAL_DEF("gui/theme/use_hidpi", false); + ProjectSettings::get_singleton()->set_custom_property_info("gui/theme/use_hidpi", PropertyInfo(Variant::BOOL, "gui/theme/use_hidpi", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)); + String theme_path = GLOBAL_DEF("gui/theme/custom", ""); + ProjectSettings::get_singleton()->set_custom_property_info("gui/theme/custom", PropertyInfo(Variant::STRING, "gui/theme/custom", PROPERTY_HINT_FILE, "*.tres,*.res,*.theme", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)); + String font_path = GLOBAL_DEF("gui/theme/custom_font", ""); + ProjectSettings::get_singleton()->set_custom_property_info("gui/theme/custom_font", PropertyInfo(Variant::STRING, "gui/theme/custom_font", PROPERTY_HINT_FILE, "*.tres,*.res,*.font", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)); + + Ref<Font> font; + if (font_path != String()) { + font = ResourceLoader::load(font_path); + if (!font.is_valid()) { + ERR_PRINTS("Error loading custom font '" + font_path + "'"); + } + } + + // Always make the default theme to avoid invalid default font/icon/style in the given theme + make_default_theme(default_theme_hidpi, font); + + if (theme_path != String()) { + Ref<Theme> theme = ResourceLoader::load(theme_path); + if (theme.is_valid()) { + Theme::set_default(theme); + if (font.is_valid()) { + Theme::set_default_font(font); + } + } else { + ERR_PRINTS("Error loading custom theme '" + theme_path + "'"); + } + } } void unregister_scene_types() { @@ -632,6 +645,13 @@ void unregister_scene_types() { memdelete(resource_loader_text); } + if (resource_saver_shader) { + memdelete(resource_saver_shader); + } + if (resource_loader_shader) { + memdelete(resource_loader_shader); + } + SpatialMaterial::finish_shaders(); ParticlesMaterial::finish_shaders(); CanvasItemMaterial::finish_shaders(); diff --git a/scene/register_scene_types.h b/scene/register_scene_types.h index 956b12a7cd..da7e290f25 100644 --- a/scene/register_scene_types.h +++ b/scene/register_scene_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp index 4544549f94..367c8235f5 100644 --- a/scene/resources/animation.cpp +++ b/scene/resources/animation.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/animation.h b/scene/resources/animation.h index 1f468b29b5..2975c7fd9d 100644 --- a/scene/resources/animation.h +++ b/scene/resources/animation.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/audio_stream_sample.cpp b/scene/resources/audio_stream_sample.cpp index f81f460521..e52a83d17e 100644 --- a/scene/resources/audio_stream_sample.cpp +++ b/scene/resources/audio_stream_sample.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/audio_stream_sample.h b/scene/resources/audio_stream_sample.h index fbb8010a9c..a51483aa21 100644 --- a/scene/resources/audio_stream_sample.h +++ b/scene/resources/audio_stream_sample.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/bit_mask.cpp b/scene/resources/bit_mask.cpp index eebc872dfb..85bcfc9ecd 100644 --- a/scene/resources/bit_mask.cpp +++ b/scene/resources/bit_mask.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/bit_mask.h b/scene/resources/bit_mask.h index 72090f2ebe..403f151004 100644 --- a/scene/resources/bit_mask.h +++ b/scene/resources/bit_mask.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/bounds.cpp b/scene/resources/bounds.cpp index ee1e750c82..3e4be0defa 100644 --- a/scene/resources/bounds.cpp +++ b/scene/resources/bounds.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/bounds.h b/scene/resources/bounds.h index 3378101836..1454064853 100644 --- a/scene/resources/bounds.h +++ b/scene/resources/bounds.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/box_shape.cpp b/scene/resources/box_shape.cpp index 858e19c9a6..d93791ef4f 100644 --- a/scene/resources/box_shape.cpp +++ b/scene/resources/box_shape.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/box_shape.h b/scene/resources/box_shape.h index 8884c9b75a..2bbf455a46 100644 --- a/scene/resources/box_shape.h +++ b/scene/resources/box_shape.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/canvas.cpp b/scene/resources/canvas.cpp index f5bf0ad78e..e46b40736e 100644 --- a/scene/resources/canvas.cpp +++ b/scene/resources/canvas.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/canvas.h b/scene/resources/canvas.h index b9977e11b9..1bb57987e3 100644 --- a/scene/resources/canvas.h +++ b/scene/resources/canvas.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/capsule_shape.cpp b/scene/resources/capsule_shape.cpp index f0eb8232e5..bb721759c9 100644 --- a/scene/resources/capsule_shape.cpp +++ b/scene/resources/capsule_shape.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/capsule_shape.h b/scene/resources/capsule_shape.h index 9b43823c83..6a0b27bb0b 100644 --- a/scene/resources/capsule_shape.h +++ b/scene/resources/capsule_shape.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/capsule_shape_2d.cpp b/scene/resources/capsule_shape_2d.cpp index 3caf12feb8..2722ff7207 100644 --- a/scene/resources/capsule_shape_2d.cpp +++ b/scene/resources/capsule_shape_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -32,6 +32,25 @@ #include "servers/physics_2d_server.h" #include "servers/visual_server.h" +Vector<Vector2> CapsuleShape2D::_get_points() const { + + Vector<Vector2> points; + for (int i = 0; i < 24; i++) { + Vector2 ofs = Vector2(0, (i > 6 && i <= 18) ? -get_height() * 0.5 : get_height() * 0.5); + + points.push_back(Vector2(Math::sin(i * Math_PI * 2 / 24.0), Math::cos(i * Math_PI * 2 / 24.0)) * get_radius() + ofs); + if (i == 6 || i == 18) + points.push_back(Vector2(Math::sin(i * Math_PI * 2 / 24.0), Math::cos(i * Math_PI * 2 / 24.0)) * get_radius() - ofs); + } + + return points; +} + +bool CapsuleShape2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + return Geometry::is_point_in_polygon(p_point, _get_points()); +} + void CapsuleShape2D::_update_shape() { Physics2DServer::get_singleton()->shape_set_data(get_rid(), Vector2(radius, height)); @@ -62,15 +81,7 @@ real_t CapsuleShape2D::get_height() const { void CapsuleShape2D::draw(const RID &p_to_rid, const Color &p_color) { - Vector<Vector2> points; - for (int i = 0; i < 24; i++) { - Vector2 ofs = Vector2(0, (i > 6 && i <= 18) ? -get_height() * 0.5 : get_height() * 0.5); - - points.push_back(Vector2(Math::sin(i * Math_PI * 2 / 24.0), Math::cos(i * Math_PI * 2 / 24.0)) * get_radius() + ofs); - if (i == 6 || i == 18) - points.push_back(Vector2(Math::sin(i * Math_PI * 2 / 24.0), Math::cos(i * Math_PI * 2 / 24.0)) * get_radius() - ofs); - } - + Vector<Vector2> points = _get_points(); Vector<Color> col; col.push_back(p_color); VisualServer::get_singleton()->canvas_item_add_polygon(p_to_rid, points, col); diff --git a/scene/resources/capsule_shape_2d.h b/scene/resources/capsule_shape_2d.h index 610f9a4cf9..784f2c02c8 100644 --- a/scene/resources/capsule_shape_2d.h +++ b/scene/resources/capsule_shape_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,11 +39,14 @@ class CapsuleShape2D : public Shape2D { real_t radius; void _update_shape(); + Vector<Vector2> _get_points() const; protected: static void _bind_methods(); public: + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_height(real_t p_height); real_t get_height() const; diff --git a/scene/resources/circle_shape_2d.cpp b/scene/resources/circle_shape_2d.cpp index bff3ed4d67..669b1d8e7d 100644 --- a/scene/resources/circle_shape_2d.cpp +++ b/scene/resources/circle_shape_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,6 +31,12 @@ #include "servers/physics_2d_server.h" #include "servers/visual_server.h" + +bool CircleShape2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + return p_point.length() < get_radius() + p_tolerance; +} + void CircleShape2D::_update_shape() { Physics2DServer::get_singleton()->shape_set_data(get_rid(), radius); diff --git a/scene/resources/circle_shape_2d.h b/scene/resources/circle_shape_2d.h index 3ba5ec949c..3668521a55 100644 --- a/scene/resources/circle_shape_2d.h +++ b/scene/resources/circle_shape_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -42,6 +42,8 @@ protected: static void _bind_methods(); public: + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_radius(real_t p_radius); real_t get_radius() const; diff --git a/scene/resources/color_ramp.cpp b/scene/resources/color_ramp.cpp index 9f6150ae63..22d52ef1ec 100644 --- a/scene/resources/color_ramp.cpp +++ b/scene/resources/color_ramp.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/color_ramp.h b/scene/resources/color_ramp.h index 316c188d59..4e041355b2 100644 --- a/scene/resources/color_ramp.h +++ b/scene/resources/color_ramp.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/concave_polygon_shape.cpp b/scene/resources/concave_polygon_shape.cpp index 1c48f0c30b..718aaeb27a 100644 --- a/scene/resources/concave_polygon_shape.cpp +++ b/scene/resources/concave_polygon_shape.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/concave_polygon_shape.h b/scene/resources/concave_polygon_shape.h index 82e052fee7..b94e3eca9c 100644 --- a/scene/resources/concave_polygon_shape.h +++ b/scene/resources/concave_polygon_shape.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/concave_polygon_shape_2d.cpp b/scene/resources/concave_polygon_shape_2d.cpp index e90046fd28..69765796f6 100644 --- a/scene/resources/concave_polygon_shape_2d.cpp +++ b/scene/resources/concave_polygon_shape_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -32,6 +32,23 @@ #include "servers/physics_2d_server.h" #include "servers/visual_server.h" +bool ConcavePolygonShape2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + PoolVector<Vector2> s = get_segments(); + int len = s.size(); + if (len == 0 || (len % 2) == 1) + return false; + + PoolVector<Vector2>::Read r = s.read(); + for (int i = 0; i < len; i += 2) { + Vector2 closest = Geometry::get_closest_point_to_segment_2d(p_point, &r[i]); + if (p_point.distance_to(closest) < p_tolerance) + return true; + } + + return false; +} + void ConcavePolygonShape2D::set_segments(const PoolVector<Vector2> &p_segments) { Physics2DServer::get_singleton()->shape_set_data(get_rid(), p_segments); diff --git a/scene/resources/concave_polygon_shape_2d.h b/scene/resources/concave_polygon_shape_2d.h index e766e88a4b..7ca14d4d66 100644 --- a/scene/resources/concave_polygon_shape_2d.h +++ b/scene/resources/concave_polygon_shape_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,6 +39,8 @@ protected: static void _bind_methods(); public: + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_segments(const PoolVector<Vector2> &p_segments); PoolVector<Vector2> get_segments() const; diff --git a/scene/resources/convex_polygon_shape.cpp b/scene/resources/convex_polygon_shape.cpp index 31c4ea55e9..e022b76907 100644 --- a/scene/resources/convex_polygon_shape.cpp +++ b/scene/resources/convex_polygon_shape.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/convex_polygon_shape.h b/scene/resources/convex_polygon_shape.h index e103f2d90c..0a840f0bc5 100644 --- a/scene/resources/convex_polygon_shape.h +++ b/scene/resources/convex_polygon_shape.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/convex_polygon_shape_2d.cpp b/scene/resources/convex_polygon_shape_2d.cpp index 9c25b6b467..0402a70898 100644 --- a/scene/resources/convex_polygon_shape_2d.cpp +++ b/scene/resources/convex_polygon_shape_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -33,6 +33,11 @@ #include "servers/physics_2d_server.h" #include "servers/visual_server.h" +bool ConvexPolygonShape2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + return Geometry::is_point_in_polygon(p_point, points); +} + void ConvexPolygonShape2D::_update_shape() { Physics2DServer::get_singleton()->shape_set_data(get_rid(), points); diff --git a/scene/resources/convex_polygon_shape_2d.h b/scene/resources/convex_polygon_shape_2d.h index 3354199e05..320cf94a5e 100644 --- a/scene/resources/convex_polygon_shape_2d.h +++ b/scene/resources/convex_polygon_shape_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -42,6 +42,8 @@ protected: static void _bind_methods(); public: + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_point_cloud(const Vector<Vector2> &p_points); void set_points(const Vector<Vector2> &p_points); Vector<Vector2> get_points() const; diff --git a/scene/resources/curve.cpp b/scene/resources/curve.cpp index 79cc94c911..95cb336740 100644 --- a/scene/resources/curve.cpp +++ b/scene/resources/curve.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/curve.h b/scene/resources/curve.h index e7d47f4056..4d421246bf 100644 --- a/scene/resources/curve.h +++ b/scene/resources/curve.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp index f4e6c5e247..a4049e4461 100644 --- a/scene/resources/default_theme/default_theme.cpp +++ b/scene/resources/default_theme/default_theme.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -880,7 +880,7 @@ void make_default_theme(bool p_hidpi, Ref<Font> p_font) { Ref<StyleBox> default_style; Ref<Texture> default_icon; - Ref<BitmapFont> default_font; + Ref<Font> default_font; if (p_font.is_valid()) { default_font = p_font; } else if (p_hidpi) { @@ -888,7 +888,7 @@ void make_default_theme(bool p_hidpi, Ref<Font> p_font) { } else { default_font = make_font2(_lodpi_font_height, _lodpi_font_ascent, _lodpi_font_charcount, &_lodpi_font_charrects[0][0], _lodpi_font_kerning_pair_count, &_lodpi_font_kerning_pairs[0][0], _lodpi_font_img_width, _lodpi_font_img_height, _lodpi_font_img_data); } - Ref<BitmapFont> large_font = default_font; + Ref<Font> large_font = default_font; fill_default_theme(t, default_font, large_font, default_icon, default_style, p_hidpi ? 2.0 : 1.0); Theme::set_default(t); diff --git a/scene/resources/default_theme/default_theme.h b/scene/resources/default_theme/default_theme.h index f2a4b2616d..8f211af35b 100644 --- a/scene/resources/default_theme/default_theme.h +++ b/scene/resources/default_theme/default_theme.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp index 66b1e49d13..d52002ad5c 100644 --- a/scene/resources/dynamic_font.cpp +++ b/scene/resources/dynamic_font.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/dynamic_font.h b/scene/resources/dynamic_font.h index b2452a6a0a..1a890dd65d 100644 --- a/scene/resources/dynamic_font.h +++ b/scene/resources/dynamic_font.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/dynamic_font_stb.cpp b/scene/resources/dynamic_font_stb.cpp index 4aa47cb664..70495e9bbf 100644 --- a/scene/resources/dynamic_font_stb.cpp +++ b/scene/resources/dynamic_font_stb.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/dynamic_font_stb.h b/scene/resources/dynamic_font_stb.h index 24d764e716..3d4ad4389c 100644 --- a/scene/resources/dynamic_font_stb.h +++ b/scene/resources/dynamic_font_stb.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/environment.cpp b/scene/resources/environment.cpp index fe59450f2e..b2c91f90eb 100644 --- a/scene/resources/environment.cpp +++ b/scene/resources/environment.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -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/scene/resources/environment.h b/scene/resources/environment.h index 418949a6ad..9e2461a2ce 100644 --- a/scene/resources/environment.h +++ b/scene/resources/environment.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/font.cpp b/scene/resources/font.cpp index 8510669d6c..7b4bd273bd 100644 --- a/scene/resources/font.cpp +++ b/scene/resources/font.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/font.h b/scene/resources/font.h index 3bb7aeac85..5eaf82d6bc 100644 --- a/scene/resources/font.h +++ b/scene/resources/font.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index 326320c60f..4e3991b573 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -753,7 +753,7 @@ void SpatialMaterial::_update_shader() { if (features[FEATURE_REFRACTION] && !flags[FLAG_UV1_USE_TRIPLANAR]) { //refraction not supported with triplanar if (features[FEATURE_NORMAL_MAPPING]) { - code += "\tvec3 ref_normal = normalize( mix(NORMAL,TANGENT * NORMALMAP.x + BINORMAL * NORMALMAP.y + NORMAL * NORMALMAP.z,NORMALMAP_DEPTH) ) * SIDE;\n"; + code += "\tvec3 ref_normal = normalize( mix(NORMAL,TANGENT * NORMALMAP.x + BINORMAL * NORMALMAP.y + NORMAL * NORMALMAP.z,NORMALMAP_DEPTH) );\n"; } else { code += "\tvec3 ref_normal = NORMAL;\n"; } diff --git a/scene/resources/material.h b/scene/resources/material.h index d5c3ef83e2..9ce1765e62 100644 --- a/scene/resources/material.h +++ b/scene/resources/material.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp index bf5f7bf039..dc726adf86 100644 --- a/scene/resources/mesh.cpp +++ b/scene/resources/mesh.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/mesh.h b/scene/resources/mesh.h index ea38ebf2ff..98d9edd48b 100644 --- a/scene/resources/mesh.h +++ b/scene/resources/mesh.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/mesh_data_tool.cpp b/scene/resources/mesh_data_tool.cpp index 116ddc4ac6..2854d45b52 100644 --- a/scene/resources/mesh_data_tool.cpp +++ b/scene/resources/mesh_data_tool.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/mesh_data_tool.h b/scene/resources/mesh_data_tool.h index 119b49161b..fde6e5a46e 100644 --- a/scene/resources/mesh_data_tool.h +++ b/scene/resources/mesh_data_tool.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/mesh_library.cpp b/scene/resources/mesh_library.cpp index 833a4c3d22..adf646f2d9 100644 --- a/scene/resources/mesh_library.cpp +++ b/scene/resources/mesh_library.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/mesh_library.h b/scene/resources/mesh_library.h index c5d23ce50f..a0bcfec2b6 100644 --- a/scene/resources/mesh_library.h +++ b/scene/resources/mesh_library.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/multimesh.cpp b/scene/resources/multimesh.cpp index ee6efa6e85..a89b1c7342 100644 --- a/scene/resources/multimesh.cpp +++ b/scene/resources/multimesh.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/multimesh.h b/scene/resources/multimesh.h index 0a5310f641..f84d0c77c6 100644 --- a/scene/resources/multimesh.h +++ b/scene/resources/multimesh.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp index 879f76e6d8..9dc29151d5 100644 --- a/scene/resources/packed_scene.cpp +++ b/scene/resources/packed_scene.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/packed_scene.h b/scene/resources/packed_scene.h index 70deea24ff..01035863d9 100644 --- a/scene/resources/packed_scene.h +++ b/scene/resources/packed_scene.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/plane_shape.cpp b/scene/resources/plane_shape.cpp index 2eb2ceff24..881ecc616e 100644 --- a/scene/resources/plane_shape.cpp +++ b/scene/resources/plane_shape.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/plane_shape.h b/scene/resources/plane_shape.h index 1384b7521b..3225a614e5 100644 --- a/scene/resources/plane_shape.h +++ b/scene/resources/plane_shape.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/polygon_path_finder.cpp b/scene/resources/polygon_path_finder.cpp index 053369e8d8..f26ec5e0a8 100644 --- a/scene/resources/polygon_path_finder.cpp +++ b/scene/resources/polygon_path_finder.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/polygon_path_finder.h b/scene/resources/polygon_path_finder.h index 9b760caa2e..960e6739d6 100644 --- a/scene/resources/polygon_path_finder.h +++ b/scene/resources/polygon_path_finder.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/primitive_meshes.cpp b/scene/resources/primitive_meshes.cpp index 2e8f9cbb33..94ce3590d7 100644 --- a/scene/resources/primitive_meshes.cpp +++ b/scene/resources/primitive_meshes.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/primitive_meshes.h b/scene/resources/primitive_meshes.h index b38c247827..2b7294141a 100644 --- a/scene/resources/primitive_meshes.h +++ b/scene/resources/primitive_meshes.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/ray_shape.cpp b/scene/resources/ray_shape.cpp index b03a81b6bd..dfd7aee23a 100644 --- a/scene/resources/ray_shape.cpp +++ b/scene/resources/ray_shape.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/ray_shape.h b/scene/resources/ray_shape.h index 06b68adbae..45fd8ea603 100644 --- a/scene/resources/ray_shape.h +++ b/scene/resources/ray_shape.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/rectangle_shape_2d.cpp b/scene/resources/rectangle_shape_2d.cpp index 202024aa96..5c4c838e29 100644 --- a/scene/resources/rectangle_shape_2d.cpp +++ b/scene/resources/rectangle_shape_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/rectangle_shape_2d.h b/scene/resources/rectangle_shape_2d.h index 81d9cb1f4a..1e2a40d695 100644 --- a/scene/resources/rectangle_shape_2d.h +++ b/scene/resources/rectangle_shape_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/room.cpp b/scene/resources/room.cpp index 487975dd4e..f46b074225 100644 --- a/scene/resources/room.cpp +++ b/scene/resources/room.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/room.h b/scene/resources/room.h index 0e021cfcf7..367757fdb9 100644 --- a/scene/resources/room.h +++ b/scene/resources/room.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/scene_format_text.cpp b/scene/resources/scene_format_text.cpp index 7bf5f24269..9910fe8dfc 100644 --- a/scene/resources/scene_format_text.cpp +++ b/scene/resources/scene_format_text.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/scene_format_text.h b/scene/resources/scene_format_text.h index 5d3c2004c1..6782aff6fd 100644 --- a/scene/resources/scene_format_text.h +++ b/scene/resources/scene_format_text.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/segment_shape_2d.cpp b/scene/resources/segment_shape_2d.cpp index e8ef448e23..346599b25a 100644 --- a/scene/resources/segment_shape_2d.cpp +++ b/scene/resources/segment_shape_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -32,6 +32,13 @@ #include "servers/physics_2d_server.h" #include "servers/visual_server.h" +bool SegmentShape2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + Vector2 l[2] = { a, b }; + Vector2 closest = Geometry::get_closest_point_to_segment_2d(p_point, l); + return p_point.distance_to(closest) < p_tolerance; +} + void SegmentShape2D::_update_shape() { Rect2 r; diff --git a/scene/resources/segment_shape_2d.h b/scene/resources/segment_shape_2d.h index eb9c228c83..39a71f61d5 100644 --- a/scene/resources/segment_shape_2d.h +++ b/scene/resources/segment_shape_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -44,6 +44,8 @@ protected: static void _bind_methods(); public: + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_a(const Vector2 &p_a); void set_b(const Vector2 &p_b); diff --git a/scene/resources/shader.cpp b/scene/resources/shader.cpp index 66df7dfda8..c33267d023 100644 --- a/scene/resources/shader.cpp +++ b/scene/resources/shader.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -151,3 +151,80 @@ Shader::~Shader() { VisualServer::get_singleton()->free(shader); } +//////////// + +RES ResourceFormatLoaderShader::load(const String &p_path, const String &p_original_path, Error *r_error) { + + if (r_error) + *r_error = ERR_FILE_CANT_OPEN; + + Ref<Shader> shader; + shader.instance(); + + Vector<uint8_t> buffer = FileAccess::get_file_as_array(p_path); + + String str; + str.parse_utf8((const char *)buffer.ptr(), buffer.size()); + + shader->set_code(str); + + if (r_error) + *r_error = OK; + + return shader; +} + +void ResourceFormatLoaderShader::get_recognized_extensions(List<String> *p_extensions) const { + + p_extensions->push_back("shader"); +} + +bool ResourceFormatLoaderShader::handles_type(const String &p_type) const { + + return (p_type == "Shader"); +} + +String ResourceFormatLoaderShader::get_resource_type(const String &p_path) const { + + String el = p_path.get_extension().to_lower(); + if (el == "shader") + return "Shader"; + return ""; +} + +Error ResourceFormatSaverShader::save(const String &p_path, const RES &p_resource, uint32_t p_flags) { + + Ref<Shader> shader = p_resource; + ERR_FAIL_COND_V(shader.is_null(), ERR_INVALID_PARAMETER); + + String source = shader->get_code(); + + Error err; + FileAccess *file = FileAccess::open(p_path, FileAccess::WRITE, &err); + + if (err) { + + ERR_FAIL_COND_V(err, err); + } + + file->store_string(source); + if (file->get_error() != OK && file->get_error() != ERR_FILE_EOF) { + memdelete(file); + return ERR_CANT_CREATE; + } + file->close(); + memdelete(file); + + return OK; +} + +void ResourceFormatSaverShader::get_recognized_extensions(const RES &p_resource, List<String> *p_extensions) const { + + if (Object::cast_to<Shader>(*p_resource)) { + p_extensions->push_back("shader"); + } +} +bool ResourceFormatSaverShader::recognize(const RES &p_resource) const { + + return Object::cast_to<Shader>(*p_resource) != NULL; +} diff --git a/scene/resources/shader.h b/scene/resources/shader.h index 5cc70629c7..e9f5873588 100644 --- a/scene/resources/shader.h +++ b/scene/resources/shader.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,6 +31,7 @@ #define SHADER_H #include "io/resource_loader.h" +#include "io/resource_saver.h" #include "resource.h" #include "scene/resources/texture.h" @@ -38,7 +39,6 @@ class Shader : public Resource { GDCLASS(Shader, Resource); OBJ_SAVE_TYPE(Shader); - RES_BASE_EXTENSION("shd"); public: enum Mode { @@ -95,4 +95,19 @@ public: VARIANT_ENUM_CAST(Shader::Mode); +class ResourceFormatLoaderShader : public ResourceFormatLoader { +public: + virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL); + virtual void get_recognized_extensions(List<String> *p_extensions) const; + virtual bool handles_type(const String &p_type) const; + virtual String get_resource_type(const String &p_path) const; +}; + +class ResourceFormatSaverShader : public ResourceFormatSaver { +public: + virtual Error save(const String &p_path, const RES &p_resource, uint32_t p_flags = 0); + virtual void get_recognized_extensions(const RES &p_resource, List<String> *p_extensions) const; + virtual bool recognize(const RES &p_resource) const; +}; + #endif // SHADER_H diff --git a/scene/resources/shader_graph.cpp b/scene/resources/shader_graph.cpp index 3813854922..431150d1dd 100644 --- a/scene/resources/shader_graph.cpp +++ b/scene/resources/shader_graph.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/shader_graph.h b/scene/resources/shader_graph.h index 5d9dd7054f..f9856158b9 100644 --- a/scene/resources/shader_graph.h +++ b/scene/resources/shader_graph.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/shape.cpp b/scene/resources/shape.cpp index 0046ff58a8..edec89641f 100644 --- a/scene/resources/shape.cpp +++ b/scene/resources/shape.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/shape.h b/scene/resources/shape.h index bc75e723e9..bdbc9ba1e4 100644 --- a/scene/resources/shape.h +++ b/scene/resources/shape.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/shape_2d.cpp b/scene/resources/shape_2d.cpp index 4423c78bbe..15c8b6b748 100644 --- a/scene/resources/shape_2d.cpp +++ b/scene/resources/shape_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/shape_2d.h b/scene/resources/shape_2d.h index fffc7011f1..877a159aee 100644 --- a/scene/resources/shape_2d.h +++ b/scene/resources/shape_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -44,6 +44,8 @@ protected: Shape2D(const RID &p_rid); public: + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { return true; } + void set_custom_solver_bias(real_t p_bias); real_t get_custom_solver_bias() const; diff --git a/scene/resources/shape_line_2d.cpp b/scene/resources/shape_line_2d.cpp index 512ff3bc56..9548d35370 100644 --- a/scene/resources/shape_line_2d.cpp +++ b/scene/resources/shape_line_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -30,6 +30,21 @@ #include "shape_line_2d.h" #include "servers/physics_2d_server.h" #include "servers/visual_server.h" + +bool LineShape2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const { + + Vector2 point = get_d() * get_normal(); + Vector2 l[2][2] = { { point - get_normal().tangent() * 100, point + get_normal().tangent() * 100 }, { point, point + get_normal() * 30 } }; + + for (int i = 0; i < 2; i++) { + Vector2 closest = Geometry::get_closest_point_to_segment_2d(p_point, l[i]); + if (p_point.distance_to(closest) < p_tolerance) + return true; + } + + return false; +} + void LineShape2D::_update_shape() { Array arr; diff --git a/scene/resources/shape_line_2d.h b/scene/resources/shape_line_2d.h index 68298b63be..fe6f2d675e 100644 --- a/scene/resources/shape_line_2d.h +++ b/scene/resources/shape_line_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -44,6 +44,8 @@ protected: static void _bind_methods(); public: + virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; + void set_normal(const Vector2 &p_normal); void set_d(real_t p_d); diff --git a/scene/resources/sky_box.cpp b/scene/resources/sky_box.cpp index a2c3f1f111..42ed6f72fa 100644 --- a/scene/resources/sky_box.cpp +++ b/scene/resources/sky_box.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/sky_box.h b/scene/resources/sky_box.h index 8934463b6f..b62f9064c5 100644 --- a/scene/resources/sky_box.h +++ b/scene/resources/sky_box.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/space_2d.cpp b/scene/resources/space_2d.cpp index 4177364de7..e2661e83f5 100644 --- a/scene/resources/space_2d.cpp +++ b/scene/resources/space_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/space_2d.h b/scene/resources/space_2d.h index 8ba392f85d..3ed1e4199a 100644 --- a/scene/resources/space_2d.h +++ b/scene/resources/space_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/sphere_shape.cpp b/scene/resources/sphere_shape.cpp index 042988dcd3..c61749a598 100644 --- a/scene/resources/sphere_shape.cpp +++ b/scene/resources/sphere_shape.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/sphere_shape.h b/scene/resources/sphere_shape.h index 43d7956246..c1e0069941 100644 --- a/scene/resources/sphere_shape.h +++ b/scene/resources/sphere_shape.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/style_box.cpp b/scene/resources/style_box.cpp index f4a9abc1ea..7c8007ff9c 100644 --- a/scene/resources/style_box.cpp +++ b/scene/resources/style_box.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/style_box.h b/scene/resources/style_box.h index 4627c900ff..bdaa04e492 100644 --- a/scene/resources/style_box.h +++ b/scene/resources/style_box.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp index d8600e041d..a2535d0ddb 100644 --- a/scene/resources/surface_tool.cpp +++ b/scene/resources/surface_tool.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/surface_tool.h b/scene/resources/surface_tool.h index b180ffe260..d18c1fc263 100644 --- a/scene/resources/surface_tool.h +++ b/scene/resources/surface_tool.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp index 987d6c5f6a..ea51a5ba8d 100644 --- a/scene/resources/texture.cpp +++ b/scene/resources/texture.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -707,6 +707,8 @@ Ref<Image> StreamTexture::get_data() const { } void StreamTexture::set_flags(uint32_t p_flags) { + flags = p_flags; + VS::get_singleton()->texture_set_flags(texture, flags); } void StreamTexture::reload_from_file() { diff --git a/scene/resources/texture.h b/scene/resources/texture.h index 76c0195ef9..1b0754ad3b 100644 --- a/scene/resources/texture.h +++ b/scene/resources/texture.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/theme.cpp b/scene/resources/theme.cpp index e2e29b037b..7337c5ec4d 100644 --- a/scene/resources/theme.cpp +++ b/scene/resources/theme.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/theme.h b/scene/resources/theme.h index 5b375d5585..0d15a9a11e 100644 --- a/scene/resources/theme.h +++ b/scene/resources/theme.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/tile_set.cpp b/scene/resources/tile_set.cpp index bd6b917d4e..89de2de279 100644 --- a/scene/resources/tile_set.cpp +++ b/scene/resources/tile_set.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -893,8 +893,8 @@ void TileSet::clear() { void TileSet::_bind_methods() { ClassDB::bind_method(D_METHOD("create_tile", "id"), &TileSet::create_tile); - ClassDB::bind_method(D_METHOD("autotile_set_bitmask_mode", "mode"), &TileSet::autotile_set_bitmask_mode); - ClassDB::bind_method(D_METHOD("autotile_get_bitmask_mode"), &TileSet::autotile_get_bitmask_mode); + ClassDB::bind_method(D_METHOD("autotile_set_bitmask_mode", "id", "mode"), &TileSet::autotile_set_bitmask_mode); + ClassDB::bind_method(D_METHOD("autotile_get_bitmask_mode", "id"), &TileSet::autotile_get_bitmask_mode); ClassDB::bind_method(D_METHOD("tile_set_name", "id", "name"), &TileSet::tile_set_name); ClassDB::bind_method(D_METHOD("tile_get_name", "id"), &TileSet::tile_get_name); ClassDB::bind_method(D_METHOD("tile_set_texture", "id", "texture"), &TileSet::tile_set_texture); diff --git a/scene/resources/tile_set.h b/scene/resources/tile_set.h index deac583f62..e7e5c06d34 100644 --- a/scene/resources/tile_set.h +++ b/scene/resources/tile_set.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/video_stream.cpp b/scene/resources/video_stream.cpp index 2298e2ca9f..ddedc1a37e 100644 --- a/scene/resources/video_stream.cpp +++ b/scene/resources/video_stream.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/video_stream.h b/scene/resources/video_stream.h index fbe52909e7..bd5bf54d0a 100644 --- a/scene/resources/video_stream.h +++ b/scene/resources/video_stream.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/world.cpp b/scene/resources/world.cpp index c63ba24cbd..57f567bc3c 100644 --- a/scene/resources/world.cpp +++ b/scene/resources/world.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/world.h b/scene/resources/world.h index e0f1de1fd0..19b8bd03a6 100644 --- a/scene/resources/world.h +++ b/scene/resources/world.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/world_2d.cpp b/scene/resources/world_2d.cpp index a644793bd8..1f75c43d75 100644 --- a/scene/resources/world_2d.cpp +++ b/scene/resources/world_2d.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/resources/world_2d.h b/scene/resources/world_2d.h index 63d32473e0..84fa00e6cd 100644 --- a/scene/resources/world_2d.h +++ b/scene/resources/world_2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/scene_string_names.cpp b/scene/scene_string_names.cpp index 52b8e35d5e..e72bc63c53 100644 --- a/scene/scene_string_names.cpp +++ b/scene/scene_string_names.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/scene/scene_string_names.h b/scene/scene_string_names.h index 3b110e7a62..8e7a0c0075 100644 --- a/scene/scene_string_names.h +++ b/scene/scene_string_names.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/arvr/arvr_interface.cpp b/servers/arvr/arvr_interface.cpp index 458459a843..b599e1c5cc 100644 --- a/servers/arvr/arvr_interface.cpp +++ b/servers/arvr/arvr_interface.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/arvr/arvr_interface.h b/servers/arvr/arvr_interface.h index 1599c1a64f..a70c7cec0e 100644 --- a/servers/arvr/arvr_interface.h +++ b/servers/arvr/arvr_interface.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/arvr/arvr_positional_tracker.cpp b/servers/arvr/arvr_positional_tracker.cpp index fc0270615c..08b5bab641 100644 --- a/servers/arvr/arvr_positional_tracker.cpp +++ b/servers/arvr/arvr_positional_tracker.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -62,13 +62,15 @@ void ARVRPositionalTracker::_bind_methods() { void ARVRPositionalTracker::set_type(ARVRServer::TrackerType p_type) { if (type != p_type) { type = p_type; + hand = ARVRPositionalTracker::TRACKER_HAND_UNKNOWN; ARVRServer *arvr_server = ARVRServer::get_singleton(); ERR_FAIL_NULL(arvr_server); // get a tracker id for our type + // note if this is a controller this will be 3 or higher but we may change it later. tracker_id = arvr_server->get_free_tracker_id_for_type(p_type); - } + }; }; ARVRServer::TrackerType ARVRPositionalTracker::get_type() const { @@ -156,7 +158,24 @@ ARVRPositionalTracker::TrackerHand ARVRPositionalTracker::get_hand() const { }; void ARVRPositionalTracker::set_hand(const ARVRPositionalTracker::TrackerHand p_hand) { - hand = p_hand; + ARVRServer *arvr_server = ARVRServer::get_singleton(); + ERR_FAIL_NULL(arvr_server); + + if (hand != p_hand) { + // we can only set this if we've previously set this to be a controller!! + ERR_FAIL_COND((type != ARVRServer::TRACKER_CONTROLLER) && (p_hand != ARVRPositionalTracker::TRACKER_HAND_UNKNOWN)); + + hand = p_hand; + if (hand == ARVRPositionalTracker::TRACKER_LEFT_HAND) { + if (!arvr_server->is_tracker_id_in_use_for_type(type, 1)) { + tracker_id = 1; + }; + } else if (hand == ARVRPositionalTracker::TRACKER_RIGHT_HAND) { + if (!arvr_server->is_tracker_id_in_use_for_type(type, 2)) { + tracker_id = 2; + }; + }; + }; }; Transform ARVRPositionalTracker::get_transform(bool p_adjust_by_reference_frame) const { diff --git a/servers/arvr/arvr_positional_tracker.h b/servers/arvr/arvr_positional_tracker.h index e450328a22..884aae3076 100644 --- a/servers/arvr/arvr_positional_tracker.h +++ b/servers/arvr/arvr_positional_tracker.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/arvr_server.cpp b/servers/arvr_server.cpp index 1e73d6753c..441a7581d1 100644 --- a/servers/arvr_server.cpp +++ b/servers/arvr_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -43,7 +43,7 @@ void ARVRServer::_bind_methods() { ClassDB::bind_method(D_METHOD("get_world_scale"), &ARVRServer::get_world_scale); ClassDB::bind_method(D_METHOD("set_world_scale"), &ARVRServer::set_world_scale); ClassDB::bind_method(D_METHOD("get_reference_frame"), &ARVRServer::get_reference_frame); - ClassDB::bind_method(D_METHOD("center_on_hmd", "ignore_tilt", "keep_height"), &ARVRServer::center_on_hmd); + ClassDB::bind_method(D_METHOD("center_on_hmd", "rotation_mode", "keep_height"), &ARVRServer::center_on_hmd); ADD_PROPERTY(PropertyInfo(Variant::REAL, "world_scale"), "set_world_scale", "get_world_scale"); @@ -63,6 +63,10 @@ void ARVRServer::_bind_methods() { BIND_ENUM_CONSTANT(TRACKER_UNKNOWN); BIND_ENUM_CONSTANT(TRACKER_ANY); + BIND_ENUM_CONSTANT(RESET_FULL_ROTATION); + BIND_ENUM_CONSTANT(RESET_BUT_KEEP_TILT); + BIND_ENUM_CONSTANT(DONT_RESET_ROTATION); + ADD_SIGNAL(MethodInfo("interface_added", PropertyInfo(Variant::STRING, "name"))); ADD_SIGNAL(MethodInfo("interface_removed", PropertyInfo(Variant::STRING, "name"))); @@ -96,7 +100,7 @@ Transform ARVRServer::get_reference_frame() const { return reference_frame; }; -void ARVRServer::center_on_hmd(bool p_ignore_tilt, bool p_keep_height) { +void ARVRServer::center_on_hmd(RotationMode p_rotation_mode, bool p_keep_height) { if (primary_interface != NULL) { // clear our current reference frame or we'll end up double adjusting it reference_frame = Transform(); @@ -105,7 +109,7 @@ void ARVRServer::center_on_hmd(bool p_ignore_tilt, bool p_keep_height) { Transform new_reference_frame = primary_interface->get_transform_for_eye(ARVRInterface::EYE_MONO, Transform()); // remove our tilt - if (p_ignore_tilt) { + if (p_rotation_mode == 1) { // take the Y out of our Z new_reference_frame.basis.set_axis(2, Vector3(new_reference_frame.basis.elements[0][2], 0.0, new_reference_frame.basis.elements[2][2]).normalized()); @@ -114,6 +118,9 @@ void ARVRServer::center_on_hmd(bool p_ignore_tilt, bool p_keep_height) { // and X is our cross reference new_reference_frame.basis.set_axis(0, new_reference_frame.basis.get_axis(1).cross(new_reference_frame.basis.get_axis(2)).normalized()); + } else if (p_rotation_mode == 2) { + // remove our rotation, we're only interesting in centering on position + new_reference_frame.basis = Basis(); }; // don't negate our height @@ -229,8 +236,12 @@ bool ARVRServer::is_tracker_id_in_use_for_type(TrackerType p_tracker_type, int p }; int ARVRServer::get_free_tracker_id_for_type(TrackerType p_tracker_type) { - // we start checking at 1, 0 means that it's not a controller.. - int tracker_id = 1; + // We start checking at 1, 0 means that it's not a controller.. + // Note that for controller we reserve: + // - 1 for the left hand controller and + // - 2 for the right hand controller + // so we start at 3 :) + int tracker_id = p_tracker_type == ARVRServer::TRACKER_CONTROLLER ? 3 : 1; while (is_tracker_id_in_use_for_type(p_tracker_type, tracker_id)) { // try the next one diff --git a/servers/arvr_server.h b/servers/arvr_server.h index 9b84ee2e99..cb0e3949d4 100644 --- a/servers/arvr_server.h +++ b/servers/arvr_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -68,6 +68,12 @@ public: TRACKER_ANY = 0xff /* used by get_connected_trackers to return all types */ }; + enum RotationMode { + RESET_FULL_ROTATION = 0, /* we reset the full rotation, regardless of how the HMD is oriented, we're looking dead ahead */ + RESET_BUT_KEEP_TILT = 1, /* reset rotation but keep tilt. */ + DONT_RESET_ROTATION = 2, /* don't reset the rotation, we will only center on position */ + }; + private: Vector<Ref<ARVRInterface> > interfaces; Vector<ARVRPositionalTracker *> trackers; @@ -78,8 +84,6 @@ private: Transform world_origin; /* our world origin point, maps a location in our virtual world to the origin point in our real world tracking volume */ Transform reference_frame; /* our reference frame */ - bool is_tracker_id_in_use_for_type(TrackerType p_tracker_type, int p_tracker_id) const; - protected: static ARVRServer *singleton; @@ -127,7 +131,7 @@ public: and in the virtual world out of sync */ Transform get_reference_frame() const; - void center_on_hmd(bool p_ignore_tilt, bool p_keep_height); + void center_on_hmd(RotationMode p_rotation_mode, bool p_keep_height); /* Interfaces are objects that 'glue' Godot to an AR or VR SDK such as the Oculus SDK, OpenVR, OpenHMD, etc. @@ -150,9 +154,8 @@ public: /* Our trackers are objects that expose the orientation and position of physical devices such as controller, anchor points, etc. They are created and managed by our active AR/VR interfaces. - - Note that for trackers that */ + bool is_tracker_id_in_use_for_type(TrackerType p_tracker_type, int p_tracker_id) const; int get_free_tracker_id_for_type(TrackerType p_tracker_type); void add_tracker(ARVRPositionalTracker *p_tracker); void remove_tracker(ARVRPositionalTracker *p_tracker); @@ -167,5 +170,6 @@ public: #define ARVR ARVRServer VARIANT_ENUM_CAST(ARVRServer::TrackerType); +VARIANT_ENUM_CAST(ARVRServer::RotationMode); #endif diff --git a/servers/audio/audio_driver_dummy.cpp b/servers/audio/audio_driver_dummy.cpp index 1ae0e7b96b..244eaf1340 100644 --- a/servers/audio/audio_driver_dummy.cpp +++ b/servers/audio/audio_driver_dummy.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/audio_driver_dummy.h b/servers/audio/audio_driver_dummy.h index 90af1961b7..329941bc09 100644 --- a/servers/audio/audio_driver_dummy.h +++ b/servers/audio/audio_driver_dummy.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/audio_effect.cpp b/servers/audio/audio_effect.cpp index 2a9f991d3f..21ffbcf0e1 100644 --- a/servers/audio/audio_effect.cpp +++ b/servers/audio/audio_effect.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/audio_effect.h b/servers/audio/audio_effect.h index 3dbeb402eb..3f80fb00e2 100644 --- a/servers/audio/audio_effect.h +++ b/servers/audio/audio_effect.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/audio_filter_sw.cpp b/servers/audio/audio_filter_sw.cpp index 477bc59b73..e3f6b7f359 100644 --- a/servers/audio/audio_filter_sw.cpp +++ b/servers/audio/audio_filter_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/audio_filter_sw.h b/servers/audio/audio_filter_sw.h index 1c01e5f8da..4d00462876 100644 --- a/servers/audio/audio_filter_sw.h +++ b/servers/audio/audio_filter_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/audio_rb_resampler.cpp b/servers/audio/audio_rb_resampler.cpp index b0b94a1f49..6c671d5b88 100644 --- a/servers/audio/audio_rb_resampler.cpp +++ b/servers/audio/audio_rb_resampler.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/audio_rb_resampler.h b/servers/audio/audio_rb_resampler.h index 08c7a5a668..0359093e30 100644 --- a/servers/audio/audio_rb_resampler.h +++ b/servers/audio/audio_rb_resampler.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/audio_stream.cpp b/servers/audio/audio_stream.cpp index 15d4a11223..b9000a3ea7 100644 --- a/servers/audio/audio_stream.cpp +++ b/servers/audio/audio_stream.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -76,14 +76,14 @@ void AudioStreamPlaybackResampled::mix(AudioFrame *p_buffer, float p_rate_scale, internal_buffer[1] = internal_buffer[INTERNAL_BUFFER_LEN + 1]; internal_buffer[2] = internal_buffer[INTERNAL_BUFFER_LEN + 2]; internal_buffer[3] = internal_buffer[INTERNAL_BUFFER_LEN + 3]; - if (!is_playing()) { - for (int i = 4; i < INTERNAL_BUFFER_LEN; ++i) { - internal_buffer[i] = AudioFrame(0, 0); + if (is_playing()) { + _mix_internal(internal_buffer + 4, INTERNAL_BUFFER_LEN); + } else { + //fill with silence, not playing + for (int i = 0; i < INTERNAL_BUFFER_LEN; ++i) { + internal_buffer[i + 4] = AudioFrame(0, 0); } - - return; } - _mix_internal(internal_buffer + 4, INTERNAL_BUFFER_LEN); mix_offset -= (INTERNAL_BUFFER_LEN << FP_BITS); } } diff --git a/servers/audio/audio_stream.h b/servers/audio/audio_stream.h index dc931502b4..f3db58ada3 100644 --- a/servers/audio/audio_stream.h +++ b/servers/audio/audio_stream.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_amplify.cpp b/servers/audio/effects/audio_effect_amplify.cpp index 58da99ab85..542019d32c 100644 --- a/servers/audio/effects/audio_effect_amplify.cpp +++ b/servers/audio/effects/audio_effect_amplify.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_amplify.h b/servers/audio/effects/audio_effect_amplify.h index a4c2cbc2fd..88c7d8f73f 100644 --- a/servers/audio/effects/audio_effect_amplify.h +++ b/servers/audio/effects/audio_effect_amplify.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_chorus.cpp b/servers/audio/effects/audio_effect_chorus.cpp index cfcad24bb3..7945fc6c08 100644 --- a/servers/audio/effects/audio_effect_chorus.cpp +++ b/servers/audio/effects/audio_effect_chorus.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_chorus.h b/servers/audio/effects/audio_effect_chorus.h index 47065c4dd5..f1e0e16f3d 100644 --- a/servers/audio/effects/audio_effect_chorus.h +++ b/servers/audio/effects/audio_effect_chorus.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_compressor.cpp b/servers/audio/effects/audio_effect_compressor.cpp index 420f279da0..27c59ce356 100644 --- a/servers/audio/effects/audio_effect_compressor.cpp +++ b/servers/audio/effects/audio_effect_compressor.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_compressor.h b/servers/audio/effects/audio_effect_compressor.h index 5c76fb902a..ca87659a34 100644 --- a/servers/audio/effects/audio_effect_compressor.h +++ b/servers/audio/effects/audio_effect_compressor.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_delay.cpp b/servers/audio/effects/audio_effect_delay.cpp index 59b6a8da2a..98283d6453 100644 --- a/servers/audio/effects/audio_effect_delay.cpp +++ b/servers/audio/effects/audio_effect_delay.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_delay.h b/servers/audio/effects/audio_effect_delay.h index 50a32c94f6..cd45d0e9e7 100644 --- a/servers/audio/effects/audio_effect_delay.h +++ b/servers/audio/effects/audio_effect_delay.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_distortion.cpp b/servers/audio/effects/audio_effect_distortion.cpp index 3e6280f033..2105fd42d7 100644 --- a/servers/audio/effects/audio_effect_distortion.cpp +++ b/servers/audio/effects/audio_effect_distortion.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_distortion.h b/servers/audio/effects/audio_effect_distortion.h index 7c04b4f98e..d4f7076864 100644 --- a/servers/audio/effects/audio_effect_distortion.h +++ b/servers/audio/effects/audio_effect_distortion.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_eq.cpp b/servers/audio/effects/audio_effect_eq.cpp index dc0e00e9a3..49a2b17c54 100644 --- a/servers/audio/effects/audio_effect_eq.cpp +++ b/servers/audio/effects/audio_effect_eq.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_eq.h b/servers/audio/effects/audio_effect_eq.h index 5d0c3d9729..70c2cf57b9 100644 --- a/servers/audio/effects/audio_effect_eq.h +++ b/servers/audio/effects/audio_effect_eq.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_filter.cpp b/servers/audio/effects/audio_effect_filter.cpp index 95354230c6..e4a6aa23b2 100644 --- a/servers/audio/effects/audio_effect_filter.cpp +++ b/servers/audio/effects/audio_effect_filter.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_filter.h b/servers/audio/effects/audio_effect_filter.h index 7fb5ba4c83..39506d50ec 100644 --- a/servers/audio/effects/audio_effect_filter.h +++ b/servers/audio/effects/audio_effect_filter.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_limiter.cpp b/servers/audio/effects/audio_effect_limiter.cpp index c50dd804f2..f746f0b94a 100644 --- a/servers/audio/effects/audio_effect_limiter.cpp +++ b/servers/audio/effects/audio_effect_limiter.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_limiter.h b/servers/audio/effects/audio_effect_limiter.h index 5fc54a2dd3..841a6c7e4e 100644 --- a/servers/audio/effects/audio_effect_limiter.h +++ b/servers/audio/effects/audio_effect_limiter.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_panner.cpp b/servers/audio/effects/audio_effect_panner.cpp index 8b268ef9f7..a55f476f40 100644 --- a/servers/audio/effects/audio_effect_panner.cpp +++ b/servers/audio/effects/audio_effect_panner.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_panner.h b/servers/audio/effects/audio_effect_panner.h index 4739373485..db78959b0a 100644 --- a/servers/audio/effects/audio_effect_panner.h +++ b/servers/audio/effects/audio_effect_panner.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_phaser.cpp b/servers/audio/effects/audio_effect_phaser.cpp index fe362ef831..4a824acf58 100644 --- a/servers/audio/effects/audio_effect_phaser.cpp +++ b/servers/audio/effects/audio_effect_phaser.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_phaser.h b/servers/audio/effects/audio_effect_phaser.h index d77b44e738..6755a0718c 100644 --- a/servers/audio/effects/audio_effect_phaser.h +++ b/servers/audio/effects/audio_effect_phaser.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_pitch_shift.cpp b/servers/audio/effects/audio_effect_pitch_shift.cpp index ec70e7b902..6db31f259e 100644 --- a/servers/audio/effects/audio_effect_pitch_shift.cpp +++ b/servers/audio/effects/audio_effect_pitch_shift.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_pitch_shift.h b/servers/audio/effects/audio_effect_pitch_shift.h index 10a72465dc..3b9c35f6c4 100644 --- a/servers/audio/effects/audio_effect_pitch_shift.h +++ b/servers/audio/effects/audio_effect_pitch_shift.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_reverb.cpp b/servers/audio/effects/audio_effect_reverb.cpp index f5225bec96..f8750144b1 100644 --- a/servers/audio/effects/audio_effect_reverb.cpp +++ b/servers/audio/effects/audio_effect_reverb.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_reverb.h b/servers/audio/effects/audio_effect_reverb.h index 795d38d3d5..47c9c9f112 100644 --- a/servers/audio/effects/audio_effect_reverb.h +++ b/servers/audio/effects/audio_effect_reverb.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_stereo_enhance.cpp b/servers/audio/effects/audio_effect_stereo_enhance.cpp index 1ee393f533..ea2ecba4f4 100644 --- a/servers/audio/effects/audio_effect_stereo_enhance.cpp +++ b/servers/audio/effects/audio_effect_stereo_enhance.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/audio_effect_stereo_enhance.h b/servers/audio/effects/audio_effect_stereo_enhance.h index f187fe50b3..aa7cd3c6af 100644 --- a/servers/audio/effects/audio_effect_stereo_enhance.h +++ b/servers/audio/effects/audio_effect_stereo_enhance.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/eq.cpp b/servers/audio/effects/eq.cpp index 05630e61ae..9ef41191f5 100644 --- a/servers/audio/effects/eq.cpp +++ b/servers/audio/effects/eq.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/eq.h b/servers/audio/effects/eq.h index 97dd4615d1..5c654529c3 100644 --- a/servers/audio/effects/eq.h +++ b/servers/audio/effects/eq.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/reverb.cpp b/servers/audio/effects/reverb.cpp index 8e745f979a..5e31202e58 100644 --- a/servers/audio/effects/reverb.cpp +++ b/servers/audio/effects/reverb.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/effects/reverb.h b/servers/audio/effects/reverb.h index 2fa21d68d5..c3d3873dcd 100644 --- a/servers/audio/effects/reverb.h +++ b/servers/audio/effects/reverb.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/reverb_sw.cpp b/servers/audio/reverb_sw.cpp index e2bb04c213..765bbf6996 100644 --- a/servers/audio/reverb_sw.cpp +++ b/servers/audio/reverb_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/reverb_sw.h b/servers/audio/reverb_sw.h index b91beea039..29ce47aaa5 100644 --- a/servers/audio/reverb_sw.h +++ b/servers/audio/reverb_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio/voice_rb_sw.h b/servers/audio/voice_rb_sw.h index 6d9eb73860..5e48f948cf 100644 --- a/servers/audio/voice_rb_sw.h +++ b/servers/audio/voice_rb_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp index a08733de87..f2198bdf2f 100644 --- a/servers/audio_server.cpp +++ b/servers/audio_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -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 @@ -892,15 +891,15 @@ void AudioServer::load_default_bus_layout() { void AudioServer::finish() { + for (int i = 0; i < AudioDriverManager::get_driver_count(); i++) { + AudioDriverManager::get_driver(i)->finish(); + } + for (int i = 0; i < buses.size(); i++) { memdelete(buses[i]); } buses.clear(); - - for (int i = 0; i < AudioDriverManager::get_driver_count(); i++) { - AudioDriverManager::get_driver(i)->finish(); - } } void AudioServer::update() { diff --git a/servers/audio_server.h b/servers/audio_server.h index 55e9367308..263bcd9818 100644 --- a/servers/audio_server.h +++ b/servers/audio_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/area_pair_sw.cpp b/servers/physics/area_pair_sw.cpp index 3e8d148f08..7b4a520eba 100644 --- a/servers/physics/area_pair_sw.cpp +++ b/servers/physics/area_pair_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/area_pair_sw.h b/servers/physics/area_pair_sw.h index 483f63284b..3095fea583 100644 --- a/servers/physics/area_pair_sw.h +++ b/servers/physics/area_pair_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/area_sw.cpp b/servers/physics/area_sw.cpp index 9615708f1d..373e5788d7 100644 --- a/servers/physics/area_sw.cpp +++ b/servers/physics/area_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/area_sw.h b/servers/physics/area_sw.h index 455c0b5c8b..0295f6ab3a 100644 --- a/servers/physics/area_sw.h +++ b/servers/physics/area_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/body_pair_sw.cpp b/servers/physics/body_pair_sw.cpp index 80e0ad1b07..2d8ab44ddb 100644 --- a/servers/physics/body_pair_sw.cpp +++ b/servers/physics/body_pair_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/body_pair_sw.h b/servers/physics/body_pair_sw.h index 74fda60998..b65711340b 100644 --- a/servers/physics/body_pair_sw.h +++ b/servers/physics/body_pair_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/body_sw.cpp b/servers/physics/body_sw.cpp index 7fa7f0a45d..95101d6f8e 100644 --- a/servers/physics/body_sw.cpp +++ b/servers/physics/body_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/body_sw.h b/servers/physics/body_sw.h index b6aa76c70a..85c40bc527 100644 --- a/servers/physics/body_sw.h +++ b/servers/physics/body_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/broad_phase_basic.cpp b/servers/physics/broad_phase_basic.cpp index e4eae09c61..d06279c45a 100644 --- a/servers/physics/broad_phase_basic.cpp +++ b/servers/physics/broad_phase_basic.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/broad_phase_basic.h b/servers/physics/broad_phase_basic.h index ee683ed840..b291e988a3 100644 --- a/servers/physics/broad_phase_basic.h +++ b/servers/physics/broad_phase_basic.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/broad_phase_octree.cpp b/servers/physics/broad_phase_octree.cpp index 3b18a270f0..b71489c575 100644 --- a/servers/physics/broad_phase_octree.cpp +++ b/servers/physics/broad_phase_octree.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/broad_phase_octree.h b/servers/physics/broad_phase_octree.h index f894d6ca5a..5c37f51cbe 100644 --- a/servers/physics/broad_phase_octree.h +++ b/servers/physics/broad_phase_octree.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/broad_phase_sw.cpp b/servers/physics/broad_phase_sw.cpp index 3e5b7e72c6..619aab7e46 100644 --- a/servers/physics/broad_phase_sw.cpp +++ b/servers/physics/broad_phase_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/broad_phase_sw.h b/servers/physics/broad_phase_sw.h index 5ad3f9a261..ef55f881d5 100644 --- a/servers/physics/broad_phase_sw.h +++ b/servers/physics/broad_phase_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/collision_object_sw.cpp b/servers/physics/collision_object_sw.cpp index ef7cd0780f..7b5d960357 100644 --- a/servers/physics/collision_object_sw.cpp +++ b/servers/physics/collision_object_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/collision_object_sw.h b/servers/physics/collision_object_sw.h index 254947060b..6683cabd5b 100644 --- a/servers/physics/collision_object_sw.h +++ b/servers/physics/collision_object_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/collision_solver_sat.cpp b/servers/physics/collision_solver_sat.cpp index f56d311a59..30a0f5ce94 100644 --- a/servers/physics/collision_solver_sat.cpp +++ b/servers/physics/collision_solver_sat.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/collision_solver_sat.h b/servers/physics/collision_solver_sat.h index efe9bc87ac..3ebfa88256 100644 --- a/servers/physics/collision_solver_sat.h +++ b/servers/physics/collision_solver_sat.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/collision_solver_sw.cpp b/servers/physics/collision_solver_sw.cpp index a9431dc6d8..ce56b004f6 100644 --- a/servers/physics/collision_solver_sw.cpp +++ b/servers/physics/collision_solver_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/collision_solver_sw.h b/servers/physics/collision_solver_sw.h index a40b665ff0..0c3418a4ec 100644 --- a/servers/physics/collision_solver_sw.h +++ b/servers/physics/collision_solver_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/constraint_sw.h b/servers/physics/constraint_sw.h index 047513f635..a11ac04ffd 100644 --- a/servers/physics/constraint_sw.h +++ b/servers/physics/constraint_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/gjk_epa.cpp b/servers/physics/gjk_epa.cpp index 0f03bd917a..7a2eb9b0ad 100644 --- a/servers/physics/gjk_epa.cpp +++ b/servers/physics/gjk_epa.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/gjk_epa.h b/servers/physics/gjk_epa.h index 6d8539d365..bc00de0f6c 100644 --- a/servers/physics/gjk_epa.h +++ b/servers/physics/gjk_epa.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/cone_twist_joint_sw.cpp b/servers/physics/joints/cone_twist_joint_sw.cpp index 617ce125b3..c06f27cc57 100644 --- a/servers/physics/joints/cone_twist_joint_sw.cpp +++ b/servers/physics/joints/cone_twist_joint_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/cone_twist_joint_sw.h b/servers/physics/joints/cone_twist_joint_sw.h index 0c722463be..3213562c3f 100644 --- a/servers/physics/joints/cone_twist_joint_sw.h +++ b/servers/physics/joints/cone_twist_joint_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/generic_6dof_joint_sw.cpp b/servers/physics/joints/generic_6dof_joint_sw.cpp index b8234be4d9..c95e5cef32 100644 --- a/servers/physics/joints/generic_6dof_joint_sw.cpp +++ b/servers/physics/joints/generic_6dof_joint_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/generic_6dof_joint_sw.h b/servers/physics/joints/generic_6dof_joint_sw.h index f6af0b1d6f..b350546c5d 100644 --- a/servers/physics/joints/generic_6dof_joint_sw.h +++ b/servers/physics/joints/generic_6dof_joint_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/hinge_joint_sw.cpp b/servers/physics/joints/hinge_joint_sw.cpp index 2edccc26c2..d660eba879 100644 --- a/servers/physics/joints/hinge_joint_sw.cpp +++ b/servers/physics/joints/hinge_joint_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/hinge_joint_sw.h b/servers/physics/joints/hinge_joint_sw.h index 8e0f9a4da0..cc8af3b370 100644 --- a/servers/physics/joints/hinge_joint_sw.h +++ b/servers/physics/joints/hinge_joint_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/jacobian_entry_sw.h b/servers/physics/joints/jacobian_entry_sw.h index 7aeb06ddd8..42c90c9ae9 100644 --- a/servers/physics/joints/jacobian_entry_sw.h +++ b/servers/physics/joints/jacobian_entry_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/pin_joint_sw.cpp b/servers/physics/joints/pin_joint_sw.cpp index ab2ab2299a..a094e6c5ae 100644 --- a/servers/physics/joints/pin_joint_sw.cpp +++ b/servers/physics/joints/pin_joint_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/pin_joint_sw.h b/servers/physics/joints/pin_joint_sw.h index f6c11c49b0..7d843f053c 100644 --- a/servers/physics/joints/pin_joint_sw.h +++ b/servers/physics/joints/pin_joint_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/slider_joint_sw.cpp b/servers/physics/joints/slider_joint_sw.cpp index 7777de0324..c0e9660b22 100644 --- a/servers/physics/joints/slider_joint_sw.cpp +++ b/servers/physics/joints/slider_joint_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints/slider_joint_sw.h b/servers/physics/joints/slider_joint_sw.h index 5079c65707..4df632d75f 100644 --- a/servers/physics/joints/slider_joint_sw.h +++ b/servers/physics/joints/slider_joint_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/joints_sw.h b/servers/physics/joints_sw.h index 29581c7337..1a49e84392 100644 --- a/servers/physics/joints_sw.h +++ b/servers/physics/joints_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/physics_server_sw.cpp b/servers/physics/physics_server_sw.cpp index 0a1d524839..fc6ba534e6 100644 --- a/servers/physics/physics_server_sw.cpp +++ b/servers/physics/physics_server_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/physics_server_sw.h b/servers/physics/physics_server_sw.h index 71547f24c8..a64ebf76b6 100644 --- a/servers/physics/physics_server_sw.h +++ b/servers/physics/physics_server_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/shape_sw.cpp b/servers/physics/shape_sw.cpp index b204ff7a33..5ac1ba46d7 100644 --- a/servers/physics/shape_sw.cpp +++ b/servers/physics/shape_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/shape_sw.h b/servers/physics/shape_sw.h index 48832affc9..1bcbb91f90 100644 --- a/servers/physics/shape_sw.h +++ b/servers/physics/shape_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/space_sw.cpp b/servers/physics/space_sw.cpp index 9de90fccb2..d66886ad91 100644 --- a/servers/physics/space_sw.cpp +++ b/servers/physics/space_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/space_sw.h b/servers/physics/space_sw.h index a7c975fbf6..c080d82785 100644 --- a/servers/physics/space_sw.h +++ b/servers/physics/space_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/step_sw.cpp b/servers/physics/step_sw.cpp index 76b097dda6..662d54b6de 100644 --- a/servers/physics/step_sw.cpp +++ b/servers/physics/step_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics/step_sw.h b/servers/physics/step_sw.h index 56acd8ac37..3286d8085e 100644 --- a/servers/physics/step_sw.h +++ b/servers/physics/step_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/area_2d_sw.cpp b/servers/physics_2d/area_2d_sw.cpp index d73619ba13..db43ca840f 100644 --- a/servers/physics_2d/area_2d_sw.cpp +++ b/servers/physics_2d/area_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/area_2d_sw.h b/servers/physics_2d/area_2d_sw.h index 622729bfe8..a2925a4d2d 100644 --- a/servers/physics_2d/area_2d_sw.h +++ b/servers/physics_2d/area_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/area_pair_2d_sw.cpp b/servers/physics_2d/area_pair_2d_sw.cpp index 9b43305a61..c2c1f71149 100644 --- a/servers/physics_2d/area_pair_2d_sw.cpp +++ b/servers/physics_2d/area_pair_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/area_pair_2d_sw.h b/servers/physics_2d/area_pair_2d_sw.h index 4a046c5f55..496023904c 100644 --- a/servers/physics_2d/area_pair_2d_sw.h +++ b/servers/physics_2d/area_pair_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/body_2d_sw.cpp b/servers/physics_2d/body_2d_sw.cpp index 2bdde244df..38344ec20b 100644 --- a/servers/physics_2d/body_2d_sw.cpp +++ b/servers/physics_2d/body_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/body_2d_sw.h b/servers/physics_2d/body_2d_sw.h index f7c717a5c6..497b20b7ad 100644 --- a/servers/physics_2d/body_2d_sw.h +++ b/servers/physics_2d/body_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/body_pair_2d_sw.cpp b/servers/physics_2d/body_pair_2d_sw.cpp index b106b37db0..ca98e78b55 100644 --- a/servers/physics_2d/body_pair_2d_sw.cpp +++ b/servers/physics_2d/body_pair_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/body_pair_2d_sw.h b/servers/physics_2d/body_pair_2d_sw.h index 4817ea72f6..b85136b5b4 100644 --- a/servers/physics_2d/body_pair_2d_sw.h +++ b/servers/physics_2d/body_pair_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/broad_phase_2d_basic.cpp b/servers/physics_2d/broad_phase_2d_basic.cpp index e15f47a946..fbb32fbbf8 100644 --- a/servers/physics_2d/broad_phase_2d_basic.cpp +++ b/servers/physics_2d/broad_phase_2d_basic.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/broad_phase_2d_basic.h b/servers/physics_2d/broad_phase_2d_basic.h index 1e9a4280db..2e08f8990f 100644 --- a/servers/physics_2d/broad_phase_2d_basic.h +++ b/servers/physics_2d/broad_phase_2d_basic.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/broad_phase_2d_hash_grid.cpp b/servers/physics_2d/broad_phase_2d_hash_grid.cpp index db18995bee..0351f10764 100644 --- a/servers/physics_2d/broad_phase_2d_hash_grid.cpp +++ b/servers/physics_2d/broad_phase_2d_hash_grid.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/broad_phase_2d_hash_grid.h b/servers/physics_2d/broad_phase_2d_hash_grid.h index 8da72c5fe0..b7de3ef621 100644 --- a/servers/physics_2d/broad_phase_2d_hash_grid.h +++ b/servers/physics_2d/broad_phase_2d_hash_grid.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/broad_phase_2d_sw.cpp b/servers/physics_2d/broad_phase_2d_sw.cpp index d3840d570e..b8fc84b8ce 100644 --- a/servers/physics_2d/broad_phase_2d_sw.cpp +++ b/servers/physics_2d/broad_phase_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/broad_phase_2d_sw.h b/servers/physics_2d/broad_phase_2d_sw.h index 7e7fc7d1da..0e39c2766f 100644 --- a/servers/physics_2d/broad_phase_2d_sw.h +++ b/servers/physics_2d/broad_phase_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/collision_object_2d_sw.cpp b/servers/physics_2d/collision_object_2d_sw.cpp index b68fa14f4b..4d33a72a69 100644 --- a/servers/physics_2d/collision_object_2d_sw.cpp +++ b/servers/physics_2d/collision_object_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/collision_object_2d_sw.h b/servers/physics_2d/collision_object_2d_sw.h index 627ba8ea15..0ffdca21d3 100644 --- a/servers/physics_2d/collision_object_2d_sw.h +++ b/servers/physics_2d/collision_object_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/collision_solver_2d_sat.cpp b/servers/physics_2d/collision_solver_2d_sat.cpp index bf8478d0b1..fc7d9f7760 100644 --- a/servers/physics_2d/collision_solver_2d_sat.cpp +++ b/servers/physics_2d/collision_solver_2d_sat.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/collision_solver_2d_sat.h b/servers/physics_2d/collision_solver_2d_sat.h index 520083c5fa..939e3942f7 100644 --- a/servers/physics_2d/collision_solver_2d_sat.h +++ b/servers/physics_2d/collision_solver_2d_sat.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/collision_solver_2d_sw.cpp b/servers/physics_2d/collision_solver_2d_sw.cpp index d66b917bcd..1853c02288 100644 --- a/servers/physics_2d/collision_solver_2d_sw.cpp +++ b/servers/physics_2d/collision_solver_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/collision_solver_2d_sw.h b/servers/physics_2d/collision_solver_2d_sw.h index 9f3d348e91..866443cd7f 100644 --- a/servers/physics_2d/collision_solver_2d_sw.h +++ b/servers/physics_2d/collision_solver_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/constraint_2d_sw.h b/servers/physics_2d/constraint_2d_sw.h index 252d0ee9b4..1ddf0386be 100644 --- a/servers/physics_2d/constraint_2d_sw.h +++ b/servers/physics_2d/constraint_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/joints_2d_sw.cpp b/servers/physics_2d/joints_2d_sw.cpp index caeb62d74f..9865d375f0 100644 --- a/servers/physics_2d/joints_2d_sw.cpp +++ b/servers/physics_2d/joints_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/joints_2d_sw.h b/servers/physics_2d/joints_2d_sw.h index 0e5e8012b6..af66f408a7 100644 --- a/servers/physics_2d/joints_2d_sw.h +++ b/servers/physics_2d/joints_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/physics_2d_server_sw.cpp b/servers/physics_2d/physics_2d_server_sw.cpp index 475a3fe3b3..42b1cb8dda 100644 --- a/servers/physics_2d/physics_2d_server_sw.cpp +++ b/servers/physics_2d/physics_2d_server_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/physics_2d_server_sw.h b/servers/physics_2d/physics_2d_server_sw.h index 171a0b7a81..a4a4b2e582 100644 --- a/servers/physics_2d/physics_2d_server_sw.h +++ b/servers/physics_2d/physics_2d_server_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/physics_2d_server_wrap_mt.cpp b/servers/physics_2d/physics_2d_server_wrap_mt.cpp index 0e5bd82599..97e35e6d21 100644 --- a/servers/physics_2d/physics_2d_server_wrap_mt.cpp +++ b/servers/physics_2d/physics_2d_server_wrap_mt.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/physics_2d_server_wrap_mt.h b/servers/physics_2d/physics_2d_server_wrap_mt.h index cbc316cb7a..3b63871058 100644 --- a/servers/physics_2d/physics_2d_server_wrap_mt.h +++ b/servers/physics_2d/physics_2d_server_wrap_mt.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/shape_2d_sw.cpp b/servers/physics_2d/shape_2d_sw.cpp index 20d0d38b17..7f9ca11846 100644 --- a/servers/physics_2d/shape_2d_sw.cpp +++ b/servers/physics_2d/shape_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/shape_2d_sw.h b/servers/physics_2d/shape_2d_sw.h index 0128f7ee70..82179e0124 100644 --- a/servers/physics_2d/shape_2d_sw.h +++ b/servers/physics_2d/shape_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/space_2d_sw.cpp b/servers/physics_2d/space_2d_sw.cpp index 6de58cfbc0..687bb9e435 100644 --- a/servers/physics_2d/space_2d_sw.cpp +++ b/servers/physics_2d/space_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/space_2d_sw.h b/servers/physics_2d/space_2d_sw.h index f41a0dbeb1..9e1babf5f3 100644 --- a/servers/physics_2d/space_2d_sw.h +++ b/servers/physics_2d/space_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/step_2d_sw.cpp b/servers/physics_2d/step_2d_sw.cpp index 8d6adf004d..0ab57647b4 100644 --- a/servers/physics_2d/step_2d_sw.cpp +++ b/servers/physics_2d/step_2d_sw.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d/step_2d_sw.h b/servers/physics_2d/step_2d_sw.h index 41227d8e9a..bac654fc00 100644 --- a/servers/physics_2d/step_2d_sw.h +++ b/servers/physics_2d/step_2d_sw.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_2d_server.cpp b/servers/physics_2d_server.cpp index dc58cd36dd..0762dc5a8d 100644 --- a/servers/physics_2d_server.cpp +++ b/servers/physics_2d_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -654,6 +654,10 @@ void Physics2DServer::_bind_methods() { BIND_ENUM_CONSTANT(JOINT_GROOVE); BIND_ENUM_CONSTANT(JOINT_DAMPED_SPRING); + BIND_ENUM_CONSTANT(JOINT_PARAM_BIAS); + BIND_ENUM_CONSTANT(JOINT_PARAM_MAX_BIAS); + BIND_ENUM_CONSTANT(JOINT_PARAM_MAX_FORCE); + BIND_ENUM_CONSTANT(DAMPED_STRING_REST_LENGTH); BIND_ENUM_CONSTANT(DAMPED_STRING_STIFFNESS); BIND_ENUM_CONSTANT(DAMPED_STRING_DAMPING); diff --git a/servers/physics_2d_server.h b/servers/physics_2d_server.h index c57503f06e..017866ffe1 100644 --- a/servers/physics_2d_server.h +++ b/servers/physics_2d_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_server.cpp b/servers/physics_server.cpp index 2aef12f04c..db315e4324 100644 --- a/servers/physics_server.cpp +++ b/servers/physics_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/physics_server.h b/servers/physics_server.h index 341d02eb87..15e7c78be2 100644 --- a/servers/physics_server.h +++ b/servers/physics_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/register_server_types.cpp b/servers/register_server_types.cpp index 99493afc40..a318b76919 100644 --- a/servers/register_server_types.cpp +++ b/servers/register_server_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/register_server_types.h b/servers/register_server_types.h index e53626ca30..5fe97885d0 100644 --- a/servers/register_server_types.h +++ b/servers/register_server_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/server_wrap_mt_common.h b/servers/server_wrap_mt_common.h index 0416dc6762..4681dd46f0 100644 --- a/servers/server_wrap_mt_common.h +++ b/servers/server_wrap_mt_common.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/rasterizer.cpp b/servers/visual/rasterizer.cpp index fd594fa3ee..ea2b3cafb8 100644 --- a/servers/visual/rasterizer.cpp +++ b/servers/visual/rasterizer.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/rasterizer.h b/servers/visual/rasterizer.h index c5c225a40a..ba7c6f6a02 100644 --- a/servers/visual/rasterizer.h +++ b/servers/visual/rasterizer.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -473,6 +473,8 @@ public: virtual RID particles_create() = 0; virtual void particles_set_emitting(RID p_particles, bool p_emitting) = 0; + virtual bool particles_get_emitting(RID p_particles) = 0; + virtual void particles_set_amount(RID p_particles, int p_amount) = 0; virtual void particles_set_lifetime(RID p_particles, float p_lifetime) = 0; virtual void particles_set_one_shot(RID p_particles, bool p_one_shot) = 0; diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp index 834505df9a..1828cf8a4b 100644 --- a/servers/visual/shader_language.cpp +++ b/servers/visual/shader_language.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -334,6 +334,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() { while (true) { if (GETCHAR(0) == '\n') { + tk_line++; char_idx++; break; } diff --git a/servers/visual/shader_language.h b/servers/visual/shader_language.h index 4cf8560990..dfadfaa30a 100644 --- a/servers/visual/shader_language.h +++ b/servers/visual/shader_language.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/shader_types.cpp b/servers/visual/shader_types.cpp index a25c5ca65e..429282c10c 100644 --- a/servers/visual/shader_types.cpp +++ b/servers/visual/shader_types.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -109,7 +109,6 @@ ShaderTypes::ShaderTypes() { shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["DEPTH_TEXTURE"] = ShaderLanguage::TYPE_SAMPLER2D; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["SCREEN_UV"] = ShaderLanguage::TYPE_VEC2; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["POINT_COORD"] = constt(ShaderLanguage::TYPE_VEC2); - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["SIDE"] = constt(ShaderLanguage::TYPE_FLOAT); shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["ALPHA_SCISSOR"] = ShaderLanguage::TYPE_FLOAT; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["WORLD_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); diff --git a/servers/visual/shader_types.h b/servers/visual/shader_types.h index 725217ba2e..9f0fb8b572 100644 --- a/servers/visual/shader_types.h +++ b/servers/visual/shader_types.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_canvas.cpp b/servers/visual/visual_server_canvas.cpp index 532546c5fa..b163402a07 100644 --- a/servers/visual/visual_server_canvas.cpp +++ b/servers/visual/visual_server_canvas.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -102,9 +102,9 @@ void VisualServerCanvas::_render_canvas_item(Item *p_canvas_item, const Transfor } if (ci->z_relative) - p_z = CLAMP(p_z + ci->z, VS::CANVAS_ITEM_Z_MIN, VS::CANVAS_ITEM_Z_MAX); + p_z = CLAMP(p_z + ci->z_index, VS::CANVAS_ITEM_Z_MIN, VS::CANVAS_ITEM_Z_MAX); else - p_z = ci->z; + p_z = ci->z_index; for (int i = 0; i < child_item_count; i++) { @@ -805,14 +805,14 @@ void VisualServerCanvas::canvas_item_set_sort_children_by_y(RID p_item, bool p_e canvas_item->sort_y = p_enable; } -void VisualServerCanvas::canvas_item_set_z(RID p_item, int p_z) { +void VisualServerCanvas::canvas_item_set_z_index(RID p_item, int p_z) { ERR_FAIL_COND(p_z < VS::CANVAS_ITEM_Z_MIN || p_z > VS::CANVAS_ITEM_Z_MAX); Item *canvas_item = canvas_item_owner.getornull(p_item); ERR_FAIL_COND(!canvas_item); - canvas_item->z = p_z; + canvas_item->z_index = p_z; } void VisualServerCanvas::canvas_item_set_z_as_relative_to_parent(RID p_item, bool p_enable) { diff --git a/servers/visual/visual_server_canvas.h b/servers/visual/visual_server_canvas.h index 3143ac847f..320fc2fb0b 100644 --- a/servers/visual/visual_server_canvas.h +++ b/servers/visual/visual_server_canvas.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -39,7 +39,7 @@ public: RID parent; // canvas it belongs to List<Item *>::Element *E; - int z; + int z_index; bool z_relative; bool sort_y; Color modulate; @@ -53,7 +53,7 @@ public: Item() { children_order_dirty = true; E = NULL; - z = 0; + z_index = 0; modulate = Color(1, 1, 1, 1); self_modulate = Color(1, 1, 1, 1); sort_y = false; @@ -187,7 +187,7 @@ public: void canvas_item_add_set_transform(RID p_item, const Transform2D &p_transform); void canvas_item_add_clip_ignore(RID p_item, bool p_ignore); void canvas_item_set_sort_children_by_y(RID p_item, bool p_enable); - void canvas_item_set_z(RID p_item, int p_z); + void canvas_item_set_z_index(RID p_item, int p_z); void canvas_item_set_z_as_relative_to_parent(RID p_item, bool p_enable); void canvas_item_set_copy_to_backbuffer(RID p_item, bool p_enable, const Rect2 &p_rect); diff --git a/servers/visual/visual_server_global.cpp b/servers/visual/visual_server_global.cpp index 1c86fb0264..a4b2b5bae9 100644 --- a/servers/visual/visual_server_global.cpp +++ b/servers/visual/visual_server_global.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_global.h b/servers/visual/visual_server_global.h index c65abc75f8..7260cc6cd1 100644 --- a/servers/visual/visual_server_global.h +++ b/servers/visual/visual_server_global.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_light_baker.cpp b/servers/visual/visual_server_light_baker.cpp index 88a0c8166f..73353c8141 100644 --- a/servers/visual/visual_server_light_baker.cpp +++ b/servers/visual/visual_server_light_baker.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_light_baker.h b/servers/visual/visual_server_light_baker.h index 173dbd9e19..d22e50fc14 100644 --- a/servers/visual/visual_server_light_baker.h +++ b/servers/visual/visual_server_light_baker.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_raster.cpp b/servers/visual/visual_server_raster.cpp index 7bb7d04fcd..ee5b26a8a4 100644 --- a/servers/visual/visual_server_raster.cpp +++ b/servers/visual/visual_server_raster.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h index 716c1754e1..864ae81140 100644 --- a/servers/visual/visual_server_raster.h +++ b/servers/visual/visual_server_raster.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -384,6 +384,7 @@ public: BIND0R(RID, particles_create) BIND2(particles_set_emitting, RID, bool) + BIND1R(bool, particles_get_emitting, RID) BIND2(particles_set_amount, RID, int) BIND2(particles_set_lifetime, RID, float) BIND2(particles_set_one_shot, RID, bool) @@ -585,7 +586,7 @@ public: BIND2(canvas_item_add_set_transform, RID, const Transform2D &) BIND2(canvas_item_add_clip_ignore, RID, bool) BIND2(canvas_item_set_sort_children_by_y, RID, bool) - BIND2(canvas_item_set_z, RID, int) + BIND2(canvas_item_set_z_index, RID, int) BIND2(canvas_item_set_z_as_relative_to_parent, RID, bool) BIND3(canvas_item_set_copy_to_backbuffer, RID, bool, const Rect2 &) diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp index 22be2f6ff9..9866496083 100644 --- a/servers/visual/visual_server_scene.cpp +++ b/servers/visual/visual_server_scene.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_scene.h b/servers/visual/visual_server_scene.h index 689e06de93..fc57225f88 100644 --- a/servers/visual/visual_server_scene.h +++ b/servers/visual/visual_server_scene.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_viewport.cpp b/servers/visual/visual_server_viewport.cpp index fbf593f5b9..c1ee9e7847 100644 --- a/servers/visual/visual_server_viewport.cpp +++ b/servers/visual/visual_server_viewport.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_viewport.h b/servers/visual/visual_server_viewport.h index 8db6eda133..24904d37e9 100644 --- a/servers/visual/visual_server_viewport.h +++ b/servers/visual/visual_server_viewport.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_wrap_mt.cpp b/servers/visual/visual_server_wrap_mt.cpp index e55b7a9309..67b83b7618 100644 --- a/servers/visual/visual_server_wrap_mt.cpp +++ b/servers/visual/visual_server_wrap_mt.cpp @@ -5,7 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/servers/visual/visual_server_wrap_mt.h b/servers/visual/visual_server_wrap_mt.h index 0f24521f5d..276e445f4d 100644 --- a/servers/visual/visual_server_wrap_mt.h +++ b/servers/visual/visual_server_wrap_mt.h @@ -5,7 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -317,6 +318,7 @@ public: FUNCRID(particles) FUNC2(particles_set_emitting, RID, bool) + FUNC1R(bool, particles_get_emitting, RID) FUNC2(particles_set_amount, RID, int) FUNC2(particles_set_lifetime, RID, float) FUNC2(particles_set_one_shot, RID, bool) @@ -502,7 +504,7 @@ public: FUNC2(canvas_item_add_set_transform, RID, const Transform2D &) FUNC2(canvas_item_add_clip_ignore, RID, bool) FUNC2(canvas_item_set_sort_children_by_y, RID, bool) - FUNC2(canvas_item_set_z, RID, int) + FUNC2(canvas_item_set_z_index, RID, int) FUNC2(canvas_item_set_z_as_relative_to_parent, RID, bool) FUNC3(canvas_item_set_copy_to_backbuffer, RID, bool, const Rect2 &) diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp index 42ecb82a46..bf6d425fb9 100644 --- a/servers/visual_server.cpp +++ b/servers/visual_server.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -1611,7 +1611,7 @@ void VisualServer::_bind_methods() { ClassDB::bind_method(D_METHOD("canvas_item_add_set_transform", "item", "transform"), &VisualServer::canvas_item_add_set_transform); ClassDB::bind_method(D_METHOD("canvas_item_add_clip_ignore", "item", "ignore"), &VisualServer::canvas_item_add_clip_ignore); ClassDB::bind_method(D_METHOD("canvas_item_set_sort_children_by_y", "item", "enabled"), &VisualServer::canvas_item_set_sort_children_by_y); - ClassDB::bind_method(D_METHOD("canvas_item_set_z", "item", "z"), &VisualServer::canvas_item_set_z); + ClassDB::bind_method(D_METHOD("canvas_item_set_z_index", "item", "z_index"), &VisualServer::canvas_item_set_z_index); ClassDB::bind_method(D_METHOD("canvas_item_set_z_as_relative_to_parent", "item", "enabled"), &VisualServer::canvas_item_set_z_as_relative_to_parent); ClassDB::bind_method(D_METHOD("canvas_item_set_copy_to_backbuffer", "item", "enabled", "rect"), &VisualServer::canvas_item_set_copy_to_backbuffer); ClassDB::bind_method(D_METHOD("canvas_item_clear", "item"), &VisualServer::canvas_item_clear); diff --git a/servers/visual_server.h b/servers/visual_server.h index 23354c3d37..eb2c56cd3a 100644 --- a/servers/visual_server.h +++ b/servers/visual_server.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -504,6 +504,7 @@ public: virtual RID particles_create() = 0; virtual void particles_set_emitting(RID p_particles, bool p_emitting) = 0; + virtual bool particles_get_emitting(RID p_particles) = 0; virtual void particles_set_amount(RID p_particles, int p_amount) = 0; virtual void particles_set_lifetime(RID p_particles, float p_lifetime) = 0; virtual void particles_set_one_shot(RID p_particles, bool p_one_shot) = 0; @@ -846,7 +847,7 @@ public: virtual void canvas_item_add_set_transform(RID p_item, const Transform2D &p_transform) = 0; virtual void canvas_item_add_clip_ignore(RID p_item, bool p_ignore) = 0; virtual void canvas_item_set_sort_children_by_y(RID p_item, bool p_enable) = 0; - virtual void canvas_item_set_z(RID p_item, int p_z) = 0; + virtual void canvas_item_set_z_index(RID p_item, int p_z) = 0; virtual void canvas_item_set_z_as_relative_to_parent(RID p_item, bool p_enable) = 0; virtual void canvas_item_set_copy_to_backbuffer(RID p_item, bool p_enable, const Rect2 &p_rect) = 0; diff --git a/thirdparty/enet/enet/godot.h b/thirdparty/enet/enet/godot.h index 937c4fa60e..7e2be12b22 100644 --- a/thirdparty/enet/enet/godot.h +++ b/thirdparty/enet/enet/godot.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/thirdparty/enet/godot.cpp b/thirdparty/enet/godot.cpp index 2fc264345b..7813b70286 100644 --- a/thirdparty/enet/godot.cpp +++ b/thirdparty/enet/godot.cpp @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ +/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/thirdparty/thekla_atlas/godot-changes.patch b/thirdparty/thekla_atlas/godot-changes.patch new file mode 100644 index 0000000000..0e56403336 --- /dev/null +++ b/thirdparty/thekla_atlas/godot-changes.patch @@ -0,0 +1,154 @@ +diff --git a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp +index 5ce452c..11e635d 100644 +--- a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp ++++ b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp +@@ -142,9 +142,11 @@ AtlasPacker::AtlasPacker(Atlas * atlas) : m_atlas(atlas), m_bitmap(256, 256) + { + m_width = 0; + m_height = 0; +- +- m_debug_bitmap.allocate(256, 256); +- m_debug_bitmap.fill(Color32(0,0,0,0)); ++ ++ // -- GODOT start -- ++ //m_debug_bitmap.allocate(256, 256); ++ //m_debug_bitmap.fill(Color32(0,0,0,0)); ++ // -- GODOT end -- + } + + AtlasPacker::~AtlasPacker() +@@ -465,7 +467,11 @@ void AtlasPacker::packCharts(int quality, float texelsPerUnit, bool blockAligned + nvDebug("origin: %f %f\n", origin.x, origin.y); + nvDebug("majorAxis: %f %f\n", majorAxis.x, majorAxis.y); + nvDebug("minorAxis: %f %f\n", minorAxis.x, minorAxis.y); +- nvDebugBreak(); ++ // -- GODOT start -- ++ //nvDebugBreak(); ++ m_atlas->setFailed(); ++ return; ++ // -- GODOT end -- + } + //nvCheck(tmp.x >= 0 && tmp.y >= 0); + +@@ -597,8 +603,10 @@ void AtlasPacker::packCharts(int quality, float texelsPerUnit, bool blockAligned + m_bitmap.clearAll(); + if (approximateExtent > m_bitmap.width()) { + m_bitmap.resize(approximateExtent, approximateExtent, false); +- m_debug_bitmap.resize(approximateExtent, approximateExtent); +- m_debug_bitmap.fill(Color32(0,0,0,0)); ++ // -- GODOT start -- ++ //m_debug_bitmap.resize(approximateExtent, approximateExtent); ++ //m_debug_bitmap.fill(Color32(0,0,0,0)); ++ // -- GODOT end -- + } + + +@@ -680,20 +688,24 @@ void AtlasPacker::packCharts(int quality, float texelsPerUnit, bool blockAligned + { + //nvDebug("Resize bitmap (%d, %d).\n", nextPowerOfTwo(w), nextPowerOfTwo(h)); + m_bitmap.resize(nextPowerOfTwo(U32(w)), nextPowerOfTwo(U32(h)), false); +- m_debug_bitmap.resize(nextPowerOfTwo(U32(w)), nextPowerOfTwo(U32(h))); ++ // -- GODOT start -- ++ //m_debug_bitmap.resize(nextPowerOfTwo(U32(w)), nextPowerOfTwo(U32(h))); ++ // -- GODOT end -- + } + + //nvDebug("Add chart at (%d, %d).\n", best_x, best_y); + + addChart(&chart_bitmap, w, h, best_x, best_y, best_r, /*debugOutput=*/NULL); + ++ // -- GODOT start -- + // IC: Output chart again to debug bitmap. +- if (chart->isVertexMapped()) { ++ /*if (chart->isVertexMapped()) { + addChart(&chart_bitmap, w, h, best_x, best_y, best_r, &m_debug_bitmap); + } + else { + addChart(chart, w, h, best_x, best_y, best_r, &m_debug_bitmap); +- } ++ }*/ ++ // -- GODOT end -- + + //float best_angle = 2 * PI * best_r; + +@@ -842,8 +854,10 @@ void AtlasPacker::packCharts(int quality, float texelsPerUnit, bool blockAligned + nvCheck(isAligned(m_width, 4)); + nvCheck(isAligned(m_height, 4)); + +- m_debug_bitmap.resize(m_width, m_height); +- m_debug_bitmap.setFormat(Image::Format_ARGB); ++ // -- GODOT start -- ++ //m_debug_bitmap.resize(m_width, m_height); ++ //m_debug_bitmap.setFormat(Image::Format_ARGB); ++ // -- GODOT end -- + + #if DEBUG_OUTPUT + //outputDebugBitmap("debug_packer_final.tga", m_bitmap, w, h); +diff --git a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.h b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.h +index 2d305f3..845dbfb 100644 +--- a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.h ++++ b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.h +@@ -48,7 +48,9 @@ namespace nv + + Atlas * m_atlas; + BitMap m_bitmap; +- Image m_debug_bitmap; ++ // -- GODOT start -- ++ //Image m_debug_bitmap; ++ // -- GODOT end -- + RadixSort m_radix; + + uint m_width; +diff --git a/thirdparty/thekla_atlas/thekla/thekla_atlas.cpp b/thirdparty/thekla_atlas/thekla/thekla_atlas.cpp +index d6f0acc..de1953d 100644 +--- a/thirdparty/thekla_atlas/thekla/thekla_atlas.cpp ++++ b/thirdparty/thekla_atlas/thekla/thekla_atlas.cpp +@@ -2,6 +2,9 @@ + #include "thekla_atlas.h" + + #include <cfloat> ++// -- GODOT start -- ++#include <stdio.h> ++// -- GODOT end -- + + #include "nvmesh/halfedge/Edge.h" + #include "nvmesh/halfedge/Mesh.h" +@@ -112,6 +115,8 @@ static Atlas_Output_Mesh * mesh_atlas_to_output(const HalfEdge::Mesh * mesh, con + output->index_count = face_count * 3; + output->index_array = new int[face_count * 3]; + ++ // -- GODOT start -- ++ int face_ofs = 0; + // Set face indices. + for (int f = 0; f < face_count; f++) { + uint c = charts->faceChartAt(f); +@@ -121,14 +126,26 @@ static Atlas_Output_Mesh * mesh_atlas_to_output(const HalfEdge::Mesh * mesh, con + const Chart * chart = charts->chartAt(c); + nvDebugCheck(chart->faceAt(i) == f); + ++ if (i >= chart->chartMesh()->faceCount()) { ++ printf("WARNING: Faces may be missing in the final vertex, which could not be packed\n"); ++ continue; ++ } ++ + const HalfEdge::Face * face = chart->chartMesh()->faceAt(i); + const HalfEdge::Edge * edge = face->edge; + +- output->index_array[3*f+0] = vertexOffset + edge->vertex->id; +- output->index_array[3*f+1] = vertexOffset + edge->next->vertex->id; +- output->index_array[3*f+2] = vertexOffset + edge->next->next->vertex->id; ++ //output->index_array[3*f+0] = vertexOffset + edge->vertex->id; ++ //output->index_array[3*f+1] = vertexOffset + edge->next->vertex->id; ++ //output->index_array[3*f+2] = vertexOffset + edge->next->next->vertex->id; ++ output->index_array[3 * face_ofs + 0] = vertexOffset + edge->vertex->id; ++ output->index_array[3 * face_ofs + 1] = vertexOffset + edge->next->vertex->id; ++ output->index_array[3 * face_ofs + 2] = vertexOffset + edge->next->next->vertex->id; ++ face_ofs++; + } + ++ output->index_count = face_ofs * 3; ++ // -- GODOT end -- ++ + *error = Atlas_Error_Success; + output->atlas_width = w; + output->atlas_height = h; diff --git a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp index fd37b8c59c..11e635db17 100644 --- a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp +++ b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp @@ -467,7 +467,11 @@ void AtlasPacker::packCharts(int quality, float texelsPerUnit, bool blockAligned nvDebug("origin: %f %f\n", origin.x, origin.y); nvDebug("majorAxis: %f %f\n", majorAxis.x, majorAxis.y); nvDebug("minorAxis: %f %f\n", minorAxis.x, minorAxis.y); - nvDebugBreak(); + // -- GODOT start -- + //nvDebugBreak(); + m_atlas->setFailed(); + return; + // -- GODOT end -- } //nvCheck(tmp.x >= 0 && tmp.y >= 0); |