diff options
363 files changed, 4769 insertions, 4649 deletions
diff --git a/core/allocators.h b/core/allocators.h deleted file mode 100644 index 8d4af7a9fb..0000000000 --- a/core/allocators.h +++ /dev/null @@ -1,195 +0,0 @@ -/*************************************************************************/ -/* allocators.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifndef ALLOCATORS_H -#define ALLOCATORS_H - -#include "core/os/memory.h" - -template <int PREALLOC_COUNT = 64, int MAX_HANDS = 8> -class BalloonAllocator { - - enum { - - USED_FLAG = (1 << 30), - USED_MASK = USED_FLAG - 1 - }; - - struct Balloon { - - Balloon *next; - Balloon *prev; - uint32_t hand; - }; - - struct Hand { - - int used; - int allocated; - Balloon *first; - Balloon *last; - }; - - Hand hands[MAX_HANDS]; - -public: - void *alloc(size_t p_size) { - - size_t max = (1 << MAX_HANDS); - ERR_FAIL_COND_V(p_size > max, NULL); - - unsigned int hand = 0; - - while (p_size > (size_t)(1 << hand)) - ++hand; - - Hand &h = hands[hand]; - - if (h.used == h.allocated) { - - for (int i = 0; i < PREALLOC_COUNT; i++) { - - Balloon *b = (Balloon *)memalloc(sizeof(Balloon) + (1 << hand)); - b->hand = hand; - if (h.last) { - - b->prev = h.last; - h.last->next = b; - h.last = b; - } else { - - b->prev = NULL; - h.last = b; - h.first = b; - } - } - - h.last->next = NULL; - h.allocated += PREALLOC_COUNT; - } - - Balloon *pick = h.last; - - ERR_FAIL_COND_V((pick->hand & USED_FLAG), NULL); - - // remove last - h.last = h.last->prev; - h.last->next = NULL; - - pick->next = h.first; - h.first->prev = pick; - pick->prev = NULL; - h.first = pick; - h.used++; - pick->hand |= USED_FLAG; - - return (void *)(pick + 1); - } - - void free(void *p_ptr) { - - Balloon *b = (Balloon *)p_ptr; - b -= 1; - - ERR_FAIL_COND(!(b->hand & USED_FLAG)); - - b->hand = b->hand & USED_MASK; // not used - int hand = b->hand; - - Hand &h = hands[hand]; - - if (b == h.first) - h.first = b->next; - - if (b->prev) - b->prev->next = b->next; - if (b->next) - b->next->prev = b->prev; - - if (h.last != b) { - h.last->next = b; - b->prev = h.last; - b->next = NULL; - h.last = b; - } - - h.used--; - - if (h.used <= (h.allocated - (PREALLOC_COUNT * 2))) { // this is done to ensure no alloc/free is done constantly - - for (int i = 0; i < PREALLOC_COUNT; i++) { - ERR_CONTINUE(h.last->hand & USED_FLAG); - - Balloon *new_last = h.last->prev; - if (new_last) - new_last->next = NULL; - memfree(h.last); - h.last = new_last; - } - h.allocated -= PREALLOC_COUNT; - } - } - - BalloonAllocator() { - - for (int i = 0; i < MAX_HANDS; i++) { - - hands[i].allocated = 0; - hands[i].used = 0; - hands[i].first = NULL; - hands[i].last = NULL; - } - } - - void clear() { - - for (int i = 0; i < MAX_HANDS; i++) { - - while (hands[i].first) { - - Balloon *b = hands[i].first; - hands[i].first = b->next; - memfree(b); - } - - hands[i].allocated = 0; - hands[i].used = 0; - hands[i].first = NULL; - hands[i].last = NULL; - } - } - - ~BalloonAllocator() { - - clear(); - } -}; - -#endif // ALLOCATORS_H diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index f17d7372e2..f6828ea76a 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -225,8 +225,12 @@ int _OS::get_video_driver_count() const { return OS::get_singleton()->get_video_driver_count(); } -String _OS::get_video_driver_name(int p_driver) const { - return OS::get_singleton()->get_video_driver_name(p_driver); +String _OS::get_video_driver_name(VideoDriver p_driver) const { + return OS::get_singleton()->get_video_driver_name((int)p_driver); +} + +_OS::VideoDriver _OS::get_current_video_driver() const { + return (VideoDriver)OS::get_singleton()->get_current_video_driver(); } int _OS::get_audio_driver_count() const { @@ -1108,6 +1112,8 @@ void _OS::_bind_methods() { ClassDB::bind_method(D_METHOD("get_video_driver_count"), &_OS::get_video_driver_count); ClassDB::bind_method(D_METHOD("get_video_driver_name", "driver"), &_OS::get_video_driver_name); + ClassDB::bind_method(D_METHOD("get_current_video_driver"), &_OS::get_current_video_driver); + ClassDB::bind_method(D_METHOD("get_audio_driver_count"), &_OS::get_audio_driver_count); ClassDB::bind_method(D_METHOD("get_audio_driver_name", "driver"), &_OS::get_audio_driver_name); ClassDB::bind_method(D_METHOD("get_connected_midi_inputs"), &_OS::get_connected_midi_inputs); @@ -1276,6 +1282,9 @@ void _OS::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "window_position"), "set_window_position", "get_window_position"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "window_size"), "set_window_size", "get_window_size"); + BIND_ENUM_CONSTANT(VIDEO_DRIVER_GLES2); + BIND_ENUM_CONSTANT(VIDEO_DRIVER_GLES3); + BIND_ENUM_CONSTANT(DAY_SUNDAY); BIND_ENUM_CONSTANT(DAY_MONDAY); BIND_ENUM_CONSTANT(DAY_TUESDAY); diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 1c8b985d73..f3bc4644d8 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -103,6 +103,11 @@ protected: static _OS *singleton; public: + enum VideoDriver { + VIDEO_DRIVER_GLES3, + VIDEO_DRIVER_GLES2, + }; + enum PowerState { POWERSTATE_UNKNOWN, /**< cannot determine power status */ POWERSTATE_ON_BATTERY, /**< Not plugged in, running on the battery */ @@ -152,7 +157,8 @@ public: Array get_fullscreen_mode_list(int p_screen = 0) const; virtual int get_video_driver_count() const; - virtual String get_video_driver_name(int p_driver) const; + virtual String get_video_driver_name(VideoDriver p_driver) const; + virtual VideoDriver get_current_video_driver() const; virtual int get_audio_driver_count() const; virtual String get_audio_driver_name(int p_driver) const; @@ -355,6 +361,7 @@ public: _OS(); }; +VARIANT_ENUM_CAST(_OS::VideoDriver); VARIANT_ENUM_CAST(_OS::PowerState); VARIANT_ENUM_CAST(_OS::Weekday); VARIANT_ENUM_CAST(_OS::Month); diff --git a/core/command_queue_mt.cpp b/core/command_queue_mt.cpp index 36d4b0a32f..2bdf02295c 100644 --- a/core/command_queue_mt.cpp +++ b/core/command_queue_mt.cpp @@ -97,7 +97,7 @@ tryagain: return false; } - dealloc_ptr += (size >> 1) + sizeof(uint32_t); + dealloc_ptr += (size >> 1) + 8; return true; } @@ -107,6 +107,7 @@ CommandQueueMT::CommandQueueMT(bool p_sync) { write_ptr = 0; dealloc_ptr = 0; mutex = Mutex::create(); + command_mem = (uint8_t *)memalloc(COMMAND_MEM_SIZE); for (int i = 0; i < SYNC_SEMAPHORES; i++) { @@ -128,4 +129,5 @@ CommandQueueMT::~CommandQueueMT() { memdelete(sync_sems[i].sem); } + memfree(command_mem); } diff --git a/core/command_queue_mt.h b/core/command_queue_mt.h index 3fd660a3db..59eabd8786 100644 --- a/core/command_queue_mt.h +++ b/core/command_queue_mt.h @@ -36,6 +36,7 @@ #include "core/os/semaphore.h" #include "core/simple_type.h" #include "core/typedefs.h" + /** @author Juan Linietsky <reduzio@gmail.com> */ @@ -254,6 +255,7 @@ unlock(); \ if (sync) sync->post(); \ ss->sem->wait(); \ + ss->in_use = false; \ } #define CMD_SYNC_TYPE(N) CommandSync##N<T, M COMMA(N) COMMA_SEP_LIST(TYPE_ARG, N)> @@ -270,6 +272,7 @@ unlock(); \ if (sync) sync->post(); \ ss->sem->wait(); \ + ss->in_use = false; \ } #define MAX_CMD_PARAMS 13 @@ -295,7 +298,6 @@ class CommandQueueMT { virtual void post() { sync_sem->sem->post(); - sync_sem->in_use = false; } }; @@ -318,7 +320,7 @@ class CommandQueueMT { SYNC_SEMAPHORES = 8 }; - uint8_t command_mem[COMMAND_MEM_SIZE]; + uint8_t *command_mem; uint32_t read_ptr; uint32_t write_ptr; uint32_t dealloc_ptr; @@ -330,7 +332,7 @@ class CommandQueueMT { T *allocate() { // alloc size is size+T+safeguard - uint32_t alloc_size = sizeof(T) + sizeof(uint32_t); + uint32_t alloc_size = ((sizeof(T) + 8 - 1) & ~(8 - 1)) + 8; tryagain: @@ -360,7 +362,7 @@ class CommandQueueMT { } // if this happens, it's a bug - ERR_FAIL_COND_V((COMMAND_MEM_SIZE - write_ptr) < sizeof(uint32_t), NULL); + ERR_FAIL_COND_V((COMMAND_MEM_SIZE - write_ptr) < 8, NULL); // zero means, wrap to beginning uint32_t *p = (uint32_t *)&command_mem[write_ptr]; @@ -372,12 +374,13 @@ class CommandQueueMT { // Allocate the size and the 'in use' bit. // First bit used to mark if command is still in use (1) // or if it has been destroyed and can be deallocated (0). + uint32_t size = (sizeof(T) + 8 - 1) & ~(8 - 1); uint32_t *p = (uint32_t *)&command_mem[write_ptr]; - *p = (sizeof(T) << 1) | 1; - write_ptr += sizeof(uint32_t); + *p = (size << 1) | 1; + write_ptr += 8; // allocate the command T *cmd = memnew_placement(&command_mem[write_ptr], T); - write_ptr += sizeof(T); + write_ptr += size; return cmd; } @@ -415,7 +418,7 @@ class CommandQueueMT { goto tryagain; } - read_ptr += sizeof(uint32_t); + read_ptr += 8; CommandBase *cmd = reinterpret_cast<CommandBase *>(&command_mem[read_ptr]); diff --git a/core/core_string_names.h b/core/core_string_names.h index 1a837cdc2e..6fea40e1b2 100644 --- a/core/core_string_names.h +++ b/core/core_string_names.h @@ -31,7 +31,7 @@ #ifndef CORE_STRING_NAMES_H #define CORE_STRING_NAMES_H -#include "core/string_db.h" +#include "core/string_name.h" class CoreStringNames { diff --git a/core/engine.cpp b/core/engine.cpp index 4dba41853d..9607dedb3c 100644 --- a/core/engine.cpp +++ b/core/engine.cpp @@ -98,6 +98,7 @@ Dictionary Engine::get_version_info() const { #else dict["patch"] = 0; #endif + dict["hex"] = VERSION_HEX; dict["status"] = VERSION_STATUS; dict["build"] = VERSION_BUILD; dict["year"] = VERSION_YEAR; diff --git a/core/global_constants.h b/core/global_constants.h index 47c1a4dafc..c798a3b9bc 100644 --- a/core/global_constants.h +++ b/core/global_constants.h @@ -31,7 +31,7 @@ #ifndef GLOBAL_CONSTANTS_H #define GLOBAL_CONSTANTS_H -#include "core/string_db.h" +#include "core/string_name.h" class GlobalConstants { public: diff --git a/core/hashfuncs.h b/core/hashfuncs.h index 811ce6264e..07d78dcbde 100644 --- a/core/hashfuncs.h +++ b/core/hashfuncs.h @@ -34,7 +34,7 @@ #include "core/math/math_defs.h" #include "core/math/math_funcs.h" #include "core/node_path.h" -#include "core/string_db.h" +#include "core/string_name.h" #include "core/typedefs.h" #include "core/ustring.h" diff --git a/core/image.h b/core/image.h index b23f8cac46..872b84d565 100644 --- a/core/image.h +++ b/core/image.h @@ -32,8 +32,8 @@ #define IMAGE_H #include "core/color.h" -#include "core/dvector.h" #include "core/math/rect2.h" +#include "core/pool_vector.h" #include "core/resource.h" /** diff --git a/core/io/file_access_buffered.h b/core/io/file_access_buffered.h index 756045a674..4065d77c58 100644 --- a/core/io/file_access_buffered.h +++ b/core/io/file_access_buffered.h @@ -31,8 +31,8 @@ #ifndef FILE_ACCESS_BUFFERED_H #define FILE_ACCESS_BUFFERED_H -#include "core/dvector.h" #include "core/os/file_access.h" +#include "core/pool_vector.h" #include "core/ustring.h" class FileAccessBuffered : public FileAccess { diff --git a/core/io/file_access_buffered_fa.h b/core/io/file_access_buffered_fa.h index 5180f2344f..be960fbc25 100644 --- a/core/io/file_access_buffered_fa.h +++ b/core/io/file_access_buffered_fa.h @@ -54,7 +54,7 @@ class FileAccessBufferedFA : public FileAccessBuffered { cache.offset = p_offset; cache.buffer.resize(p_size); - // on dvector + // on PoolVector //PoolVector<uint8_t>::Write write = cache.buffer.write(); //f.get_buffer(write.ptrw(), p_size); diff --git a/core/io/http_client.cpp b/core/io/http_client.cpp index b3fd814870..b25b1934ff 100644 --- a/core/io/http_client.cpp +++ b/core/io/http_client.cpp @@ -426,11 +426,10 @@ Error HTTPClient::poll() { response_headers.clear(); response_num = RESPONSE_OK; - // Per the HTTP 1.1 spec, keep-alive is the default, but in practice - // it's safe to assume it only if the explicit header is found, allowing - // to handle body-up-to-EOF responses on naive servers; that's what Curl - // and browsers do - bool keep_alive = false; + // Per the HTTP 1.1 spec, keep-alive is the default. + // Not following that specification breaks standard implemetations. + // Broken web servers should be fixed. + bool keep_alive = true; for (int i = 0; i < responses.size(); i++) { @@ -447,8 +446,8 @@ Error HTTPClient::poll() { if (encoding == "chunked") { chunked = true; } - } else if (s.begins_with("connection: keep-alive")) { - keep_alive = true; + } else if (s.begins_with("connection: close")) { + keep_alive = false; } if (i == 0 && responses[i].begins_with("HTTP")) { diff --git a/core/io/resource_import.cpp b/core/io/resource_importer.cpp index 63dc0b6a26..9327e000f5 100644 --- a/core/io/resource_import.cpp +++ b/core/io/resource_importer.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* resource_import.cpp */ +/* resource_importer.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "resource_import.h" +#include "resource_importer.h" #include "core/os/os.h" #include "core/variant_parser.h" diff --git a/core/io/resource_import.h b/core/io/resource_importer.h index 96dd7983e6..32c39a8085 100644 --- a/core/io/resource_import.h +++ b/core/io/resource_importer.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* resource_import.h */ +/* resource_importer.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef RESOURCE_IMPORT_H -#define RESOURCE_IMPORT_H +#ifndef RESOURCE_IMPORTER_H +#define RESOURCE_IMPORTER_H #include "core/io/resource_loader.h" @@ -110,4 +110,4 @@ public: virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = NULL) = 0; }; -#endif // RESOURCE_IMPORT_H +#endif // RESOURCE_IMPORTER_H diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp index 02e4d8dc7a..10a32bae41 100644 --- a/core/io/resource_loader.cpp +++ b/core/io/resource_loader.cpp @@ -30,7 +30,7 @@ #include "resource_loader.h" -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" #include "core/os/file_access.h" #include "core/os/os.h" #include "core/path_remap.h" @@ -55,7 +55,7 @@ Error ResourceInteractiveLoader::wait() { ResourceInteractiveLoader::~ResourceInteractiveLoader() { if (path_loading != String()) { - ResourceLoader::_remove_from_loading_map(path_loading); + ResourceLoader::_remove_from_loading_map_and_thread(path_loading, path_loading_thread); } } @@ -293,10 +293,14 @@ bool ResourceLoader::_add_to_loading_map(const String &p_path) { loading_map_mutex->lock(); } - if (loading_map.has(p_path)) { + LoadingMapKey key; + key.path = p_path; + key.thread = Thread::get_caller_id(); + + if (loading_map.has(key)) { success = false; } else { - loading_map[p_path] = true; + loading_map[key] = true; success = true; } @@ -312,7 +316,27 @@ void ResourceLoader::_remove_from_loading_map(const String &p_path) { loading_map_mutex->lock(); } - loading_map.erase(p_path); + LoadingMapKey key; + key.path = p_path; + key.thread = Thread::get_caller_id(); + + loading_map.erase(key); + + if (loading_map_mutex) { + loading_map_mutex->unlock(); + } +} + +void ResourceLoader::_remove_from_loading_map_and_thread(const String &p_path, Thread::ID p_thread) { + if (loading_map_mutex) { + loading_map_mutex->lock(); + } + + LoadingMapKey key; + key.path = p_path; + key.thread = p_thread; + + loading_map.erase(key); if (loading_map_mutex) { loading_map_mutex->unlock(); @@ -471,6 +495,7 @@ Ref<ResourceInteractiveLoader> ResourceLoader::load_interactive(const String &p_ ril->resource = res_cached; ril->path_loading = local_path; + ril->path_loading_thread = Thread::get_caller_id(); return ril; } } @@ -499,6 +524,7 @@ Ref<ResourceInteractiveLoader> ResourceLoader::load_interactive(const String &p_ if (!p_no_cache) { ril->set_local_path(local_path); ril->path_loading = local_path; + ril->path_loading_thread = Thread::get_caller_id(); } if (xl_remapped) @@ -919,7 +945,7 @@ void ResourceLoader::remove_custom_loaders() { } Mutex *ResourceLoader::loading_map_mutex = NULL; -HashMap<String, int> ResourceLoader::loading_map; +HashMap<ResourceLoader::LoadingMapKey, int, ResourceLoader::LoadingMapKeyHasher> ResourceLoader::loading_map; void ResourceLoader::initialize() { #ifndef NO_THREADS @@ -929,9 +955,9 @@ void ResourceLoader::initialize() { void ResourceLoader::finalize() { #ifndef NO_THREADS - const String *K = NULL; + const LoadingMapKey *K = NULL; while ((K = loading_map.next(K))) { - ERR_PRINTS("Exited while resource is being loaded: " + *K); + ERR_PRINTS("Exited while resource is being loaded: " + K->path); } loading_map.clear(); memdelete(loading_map_mutex); diff --git a/core/io/resource_loader.h b/core/io/resource_loader.h index 622b74a998..70eb1a3de0 100644 --- a/core/io/resource_loader.h +++ b/core/io/resource_loader.h @@ -31,8 +31,8 @@ #ifndef RESOURCE_LOADER_H #define RESOURCE_LOADER_H +#include "core/os/thread.h" #include "core/resource.h" - /** @author Juan Linietsky <reduzio@gmail.com> */ @@ -42,6 +42,7 @@ class ResourceInteractiveLoader : public Reference { GDCLASS(ResourceInteractiveLoader, Reference); friend class ResourceLoader; String path_loading; + Thread::ID path_loading_thread; protected: static void _bind_methods(); @@ -121,10 +122,25 @@ class ResourceLoader { static Ref<ResourceFormatLoader> _find_custom_resource_format_loader(String path); static Mutex *loading_map_mutex; - static HashMap<String, int> loading_map; + + //used to track paths being loaded in a thread, avoids cyclic recursion + struct LoadingMapKey { + String path; + Thread::ID thread; + bool operator==(const LoadingMapKey &p_key) const { + return (thread == p_key.thread && path == p_key.path); + } + }; + struct LoadingMapKeyHasher { + + static _FORCE_INLINE_ uint32_t hash(const LoadingMapKey &p_key) { return p_key.path.hash() + HashMapHasherDefault::hash(p_key.thread); } + }; + + static HashMap<LoadingMapKey, int, LoadingMapKeyHasher> loading_map; static bool _add_to_loading_map(const String &p_path); static void _remove_from_loading_map(const String &p_path); + static void _remove_from_loading_map_and_thread(const String &p_path, Thread::ID p_thread); public: static Ref<ResourceInteractiveLoader> load_interactive(const String &p_path, const String &p_type_hint = "", bool p_no_cache = false, Error *r_error = NULL); diff --git a/core/list.h b/core/list.h index dd4ea3bd89..c26aad6463 100644 --- a/core/list.h +++ b/core/list.h @@ -32,7 +32,7 @@ #define GLOBALS_LIST_H #include "core/os/memory.h" -#include "core/sort.h" +#include "core/sort_array.h" /** * Generic Templatized Linked List Implementation. diff --git a/core/math/bsp_tree.h b/core/math/bsp_tree.h index 0af532a2d5..a7a3697990 100644 --- a/core/math/bsp_tree.h +++ b/core/math/bsp_tree.h @@ -31,11 +31,11 @@ #ifndef BSP_TREE_H #define BSP_TREE_H -#include "core/dvector.h" #include "core/math/aabb.h" #include "core/math/face3.h" #include "core/math/plane.h" #include "core/method_ptrcall.h" +#include "core/pool_vector.h" #include "core/variant.h" #include "core/vector.h" /** diff --git a/core/math/geometry.h b/core/math/geometry.h index 29493516b8..f927a63ed5 100644 --- a/core/math/geometry.h +++ b/core/math/geometry.h @@ -31,12 +31,12 @@ #ifndef GEOMETRY_H #define GEOMETRY_H -#include "core/dvector.h" #include "core/math/face3.h" #include "core/math/rect2.h" #include "core/math/triangulate.h" #include "core/math/vector3.h" #include "core/object.h" +#include "core/pool_vector.h" #include "core/print_string.h" #include "core/vector.h" diff --git a/core/math/math_funcs.h b/core/math/math_funcs.h index ea0bfd88cc..629002ced6 100644 --- a/core/math/math_funcs.h +++ b/core/math/math_funcs.h @@ -242,8 +242,8 @@ public: static void randomize(); static uint32_t rand_from_seed(uint64_t *seed); static uint32_t rand(); - static _ALWAYS_INLINE_ double randf() { return (double)rand() / (double)Math::RANDOM_MAX; } - static _ALWAYS_INLINE_ float randd() { return (float)rand() / (float)Math::RANDOM_MAX; } + static _ALWAYS_INLINE_ double randd() { return (double)rand() / (double)Math::RANDOM_MAX; } + static _ALWAYS_INLINE_ float randf() { return (float)rand() / (float)Math::RANDOM_MAX; } static double random(double from, double to); static float random(float from, float to); diff --git a/core/math/random_pcg.h b/core/math/random_pcg.h index ef69bf7120..2a69d43904 100644 --- a/core/math/random_pcg.h +++ b/core/math/random_pcg.h @@ -45,7 +45,10 @@ public: RandomPCG(uint64_t seed = DEFAULT_SEED, uint64_t inc = PCG_DEFAULT_INC_64); - _FORCE_INLINE_ void seed(uint64_t seed) { pcg.state = seed; } + _FORCE_INLINE_ void seed(uint64_t seed) { + pcg.state = seed; + pcg32_random_r(&pcg); // Force changing internal state to avoid initial 0 + } _FORCE_INLINE_ uint64_t get_seed() { return pcg.state; } void randomize(); diff --git a/core/math/triangle_mesh.cpp b/core/math/triangle_mesh.cpp index cdf3d16b72..83784a1fa7 100644 --- a/core/math/triangle_mesh.cpp +++ b/core/math/triangle_mesh.cpp @@ -30,7 +30,7 @@ #include "triangle_mesh.h" -#include "core/sort.h" +#include "core/sort_array.h" int TriangleMesh::_create_bvh(BVH *p_bvh, BVH **p_bb, int p_from, int p_size, int p_depth, int &max_depth, int &max_alloc) { diff --git a/core/node_path.h b/core/node_path.h index 17b1435723..24725123d6 100644 --- a/core/node_path.h +++ b/core/node_path.h @@ -31,7 +31,7 @@ #ifndef NODE_PATH_H #define NODE_PATH_H -#include "core/string_db.h" +#include "core/string_name.h" #include "core/ustring.h" /** diff --git a/core/object.cpp b/core/object.cpp index b30ae1f512..54a9bb0d7c 100644 --- a/core/object.cpp +++ b/core/object.cpp @@ -1247,7 +1247,7 @@ Error Object::emit_signal(const StringName &p_name, const Variant **p_args, int bool disconnect = c.flags & CONNECT_ONESHOT; #ifdef TOOLS_ENABLED if (disconnect && (c.flags & CONNECT_PERSIST) && Engine::get_singleton()->is_editor_hint()) { - //this signal was connected from the editor, and is being edited. just dont disconnect for now + //this signal was connected from the editor, and is being edited. just don't disconnect for now disconnect = false; } #endif diff --git a/core/os/input_event.cpp b/core/os/input_event.cpp index 1e0e83c8d2..24ec8a1963 100644 --- a/core/os/input_event.cpp +++ b/core/os/input_event.cpp @@ -749,6 +749,15 @@ bool InputEventJoypadButton::action_match(const Ref<InputEvent> &p_event, bool * return match; } +bool InputEventJoypadButton::shortcut_match(const Ref<InputEvent> &p_event) const { + + Ref<InputEventJoypadButton> button = p_event; + if (button.is_null()) + return false; + + return button_index == button->button_index; +} + String InputEventJoypadButton::as_text() const { return "InputEventJoypadButton : button_index=" + itos(button_index) + ", pressed=" + (pressed ? "true" : "false") + ", pressure=" + String(Variant(pressure)); @@ -950,11 +959,10 @@ bool InputEventAction::is_pressed() const { } bool InputEventAction::shortcut_match(const Ref<InputEvent> &p_event) const { - Ref<InputEventKey> event = p_event; - if (event.is_null()) + if (p_event.is_null()) return false; - return event->is_action(action); + return p_event->is_action(action); } bool InputEventAction::is_action(const StringName &p_action) const { diff --git a/core/os/input_event.h b/core/os/input_event.h index db31055b5f..a6a7012298 100644 --- a/core/os/input_event.h +++ b/core/os/input_event.h @@ -400,6 +400,7 @@ public: float get_pressure() const; virtual bool action_match(const Ref<InputEvent> &p_event, bool *p_pressed, float *p_strength, float p_deadzone) const; + virtual bool shortcut_match(const Ref<InputEvent> &p_event) const; virtual bool is_action_type() const { return true; } virtual String as_text() const; diff --git a/core/os/shell.cpp b/core/os/shell.cpp deleted file mode 100644 index a859241cb6..0000000000 --- a/core/os/shell.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************/ -/* shell.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#include "shell.h" - -Shell *Shell::singleton = NULL; - -Shell *Shell::get_singleton() { - - return singleton; -} - -Shell::~Shell() { -} - -Shell::Shell() { - - singleton = this; -} diff --git a/core/os/shell.h b/core/os/shell.h deleted file mode 100644 index c1bd995b5b..0000000000 --- a/core/os/shell.h +++ /dev/null @@ -1,52 +0,0 @@ -/*************************************************************************/ -/* shell.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifndef SHELL_H -#define SHELL_H - -#include "core/typedefs.h" -#include "core/ustring.h" - -/** - @author Juan Linietsky <reduzio@gmail.com> -*/ -class Shell { - - static Shell *singleton; - -public: - static Shell *get_singleton(); - virtual void execute(String p_path) = 0; - - Shell(); - virtual ~Shell(); -}; - -#endif diff --git a/core/dvector.cpp b/core/pool_vector.cpp index 592c3c053d..b9d2316315 100644 --- a/core/dvector.cpp +++ b/core/pool_vector.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* dvector.cpp */ +/* pool_vector.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,9 +28,9 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "dvector.h" +#include "pool_vector.h" -Mutex *dvector_lock = NULL; +Mutex *pool_vector_lock = NULL; PoolAllocator *MemoryPool::memory_pool = NULL; uint8_t *MemoryPool::pool_memory = NULL; diff --git a/core/dvector.h b/core/pool_vector.h index fc962b4940..102a620f17 100644 --- a/core/dvector.h +++ b/core/pool_vector.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* dvector.h */ +/* pool_vector.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef DVECTOR_H -#define DVECTOR_H +#ifndef POOL_VECTOR_H +#define POOL_VECTOR_H #include "core/os/copymem.h" #include "core/os/memory.h" @@ -188,19 +188,19 @@ class PoolVector { } } - void _reference(const PoolVector &p_dvector) { + void _reference(const PoolVector &p_pool_vector) { - if (alloc == p_dvector.alloc) + if (alloc == p_pool_vector.alloc) return; _unreference(); - if (!p_dvector.alloc) { + if (!p_pool_vector.alloc) { return; } - if (p_dvector.alloc->refcount.ref()) { - alloc = p_dvector.alloc; + if (p_pool_vector.alloc->refcount.ref()) { + alloc = p_pool_vector.alloc; } } @@ -460,11 +460,11 @@ public: void invert(); - void operator=(const PoolVector &p_dvector) { _reference(p_dvector); } + void operator=(const PoolVector &p_pool_vector) { _reference(p_pool_vector); } PoolVector() { alloc = NULL; } - PoolVector(const PoolVector &p_dvector) { + PoolVector(const PoolVector &p_pool_vector) { alloc = NULL; - _reference(p_dvector); + _reference(p_pool_vector); } ~PoolVector() { _unreference(); } }; @@ -640,4 +640,4 @@ void PoolVector<T>::invert() { } } -#endif +#endif // POOL_VECTOR_H diff --git a/core/register_core_types.cpp b/core/register_core_types.cpp index 60c2778603..97c96b4018 100644 --- a/core/register_core_types.cpp +++ b/core/register_core_types.cpp @@ -47,7 +47,7 @@ #include "core/io/packet_peer_udp.h" #include "core/io/pck_packer.h" #include "core/io/resource_format_binary.h" -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" #include "core/io/stream_peer_ssl.h" #include "core/io/tcp_server.h" #include "core/io/translation_loader_po.h" diff --git a/core/sort.h b/core/sort_array.h index 4da7c323c7..0f258aec3e 100644 --- a/core/sort.h +++ b/core/sort_array.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* sort.h */ +/* sort_array.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef SORT_H -#define SORT_H +#ifndef SORT_ARRAY_H +#define SORT_ARRAY_H #include "core/typedefs.h" @@ -327,4 +327,4 @@ public: } }; -#endif +#endif // SORT_ARRAY_H diff --git a/core/string_db.cpp b/core/string_name.cpp index c776c56023..10b71ad3ac 100644 --- a/core/string_db.cpp +++ b/core/string_name.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* string_db.cpp */ +/* string_name.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "string_db.h" +#include "string_name.h" #include "core/os/os.h" #include "core/print_string.h" diff --git a/core/string_db.h b/core/string_name.h index 06b24c28da..0984b0181f 100644 --- a/core/string_db.h +++ b/core/string_name.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* string_db.h */ +/* string_name.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef STRING_DB_H -#define STRING_DB_H +#ifndef STRING_NAME_H +#define STRING_NAME_H #include "core/os/mutex.h" #include "core/safe_refcount.h" @@ -169,4 +169,4 @@ public: StringName _scs_create(const char *p_chr); -#endif +#endif // STRING_NAME_H diff --git a/core/undo_redo.cpp b/core/undo_redo.cpp index 6bc882eaec..00894b41d8 100644 --- a/core/undo_redo.cpp +++ b/core/undo_redo.cpp @@ -234,7 +234,9 @@ void UndoRedo::_pop_history_tail() { } actions.remove(0); - current_action--; + if (current_action >= 0) { + current_action--; + } } void UndoRedo::commit_action() { @@ -258,11 +260,8 @@ void UndoRedo::_process_operation_list(List<Operation>::Element *E) { Operation &op = E->get(); Object *obj = ObjectDB::get_instance(op.object); - if (!obj) { - //corruption - clear_history(); - ERR_FAIL_COND(!obj); - } + if (!obj) //may have been deleted and this is fine + continue; switch (op.type) { diff --git a/core/variant.h b/core/variant.h index 6ddaf17406..a819ba1f8c 100644 --- a/core/variant.h +++ b/core/variant.h @@ -38,7 +38,6 @@ #include "core/array.h" #include "core/color.h" #include "core/dictionary.h" -#include "core/dvector.h" #include "core/io/ip_address.h" #include "core/math/aabb.h" #include "core/math/basis.h" @@ -49,6 +48,7 @@ #include "core/math/transform_2d.h" #include "core/math/vector3.h" #include "core/node_path.h" +#include "core/pool_vector.h" #include "core/ref_ptr.h" #include "core/rid.h" #include "core/ustring.h" diff --git a/core/variant_construct_string.cpp b/core/variant_construct_string.cpp deleted file mode 100644 index 2cb7481634..0000000000 --- a/core/variant_construct_string.cpp +++ /dev/null @@ -1,438 +0,0 @@ -/*************************************************************************/ -/* variant_construct_string.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#include "variant.h" - -class VariantConstruct { - - enum TokenType { - TK_CURLY_BRACKET_OPEN, - TK_CURLY_BRACKET_CLOSE, - TK_BRACKET_OPEN, - TK_BRACKET_CLOSE, - TK_IDENTIFIER, - TK_STRING, - TK_NUMBER, - TK_COLON, - TK_COMMA, - TK_EOF, - TK_MAX - }; - - enum Expecting { - - EXPECT_OBJECT, - EXPECT_OBJECT_KEY, - EXPECT_COLON, - EXPECT_OBJECT_VALUE, - }; - - struct Token { - - TokenType type; - Variant value; - }; - - static const char *tk_name[TK_MAX]; - - static String _print_var(const Variant &p_var); - - static Error _get_token(const CharType *p_str, int &index, int p_len, Token &r_token, int &line, String &r_err_str); - static Error _parse_value(Variant &value, Token &token, const CharType *p_str, int &index, int p_len, int &line, String &r_err_str, Variant::ObjectConstruct *p_construct, void *p_ud); - static Error _parse_array(Array &array, const CharType *p_str, int &index, int p_len, int &line, String &r_err_str, Variant::ObjectConstruct *p_construct, void *p_ud); - static Error _parse_dict(Dictionary &dict, const CharType *p_str, int &index, int p_len, int &line, String &r_err_str, Variant::ObjectConstruct *p_construct, void *p_ud); - -public: - static Error parse(const String &p_string, Variant &r_ret, String &r_err_str, int &r_err_line, Variant::ObjectConstruct *p_construct, void *p_ud); -}; - -const char *VariantConstruct::tk_name[TK_MAX] = { - "'{'", - "'}'", - "'['", - "']'", - "identifier", - "string", - "number", - "':'", - "','", - "EOF", -}; - -Error VariantConstruct::_get_token(const CharType *p_str, int &index, int p_len, Token &r_token, int &line, String &r_err_str) { - - while (true) { - switch (p_str[index]) { - - case '\n': { - - line++; - index++; - break; - }; - case 0: { - r_token.type = TK_EOF; - return OK; - } break; - case '{': { - - r_token.type = TK_CURLY_BRACKET_OPEN; - index++; - return OK; - }; - case '}': { - - r_token.type = TK_CURLY_BRACKET_CLOSE; - index++; - return OK; - }; - case '[': { - - r_token.type = TK_BRACKET_OPEN; - index++; - return OK; - }; - case ']': { - - r_token.type = TK_BRACKET_CLOSE; - index++; - return OK; - }; - case ':': { - - r_token.type = TK_COLON; - index++; - return OK; - }; - case ',': { - - r_token.type = TK_COMMA; - index++; - return OK; - }; - case '"': { - - index++; - String str; - while (true) { - if (p_str[index] == 0) { - r_err_str = "Unterminated String"; - return ERR_PARSE_ERROR; - } else if (p_str[index] == '"') { - index++; - break; - } else if (p_str[index] == '\\') { - //escaped characters... - index++; - CharType next = p_str[index]; - if (next == 0) { - r_err_str = "Unterminated String"; - return ERR_PARSE_ERROR; - } - CharType res = 0; - - switch (next) { - - case 'b': res = 8; break; - case 't': res = 9; break; - case 'n': res = 10; break; - case 'f': res = 12; break; - case 'r': res = 13; break; - case '\"': res = '\"'; break; - case '\\': res = '\\'; break; - case '/': res = '/'; break; - case 'u': { - //hexnumbarh - oct is deprecated - - for (int j = 0; j < 4; j++) { - CharType c = p_str[index + j + 1]; - if (c == 0) { - r_err_str = "Unterminated String"; - return ERR_PARSE_ERROR; - } - if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'))) { - - r_err_str = "Malformed hex constant in string"; - return ERR_PARSE_ERROR; - } - CharType v; - if (c >= '0' && c <= '9') { - v = c - '0'; - } else if (c >= 'a' && c <= 'f') { - v = c - 'a'; - v += 10; - } else if (c >= 'A' && c <= 'F') { - v = c - 'A'; - v += 10; - } else { - ERR_PRINT("BUG"); - v = 0; - } - - res <<= 4; - res |= v; - } - index += 4; //will add at the end anyway - - } break; - default: { - - r_err_str = "Invalid escape sequence"; - return ERR_PARSE_ERROR; - } break; - } - - str += res; - - } else { - if (p_str[index] == '\n') - line++; - str += p_str[index]; - } - index++; - } - - r_token.type = TK_STRING; - r_token.value = str; - return OK; - - } break; - default: { - - if (p_str[index] <= 32) { - index++; - break; - } - - if (p_str[index] == '-' || (p_str[index] >= '0' && p_str[index] <= '9')) { - //a number - const CharType *rptr; - double number = String::to_double(&p_str[index], &rptr); - index += (rptr - &p_str[index]); - r_token.type = TK_NUMBER; - r_token.value = number; - return OK; - - } else if ((p_str[index] >= 'A' && p_str[index] <= 'Z') || (p_str[index] >= 'a' && p_str[index] <= 'z')) { - - String id; - - while ((p_str[index] >= 'A' && p_str[index] <= 'Z') || (p_str[index] >= 'a' && p_str[index] <= 'z')) { - - id += p_str[index]; - index++; - } - - r_token.type = TK_IDENTIFIER; - r_token.value = id; - return OK; - } else { - r_err_str = "Unexpected character."; - return ERR_PARSE_ERROR; - } - } - } - } - - return ERR_PARSE_ERROR; -} - -Error VariantConstruct::_parse_value(Variant &value, Token &token, const CharType *p_str, int &index, int p_len, int &line, String &r_err_str, Variant::ObjectConstruct *p_construct, void *p_ud) { - - if (token.type == TK_CURLY_BRACKET_OPEN) { - - Dictionary d; - Error err = _parse_dict(d, p_str, index, p_len, line, r_err_str, p_construct, p_ud); - if (err) - return err; - value = d; - return OK; - } else if (token.type == TK_BRACKET_OPEN) { - - Array a; - Error err = _parse_array(a, p_str, index, p_len, line, r_err_str, p_construct, p_ud); - if (err) - return err; - value = a; - return OK; - - } else if (token.type == TK_IDENTIFIER) { - - String id = token.value; - if (id == "true") - value = true; - else if (id == "false") - value = false; - else if (id == "null") - value = Variant(); - else { - r_err_str = "Expected 'true','false' or 'null', got '" + id + "'."; - return ERR_PARSE_ERROR; - } - return OK; - - } else if (token.type == TK_NUMBER) { - - value = token.value; - return OK; - } else if (token.type == TK_STRING) { - - value = token.value; - return OK; - } else { - r_err_str = "Expected value, got " + String(tk_name[token.type]) + "."; - return ERR_PARSE_ERROR; - } - - return ERR_PARSE_ERROR; -} - -Error VariantConstruct::_parse_array(Array &array, const CharType *p_str, int &index, int p_len, int &line, String &r_err_str, Variant::ObjectConstruct *p_construct, void *p_ud) { - - Token token; - bool need_comma = false; - - while (index < p_len) { - - Error err = _get_token(p_str, index, p_len, token, line, r_err_str); - if (err != OK) - return err; - - if (token.type == TK_BRACKET_CLOSE) { - - return OK; - } - - if (need_comma) { - - if (token.type != TK_COMMA) { - - r_err_str = "Expected ','"; - return ERR_PARSE_ERROR; - } else { - need_comma = false; - continue; - } - } - - Variant v; - err = _parse_value(v, token, p_str, index, p_len, line, r_err_str, p_construct, p_ud); - if (err) - return err; - - array.push_back(v); - need_comma = true; - } - - return OK; -} - -Error VariantConstruct::_parse_dict(Dictionary &dict, const CharType *p_str, int &index, int p_len, int &line, String &r_err_str, Variant::ObjectConstruct *p_construct, void *p_ud) { - - bool at_key = true; - Variant key; - Token token; - bool need_comma = false; - - while (index < p_len) { - - if (at_key) { - - Error err = _get_token(p_str, index, p_len, token, line, r_err_str); - if (err != OK) - return err; - - if (token.type == TK_CURLY_BRACKET_CLOSE) { - - return OK; - } - - if (need_comma) { - - if (token.type != TK_COMMA) { - - r_err_str = "Expected '}' or ','"; - return ERR_PARSE_ERROR; - } else { - need_comma = false; - continue; - } - } - - err = _parse_value(key, token, p_str, index, p_len, line, r_err_str, p_construct, p_ud); - - if (err != OK) - return err; - - err = _get_token(p_str, index, p_len, token, line, r_err_str); - - if (err != OK) - return err; - - if (token.type != TK_COLON) { - - r_err_str = "Expected ':'"; - return ERR_PARSE_ERROR; - } - at_key = false; - } else { - - Error err = _get_token(p_str, index, p_len, token, line, r_err_str); - if (err != OK) - return err; - - Variant v; - err = _parse_value(v, token, p_str, index, p_len, line, r_err_str, p_construct, p_ud); - if (err) - return err; - dict[key] = v; - need_comma = true; - at_key = true; - } - } - - return OK; -} - -Error VariantConstruct::parse(const String &p_string, Variant &r_ret, String &r_err_str, int &r_err_line, Variant::ObjectConstruct *p_construct, void *p_ud) { - - const CharType *str = p_string.ptr(); - int idx = 0; - int len = p_string.length(); - Token token; - r_err_line = 0; - String aux_key; - - Error err = _get_token(str, idx, len, token, r_err_line, r_err_str); - if (err) - return err; - - return _parse_value(r_ret, token, str, idx, len, r_err_line, r_err_str, p_construct, p_ud); -} diff --git a/core/vector.h b/core/vector.h index 90b3d90826..93ee003519 100644 --- a/core/vector.h +++ b/core/vector.h @@ -40,7 +40,7 @@ #include "core/cowdata.h" #include "core/error_macros.h" #include "core/os/memory.h" -#include "core/sort.h" +#include "core/sort_array.h" template <class T> class VectorWriteProxy { diff --git a/core/version.h b/core/version.h index 46eecf6125..05fec9d0a6 100644 --- a/core/version.h +++ b/core/version.h @@ -41,9 +41,14 @@ #ifdef VERSION_PATCH // Example: "3.1.4" #define VERSION_NUMBER "" VERSION_BRANCH "." _MKSTR(VERSION_PATCH) +// Version number encoded as hexadecimal int with one byte for each number, +// for easy comparison from code. +// Example: 3.1.4 will be 0x030104, making comparison easy from script. +#define VERSION_HEX 0x10000 * VERSION_MAJOR + 0x100 * VERSION_MINOR + VERSION_PATCH #else // Example: "3.1" #define VERSION_NUMBER "" VERSION_BRANCH +#define VERSION_HEX 0x10000 * VERSION_MAJOR + 0x100 * VERSION_MINOR #endif // VERSION_PATCH // Describes the full configuration of that Godot version, including the version number, diff --git a/doc/classes/@GDScript.xml b/doc/classes/@GDScript.xml index 072eec800f..a7b58352cc 100644 --- a/doc/classes/@GDScript.xml +++ b/doc/classes/@GDScript.xml @@ -828,7 +828,7 @@ <return type="float"> </return> <description> - Returns a random floating point value between 0 and 1. + Returns a random floating point value on the interval [code][0, 1][/code]. [codeblock] randf() # returns 0.375671 [/codeblock] @@ -838,7 +838,7 @@ <return type="int"> </return> <description> - Returns a random 32 bit integer. Use remainder to obtain a random value between 0 and N (where N is smaller than 2^32 -1). + Returns a random 32 bit integer. Use remainder to obtain a random value in the interval [code][0, N][/code] (where N is smaller than 2^32 -1). [codeblock] randi() % 20 # returns random number between 0 and 19 randi() % 100 # returns random number between 0 and 99 diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml index a7cae709a4..eaaa64d53d 100644 --- a/doc/classes/Animation.xml +++ b/doc/classes/Animation.xml @@ -648,6 +648,12 @@ The animation step value. </member> </members> + <signals> + <signal name="tracks_changed"> + <description> + </description> + </signal> + </signals> <constants> <constant name="TYPE_VALUE" value="0" enum="TrackType"> Value tracks set values in node properties, but only those which can be Interpolated. diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml index 499da4b8a3..9d68102952 100644 --- a/doc/classes/AnimationPlayer.xml +++ b/doc/classes/AnimationPlayer.xml @@ -145,6 +145,7 @@ </argument> <description> Play the animation with key [code]name[/code]. Custom speed and blend times can be set. If custom speed is negative (-1), 'from_end' being true can play the animation backwards. + If the animation has been paused by [code]stop(true)[/code] it will be resumed. Calling [code]play()[/code] without arguments will also resume the animation. </description> </method> <method name="play_backwards"> @@ -156,6 +157,7 @@ </argument> <description> Play the animation with key [code]name[/code] in reverse. + If the animation has been paused by [code]stop(true)[/code] it will be resumed backwards. Calling [code]play_backwards()[/code] without arguments will also resume the animation backwards. </description> </method> <method name="queue"> @@ -217,7 +219,8 @@ <argument index="0" name="reset" type="bool" default="true"> </argument> <description> - Stop the currently playing animation. If [code]reset[/code] is [code]true[/code], the anim position is reset to [code]0[/code]. + Stop the currently playing animation. If [code]reset[/code] is [code]true[/code], the animation position is reset to [code]0[/code] and the playback speed is reset to [code]1.0[/code]. + If [code]reset[/code] is [code]false[/code], then calling [code]play()[/code] without arguments or [code]play("same_as_before")[/code] will resume the animation. Works the same for the [code]play_backwards()[/code] method. </description> </method> </methods> diff --git a/doc/classes/AudioBusLayout.xml b/doc/classes/AudioBusLayout.xml index c43da3e233..f122906167 100644 --- a/doc/classes/AudioBusLayout.xml +++ b/doc/classes/AudioBusLayout.xml @@ -4,7 +4,7 @@ Stores information about the audiobusses. </brief_description> <description> - Stores position, muting, solo, bypass, effects, effect position, volume, and the connections between busses. See [AudioServer] for usage. + Stores position, muting, solo, bypass, effects, effect position, volume, and the connections between buses. See [AudioServer] for usage. </description> <tutorials> </tutorials> diff --git a/doc/classes/AudioServer.xml b/doc/classes/AudioServer.xml index 96f02137cf..eb3c7cb3b4 100644 --- a/doc/classes/AudioServer.xml +++ b/doc/classes/AudioServer.xml @@ -58,7 +58,7 @@ <return type="AudioBusLayout"> </return> <description> - Generates an [AudioBusLayout] using the available busses and effects. + Generates an [AudioBusLayout] using the available buses and effects. </description> </method> <method name="get_bus_channels" qualifiers="const"> @@ -74,7 +74,7 @@ <return type="int"> </return> <description> - Returns the number of available busses. + Returns the number of available buses. </description> </method> <method name="get_bus_effect"> @@ -274,7 +274,7 @@ <argument index="0" name="amount" type="int"> </argument> <description> - Adds and removes busses to make the number of busses match [code]amount[/code]. + Adds and removes buses to make the number of buses match [code]amount[/code]. </description> </method> <method name="set_bus_effect_enabled"> diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index d27839e0a6..fe660be645 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -941,10 +941,10 @@ The control will grow to the left or top to make up if its minimum size is changed to be greater than its current size on the respective axis. </constant> <constant name="GROW_DIRECTION_END" value="1" enum="GrowDirection"> - The control wil grow to the right or bottom to make up if its minimum size is changed to be greater than its current size on the respective axis. + The control will grow to the right or bottom to make up if its minimum size is changed to be greater than its current size on the respective axis. </constant> <constant name="GROW_DIRECTION_BOTH" value="2" enum="GrowDirection"> - The control wil grow in both directions equally to make up if its minimum size is changed to be greater than its current size. + The control will grow in both directions equally to make up if its minimum size is changed to be greater than its current size. </constant> <constant name="ANCHOR_BEGIN" value="0" enum="Anchor"> Snaps one of the 4 anchor's sides to the origin of the node's [code]Rect[/code], in the top left. Use it with one of the [code]anchor_*[/code] member variables, like [member anchor_left]. To change all 4 anchors at once, use [method set_anchors_preset]. diff --git a/doc/classes/EditorSpatialGizmoPlugin.xml b/doc/classes/EditorSpatialGizmoPlugin.xml index a62b23ead8..a6c0413c19 100644 --- a/doc/classes/EditorSpatialGizmoPlugin.xml +++ b/doc/classes/EditorSpatialGizmoPlugin.xml @@ -134,7 +134,7 @@ <return type="String"> </return> <description> - Override this method to provide the name that will appear in teh gizmo visibility menu. + Override this method to provide the name that will appear in the gizmo visibility menu. </description> </method> <method name="has_gizmo" qualifiers="virtual"> diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml index f921b76b21..b8808b8b53 100644 --- a/doc/classes/Engine.xml +++ b/doc/classes/Engine.xml @@ -90,9 +90,17 @@ "major" - Holds the major version number as an int "minor" - Holds the minor version number as an int "patch" - Holds the patch version number as an int + "hex" - Holds the full version number encoded as an hexadecimal int with one byte (2 places) per number (see example below) "status" - Holds the status (e.g. "beta", "rc1", "rc2", ... "stable") as a String "build" - Holds the build name (e.g. "custom-build") as a String "string" - major + minor + patch + status + build in a single String + The "hex" value is encoded as follows, from left to right: one byte for the major, one byte for the minor, one byte for the patch version. For example, "3.1.12" would be [code]0x03010C[/code]. Note that it's still an int internally, and printing it will give you its decimal representation, which is not particularly meaningful. Use hexadecimal literals for easy version comparisons from code: + [codeblock] + if Engine.get_version_info().hex >= 0x030200: + # do things specific to version 3.2 or later + else: + # do things specific to versions before 3.2 + [/codeblock] </description> </method> <method name="has_singleton" qualifiers="const"> diff --git a/doc/classes/File.xml b/doc/classes/File.xml index 6462176c73..c9a8f18116 100644 --- a/doc/classes/File.xml +++ b/doc/classes/File.xml @@ -38,7 +38,7 @@ <return type="bool"> </return> <description> - Returns [code]true[/code] if the file cursor has reached the end of the file. + Returns [code]true[/code] if the file cursor has read past the end of the file. Note that this function will still return [code]false[/code] while at the end of the file and only activates when reading past it. This can be confusing but it conforms to how low level file access works in all operating systems. There is always [method get_len] and [method get_position] to implement a custom logic. </description> </method> <method name="file_exists" qualifiers="const"> diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml index 7986461840..565e19c229 100644 --- a/doc/classes/MultiMesh.xml +++ b/doc/classes/MultiMesh.xml @@ -48,6 +48,14 @@ Return the transform of a specific instance. </description> </method> + <method name="get_instance_transform_2d" qualifiers="const"> + <return type="Transform2D"> + </return> + <argument index="0" name="instance" type="int"> + </argument> + <description> + </description> + </method> <method name="set_instance_color"> <return type="void"> </return> @@ -81,6 +89,16 @@ Set the transform for a specific instance. </description> </method> + <method name="set_instance_transform_2d"> + <return type="void"> + </return> + <argument index="0" name="instance" type="int"> + </argument> + <argument index="1" name="transform" type="Transform2D"> + </argument> + <description> + </description> + </method> </methods> <members> <member name="color_format" type="int" setter="set_color_format" getter="get_color_format" enum="MultiMesh.ColorFormat"> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index f6ad71b6e2..5e71ed094e 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -159,6 +159,13 @@ <description> </description> </method> + <method name="get_current_video_driver" qualifiers="const"> + <return type="int" enum="OS.VideoDriver"> + </return> + <description> + Returns the currently used video driver, using one of the values from [enum OS.VideoDriver]. + </description> + </method> <method name="get_date" qualifiers="const"> <return type="Dictionary"> </return> @@ -459,14 +466,16 @@ <return type="int"> </return> <description> + Returns the number of video drivers supported on the current platform. </description> </method> <method name="get_video_driver_name" qualifiers="const"> <return type="String"> </return> - <argument index="0" name="driver" type="int"> + <argument index="0" name="driver" type="int" enum="OS.VideoDriver"> </argument> <description> + Returns the name of the video driver matching the given [code]driver[/code] index. This index is a value from [enum OS.VideoDriver], and you can use [method get_current_video_driver] to get the current backend's index. </description> </method> <method name="get_virtual_keyboard_height"> @@ -806,6 +815,12 @@ </member> </members> <constants> + <constant name="VIDEO_DRIVER_GLES2" value="1" enum="VideoDriver"> + The GLES2 rendering backend. It uses OpenGL ES 2.0 on mobile devices, OpenGL 2.1 on desktop platforms and WebGL 1.0 on the web. + </constant> + <constant name="VIDEO_DRIVER_GLES3" value="0" enum="VideoDriver"> + The GLES3 rendering backend. It uses OpenGL ES 3.0 on mobile devices, OpenGL 3.3 on desktop platforms and WebGL 2.0 on the web. + </constant> <constant name="DAY_SUNDAY" value="0" enum="Weekday"> Sunday. </constant> diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml index c58c932b61..0f795b4bf8 100644 --- a/doc/classes/OptionButton.xml +++ b/doc/classes/OptionButton.xml @@ -71,7 +71,16 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Return the ID of the item at index "idx". + Return the ID of the item at index [code]idx[/code]. + </description> + </method> + <method name="get_item_index" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + Return the index of the item with the given [code]id[/code]. </description> </method> <method name="get_item_metadata" qualifiers="const"> @@ -198,14 +207,14 @@ <argument index="0" name="ID" type="int"> </argument> <description> - This signal is emitted when user navigated to an item using [code]ui_up[/code] or [code]ui_down[/code] action. ID of the item selected is passed as argument (if no IDs were added, ID will be just the item index). + This signal is emitted when user navigated to an item using [code]ui_up[/code] or [code]ui_down[/code] action. ID of the item selected is passed as argument. </description> </signal> <signal name="item_selected"> <argument index="0" name="ID" type="int"> </argument> <description> - This signal is emitted when the current item was changed by the user. ID of the item selected is passed as argument (if no IDs were added, ID will be just the item index). + This signal is emitted when the current item was changed by the user. Index of the item selected is passed as argument. </description> </signal> </signals> diff --git a/doc/classes/Physics2DServer.xml b/doc/classes/Physics2DServer.xml index fe1465260f..341457a2b3 100644 --- a/doc/classes/Physics2DServer.xml +++ b/doc/classes/Physics2DServer.xml @@ -1112,6 +1112,8 @@ <constant name="SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS" value="6" enum="SpaceParameter"> Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision. </constant> + <constant name="SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH" value="7" enum="SpaceParameter"> + </constant> <constant name="SHAPE_LINE" value="0" enum="ShapeType"> This is the constant for creating line shapes. A line shape is an infinite line with an origin point, and a normal. Thus, it can be used for front/behind checks. </constant> diff --git a/doc/classes/PhysicsServer.xml b/doc/classes/PhysicsServer.xml index e3ed43e7bc..b797e6ecf7 100644 --- a/doc/classes/PhysicsServer.xml +++ b/doc/classes/PhysicsServer.xml @@ -1595,6 +1595,8 @@ <constant name="SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS" value="7" enum="SpaceParameter"> Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision. </constant> + <constant name="SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH" value="8" enum="SpaceParameter"> + </constant> <constant name="BODY_AXIS_LINEAR_X" value="1" enum="BodyAxis"> </constant> <constant name="BODY_AXIS_LINEAR_Y" value="2" enum="BodyAxis"> diff --git a/doc/classes/RandomNumberGenerator.xml b/doc/classes/RandomNumberGenerator.xml index 5badfba923..fff13402f1 100644 --- a/doc/classes/RandomNumberGenerator.xml +++ b/doc/classes/RandomNumberGenerator.xml @@ -43,7 +43,7 @@ <argument index="1" name="to" type="int"> </argument> <description> - Generates pseudo-random 32-bit signed integer between [code]from[/code] and [code]to[/code](inclusive). + Generates pseudo-random 32-bit signed integer between [code]from[/code] and [code]to[/code] (inclusive). </description> </method> <method name="randomize"> @@ -56,6 +56,7 @@ </methods> <members> <member name="seed" type="int" setter="set_seed" getter="get_seed"> + The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers. </member> </members> <constants> diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml index fc42635ce2..4369f77abd 100644 --- a/doc/classes/Resource.xml +++ b/doc/classes/Resource.xml @@ -4,9 +4,10 @@ Base class for all resources. </brief_description> <description> - Resource is the base class for all resource types. Resources are primarily data containers. They are reference counted and freed when no longer in use. They are also loaded only once from disk, and further attempts to load the resource will return the same reference (all this in contrast to a [Node], which is not reference counted and can be instanced from disk as many times as desired). Resources can be saved externally on disk or bundled into another object, such as a [Node] or another resource. + Resource is the base class for all resource types, serving primarily as data containers. They are reference counted and freed when no longer in use. They are also loaded only once from disk, and further attempts to load the resource will return the same reference (all this in contrast to a [Node], which is not reference counted and can be instanced from disk as many times as desired). Resources can be saved externally on disk or bundled into another object, such as a [Node] or another resource. </description> <tutorials> + <link>https://docs.godotengine.org/en/stable/getting_started/step_by_step/resources.html</link> </tutorials> <demos> </demos> @@ -23,6 +24,7 @@ <argument index="0" name="subresources" type="bool" default="false"> </argument> <description> + Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency, this can be changed by passing [code]true[/code] to the [code]subresources[/code] argument. </description> </method> <method name="get_local_scene" qualifiers="const"> @@ -35,7 +37,7 @@ <return type="RID"> </return> <description> - Return the RID of the resource (or an empty RID). Many resources (such as [Texture], [Mesh], etc) are high level abstractions of resources stored in a server, so this function will return the original RID. + Returns the RID of the resource (or an empty RID). Many resources (such as [Texture], [Mesh], etc) are high level abstractions of resources stored in a server, so this function will return the original RID. </description> </method> <method name="setup_local_to_scene"> @@ -50,7 +52,7 @@ <argument index="0" name="path" type="String"> </argument> <description> - Set the path of the resource. Differs from set_path(), if another [code]Resource[/code] exists with "path" it over-takes it, instead of failing. + Sets the path of the resource. Differs from [code]set_path()[/code], if another [code]Resource[/code] exists with "path" it over-takes it, instead of failing. </description> </method> </methods> @@ -58,8 +60,10 @@ <member name="resource_local_to_scene" type="bool" setter="set_local_to_scene" getter="is_local_to_scene"> </member> <member name="resource_name" type="String" setter="set_name" getter="get_name"> + The name of the resource. This is an optional identifier. </member> <member name="resource_path" type="String" setter="set_path" getter="get_path"> + The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index. </member> </members> <signals> diff --git a/doc/classes/Skeleton2D.xml b/doc/classes/Skeleton2D.xml index 712b9ca2a5..d40b8a2fc7 100644 --- a/doc/classes/Skeleton2D.xml +++ b/doc/classes/Skeleton2D.xml @@ -30,6 +30,12 @@ </description> </method> </methods> + <signals> + <signal name="bone_setup_changed"> + <description> + </description> + </signal> + </signals> <constants> </constants> </class> diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml index fd158587e5..587b0190fe 100644 --- a/doc/classes/SurfaceTool.xml +++ b/doc/classes/SurfaceTool.xml @@ -78,7 +78,7 @@ <method name="add_triangle_fan"> <return type="void"> </return> - <argument index="0" name="vertexes" type="PoolVector3Array"> + <argument index="0" name="vertices" type="PoolVector3Array"> </argument> <argument index="1" name="uvs" type="PoolVector2Array" default="PoolVector2Array( )"> </argument> diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml index 04285b62df..3c5bc25def 100644 --- a/doc/classes/TabContainer.xml +++ b/doc/classes/TabContainer.xml @@ -216,6 +216,8 @@ </theme_item> <theme_item name="tab_bg" type="StyleBox"> </theme_item> + <theme_item name="tab_disabled" type="StyleBox"> + </theme_item> <theme_item name="tab_fg" type="StyleBox"> </theme_item> <theme_item name="top_margin" type="int"> diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml index de57250d8b..b22d9d73da 100644 --- a/doc/classes/Tabs.xml +++ b/doc/classes/Tabs.xml @@ -279,6 +279,8 @@ </theme_item> <theme_item name="tab_bg" type="StyleBox"> </theme_item> + <theme_item name="tab_disabled" type="StyleBox"> + </theme_item> <theme_item name="tab_fg" type="StyleBox"> </theme_item> <theme_item name="top_margin" type="int"> diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index 4849d768f5..fe3b2118a3 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -34,7 +34,7 @@ <argument index="1" name="y" type="int"> </argument> <description> - Returns the tile index of the given cell. + Returns the tile index of the given cell. If no tile exists in the cell, returns [constant INVALID_CELL]. </description> </method> <method name="get_cell_autotile_coord" qualifiers="const"> @@ -53,7 +53,7 @@ <argument index="0" name="position" type="Vector2"> </argument> <description> - Returns the tile index of the cell given by a Vector2. + Returns the tile index of the cell given by a Vector2. If no tile exists in the cell, returns [constant INVALID_CELL]. </description> </method> <method name="get_collision_layer_bit" qualifiers="const"> diff --git a/drivers/alsamidi/alsa_midi.cpp b/drivers/alsamidi/midi_driver_alsamidi.cpp index cd90c8912b..aae0ae0216 100644 --- a/drivers/alsamidi/alsa_midi.cpp +++ b/drivers/alsamidi/midi_driver_alsamidi.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* alsa_midi.cpp */ +/* midi_driver_alsamidi.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -30,7 +30,7 @@ #ifdef ALSAMIDI_ENABLED -#include "alsa_midi.h" +#include "midi_driver_alsamidi.h" #include "core/os/os.h" #include "core/print_string.h" @@ -199,4 +199,4 @@ MIDIDriverALSAMidi::~MIDIDriverALSAMidi() { close(); } -#endif +#endif // ALSAMIDI_ENABLED diff --git a/drivers/alsamidi/alsa_midi.h b/drivers/alsamidi/midi_driver_alsamidi.h index 054a7b474e..b6956cc32f 100644 --- a/drivers/alsamidi/alsa_midi.h +++ b/drivers/alsamidi/midi_driver_alsamidi.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* alsa_midi.h */ +/* midi_driver_alsamidi.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -30,8 +30,8 @@ #ifdef ALSAMIDI_ENABLED -#ifndef ALSA_MIDI_H -#define ALSA_MIDI_H +#ifndef MIDI_DRIVER_ALSAMIDI_H +#define MIDI_DRIVER_ALSAMIDI_H #include "core/os/midi_driver.h" #include "core/os/mutex.h" @@ -65,5 +65,5 @@ public: virtual ~MIDIDriverALSAMidi(); }; -#endif -#endif +#endif // MIDI_DRIVER_ALSAMIDI_H +#endif // ALSAMIDI_ENABLED diff --git a/drivers/coremidi/core_midi.cpp b/drivers/coremidi/midi_driver_coremidi.cpp index 7d3477213f..7a92ac0702 100644 --- a/drivers/coremidi/core_midi.cpp +++ b/drivers/coremidi/midi_driver_coremidi.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* core_midi.cpp */ +/* midi_driver_coremidi.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -30,7 +30,7 @@ #ifdef COREMIDI_ENABLED -#include "core_midi.h" +#include "midi_driver_coremidi.h" #include "core/print_string.h" @@ -120,4 +120,4 @@ MIDIDriverCoreMidi::~MIDIDriverCoreMidi() { close(); } -#endif +#endif // COREMIDI_ENABLED diff --git a/drivers/coremidi/core_midi.h b/drivers/coremidi/midi_driver_coremidi.h index 7a10b5548e..23c2a19812 100644 --- a/drivers/coremidi/core_midi.h +++ b/drivers/coremidi/midi_driver_coremidi.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* core_midi.h */ +/* midi_driver_coremidi.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -30,8 +30,8 @@ #ifdef COREMIDI_ENABLED -#ifndef CORE_MIDI_H -#define CORE_MIDI_H +#ifndef MIDI_DRIVER_COREMIDI_H +#define MIDI_DRIVER_COREMIDI_H #include "core/os/midi_driver.h" #include "core/vector.h" @@ -58,5 +58,5 @@ public: virtual ~MIDIDriverCoreMidi(); }; -#endif -#endif +#endif // MIDI_DRIVER_COREMIDI_H +#endif // COREMIDI_ENABLED diff --git a/drivers/gles2/rasterizer_scene_gles2.cpp b/drivers/gles2/rasterizer_scene_gles2.cpp index 2c6168241e..03e6c185ee 100644 --- a/drivers/gles2/rasterizer_scene_gles2.cpp +++ b/drivers/gles2/rasterizer_scene_gles2.cpp @@ -1790,6 +1790,9 @@ void RasterizerSceneGLES2::_setup_light(LightInstance *light, ShadowAtlas *shado Color color = light_ptr->color * sign * energy * Math_PI; state.scene_shader.set_uniform(SceneShaderGLES2::LIGHT_COLOR, color); + Color shadow_color = light_ptr->shadow_color.to_linear(); + state.scene_shader.set_uniform(SceneShaderGLES2::SHADOW_COLOR, shadow_color); + //specific parameters switch (light_ptr->type) { @@ -2341,7 +2344,7 @@ void RasterizerSceneGLES2::_render_render_list(RenderList::Element **p_elements, Transform sky_orientation(p_env->sky_orientation, Vector3(0.0, 0.0, 0.0)); state.scene_shader.set_uniform(SceneShaderGLES2::RADIANCE_INVERSE_XFORM, sky_orientation.affine_inverse() * p_view_transform); } else { - // would be a bit weird if we dont have this... + // would be a bit weird if we don't have this... state.scene_shader.set_uniform(SceneShaderGLES2::RADIANCE_INVERSE_XFORM, p_view_transform); } } @@ -2607,7 +2610,7 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const //push back the directional lights if (p_light_cull_count) { - //harcoded limit of 256 lights + //hardcoded limit of 256 lights render_light_instance_count = MIN(RenderList::MAX_LIGHTS, p_light_cull_count); render_light_instances = (LightInstance **)alloca(sizeof(LightInstance *) * render_light_instance_count); render_directional_lights = 0; @@ -2621,7 +2624,7 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const if (light->light_ptr->type == VS::LIGHT_DIRECTIONAL) { render_directional_lights++; - //as goin in reverse, directional lights are always first anyway + //as going in reverse, directional lights are always first anyway } light->light_index = index; diff --git a/drivers/gles2/rasterizer_storage_gles2.h b/drivers/gles2/rasterizer_storage_gles2.h index ba48ddd185..a0fa2aacc5 100644 --- a/drivers/gles2/rasterizer_storage_gles2.h +++ b/drivers/gles2/rasterizer_storage_gles2.h @@ -31,7 +31,7 @@ #ifndef RASTERIZERSTORAGEGLES2_H #define RASTERIZERSTORAGEGLES2_H -#include "core/dvector.h" +#include "core/pool_vector.h" #include "core/self_list.h" #include "servers/visual/rasterizer.h" #include "servers/visual/shader_language.h" diff --git a/drivers/gles2/shader_compiler_gles2.cpp b/drivers/gles2/shader_compiler_gles2.cpp index d6e8edc421..15897fe587 100644 --- a/drivers/gles2/shader_compiler_gles2.cpp +++ b/drivers/gles2/shader_compiler_gles2.cpp @@ -81,7 +81,7 @@ static String _opstr(SL::Operator p_op) { static String _mkid(const String &p_id) { String id = "m_" + p_id; - return id.replace("__", "_dus_"); //doubleunderscore is reserverd in glsl + return id.replace("__", "_dus_"); //doubleunderscore is reserved in glsl } static String f2sp0(float p_float) { diff --git a/drivers/gles2/shader_gles2.cpp b/drivers/gles2/shader_gles2.cpp index 5e259a01f0..012d1538b6 100644 --- a/drivers/gles2/shader_gles2.cpp +++ b/drivers/gles2/shader_gles2.cpp @@ -199,7 +199,7 @@ static void _display_error_with_code(const String &p_error, const Vector<const c static String _mkid(const String &p_id) { String id = "m_" + p_id; - return id.replace("__", "_dus_"); //doubleunderscore is reserverd in glsl + return id.replace("__", "_dus_"); //doubleunderscore is reserved in glsl } ShaderGLES2::Version *ShaderGLES2::get_current_version() { diff --git a/drivers/gles2/shaders/scene.glsl b/drivers/gles2/shaders/scene.glsl index 242329d4a7..6f6f827d60 100644 --- a/drivers/gles2/shaders/scene.glsl +++ b/drivers/gles2/shaders/scene.glsl @@ -158,6 +158,7 @@ varying highp vec3 specular_interp; // general for all lights uniform highp vec4 light_color; +uniform highp vec4 shadow_color; uniform highp float light_specular; // directional @@ -912,6 +913,7 @@ uniform highp vec3 light_direction; //may be used by fog, so leave here //done in fragment // general for all lights uniform highp vec4 light_color; +uniform highp vec4 shadow_color; uniform highp float light_specular; // directional @@ -1680,7 +1682,7 @@ FRAGMENT_SHADER_CODE float shadow = sample_shadow(light_shadow_atlas, splane); - light_att *= shadow; + light_att *= mix(shadow_color.rgb, vec3(1.0), shadow); } #endif @@ -1757,7 +1759,7 @@ FRAGMENT_SHADER_CODE shadow_att = mix(shadow_att, shadow_att2, pssm_blend); } #endif - light_att *= shadow_att; + light_att *= mix(shadow_color.rgb, vec3(1.0), shadow_att); } #endif //LIGHT_USE_PSSM4 @@ -1798,7 +1800,7 @@ FRAGMENT_SHADER_CODE shadow_att = mix(shadow_att, shadow_att2, pssm_blend); } #endif - light_att *= shadow_att; + light_att *= mix(shadow_color.rgb, vec3(1.0), shadow_att); } #endif //LIGHT_USE_PSSM2 @@ -1905,7 +1907,7 @@ FRAGMENT_SHADER_CODE } #endif - light_att *= shadow; + light_att *= mix(shadow_color.rgb, vec3(1.0), shadow); } } #endif //use vertex lighting @@ -1953,7 +1955,7 @@ FRAGMENT_SHADER_CODE highp vec4 splane = shadow_coord; float shadow = sample_shadow(light_shadow_atlas, splane); - light_att *= shadow; + light_att *= mix(shadow_color.rgb, vec3(1.0), shadow); } #endif diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp index 29b4b0c6c4..0cda8acba8 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.cpp +++ b/drivers/gles3/rasterizer_canvas_gles3.cpp @@ -1322,6 +1322,8 @@ void RasterizerCanvasGLES3::canvas_render_items(Item *p_item_list, int p_z, cons glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 1); glBindTexture(GL_TEXTURE_2D, skeleton->texture); state.using_skeleton = true; + state.canvas_shader.set_uniform(CanvasShaderGLES3::SKELETON_TRANSFORM, state.skeleton_transform); + state.canvas_shader.set_uniform(CanvasShaderGLES3::SKELETON_TRANSFORM_INVERSE, state.skeleton_transform_inverse); } else { state.using_skeleton = false; } diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index 31f42493a3..d634f8ea76 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -3118,7 +3118,7 @@ void RasterizerSceneGLES3::_copy_screen(bool p_invalidate_color, bool p_invalida GLenum attachments[2] = { GL_COLOR_ATTACHMENT0, - GL_DEPTH_STENCIL_ATTACHMENT + GL_DEPTH_ATTACHMENT }; glInvalidateFramebuffer(GL_FRAMEBUFFER, p_invalidate_depth ? 2 : 1, attachments); @@ -4163,7 +4163,7 @@ void RasterizerSceneGLES3::render_scene(const Transform &p_cam_transform, const glColorMask(0, 0, 0, 0); glClearDepth(1.0f); - glClear(GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); + glClear(GL_DEPTH_BUFFER_BIT); render_list.clear(); _fill_render_list(p_cull_result, p_cull_count, true, false); @@ -4288,7 +4288,7 @@ void RasterizerSceneGLES3::render_scene(const Transform &p_cam_transform, const } if (!fb_cleared) { - glClearBufferfi(GL_DEPTH_STENCIL, 0, 1.0, 0); + glClearBufferfi(GL_DEPTH, 0, 1.0, 0); } Color clear_color(0, 0, 0, 0); @@ -5167,12 +5167,15 @@ void RasterizerSceneGLES3::initialize() { glGenTextures(1, &e.color); glBindTexture(GL_TEXTURE_2D, e.color); -#ifdef IPHONE_ENABLED - ///@TODO ugly hack to get around iOS not supporting 32bit single channel floating point textures... - glTexImage2D(GL_TEXTURE_2D, 0, GL_R16F, max_exposure_shrink_size, max_exposure_shrink_size, 0, GL_RED, GL_FLOAT, NULL); -#else - glTexImage2D(GL_TEXTURE_2D, 0, GL_R32F, max_exposure_shrink_size, max_exposure_shrink_size, 0, GL_RED, GL_FLOAT, NULL); -#endif + + if (storage->config.framebuffer_float_supported) { + glTexImage2D(GL_TEXTURE_2D, 0, GL_R32F, max_exposure_shrink_size, max_exposure_shrink_size, 0, GL_RED, GL_FLOAT, NULL); + } else if (storage->config.framebuffer_half_float_supported) { + glTexImage2D(GL_TEXTURE_2D, 0, GL_R16F, max_exposure_shrink_size, max_exposure_shrink_size, 0, GL_RED, GL_HALF_FLOAT, NULL); + } else { + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB10_A2, max_exposure_shrink_size, max_exposure_shrink_size, 0, GL_RED, GL_UNSIGNED_INT_2_10_10_10_REV, NULL); + } + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, e.color, 0); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index 4ef7db8ea9..ce34de1dd8 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -101,6 +101,10 @@ #define _EXT_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E #define _EXT_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F +#ifndef GLES_OVER_GL +#define glClearDepth glClearDepthf +#endif + #ifdef __EMSCRIPTEN__ #include <emscripten/emscripten.h> @@ -1539,7 +1543,7 @@ RID RasterizerStorageGLES3::texture_create_radiance_cubemap(RID p_source, int p_ ERR_FAIL_COND_V(!texture, RID()); ERR_FAIL_COND_V(texture->type != VS::TEXTURE_TYPE_CUBEMAP, RID()); - bool use_float = config.hdr_supported; + bool use_float = config.framebuffer_half_float_supported; if (p_resolution < 0) { p_resolution = texture->width; @@ -1787,7 +1791,7 @@ void RasterizerStorageGLES3::sky_set_texture(RID p_sky, RID p_panorama, int p_ra int array_level = 6; - bool use_float = config.hdr_supported; + bool use_float = config.framebuffer_half_float_supported; GLenum internal_format = use_float ? GL_RGBA16F : GL_RGB10_A2; GLenum format = GL_RGBA; @@ -1899,7 +1903,7 @@ void RasterizerStorageGLES3::sky_set_texture(RID p_sky, RID p_panorama, int p_ra int mm_level = mipmaps; - bool use_float = config.hdr_supported; + bool use_float = config.framebuffer_half_float_supported; GLenum internal_format = use_float ? GL_RGBA16F : GL_RGB10_A2; GLenum format = GL_RGBA; @@ -6800,7 +6804,7 @@ void RasterizerStorageGLES3::_render_target_allocate(RenderTarget *rt) { GLuint color_type; Image::Format image_format; - bool hdr = rt->flags[RENDER_TARGET_HDR] && config.hdr_supported; + bool hdr = rt->flags[RENDER_TARGET_HDR] && config.framebuffer_half_float_supported; //hdr = false; if (!hdr || rt->flags[RENDER_TARGET_NO_3D]) { @@ -6836,8 +6840,9 @@ void RasterizerStorageGLES3::_render_target_allocate(RenderTarget *rt) { glGenTextures(1, &rt->depth); glBindTexture(GL_TEXTURE_2D, rt->depth); - glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH24_STENCIL8, rt->width, rt->height, 0, - GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, NULL); + glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, rt->width, rt->height, 0, + GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); @@ -6904,9 +6909,9 @@ void RasterizerStorageGLES3::_render_target_allocate(RenderTarget *rt) { glGenRenderbuffers(1, &rt->buffers.depth); glBindRenderbuffer(GL_RENDERBUFFER, rt->buffers.depth); if (msaa == 0) - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, rt->width, rt->height); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, rt->width, rt->height); else - glRenderbufferStorageMultisample(GL_RENDERBUFFER, msaa, GL_DEPTH24_STENCIL8, rt->width, rt->height); + glRenderbufferStorageMultisample(GL_RENDERBUFFER, msaa, GL_DEPTH_COMPONENT24, rt->width, rt->height); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rt->buffers.depth); @@ -7054,7 +7059,14 @@ void RasterizerStorageGLES3::_render_target_allocate(RenderTarget *rt) { glGenTextures(1, &rt->exposure.color); glBindTexture(GL_TEXTURE_2D, rt->exposure.color); - glTexImage2D(GL_TEXTURE_2D, 0, GL_R32F, 1, 1, 0, GL_RED, GL_FLOAT, NULL); + if (config.framebuffer_float_supported) { + glTexImage2D(GL_TEXTURE_2D, 0, GL_R32F, 1, 1, 0, GL_RED, GL_FLOAT, NULL); + } else if (config.framebuffer_half_float_supported) { + glTexImage2D(GL_TEXTURE_2D, 0, GL_R16F, 1, 1, 0, GL_RED, GL_HALF_FLOAT, NULL); + } else { + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB10_A2, 1, 1, 0, GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV, NULL); + } + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, rt->exposure.color, 0); status = glCheckFramebufferStatus(GL_FRAMEBUFFER); @@ -7139,7 +7151,8 @@ void RasterizerStorageGLES3::_render_target_allocate(RenderTarget *rt) { glViewport(0, 0, rt->effects.mip_maps[i].sizes[j].width, rt->effects.mip_maps[i].sizes[j].height); glClearBufferfv(GL_COLOR, 0, zero); if (used_depth) { - glClearBufferfi(GL_DEPTH_STENCIL, 0, 1.0, 0); + glClearDepth(1.0); + glClear(GL_DEPTH_BUFFER_BIT); } } @@ -7809,17 +7822,21 @@ void RasterizerStorageGLES3::initialize() { config.latc_supported = config.extensions.has("GL_EXT_texture_compression_latc"); config.bptc_supported = config.extensions.has("GL_ARB_texture_compression_bptc"); #ifdef GLES_OVER_GL - config.hdr_supported = true; config.etc2_supported = false; config.s3tc_supported = true; config.rgtc_supported = true; //RGTC - core since OpenGL version 3.0 config.texture_float_linear_supported = true; + config.framebuffer_float_supported = true; + config.framebuffer_half_float_supported = true; + #else config.etc2_supported = true; - config.hdr_supported = false; config.s3tc_supported = config.extensions.has("GL_EXT_texture_compression_dxt1") || config.extensions.has("GL_EXT_texture_compression_s3tc") || config.extensions.has("WEBGL_compressed_texture_s3tc"); config.rgtc_supported = config.extensions.has("GL_EXT_texture_compression_rgtc") || config.extensions.has("GL_ARB_texture_compression_rgtc") || config.extensions.has("EXT_texture_compression_rgtc"); config.texture_float_linear_supported = config.extensions.has("GL_OES_texture_float_linear"); + config.framebuffer_float_supported = config.extensions.has("GL_EXT_color_buffer_float"); + config.framebuffer_half_float_supported = config.extensions.has("GL_EXT_color_buffer_half_float") || config.framebuffer_float_supported; + #endif config.pvrtc_supported = config.extensions.has("GL_IMG_texture_compression_pvrtc"); @@ -7912,11 +7929,7 @@ void RasterizerStorageGLES3::initialize() { glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &config.max_texture_image_units); glGetIntegerv(GL_MAX_TEXTURE_SIZE, &config.max_texture_size); -#ifdef GLES_OVER_GL - config.use_rgba_2d_shadows = false; -#else - config.use_rgba_2d_shadows = true; -#endif + config.use_rgba_2d_shadows = config.framebuffer_float_supported; //generic quadie for copying diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h index 88897e1e07..d1e02e25d6 100644 --- a/drivers/gles3/rasterizer_storage_gles3.h +++ b/drivers/gles3/rasterizer_storage_gles3.h @@ -82,11 +82,11 @@ public: bool etc2_supported; bool pvrtc_supported; - bool hdr_supported; - bool srgb_decode_supported; bool texture_float_linear_supported; + bool framebuffer_float_supported; + bool framebuffer_half_float_supported; bool use_rgba_2d_shadows; diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp index da54f7a2af..ad26294527 100644 --- a/drivers/gles3/shader_compiler_gles3.cpp +++ b/drivers/gles3/shader_compiler_gles3.cpp @@ -167,7 +167,7 @@ static String _opstr(SL::Operator p_op) { static String _mkid(const String &p_id) { String id = "m_" + p_id; - return id.replace("__", "_dus_"); //doubleunderscore is reserverd in glsl + return id.replace("__", "_dus_"); //doubleunderscore is reserved in glsl } static String f2sp0(float p_float) { diff --git a/drivers/gles3/shaders/tonemap.glsl b/drivers/gles3/shaders/tonemap.glsl index 80ad003c80..626968bc05 100644 --- a/drivers/gles3/shaders/tonemap.glsl +++ b/drivers/gles3/shaders/tonemap.glsl @@ -124,7 +124,7 @@ vec4 texture2D_bicubic(sampler2D tex, vec2 uv, int p_lod) { #endif vec3 tonemap_filmic(vec3 color, float white) { - // exposure bias: input scale (color *= bias, white *= bias) to make the brighness consistent with other tonemappers + // exposure bias: input scale (color *= bias, white *= bias) to make the brightness consistent with other tonemappers // also useful to scale the input to the range that the tonemapper is designed for (some require very high input values) // has no effect on the curve's general shape or visual properties const float exposure_bias = 2.0f; diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp index 824ba7bb8a..b5feaabc32 100644 --- a/drivers/unix/ip_unix.cpp +++ b/drivers/unix/ip_unix.cpp @@ -50,7 +50,7 @@ #define _WIN32_WINNT 0x0501 // Windows XP, disable Vista API #include <iphlpapi.h> #undef _WIN32_WINNT -#define _WIN32_WINNT 0x0600 // Reenable Vista API +#define _WIN32_WINNT 0x0600 // Re-enable Vista API #else #include <iphlpapi.h> #endif // MINGW hack diff --git a/drivers/unix/net_socket_posix.cpp b/drivers/unix/net_socket_posix.cpp index 6910abc64c..2dffa083fe 100644 --- a/drivers/unix/net_socket_posix.cpp +++ b/drivers/unix/net_socket_posix.cpp @@ -543,7 +543,7 @@ void NetSocketPosix::set_blocking_enabled(bool p_enabled) { void NetSocketPosix::set_ipv6_only_enabled(bool p_enabled) { ERR_FAIL_COND(!is_open()); - // This option is only avaiable in IPv6 sockets. + // This option is only available in IPv6 sockets. ERR_FAIL_COND(_ip_type == IP::TYPE_IPV4); int par = p_enabled ? 1 : 0; diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp index e3e2e10e82..e7550903a8 100644 --- a/drivers/unix/os_unix.cpp +++ b/drivers/unix/os_unix.cpp @@ -282,7 +282,7 @@ uint64_t OS_Unix::get_ticks_usec() const { uint64_t longtime = mach_absolute_time() * _clock_scale; #else // Unchecked return. Static analyzers might complain. - // If _setup_clock() succeded, we assume clock_gettime() works. + // If _setup_clock() succeeded, we assume clock_gettime() works. struct timespec tv_now = { 0, 0 }; clock_gettime(GODOT_CLOCK, &tv_now); uint64_t longtime = ((uint64_t)tv_now.tv_nsec / 1000L) + (uint64_t)tv_now.tv_sec * 1000000L; diff --git a/drivers/windows/shell_windows.cpp b/drivers/windows/shell_windows.cpp deleted file mode 100644 index 731d16d18d..0000000000 --- a/drivers/windows/shell_windows.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/*************************************************************************/ -/* shell_windows.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifdef WINDOWS_ENABLED - -#ifdef UWP_ENABLED - -// Use Launcher class on windows 8 - -#else - -// -// C++ Implementation: shell_windows -// -// Description: -// -// -// Author: Juan Linietsky <reduzio@gmail.com>, (C) 2008 -// -// Copyright: See COPYING file that comes with this distribution -// -// -#include "shell_windows.h" - -#include <windows.h> - -void ShellWindows::execute(String p_path) { - - ShellExecuteW(NULL, L"open", p_path.c_str(), NULL, NULL, SW_SHOWNORMAL); -} - -ShellWindows::ShellWindows() { -} - -ShellWindows::~ShellWindows() { -} - -#endif - -#endif diff --git a/drivers/windows/shell_windows.h b/drivers/windows/shell_windows.h deleted file mode 100644 index 9e9edd2f62..0000000000 --- a/drivers/windows/shell_windows.h +++ /dev/null @@ -1,52 +0,0 @@ -/*************************************************************************/ -/* shell_windows.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifndef SHELL_WINDOWS_H -#define SHELL_WINDOWS_H - -#include "core/os/shell.h" - -#ifdef WINDOWS_ENABLED - -/** - @author Juan Linietsky <reduzio@gmail.com> -*/ - -class ShellWindows : public Shell { -public: - virtual void execute(String p_path); - - ShellWindows(); - - ~ShellWindows(); -}; - -#endif -#endif diff --git a/drivers/winmidi/win_midi.cpp b/drivers/winmidi/midi_driver_winmidi.cpp index 26bba34661..65676b629a 100644 --- a/drivers/winmidi/win_midi.cpp +++ b/drivers/winmidi/midi_driver_winmidi.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* win_midi.cpp */ +/* midi_driver_winmidi.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -30,7 +30,7 @@ #ifdef WINMIDI_ENABLED -#include "win_midi.h" +#include "midi_driver_winmidi.h" #include "core/print_string.h" @@ -104,4 +104,4 @@ MIDIDriverWinMidi::~MIDIDriverWinMidi() { close(); } -#endif +#endif // WINMIDI_ENABLED diff --git a/drivers/winmidi/win_midi.h b/drivers/winmidi/midi_driver_winmidi.h index 4341f7ca7e..2eaa70ef8d 100644 --- a/drivers/winmidi/win_midi.h +++ b/drivers/winmidi/midi_driver_winmidi.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* win_midi.h */ +/* midi_driver_winmidi.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -30,8 +30,8 @@ #ifdef WINMIDI_ENABLED -#ifndef WIN_MIDI_H -#define WIN_MIDI_H +#ifndef MIDI_DRIVER_WINMIDI_H +#define MIDI_DRIVER_WINMIDI_H #include "core/os/midi_driver.h" #include "core/vector.h" @@ -57,5 +57,5 @@ public: virtual ~MIDIDriverWinMidi(); }; -#endif -#endif +#endif // MIDI_DRIVER_WINMIDI_H +#endif // WINMIDI_ENABLED diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index 0ba45a596e..bee8ddcea0 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -45,18 +45,22 @@ class AnimationTrackKeyEdit : public Object { public: bool setting; - bool hidden; bool _hide_script_from_inspector() { return true; } + bool _dont_undo_redo() { + return true; + } + static void _bind_methods() { ClassDB::bind_method("_update_obj", &AnimationTrackKeyEdit::_update_obj); ClassDB::bind_method("_key_ofs_changed", &AnimationTrackKeyEdit::_key_ofs_changed); ClassDB::bind_method("_hide_script_from_inspector", &AnimationTrackKeyEdit::_hide_script_from_inspector); ClassDB::bind_method("get_root_path", &AnimationTrackKeyEdit::get_root_path); + ClassDB::bind_method("_dont_undo_redo", &AnimationTrackKeyEdit::_dont_undo_redo); } //PopupDialog *ke_dialog; @@ -82,16 +86,13 @@ public: void _update_obj(const Ref<Animation> &p_anim) { if (setting) return; - if (hidden) - return; if (!(animation == p_anim)) return; + notify_change(); } void _key_ofs_changed(const Ref<Animation> &p_anim, float from, float to) { - if (hidden) - return; if (!(animation == p_anim)) return; if (from != key_ofs) @@ -168,6 +169,7 @@ public: undo_redo->add_do_method(this, "_update_obj", animation); undo_redo->add_undo_method(this, "_update_obj", animation); undo_redo->commit_action(); + setting = false; return true; @@ -191,6 +193,7 @@ public: undo_redo->add_do_method(this, "_update_obj", animation); undo_redo->add_undo_method(this, "_update_obj", animation); undo_redo->commit_action(); + setting = false; return true; } @@ -267,6 +270,7 @@ public: undo_redo->add_do_method(this, "_update_obj", animation); undo_redo->add_undo_method(this, "_update_obj", animation); undo_redo->commit_action(); + setting = false; if (change_notify_deserved) notify_change(); @@ -286,6 +290,7 @@ public: undo_redo->add_do_method(this, "_update_obj", animation); undo_redo->add_undo_method(this, "_update_obj", animation); undo_redo->commit_action(); + setting = false; return true; } @@ -301,6 +306,7 @@ public: undo_redo->add_do_method(this, "_update_obj", animation); undo_redo->add_undo_method(this, "_update_obj", animation); undo_redo->commit_action(); + setting = false; return true; } @@ -316,6 +322,7 @@ public: undo_redo->add_do_method(this, "_update_obj", animation); undo_redo->add_undo_method(this, "_update_obj", animation); undo_redo->commit_action(); + setting = false; return true; } @@ -335,6 +342,7 @@ public: undo_redo->add_do_method(this, "_update_obj", animation); undo_redo->add_undo_method(this, "_update_obj", animation); undo_redo->commit_action(); + setting = false; return true; } @@ -350,6 +358,7 @@ public: undo_redo->add_do_method(this, "_update_obj", animation); undo_redo->add_undo_method(this, "_update_obj", animation); undo_redo->commit_action(); + setting = false; return true; } @@ -365,6 +374,7 @@ public: undo_redo->add_do_method(this, "_update_obj", animation); undo_redo->add_undo_method(this, "_update_obj", animation); undo_redo->commit_action(); + setting = false; return true; } @@ -649,7 +659,6 @@ public: } AnimationTrackKeyEdit() { - hidden = true; key_ofs = 0; track = -1; setting = false; @@ -3209,14 +3218,6 @@ int AnimationTrackEditor::_confirm_insert(InsertData p_id, int p_last_track, boo } } - /* - undo_redo->add_do_method(this, "update_tracks"); - undo_redo->add_undo_method(this, "update"); - undo_redo->add_do_method(track_editor, "update"); - undo_redo->add_undo_method(track_editor, "update"); - undo_redo->add_do_method(track_pos, "update"); - undo_redo->add_undo_method(track_pos, "update"); -*/ undo_redo->commit_action(); return p_last_track; @@ -3414,6 +3415,14 @@ void AnimationTrackEditor::_update_tracks() { void AnimationTrackEditor::_animation_changed() { + if (key_edit && key_edit->setting) { + //if editing a key, just update the edited track, makes refresh less costly + if (key_edit->track < track_edits.size()) { + track_edits[key_edit->track]->update(); + } + return; + } + timeline->update(); timeline->update_values(); if (block_animation_update) { @@ -4066,7 +4075,9 @@ void AnimationTrackEditor::_move_selection_commit() { undo_redo->add_undo_method(this, "_select_at_anim", animation, E->key().track, oldpos); } + block_animation_update = true; //animation will change and this is triggered from a signal, so block updates undo_redo->commit_action(); + block_animation_update = false; moving_selection = false; for (int i = 0; i < track_edits.size(); i++) { diff --git a/editor/array_property_edit.cpp b/editor/array_property_edit.cpp index 7a3edfde50..72beeaaf45 100644 --- a/editor/array_property_edit.cpp +++ b/editor/array_property_edit.cpp @@ -288,12 +288,17 @@ Node *ArrayPropertyEdit::get_node() { return Object::cast_to<Node>(ObjectDB::get_instance(obj)); } +bool ArrayPropertyEdit::_dont_undo_redo() { + return true; +} + void ArrayPropertyEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("_set_size"), &ArrayPropertyEdit::_set_size); ClassDB::bind_method(D_METHOD("_set_value"), &ArrayPropertyEdit::_set_value); ClassDB::bind_method(D_METHOD("_notif_change"), &ArrayPropertyEdit::_notif_change); ClassDB::bind_method(D_METHOD("_notif_changev"), &ArrayPropertyEdit::_notif_changev); + ClassDB::bind_method(D_METHOD("_dont_undo_redo"), &ArrayPropertyEdit::_dont_undo_redo); } ArrayPropertyEdit::ArrayPropertyEdit() { diff --git a/editor/array_property_edit.h b/editor/array_property_edit.h index b2a3564c8c..fd17ebe9f8 100644 --- a/editor/array_property_edit.h +++ b/editor/array_property_edit.h @@ -52,6 +52,8 @@ class ArrayPropertyEdit : public Reference { void _set_size(int p_size); void _set_value(int p_idx, const Variant &p_value); + bool _dont_undo_redo(); + protected: static void _bind_methods(); bool _set(const StringName &p_name, const Variant &p_value); diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 1e5a2897a7..e9580ae0d1 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -1042,35 +1042,43 @@ void CodeTextEditor::delete_lines() { } void CodeTextEditor::clone_lines_down() { + const int cursor_column = text_editor->cursor_get_column(); int from_line = text_editor->cursor_get_line(); int to_line = text_editor->cursor_get_line(); - int column = text_editor->cursor_get_column(); - + int from_column = 0; + int to_column = 0; + int cursor_new_line = to_line + 1; + int cursor_new_column = text_editor->cursor_get_column(); + String new_text = "\n" + text_editor->get_line(from_line); + bool selection_active = false; + + text_editor->cursor_set_column(text_editor->get_line(from_line).length()); if (text_editor->is_selection_active()) { + from_column = text_editor->get_selection_from_column(); + to_column = text_editor->get_selection_to_column(); + from_line = text_editor->get_selection_from_line(); to_line = text_editor->get_selection_to_line(); - column = text_editor->cursor_get_column(); + cursor_new_line = to_line + text_editor->cursor_get_line() - from_line; + cursor_new_column = to_column == cursor_column ? 2 * to_column - from_column : to_column; + new_text = text_editor->get_selection_text(); + selection_active = true; + + text_editor->cursor_set_line(to_line); + text_editor->cursor_set_column(to_column); } - int next_line = to_line + 1; - bool caret_at_start = text_editor->cursor_get_line() == from_line; text_editor->begin_complex_operation(); + for (int i = from_line; i <= to_line; i++) { text_editor->unfold_line(i); - text_editor->set_line(next_line - 1, text_editor->get_line(next_line - 1) + "\n"); - text_editor->set_line(next_line, text_editor->get_line(i)); - next_line++; - } - - if (caret_at_start) { - text_editor->cursor_set_line(to_line + 1); - } else { - text_editor->cursor_set_line(next_line - 1); } - - text_editor->cursor_set_column(column); - if (text_editor->is_selection_active()) { - text_editor->select(to_line + 1, text_editor->get_selection_from_column(), next_line - 1, text_editor->get_selection_to_column()); + text_editor->deselect(); + text_editor->insert_text_at_cursor(new_text); + text_editor->cursor_set_line(cursor_new_line); + text_editor->cursor_set_column(cursor_new_column); + if (selection_active) { + text_editor->select(to_line, to_column, 2 * to_line - from_line, 2 * to_column - from_column); } text_editor->end_complex_operation(); @@ -1177,7 +1185,12 @@ void CodeTextEditor::_warning_label_gui_input(const Ref<InputEvent> &p_event) { } void CodeTextEditor::_warning_button_pressed() { - emit_signal("warning_pressed"); + _set_show_warnings_panel(!is_warnings_panel_opened); +} + +void CodeTextEditor::_set_show_warnings_panel(bool p_show) { + is_warnings_panel_opened = p_show; + emit_signal("show_warnings_panel", p_show); } void CodeTextEditor::_error_pressed(const Ref<InputEvent> &p_event) { @@ -1210,6 +1223,8 @@ void CodeTextEditor::set_warning_nb(int p_warning_nb) { warning_count_label->set_text(itos(p_warning_nb)); warning_count_label->set_visible(p_warning_nb > 0); warning_button->set_visible(p_warning_nb > 0); + if (!p_warning_nb) + _set_show_warnings_panel(false); } void CodeTextEditor::_bind_methods() { @@ -1228,7 +1243,7 @@ void CodeTextEditor::_bind_methods() { ADD_SIGNAL(MethodInfo("validate_script")); ADD_SIGNAL(MethodInfo("load_theme_settings")); - ADD_SIGNAL(MethodInfo("warning_pressed")); + ADD_SIGNAL(MethodInfo("show_warnings_panel")); ADD_SIGNAL(MethodInfo("error_pressed")); } @@ -1313,6 +1328,7 @@ CodeTextEditor::CodeTextEditor() { warning_count_label->add_font_override("font", EditorNode::get_singleton()->get_gui_base()->get_font("status_source", "EditorFonts")); warning_count_label->connect("gui_input", this, "_warning_label_gui_input"); + is_warnings_panel_opened = false; set_warning_nb(0); // Line and column diff --git a/editor/code_editor.h b/editor/code_editor.h index e801b5a17c..67e8fc9d3c 100644 --- a/editor/code_editor.h +++ b/editor/code_editor.h @@ -176,6 +176,7 @@ class CodeTextEditor : public VBoxContainer { void _warning_label_gui_input(const Ref<InputEvent> &p_event); void _warning_button_pressed(); + void _set_show_warnings_panel(bool p_show); void _error_pressed(const Ref<InputEvent> &p_event); protected: @@ -190,6 +191,8 @@ protected: void _notification(int); static void _bind_methods(); + bool is_warnings_panel_opened; + public: void trim_trailing_whitespace(); diff --git a/editor/collada/collada.cpp b/editor/collada/collada.cpp index d004e30fb8..2f80690ed1 100644 --- a/editor/collada/collada.cpp +++ b/editor/collada/collada.cpp @@ -2356,9 +2356,8 @@ bool Collada::_optimize_skeletons(VisualScene *p_vscene, Node *p_node) { bool Collada::_move_geometry_to_skeletons(VisualScene *p_vscene, Node *p_node, List<Node *> *p_mgeom) { - // bind shape matrix escala los huesos y los hace gigantes, asi la matriz despues achica - // al modelo? - // solucion: aplicarle la bind shape matrix a los VERTICES, y si el objeto viene con escala, se la dejo me parece! + // Bind Shape Matrix scales the bones and makes them gigantic, so the matrix then shrinks the model? + // Solution: apply the Bind Shape Matrix to the VERTICES, and if the object comes scaled, it seems to be left alone! if (p_node->type == Node::TYPE_GEOMETRY) { diff --git a/editor/dictionary_property_edit.cpp b/editor/dictionary_property_edit.cpp index 483f5ae2d0..9f4096ca02 100644 --- a/editor/dictionary_property_edit.cpp +++ b/editor/dictionary_property_edit.cpp @@ -102,12 +102,17 @@ Node *DictionaryPropertyEdit::get_node() { return cast_to<Node>(o); } +bool DictionaryPropertyEdit::_dont_undo_redo() { + return true; +} + void DictionaryPropertyEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("_set_key"), &DictionaryPropertyEdit::_set_key); ClassDB::bind_method(D_METHOD("_set_value"), &DictionaryPropertyEdit::_set_value); ClassDB::bind_method(D_METHOD("_notif_change"), &DictionaryPropertyEdit::_notif_change); ClassDB::bind_method(D_METHOD("_notif_changev"), &DictionaryPropertyEdit::_notif_changev); + ClassDB::bind_method(D_METHOD("_dont_undo_redo"), &DictionaryPropertyEdit::_dont_undo_redo); } bool DictionaryPropertyEdit::_set(const StringName &p_name, const Variant &p_value) { diff --git a/editor/dictionary_property_edit.h b/editor/dictionary_property_edit.h index f6bd13785a..a2a81c261c 100644 --- a/editor/dictionary_property_edit.h +++ b/editor/dictionary_property_edit.h @@ -46,6 +46,8 @@ class DictionaryPropertyEdit : public Reference { Variant get_dictionary() const; + bool _dont_undo_redo(); + protected: static void _bind_methods(); bool _set(const StringName &p_name, const Variant &p_value); diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 7c99318dca..39e6df4450 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -42,7 +42,7 @@ #include "editor/plugins/script_editor_plugin.h" #include "editor_node.h" #include "editor_settings.h" -#include "scene/resources/scene_format_text.h" +#include "scene/resources/resource_format_text.h" #include "thirdparty/misc/md5.h" static int _get_pad(int p_alignment, int p_n) { @@ -858,7 +858,7 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & Vector<uint8_t> array = FileAccess::get_file_as_array(icon); p_func(p_udata, icon, array, idx, total); } - if (splash != String() && FileAccess::exists(splash)) { + if (splash != String() && FileAccess::exists(splash) && icon != splash) { Vector<uint8_t> array = FileAccess::get_file_as_array(splash); p_func(p_udata, splash, array, idx, total); } diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index fe8d57d1a1..a262f1886c 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -30,7 +30,7 @@ #include "editor_file_system.h" -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" #include "core/io/resource_loader.h" #include "core/io/resource_saver.h" #include "core/os/file_access.h" diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index 564148ae4e..e0acc5cd70 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -1511,6 +1511,7 @@ EditorHelpBit::EditorHelpBit() { rich_text->connect("meta_clicked", this, "_meta_clicked"); rich_text->add_color_override("selection_color", EditorSettings::get_singleton()->get("text_editor/theme/selection_color")); rich_text->set_override_selected_font_color(false); + set_custom_minimum_size(Size2(0, 70 * EDSCALE)); } FindBar::FindBar() { diff --git a/editor/editor_help.h b/editor/editor_help.h index 3b17580a63..a50ab8a9f9 100644 --- a/editor/editor_help.h +++ b/editor/editor_help.h @@ -188,9 +188,9 @@ public: ~EditorHelp(); }; -class EditorHelpBit : public MarginContainer { +class EditorHelpBit : public PanelContainer { - GDCLASS(EditorHelpBit, MarginContainer); + GDCLASS(EditorHelpBit, PanelContainer); RichTextLabel *rich_text; void _go_to_help(String p_what); diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index 1078fabc2e..94761cadef 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -1937,7 +1937,7 @@ void EditorInspector::_edit_set(const String &p_name, const Variant &p_value, bo } } - if (!undo_redo || Object::cast_to<ArrayPropertyEdit>(object) || Object::cast_to<DictionaryPropertyEdit>(object)) { //kind of hacky + if (!undo_redo || bool(object->call("_dont_undo_redo"))) { object->set(p_name, p_value); if (p_refresh_all) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 18858ae2aa..973b2cc7a2 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -2579,6 +2579,20 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled, Ref<ConfigFile> cf; cf.instance(); String addon_path = "res://addons/" + p_addon + "/plugin.cfg"; + if (!DirAccess::exists(addon_path.get_base_dir())) { + ProjectSettings *ps = ProjectSettings::get_singleton(); + PoolStringArray enabled_plugins = ps->get("editor_plugins/enabled"); + for (int i = 0; i < enabled_plugins.size(); ++i) { + if (enabled_plugins.get(i) == p_addon) { + enabled_plugins.remove(i); + break; + } + } + ps->set("editor_plugins/enabled", enabled_plugins); + ps->save(); + WARN_PRINTS("Addon '" + p_addon + "' failed to load. No directory found. Removing from enabled plugins."); + return; + } Error err = cf->load(addon_path); if (err != OK) { show_warning(vformat(TTR("Unable to enable addon plugin at: '%s' parsing of config failed."), addon_path)); diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 56bab440c9..614edda58c 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -115,8 +115,8 @@ void EditorPropertyMultilineText::_open_big_text() { add_child(big_text_dialog); } - big_text->set_text(text->get_text()); big_text_dialog->popup_centered_ratio(); + big_text->set_text(text->get_text()); } void EditorPropertyMultilineText::update_property() { diff --git a/editor/editor_resource_preview.cpp b/editor/editor_resource_preview.cpp index f77f31db80..1fa1fe9070 100644 --- a/editor/editor_resource_preview.cpp +++ b/editor/editor_resource_preview.cpp @@ -155,7 +155,7 @@ void EditorResourcePreview::_generate_preview(Ref<ImageTexture> &r_texture, Ref< r_texture = generated; if (r_texture.is_valid() && preview_generators[i]->should_generate_small_preview()) { - int small_thumbnail_size = EditorNode::get_singleton()->get_theme_base()->get_icon("Object", "EditorIcons")->get_width(); // Kind of a workaround to retreive the default icon size + int small_thumbnail_size = EditorNode::get_singleton()->get_theme_base()->get_icon("Object", "EditorIcons")->get_width(); // Kind of a workaround to retrieve the default icon size small_thumbnail_size *= EDSCALE; Ref<Image> small_image = r_texture->get_data(); diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index ffbb4339df..3fe19c0b31 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -286,7 +286,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { } else if (preset == "Solarized (Dark)") { preset_accent_color = Color::html("#268bd2"); preset_base_color = Color::html("#073642"); - preset_contrast = 0.15; + preset_contrast = 0.23; } else if (preset == "Solarized (Light)") { preset_accent_color = Color::html("#268bd2"); preset_base_color = Color::html("#fdf6e3"); diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 1ac66fdd1d..b1aa75e124 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -90,7 +90,7 @@ bool FileSystemDock::_create_tree(TreeItem *p_parent, EditorFileSystemDirectory if (searched_string.length() > 0) { if (file_name.to_lower().find(searched_string) < 0) { - // The seached string is not in the file name, we skip it + // The searched string is not in the file name, we skip it continue; } else { // We expand all parents @@ -375,7 +375,7 @@ void FileSystemDock::_notification(int p_what) { // Update display of files in tree display_mode_setting = DisplayModeSetting(int(EditorSettings::get_singleton()->get("docks/filesystem/display_mode"))); - // Update allways showfolders + // Update always showfolders bool new_always_show_folders = bool(EditorSettings::get_singleton()->get("docks/filesystem/always_show_folders")); if (new_always_show_folders != always_show_folders) { always_show_folders = new_always_show_folders; @@ -1855,7 +1855,7 @@ void FileSystemDock::drop_data_fw(const Point2 &p_point, const Variant &p_data, // Drop on the favorite folder drop_position = 0; } else if (ti == resources_item) { - // Drop on the resouce item + // Drop on the resource item drop_position = dirs.size(); } else { // Drop in the list @@ -2157,7 +2157,7 @@ void FileSystemDock::select_file(const String &p_file) { void FileSystemDock::_file_multi_selected(int p_index, bool p_selected) { - // Set the path to the current focussed item + // Set the path to the current focused item int current = files->get_current(); if (current == p_index) { String fpath = files->get_item_metadata(current); diff --git a/editor/find_in_files.cpp b/editor/find_in_files.cpp index bae0d196fd..af4ba56aee 100644 --- a/editor/find_in_files.cpp +++ b/editor/find_in_files.cpp @@ -321,7 +321,7 @@ FindInFilesDialog::FindInFilesDialog() { _search_text_line_edit->connect("text_entered", this, "_on_search_text_entered"); gc->add_child(_search_text_line_edit); - gc->add_child(memnew(Control)); // Space to mantain the grid aligned. + gc->add_child(memnew(Control)); // Space to maintain the grid aligned. { HBoxContainer *hbc = memnew(HBoxContainer); diff --git a/editor/import/editor_import_plugin.h b/editor/import/editor_import_plugin.h index 9e64fdb7c7..607d99e6e2 100644 --- a/editor/import/editor_import_plugin.h +++ b/editor/import/editor_import_plugin.h @@ -31,7 +31,7 @@ #ifndef EDITOR_IMPORT_PLUGIN_H #define EDITOR_IMPORT_PLUGIN_H -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" class EditorImportPlugin : public ResourceImporter { GDCLASS(EditorImportPlugin, Reference) diff --git a/editor/import/resource_importer_bitmask.cpp b/editor/import/resource_importer_bitmask.cpp index 431396d584..b568cbda9b 100644 --- a/editor/import/resource_importer_bitmask.cpp +++ b/editor/import/resource_importer_bitmask.cpp @@ -34,7 +34,7 @@ #include "core/io/image_loader.h" #include "editor/editor_file_system.h" #include "editor/editor_node.h" -#include "scene/resources/bit_mask.h" +#include "scene/resources/bit_map.h" #include "scene/resources/texture.h" String ResourceImporterBitMap::get_importer_name() const { diff --git a/editor/import/resource_importer_bitmask.h b/editor/import/resource_importer_bitmask.h index b0168e2b53..7cfb0c4a98 100644 --- a/editor/import/resource_importer_bitmask.h +++ b/editor/import/resource_importer_bitmask.h @@ -32,7 +32,7 @@ #define RESOURCE_IMPORTER_BITMASK_H #include "core/image.h" -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" class StreamBitMap; diff --git a/editor/import/resource_importer_csv_translation.h b/editor/import/resource_importer_csv_translation.h index 3d74731e8c..cf16826535 100644 --- a/editor/import/resource_importer_csv_translation.h +++ b/editor/import/resource_importer_csv_translation.h @@ -31,7 +31,7 @@ #ifndef RESOURCEIMPORTERCSVTRANSLATION_H #define RESOURCEIMPORTERCSVTRANSLATION_H -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" class ResourceImporterCSVTranslation : public ResourceImporter { GDCLASS(ResourceImporterCSVTranslation, ResourceImporter) diff --git a/editor/import/resource_importer_image.h b/editor/import/resource_importer_image.h index b38d833c5b..ffe05bdf58 100644 --- a/editor/import/resource_importer_image.h +++ b/editor/import/resource_importer_image.h @@ -32,7 +32,7 @@ #define RESOURCE_IMPORTER_IMAGE_H #include "core/image.h" -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" class ResourceImporterImage : public ResourceImporter { GDCLASS(ResourceImporterImage, ResourceImporter) diff --git a/editor/import/resource_importer_layered_texture.h b/editor/import/resource_importer_layered_texture.h index 599fdf12fa..6a616e09d6 100644 --- a/editor/import/resource_importer_layered_texture.h +++ b/editor/import/resource_importer_layered_texture.h @@ -32,7 +32,7 @@ #define RESOURCE_IMPORTER_LAYERED_TEXTURE_H #include "core/image.h" -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" class StreamTexture; diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index f230fa1b8b..2616ba6e87 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -46,7 +46,7 @@ #include "scene/resources/box_shape.h" #include "scene/resources/plane_shape.h" #include "scene/resources/ray_shape.h" -#include "scene/resources/scene_format_text.h" +#include "scene/resources/resource_format_text.h" #include "scene/resources/sphere_shape.h" uint32_t EditorSceneImporter::get_import_flags() const { diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h index 9435b6599a..9d06b411d6 100644 --- a/editor/import/resource_importer_scene.h +++ b/editor/import/resource_importer_scene.h @@ -31,7 +31,7 @@ #ifndef RESOURCEIMPORTERSCENE_H #define RESOURCEIMPORTERSCENE_H -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" #include "scene/resources/animation.h" #include "scene/resources/mesh.h" #include "scene/resources/shape.h" diff --git a/editor/import/resource_importer_texture.h b/editor/import/resource_importer_texture.h index 900654c114..408af1edcf 100644 --- a/editor/import/resource_importer_texture.h +++ b/editor/import/resource_importer_texture.h @@ -32,7 +32,7 @@ #define RESOURCEIMPORTTEXTURE_H #include "core/image.h" -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" class StreamTexture; diff --git a/editor/import/resource_importer_wav.h b/editor/import/resource_importer_wav.h index 68e677b977..755dea3d84 100644 --- a/editor/import/resource_importer_wav.h +++ b/editor/import/resource_importer_wav.h @@ -31,7 +31,7 @@ #ifndef RESOURCEIMPORTWAV_H #define RESOURCEIMPORTWAV_H -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" class ResourceImporterWAV : public ResourceImporter { GDCLASS(ResourceImporterWAV, ResourceImporter) diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp index 40cf02ac9d..15539ee3db 100644 --- a/editor/import_dock.cpp +++ b/editor/import_dock.cpp @@ -424,7 +424,7 @@ void ImportDock::_reimport_attempt() { void ImportDock::_reimport_and_restart() { EditorNode::get_singleton()->save_all_scenes(); - EditorResourcePreview::get_singleton()->stop(); //dont try to re-create previews after import + EditorResourcePreview::get_singleton()->stop(); //don't try to re-create previews after import _reimport(); EditorNode::get_singleton()->restart_editor(); } diff --git a/editor/import_dock.h b/editor/import_dock.h index 1d43e00b63..77a34e80eb 100644 --- a/editor/import_dock.h +++ b/editor/import_dock.h @@ -32,7 +32,7 @@ #define IMPORTDOCK_H #include "core/io/config_file.h" -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" #include "editor/editor_file_system.h" #include "editor/editor_inspector.h" #include "scene/gui/box_container.h" diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp index 41e2062ab2..5a62f0da4e 100644 --- a/editor/plugins/abstract_polygon_2d_editor.cpp +++ b/editor/plugins/abstract_polygon_2d_editor.cpp @@ -201,6 +201,8 @@ void AbstractPolygon2DEditor::_notification(int p_what) { case NOTIFICATION_READY: { + disable_polygon_editing(false, String()); + button_create->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveCreate", "EditorIcons")); button_edit->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveEdit", "EditorIcons")); button_delete->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveDelete", "EditorIcons")); @@ -275,9 +277,30 @@ void AbstractPolygon2DEditor::_wip_close() { selected_point = Vertex(); } +void AbstractPolygon2DEditor::disable_polygon_editing(bool p_disable, String p_reason) { + + _polygon_editing_enabled = !p_disable; + + button_create->set_disabled(p_disable); + button_edit->set_disabled(p_disable); + button_delete->set_disabled(p_disable); + + if (p_disable) { + + button_create->set_tooltip(p_reason); + button_edit->set_tooltip(p_reason); + button_delete->set_tooltip(p_reason); + } else { + + button_create->set_tooltip(TTR("Create points.")); + button_edit->set_tooltip(TTR("Edit points.\nLMB: Move Point\nRMB: Erase Point")); + button_delete->set_tooltip(TTR("Erase points.")); + } +} + bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) { - if (!_get_node()) + if (!_get_node() || !_polygon_editing_enabled) return false; Ref<InputEventMouseButton> mb = p_event; @@ -627,9 +650,8 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl void AbstractPolygon2DEditor::edit(Node *p_polygon) { - if (!canvas_item_editor) { + if (!canvas_item_editor) canvas_item_editor = CanvasItemEditor::get_singleton(); - } if (p_polygon) { @@ -648,7 +670,6 @@ void AbstractPolygon2DEditor::edit(Node *p_polygon) { selected_point = Vertex(); canvas_item_editor->update_viewport(); - } else { _set_node(NULL); @@ -783,19 +804,16 @@ AbstractPolygon2DEditor::AbstractPolygon2DEditor(EditorNode *p_editor, bool p_wi add_child(button_create); button_create->connect("pressed", this, "_menu_option", varray(MODE_CREATE)); button_create->set_toggle_mode(true); - button_create->set_tooltip(TTR("Create points.")); button_edit = memnew(ToolButton); add_child(button_edit); button_edit->connect("pressed", this, "_menu_option", varray(MODE_EDIT)); button_edit->set_toggle_mode(true); - button_edit->set_tooltip(TTR("Edit points.\nLMB: Move Point\nRMB: Erase Point")); button_delete = memnew(ToolButton); add_child(button_delete); button_delete->connect("pressed", this, "_menu_option", varray(MODE_DELETE)); button_delete->set_toggle_mode(true); - button_delete->set_tooltip(TTR("Erase points.")); create_resource = memnew(ConfirmationDialog); add_child(create_resource); diff --git a/editor/plugins/abstract_polygon_2d_editor.h b/editor/plugins/abstract_polygon_2d_editor.h index 289c2785b1..97244fa4e9 100644 --- a/editor/plugins/abstract_polygon_2d_editor.h +++ b/editor/plugins/abstract_polygon_2d_editor.h @@ -81,6 +81,8 @@ class AbstractPolygon2DEditor : public HBoxContainer { bool wip_active; bool wip_destructive; + bool _polygon_editing_enabled; + CanvasItemEditor *canvas_item_editor; EditorNode *editor; Panel *panel; @@ -135,6 +137,8 @@ protected: virtual void _create_resource(); public: + void disable_polygon_editing(bool p_disable, String p_reason); + bool forward_gui_input(const Ref<InputEvent> &p_event); void forward_canvas_draw_over_viewport(Control *p_overlay); diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index c68023ee9b..ab3936407b 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -1338,6 +1338,7 @@ void EditorAssetLibrary::_bind_methods() { EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) { + requesting = REQUESTING_NONE; templates_only = p_templates_only; VBoxContainer *library_main = memnew(VBoxContainer); diff --git a/editor/plugins/audio_stream_editor_plugin.h b/editor/plugins/audio_stream_editor_plugin.h index e60bf6a38f..12e4faef94 100644 --- a/editor/plugins/audio_stream_editor_plugin.h +++ b/editor/plugins/audio_stream_editor_plugin.h @@ -33,7 +33,7 @@ #include "editor/editor_node.h" #include "editor/editor_plugin.h" -#include "scene/audio/audio_player.h" +#include "scene/audio/audio_stream_player.h" #include "scene/gui/color_rect.h" #include "scene/resources/texture.h" diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 98d639a2d3..b5d59dae99 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -42,9 +42,9 @@ #include "scene/2d/light_2d.h" #include "scene/2d/particles_2d.h" #include "scene/2d/polygon_2d.h" -#include "scene/2d/screen_button.h" #include "scene/2d/skeleton_2d.h" #include "scene/2d/sprite.h" +#include "scene/2d/touch_screen_button.h" #include "scene/gui/grid_container.h" #include "scene/gui/nine_patch_rect.h" #include "scene/main/canvas_layer.h" @@ -4559,6 +4559,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { snap_grid = true; snap_guides = true; snap_rotation = false; + snap_relative = false; snap_pixel = false; skeleton_show_bones = true; diff --git a/editor/plugins/collision_shape_2d_editor_plugin.cpp b/editor/plugins/collision_shape_2d_editor_plugin.cpp index fc572f54e1..10023d88bf 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.cpp +++ b/editor/plugins/collision_shape_2d_editor_plugin.cpp @@ -35,9 +35,9 @@ #include "scene/resources/circle_shape_2d.h" #include "scene/resources/concave_polygon_shape_2d.h" #include "scene/resources/convex_polygon_shape_2d.h" +#include "scene/resources/line_shape_2d.h" #include "scene/resources/rectangle_shape_2d.h" #include "scene/resources/segment_shape_2d.h" -#include "scene/resources/shape_line_2d.h" Variant CollisionShape2DEditor::get_handle_value(int idx) const { diff --git a/editor/plugins/editor_preview_plugins.cpp b/editor/plugins/editor_preview_plugins.cpp index 0c0cc9d635..071a0287e6 100644 --- a/editor/plugins/editor_preview_plugins.cpp +++ b/editor/plugins/editor_preview_plugins.cpp @@ -36,7 +36,7 @@ #include "editor/editor_node.h" #include "editor/editor_scale.h" #include "editor/editor_settings.h" -#include "scene/resources/bit_mask.h" +#include "scene/resources/bit_map.h" #include "scene/resources/dynamic_font.h" #include "scene/resources/material.h" #include "scene/resources/mesh.h" diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp index 1d7b4ffa41..33157bc88f 100644 --- a/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/editor/plugins/polygon_2d_editor_plugin.cpp @@ -45,6 +45,7 @@ Node2D *Polygon2DEditor::_get_node() const { void Polygon2DEditor::_set_node(Node *p_polygon) { node = Object::cast_to<Polygon2D>(p_polygon); + _update_polygon_editing_state(); } Vector2 Polygon2DEditor::_get_offset(int p_idx) const { @@ -53,6 +54,7 @@ Vector2 Polygon2DEditor::_get_offset(int p_idx) const { } int Polygon2DEditor::_get_polygon_count() const { + if (node->get_internal_vertex_count() > 0) { return 0; //do not edit if internal vertices exist } else { @@ -365,6 +367,8 @@ void Polygon2DEditor::_cancel_editing() { node->set_vertex_colors(uv_create_colors_prev); node->call("_set_bones", uv_create_bones_prev); node->set_polygons(polygons_prev); + + _update_polygon_editing_state(); } else if (uv_drag) { uv_drag = false; if (uv_edit_mode[0]->is_pressed()) { // Edit UV. @@ -377,9 +381,20 @@ void Polygon2DEditor::_cancel_editing() { polygon_create.clear(); } +void Polygon2DEditor::_update_polygon_editing_state() { + + if (!_get_node()) + return; + + if (node->get_internal_vertex_count() > 0) + disable_polygon_editing(true, TTR("Polygon 2D has internal vertices, so it can no longer be edited in the viewport.")); + else + disable_polygon_editing(false, String()); +} + void Polygon2DEditor::_commit_action() { - // Makes that undo/redoing actions made outside of the UV editor still affects its polygon. + // Makes that undo/redoing actions made outside of the UV editor still affect its polygon. undo_redo->add_do_method(uv_edit_draw, "update"); undo_redo->add_undo_method(uv_edit_draw, "update"); undo_redo->add_do_method(CanvasItemEditor::get_singleton(), "update_viewport"); @@ -480,6 +495,7 @@ void Polygon2DEditor::_uv_input(const Ref<InputEvent> &p_input) { uv_create_colors_prev = node->get_vertex_colors(); uv_create_bones_prev = node->call("_get_bones"); polygons_prev = node->get_polygons(); + disable_polygon_editing(false, String()); node->set_polygon(points_prev); node->set_uv(points_prev); node->set_internal_vertex_count(0); @@ -501,6 +517,8 @@ void Polygon2DEditor::_uv_input(const Ref<InputEvent> &p_input) { undo_redo->add_undo_method(node, "set_vertex_colors", uv_create_colors_prev); undo_redo->add_do_method(node, "clear_bones"); undo_redo->add_undo_method(node, "_set_bones", uv_create_bones_prev); + undo_redo->add_do_method(this, "_update_polygon_editing_state"); + undo_redo->add_undo_method(this, "_update_polygon_editing_state"); undo_redo->add_do_method(uv_edit_draw, "update"); undo_redo->add_undo_method(uv_edit_draw, "update"); undo_redo->commit_action(); @@ -552,7 +570,8 @@ void Polygon2DEditor::_uv_input(const Ref<InputEvent> &p_input) { } undo_redo->add_do_method(node, "set_internal_vertex_count", internal_vertices + 1); undo_redo->add_undo_method(node, "set_internal_vertex_count", internal_vertices); - + undo_redo->add_do_method(this, "_update_polygon_editing_state"); + undo_redo->add_undo_method(this, "_update_polygon_editing_state"); undo_redo->add_do_method(uv_edit_draw, "update"); undo_redo->add_undo_method(uv_edit_draw, "update"); undo_redo->commit_action(); @@ -606,7 +625,8 @@ void Polygon2DEditor::_uv_input(const Ref<InputEvent> &p_input) { } undo_redo->add_do_method(node, "set_internal_vertex_count", internal_vertices - 1); undo_redo->add_undo_method(node, "set_internal_vertex_count", internal_vertices); - + undo_redo->add_do_method(this, "_update_polygon_editing_state"); + undo_redo->add_undo_method(this, "_update_polygon_editing_state"); undo_redo->add_do_method(uv_edit_draw, "update"); undo_redo->add_undo_method(uv_edit_draw, "update"); undo_redo->commit_action(); @@ -1028,6 +1048,9 @@ void Polygon2DEditor::_uv_draw() { Ref<Texture> internal_handle = get_icon("EditorInternalHandle", "EditorIcons"); Color poly_line_color = Color(0.9, 0.5, 0.5); + if (polygons.size() || polygon_create.size()) { + poly_line_color.a *= 0.25; + } Color polygon_line_color = Color(0.5, 0.5, 0.9); Vector<Color> polygon_fill_color; { @@ -1041,6 +1064,30 @@ void Polygon2DEditor::_uv_draw() { int uv_draw_max = uvs.size(); + uv_draw_max -= node->get_internal_vertex_count(); + if (uv_draw_max < 0) { + uv_draw_max = 0; + } + + for (int i = 0; i < uvs.size(); i++) { + + int next = uv_draw_max > 0 ? (i + 1) % uv_draw_max : 0; + + if (i < uv_draw_max && uv_drag && uv_move_current == UV_MODE_EDIT_POINT && EDITOR_DEF("editors/poly_editor/show_previous_outline", true)) { + uv_edit_draw->draw_line(mtx.xform(points_prev[i]), mtx.xform(points_prev[next]), prev_color, 2 * EDSCALE); + } + + Vector2 next_point = uvs[next]; + if (uv_create && i == uvs.size() - 1) { + next_point = uv_create_to; + } + if (i < uv_draw_max /*&& polygons.size() == 0 && polygon_create.size() == 0*/) { //if using or creating polygons, do not show outline (will show polygons instead) + uv_edit_draw->draw_line(mtx.xform(uvs[i]), mtx.xform(next_point), poly_line_color, 2 * EDSCALE); + } + + rect.expand_to(mtx.basis_xform(uvs[i])); + } + for (int i = 0; i < polygons.size(); i++) { PoolVector<int> points = polygons[i]; @@ -1063,27 +1110,8 @@ void Polygon2DEditor::_uv_draw() { } } - uv_draw_max -= node->get_internal_vertex_count(); - if (uv_draw_max < 0) { - uv_draw_max = 0; - } - for (int i = 0; i < uvs.size(); i++) { - int next = uv_draw_max > 0 ? (i + 1) % uv_draw_max : 0; - - if (i < uv_draw_max && uv_drag && uv_move_current == UV_MODE_EDIT_POINT && EDITOR_DEF("editors/poly_editor/show_previous_outline", true)) { - uv_edit_draw->draw_line(mtx.xform(points_prev[i]), mtx.xform(points_prev[next]), prev_color, 2 * EDSCALE); - } - - Vector2 next_point = uvs[next]; - if (uv_create && i == uvs.size() - 1) { - next_point = uv_create_to; - } - if (i < uv_draw_max && polygons.size() == 0 && polygon_create.size() == 0) { //if using or creating polygons, do not show outline (will show polygons instead) - uv_edit_draw->draw_line(mtx.xform(uvs[i]), mtx.xform(next_point), poly_line_color, 2 * EDSCALE); - } - if (weight_r.ptr()) { Vector2 draw_pos = mtx.xform(uvs[i]); float weight = weight_r[i]; @@ -1095,14 +1123,13 @@ void Polygon2DEditor::_uv_draw() { uv_edit_draw->draw_texture(internal_handle, mtx.xform(uvs[i]) - internal_handle->get_size() * 0.5); } } - rect.expand_to(mtx.basis_xform(uvs[i])); } if (polygon_create.size()) { for (int i = 0; i < polygon_create.size(); i++) { Vector2 from = uvs[polygon_create[i]]; Vector2 to = (i + 1) < polygon_create.size() ? uvs[polygon_create[i + 1]] : uv_create_to; - uv_edit_draw->draw_line(mtx.xform(from), mtx.xform(to), poly_line_color, 2); + uv_edit_draw->draw_line(mtx.xform(from), mtx.xform(to), polygon_line_color, 2); } } @@ -1216,6 +1243,7 @@ void Polygon2DEditor::_bind_methods() { ClassDB::bind_method(D_METHOD("_uv_edit_popup_hide"), &Polygon2DEditor::_uv_edit_popup_hide); ClassDB::bind_method(D_METHOD("_sync_bones"), &Polygon2DEditor::_sync_bones); ClassDB::bind_method(D_METHOD("_update_bone_list"), &Polygon2DEditor::_update_bone_list); + ClassDB::bind_method(D_METHOD("_update_polygon_editing_state"), &Polygon2DEditor::_update_polygon_editing_state); ClassDB::bind_method(D_METHOD("_bone_paint_selected"), &Polygon2DEditor::_bone_paint_selected); } diff --git a/editor/plugins/polygon_2d_editor_plugin.h b/editor/plugins/polygon_2d_editor_plugin.h index d1849dd09b..24ca2ea3f4 100644 --- a/editor/plugins/polygon_2d_editor_plugin.h +++ b/editor/plugins/polygon_2d_editor_plugin.h @@ -128,6 +128,7 @@ class Polygon2DEditor : public AbstractPolygon2DEditor { virtual void _menu_option(int p_option); void _cancel_editing(); + void _update_polygon_editing_state(); void _uv_scroll_changed(float); void _uv_input(const Ref<InputEvent> &p_input); diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index c747e8fe5c..e95b1356bf 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -273,8 +273,8 @@ void ScriptTextEditor::_set_theme_for_script() { } } -void ScriptTextEditor::_toggle_warning_pannel() { - warnings_panel->set_visible(!warnings_panel->is_visible()); +void ScriptTextEditor::_show_warnings_panel(bool p_show) { + warnings_panel->set_visible(p_show); } void ScriptTextEditor::_error_pressed() { @@ -1101,7 +1101,7 @@ void ScriptTextEditor::_bind_methods() { ClassDB::bind_method("_goto_line", &ScriptTextEditor::_goto_line); ClassDB::bind_method("_lookup_symbol", &ScriptTextEditor::_lookup_symbol); ClassDB::bind_method("_text_edit_gui_input", &ScriptTextEditor::_text_edit_gui_input); - ClassDB::bind_method("_toggle_warning_pannel", &ScriptTextEditor::_toggle_warning_pannel); + ClassDB::bind_method("_show_warnings_panel", &ScriptTextEditor::_show_warnings_panel); ClassDB::bind_method("_error_pressed", &ScriptTextEditor::_error_pressed); ClassDB::bind_method("_warning_clicked", &ScriptTextEditor::_warning_clicked); ClassDB::bind_method("_color_changed", &ScriptTextEditor::_color_changed); @@ -1440,7 +1440,7 @@ ScriptTextEditor::ScriptTextEditor() { warnings_panel->hide(); code_editor->connect("error_pressed", this, "_error_pressed"); - code_editor->connect("warning_pressed", this, "_toggle_warning_pannel"); + code_editor->connect("show_warnings_panel", this, "_show_warnings_panel"); warnings_panel->connect("meta_clicked", this, "_warning_clicked"); update_settings(); diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h index 6e88fc2301..f83aadddef 100644 --- a/editor/plugins/script_text_editor.h +++ b/editor/plugins/script_text_editor.h @@ -125,7 +125,7 @@ protected: void _code_complete_script(const String &p_code, List<String> *r_options, bool &r_force); void _load_theme_settings(); void _set_theme_for_script(); - void _toggle_warning_pannel(); + void _show_warnings_panel(bool p_show); void _error_pressed(); void _warning_clicked(Variant p_line); diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp index 9ece812c49..41666f1082 100644 --- a/editor/plugins/spatial_editor_plugin.cpp +++ b/editor/plugins/spatial_editor_plugin.cpp @@ -35,7 +35,7 @@ #include "core/os/keyboard.h" #include "core/print_string.h" #include "core/project_settings.h" -#include "core/sort.h" +#include "core/sort_array.h" #include "editor/editor_node.h" #include "editor/editor_settings.h" #include "editor/plugins/animation_player_editor_plugin.h" @@ -4856,6 +4856,13 @@ void SpatialEditor::_update_gizmos_menu() { } } +void SpatialEditor::_update_gizmos_menu_theme() { + for (int i = 0; i < gizmo_plugins.size(); ++i) { + if (!gizmo_plugins[i]->can_be_hidden()) continue; + gizmos_menu->set_item_icon(gizmos_menu->get_item_index(i), gizmos_menu->get_icon("visibility_visible")); + } +} + void SpatialEditor::_init_grid() { PoolVector<Color> grid_colors[3]; @@ -5145,20 +5152,17 @@ void SpatialEditor::_notification(int p_what) { get_tree()->connect("node_removed", this, "_node_removed"); EditorNode::get_singleton()->get_scene_tree_dock()->get_tree_editor()->connect("node_changed", this, "_refresh_menu_icons"); editor_selection->connect("selection_changed", this, "_refresh_menu_icons"); - } - - if (p_what == NOTIFICATION_ENTER_TREE) { + } else if (p_what == NOTIFICATION_ENTER_TREE) { _register_all_gizmos(); _update_gizmos_menu(); _init_indicators(); - } - - if (p_what == NOTIFICATION_EXIT_TREE) { + } else if (p_what == NOTIFICATION_THEME_CHANGED) { + _update_gizmos_menu_theme(); + } else if (p_what == NOTIFICATION_EXIT_TREE) { _finish_indicators(); - } - if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) { + } else if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) { tool_button[SpatialEditor::TOOL_MODE_SELECT]->set_icon(get_icon("ToolSelect", "EditorIcons")); tool_button[SpatialEditor::TOOL_MODE_MOVE]->set_icon(get_icon("ToolMove", "EditorIcons")); tool_button[SpatialEditor::TOOL_MODE_ROTATE]->set_icon(get_icon("ToolRotate", "EditorIcons")); diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h index 2dc627cb27..364b0085f7 100644 --- a/editor/plugins/spatial_editor_plugin.h +++ b/editor/plugins/spatial_editor_plugin.h @@ -618,6 +618,7 @@ private: void _instance_scene(); void _init_indicators(); void _update_gizmos_menu(); + void _update_gizmos_menu_theme(); void _init_grid(); void _finish_indicators(); void _finish_grid(); diff --git a/editor/translations/af.po b/editor/translations/af.po index 61e9a5d41c..fa210f0894 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -557,7 +557,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1130,8 +1130,9 @@ msgid "Add Bus" msgstr "Voeg Bus By" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Skep 'n nuwe Bus Uitleg." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Stoor Oudio-Bus Uitleg As..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1160,6 +1161,10 @@ msgstr "Laai Verstek" msgid "Load the default Bus Layout." msgstr "Laai die verstek Bus Uitleg." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Skep 'n nuwe Bus Uitleg." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Ongeldige naam." @@ -2367,7 +2372,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3437,23 +3442,6 @@ msgid "Create Polygon" msgstr "Skep Intekening" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Skep Intekening" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3472,6 +3460,23 @@ msgstr "" msgid "Erase points." msgstr "" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Skep Intekening" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5183,6 +5188,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9536,21 +9547,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9574,6 +9570,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9631,7 +9642,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 7fcfcc542b..4870528b89 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -14,7 +14,7 @@ # omar anwar aglan <omar.aglan91@yahoo.com>, 2017-2018. # OWs Tetra <owstetra@gmail.com>, 2017. # Rached Noureddine <rached.noureddine@gmail.com>, 2018. -# Rex_sa <asd1234567890m@gmail.com>, 2017, 2018. +# Rex_sa <asd1234567890m@gmail.com>, 2017, 2018, 2019. # Wajdi Feki <wajdi.feki@gmail.com>, 2017. # Omar Aglan <omar.aglan91@yahoo.com>, 2018, 2019. # Codes Otaku <ilyas.gamerz@gmail.com>, 2018. @@ -22,12 +22,13 @@ # Mohamed El-Baz <albaz2000eg@gmail.com>, 2018. # عاصم شكر - Aasem shokr <aasemshokr@gmail.com>, 2018. # Mohammad Fares <mhdchehade@gmail.com>, 2018. +# NewFriskFan26 <newfriskfan26@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-01-21 19:30+0000\n" -"Last-Translator: Omar Aglan <omar.aglan91@yahoo.com>\n" +"PO-Revision-Date: 2019-02-18 08:54+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" @@ -36,7 +37,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\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 3.4-dev\n" +"X-Generator: Weblate 3.5-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -51,7 +52,7 @@ msgstr "لا يوجد ما يكÙÙŠ من البايتات من أجل ÙÙƒ Ø§Ù„Ø #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "" +msgstr "Ù…Ùدخل غير ØµØ§Ù„Ø \"i%\" (لم يتم تمريره) ÙÙŠ السطر" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -141,11 +142,11 @@ msgstr "خط التØريك ثلاثي الأبعاد" #: editor/animation_track_editor.cpp msgid "Call Method Track" -msgstr "" +msgstr "استدعاء أسلوب المسار" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "" +msgstr "مسار منØنى بيزيه" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" @@ -186,7 +187,7 @@ msgstr "تمكين/إيقا٠هذا المسار." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" -msgstr "" +msgstr "وضع التØديث (كي٠يتم تعيين هذه الخاصية)" #: editor/animation_track_editor.cpp #, fuzzy @@ -226,7 +227,7 @@ msgstr "المستقبل" #: editor/animation_track_editor.cpp msgid "Nearest" -msgstr "" +msgstr "أقرب" #: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -235,7 +236,7 @@ msgstr "خطي" #: editor/animation_track_editor.cpp msgid "Cubic" -msgstr "" +msgstr "مكعب" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" @@ -572,7 +573,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1139,8 +1140,9 @@ msgid "Add Bus" msgstr "أض٠بيوس" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "أنشئ نسق بيوس جديد." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Ø¥ØÙظ نسق بيوس الصوت كـ..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1168,6 +1170,10 @@ msgstr "تØميل الإÙتراضي" msgid "Load the default Bus Layout." msgstr "تØميل نسق البيوس الإÙتراضي." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "أنشئ نسق بيوس جديد." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "اسم غير صالØ." @@ -2426,7 +2432,8 @@ msgid "Save & Restart" msgstr "ØÙظ Ùˆ خروج" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "يدور Øينما ناÙذة المÙعدل يتم إعادة دهانة!" #: editor/editor_node.cpp @@ -3515,25 +3522,6 @@ msgid "Create Polygon" msgstr "إنشاء بولي" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "تعديل البولي" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "إدخال نقطة" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "تعديل البولي (Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Ù…Ø³Ø Ø§Ù„Ø¨ÙˆÙ„ÙŠ والنقطة" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3558,6 +3546,25 @@ msgstr "" msgid "Erase points." msgstr "زر الÙأرة الأيمن: Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "تعديل البولي" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "إدخال نقطة" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "تعديل البولي (Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Ù…Ø³Ø Ø§Ù„Ø¨ÙˆÙ„ÙŠ والنقطة" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5297,6 +5304,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "إنشاء بولي" @@ -9717,21 +9730,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9755,6 +9753,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9813,7 +9826,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "أض٠اللون الØالي كإعداد مسبق" #: scene/gui/dialogs.cpp diff --git a/editor/translations/bg.po b/editor/translations/bg.po index a29d4f2a32..cbab22b334 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -7,12 +7,13 @@ # Любомир ВаÑилев <lyubomirv@abv.bg>, 2018. # MaresPW <marespw206@gmail.com>, 2018. # PakoSt <kokotekilata@gmail.com>, 2018. +# Damyan Dichev <mwshock2@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2018-12-13 14:38+0100\n" -"Last-Translator: PakoSt <kokotekilata@gmail.com>\n" +"PO-Revision-Date: 2019-02-13 07:10+0000\n" +"Last-Translator: Damyan Dichev <mwshock2@gmail.com>\n" "Language-Team: Bulgarian <https://hosted.weblate.org/projects/godot-engine/" "godot/bg/>\n" "Language: bg\n" @@ -20,7 +21,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: Poedit 2.2\n" +"X-Generator: Weblate 3.5-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -45,11 +46,12 @@ msgstr "" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." -msgstr "" +msgstr "Ðевалидни операнди към оператор %s, %s и %s." #: core/math/expression.cpp +#, fuzzy msgid "Invalid index of type %s for base type %s" -msgstr "" +msgstr "Ðевалиден Ð¸Ð½Ð´ÐµÐºÑ Ð¾Ñ‚ тип %s за базов тип %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" @@ -557,7 +559,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1108,7 +1110,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1137,6 +1139,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2342,7 +2348,7 @@ msgid "Save & Restart" msgstr "Запазване и повторно внаÑÑне" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3441,24 +3447,6 @@ msgid "Create Polygon" msgstr "Създаване на папка" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "ПриÑтавки" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "ПремеÑтване на Полигон" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3481,6 +3469,24 @@ msgstr "" msgid "Erase points." msgstr "Изтрий точки." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "ПриÑтавки" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "ПремеÑтване на Полигон" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5201,6 +5207,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9658,21 +9670,6 @@ msgstr "" "Параметърът 'Path' Ñ‚Ñ€Ñбва да Ñочи към дейÑтвителен възел Particles2D, за да " "работи." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9696,6 +9693,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9749,7 +9761,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/bn.po b/editor/translations/bn.po index 0dd1ea9ec6..5d24e2b222 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -576,7 +576,7 @@ msgid "Warnings" msgstr "সতরà§à¦•à¦¤à¦¾" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1150,8 +1150,9 @@ msgid "Add Bus" msgstr "বাস যোগ করà§à¦¨" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "নতà§à¦¨ বাস লেআউট তৈরি করà§à¦¨à¥¤" +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "অডিও বাস লেআউট সেঠকরà§à¦¨..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1179,6 +1180,10 @@ msgstr "লোড ডিফলà§à¦Ÿ" msgid "Load the default Bus Layout." msgstr "ডিফলà§à¦Ÿ বাস লেআউট লোড করà§à¦¨à¥¤" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "নতà§à¦¨ বাস লেআউট তৈরি করà§à¦¨à¥¤" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ নাম।" @@ -2492,7 +2497,8 @@ msgid "Save & Restart" msgstr "সংরকà§à¦·à¦£ à¦à¦¬à¦‚ পà§à¦¨-ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° পà§à¦¨-অঙà§à¦•à¦¨à§‡ à¦à¦Ÿà¦¿ ঘূরà§à¦£à¦¨ করে!" #: editor/editor_node.cpp @@ -3660,26 +3666,6 @@ msgid "Create Polygon" msgstr "Poly তৈরি করà§à¦¨" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Poly সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Insert Point" -msgstr "সনà§à¦¨à¦¿à¦¬à§‡à¦¶à¦¿à¦¤ হচà§à¦›à§‡" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Poly সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨ (বিনà§à¦¦à§ অপসারণ করà§à¦¨)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "পলি à¦à¦¬à¦‚ বিনà§à¦¦à§ অপসারণ করà§à¦¨" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3704,6 +3690,26 @@ msgstr "" msgid "Erase points." msgstr "মাউসের ডান বোতাম: বিনà§à¦¦à§ মà§à¦›à§‡ ফেলà§à¦¨à¥¤" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Poly সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Insert Point" +msgstr "সনà§à¦¨à¦¿à¦¬à§‡à¦¶à¦¿à¦¤ হচà§à¦›à§‡" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Poly সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨ (বিনà§à¦¦à§ অপসারণ করà§à¦¨)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "পলি à¦à¦¬à¦‚ বিনà§à¦¦à§ অপসারণ করà§à¦¨" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5504,6 +5510,12 @@ msgid "Create UV Map" msgstr "UV Map তৈরি করà§à¦¨" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Poly তৈরি করà§à¦¨" @@ -10200,23 +10212,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "Path à¦à¦° দিক অবশà§à¦¯à¦‡ à¦à¦•à¦Ÿà¦¿ কারà§à¦¯à¦•à¦° Spatial নোডের à¦à¦° দিকে নিরà§à¦¦à§‡à¦¶ করাতে হবে।" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"পà§à¦°à¦¤à¦¿ দৃশà§à¦¯à§‡ (অথবা ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸à¦¡ দৃশà§à¦¯à§‡à¦° সমà§à¦®à§‡à¦²à¦¨à§‡) সরà§à¦¬à§‹à¦šà§à¦š à¦à¦•à¦Ÿà¦¿ দৃশà§à¦¯à¦®à¦¾à¦¨ WorldEnvironment " -"সমà§à¦à¦¬à¥¤" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -10242,6 +10237,23 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"পà§à¦°à¦¤à¦¿ দৃশà§à¦¯à§‡ (অথবা ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸à¦¡ দৃশà§à¦¯à§‡à¦° সমà§à¦®à§‡à¦²à¦¨à§‡) সরà§à¦¬à§‹à¦šà§à¦š à¦à¦•à¦Ÿà¦¿ দৃশà§à¦¯à¦®à¦¾à¦¨ WorldEnvironment " +"সমà§à¦à¦¬à¥¤" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -10302,7 +10314,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ca.po b/editor/translations/ca.po index afe86eb47c..d43dae0f8e 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -552,7 +552,7 @@ msgid "Warnings" msgstr "Avisos" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1115,8 +1115,9 @@ msgid "Add Bus" msgstr "Afegeix Bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Crea un nou Disseny de Bus." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Anomena i Desa el Disseny del Bus d'Àudio..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1144,6 +1145,10 @@ msgstr "Carrega Valors predeterminats" msgid "Load the default Bus Layout." msgstr "Carrega el disseny del Bus predeterminat." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Crea un nou Disseny de Bus." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Nom no và lid." @@ -2420,7 +2425,8 @@ msgid "Save & Restart" msgstr "Desa i Reinicia" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Gira i Gira mentre l'editor es repinta!" #: editor/editor_node.cpp @@ -3483,25 +3489,6 @@ msgid "Create Polygon" msgstr "Crea PolÃgon" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Edita PolÃgon" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Insereix un Punt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Edita el PolÃgon (Elimina un Punt)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Elimina el PolÃgon i el Punt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3524,6 +3511,25 @@ msgstr "" msgid "Erase points." msgstr "Elimina un Punt." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Edita PolÃgon" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Insereix un Punt" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Edita el PolÃgon (Elimina un Punt)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Elimina el PolÃgon i el Punt" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5274,6 +5280,12 @@ msgid "Create UV Map" msgstr "Crea un Mapa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Crea PolÃgon" @@ -9842,25 +9854,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "Cal que la propietat Camà assenyali cap a un node Spatial và lid." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment necessita un recurs Ambiental." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Només es permet un sol WorldEnvironment per escena ( o conjunt d'escenes " -"instanciades)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Aquest WorldEnvironment s'ignora. Afegiu una cà mera (per a escenes 3D) o " -"configureu el Background Mode a Canvas (per a escenes 2D)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9893,6 +9886,25 @@ msgstr "" "RigidBody(Carà cter o RÃgid). \n" "Modifica la mida de les Formes de Col·lisió Filles." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment necessita un recurs Ambiental." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Només es permet un sol WorldEnvironment per escena ( o conjunt d'escenes " +"instanciades)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Aquest WorldEnvironment s'ignora. Afegiu una cà mera (per a escenes 3D) o " +"configureu el Background Mode a Canvas (per a escenes 2D)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9952,7 +9964,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Afegeix el Color actual com a predeterminat" #: scene/gui/dialogs.cpp diff --git a/editor/translations/cs.po b/editor/translations/cs.po index 40308bf109..b987e1d8ef 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -555,7 +555,7 @@ msgid "Warnings" msgstr "VarovánÃ" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1118,8 +1118,9 @@ msgid "Add Bus" msgstr "PÅ™idat bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "" +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Uložit rozloženà Audio Busu jako..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1147,6 +1148,10 @@ msgstr "NaÄÃst výchozÃ" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Neplatný název." @@ -2380,7 +2385,8 @@ msgid "Save & Restart" msgstr "Uložit a restartovat" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "ToÄà se, když se okno pÅ™ekresluje!" #: editor/editor_node.cpp @@ -3438,25 +3444,6 @@ msgid "Create Polygon" msgstr "VytvoÅ™it polygon" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Editovat polygon" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Vložit polygon" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Upravit polygon (Odstranit bod)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Odstranit polygon a bod" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3479,6 +3466,25 @@ msgstr "" msgid "Erase points." msgstr "Vymazat body." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Editovat polygon" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Vložit polygon" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Upravit polygon (Odstranit bod)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Odstranit polygon a bod" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5190,6 +5196,12 @@ msgid "Create UV Map" msgstr "VytvoÅ™it UV mapu" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "VytvoÅ™it Poly3D" @@ -9645,23 +9657,6 @@ msgstr "" "Aby ParticleAttractor2D fungoval, musà vlastnost path ukazovat na platný " "uzel Particles2D." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Na každou scénu (nebo skupinu instancovaných scén) je povolen pouze jeden " -"WorldEnvironment." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9691,6 +9686,23 @@ msgstr "" "VehicleWheel sloužà jako systém kol pro VehicleBody. Použijte ho prosÃm jako " "potomka VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Na každou scénu (nebo skupinu instancovaných scén) je povolen pouze jeden " +"WorldEnvironment." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9747,7 +9759,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "PÅ™idat aktuálnà barvu jako pÅ™edvolbu" #: scene/gui/dialogs.cpp diff --git a/editor/translations/da.po b/editor/translations/da.po index b5cda124b7..41e00e3cbf 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -553,7 +553,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1113,8 +1113,9 @@ msgid "Add Bus" msgstr "Tilføj Bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Opret et nyt Bus Layout." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Gem Audio Bus Layout Som..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1142,6 +1143,10 @@ msgstr "Indlæs Default" msgid "Load the default Bus Layout." msgstr "Indlæs standard Bus Layout." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Opret et nyt Bus Layout." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Ugyldigt navn." @@ -2384,7 +2389,8 @@ msgid "Save & Restart" msgstr "Gem & genstart" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Snurrer nÃ¥r editor vinduer gentegnes!" #: editor/editor_node.cpp @@ -3473,25 +3479,6 @@ msgid "Create Polygon" msgstr "Opret Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Rediger Poly" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Indsæt Punkt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Rediger Poly (Fjern Punkt)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Fjern Poly og Punkt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3516,6 +3503,25 @@ msgstr "" msgid "Erase points." msgstr "Slet points" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Rediger Poly" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Indsæt Punkt" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Rediger Poly (Fjern Punkt)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Fjern Poly og Punkt" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5244,6 +5250,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Opret Poly" @@ -9715,23 +9727,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "Stien skal pege pÃ¥ en gyldig fysisk node for at virke." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Kun én WorldEnvironment er tilladt pr. scene (eller et sæt af instanserede " -"scener)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9757,6 +9752,23 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Kun én WorldEnvironment er tilladt pr. scene (eller et sæt af instanserede " +"scener)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9815,7 +9827,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/de.po b/editor/translations/de.po index 8f6902a3f3..5ee82b5d7a 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -41,7 +41,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-10 12:01+0000\n" +"PO-Revision-Date: 2019-02-13 23:10+0000\n" "Last-Translator: Martin <martinreininger@gmx.net>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" @@ -582,8 +582,9 @@ msgid "Warnings" msgstr "Warnungen" #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "Zeilen- und Spaltennummern" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -626,7 +627,7 @@ msgstr "Zusätzliche Aufrufparameter:" #: editor/connections_dialog.cpp msgid "Path to Node:" -msgstr "Pfad zur Node:" +msgstr "Pfad zum Node:" #: editor/connections_dialog.cpp msgid "Make Function" @@ -1005,7 +1006,7 @@ msgstr "Paket wurde erfolgreich installiert!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Success!" -msgstr "Erfolgreich!" +msgstr "Geschafft!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1146,8 +1147,9 @@ msgid "Add Bus" msgstr "Audiobus hinzufügen" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Neues Audiobus-Layout erstellen." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Audiobus-Layout speichern als..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1175,6 +1177,10 @@ msgstr "Standard laden" msgid "Load the default Bus Layout." msgstr "Standard Bus-Layout laden." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Neues Audiobus-Layout erstellen." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Ungültiger Name." @@ -2433,7 +2439,8 @@ msgid "Save & Restart" msgstr "Speichern & Neu starten" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Dreht sich, wenn das Editorfenster neu gezeichnet wird!" #: editor/editor_node.cpp @@ -3499,22 +3506,6 @@ msgid "Create Polygon" msgstr "Polygon erstellen" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Polygon bearbeiten" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Punkt einfügen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Polygon bearbeiten (Punkt entfernen)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Polygon und Punkt entfernen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3535,6 +3526,22 @@ msgstr "" msgid "Erase points." msgstr "Punkte löschen." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Polygon bearbeiten" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Punkt einfügen" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Polygon bearbeiten (Punkt entfernen)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Polygon und Punkt entfernen" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -4339,16 +4346,15 @@ msgstr "CanvasItem verschieben" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "Voreinstellungen für die Anker- und Ränderwerte eines Kontroll-Nodes." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"Warnung: Position und Größe der Kinder eines Containers werden nur von ihren " -"Eltern bestimmt." +"Bei Containern für Kinder werden die Anker- und Randwerte von ihren Eltern " +"überschrieben." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5263,6 +5269,12 @@ msgid "Create UV Map" msgstr "Erzeuge UV-Map" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Polygon und UV erstellen" @@ -6354,7 +6366,6 @@ msgid "Post" msgstr "Nachher" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Nameless gizmo" msgstr "Namenloser Anfasser" @@ -6433,14 +6444,12 @@ msgid "(empty)" msgstr "(leer)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Animationen" +msgstr "Animationen:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "Animation" +msgstr "Neue Animation" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6451,9 +6460,8 @@ msgid "Loop" msgstr "Wiederholung" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Animationsframes" +msgstr "Animationsbilder:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -7262,7 +7270,6 @@ msgid "Are you sure to open more than one project?" msgstr "Sollen wirklich mehrere Projekte geöffnet werden?" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -7274,12 +7281,13 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" -"Die Projekteinstellungsdatei ist mit einer älteren Version erstellt worden " -"und muss in die folgende Version konvertiert werden:\n" +"Die folgenden Projekteinstellungsdatei enthält keine Information darüber, " +"mit welcher Version von Godot sie erstellt wurde.\n" "\n" "%s\n" "\n" -"Möchten Sie die Konvertierung durchführen?\n" +"Wenn Sie mit dem Öffnen fortfahren, wird die Datei in das aktuelle " +"Konfigurationsdateiformat von Godot konvertiert.\n" "Warnung: Das Projekt kann nach der Konvertierung nicht mehr mit einer " "älteren Version geöffnet werden." @@ -7529,7 +7537,7 @@ msgstr "Ereignis hinzufügen" #: editor/project_settings_editor.cpp msgid "Button" -msgstr "Knopf" +msgstr "Button" #: editor/project_settings_editor.cpp msgid "Left Button." @@ -9509,6 +9517,9 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"GPU-basierte Partikel werden vom GLES2-Grafiktreiber nicht unterstützt.\n" +"Verwenden Sie stattdessen den CPUParticles2D Node. Sie können dazu die " +"Option \"In CPUPartikel konvertieren\" verwenden." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9709,6 +9720,9 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"GPU-basierte Partikel werden vom GLES2-Grafiktreiber nicht unterstützt.\n" +"Verwenden Sie stattdessen den CPUParticles Knoten. Sie können dazu die " +"Option \"In CPUPartikel konvertieren\" verwenden." #: scene/3d/particles.cpp msgid "" @@ -9753,26 +9767,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "Die Pfad-Eigenschaft muss auf ein gültiges Spatial-Node verweisen." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "Ein WorldEnvironment benötigt eine Environment-Ressource." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Pro Szene (oder einem Satz von instanzierten Szenen) ist nur ein einziges " -"WorldEnvironment erlaubt." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Dieses WorldEnvironment wird ignoriert. Entweder füge eine Kamera (für 3D-" -"Szenen) hinzu oder setze den Hintergrund-Modus des Environments nach Canvas " -"(für 2D-Szenen)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "Diese Körper wird ignoriert werden bis ein Mesh gesetzt wurde" @@ -9805,6 +9799,26 @@ msgstr "" "implementieren. Es kann ausschließlich als Unterobjekt von VehicleBody " "verwendet werden." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "Ein WorldEnvironment benötigt eine Environment-Ressource." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Pro Szene (oder einem Satz von instanzierten Szenen) ist nur ein einziges " +"WorldEnvironment erlaubt." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Dieses WorldEnvironment wird ignoriert. Entweder füge eine Kamera (für 3D-" +"Szenen) hinzu oder setze den Hintergrund-Modus des Environments nach Canvas " +"(für 2D-Szenen)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "In BlendTree-Node ‚%s‘, Animation nicht gefunden: ‚%s‘" @@ -9853,7 +9867,7 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "Wählt eine Farbe vom Bildschirm aus." #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -9861,10 +9875,11 @@ msgstr "Rohdatenmodus" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "Wechselt zwischen Hexadezimal- und Zahlenwerten." #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Füge aktuelle Farbe als Vorlage hinzu" #: scene/gui/dialogs.cpp diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po index d7c563d6e8..e324a988d5 100644 --- a/editor/translations/de_CH.po +++ b/editor/translations/de_CH.po @@ -554,7 +554,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1116,7 +1116,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1145,6 +1145,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2349,7 +2353,7 @@ msgid "Save & Restart" msgstr "Datei speichern" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3427,25 +3431,6 @@ msgid "Create Polygon" msgstr "Node erstellen" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Script hinzufügen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Insert Point" -msgstr "Bild einfügen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3465,6 +3450,25 @@ msgstr "" msgid "Erase points." msgstr "Oberfläche %d" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Script hinzufügen" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Insert Point" +msgstr "Bild einfügen" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Ungültige Bilder löschen" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5204,6 +5208,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9654,21 +9664,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "Die Pfad-Variable muss auf einen gültigen Particles2D Node verweisen." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9692,6 +9687,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9747,7 +9757,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index f2214ab3c8..1565bb3f12 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -531,7 +531,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1078,7 +1078,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1107,6 +1107,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2277,7 +2281,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3315,37 +3319,37 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +msgid "Edit Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5033,6 +5037,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9295,21 +9305,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9333,6 +9328,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9386,7 +9396,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/el.po b/editor/translations/el.po index 468250901f..4895fc6b98 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -551,7 +551,7 @@ msgid "Warnings" msgstr "Î Ïοειδοποιήσεις" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1116,8 +1116,9 @@ msgid "Add Bus" msgstr "Î Ïοσθήκη διαÏλου" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "ΔημιουÏγία νÎας διάταξης διαÏλων ήχου." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Αποθήκευση διάταξης διαÏλων ήχου ÏŽÏ‚..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1145,6 +1146,10 @@ msgstr "ΦόÏτωση Ï€Ïοεπιλογής" msgid "Load the default Bus Layout." msgstr "ΦόÏτωση Ï€ÏοεπιλεγμÎνης διάταξης διαÏλων ήχου." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "ΔημιουÏγία νÎας διάταξης διαÏλων ήχου." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Μη ÎγκυÏο όνομα." @@ -2427,7 +2432,8 @@ msgid "Save & Restart" msgstr "Αποθήκευση & Επανεκκίνηση" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "ΠεÏιστÏÎφεται όταν το παÏάθυÏο του επεξεÏγαστή επαναχÏωματίζεται!" #: editor/editor_node.cpp @@ -3501,25 +3507,6 @@ msgid "Create Polygon" msgstr "Δημιουγία πολυγώνου" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "ΕπεγεÏγασία πολυγώνου" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Εισαγωγή σημείου" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "ΕπεγεÏγασία πολυγώνου (ΑφαίÏεση σημείου)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "ΑφαίÏεση πολυγώνου και σημείου" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3542,6 +3529,25 @@ msgstr "" msgid "Erase points." msgstr "ΔιαγÏαφή σημείων." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "ΕπεγεÏγασία πολυγώνου" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Εισαγωγή σημείου" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "ΕπεγεÏγασία πολυγώνου (ΑφαίÏεση σημείου)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "ΑφαίÏεση πολυγώνου και σημείου" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5275,6 +5281,12 @@ msgid "Create UV Map" msgstr "ΔημιουÏγία χάÏτη UV" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Δημιουγία πολυγώνου" @@ -9864,25 +9876,6 @@ msgstr "" "Η ιδιότητα Path Ï€ÏÎπει να δείχνει σε Îναν ÎγκυÏο κόμβο Spatial για να " "δουλÎψει αυτός ο κόμβος." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "Το WorldEnvironment χÏειάζεται Îναν πόÏο Environment." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Μόνο Îνα WorldEnvironment επιτÏÎπεται σε κάθε σκηνή (ή σÏνολο στιγμιοτÏπων " -"σκηνών)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Αυτό το WorldEnvironment θα αγνοηθεί. Î ÏοσθÎστε μια κάμεÏα (για 3d) ή οÏίστε " -"το Background Mode Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… πεÏιβάλλοντος σε Canvas (για 2d)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9914,6 +9907,25 @@ msgstr "" "Το VehicleWheel δίνει Îνα σÏστημα Ï„Ïοχών για το VehicleBody. ΠαÏακαλοÏμε " "χÏησιμοποιήστε το ως παιδί του VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "Το WorldEnvironment χÏειάζεται Îναν πόÏο Environment." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Μόνο Îνα WorldEnvironment επιτÏÎπεται σε κάθε σκηνή (ή σÏνολο στιγμιοτÏπων " +"σκηνών)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Αυτό το WorldEnvironment θα αγνοηθεί. Î ÏοσθÎστε μια κάμεÏα (για 3d) ή οÏίστε " +"το Background Mode Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… πεÏιβάλλοντος σε Canvas (για 2d)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9974,7 +9986,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Î Ïοσθήκη του Ï„ÏÎχοντος χÏώματος ως Ï€ÏοκαθοÏισμÎνο" #: scene/gui/dialogs.cpp diff --git a/editor/translations/es.po b/editor/translations/es.po index 8f082f669e..fd7e0c46e5 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -42,8 +42,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-10 12:01+0000\n" -"Last-Translator: eon-s <emanuel.segretin@gmail.com>\n" +"PO-Revision-Date: 2019-02-13 07:10+0000\n" +"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -585,8 +585,9 @@ msgid "Warnings" msgstr "Advertencias" #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "Números de lÃnea y columna" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1146,8 +1147,9 @@ msgid "Add Bus" msgstr "Añadir bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Crear nueva configuración de bus." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Guardar configuración de bus de audio como..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1175,6 +1177,10 @@ msgstr "Cargar ajuste predeterminado" msgid "Load the default Bus Layout." msgstr "Cargar configuración de bus por defecto." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Crear nueva configuración de bus." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Nombre inválido." @@ -2432,7 +2438,8 @@ msgid "Save & Restart" msgstr "Guardar y Reiniciar" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "¡Gira cuando la ventana del editor redibuja!" #: editor/editor_node.cpp @@ -3499,22 +3506,6 @@ msgid "Create Polygon" msgstr "Crear polÃgono" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Editar PolÃgono" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Insertar punto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Editar PolÃgono (Remover Punto)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Remover PolÃgono y Punto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3535,6 +3526,22 @@ msgstr "" msgid "Erase points." msgstr "Borrar puntos." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Editar PolÃgono" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Insertar punto" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Editar PolÃgono (Remover Punto)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Remover PolÃgono y Punto" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -4342,16 +4349,15 @@ msgstr "Mover CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "Presets para los valores de anclajes y márgenes de un nodo Control." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"Advertencia: El tamaño y posición de los hijos de un contenedor es " -"determinado solo por su padre." +"Los hijos de los contenedores tienen sus anclas y valores de márgenes " +"anulados por sus padres." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5267,6 +5273,12 @@ msgid "Create UV Map" msgstr "Crear mapa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Crear PolÃgono y UV" @@ -6357,7 +6369,6 @@ msgid "Post" msgstr "Posterior" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Nameless gizmo" msgstr "Gizmo sin nombre" @@ -6434,14 +6445,12 @@ msgid "(empty)" msgstr "(vacÃo)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Animaciones" +msgstr "Animaciones:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "Animación" +msgstr "Nueva Animación" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6452,9 +6461,8 @@ msgid "Loop" msgstr "Repetir" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Fotogramas de animación" +msgstr "Fotogramas de animación:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -7262,7 +7270,6 @@ msgid "Are you sure to open more than one project?" msgstr "¿Seguro que quieres abrir más de un proyecto?" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -7274,13 +7281,14 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" -"El siguiente archivo de configuración del proyecto fue generado por una " -"versión anterior del motor y debe convertirse para esta versión:\n" +"El siguiente archivo de configuración del proyecto no especifica la versión " +"de Godot con la que fue creado.\n" "\n" "%s\n" "\n" -"¿Quieres convertirlo?\n" -"Advertencia: ya no podrá abrir el proyecto con versiones anteriores del " +"Si procedes a abrirlo, se convertirá al formato de archivo de configuración " +"actual de Godot.\n" +"Advertencia: Ya no podrá abrir el proyecto con versiones anteriores del " "motor." #: editor/project_manager.cpp @@ -9520,6 +9528,10 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"Las partÃculas basadas en la GPU no son compatibles con el controlador de " +"vÃdeo GLES2.\n" +"En su lugar, utiliza el nodo CPUParticles2D. Para ello puedes utilizar la " +"opción \"Convertir a CPUParticles\"." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9716,6 +9728,10 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"Las partÃculas basadas en la GPU no son compatibles con el controlador de " +"vÃdeo GLES2.\n" +"En su lugar, utiliza el nodo CPUParticles. Para ello puedes utilizar la " +"opción \"Convertir a CPUParticles\"." #: scene/3d/particles.cpp msgid "" @@ -9759,26 +9775,6 @@ msgid "Path property must point to a valid Spatial node to work." msgstr "" "La propiedad Path debe apuntar a un nodo Spatial válido para funcionar." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment necesita un recurso Environment." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Solo se permite un WorldEnvironment por escena (o conjunto de escenas " -"instanciadas)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Este WorldEnvironment está siendo ignorado. Agrega un nodo Camera (para " -"escenas 3D) o configura el Background Mode de este entorno en modo Canvas " -"(para escenas 2D)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "Este cuerpo sera ignorado hasta que le asignes un mesh" @@ -9809,6 +9805,26 @@ msgstr "" "VehicleWheel sirve para proporcionar un sistema de ruedas a un VehicleBody. " "Por favor, úselo como hijo de un VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment necesita un recurso Environment." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Solo se permite un WorldEnvironment por escena (o conjunto de escenas " +"instanciadas)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Este WorldEnvironment está siendo ignorado. Agrega un nodo Camera (para " +"escenas 3D) o configura el Background Mode de este entorno en modo Canvas " +"(para escenas 2D)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "En el nodo BlendTree '%s', no se encontró la animación: '%s'" @@ -9853,7 +9869,7 @@ msgstr "Este nodo ha quedado obsoleto. Usa AnimationTree en su lugar." #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "Selecciona un color de la pantalla." #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -9861,10 +9877,11 @@ msgstr "Modo Raw" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "Cambiar entre valores hexadecimales y de código." #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Añadir el color actual como predeterminado" #: scene/gui/dialogs.cpp diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index a9a512c65d..cd6f0166ac 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-10 12:02+0000\n" +"PO-Revision-Date: 2019-02-18 08:54+0000\n" "Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n" "Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/" "godot-engine/godot/es_AR/>\n" @@ -555,8 +555,9 @@ msgid "Warnings" msgstr "Advertencias" #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "Números de lÃnea y columna" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1114,8 +1115,9 @@ msgid "Add Bus" msgstr "Agregar Bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Crear un nuevo Layout Bus." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Guardar Layout de Bus de Audio Como..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1143,6 +1145,10 @@ msgstr "Cargar Valores por Defecto" msgid "Load the default Bus Layout." msgstr "Cargar el Bus Layout predeterminado." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Crear un nuevo Layout Bus." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Nombre inválido." @@ -2399,7 +2405,8 @@ msgid "Save & Restart" msgstr "Guardar y Reiniciar" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Gira cuando la ventana del editor repinta!" #: editor/editor_node.cpp @@ -3327,7 +3334,7 @@ msgstr "Reimportar" #: editor/import_dock.cpp msgid "Save scenes, re-import and restart" -msgstr "Guardar escenas, reimportar y reiniciá" +msgstr "Guardar escenas, reimportar y reiniciar" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." @@ -3465,22 +3472,6 @@ msgid "Create Polygon" msgstr "Crear PolÃgono" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Editar PolÃgono" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Insertar Punto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Editar PolÃgono (Remover Punto)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Remover PolÃgono y Punto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3501,6 +3492,22 @@ msgstr "" msgid "Erase points." msgstr "Borrar puntos." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Editar PolÃgono" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Insertar Punto" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Editar PolÃgono (Remover Punto)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Remover PolÃgono y Punto" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -4308,16 +4315,15 @@ msgstr "Mover CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "Presets para los valores de anclajes y márgenes de un nodo Control." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"Advertencia: El tamaño y posición de los hijos de un contenedor es " -"determinado solo por su padre." +"Los hijos de contenedores tienen su anclas y margenes determinados por sus " +"padres." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5227,6 +5233,12 @@ msgid "Create UV Map" msgstr "Crear Mapa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Crear PolÃgono y UV" @@ -6317,7 +6329,6 @@ msgid "Post" msgstr "Post" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Nameless gizmo" msgstr "Gizmo sin nombre" @@ -6394,14 +6405,12 @@ msgid "(empty)" msgstr "(vacÃo)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Animaciones" +msgstr "Animaciones:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "Animación" +msgstr "Nueva Animación" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6412,9 +6421,8 @@ msgid "Loop" msgstr "Loop" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Cuadros de Animación" +msgstr "Fotogramas de animación:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -7189,7 +7197,7 @@ msgstr "" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "OpenGL ES 3.0" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp msgid "" @@ -7222,7 +7230,6 @@ msgid "Are you sure to open more than one project?" msgstr "¿Estás seguro/a que quieres abrir más de un proyecto?" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -7234,13 +7241,14 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" -"Las siguientes configuraciones de proyecto fueron generadas para una versión " -"anterior del motor, y deben ser convertidas para esta versión:\n" +"El siguiente archivo de configuración del proyecto no especifica la versión " +"de Godot con la que fue creado.\n" "\n" "%s\n" "\n" -"¿Querés convertirlas?\n" -"Advertencia: No vas a poder volver a abrir el proyecto con versiones " +"Si procedés a abrirlo, sera convertido al formato actual de configuración de " +"Godot. \n" +"Advertencia: Ya no vas a poder volver a abrir el proyecto con versiones " "anteriores del motor." #: editor/project_manager.cpp @@ -9475,6 +9483,10 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"Las partÃculas basadas en la GPU no son compatibles con el controlador de " +"vÃdeo GLES2.\n" +"En su lugar, utiliza el nodo CPUParticles2D. Para ello podés utilizar la " +"opción \"Convertir a CPUParticles\"." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9669,6 +9681,10 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"Las partÃculas basadas en la GPU no son compatibles con el controlador de " +"vÃdeo GLES2.\n" +"En su lugar, utilizá el nodo CPUParticles. Para ello podés utilizar la " +"opción \"Convertir a CPUParticles\"." #: scene/3d/particles.cpp msgid "" @@ -9711,26 +9727,6 @@ msgid "Path property must point to a valid Spatial node to work." msgstr "" "La propiedad Path debe apuntar a un nodo Spatial valido para funcionar." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment necesita un recurso Environment." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Solo se permite un WorldEnvironment por escena (o conjunto de escenas " -"instanciadas)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Este WorldEnvironment esta siendo ignorado. Agregá un nodo Camera (para " -"escenas 3D) o configurá el Background Mode de este entorno en modo Canvas " -"(para escenas 2D)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "Este cuerpo sera ignorado hasta que le asignes un mesh" @@ -9761,6 +9757,26 @@ msgstr "" "VehicleWheel sirve para proveer un sistema de ruedas a VehicleBody. Por " "favor usálo como hijo de VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment necesita un recurso Environment." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Solo se permite un WorldEnvironment por escena (o conjunto de escenas " +"instanciadas)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Este WorldEnvironment esta siendo ignorado. Agregá un nodo Camera (para " +"escenas 3D) o configurá el Background Mode de este entorno en modo Canvas " +"(para escenas 2D)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "En el nodo BlendTree '%s', no se encontró la animación: '%s'" @@ -9805,7 +9821,7 @@ msgstr "Este nodo ha sido deprecado. Usá AnimationTree." #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "Elegir un color de la pantalla." #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -9813,10 +9829,11 @@ msgstr "Modo Raw" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "Cambiar entre valores hexadecimales y de código." #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Agregar color actual como preset" #: scene/gui/dialogs.cpp diff --git a/editor/translations/et.po b/editor/translations/et.po index 2919e14b82..0b1cef1a31 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -531,7 +531,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1078,7 +1078,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1107,6 +1107,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2277,7 +2281,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3315,37 +3319,37 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +msgid "Edit Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5033,6 +5037,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9295,21 +9305,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9333,6 +9328,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9386,7 +9396,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 49b594677f..a0a64fe6d8 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -565,7 +565,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1135,7 +1135,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1164,6 +1164,10 @@ msgstr "بارگیری پیش Ùرض" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "نام نامعتبر." @@ -2370,7 +2374,7 @@ msgid "Save & Restart" msgstr "ذخیره Ùˆ خروج" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3455,24 +3459,6 @@ msgid "Create Polygon" msgstr "انتخاب شده را تغییر مقیاس بده" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "ویرایش سیگنال" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "برداشتن نقش" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3492,6 +3478,24 @@ msgstr "" msgid "Erase points." msgstr "Ú©Ùندی در آغاز" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "ویرایش سیگنال" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "برداشتن نقش" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5226,6 +5230,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9762,23 +9772,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "دارایی Path باید به یک گره Particles2D معتبر اشاره کند تا کار کند." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Ùقط یک WorldEnvironment در هر صØنه (یا مجموعه ای از صØنه های نمونه‌گذاری شده) " -"مجاز است." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9804,6 +9797,23 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Ùقط یک WorldEnvironment در هر صØنه (یا مجموعه ای از صØنه های نمونه‌گذاری شده) " +"مجاز است." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9862,7 +9872,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/fi.po b/editor/translations/fi.po index 22655d8f02..392fd0e2ad 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-09 18:11+0000\n" +"PO-Revision-Date: 2019-02-13 07:10+0000\n" "Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/" "godot/fi/>\n" @@ -548,8 +548,9 @@ msgid "Warnings" msgstr "Varoitukset" #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "Rivi- ja sarakenumerot" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1108,8 +1109,9 @@ msgid "Add Bus" msgstr "Lisää väylä" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Luo uusi ääniväylän asettelu." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Tallenna ääniväylän asettelu nimellä..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1137,6 +1139,10 @@ msgstr "Lataa oletus" msgid "Load the default Bus Layout." msgstr "Lataa väylän oletusasettelu." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Luo uusi ääniväylän asettelu." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Virheellinen nimi." @@ -2375,7 +2381,8 @@ msgid "Save & Restart" msgstr "Tallenna & käynnistä uudelleen" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Pyörii kun editorin ikkuna päivittyy!" #: editor/editor_node.cpp @@ -3440,22 +3447,6 @@ msgid "Create Polygon" msgstr "Luo polygoni" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Muokkaa polygonia" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Lisää piste" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Muokkaa polygonia (poista piste)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Poista polygoni ja piste" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3476,6 +3467,22 @@ msgstr "" msgid "Erase points." msgstr "Pyyhi pisteitä." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Muokkaa polygonia" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Lisää piste" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Muokkaa polygonia (poista piste)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Poista polygoni ja piste" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -4279,16 +4286,15 @@ msgstr "Siirrä CanvasItemiä" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "Control solmun ankkureiden ja marginaalien arvojen esiasetukset." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"Varoitus: Säilön alisolmujen sijainti ja koko määrittyy vain niiden " -"isäntäsolmun perusteella." +"Säilön alisolmujen ankkurien ja marginaalien arvot ylikirjoittuvat niiden " +"isäntäsolmun toimesta." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5199,6 +5205,12 @@ msgid "Create UV Map" msgstr "Luo UV kartta" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Luo polygoni ja UV" @@ -6288,7 +6300,6 @@ msgid "Post" msgstr "Jälki" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Nameless gizmo" msgstr "Nimetön muokkain" @@ -6365,14 +6376,12 @@ msgid "(empty)" msgstr "(tyhjä)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Animaatiot" +msgstr "Animaatiot:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "Animaatio" +msgstr "Uusi animaatio" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6383,9 +6392,8 @@ msgid "Loop" msgstr "Toista" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Animaatioruudut" +msgstr "Animaatioruudut:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -7191,7 +7199,6 @@ msgid "Are you sure to open more than one project?" msgstr "Haluatko varmasti avata useamman kuin yhden projektin?" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -7203,12 +7210,13 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" -"Seuraava projektin asetustiedosto on luotu vanhemmalla versiolla ja täytyy " -"muuntaa tätä versiota varten:\n" +"Seuraava projektin asetustiedosto ei määrittele Godotin versiota, jolla se " +"on luotu.\n" "\n" "%s\n" "\n" -"Haluatko muuntaa sen?\n" +"Jos haluat jatkaa sen avaamista, se muunnetaan nykyiseen Godotin " +"asetustiedostomuotoon.\n" "Varoitus: et voi avata projektia tämän jälkeen enää vanhemmilla versioilla." #: editor/project_manager.cpp @@ -9419,6 +9427,9 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"GPU-pohjaiset partikkelit eivät ole tuettuja GLES2 näyttöajurilla.\n" +"Käytä sen sijaan CPUParticles2D solmua. Voit käyttää \"Muunna " +"CPUPartikkeleiksi\" toimintoa tähän tarkoitukseen." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9615,6 +9626,9 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"GPU-pohjaiset partikkelit eivät ole tuettuja GLES2 näyttöajurilla.\n" +"Käytä sen sijaan CPUParticles solmua. Voit käyttää \"Muunna CPUPartikkeleiksi" +"\" toimintoa tähän tarkoitukseen." #: scene/3d/particles.cpp msgid "" @@ -9657,26 +9671,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "Polkuominaisuuden täytyy osoittaa Spatial solmuun toimiakseen." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment tarvitsee Environment resurssin." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Vain yksi WorldEnvironment on sallittu per skene (tai per skeneilmentymien " -"joukko)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Tämä WorldEnvironment jätetään huomioimatta. Lisää joko Camera (3D-" -"skeneille) tai aseta tälle ympäristölle Background Mode asetukseksi Canvas " -"(2D-skeneille)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "Tämä kappale sivuutetaan, kunnes asetat meshin" @@ -9706,6 +9700,26 @@ msgstr "" "VehicleWheel solmu tarjoaa rengasjärjestelmän VehicleBody solmulle. Ole hyvä " "ja käytä sitä VehicleBody solmun alla." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment tarvitsee Environment resurssin." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Vain yksi WorldEnvironment on sallittu per skene (tai per skeneilmentymien " +"joukko)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Tämä WorldEnvironment jätetään huomioimatta. Lisää joko Camera (3D-" +"skeneille) tai aseta tälle ympäristölle Background Mode asetukseksi Canvas " +"(2D-skeneille)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "BlendTree solmusta '%' ei löytynyt animaatiota: '%s'" @@ -9750,7 +9764,7 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "Valitse väri ruudulta." #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -9758,10 +9772,11 @@ msgstr "Raakatila" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "Vaihda heksadesimaali- ja koodiarvojen välillä." #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Lisää nykyinen väri esiasetukseksi" #: scene/gui/dialogs.cpp diff --git a/editor/translations/fr.po b/editor/translations/fr.po index 94283dc2cd..4fe762d13b 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -57,7 +57,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-10 13:16+0100\n" +"PO-Revision-Date: 2019-02-18 08:54+0000\n" "Last-Translator: Caye Pierre <pierrecaye@laposte.net>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" @@ -66,7 +66,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: Poedit 2.2.1\n" +"X-Generator: Weblate 3.5-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -82,7 +82,7 @@ msgstr "Pas assez d'octets pour les octets de décodage, ou format non valide." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "Entrée non valide %i (non passée) dans l'expression" +msgstr "Entrée non valide %i (non passée) dans l’expression" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -440,7 +440,7 @@ msgstr "Mettre à l'échelle la sélection" #: editor/animation_track_editor.cpp msgid "Scale From Cursor" -msgstr "Mettre à l'échelle depuis le curseur" +msgstr "Mettre à l’échelle depuis le curseur" #: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" @@ -603,7 +603,8 @@ msgid "Warnings" msgstr "Avertissements" #: editor/code_editor.cpp -msgid "Line and column numbers" +#, fuzzy +msgid "Line and column numbers." msgstr "Numéros de ligne et de colonne" #: editor/connections_dialog.cpp @@ -1164,8 +1165,9 @@ msgid "Add Bus" msgstr "Ajouter un bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Créer une nouvel agencement de tranport." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Enregistrer la disposition des bus audio sous…" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1193,6 +1195,10 @@ msgstr "Charger défaut" msgid "Load the default Bus Layout." msgstr "Charger l'agencement de transport par défaut." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Créer une nouvel agencement de tranport." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Nom invalide." @@ -2022,7 +2028,7 @@ msgstr "Choisir une scène principale" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" -"Impossible d'activer le greffon depuis : '%s' l'analyse syntaxique de la " +"Impossible d'activer le greffon depuis : '%s' l’analyse syntaxique de la " "configuration a échoué." #: editor/editor_node.cpp @@ -2034,14 +2040,14 @@ msgstr "" #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." msgstr "" -"Impossible de charger le script de l'extension depuis le chemin : '%s'." +"Impossible de charger le script de l’extension depuis le chemin : '%s'." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' There seems to be an error in " "the code, please check the syntax." msgstr "" -"Impossible de charger le script de l'extension depuis le chemin : '%s' Il " +"Impossible de charger le script de l’extension depuis le chemin : '%s' Il " "semble y avoir une erreur dans le code, merci de vérifier la syntaxe." #: editor/editor_node.cpp @@ -2054,7 +2060,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" -"Impossible de charger le script de l'extension depuis le chemin : '%s' Le " +"Impossible de charger le script de l’extension depuis le chemin : '%s' Le " "script n'est pas en mode outil." #: editor/editor_node.cpp @@ -2455,7 +2461,8 @@ msgid "Save & Restart" msgstr "Enregistrer et Redémarrer" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Tourne lorsque la fenêtre de l'éditeur est repainte !" #: editor/editor_node.cpp @@ -2925,7 +2932,7 @@ msgstr "" #: 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..." @@ -3525,22 +3532,6 @@ msgid "Create Polygon" msgstr "Créer un polygone" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Modifier le polygone" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Insérer un point" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Modifier le polygone (supprimer un point)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Supprimer le polygone et le point" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3561,6 +3552,22 @@ msgstr "" msgid "Erase points." msgstr "Effacer des points." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Modifier le polygone" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Insérer un point" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Modifier le polygone (supprimer un point)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Supprimer le polygone et le point" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5296,6 +5303,12 @@ msgid "Create UV Map" msgstr "Créer une carte UV" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Créer un polygone & UV" @@ -8430,7 +8443,7 @@ msgstr "Processus enfant connecté" #: editor/script_editor_debugger.cpp msgid "Copy Error" -msgstr "Erreurs de copie" +msgstr "Copier l'erreur" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" @@ -8598,7 +8611,7 @@ msgstr "Sélectionnez les dépendances de la librairie pour cette entrée" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Remove current entry" -msgstr "Supprimer l'entrée" +msgstr "Supprimer l’entrée" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Double click to create a new entry" @@ -9806,26 +9819,6 @@ msgid "Path property must point to a valid Spatial node to work." msgstr "" "La propriété Path doit pointer vers un nÅ“ud Spatial valide pour fonctionner." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment requiert une ressource de type Environment." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Seul un WorldEnvironnement ne peut être utilisé par scène (ou ensemble de " -"scènes instanciées)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Ce WorldEnvironment est ignoré. Ajoutez une caméra (pour les scènes 3D) ou " -"définissez la propriété \"Background Mode\" de cet environnement sur \"Canvas" -"\" (pour les scènes 2D)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "Ce corps sera ignoré jusqu'à ce que vous définissiez un maillage" @@ -9856,6 +9849,26 @@ msgstr "" "VehicleWheel permet de fournir un système de roue à un VehicleBody. Merci de " "l'utiliser comme enfant d'un VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment requiert une ressource de type Environment." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Seul un WorldEnvironnement ne peut être utilisé par scène (ou ensemble de " +"scènes instanciées)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Ce WorldEnvironment est ignoré. Ajoutez une caméra (pour les scènes 3D) ou " +"définissez la propriété \"Background Mode\" de cet environnement sur \"Canvas" +"\" (pour les scènes 2D)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "Sur le nÅ“ud BlendTree '%s', animation introuvable : '%s'" @@ -9912,7 +9925,8 @@ msgid "Switch between hexadecimal and code values." msgstr "Alterner entre les valeurs hexadécimales ou brutes." #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Ajouter la couleur courante comme pré-réglage" #: scene/gui/dialogs.cpp diff --git a/editor/translations/he.po b/editor/translations/he.po index 847c0f6a93..7257d9c753 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -566,7 +566,7 @@ msgid "Warnings" msgstr "×זהרות" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1120,8 +1120,9 @@ msgid "Add Bus" msgstr "הוספת ×פיק" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "יצירת פריסת ××¤×™×§×™× ×—×“×©×”." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "שמירת פריסת ×פיקי השמע בתור…" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1149,6 +1150,10 @@ msgstr "×˜×¢×™× ×ª בררת המחדל" msgid "Load the default Bus Layout." msgstr "×˜×¢×™× ×ª בררת המחדל של פריסת ×פיקי השמע." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "יצירת פריסת ××¤×™×§×™× ×—×“×©×”." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "×©× ×©×’×•×™." @@ -2357,7 +2362,8 @@ msgid "Save & Restart" msgstr "לשמור ולצ×ת" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "מסתובב ×›×שר חלון העורך מצויר מחדש!" #: editor/editor_node.cpp @@ -3437,25 +3443,6 @@ msgid "Create Polygon" msgstr "יצירת מצולע" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "עריכת מצולע" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "הוספת × ×§×•×“×”" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "עריכת מצולע (הסרת × ×§×•×“×”)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "הסרת מצולע ×•× ×§×•×“×”" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3475,6 +3462,25 @@ msgstr "" msgid "Erase points." msgstr "מחיקת × ×§×•×“×•×ª" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "עריכת מצולע" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "הוספת × ×§×•×“×”" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "עריכת מצולע (הסרת × ×§×•×“×”)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "הסרת מצולע ×•× ×§×•×“×”" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5194,6 +5200,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "יצירת מצולע" @@ -9590,21 +9602,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9628,6 +9625,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9683,7 +9695,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "הוספת הצבע ×”× ×•×›×—×™ כערכה" #: scene/gui/dialogs.cpp diff --git a/editor/translations/hi.po b/editor/translations/hi.po index dbe94f2a68..5aee390cc5 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -549,7 +549,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1135,7 +1135,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1164,6 +1164,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2344,7 +2348,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3400,23 +3404,6 @@ msgid "Create Polygon" msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3435,6 +3422,23 @@ msgstr "" msgid "Erase points." msgstr "" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5129,6 +5133,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9442,21 +9452,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9480,6 +9475,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9535,7 +9545,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/hr.po b/editor/translations/hr.po index c2b57f480e..ba06a478bb 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -536,7 +536,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1083,7 +1083,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1112,6 +1112,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2282,7 +2286,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3320,37 +3324,37 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +msgid "Edit Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5038,6 +5042,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9300,21 +9310,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9338,6 +9333,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9391,7 +9401,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/hu.po b/editor/translations/hu.po index 7295912160..def006f056 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -570,7 +570,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1137,8 +1137,9 @@ msgid "Add Bus" msgstr "Busz Hozzáadása" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Új Buszelrendezés létrehozása." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Hangbusz Elrendezés Mentése Másként..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1166,6 +1167,10 @@ msgstr "Alapértelmezett Betöltése" msgid "Load the default Bus Layout." msgstr "Betölti az alapértelmezett Busz Elrendezést." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Új Buszelrendezés létrehozása." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Érvénytelen név." @@ -2446,7 +2451,8 @@ msgid "Save & Restart" msgstr "Mentés és Kilépés" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Fordul egyet, amikor a szerkesztÅ‘ablak újrarajzolódik!" #: editor/editor_node.cpp @@ -3539,25 +3545,6 @@ msgid "Create Polygon" msgstr "Sokszög Létrehozása" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Sokszög Szerkesztése" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Pont Beszúrása" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Sokszög Szerkesztése (Pont EltávolÃtása)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Sokszög és Pont EltávolÃtása" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3582,6 +3569,25 @@ msgstr "" msgid "Erase points." msgstr "Jobb Egérgomb: Pont Törlése." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Sokszög Szerkesztése" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Pont Beszúrása" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Sokszög Szerkesztése (Pont EltávolÃtása)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Sokszög és Pont EltávolÃtása" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5331,6 +5337,12 @@ msgid "Create UV Map" msgstr "UV Térkép Létrehozása" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Sokszög Létrehozása" @@ -9738,21 +9750,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9776,6 +9773,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9836,7 +9848,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/id.po b/editor/translations/id.po index ca6c019a2d..b850071957 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -566,7 +566,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1131,8 +1131,9 @@ msgid "Add Bus" msgstr "Tambahkan Bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Buat Layout Bus Baru." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Simpan Layout Suara Bus Ke..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1160,6 +1161,10 @@ msgstr "Muat Default" msgid "Load the default Bus Layout." msgstr "Muat default Layout Bus." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Buat Layout Bus Baru." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Nama tidak sah." @@ -2428,7 +2433,8 @@ msgid "Save & Restart" msgstr "Simpan & Keluar" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Putar ketika jendela editor cat ulang!" #: editor/editor_node.cpp @@ -3537,25 +3543,6 @@ msgid "Create Polygon" msgstr "Buat Bidang" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Sunting Bidang" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Tambah Titik" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Sunting Bidang (Hapus Titik)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Hapus Bidang dan Titik" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3580,6 +3567,25 @@ msgstr "" msgid "Erase points." msgstr "Beri Skala Seleksi" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Sunting Bidang" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Tambah Titik" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Sunting Bidang (Hapus Titik)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Hapus Bidang dan Titik" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5352,6 +5358,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Buat Bidang" @@ -9944,23 +9956,6 @@ msgstr "" "Properti path harus menunjuk ke sebuah node Particles2D yang sah agar " "bekerja." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Hanya satu WorldEnvironment yang diizinkan per scene (atau atur scene-scene " -"yang diacu)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9986,6 +9981,23 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Hanya satu WorldEnvironment yang diizinkan per scene (atau atur scene-scene " +"yang diacu)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -10043,7 +10055,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Tambahkan warna yang sekarang sebagai preset" #: scene/gui/dialogs.cpp diff --git a/editor/translations/is.po b/editor/translations/is.po index 8691577785..6b2588ca26 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -557,7 +557,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1104,7 +1104,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1133,6 +1133,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2305,7 +2309,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3344,38 +3348,38 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Breyta Viðbót" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." +msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "" +#, fuzzy +msgid "Edit Polygon" +msgstr "Breyta Viðbót" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5067,6 +5071,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9350,21 +9360,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9388,6 +9383,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9441,7 +9451,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/it.po b/editor/translations/it.po index 3c5593bd43..97f764a309 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -12,7 +12,7 @@ # Matteo <matteo.guglielmetti@hotmail.it>, 2018. # Myself <whatamidoing.wt@gmail.com>, 2017-2018. # RealAquilus <JamesHeller@live.it>, 2017. -# Samuele Zolfanelli <samdazel@gmail.com>, 2018. +# Samuele Zolfanelli <samdazel@gmail.com>, 2018, 2019. # Sean Bone <seanbone@zumguy.com>, 2017. # Red Pill <redpill902@gmail.com>, 2018. # iRadEntertainment <devitadario@gmail.com>, 2018. @@ -27,12 +27,13 @@ # Hairic95 <hairic95@gmail.com>, 2019. # Christian Biffi <creixx@virgilio.it>, 2019. # Giuseppe Guerra <me@nyodev.xyz>, 2019. +# RHC <rhc.throwaway@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-01-26 13:31+0000\n" -"Last-Translator: Giuseppe Guerra <me@nyodev.xyz>\n" +"PO-Revision-Date: 2019-02-18 08:54+0000\n" +"Last-Translator: RHC <rhc.throwaway@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -66,7 +67,7 @@ msgstr "self non può essere usato perché l'istanza è nulla (non passata)" #: core/math/expression.cpp #, fuzzy msgid "Invalid operands to operator %s, %s and %s." -msgstr "Nome proprietà indice invalido '%s' nel nodo %s." +msgstr "Utilizzo errato dell'operatore %s, operandi %s e %s non validi." #: core/math/expression.cpp #, fuzzy @@ -157,8 +158,9 @@ msgid "Bezier Curve Track" msgstr "Traccia Curva di Bezier" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Audio Playback Track" -msgstr "" +msgstr "Traccia di Riproduzione Audio" #: editor/animation_track_editor.cpp #, fuzzy @@ -197,8 +199,9 @@ msgid "Toggle this track on/off." msgstr "Attiva/Disattiva la traccia." #: editor/animation_track_editor.cpp +#, fuzzy msgid "Update Mode (How this property is set)" -msgstr "" +msgstr "Modalità di Aggiornamento (come viene impostata questa proprietà )" #: editor/animation_track_editor.cpp #, fuzzy @@ -323,6 +326,10 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" +"Le tracce audio possono puntare solo a nodi di tipo:\n" +"-AudioStreamPlayer\n" +"-AudioStreamPlayer2D\n" +"-AudioStreamPlayer3D" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." @@ -337,12 +344,14 @@ msgid "Not possible to add a new track without a root" msgstr "" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Track path is invalid, so can't add a key." -msgstr "" +msgstr "Il tracciato non è valido, non è possibile aggiungere una chiave." #: editor/animation_track_editor.cpp +#, fuzzy msgid "Track is not of type Spatial, can't insert key" -msgstr "" +msgstr "La traccia non è di tipo Spatial, impossibile aggiungere la chiave." #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -582,7 +591,7 @@ msgid "Warnings" msgstr "Avvertimento" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1147,8 +1156,9 @@ msgid "Add Bus" msgstr "Aggiungi Bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Crea nuovo layout di tipo bus." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Salva Layout Bus Audio Come..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1176,6 +1186,10 @@ msgstr "Carica predefiniti" msgid "Load the default Bus Layout." msgstr "Carica il layout di tipo bus predefinito." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Crea nuovo layout di tipo bus." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Nome Invalido." @@ -2437,7 +2451,8 @@ msgid "Save & Restart" msgstr "Salva e Re-Importa" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Gira quando la finestra dell'editor viene ridisegnata!" #: editor/editor_node.cpp @@ -3541,25 +3556,6 @@ msgid "Create Polygon" msgstr "Crea Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Modifica Poly" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Inserisci Punto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Modifica Poly (Rimuovi Punto)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Rimuovi Poligono e Punto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3584,6 +3580,25 @@ msgstr "" msgid "Erase points." msgstr "RMB: Elimina Punto." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Modifica Poly" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Inserisci Punto" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Modifica Poly (Rimuovi Punto)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Rimuovi Poligono e Punto" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5347,6 +5362,12 @@ msgid "Create UV Map" msgstr "Crea UV Map" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Crea Poly" @@ -10023,23 +10044,6 @@ msgstr "" "La proprietà path deve puntare ad un nodo Spaziale (Spatial) valido per " "poter funzionare." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Solamente un WorldEnvironment è consentito per scena (o insieme di scene " -"istanziate)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -10071,6 +10075,23 @@ msgstr "" "VehicleWheel serve a provvedere un sistema di ruote a VehicleBody. Per " "favore usalo come figlio di VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Solamente un WorldEnvironment è consentito per scena (o insieme di scene " +"istanziate)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -10131,7 +10152,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Aggiungi colore attuale come preset" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 9d5319d09a..863ed46ae1 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -18,15 +18,15 @@ # sugusan <sugusan.development@gmail.com>, 2018. # Nathan Lovato <nathan.lovato.art@gmail.com>, 2018. # nyanode <akaruooyagi@yahoo.co.jp>, 2018. -# nitenook <admin@alterbaum.net>, 2018. +# nitenook <admin@alterbaum.net>, 2018, 2019. # Rob Matych <robertsmatych@gmail.com>, 2018. # Hidetsugu Takahashi <manzyun@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-01-19 19:21+0000\n" -"Last-Translator: Hidetsugu Takahashi <manzyun@gmail.com>\n" +"PO-Revision-Date: 2019-02-18 08:54+0000\n" +"Last-Translator: nitenook <admin@alterbaum.net>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" "Language: ja\n" @@ -34,7 +34,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.4-dev\n" +"X-Generator: Weblate 3.5-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -474,7 +474,7 @@ msgstr "ã™ã¹ã¦ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’クリーンアップ" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "アニメーションをクリーンアップ(アンドゥä¸å¯ï¼ï¼‰" +msgstr "アニメーションをクリーンアップ(「元ã«æˆ»ã™ã€ä¸å¯!)" #: editor/animation_track_editor.cpp msgid "Clean-Up" @@ -565,8 +565,9 @@ msgid "Warnings" msgstr "è¦å‘Š" #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "è¡ŒåŠã³åˆ—番å·" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -668,7 +669,7 @@ msgstr "シグナルã®æŽ¥ç¶š: " #: editor/connections_dialog.cpp msgid "Edit Connection: " -msgstr "接続を編集 " +msgstr "接続を編集: " #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" @@ -805,7 +806,7 @@ msgstr "次ã®ã‚ªãƒ¼ãƒŠãƒ¼:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "é¸æŠžã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’プãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰é™¤åŽ»ã—ã¾ã™ã‹ï¼Ÿï¼ˆã‚¢ãƒ³ãƒ‰ã‚¥ä¸å¯ï¼‰" +msgstr "é¸æŠžã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’プãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰é™¤åŽ»ã—ã¾ã™ã‹ï¼Ÿï¼ˆã€Œå…ƒã«æˆ»ã™ã€ä¸å¯ï¼‰" #: editor/dependency_editor.cpp msgid "" @@ -814,7 +815,7 @@ msgid "" "Remove them anyway? (no undo)" msgstr "" "除去ã—よã†ã¨ã—ã¦ã„るファイルã¯ä»–ã®ãƒªã‚½ãƒ¼ã‚¹ã®å‹•ä½œã«å¿…è¦ã§ã™ã€‚\n" -"無視ã—ã¦é™¤åŽ»ã—ã¾ã™ã‹ï¼Ÿï¼ˆã‚¢ãƒ³ãƒ‰ã‚¥ä¸å¯ï¼‰" +"無視ã—ã¦é™¤åŽ»ã—ã¾ã™ã‹ï¼Ÿï¼ˆã€Œå…ƒã«æˆ»ã™ã€ä¸å¯ï¼‰" #: editor/dependency_editor.cpp editor/export_template_manager.cpp msgid "Cannot remove:" @@ -846,7 +847,7 @@ msgstr "èªã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼ï¼" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "%d 個ã®ã‚¢ã‚¤ãƒ†ãƒ を完全ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿï¼ˆã‚¢ãƒ³ãƒ‰ã‚¥ä¸å¯ï¼‰" +msgstr "%d 個ã®ã‚¢ã‚¤ãƒ†ãƒ を完全ã«å‰Šé™¤ã—ã¾ã™ã‹?(「元ã«æˆ»ã™ã€ä¸å¯!)" #: editor/dependency_editor.cpp msgid "Owns" @@ -858,7 +859,7 @@ msgstr "所有権ãŒæ˜Žç¤ºã•ã‚Œã¦ã„ãªã„リソース:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Orphan Resource Explorer" -msgstr "å¤ç«‹ãƒªã‚½ãƒ¼ã‚¹ç”¨ã‚¨ã‚¯ã‚¹ãƒ—ãƒãƒ¼ãƒ©ãƒ¼" +msgstr "å¤ç«‹ãƒªã‚½ãƒ¼ã‚¹ エクスプãƒãƒ¼ãƒ©ãƒ¼" #: editor/dependency_editor.cpp msgid "Delete selected files?" @@ -976,9 +977,8 @@ msgid "Uncompressing Assets" msgstr "アセットを展開" #: editor/editor_asset_installer.cpp editor/project_manager.cpp -#, fuzzy msgid "Package installed successfully!" -msgstr "パッケージã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«æˆåŠŸã—ã¾ã—ãŸï¼" +msgstr "パッケージã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«æˆåŠŸã—ã¾ã—ãŸ!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1124,8 +1124,9 @@ msgid "Add Bus" msgstr "ãƒã‚¹ã‚’è¿½åŠ " #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "æ–°è¦ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’作æˆã€‚" +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’別åã§ä¿å˜..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1153,6 +1154,10 @@ msgstr "デフォルトをèªè¾¼ã‚€" msgid "Load the default Bus Layout." msgstr "デフォルトã®ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’èªè¾¼ã¿ã¾ã™ã€‚" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "æ–°è¦ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’作æˆã€‚" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "無効ãªåå‰ã§ã™ã€‚" @@ -1289,11 +1294,8 @@ msgid "Storing File:" msgstr "ファイルã®ä¿å˜:" #: editor/editor_export.cpp -#, fuzzy msgid "No export template found at the expected path:" -msgstr "" -"エクスãƒãƒ¼ãƒˆã™ã‚‹ãƒ†ãƒ³ãƒ—レートãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“.\n" -"ダウンãƒãƒ¼ãƒ‰ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã ã•ã„." +msgstr "エクスãƒãƒ¼ãƒˆ テンプレートãŒäºˆæƒ³ã•ã‚ŒãŸãƒ‘スã«è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“:" #: editor/editor_export.cpp msgid "Packing" @@ -1302,16 +1304,14 @@ msgstr "パックã™ã‚‹" #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Custom debug template not found." -msgstr "カスタム デãƒãƒƒã‚°ãƒ‘ッケージãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" +msgstr "カスタムデãƒãƒƒã‚°ãƒ†ãƒ³ãƒ—レートãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Custom release template not found." -msgstr "カスタム リリースパッケージãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“." +msgstr "カスタムリリーステンプレートãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" @@ -1922,7 +1922,7 @@ msgstr "å…ƒã«æˆ»ã™" #: editor/editor_node.cpp msgid "This action cannot be undone. Revert anyway?" -msgstr "ã“ã®æ“作ã¯ã‚¢ãƒ³ãƒ‰ã‚¥ã§ãã¾ã›ã‚“。ãã‚Œã§ã‚‚å…ƒã«æˆ»ã—ã¾ã™ã‹ï¼Ÿ" +msgstr "ã“ã®æ“作ã¯ã€Œå…ƒã«æˆ»ã™ã€ã¯ã§ãã¾ã›ã‚“。ãã‚Œã§ã‚‚å…ƒã«æˆ»ã—ã¾ã™ã‹ï¼Ÿ" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2386,7 +2386,7 @@ msgstr "カスタムシーンを実行" #: editor/editor_node.cpp msgid "Changing the video driver requires restarting the editor." -msgstr "ビデオドライãƒã‚’変更ã™ã‚‹ã«ã¯ã€ã‚¨ãƒ‡ã‚£ã‚¿ã‚’å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" +msgstr "ビデオドライãƒã®å¤‰æ›´ã«ã¯ã‚¨ãƒ‡ã‚£ã‚¿ã®å†èµ·å‹•ãŒå¿…è¦ã§ã™ã€‚" #: editor/editor_node.cpp editor/project_settings_editor.cpp #: editor/settings_config_dialog.cpp @@ -2394,7 +2394,8 @@ msgid "Save & Restart" msgstr "ä¿å˜ã—ã¦å†èµ·å‹•" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "エディタウィンドウã®å†æ画時ã«ã‚¹ãƒ”ンã—ã¾ã™ï¼" #: editor/editor_node.cpp @@ -2601,14 +2602,12 @@ msgid "[Empty]" msgstr "[空]" #: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp -#, fuzzy msgid "Assign..." -msgstr "アサイン.." +msgstr "割り当ã¦.." #: editor/editor_properties.cpp -#, fuzzy msgid "Invalid RID" -msgstr "無効ãªãƒ‘ス" +msgstr "無効㪠RID" #: editor/editor_properties.cpp msgid "" @@ -3167,7 +3166,7 @@ msgstr "ç½®æ›: " #: editor/find_in_files.cpp msgid "Replace all (no undo)" -msgstr "ã™ã¹ã¦ç½®æ›ï¼ˆã‚¢ãƒ³ãƒ‰ã‚¥ä¸å¯ï¼‰" +msgstr "ã™ã¹ã¦ç½®æ›ï¼ˆã€Œå…ƒã«æˆ»ã™ã€ä¸å¯ï¼‰" #: editor/find_in_files.cpp msgid "Searching..." @@ -3319,9 +3318,8 @@ msgid "Save scenes, re-import and restart" msgstr "" #: editor/import_dock.cpp -#, fuzzy msgid "Changing the type of an imported file requires editor restart." -msgstr "ビデオドライãƒã‚’変更ã™ã‚‹ã«ã¯ã€ã‚¨ãƒ‡ã‚£ã‚¿ã‚’å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" +msgstr "インãƒãƒ¼ãƒˆã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¿ã‚¤ãƒ—ã®å¤‰æ›´ã«ã¯ã‚¨ãƒ‡ã‚£ã‚¿ã®å†èµ·å‹•ãŒå¿…è¦ã§ã™ã€‚" #: editor/import_dock.cpp msgid "" @@ -3382,9 +3380,8 @@ msgid "Load an existing resource from disk and edit it." msgstr "æ—¢å˜ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ディスクã‹ã‚‰èªè¾¼ã¿ç·¨é›†ã™ã‚‹ã€‚" #: editor/inspector_dock.cpp -#, fuzzy msgid "Save the currently edited resource." -msgstr "ç¾åœ¨ç·¨é›†ä¸ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ä¿å˜ã™ã‚‹" +msgstr "ç¾åœ¨ç·¨é›†ä¸ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ä¿å˜ã™ã‚‹ã€‚" #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." @@ -3452,22 +3449,6 @@ msgid "Create Polygon" msgstr "ãƒãƒªã‚´ãƒ³ã‚’生æˆ" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "ãƒãƒªã‚´ãƒ³ã‚’編集" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "ãƒã‚¤ãƒ³ãƒˆæŒ¿å…¥" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "ãƒãƒªã‚´ãƒ³ã‚’編集(点を除去)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "ãƒãƒªã‚´ãƒ³ã¨ç‚¹ã‚’除去" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3488,6 +3469,22 @@ msgstr "" msgid "Erase points." msgstr "点を消ã™ã€‚" +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "ãƒãƒªã‚´ãƒ³ã‚’編集" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "ãƒã‚¤ãƒ³ãƒˆæŒ¿å…¥" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "ãƒãƒªã‚´ãƒ³ã‚’編集(点を除去)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "ãƒãƒªã‚´ãƒ³ã¨ç‚¹ã‚’除去" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -3500,9 +3497,8 @@ msgstr "ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ " #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Load..." -msgstr "èªè¾¼ã‚€.." +msgstr "èªã¿è¾¼ã‚€.." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3882,9 +3878,8 @@ msgid "Connect nodes." msgstr "ノードを接続。" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Remove selected node or transition." -msgstr "é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã¾ãŸã¯ãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚’除去" +msgstr "é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã¾ãŸã¯ãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚’除去。" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy @@ -4311,9 +4306,8 @@ msgid "Change Anchors" msgstr "アンカーを変更" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Paste Pose" -msgstr "ãƒãƒ¼ã‚ºã‚’貼り付ã‘ã‚‹" +msgstr "ãƒãƒ¼ã‚ºã‚’貼り付ã‘" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -4453,14 +4447,12 @@ msgid "Unlock the selected object (can be moved)." msgstr "é¸æŠžã—ãŸã‚ªãƒ–ジェクトをアンãƒãƒƒã‚¯ (移動å¯èƒ½ã«ã™ã‚‹)。" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Makes sure the object's children are not selectable." -msgstr "ã“ã®ã‚ªãƒ–ジェクトã®å(オブジェクト)をé¸æŠžä¸å¯ã¨ã™ã‚‹." +msgstr "オブジェクトã®åã‚’é¸æŠžä¸å¯ã«ã™ã‚‹ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Restores the object's children's ability to be selected." -msgstr "ã“ã®ã‚ªãƒ–ジェクトã®å(オブジェクト)をé¸æŠžå¯èƒ½ã¨ã™ã‚‹." +msgstr "オブジェクトã®åã‚’é¸æŠžå¯èƒ½ã«æˆ»ã™ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton Options" @@ -4483,9 +4475,8 @@ msgid "Make Custom Bone(s) from Node(s)" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Clear Custom Bones" -msgstr "ボーンをクリアã™ã‚‹" +msgstr "カスタムボーンをクリア" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -4713,12 +4704,10 @@ msgid "Item List Editor" msgstr "アイテムリストã®ã‚¨ãƒ‡ã‚£ã‚¿" #: editor/plugins/light_occluder_2d_editor_plugin.cpp -#, fuzzy msgid "Create Occluder Polygon" -msgstr "オクルージョンを生ã˜ã‚‹ãƒãƒªã‚´ãƒ³ã‚’生æˆ" +msgstr "オクルーダーãƒãƒªã‚´ãƒ³ã‚’生æˆ" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Mesh is empty!" msgstr "メッシュãŒã‚ã‚Šã¾ã›ã‚“!" @@ -5240,9 +5229,8 @@ msgid "Split Segment (in curve)" msgstr "分割ã™ã‚‹(曲線を)" #: editor/plugins/physical_bone_plugin.cpp -#, fuzzy msgid "Move joint" -msgstr "ãƒã‚¤ãƒ³ãƒˆã‚’移動" +msgstr "ジョイントを移動" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" @@ -5250,9 +5238,8 @@ msgid "" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Sync Bones" -msgstr "ボーンを表示ã™ã‚‹" +msgstr "ボーンをåŒæœŸ" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" @@ -5267,32 +5254,34 @@ msgid "Create UV Map" msgstr "UVマップを生æˆ" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "ãƒãƒªã‚´ãƒ³ã¨UVを生æˆ" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create Internal Vertex" -msgstr "水平ガイドを作æˆ" +msgstr "å†…éƒ¨é ‚ç‚¹ã‚’ä½œæˆ" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Internal Vertex" -msgstr "曲線ã®In-ãƒãƒ³ãƒ‰ãƒ«ã‚’除去" +msgstr "å†…éƒ¨é ‚ç‚¹ã‚’é™¤åŽ»" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Invalid Polygon (need 3 different vertices)" -msgstr "" +msgstr "無効ãªãƒãƒªã‚´ãƒ³ (3ã¤ã®ç•°ãªã‚‹é ‚点ãŒå¿…è¦ã§ã™)" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Add Custom Polygon" -msgstr "ãƒãƒªã‚´ãƒ³ã‚’編集" +msgstr "カスタムãƒãƒªã‚´ãƒ³ã‚’è¿½åŠ " #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Polygon" -msgstr "ãƒãƒªã‚´ãƒ³ã¨ç‚¹ã‚’除去" +msgstr "カスタムãƒãƒªã‚´ãƒ³ã‚’除去" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" @@ -5444,9 +5433,8 @@ msgid "Sync Bones to Polygon" msgstr "ãƒãƒªã‚´ãƒ³ã®ç¸®å°ºã‚’変更" #: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy msgid "ERROR: Couldn't load resource!" -msgstr "エラー:リソースをèªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ!" +msgstr "エラー: リソースをèªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" @@ -5502,9 +5490,8 @@ msgid "AnimationTree has no path set to an AnimationPlayer" msgstr "" #: editor/plugins/root_motion_editor_plugin.cpp -#, fuzzy msgid "Path to AnimationPlayer is invalid" -msgstr "アニメーションツリーã«å•é¡ŒãŒã‚ã‚Šã¾ã™." +msgstr "AnimationPlayer ã¸ã®ãƒ‘スãŒç„¡åŠ¹ã§ã™" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -6491,14 +6478,12 @@ msgid "(empty)" msgstr "(空)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "アニメーション" +msgstr "アニメーション:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "アニメーション" +msgstr "æ–°è¦ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6509,9 +6494,8 @@ msgid "Loop" msgstr "ループ" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "アニメーションã®ãƒ•ãƒ¬ãƒ¼ãƒ " +msgstr "アニメーション フレーム:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -6838,9 +6822,8 @@ msgid "Erase bitmask." msgstr "点を消ã™ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new polygon." -msgstr "æ–°è¦ã«ãƒãƒªã‚´ãƒ³ã‚’生æˆã™ã‚‹" +msgstr "æ–°è¦ãƒãƒªã‚´ãƒ³ã‚’生æˆã€‚" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." @@ -6855,9 +6838,10 @@ msgid "Display Tile Names (Hold Alt Key)" msgstr "タイルåを表示 (Altã‚ーを長押ã—)" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "パスã®ãƒã‚¤ãƒ³ãƒˆã‚’除去" +msgstr "" +"é¸æŠžã—ãŸãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’除去ã—ã¾ã™ã‹? ã“れを使用ã—ã¦ã„ã‚‹ã™ã¹ã¦ã®ã‚¿ã‚¤ãƒ«ã¯é™¤åŽ»ã•ã‚Œ" +"ã¾ã™ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." @@ -6937,18 +6921,16 @@ msgid "Set Tile Region" msgstr "テクスãƒãƒ£ã€€ãƒªãƒ¼ã‚¸ãƒ§ãƒ³" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Tile" -msgstr "フォルダーを作æˆ" +msgstr "タイルを生æˆ" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" -msgstr "" +msgstr "タイル アイコンをè¨å®š" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Bitmask" -msgstr "フィルタã®ç·¨é›†" +msgstr "タイル ビットマスクを編集" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -6956,28 +6938,24 @@ msgid "Edit Collision Polygon" msgstr "æ—¢å˜ã®ãƒãƒªã‚´ãƒ³ã‚’編集:" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Occlusion Polygon" -msgstr "ãƒãƒªã‚´ãƒ³ã‚’編集" +msgstr "オクルージョン ãƒãƒªã‚´ãƒ³ã‚’編集" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Navigation Polygon" -msgstr "ナビゲーションãƒãƒªã‚´ãƒ³ã‚’生æˆ" +msgstr "ナビゲーション ãƒãƒªã‚´ãƒ³ã‚’編集" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste Tile Bitmask" -msgstr "ビットマスクを貼り付ã‘。" +msgstr "タイル ビットマスクを貼り付ã‘" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Clear Tile Bitmask" -msgstr "" +msgstr "タイル ビットマスクをクリア" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Tile" -msgstr "テンプレートを除去" +msgstr "タイルを除去" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -6985,38 +6963,32 @@ msgid "Remove Collision Polygon" msgstr "ãƒãƒªã‚´ãƒ³ã¨ç‚¹ã‚’除去" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Occlusion Polygon" -msgstr "オクルージョンを生ã˜ã‚‹ãƒãƒªã‚´ãƒ³ã‚’生æˆ" +msgstr "オクルージョン ãƒãƒªã‚´ãƒ³ã‚’除去" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Navigation Polygon" -msgstr "ナビゲーションãƒãƒªã‚´ãƒ³ã‚’生æˆ" +msgstr "ナビゲーション ãƒãƒªã‚´ãƒ³ã‚’除去" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Priority" -msgstr "フィルタã®ç·¨é›†" +msgstr "タイル プãƒãƒ‘ティを編集" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Z Index" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Collision Polygon" -msgstr "ナビゲーションãƒãƒªã‚´ãƒ³ã‚’生æˆ" +msgstr "コリジョン ãƒãƒªã‚´ãƒ³ã‚’生æˆ" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Occlusion Polygon" -msgstr "オクルージョンを生ã˜ã‚‹ãƒãƒªã‚´ãƒ³ã‚’生æˆ" +msgstr "オクルージョン ãƒãƒªã‚´ãƒ³ã‚’生æˆ" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "This property can't be changed." -msgstr "ã“ã®å‡¦ç†ã«ã¯ã‚·ãƒ¼ãƒ³ãŒå¿…è¦ã§ã™." +msgstr "ã“ã®ãƒ—ãƒãƒ‘ティã¯å¤‰æ›´ã§ãã¾ã›ã‚“。" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -7142,19 +7114,16 @@ msgid "Feature List:" msgstr "メソッド一覧:" #: editor/project_export.cpp -#, fuzzy msgid "Script" -msgstr "æ–°è¦ã‚¹ã‚¯ãƒªãƒ—ト" +msgstr "スクリプト" #: editor/project_export.cpp -#, fuzzy msgid "Script Export Mode:" -msgstr "エクスãƒãƒ¼ãƒˆã®ãƒ¢ãƒ¼ãƒ‰:" +msgstr "スクリプトã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ¢ãƒ¼ãƒ‰:" #: editor/project_export.cpp -#, fuzzy msgid "Text" -msgstr "テクスãƒãƒ£" +msgstr "テã‚スト" #: editor/project_export.cpp #, fuzzy @@ -7178,9 +7147,8 @@ msgid "Export PCK/Zip" msgstr "PCK/Zipã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ" #: editor/project_export.cpp -#, fuzzy msgid "Export mode?" -msgstr "エクスãƒãƒ¼ãƒˆã®ãƒ¢ãƒ¼ãƒ‰:" +msgstr "エクスãƒãƒ¼ãƒˆ モード?" #: editor/project_export.cpp msgid "Export All" @@ -7242,21 +7210,20 @@ msgid "Invalid project path (changed anything?)." msgstr "ä¸æ£ãªãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã®ãƒ‘ス(何ã‹å¤‰ãˆã¾ã—ãŸã‹ï¼Ÿï¼‰" #: editor/project_manager.cpp -#, fuzzy msgid "" "Couldn't load project.godot in project path (error %d). It may be missing or " "corrupted." -msgstr "project.godotをプãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‘スã«ç”Ÿæˆã§ãã¾ã›ã‚“ã§ã—ãŸ" +msgstr "" +"プãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‘ス㮠project.godot ã‚’èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸã€‚ (エラー %d)。見ã¤ã‹" +"らãªã„ã‹ç ´æã—ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚" #: editor/project_manager.cpp -#, fuzzy msgid "Couldn't edit project.godot in project path." -msgstr "project.godotをプãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‘スã«ç”Ÿæˆã§ãã¾ã›ã‚“ã§ã—ãŸ" +msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‘ス㮠project.godot を編集ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" #: editor/project_manager.cpp -#, fuzzy msgid "Couldn't create project.godot in project path." -msgstr "project.godotをプãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‘スã«ç”Ÿæˆã§ãã¾ã›ã‚“ã§ã—ãŸ" +msgstr "project.godot をプãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‘スã«ç”Ÿæˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" #: editor/project_manager.cpp msgid "The following files failed extraction from package:" @@ -7316,11 +7283,11 @@ msgstr "å‚ç…§" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "" +msgstr "レンダラー:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" -msgstr "" +msgstr "OpenGL ES 3.0" #: editor/project_manager.cpp msgid "" @@ -7329,10 +7296,14 @@ msgid "" "Incompatible with older hardware\n" "Not recommended for web games" msgstr "" +"高ã„ビジュアルクオリティ\n" +"ã™ã¹ã¦ã®æ©Ÿèƒ½ã‚’利用å¯èƒ½\n" +"å¤ã„ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã¨ã®äº’æ›æ€§ãªã—\n" +"Webゲームã«ã¯éžæŽ¨å¥¨" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp msgid "" @@ -7341,10 +7312,15 @@ msgid "" "Works on most hardware\n" "Recommended for web games" msgstr "" +"低ã„ビジュアルクオリティ\n" +"一部機能ã¯åˆ©ç”¨ä¸å¯\n" +"ã»ã¨ã‚“ã©ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã§å‹•ä½œ\n" +"Webゲームã«æŽ¨å¥¨" #: editor/project_manager.cpp msgid "Renderer can be changed later, but scenes may need to be adjusted." msgstr "" +"レンダラーã¯å¾Œã§å¤‰æ›´ã§ãã¾ã™ãŒã€ã‚·ãƒ¼ãƒ³ã®èª¿æ•´ãŒå¿…è¦ã¨ãªã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚" #: editor/project_manager.cpp msgid "Unnamed Project" @@ -7383,6 +7359,13 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" +"以下ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã¯ã€å¤ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¨ãƒ³ã‚¸ãƒ³ã«ã‚ˆã‚Šç”Ÿæˆã•ã‚Œã¦ãŠ" +"ã‚Šã€ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç”¨ã«å¤‰æ›ãŒå¿…è¦ã§ã™:\n" +"\n" +"%s\n" +"\n" +"変æ›ã—ã¾ã™ã‹?\n" +"è¦å‘Š: プãƒã‚¸ã‚§ã‚¯ãƒˆã¯æ—§ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¨ãƒ³ã‚¸ãƒ³ã§é–‹ãã“ã¨ãŒã§ããªããªã‚Šã¾ã™ã€‚" #: editor/project_manager.cpp msgid "" @@ -7537,7 +7520,6 @@ msgid "Control+" msgstr "Control+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -#, fuzzy msgid "Press a Key..." msgstr "ã‚ーを押ã—ã¦ãã ã•ã„..." @@ -8002,14 +7984,12 @@ msgid "Case" msgstr "" #: editor/rename_dialog.cpp -#, fuzzy msgid "To Lowercase" -msgstr "å°æ–‡å—ã«ã™ã‚‹" +msgstr "å°æ–‡å—ã«" #: editor/rename_dialog.cpp -#, fuzzy msgid "To Uppercase" -msgstr "大文å—ã«ã™ã‚‹" +msgstr "大文å—ã«" #: editor/rename_dialog.cpp msgid "Reset" @@ -8142,7 +8122,6 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Editable Children" msgstr "編集å¯èƒ½ãªå" @@ -8176,6 +8155,7 @@ msgid "Custom Node" msgstr "カスタムノード" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Can't operate on nodes from a foreign scene!" msgstr "ç•°ãªã‚‹ã‚·ãƒ¼ãƒ³ã®ãƒŽãƒ¼ãƒ‰ã‚’処ç†ã§ãã¾ã›ã‚“!" @@ -8288,14 +8268,13 @@ msgid "Local" msgstr "ãƒãƒ¼ã‚«ãƒ«" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Clear Inheritance? (No Undo!)" -msgstr "継承をクリアã—ã¾ã™ã‹ï¼Ÿï¼ˆundoã§ãã¾ã›ã‚“!)" +msgstr "継承をクリアã—ã¾ã™ã‹?(「元ã«æˆ»ã™ã€ã§ãã¾ã›ã‚“!)" #: editor/scene_tree_editor.cpp #, fuzzy msgid "Toggle Visible" -msgstr "å¯è¦–性(Visibility)を変更" +msgstr "å¯è¦–性ã®åˆ‡ã‚Šæ›¿ãˆ" #: editor/scene_tree_editor.cpp #, fuzzy @@ -8303,22 +8282,20 @@ msgid "Node configuration warning:" msgstr "ノードã®è¨å®šã«é–¢ã™ã‚‹è¦å‘Š:" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "" "Node has connection(s) and group(s).\n" "Click to show signals dock." msgstr "" -"ノードãŒã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ä¿æŒã—ã¦ã„ã¾ã™\n" -"クリックã—ã¦ã‚·ã‚°ãƒŠãƒ«ãƒ‰ãƒƒã‚¯ã‚’表示ã—ã¦ãã ã•ã„" +"ノードã«æŽ¥ç¶šã¨ã‚°ãƒ«ãƒ¼ãƒ—ãŒã‚ã‚Šã¾ã™ã€‚\n" +"クリックã§ã‚·ã‚°ãƒŠãƒ« ドックを表示。" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "" "Node has connections.\n" "Click to show signals dock." msgstr "" -"ノードã¯ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ä¿æŒã—ã¦ã„ã¾ã™\n" -"クリックã—ã¦ã‚·ã‚°ãƒŠãƒ«ãƒ‰ãƒƒã‚¯ã‚’表示ã—ã¦ãã ã•ã„" +"ノードã«æŽ¥ç¶šãŒã‚ã‚Šã¾ã™ã€‚\n" +"クリックã§ã‚·ã‚°ãƒŠãƒ« ドックを表示。" #: editor/scene_tree_editor.cpp #, fuzzy @@ -8351,9 +8328,8 @@ msgstr "" "クリックã—ã¦é¸æŠžå¯èƒ½ã«ã—ã¦ãã ã•ã„" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Toggle Visibility" -msgstr "å¯è¦–性(Visibility)を変更" +msgstr "å¯è¦–性ã®åˆ‡ã‚Šæ›¿ãˆ" #: editor/scene_tree_editor.cpp msgid "" @@ -8418,9 +8394,8 @@ msgid "Path is not local" msgstr "パスã¯ãƒãƒ¼ã‚«ãƒ«ã§ã¯ã‚ã‚Šã¾ã›ã‚“" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid base path" -msgstr "ä¸æ£ãªãƒ™ãƒ¼ã‚¹ï¼ˆbase)パス" +msgstr "無効ãªãƒ™ãƒ¼ã‚¹ パス" #: editor/script_create_dialog.cpp msgid "Directory of the same name exists" @@ -8721,18 +8696,16 @@ msgid "Platform" msgstr "プラットフォーム" #: modules/gdnative/gdnative_library_editor_plugin.cpp -#, fuzzy msgid "Dynamic Library" -msgstr "メッシュライブラリ..." +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 "メッシュライブラリ..." +msgstr "GDNative ライブラリ" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" @@ -8833,9 +8806,8 @@ msgid "GridMap Duplicate Selection" msgstr "é¸æŠžç¯„囲を複製" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Grid Map" -msgstr "グリッドSnap" +msgstr "グリッドマップ" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -8923,9 +8895,8 @@ msgid "Fill Selection" msgstr "ã™ã¹ã¦é¸æŠž" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Settings" -msgstr "Snapã®è¨å®š" +msgstr "グリッドマップã®è¨å®š" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -9463,9 +9434,8 @@ msgid "Invalid public key for APK expansion." msgstr "" #: platform/android/export/export.cpp -#, fuzzy msgid "Invalid package name:" -msgstr "ä¸æ£ãªã‚¯ãƒ©ã‚¹å" +msgstr "無効ãªãƒ‘ッケージå:" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -9476,9 +9446,8 @@ msgid "Identifier segments must be of non-zero length." msgstr "" #: platform/iphone/export/export.cpp -#, fuzzy msgid "The character '%s' is not allowed in Identifier." -msgstr "ã“ã®åå‰ã¯ä¸æ£ãªè˜åˆ¥åã§ã™:" +msgstr "æ–‡å— '%s' ã¯è˜åˆ¥åã«ä½¿ç”¨ã§ãã¾ã›ã‚“。" #: platform/iphone/export/export.cpp msgid "A digit cannot be the first character in a Identifier segment." @@ -9498,9 +9467,8 @@ msgid "App Store Team ID not specified - cannot configure the project." msgstr "" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Invalid Identifier:" -msgstr "ã“ã®åå‰ã¯ä¸æ£ãªè˜åˆ¥åã§ã™:" +msgstr "無効ãªè˜åˆ¥å:" #: platform/iphone/export/export.cpp msgid "Required icon is not specified in the preset." @@ -9546,19 +9514,16 @@ msgid "Invalid package unique name." msgstr "無効ãªãƒ•ã‚©ãƒ³ãƒˆ サイズã§ã™ã€‚" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid product GUID." -msgstr "無効ãªãƒ•ã‚©ãƒ³ãƒˆ サイズã§ã™ã€‚" +msgstr "無効ãªãƒ—ãƒãƒ€ã‚¯ãƒˆ GUIDã§ã™ã€‚" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid publisher GUID." -msgstr "パブリッシャã®GUIDãŒä¸æ£ã§ã™." +msgstr "無効ãªãƒ‘ブリッシャー GUIDã§ã™ã€‚" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid background color." -msgstr "ä¸æ£ãªèƒŒæ™¯è‰²" +msgstr "無効ãªèƒŒæ™¯è‰²ã§ã™ã€‚" #: platform/uwp/export/export.cpp #, fuzzy @@ -9795,7 +9760,7 @@ msgstr "%d%%" #: scene/3d/baked_lightmap.cpp msgid "(Time Left: %d:%02d s)" -msgstr "" +msgstr "(Time Left: %d分%02d秒)" #: scene/3d/baked_lightmap.cpp #, fuzzy @@ -9907,10 +9872,8 @@ msgid "" msgstr "" #: scene/3d/path.cpp -#, fuzzy msgid "PathFollow only works when set as a child of a Path node." -msgstr "" -"PathFollow2D ã¯ã€Path2D ノードã®åã¨ã—ã¦è¨å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã®ã¿å‹•ä½œã—ã¾ã™ã€‚" +msgstr "PathFollow ã¯ã€Path ノードã®åã¨ã—ã¦è¨å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã®ã¿å‹•ä½œã—ã¾ã™ã€‚" #: scene/3d/path.cpp msgid "" @@ -9932,27 +9895,6 @@ msgstr "" "Path プãƒãƒ‘ティã¯ã€å‹•ä½œã™ã‚‹ã‚ˆã†ã«æœ‰åŠ¹ãª Particles2D ノードを示ã™å¿…è¦ãŒã‚ã‚Šã¾" "ã™ã€‚" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -#, fuzzy -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"WorldEnvironment ã¯ã€ã‚·ãƒ¼ãƒ³ (ã¾ãŸã¯ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã•ã‚ŒãŸã‚·ãƒ¼ãƒ³ã®ã‚»ãƒƒãƒˆ) ã”ã¨ã«" -"1ã¤ã ã‘許å¯ã•ã‚Œã¾ã™ã€‚" - -#: scene/3d/scenario_fx.cpp -#, fuzzy -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"ã“ã®WorldEnvironmentã¯ç„¡è¦–ã•ã‚Œã¾ã—ãŸã€‚ã‚«ãƒ¡ãƒ©ã‚’è¿½åŠ ã™ã‚‹ã‹(3Dシーンã®å ´åˆ)ã€ã“" -"ã®Environmentã® Backgroundモード ã‚’ Canvas ã«è¨å®šã—ã¾ã™(2Dシーンã®å ´åˆ)。" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9978,6 +9920,27 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +#, fuzzy +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"WorldEnvironment ã¯ã€ã‚·ãƒ¼ãƒ³ (ã¾ãŸã¯ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã•ã‚ŒãŸã‚·ãƒ¼ãƒ³ã®ã‚»ãƒƒãƒˆ) ã”ã¨ã«" +"1ã¤ã ã‘許å¯ã•ã‚Œã¾ã™ã€‚" + +#: scene/3d/world_environment.cpp +#, fuzzy +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"ã“ã®WorldEnvironmentã¯ç„¡è¦–ã•ã‚Œã¾ã—ãŸã€‚ã‚«ãƒ¡ãƒ©ã‚’è¿½åŠ ã™ã‚‹ã‹(3Dシーンã®å ´åˆ)ã€ã“" +"ã®Environmentã® Backgroundモード ã‚’ Canvas ã«è¨å®šã—ã¾ã™(2Dシーンã®å ´åˆ)。" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -10004,9 +9967,9 @@ msgid "A root AnimationNode for the graph is not set." msgstr "" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Path to an AnimationPlayer node containing animations is not set." -msgstr "シーンツリーã‹ã‚‰ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ãƒ—レイヤーをé¸æŠžã—アニメーション編集" +msgstr "" +"アニメーションをå«ã‚“ã AnimationPlayer ノードã¸ã®ãƒ‘スãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。" #: scene/animation/animation_tree.cpp msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node." @@ -10036,7 +9999,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "ç¾åœ¨ã®è‰²ã‚’プリセットã¨ã—ã¦è¿½åŠ " #: scene/gui/dialogs.cpp diff --git a/editor/translations/ka.po b/editor/translations/ka.po index 0e79fec501..37f7f2f2e9 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -565,7 +565,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1130,7 +1130,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1159,6 +1159,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2342,7 +2346,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3392,39 +3396,39 @@ msgid "Create Polygon" msgstr "შექმნáƒ" #: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy -msgid "Edit Polygon" +msgid "Create points." msgstr "შექმნáƒ" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy -msgid "Create points." +msgid "Edit Polygon" msgstr "შექმნáƒ" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5125,6 +5129,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9440,21 +9450,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9478,6 +9473,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9535,7 +9545,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ko.po b/editor/translations/ko.po index d241c5a7f2..ebf31640fc 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-07 15:09+0000\n" +"PO-Revision-Date: 2019-02-18 08:54+0000\n" "Last-Translator: ì†¡íƒœì„ <xotjq237@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" @@ -553,8 +553,9 @@ msgid "Warnings" msgstr "ê²½ê³ " #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "ë¼ì¸ ë° ì»¬ëŸ¼ 번호" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1111,8 +1112,9 @@ msgid "Add Bus" msgstr "버스 추가" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "새로운 버스 ë ˆì´ì•„ì›ƒì„ ë§Œë“니다." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "오디오 버스 ë ˆì´ì•„ì›ƒì„ ë‹¤ë¥¸ ì´ë¦„으로 ì €ìž¥..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1140,6 +1142,10 @@ msgstr "기본값 불러오기" msgid "Load the default Bus Layout." msgstr "기본 버스 ë ˆì´ì•„ì›ƒì„ ë¶ˆëŸ¬ì˜µë‹ˆë‹¤." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "새로운 버스 ë ˆì´ì•„ì›ƒì„ ë§Œë“니다." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ ì´ë¦„." @@ -2375,7 +2381,8 @@ msgid "Save & Restart" msgstr "ì €ìž¥ & 다시 시작" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "ì—디터 윈ë„ìš°ê°€ 다시 ê·¸ë ¤ì§ˆ ë•Œ íšŒì „!" #: editor/editor_node.cpp @@ -3431,22 +3438,6 @@ msgid "Create Polygon" msgstr "í´ë¦¬ê³¤ 만들기" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "í´ë¦¬ê³¤ 편집" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "í¬ì¸íŠ¸ 삽입" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "í´ë¦¬ê³¤ 편집 (í¬ì¸íŠ¸ ì‚ì œ)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "í´ë¦¬ê³¤ê³¼ í¬ì¸íŠ¸ ì‚ì œ" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3467,6 +3458,22 @@ msgstr "" msgid "Erase points." msgstr "í¬ì¸íŠ¸ 지우기." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "í´ë¦¬ê³¤ 편집" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "í¬ì¸íŠ¸ 삽입" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "í´ë¦¬ê³¤ 편집 (í¬ì¸íŠ¸ ì‚ì œ)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "í´ë¦¬ê³¤ê³¼ í¬ì¸íŠ¸ ì‚ì œ" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -4264,14 +4271,13 @@ msgstr "CanvasItem ì´ë™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "Control ë…¸ë“œì˜ ì•µì»¤ì™€ 여백 ê°’ì˜ í”„ë¦¬ì…‹." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." -msgstr "ê²½ê³ : 컨테ì´ë„ˆì˜ ìžì‹ì€ ë¶€ëª¨ì— ì˜í•´ ê²°ì •ëœ ìœ„ì¹˜ì™€ 규모를 갖습니다." +msgstr "컨테ì´ë„ˆì˜ ìžë…€ëŠ” ë¶€ëª¨ì— ì˜í•´ ê·¸ë“¤ì˜ ì•µì»¤ì™€ 여백 ê°’ì´ ìž¬ì •ì˜ë©ë‹ˆë‹¤." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -4279,7 +4285,7 @@ msgstr "앵커만" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "앵커와 마진 변경" +msgstr "앵커와 여백 변경" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" @@ -5175,6 +5181,12 @@ msgid "Create UV Map" msgstr "UV 맵 만들기" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "í´ë¦¬ê³¤ & UV 만들기" @@ -6264,9 +6276,8 @@ msgid "Post" msgstr "Post" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Nameless gizmo" -msgstr "ì´ë¦„없는 기즈모" +msgstr "ì´ë¦„없는 오브ì íŠ¸ì˜ ì¤‘ì‹¬ì " #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" @@ -6341,14 +6352,12 @@ msgid "(empty)" msgstr "(비었ìŒ)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "ì• ë‹ˆë©”ì´ì…˜(Animations)" +msgstr "ì• ë‹ˆë©”ì´ì…˜:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "ì• ë‹ˆë©”ì´ì…˜(Animation)" +msgstr "새로운 ì• ë‹ˆë©”ì´ì…˜" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6359,9 +6368,8 @@ msgid "Loop" msgstr "루프" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "ì• ë‹ˆë©”ì´ì…˜ í”„ë ˆìž„" +msgstr "ì• ë‹ˆë©”ì´ì…˜ í”„ë ˆìž„:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -7162,7 +7170,6 @@ msgid "Are you sure to open more than one project?" msgstr "ë‘ê°œ ì´ìƒì˜ 프로ì 트를 ì—´ë ¤ëŠ” ê²ƒì´ í™•ì‹¤í•©ë‹ˆê¹Œ?" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -7174,13 +7181,12 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" -"다ìŒì˜ 프로ì 트 ì„¤ì • 파ì¼ì€ ì´ì „ ë²„ì „ì—ì„œ ìƒì„±ëœ 것으로, ë‹¤ìŒ ë²„ì „ì— ë§žê²Œ ë³€" -"환해야 합니다:\n" -"\n" -"%s\n" -"\n" -"ë³€í™˜í•˜ì‹œê² ìŠµë‹ˆê¹Œ?\n" -"ê²½ê³ : ë” ì´ìƒ ì´ í”„ë¡œì 트를 ì´ì „ ë²„ì „ì—ì„œ ì—´ 수 없게 ë©ë‹ˆë‹¤." +"ë‹¤ìŒ í”„ë¡œì 트 ì„¤ì • 파ì¼ì€ ì´ ë²„ì „ì˜ Godotë¡œ ìƒì„±ë˜ì§€ 않았습니다.\n" +"↵\n" +"%s↵\n" +"↵\n" +"파ì¼ì„ 연다면, 현재 Godotì˜ êµ¬ì„± íŒŒì¼ í˜•ì‹ìœ¼ë¡œ 변환ë©ë‹ˆë‹¤.\n" +"ê²½ê³ : ì´ì „ ë²„ì „ì˜ ì—”ì§„ìœ¼ë¡œ ë” ì´ìƒ ì—´ 수 없게 ë 것입니다." #: editor/project_manager.cpp msgid "" @@ -9379,6 +9385,9 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"GPU 기반 파티í´ì€ GLES2 비디오 ë“œë¼ì´ë²„ì—ì„œ 지ì›í•˜ì§€ 않습니다.\n" +"CPUParticles2D 노드를 사용하세요. ì´ ê²½ìš° \"CPU파티í´ë¡œ 변환\" ì˜µì…˜ì„ ì‚¬ìš©í• " +"수 있습니다." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9568,6 +9577,9 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"GPU 기반 파티í´ì€ GLES2 비디오 ë“œë¼ì´ë²„ì—ì„œ 지ì›í•˜ì§€ 않습니다.\n" +"CPUParticles 노드를 사용하세요. ì´ ê²½ìš° \"CPU파티í´ë¡œ 변환\" ì˜µì…˜ì„ ì‚¬ìš©í• " +"수 있습니다." #: scene/3d/particles.cpp msgid "" @@ -9608,23 +9620,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "Path ì†ì„±ì€ ìœ íš¨í•œ Spatial 노드를 가리켜야 합니다." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment는 Environment 리소스가 필요합니다." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "씬마다 WorldEnvironmentê°€ 단 하나만 허용ë©ë‹ˆë‹¤." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"ì´ WorldEnvironment는 무시ë©ë‹ˆë‹¤. (3D ì”¬ì„ ìœ„í•´) Camera를 추가하거나 아니면 " -"(2D ì”¬ì„ ìœ„í•´) ì´ í™˜ê²½ì˜ ë°°ê²½ 모드를 Canvasë¡œ ì„¤ì •í•˜ì„¸ìš”." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "ì´ ë°”ë””ëŠ” 메시를 ì„¤ì •í• ë•Œ 까지 무시ë©ë‹ˆë‹¤" @@ -9654,6 +9649,23 @@ msgstr "" "VehicleWheelì€ VehicleBodyë¡œ íœ ì‹œìŠ¤í…œì„ ì œê³µí•˜ëŠ” ê¸°ëŠ¥ì„ í•©ë‹ˆë‹¤. VehicleBody" "ì˜ ìžì‹ìœ¼ë¡œ 사용해주세요." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment는 Environment 리소스가 필요합니다." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "씬마다 WorldEnvironmentê°€ 단 하나만 허용ë©ë‹ˆë‹¤." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"ì´ WorldEnvironment는 무시ë©ë‹ˆë‹¤. (3D ì”¬ì„ ìœ„í•´) Camera를 추가하거나 아니면 " +"(2D ì”¬ì„ ìœ„í•´) ì´ í™˜ê²½ì˜ ë°°ê²½ 모드를 Canvasë¡œ ì„¤ì •í•˜ì„¸ìš”." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "BlendTree 노드 '%s'ì—ì„œ, ì• ë‹ˆë©”ì´ì…˜ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ: '%s'" @@ -9700,7 +9712,7 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "화면ì—ì„œ 색ìƒì„ ì„ íƒí•˜ì„¸ìš”." #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -9708,10 +9720,11 @@ msgstr "Raw 모드" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "16 진수나 코드 값으로 ì „í™˜í•©ë‹ˆë‹¤." #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "현재 색ìƒì„ 프리셋으로 추가" #: scene/gui/dialogs.cpp diff --git a/editor/translations/lt.po b/editor/translations/lt.po index 8b380692a7..4985518381 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -552,7 +552,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1106,7 +1106,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1135,6 +1135,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2316,7 +2320,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3378,23 +3382,6 @@ msgid "Create Polygon" msgstr "Keisti Poligono SkalÄ™" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Priedai" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3413,6 +3400,23 @@ msgstr "" msgid "Erase points." msgstr "" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Priedai" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5117,6 +5121,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Keisti Poligono SkalÄ™" @@ -9451,21 +9461,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9489,6 +9484,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9547,7 +9557,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/lv.po b/editor/translations/lv.po index 47564302e4..60475bea45 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -548,7 +548,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1106,7 +1106,7 @@ msgid "Add Bus" msgstr "Pievienot Kopni" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1135,6 +1135,10 @@ msgstr "IelÄdÄ“t NoklusÄ“jumu" msgid "Load the default Bus Layout." msgstr "IelÄdÄ“t Kopnes IzkÄrtojuma noklusÄ“jumu." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "NederÄ«gs nosaukums." @@ -2321,7 +2325,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3369,39 +3373,39 @@ msgid "Create Polygon" msgstr "Izveidot" #: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy -msgid "Edit Polygon" +msgid "Create points." msgstr "Izveidot" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy -msgid "Create points." +msgid "Edit Polygon" msgstr "Izveidot" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5099,6 +5103,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9415,21 +9425,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9453,6 +9448,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9509,7 +9519,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Pievienot paÅ¡reizÄ“jo krÄsu kÄ iepriekÅ¡noteiktu krÄsu" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ml.po b/editor/translations/ml.po index 29fc0b10d2..346181c489 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -537,7 +537,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1084,7 +1084,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1113,6 +1113,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2283,7 +2287,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3321,37 +3325,37 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +msgid "Edit Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5039,6 +5043,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9301,21 +9311,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9339,6 +9334,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9392,7 +9402,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ms.po b/editor/translations/ms.po index 7e95e3e179..a336b59d6f 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -546,7 +546,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1093,7 +1093,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1122,6 +1122,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2292,7 +2296,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3330,37 +3334,37 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +msgid "Edit Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5050,6 +5054,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9322,21 +9332,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9360,6 +9355,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9413,7 +9423,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 8d2071bc78..ada2ff1569 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -8,7 +8,7 @@ # flesk <eivindkn@gmail.com>, 2017, 2019. # Frank T. Rambol <frank@d-fect.com>, 2018. # Jørgen Aarmo Lund <jorgen.aarmo@gmail.com>, 2016. -# NicolaiF <nico-fre@hotmail.com>, 2017-2018. +# NicolaiF <nico-fre@hotmail.com>, 2017-2018, 2019. # Norwegian Disaster <stian.furu.overbye@gmail.com>, 2017. # passeride <lukas@passeride.com>, 2017. # Byzantin <kasper-hoel@hotmail.com>, 2018. @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-10 12:01+0000\n" -"Last-Translator: flesk <eivindkn@gmail.com>\n" +"PO-Revision-Date: 2019-02-13 16:10+0000\n" +"Last-Translator: NicolaiF <nico-fre@hotmail.com>\n" "Language-Team: Norwegian BokmÃ¥l <https://hosted.weblate.org/projects/godot-" "engine/godot/nb_NO/>\n" "Language: nb\n" @@ -240,7 +240,7 @@ msgstr "Lineær" #: editor/animation_track_editor.cpp msgid "Cubic" -msgstr "" +msgstr "Kubisk" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" @@ -292,7 +292,7 @@ msgstr "Anim Sett inn" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "" +msgstr "AnimasjonAvspiller kan ikke animere seg selv, kun andre avspillere." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -331,6 +331,7 @@ msgstr "Animasjonsspor kan kun peke pÃ¥ AnimationPlayer-noder." #: editor/animation_track_editor.cpp msgid "An animation player can't animate itself, only other players." msgstr "" +"En animansjonsavspiller kan ikke animere seg selv, kun andre avspillere." #: editor/animation_track_editor.cpp #, fuzzy @@ -588,10 +589,10 @@ msgstr "Nullstill Zoom" #: editor/code_editor.cpp modules/mono/editor/mono_bottom_panel.cpp msgid "Warnings" -msgstr "" +msgstr "Advarsler" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1163,8 +1164,9 @@ msgid "Add Bus" msgstr "Legg til Bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Opprett et nytt Bus oppsett." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Lagre Audio Bus Oppsett som..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1192,6 +1194,10 @@ msgstr "Last Standard" msgid "Load the default Bus Layout." msgstr "Last standard Bus oppsettet." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Opprett et nytt Bus oppsett." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Ugyldig navn." @@ -2476,7 +2482,7 @@ msgstr "Lagre & Avslutt" #: editor/editor_node.cpp #, fuzzy -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "Snurrer nÃ¥r editorvinduet rendrer om!" #: editor/editor_node.cpp @@ -2733,15 +2739,15 @@ msgstr "" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New Script" -msgstr "" +msgstr "Nytt Skript" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New %s" -msgstr "" +msgstr "Ny %s" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Make Unique" -msgstr "" +msgstr "Gjør Unik" #: editor/editor_properties.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -2759,7 +2765,7 @@ msgstr "Lim inn" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Convert To %s" -msgstr "" +msgstr "Konverter Til %s" #: editor/editor_properties.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -2775,11 +2781,11 @@ msgstr "" #: editor/editor_properties_array_dict.cpp msgid "Size: " -msgstr "" +msgstr "Størrelse: " #: editor/editor_properties_array_dict.cpp msgid "Page: " -msgstr "" +msgstr "Side: " #: editor/editor_properties_array_dict.cpp #, fuzzy @@ -3587,7 +3593,7 @@ msgstr "" #: editor/plugin_config_dialog.cpp msgid "Language:" -msgstr "" +msgstr "SprÃ¥k:" #: editor/plugin_config_dialog.cpp #, fuzzy @@ -3596,7 +3602,7 @@ msgstr "Prosjektnavn:" #: editor/plugin_config_dialog.cpp msgid "Activate now?" -msgstr "" +msgstr "Aktiver nÃ¥?" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -3605,25 +3611,6 @@ msgid "Create Polygon" msgstr "Lag Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Rediger Poly" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Sett inn Punkt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Rediger Poly (Fjern Punkt)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Fjern Poly Og Punkt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3648,6 +3635,25 @@ msgstr "" msgid "Erase points." msgstr "Høyreklikk: Slett Punkt." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Rediger Poly" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Sett inn Punkt" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Rediger Poly (Fjern Punkt)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Fjern Poly Og Punkt" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -4322,7 +4328,7 @@ 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 @@ -5413,6 +5419,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Lag Poly" @@ -5531,7 +5543,7 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Radius:" -msgstr "" +msgstr "Radius:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" @@ -9887,21 +9899,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9925,6 +9922,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9983,7 +9995,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 39cb255635..7bb0a80b52 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -577,7 +577,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1144,8 +1144,9 @@ msgid "Add Bus" msgstr "Bus Toevoegen" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Maak een nieuwe audiobus layout." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Sla Audio Bus Layout Op Als..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1173,6 +1174,10 @@ msgstr "Laad Standaard" msgid "Load the default Bus Layout." msgstr "Laad de standaard audiobus layout." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Maak een nieuwe audiobus layout." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Ongeldige naam." @@ -2436,7 +2441,8 @@ msgid "Save & Restart" msgstr "Opslaan & Herstarten" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Draait wanneer het editor venster opnieuw ververst wordt!" #: editor/editor_node.cpp @@ -3499,22 +3505,6 @@ msgid "Create Polygon" msgstr "Veelhoek aanmaken" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Veelhoek bewerken" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Punt Toevoegen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Veelhoek bewerken (punt verwijderen)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Veelhoek en punt verwijderen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3535,6 +3525,22 @@ msgstr "" msgid "Erase points." msgstr "Punten wissen." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Veelhoek bewerken" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Punt Toevoegen" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Veelhoek bewerken (punt verwijderen)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Veelhoek en punt verwijderen" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5280,6 +5286,12 @@ msgid "Create UV Map" msgstr "Creëer UV Map" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Creëer Poly" @@ -9828,23 +9840,6 @@ msgid "Path property must point to a valid Spatial node to work." msgstr "" "Pad eigenschap moet verwijzen naar een geldige Spatial node om te werken." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Slechts één WorldEnvironment is toegestaan per scene (of set van " -"geïnstantieerde scenes)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9870,6 +9865,23 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Slechts één WorldEnvironment is toegestaan per scene (of set van " +"geïnstantieerde scenes)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9929,7 +9941,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Huidige kleur als een preset toevoegen" #: scene/gui/dialogs.cpp diff --git a/editor/translations/pl.po b/editor/translations/pl.po index 5e8902e5a8..5e3e330c84 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -16,7 +16,7 @@ # Karol Walasek <coreconviction@gmail.com>, 2016. # Maksymilian Åšwiąć <maksymilian.swiac@gmail.com>, 2017-2018. # Mietek SzczeÅ›niak <ravaging@go2.pl>, 2016. -# NeverK <neverkoxu@gmail.com>, 2018. +# NeverK <neverkoxu@gmail.com>, 2018, 2019. # Rafal Brozio <rafal.brozio@gmail.com>, 2016. # RafaÅ‚ Ziemniak <synaptykq@gmail.com>, 2017. # RM <synaptykq@gmail.com>, 2018. @@ -34,7 +34,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-06 01:09+0000\n" +"PO-Revision-Date: 2019-02-18 08:54+0000\n" "Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" @@ -574,8 +574,9 @@ msgid "Warnings" msgstr "Ostrzeżenia" #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "Numery linii i kolumn" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1133,8 +1134,9 @@ msgid "Add Bus" msgstr "Dodaj magistralÄ™" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Utwórz nowy ukÅ‚ad magistral." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Zapisz ukÅ‚ad magistrali audio jako..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1162,6 +1164,10 @@ msgstr "Wczytaj domyÅ›lny" msgid "Load the default Bus Layout." msgstr "ZaÅ‚aduj domyÅ›lny ukÅ‚ad magistral." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Utwórz nowy ukÅ‚ad magistral." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "NiewÅ‚aÅ›ciwa nazwa." @@ -2400,7 +2406,8 @@ msgid "Save & Restart" msgstr "Zapisz i zrestartuj" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Ikona obraca siÄ™, gdy okno edytora jest odrysowywane!" #: editor/editor_node.cpp @@ -3463,22 +3470,6 @@ msgid "Create Polygon" msgstr "Utwórz wielokÄ…t" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Edytuj wielokÄ…t" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Wstaw punkt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Edytuj wielokÄ…t (usuÅ„ punkt)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "UsuÅ„Â wielokÄ…t i punkt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3499,6 +3490,22 @@ msgstr "" msgid "Erase points." msgstr "UsuÅ„ punkty." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Edytuj wielokÄ…t" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Wstaw punkt" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Edytuj wielokÄ…t (usuÅ„ punkt)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "UsuÅ„Â wielokÄ…t i punkt" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5232,6 +5239,12 @@ msgid "Create UV Map" msgstr "Utwórz MapÄ™ UV" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Utwórz wielokÄ…t i UV" @@ -8810,7 +8823,7 @@ msgstr "Obliczanie wielkoÅ›ci siatki..." #: modules/recast/navigation_mesh_generator.cpp msgid "Creating heightfield..." -msgstr "" +msgstr "Tworzenie pola wysokoÅ›ci..." #: modules/recast/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." @@ -8818,7 +8831,7 @@ msgstr "Zaznaczanie możliwych do przejÅ›cia trójkÄ…tów ..." #: modules/recast/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." -msgstr "" +msgstr "Konstruowanie zwartego pola wysokoÅ›ci..." #: modules/recast/navigation_mesh_generator.cpp msgid "Eroding walkable area..." @@ -8970,7 +8983,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a simple reference to the node." -msgstr "" +msgstr "Przytrzymaj Ctrl, by upuÅ›cić prostÄ… referencjÄ™ do wÄ™zÅ‚a." #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Variable Setter." @@ -9712,25 +9725,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "Pole Path musi wskazywać na wÄ™zeÅ‚ Spatial." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment wymaga zasobu Environment." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Tylko jeden WorldEnvironment jest dozwolony na scenÄ™ (lub zestaw " -"zinstancjonowanych scen)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Ten WorldEnvironment jest ignorowany. Dodaj Camera (dla scen 3D) lub ustaw " -"Background Mode tego Å›rodowiska na Canvas (dla scen 2D)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "To ciaÅ‚o bÄ™dzie ignorowane, dopóki nie ustawisz siatki" @@ -9761,6 +9755,25 @@ msgstr "" "VehicleWheel zapewnia system kół do VehicleBody. ProszÄ™ użyć go jako " "dziedziczÄ…cego po VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment wymaga zasobu Environment." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Tylko jeden WorldEnvironment jest dozwolony na scenÄ™ (lub zestaw " +"zinstancjonowanych scen)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Ten WorldEnvironment jest ignorowany. Dodaj Camera (dla scen 3D) lub ustaw " +"Background Mode tego Å›rodowiska na Canvas (dla scen 2D)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "W węźle BlendTree '%s', animacja nie znaleziona: '%s'" @@ -9816,7 +9829,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Dodaj bieżący kolor jako domyÅ›lne" #: scene/gui/dialogs.cpp diff --git a/editor/translations/pr.po b/editor/translations/pr.po index f2dbc422df..c52676597c 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -557,7 +557,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1112,7 +1112,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1141,6 +1141,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2332,7 +2336,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3395,24 +3399,6 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Ye be fixin' Signal:" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Discharge ye' Function" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3432,6 +3418,24 @@ msgstr "" msgid "Erase points." msgstr "Yar, Blow th' Selected Down!" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Ye be fixin' Signal:" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Discharge ye' Function" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5139,6 +5143,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9526,21 +9536,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9564,6 +9559,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9618,7 +9628,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index 92aef90e91..4282c467b8 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -55,7 +55,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2019-02-10 12:01+0000\n" +"PO-Revision-Date: 2019-02-14 02:10+0000\n" "Last-Translator: Alan Valmorbida <alanvalmorbida@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" @@ -593,8 +593,9 @@ msgid "Warnings" msgstr "Avisos" #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "Números de linha e coluna" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1153,8 +1154,9 @@ msgid "Add Bus" msgstr "Adicionar Canal" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Criar um novo Layout de Canais." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Salvar Layout de Canais de Ãudio Como..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1182,6 +1184,10 @@ msgstr "Carregar Padrão" msgid "Load the default Bus Layout." msgstr "Carregar o Layout de Canais padrão." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Criar um novo Layout de Canais." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Nome Inválido." @@ -2428,7 +2434,8 @@ msgid "Save & Restart" msgstr "Salvar e Reiniciar" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Gira quando a janela do editor atualiza!" #: editor/editor_node.cpp @@ -3491,22 +3498,6 @@ msgid "Create Polygon" msgstr "Criar PolÃgono" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Editar PolÃgono" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Inserir Ponto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Editar PolÃgono (Remover Ponto)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Remover PolÃgono e Ponto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3527,6 +3518,22 @@ msgstr "" msgid "Erase points." msgstr "Apagar pontos." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Editar PolÃgono" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Inserir Ponto" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Editar PolÃgono (Remover Ponto)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Remover PolÃgono e Ponto" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -4342,8 +4349,8 @@ msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"Aviso: Filhos de um container tem sua posição e tamanho determinados apenas " -"pelo pai." +"Filhos de contêineres tem suas posições e tamanhos sobrescritos pelos seus " +"pais." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5254,6 +5261,12 @@ msgid "Create UV Map" msgstr "Criar Mapa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Criar PolÃgono & UV" @@ -6422,14 +6435,12 @@ msgid "(empty)" msgstr "(vazio)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Animações" +msgstr "Animações:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "Animação" +msgstr "Nova animação" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6440,9 +6451,8 @@ msgid "Loop" msgstr "Repetir" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Quadros da Animação" +msgstr "Quadros da Animação:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -9249,7 +9259,6 @@ msgid "Invalid public key for APK expansion." msgstr "Chave pública inválida para expansão de APK." #: platform/android/export/export.cpp -#, fuzzy msgid "Invalid package name:" msgstr "Nome de pacote inválido:" @@ -9267,16 +9276,16 @@ msgid "The character '%s' is not allowed in Identifier." msgstr "O caractere '%s' não é permitido no identificador." #: platform/iphone/export/export.cpp -#, fuzzy msgid "A digit cannot be the first character in a Identifier segment." -msgstr "Um digito não pode ser o primeiro caractere de um identificador." +msgstr "" +"Um digito não pode ser o primeiro caractere de um segmento identificador." #: platform/iphone/export/export.cpp -#, fuzzy msgid "" "The character '%s' cannot be the first character in a Identifier segment." msgstr "" -"O caractere '%s' não pode ser o primeiro caractere de um identificador." +"O caractere '%s' não pode ser o primeiro caractere de um segmento " +"identificador." #: platform/iphone/export/export.cpp msgid "The Identifier must have at least one '.' separator." @@ -9732,25 +9741,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "A propriedade Caminho deve apontar para um nó Spatial para funcionar." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment precisa de um recurso Environment." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"É permitido apenas um nó WorldEnvironment por cena (ou conjunto de cenas " -"instanciadas)." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Este WorldEnvironment está sendo ignorado. Adicione uma Camera (para cenas " -"3D) ou defina o Background Mode deste ambiente para Canvas (para cenas 2D)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "Este corpo será ignorado até você definir uma malha" @@ -9781,6 +9771,25 @@ msgstr "" "VehiceWheel serve para fornecer um sistema de rodas para um VehicleBody. Por " "favor, use ele como um filho de um VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment precisa de um recurso Environment." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"É permitido apenas um nó WorldEnvironment por cena (ou conjunto de cenas " +"instanciadas)." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Este WorldEnvironment está sendo ignorado. Adicione uma Camera (para cenas " +"3D) ou defina o Background Mode deste ambiente para Canvas (para cenas 2D)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "No nó do BlendTree '%s', animação não encontrada: '%s'" @@ -9837,7 +9846,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Adicionar cor atual como uma predefinição" #: scene/gui/dialogs.cpp diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po index 2cce74bd57..ef090612ca 100644 --- a/editor/translations/pt_PT.po +++ b/editor/translations/pt_PT.po @@ -559,7 +559,7 @@ msgid "Warnings" msgstr "Avisos" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1119,8 +1119,9 @@ msgid "Add Bus" msgstr "Adicionar Barramento" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Criar um novo Modelo de Barramento." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Guardar Modelo do barramento de áudio como..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1148,6 +1149,10 @@ msgstr "Carregar Padrão" msgid "Load the default Bus Layout." msgstr "Carregar o Modelo padrão de barramento." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Criar um novo Modelo de Barramento." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Nome inválido." @@ -2395,7 +2400,8 @@ msgid "Save & Restart" msgstr "Guardar & Reiniciar" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Roda quando a janela do Editor atualiza!" #: editor/editor_node.cpp @@ -3455,22 +3461,6 @@ msgid "Create Polygon" msgstr "Criar PolÃgono" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Editar PolÃgono" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Inserir Ponto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Editar PolÃgono (Remover Ponto)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Remover PolÃgono e Ponto" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3491,6 +3481,22 @@ msgstr "" msgid "Erase points." msgstr "Apagar pontos." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Editar PolÃgono" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Inserir Ponto" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Editar PolÃgono (Remover Ponto)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Remover PolÃgono e Ponto" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5207,6 +5213,12 @@ msgid "Create UV Map" msgstr "Criar mapa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Criar PolÃgono & UV" @@ -9674,25 +9686,6 @@ msgstr "" "Para funcionar, a Propriedade Caminho tem de apontar para um Nó Spatial " "válido." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment precisa de um recurso Environment." - -#: 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/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Este WorldEnvironment Ä— ignorado. Pode adicionar uma Camera (para cenas 3D) " -"ou definir o Modo Background deste ambiente como Canvas (para cenas 2D)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "Este corpo será ignorado até se definir uma Malha" @@ -9723,6 +9716,25 @@ msgstr "" "VehicleWheel fornece um sistema de rodas a um VehicleBody. Use-o como um " "filho de VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment precisa de um recurso Environment." + +#: scene/3d/world_environment.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/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Este WorldEnvironment Ä— ignorado. Pode adicionar uma Camera (para cenas 3D) " +"ou definir o Modo Background deste ambiente como Canvas (para cenas 2D)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "No nó BlendTree '%s', animação não encontrada: '%s'" @@ -9778,7 +9790,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Adicionar cor atual como predefinição" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 5423dd4352..c19c594ac6 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -563,7 +563,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1132,8 +1132,9 @@ msgid "Add Bus" msgstr "AdaugaÈ›i Pistă Audio" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "CreaÅ£i o Schemă nouă de Pistă Audio." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "SalvaÈ›i Schema Pistei Audio Ca..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1161,6 +1162,10 @@ msgstr "ÃŽncărcaÈ›i Implicit" msgid "Load the default Bus Layout." msgstr "ÃŽncarcă Schema de Pistă Audio implicită." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "CreaÅ£i o Schemă nouă de Pistă Audio." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Nume nevalid." @@ -2437,7 +2442,8 @@ msgid "Save & Restart" msgstr "Salvează È™i Restartează" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Se roteÈ™te când ferestra editorului se recolorează!" #: editor/editor_node.cpp @@ -3533,25 +3539,6 @@ msgid "Create Polygon" msgstr "Crează Poligon" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Editează Poligon" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Inserează Punct" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Editează Poligon (Elimină Punct)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Elimină Poligon Și Punct" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3576,6 +3563,25 @@ msgstr "" msgid "Erase points." msgstr "RMB: Șterge Punctul." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Editează Poligon" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Inserează Punct" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Editează Poligon (Elimină Punct)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Elimină Poligon Și Punct" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5320,6 +5326,12 @@ msgid "Create UV Map" msgstr "Creare hartă UV" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Crează Poligon" @@ -9722,21 +9734,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9760,6 +9757,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9818,7 +9830,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ru.po b/editor/translations/ru.po index 37dca29385..2bc51dcbfb 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -35,12 +35,13 @@ # Ruaguzov Michael <miha890r@gmail.com>, 2019. # Alexander Danilov <modos189@protonmail.com>, 2019. # Sergey Nakhov <true.stalin.exe@gmail.com>, 2019. +# Bumerang <it.bumerang@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-04 17:09+0000\n" -"Last-Translator: Sergey Nakhov <true.stalin.exe@gmail.com>\n" +"PO-Revision-Date: 2019-02-13 16:10+0000\n" +"Last-Translator: Bumerang <it.bumerang@gmail.com>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -60,7 +61,7 @@ msgstr "Ðеверный тип аргумента Ð´Ð»Ñ convert(), иÑÐ¿Ð¾Ð»Ñ #: modules/mono/glue/gd_glue.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." -msgstr "Ðе хватает байтов Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð², или неверный формат." +msgstr "ÐедоÑтаточно байтов Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð² или неверный формат." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" @@ -578,7 +579,7 @@ msgid "Warnings" msgstr "ПредупреждениÑ" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1137,8 +1138,9 @@ msgid "Add Bus" msgstr "Добавить" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Создать новую раÑкладку шины." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Сохранить раÑкладку звуковой шины как..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1166,6 +1168,10 @@ msgstr "Загрузить по умолчанию" msgid "Load the default Bus Layout." msgstr "Загрузить раÑкладку шины по умолчанию." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Создать новую раÑкладку шины." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "ÐедопуÑтимое имÑ." @@ -2413,7 +2419,8 @@ msgid "Save & Restart" msgstr "Сохранить и перезапуÑтить" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "ВращаетÑÑ, когда окно редактора перериÑовываетÑÑ!" #: editor/editor_node.cpp @@ -3474,22 +3481,6 @@ msgid "Create Polygon" msgstr "Создать Полигон" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Редактировать полигон" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Ð’Ñтавить точку" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Редактировать Полигон (удалить точку)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Удалить Полигон и Точку" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3510,6 +3501,22 @@ msgstr "" msgid "Erase points." msgstr "Удалить точки." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Редактировать полигон" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Ð’Ñтавить точку" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Редактировать Полигон (удалить точку)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Удалить Полигон и Точку" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5229,6 +5236,12 @@ msgid "Create UV Map" msgstr "Создать UV карту" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Создать Полигон и UV" @@ -9680,25 +9693,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "СвойÑтво Path должно указывать на дейÑтвительный Spatial узел." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment необходим Environment реÑурÑ." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Только один WorldEnvironment допуÑкаетÑÑ Ð½Ð° Ñцену или ÑовокупноÑÑ‚ÑŒ " -"приведённых Ñцен." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Ðтот WorldEnvironment игнорируетÑÑ. Либо добавьте Camera (Ð´Ð»Ñ 3D-Ñцен), либо " -"уÑтановите в Environment реÑурÑе Background режим в Canvas (Ð´Ð»Ñ 2D Ñцен)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "Ðто тело будет игнорироватьÑÑ, пока вы не уÑтановите Ñетку" @@ -9730,6 +9724,25 @@ msgstr "" "VehicleWheel Ñлужит колеÑом Ð´Ð»Ñ VehicleBody. ПожалуйÑта, иÑпользуйте его как " "ребенка VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment необходим Environment реÑурÑ." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Только один WorldEnvironment допуÑкаетÑÑ Ð½Ð° Ñцену или ÑовокупноÑÑ‚ÑŒ " +"приведённых Ñцен." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Ðтот WorldEnvironment игнорируетÑÑ. Либо добавьте Camera (Ð´Ð»Ñ 3D-Ñцен), либо " +"уÑтановите в Environment реÑурÑе Background режим в Canvas (Ð´Ð»Ñ 2D Ñцен)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "Ðа узле BlendTree '%s' Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð½Ðµ найдена: '%s'" @@ -9783,7 +9796,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Добавить текущий цвет как преÑет" #: scene/gui/dialogs.cpp diff --git a/editor/translations/si.po b/editor/translations/si.po index 959b76bf18..edceca5c8b 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -541,7 +541,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1088,7 +1088,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1117,6 +1117,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2287,7 +2291,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3325,37 +3329,37 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +msgid "Edit Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5043,6 +5047,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9311,21 +9321,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9349,6 +9344,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9402,7 +9412,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 9af329047c..afe61af6ce 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -548,7 +548,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1102,7 +1102,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1132,6 +1132,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2327,7 +2331,7 @@ msgid "Save & Restart" msgstr "UložiÅ¥ súbor" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3388,24 +3392,6 @@ msgid "Create Polygon" msgstr "VytvoriÅ¥ adresár" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Signály:" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "VÅ¡etky vybrané" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3425,6 +3411,24 @@ msgstr "" msgid "Erase points." msgstr "VÅ¡etky vybrané" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Signály:" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "VÅ¡etky vybrané" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5138,6 +5142,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9513,21 +9523,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9551,6 +9546,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9605,7 +9615,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/sl.po b/editor/translations/sl.po index 9080db9490..1974908006 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -566,7 +566,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1133,8 +1133,9 @@ msgid "Add Bus" msgstr "Dodaj Vodilo" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Ustvari novo Postavitev Vodila." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Shrani Postavitev ZvoÄnega Vodila Kot..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1162,6 +1163,10 @@ msgstr "Naložite Prevzeto" msgid "Load the default Bus Layout." msgstr "Naloži prevezeto Postavitev Vodila." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Ustvari novo Postavitev Vodila." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Neveljavno ime." @@ -2424,7 +2429,8 @@ msgid "Save & Restart" msgstr "Shrani & Zapri" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Vrti se ob spremembi okna urejevalnika!" #: editor/editor_node.cpp @@ -3519,25 +3525,6 @@ msgid "Create Polygon" msgstr "Ustvarite Poligon" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Uredi Poligon" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Ustavi ToÄko" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Uredi Poligon (Odstrani ToÄko)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Odstrani Poligon in ToÄko" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3562,6 +3549,25 @@ msgstr "" msgid "Erase points." msgstr "IzbriÅ¡i toÄke" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Uredi Poligon" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Ustavi ToÄko" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Uredi Poligon (Odstrani ToÄko)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Odstrani Poligon in ToÄko" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5297,6 +5303,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Ustvarite Poligon" @@ -9719,21 +9731,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9757,6 +9754,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9816,7 +9828,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Dodaj trenutno barvo kot prednastavljeno" #: scene/gui/dialogs.cpp diff --git a/editor/translations/sq.po b/editor/translations/sq.po index ac4575f3a7..de9644d780 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -536,7 +536,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1083,7 +1083,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1112,6 +1112,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2282,7 +2286,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3320,37 +3324,37 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +msgid "Edit Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5038,6 +5042,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9305,21 +9315,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9343,6 +9338,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9396,7 +9406,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 9a2b69aea7..a4271de16b 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -566,7 +566,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1139,8 +1139,9 @@ msgid "Add Bus" msgstr "Додај баÑ" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Ðаправи нови Ð±Ð°Ñ Ñ€Ð°Ñпоред." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Сачувај раÑпоред звучног баÑа као..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1168,6 +1169,10 @@ msgstr "Учитај уобичајено" msgid "Load the default Bus Layout." msgstr "Учитај уобичајен Ð±Ð°Ñ Ñ€Ð°Ñпоред." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Ðаправи нови Ð±Ð°Ñ Ñ€Ð°Ñпоред." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Ðеважеће име." @@ -2436,7 +2441,8 @@ msgid "Save & Restart" msgstr "Сачувај и изађи" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Окрене Ñе кад Ñе едиторÑки прозор поново обоји!" #: editor/editor_node.cpp @@ -3546,25 +3552,6 @@ msgid "Create Polygon" msgstr "Ðаправи полигон" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Измени полигон" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Уметни тачку" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Уреди полигон (обриши тачку)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Обриши полигон и тачку" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3589,6 +3576,25 @@ msgstr "" msgid "Erase points." msgstr "ДеÑни таÑтер миша: обриши тачку." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Измени полигон" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Уметни тачку" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Уреди полигон (обриши тачку)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Обриши полигон и тачку" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5328,6 +5334,12 @@ msgid "Create UV Map" msgstr "Ðаправи UV мапу" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Ðаправи полигон" @@ -9798,21 +9810,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9836,6 +9833,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9894,7 +9906,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index c071299b51..46073472f7 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -549,7 +549,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1097,7 +1097,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1126,6 +1126,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2297,7 +2301,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3336,39 +3340,39 @@ msgid "Create Polygon" msgstr "Napravi" #: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy -msgid "Edit Polygon" +msgid "Create points." msgstr "Napravi" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy -msgid "Create points." +msgid "Edit Polygon" msgstr "Napravi" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5063,6 +5067,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9357,21 +9367,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9395,6 +9390,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9448,7 +9458,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/sv.po b/editor/translations/sv.po index cd0ec2c39a..98c2593d34 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -586,7 +586,7 @@ msgid "Warnings" msgstr "Varning" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1236,8 +1236,8 @@ msgstr "Lägg till Buss" #: editor/editor_audio_buses.cpp #, fuzzy -msgid "Create a new Bus Layout." -msgstr "Skapa en ny Buss-Layout." +msgid "Add a new Audio Bus to this layout." +msgstr "Spara Ljud-Buss Layout Som..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1270,6 +1270,11 @@ msgstr "Ladda Standard" msgid "Load the default Bus Layout." msgstr "Ladda standard Buss-Layouten." +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Create a new Bus Layout." +msgstr "Skapa en ny Buss-Layout." + #: editor/editor_autoload_settings.cpp #, fuzzy msgid "Invalid name." @@ -2641,7 +2646,7 @@ msgid "Save & Restart" msgstr "Spara & Avsluta" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3786,25 +3791,6 @@ msgid "Create Polygon" msgstr "Skapa Prenumeration" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Redigera Polygon" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Infoga Punkt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Redigera Polygon (ta bort punkt)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Ta bort Polygon och Punkt" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3824,6 +3810,25 @@ msgstr "" msgid "Erase points." msgstr "Radera punkter" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Redigera Polygon" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Infoga Punkt" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Redigera Polygon (ta bort punkt)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Ta bort Polygon och Punkt" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5583,6 +5588,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -10211,21 +10222,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -10249,6 +10245,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -10308,7 +10319,7 @@ msgstr "" #: scene/gui/color_picker.cpp #, fuzzy -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "Lägg till nuvarande färg som en förinställning" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ta.po b/editor/translations/ta.po index 642060561b..f1011a2a42 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -546,7 +546,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1094,7 +1094,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1123,6 +1123,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2293,7 +2297,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3332,37 +3336,37 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +msgid "Edit Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5053,6 +5057,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9325,21 +9335,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9363,6 +9358,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9416,7 +9426,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/te.po b/editor/translations/te.po index 126dd37c11..ac7d358ee0 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -537,7 +537,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1084,7 +1084,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1113,6 +1113,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2283,7 +2287,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3321,37 +3325,37 @@ msgid "Create Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" +msgid "Edit Polygon" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create points." +msgid "Insert Point" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" +msgid "Edit Polygon (Remove Point)" msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Erase points." +msgid "Remove Polygon And Point" msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -5039,6 +5043,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9301,21 +9311,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9339,6 +9334,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9392,7 +9402,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/th.po b/editor/translations/th.po index c50ab36025..62bf2f8594 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -572,7 +572,7 @@ msgid "Warnings" msgstr "คำเตืà¸à¸™" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1137,8 +1137,9 @@ msgid "Add Bus" msgstr "เพิ่ม Bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "สร้างเลย์เà¸à¸²à¸•à¹Œ Bus ใหม่" +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "บันทึà¸à¹€à¸¥à¸¢à¹Œà¹€à¸à¸²à¸•à¹Œà¸‚à¸à¸‡ Audio Bus เป็น..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1166,6 +1167,10 @@ msgstr "โหลดค่าเริ่มต้น" msgid "Load the default Bus Layout." msgstr "โหลดค่าเริ่มต้นเลย์เà¸à¸²à¸•à¹Œ Bus" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "สร้างเลย์เà¸à¸²à¸•à¹Œ Bus ใหม่" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "ชื่à¸à¸œà¸´à¸”พลาด" @@ -2400,7 +2405,8 @@ msgid "Save & Restart" msgstr "บันทึà¸à¹à¸¥à¸°à¸™à¸³à¹€à¸‚้าà¸à¸µà¸à¸„รั้ง" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "หมุนเมื่à¸à¸¡à¸µà¸à¸²à¸£à¸§à¸²à¸”หน้าต่างโปรà¹à¸à¸£à¸¡à¹ƒà¸«à¸¡à¹ˆ!" #: editor/editor_node.cpp @@ -3491,25 +3497,6 @@ msgid "Create Polygon" msgstr "สร้างรูปหลายเหลี่ยม" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "à¹à¸—รà¸à¸ˆà¸¸à¸”" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม (ลบจุด)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "ลบรูปหลายเหลี่ยมà¹à¸¥à¸°à¸ˆà¸¸à¸”" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3534,6 +3521,25 @@ msgstr "" msgid "Erase points." msgstr "คลิà¸à¸‚วา: ลบจุด" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "à¹à¸—รà¸à¸ˆà¸¸à¸”" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม (ลบจุด)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "ลบรูปหลายเหลี่ยมà¹à¸¥à¸°à¸ˆà¸¸à¸”" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5276,6 +5282,12 @@ msgid "Create UV Map" msgstr "สร้าง UV Map" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "สร้างรูปหลายเหลี่ยม" @@ -9771,21 +9783,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "ต้à¸à¸‡à¹à¸à¹‰à¹„ข Path ให้ชี้ไปยังโหนด Spatial จึงจะทำงานได้" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "จะมี WorldEnvironment ได้เพียงโหนดเดียวในฉาภ(หรืà¸à¸à¸¥à¸¸à¹ˆà¸¡à¸‚à¸à¸‡à¸‰à¸²à¸à¸—ี่เป็นà¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œ)" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9812,6 +9809,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "VehicleWheel เป็นระบบล้à¸à¸‚à¸à¸‡ VehicleBody à¸à¸£à¸¸à¸“าใช้เป็นโหนดลูà¸à¸‚à¸à¸‡ VehicleBody" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "จะมี WorldEnvironment ได้เพียงโหนดเดียวในฉาภ(หรืà¸à¸à¸¥à¸¸à¹ˆà¸¡à¸‚à¸à¸‡à¸‰à¸²à¸à¸—ี่เป็นà¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œ)" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9870,7 +9882,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "เพิ่มสีที่เลืà¸à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£à¹‚ปรด" #: scene/gui/dialogs.cpp diff --git a/editor/translations/tr.po b/editor/translations/tr.po index 9f4f6bcfde..ccb0acce73 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -20,12 +20,13 @@ # Onur Sanır <onursanir@gmail.com>, 2018. # OÄŸuzhan Özdemir <ozdemiroguzhan0@gmail.com>, 2018. # Alper Çitmen <alper.citmen@gmail.com>, 2019. +# ege1212 <owlphp@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-01-19 19:22+0000\n" -"Last-Translator: Alper Çitmen <alper.citmen@gmail.com>\n" +"PO-Revision-Date: 2019-02-13 07:10+0000\n" +"Last-Translator: ege1212 <owlphp@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -33,7 +34,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 3.4-dev\n" +"X-Generator: Weblate 3.5-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -49,7 +50,7 @@ msgstr "Byte kodu çözmek için yetersiz byte, ya da Geçersiz format." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "" +msgstr "Geçersiz girdi, ifadede %i (geçirilmedi)" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -587,7 +588,7 @@ msgid "Warnings" msgstr "Uyarılar" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1155,8 +1156,9 @@ msgid "Add Bus" msgstr "Bus ekle" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Yeni bir Bus YerleÅŸim Düzeni oluÅŸtur." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Audio Bus YerleÅŸim Düzenini Farklı Kaydet..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1184,6 +1186,10 @@ msgstr "Varsayılanı Yükle" msgid "Load the default Bus Layout." msgstr "Varsayılan Bus YerleÅŸim Düzenini Yükle." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Yeni bir Bus YerleÅŸim Düzeni oluÅŸtur." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Geçersiz ad." @@ -2453,7 +2459,8 @@ msgid "Save & Restart" msgstr "Kaydet & Yeniden İçe Aktar" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "Düzenleyici penceresi yeniden boyandığında döndürülür!" #: editor/editor_node.cpp @@ -3552,25 +3559,6 @@ msgid "Create Polygon" msgstr "Çoklu OluÅŸturun" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Çokluyu Düzenleyin" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Nokta YerleÅŸtir" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon (Remove Point)" -msgstr "Çokluyu Düzenleyin (Noktayı Silin)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Çokluyu ve Noktayı Kaldır" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3595,6 +3583,25 @@ msgstr "" msgid "Erase points." msgstr "RMB: Noktayı Sil." +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Çokluyu Düzenleyin" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Nokta YerleÅŸtir" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon (Remove Point)" +msgstr "Çokluyu Düzenleyin (Noktayı Silin)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "Çokluyu ve Noktayı Kaldır" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5341,6 +5348,12 @@ msgid "Create UV Map" msgstr "UV Haritası OluÅŸtur" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Create Polygon & UV" msgstr "Çoklu OluÅŸturun" @@ -9895,25 +9908,6 @@ msgid "Path property must point to a valid Spatial node to work." msgstr "" "Yol özelliÄŸi, çalışmak için geçerli bir Spatial düğümüne iÅŸaret etmelidir." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment bir Environment kaynağı gerektirir." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"Her sahne başına (ya da örneklenmiÅŸ sahneler dizisine) sadece bir tane " -"WorldEnvironment 'a izin verilir." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Bu WorldEnvironment yoksayıldı. (3B sahneler için) Bir Kamera ekleyin veya " -"(2B sahneler için) bu ortamın Arkaplan Kipini Canvas olarak ayarlayın." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9945,6 +9939,25 @@ msgstr "" "VehicleWheel VehicleBody'ye bir tekerlek sistemi saÄŸlaması için hizmet eder. " "Lütfen bunu VehicleBody'nin çocuÄŸu olarak kullanın." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment bir Environment kaynağı gerektirir." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"Her sahne başına (ya da örneklenmiÅŸ sahneler dizisine) sadece bir tane " +"WorldEnvironment 'a izin verilir." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Bu WorldEnvironment yoksayıldı. (3B sahneler için) Bir Kamera ekleyin veya " +"(2B sahneler için) bu ortamın Arkaplan Kipini Canvas olarak ayarlayın." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -10005,7 +10018,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Åžuanki rengi bir önayar olarak kaydet" #: scene/gui/dialogs.cpp diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 9fb767a773..f617cf3fc4 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-01 12:10+0000\n" +"PO-Revision-Date: 2019-02-13 07:10+0000\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" @@ -557,8 +557,9 @@ msgid "Warnings" msgstr "ПопередженнÑ" #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "Ðомери Ñ€Ñдків Ñ– позицій" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1117,8 +1118,9 @@ msgid "Add Bus" msgstr "Додати шину" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ¸Ð½Ð¸." +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "Зберегти ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð°ÑƒÐ´Ñ–Ð¾ шини Ñк..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1146,6 +1148,10 @@ msgstr "Завантажити типовий" msgid "Load the default Bus Layout." msgstr "Завантажити типове ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ¸Ð½Ð¸." +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ¸Ð½Ð¸." + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "Ðекоректна назва." @@ -2392,7 +2398,8 @@ msgid "Save & Restart" msgstr "Зберегти Ñ– перезапуÑтити" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "ОбертаєтьÑÑ, коли перемальовуєтьÑÑ Ð²Ñ–ÐºÐ½Ð¾ редактора!" #: editor/editor_node.cpp @@ -3454,22 +3461,6 @@ msgid "Create Polygon" msgstr "Створити полігон" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "Редагувати полігон" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "Ð’Ñтавити точку" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "Редагувати полігон (вилучити точку)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "Вилучити полігон та точку" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3490,6 +3481,22 @@ msgstr "" msgid "Erase points." msgstr "Витерти точки." +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "Редагувати полігон" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "Ð’Ñтавити точку" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "Редагувати полігон (вилучити точку)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "Вилучити полігон та точку" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -4298,16 +4305,15 @@ msgstr "ПереÑунути CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "Шаблони Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð²'Ñзок та Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ð² вузла керуваннÑ." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"ПопередженнÑ: дані щодо Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° розміру дочірніх об'єктів " -"визначаютьÑÑ Ð»Ð¸ÑˆÐµ їхнім батьківÑьким об'єктом." +"Дані щодо прив'Ñзок та значень полів дочірніх об'єктів перевизначаютьÑÑ " +"їхніми батьківÑькими об'єктами." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5217,6 +5223,12 @@ msgid "Create UV Map" msgstr "Створити UV-карту" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "Створити полігон Ñ– UV" @@ -6306,7 +6318,6 @@ msgid "Post" msgstr "ПіÑлÑ" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Nameless gizmo" msgstr "Штука без назви" @@ -6385,14 +6396,12 @@ msgid "(empty)" msgstr "(порожньо)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Ðнімації" +msgstr "Ðнімації:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "ÐнімаціÑ" +msgstr "Ðова анімаціÑ" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6403,9 +6412,8 @@ msgid "Loop" msgstr "Зациклити" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Кадри анімації" +msgstr "Кадри анімації:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -7215,7 +7223,6 @@ msgid "Are you sure to open more than one project?" msgstr "Ви Ñправді хочете відкрити декілька проектів одразу?" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -7227,12 +7234,13 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" -"Вказаний нижче файл параметрів проекту було Ñтворено у заÑтарілій верÑÑ–Ñ— " -"рушіÑ. Його доведетьÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ до поточної верÑÑ–Ñ—:\n" +"У вказаному нижче файлі параметрів проекту не вказано верÑÑ–ÑŽ Godot, за " +"допомогою Ñкої його було Ñтворено.\n" "\n" "%s\n" "\n" -"Хочете виконати таке перетвореннÑ?\n" +"Якщо ви продовжите процедуру його відкриттÑ, дані буде перетворено до " +"формату файла налаштувань поточної верÑÑ–Ñ— Godot.\n" "ПопередженнÑ: у результаті Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ð¸ втратите можливіÑÑ‚ÑŒ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ " "проекту у заÑтарілих верÑÑ–ÑÑ… рушіÑ." @@ -9461,6 +9469,10 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"У драйвері GLES2 не передбачено підтримки чаÑток із обробкою за допомогою " +"графічного процеÑора.\n" +"Вам Ñлід ÑкориÑтатиÑÑ Ð²ÑƒÐ·Ð»Ð¾Ð¼ CPUParticles2D. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ можете вибрати пункт " +"«Перетворити на CPUParticles»." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9656,6 +9668,10 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"У драйвері GLES2 не передбачено підтримки чаÑток із обробкою за допомогою " +"графічного процеÑора.\n" +"Вам Ñлід ÑкориÑтатиÑÑ Ð²ÑƒÐ·Ð»Ð¾Ð¼ CPUParticles. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ можете вибрати пункт " +"«Перетворити на CPUParticles»." #: scene/3d/particles.cpp msgid "" @@ -9699,26 +9715,6 @@ msgstr "" "Щоб уÑе працювало Ñк Ñлід, влаÑтивіÑÑ‚ÑŒ шлÑху (path) має вказувати на " "коректний вузол Spatial." -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment потребує реÑурÑу Environment." - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" -"У Ñцені (або наборі екземплÑрів Ñцен) може бути лише один елемент " -"WorldEnvironment." - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"Цей Ð·Ð°Ð¿Ð¸Ñ WorldEnvironment проігноровано. Ðбо додайте Ð·Ð°Ð¿Ð¸Ñ Camera (Ð´Ð»Ñ " -"проÑторових Ñцен) або вÑтановіть Ð´Ð»Ñ Background Mode цього Ñередовища " -"Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Canvas (Ð´Ð»Ñ Ð´Ð²Ð¾Ð²Ð¸Ð¼Ñ–Ñ€Ð½Ð¸Ñ… Ñцен)." - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "Це тіло буде проігноровано, аж доки ви не вÑтановите Ñітку" @@ -9748,6 +9744,26 @@ msgstr "" "VehicleWheel Ñлугує Ð´Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ ÑиÑтеми ÐºÐ¾Ð»Ñ–Ñ Ñƒ VehicleBody. " "Будь лаÑка, викориÑтовуйте цей елемент Ñк дочірній елемент вузла VehicleBody." +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment потребує реÑурÑу Environment." + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" +"У Ñцені (або наборі екземплÑрів Ñцен) може бути лише один елемент " +"WorldEnvironment." + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"Цей Ð·Ð°Ð¿Ð¸Ñ WorldEnvironment проігноровано. Ðбо додайте Ð·Ð°Ð¿Ð¸Ñ Camera (Ð´Ð»Ñ " +"проÑторових Ñцен) або вÑтановіть Ð´Ð»Ñ Background Mode цього Ñередовища " +"Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Canvas (Ð´Ð»Ñ Ð´Ð²Ð¾Ð²Ð¸Ð¼Ñ–Ñ€Ð½Ð¸Ñ… Ñцен)." + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "У вузлі BlendTree «%s» не знайдено анімації: «%s»" @@ -9792,7 +9808,7 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "Вибрати колір з екрана." #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -9800,10 +9816,11 @@ msgstr "Raw (Ñирий) режим" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð¼Ñ–Ð¶ шіÑтнадцÑтковими значеннÑми Ñ– кодами." #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "Додати поточний колір в ÑкоÑÑ‚Ñ– преÑету" #: scene/gui/dialogs.cpp diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index bd2de9fa57..d77307b020 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -545,7 +545,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1097,7 +1097,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1127,6 +1127,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2311,7 +2315,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3359,24 +3363,6 @@ msgid "Create Polygon" msgstr "سب سکریپشن بنائیں" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "سب سکریپشن بنائیں" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr ".تمام کا انتخاب" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3396,6 +3382,24 @@ msgstr "" msgid "Erase points." msgstr ".تمام کا انتخاب" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "سب سکریپشن بنائیں" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr ".تمام کا انتخاب" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5103,6 +5107,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9439,21 +9449,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9477,6 +9472,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9530,7 +9540,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 843dc4355f..e7ae7be36f 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -562,7 +562,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1120,7 +1120,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1149,6 +1149,10 @@ msgstr "" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "" @@ -2351,7 +2355,7 @@ msgid "Save & Restart" msgstr "" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3419,23 +3423,6 @@ msgid "Create Polygon" msgstr "Tạo" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Tạo" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3454,6 +3441,23 @@ msgstr "" msgid "Erase points." msgstr "" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "Tạo" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5166,6 +5170,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9511,21 +9521,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9549,6 +9544,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9603,7 +9613,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index 334c7494c2..770b249d11 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -34,7 +34,7 @@ # 刘庆文 <liuqingwen@163.com>, 2018. # Haowen Liu <liu.haowen.andy@gmail.com>, 2018. # tangdou1 <1093505442@qq.com>, 2018. -# yzt <834950797@qq.com>, 2018. +# yzt <834950797@qq.com>, 2018, 2019. # DKLost <514dklost@gmail.com>, 2018. # thanksshu <hezihanshangyuan@gmail.com>, 2018. # Jsheng <yangea@outlook.com>, 2019. @@ -45,8 +45,8 @@ msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2019-02-03 21:20+0000\n" -"Last-Translator: Song DongHui <14729626293@163.com>\n" +"PO-Revision-Date: 2019-02-18 08:54+0000\n" +"Last-Translator: yzt <834950797@qq.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" "Language: zh_CN\n" @@ -579,8 +579,9 @@ msgid "Warnings" msgstr "è¦å‘Š" #: editor/code_editor.cpp -msgid "Line and column numbers" -msgstr "" +#, fuzzy +msgid "Line and column numbers." +msgstr "è¡Œå·å’Œåˆ—å·" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1128,8 +1129,9 @@ msgid "Add Bus" msgstr "æ·»åŠ Bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "创建一个新的总线布局。" +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "将音频Bus布局ä¿å˜ä¸º..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1157,6 +1159,10 @@ msgstr "åŠ è½½é»˜è®¤" msgid "Load the default Bus Layout." msgstr "åŠ è½½é»˜è®¤æ€»çº¿å¸ƒå±€ã€‚" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "创建一个新的总线布局。" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "å称éžæ³•:。" @@ -2363,7 +2369,8 @@ msgid "Save & Restart" msgstr "ä¿å˜å¹¶é‡å¯" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "旋转时,é‡æ–°ç»˜åˆ¶ç¼–辑器窗å£ï¼" #: editor/editor_node.cpp @@ -3279,12 +3286,12 @@ msgstr "ä¿å˜åœºæ™¯ï¼Œé‡æ–°å¯¼å…¥ï¼Œä»Žå¤´å¼€å§‹" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." -msgstr "改å˜è¿™ä¸ªå¯¼å…¥çš„文件类型åŽéœ€è¦é‡å¯ç¼–辑器." +msgstr "改å˜è¿™ä¸ªå¯¼å…¥çš„文件类型åŽéœ€è¦é‡å¯ç¼–辑器。" #: editor/import_dock.cpp msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." -msgstr "è¦å‘Šï¼šèµ„æºä½¿ç”¨å†²çªï¼Œå°†ä¼šåœæ¢åŠ 载." +msgstr "è¦å‘Šï¼šèµ„æºä½¿ç”¨å†²çªï¼Œå°†ä¼šåœæ¢åŠ 载。" #: editor/inspector_dock.cpp msgid "Failed to load resource." @@ -3409,22 +3416,6 @@ msgid "Create Polygon" msgstr "创建多边形" #: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon" -msgstr "编辑多边形" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "æ’入点" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "编辑多边形(移除顶点)" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Remove Polygon And Point" -msgstr "移除多边形åŠé¡¶ç‚¹" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." @@ -3445,6 +3436,22 @@ msgstr "" msgid "Erase points." msgstr "擦除点。" +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "编辑多边形" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "æ’入点" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "编辑多边形(移除顶点)" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "移除多边形åŠé¡¶ç‚¹" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -4234,14 +4241,13 @@ msgstr "移动 CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "控件节点的定ä½ç‚¹å’Œè¾¹è·å€¼çš„预设。" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." -msgstr "è¦å‘Šï¼šå®¹å™¨å级的ä½ç½®ä¸Žå¤§å°åªèƒ½ç”±å®ƒçš„父级确定。" +msgstr "容器的å级的锚点和边è·å€¼è¢«å…¶çˆ¶å®¹å™¨é‡å†™ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -4905,7 +4911,7 @@ msgstr "清除Emission Mask(å‘å°„å±è”½ï¼‰" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" -msgstr "转æ¢ä¸º CPU ç²’å" +msgstr "转æ¢ä¸º CPUç²’å" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -5141,6 +5147,12 @@ msgid "Create UV Map" msgstr "创建UV贴图" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "创建多边形和 UV" @@ -5149,12 +5161,10 @@ msgid "Create Internal Vertex" msgstr "创建内部顶点" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Internal Vertex" msgstr "移除曲线内控制点" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Invalid Polygon (need 3 different vertices)" msgstr "æ— æ•ˆçš„å¤šè¾¹å½¢ï¼ˆéœ€è¦ä¸‰ä¸ªæŽ§åˆ¶ç‚¹ï¼‰" @@ -5163,9 +5173,8 @@ msgid "Add Custom Polygon" msgstr "æ·»åŠ è‡ªå®šä¹‰å¤šè¾¹å½¢" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Polygon" -msgstr "移除多边形åŠé¡¶ç‚¹" +msgstr "åˆ é™¤è‡ªå®šä¹‰å¤šè¾¹å½¢" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" @@ -5192,7 +5201,6 @@ msgid "UV" msgstr "UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Points" msgstr "点" @@ -5247,7 +5255,6 @@ msgid "Paint weights with specified intensity." msgstr "使用指定的强度进行æƒé‡ç»˜åˆ¶ã€‚" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Unpaint weights with specified intensity." msgstr "使用指定强度清除æƒé‡ç»˜åˆ¶ã€‚" @@ -6233,7 +6240,7 @@ msgstr "å‘布(Post)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Nameless gizmo" -msgstr "" +msgstr "未命åçš„Gizmo" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" @@ -6308,14 +6315,12 @@ msgid "(empty)" msgstr "(空)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "动画" +msgstr "动画:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "动画" +msgstr "新建动画" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6326,9 +6331,8 @@ msgid "Loop" msgstr "循环" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "动画帧" +msgstr "动画帧:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -6355,9 +6359,8 @@ msgid "Set Region Rect" msgstr "设置纹ç†åŒºåŸŸ" #: editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Set Margin" -msgstr "设置处ç†ç¨‹åº" +msgstr "设置边è·" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" @@ -6601,14 +6604,12 @@ msgid "Clear transform" msgstr "清除å˜æ¢" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Add Texture(s) to TileSet." -msgstr "æ·»åŠ çº¹ç†åˆ°ç£è´´é›†" +msgstr "æ·»åŠ çº¹ç†åˆ°ç£è´´é›†ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected Texture from TileSet." -msgstr "从ç£è´´é›†ä¸åˆ 除当å‰çº¹ç†" +msgstr "从ç£è´´é›†ä¸åˆ 除当å‰çº¹ç†ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" @@ -6649,27 +6650,24 @@ msgid "Display Tile Names (Hold Alt Key)" msgstr "显示ç£è´´çš„åå—ï¼ˆæŒ‰ä½ Alt 键)" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "确定移除选ä¸çš„纹ç†ä»¥åŠã€æ‰€æœ‰ã€‘使用它的ã€ç£è´´é›†ã€‘å—?" +msgstr "åˆ é™¤é€‰å®šçš„çº¹ç†ï¼Ÿè¿™å°†åˆ 除使用它的所有ç£è´´ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." msgstr "请先选择è¦ç§»é™¤çš„纹ç†ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create from scene? This will overwrite all current tiles." -msgstr "从场景创建?这将覆盖所有当å‰æ ‡é¢˜ã€‚" +msgstr "从场景创建?这将覆盖所有当å‰ç£è´´ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" msgstr "确定è¦åˆå¹¶åœºæ™¯ï¼Ÿ" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Texture" -msgstr "移除模æ¿" +msgstr "åˆ é™¤çº¹ç†" #: editor/plugins/tile_set_editor_plugin.cpp msgid "%s file(s) were not added because was already on the list." @@ -6735,95 +6733,80 @@ msgstr "" "点击选择å¦ä¸€ä¸ªç£è´´è¿›è¡Œç¼–辑。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Set Tile Region" -msgstr "设置纹ç†åŒºåŸŸ" +msgstr "设置ç£è´´åŒºåŸŸ" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Tile" -msgstr "新建目录" +msgstr "创建ç£è´´" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" msgstr "设置纹ç†å›¾æ ‡" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Bitmask" -msgstr "编辑ç›é€‰å™¨" +msgstr "编辑ç£è´´ä½æŽ©ç " #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Collision Polygon" -msgstr "编辑已å˜åœ¨çš„多边形:" +msgstr "编辑碰撞多边形" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Occlusion Polygon" -msgstr "编辑多边形" +msgstr "编辑é®æŒ¡å¤šè¾¹å½¢" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Navigation Polygon" -msgstr "创建导航多边形" +msgstr "编辑导航多边形" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste Tile Bitmask" -msgstr "粘贴ä½æŽ©ç 。" +msgstr "粘贴ç£è´´ä½æŽ©ç " #: editor/plugins/tile_set_editor_plugin.cpp msgid "Clear Tile Bitmask" msgstr "清除ä½æŽ©ç " #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Tile" -msgstr "移除模æ¿" +msgstr "移除ç£è´´" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Collision Polygon" -msgstr "移除多边形åŠé¡¶ç‚¹" +msgstr "åˆ é™¤ç¢°æ’žå¤šè¾¹å½¢" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Occlusion Polygon" -msgstr "æ·»åŠ é®å…‰å¤šè¾¹å½¢" +msgstr "åˆ é™¤é®æŒ¡å¤šè¾¹å½¢" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Navigation Polygon" -msgstr "创建导航多边形" +msgstr "åˆ é™¤å¯¼èˆªå¤šè¾¹å½¢" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Priority" -msgstr "编辑ç›é€‰å™¨" +msgstr "编辑ç£è´´ä¼˜å…ˆçº§" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Z Index" msgstr "编辑纹ç†çš„Zåæ ‡" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Collision Polygon" -msgstr "创建导航多边形" +msgstr "创建碰撞多边形" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Occlusion Polygon" -msgstr "æ·»åŠ é®å…‰å¤šè¾¹å½¢" +msgstr "创建é®æŒ¡å¤šè¾¹å½¢" #: editor/plugins/tile_set_editor_plugin.cpp msgid "This property can't be changed." msgstr "ä¸èƒ½ä¿®æ”¹è¯¥å±žæ€§ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "TileSet" -msgstr "ç –å—集" +msgstr "瓦片集" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -6932,9 +6915,8 @@ msgid "Feature List:" msgstr "功能列表:" #: editor/project_export.cpp -#, fuzzy msgid "Script" -msgstr "新建脚本" +msgstr "脚本" #: editor/project_export.cpp msgid "Script Export Mode:" @@ -7117,7 +7099,7 @@ msgstr "" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp msgid "" @@ -7148,7 +7130,6 @@ msgid "Are you sure to open more than one project?" msgstr "您确定è¦æ‰“开多个项目å—?" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -7160,9 +7141,11 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" -"以下项目设置文件是由旧的引擎版本生æˆçš„,需è¦ä¸ºæ¤ç‰ˆæœ¬è½¬æ¢ï¼š\n" +"以下项目设置文件没有指定创建它的Godot版本:\n" +"\n" "%s\n" -"是å¦è¦è½¬æ¢å®ƒï¼Ÿ\n" +"\n" +"å¦‚æžœä½ ç»§ç»æ‰“开它,它将被转æ¢ä¸ºGodot的当å‰é…ç½®æ–‡ä»¶æ ¼å¼ã€‚\n" "è¦å‘Šï¼šæ‚¨å°†æ— 法å†ä½¿ç”¨ä»¥å‰ç‰ˆæœ¬çš„引擎打开项目。" #: editor/project_manager.cpp @@ -7862,7 +7845,6 @@ msgid "Duplicate Node(s)" msgstr "å¤åˆ¶èŠ‚点" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." msgstr "æ— æ³•é‡æ–°è®¾ç½®ç»§æ‰¿åœºæ™¯ä¸çš„节点,节点顺åºæ— 法更改。" @@ -7871,7 +7853,6 @@ msgid "Node must belong to the edited scene to become root." msgstr "节点必须属于已编辑的场景æ‰èƒ½æˆä¸ºæ ¹èŠ‚点。" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Instantiated scenes can't become root" msgstr "实例化的场景ä¸èƒ½æˆä¸ºæ ¹èŠ‚点" @@ -9064,7 +9045,7 @@ msgstr "设值 %s" #: platform/android/export/export.cpp msgid "Package name is missing." -msgstr "缺包å." +msgstr "缺包å。" #: platform/android/export/export.cpp msgid "Package segments must be of non-zero length." @@ -9103,9 +9084,8 @@ msgid "Invalid public key for APK expansion." msgstr "APKæ‰©å±•çš„å…¬é’¥æ— æ•ˆã€‚" #: platform/android/export/export.cpp -#, fuzzy msgid "Invalid package name:" -msgstr "ç±»åéžæ³•" +msgstr "æ— æ•ˆçš„åŒ…å称:" #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -9116,9 +9096,8 @@ msgid "Identifier segments must be of non-zero length." msgstr "æ ‡è¯†ç¬¦å—段ä¸èƒ½ä¸ºç©º." #: platform/iphone/export/export.cpp -#, fuzzy msgid "The character '%s' is not allowed in Identifier." -msgstr "å称ä¸æ˜¯æœ‰æ•ˆçš„æ ‡è¯†ç¬¦ï¼š" +msgstr "æ ‡è¯†ç¬¦ä¸ä¸å…许使用å—符 '% s' 。" #: platform/iphone/export/export.cpp msgid "A digit cannot be the first character in a Identifier segment." @@ -9138,9 +9117,8 @@ msgid "App Store Team ID not specified - cannot configure the project." msgstr "未指定应用商店团队ID-æ— æ³•é…置项目。" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Invalid Identifier:" -msgstr "å称ä¸æ˜¯æœ‰æ•ˆçš„æ ‡è¯†ç¬¦ï¼š" +msgstr "æ— æ•ˆçš„æ ‡è¯†ç¬¦ï¼š" #: platform/iphone/export/export.cpp msgid "Required icon is not specified in the preset." @@ -9179,9 +9157,8 @@ msgid "Using default boot splash image." msgstr "使用默认å¯åŠ¨å›¾ç‰‡ã€‚" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid package unique name." -msgstr "å称éžæ³•ã€‚" +msgstr "包åå”¯ä¸€æ€§æ— æ•ˆã€‚" #: platform/uwp/export/export.cpp msgid "Invalid product GUID." @@ -9325,6 +9302,8 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"基于GPUçš„ç²’åä¸å—GLES2视频驱动程åºçš„支æŒã€‚\n" +"改为使用CPUParticles2D节点。为æ¤ï¼Œæ‚¨å¯ä»¥ä½¿ç”¨â€œè½¬æ¢ä¸º CPUç²’åâ€é€‰é¡¹ã€‚" #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9498,6 +9477,8 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"基于GPUçš„ç²’åä¸å—GLES2视频驱动程åºçš„支æŒã€‚\n" +"改为使用CPUParticles节点。为æ¤ï¼Œæ‚¨å¯ä»¥ä½¿ç”¨â€œè½¬æ¢ä¸º CPUç²’åâ€é€‰é¡¹ã€‚" #: scene/3d/particles.cpp msgid "" @@ -9515,11 +9496,11 @@ msgid "PathFollow only works when set as a child of a Path node." msgstr "PathFollow类型的节点åªæœ‰ä½œä¸ºPath类型节点的å节点æ‰èƒ½æ£å¸¸å·¥ä½œã€‚" #: scene/3d/path.cpp -#, fuzzy msgid "" "PathFollow ROTATION_ORIENTED requires \"Up Vector\" enabled in its parent " "Path's Curve resource." -msgstr "OrientedPathFollow 需è¦åœ¨å…¶çˆ¶è·¯å¾„ä¸å¯ç”¨â€œUp Vectorsâ€ã€‚" +msgstr "" +"PathFollow ROTATION_ORIENTED需è¦åœ¨å…¶çˆ¶è·¯å¾„的曲线资æºä¸å¯ç”¨â€œUp Vectorâ€ã€‚" #: scene/3d/physics_body.cpp msgid "" @@ -9535,23 +9516,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "path属性必须指å‘一个åˆæ³•çš„Spatial节点æ‰èƒ½æ£å¸¸å·¥ä½œã€‚" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "WorldEnvironment需è¦ä¸€ä¸ªçŽ¯å¢ƒèµ„æºã€‚" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "æ¯ä¸ªåœºæ™¯ä¸åªå…许有一个WorldEnvironment类型的节点。" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" -"这个WorldEnvironmentè¢«å¿½ç•¥ã€‚æ·»åŠ æ‘„åƒå¤´ï¼ˆç”¨äºŽ3D场景)或将æ¤çŽ¯å¢ƒçš„背景模å¼è®¾ç½®" -"为画布(用于2D场景)。" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "这个物体将被忽略,除éžè®¾ç½®ä¸€ä¸ªç½‘æ ¼" @@ -9581,6 +9545,23 @@ msgstr "" "VehicleWheel 为 VehicleBody æ供一个车轮系统(Wheel System)。请将它作为" "VehicleBodyçš„å节点。" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "WorldEnvironment需è¦ä¸€ä¸ªçŽ¯å¢ƒèµ„æºã€‚" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "æ¯ä¸ªåœºæ™¯ä¸åªå…许有一个WorldEnvironment类型的节点。" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" +"这个WorldEnvironmentè¢«å¿½ç•¥ã€‚æ·»åŠ æ‘„åƒå¤´ï¼ˆç”¨äºŽ3D场景)或将æ¤çŽ¯å¢ƒçš„背景模å¼è®¾ç½®" +"为画布(用于2D场景)。" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "在 BlendTree 节点 '%s' 上没有å‘现动画: '%s'" @@ -9623,7 +9604,7 @@ msgstr "这个节点已被弃用。请使用Animation Tree代替。" #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "从å±å¹•ä¸é€‰æ‹©ä¸€ç§é¢œè‰²ã€‚" #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -9631,10 +9612,11 @@ msgstr "Raw 模å¼" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "在åå…进制值和代ç 值之间切æ¢ã€‚" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "将当å‰é¢œè‰²æ·»åŠ 为预设" #: scene/gui/dialogs.cpp diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index e076abd623..6e72949b92 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -584,7 +584,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1166,7 +1166,7 @@ msgid "Add Bus" msgstr "" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." +msgid "Add a new Audio Bus to this layout." msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp @@ -1197,6 +1197,10 @@ msgstr "é è¨" msgid "Load the default Bus Layout." msgstr "" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "無效å稱" @@ -2461,7 +2465,7 @@ msgid "Save & Restart" msgstr "儲å˜æª”案" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp @@ -3581,24 +3585,6 @@ msgid "Create Polygon" msgstr "縮放selection" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "æ’件" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "åªé™é¸ä¸" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3618,6 +3604,24 @@ msgstr "" msgid "Erase points." msgstr "縮放selection" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "æ’件" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "åªé™é¸ä¸" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5362,6 +5366,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9854,21 +9864,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9892,6 +9887,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9949,7 +9959,7 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +msgid "Add current color as a preset." msgstr "" #: scene/gui/dialogs.cpp diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 5b9aeb74be..4d9b3b578f 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -564,7 +564,7 @@ msgid "Warnings" msgstr "" #: editor/code_editor.cpp -msgid "Line and column numbers" +msgid "Line and column numbers." msgstr "" #: editor/connections_dialog.cpp @@ -1140,8 +1140,9 @@ msgid "Add Bus" msgstr "新增 Bus" #: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "建立新的 Bus é…置。" +#, fuzzy +msgid "Add a new Audio Bus to this layout." +msgstr "å¦å˜ Audio Bus é…置為..." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1169,6 +1170,10 @@ msgstr "載入é è¨å€¼" msgid "Load the default Bus Layout." msgstr "載入é è¨çš„ Bus é…置。" +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "建立新的 Bus é…置。" + #: editor/editor_autoload_settings.cpp msgid "Invalid name." msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" @@ -2396,7 +2401,8 @@ msgid "Save & Restart" msgstr "儲å˜ä¸¦é‡å•Ÿ" #: editor/editor_node.cpp -msgid "Spins when the editor window repaints!" +#, fuzzy +msgid "Spins when the editor window redraws." msgstr "在é‡æ–°ç¹ªè£½(repaint)編輯器視窗時,來個旋轉ï¼" #: editor/editor_node.cpp @@ -3484,24 +3490,6 @@ msgid "Create Polygon" msgstr "新增資料夾" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "新增資料夾" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Insert Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "移除" - -#: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3521,6 +3509,24 @@ msgstr "" msgid "Erase points." msgstr "所有的é¸æ“‡" +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Edit Polygon" +msgstr "新增資料夾" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#, fuzzy +msgid "Remove Polygon And Point" +msgstr "移除" + #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -5248,6 +5254,12 @@ msgid "Create UV Map" msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" msgstr "" @@ -9701,21 +9713,6 @@ msgstr "" msgid "Path property must point to a valid Spatial node to work." msgstr "" -#: scene/3d/scenario_fx.cpp -msgid "WorldEnvironment needs an Environment resource." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/scenario_fx.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" msgstr "" @@ -9739,6 +9736,21 @@ msgid "" "it as a child of a VehicleBody." msgstr "" +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" @@ -9796,7 +9808,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -msgid "Add current color as a preset" +#, fuzzy +msgid "Add current color as a preset." msgstr "將目å‰é¡è‰²è¨ç‚ºé è¨" #: scene/gui/dialogs.cpp diff --git a/main/main.cpp b/main/main.cpp index f9044b61cd..5ccc6662e8 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -53,11 +53,11 @@ #include "drivers/register_driver_types.h" #include "main/app_icon.gen.h" #include "main/input_default.h" +#include "main/main_timer_sync.h" #include "main/performance.h" #include "main/splash.gen.h" #include "main/splash_editor.gen.h" #include "main/tests/test_main.h" -#include "main/timer_sync.h" #include "modules/register_module_types.h" #include "platform/register_platform_apis.h" #include "scene/main/scene_tree.h" diff --git a/main/timer_sync.cpp b/main/main_timer_sync.cpp index 5ee834880f..f7388c8517 100644 --- a/main/timer_sync.cpp +++ b/main/main_timer_sync.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* timer_sync.cpp */ +/* main_timer_sync.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "timer_sync.h" +#include "main_timer_sync.h" void MainFrameTime::clamp_idle(float min_idle_step, float max_idle_step) { if (idle_step < min_idle_step) { diff --git a/main/timer_sync.h b/main/main_timer_sync.h index fcce6d7a9a..179119edce 100644 --- a/main/timer_sync.h +++ b/main/main_timer_sync.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* timer_sync.h */ +/* main_timer_sync.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef TIMER_SYNC_H -#define TIMER_SYNC_H +#ifndef MAIN_TIMER_SYNC_H +#define MAIN_TIMER_SYNC_H #include "core/engine.h" @@ -98,4 +98,4 @@ public: MainFrameTime advance(float p_frame_slice, int p_iterations_per_second); }; -#endif // TIMER_SYNC_H +#endif // MAIN_TIMER_SYNC_H diff --git a/misc/dist/ios_xcode/godot_ios.xcodeproj/project.pbxproj b/misc/dist/ios_xcode/godot_ios.xcodeproj/project.pbxproj index a9a40c0508..569033d93c 100644 --- a/misc/dist/ios_xcode/godot_ios.xcodeproj/project.pbxproj +++ b/misc/dist/ios_xcode/godot_ios.xcodeproj/project.pbxproj @@ -17,6 +17,7 @@ 1FE9269F1FBBF86B00F53A6F /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FE926901FBBF78E00F53A6F /* CoreMedia.framework */; }; 1FE926A01FBBF86D00F53A6F /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FE9268E1FBBF77300F53A6F /* AudioToolbox.framework */; }; 1FE926A11FBBF86D00F53A6F /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FE9268F1FBBF77F00F53A6F /* CoreAudio.framework */; }; + E360193721F32F38009258C1 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E360193621F32F37009258C1 /* CoreVideo.framework */; }; DEADBEEF2F582BE20003B888 /* $binary.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DEADBEEF1F582BE20003B888 /* $binary.a */; }; 1FF8DBB11FBA9DE1009DE660 /* dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1FF8DBB01FBA9DE1009DE660 /* dummy.cpp */; }; 1FF4C1851F584E3F00A41E41 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FF4C1841F584E3F00A41E41 /* GameKit.framework */; }; @@ -53,6 +54,7 @@ D0BCFE3418AEBDA2004A7AAE /* $binary.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = $binary.app; sourceTree = BUILT_PRODUCTS_DIR; }; D0BCFE3718AEBDA2004A7AAE /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; D0BCFE3918AEBDA2004A7AAE /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + E360193621F32F37009258C1 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; D0BCFE3B18AEBDA2004A7AAE /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; D0BCFE3D18AEBDA2004A7AAE /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; D0BCFE3F18AEBDA2004A7AAE /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; @@ -69,6 +71,7 @@ buildActionMask = 2147483647; files = ( D0BCFE3A18AEBDA2004A7AAE /* CoreGraphics.framework in Frameworks */, + E360193721F32F38009258C1 /* CoreVideo.framework in Frameworks */, 1FE926991FBBF85400F53A6F /* SystemConfiguration.framework in Frameworks */, 1FE9269A1FBBF85F00F53A6F /* Security.framework in Frameworks */, 1FE9269B1FBBF86200F53A6F /* QuartzCore.framework in Frameworks */, @@ -124,6 +127,7 @@ 1FE926911FBBF79500F53A6F /* CoreMotion.framework */, 1FE926901FBBF78E00F53A6F /* CoreMedia.framework */, 1FE9268F1FBBF77F00F53A6F /* CoreAudio.framework */, + E360193621F32F37009258C1 /* CoreVideo.framework */, 1FE9268E1FBBF77300F53A6F /* AudioToolbox.framework */, 1FF4C1861F584E5600A41E41 /* StoreKit.framework */, 1FF4C1841F584E3F00A41E41 /* GameKit.framework */, @@ -190,15 +194,82 @@ TargetAttributes = { D0BCFE3318AEBDA2004A7AAE = { DevelopmentTeam = $team_id; + ProvisioningStyle = Automatic; SystemCapabilities = { - com.apple.GameCenter = { - enabled = 1; + com.apple.AccessWiFi = { + enabled = $access_wifi; + }; + com.apple.ApplePay = { + enabled = 0; + }; + com.apple.ApplicationGroups.iOS = { + enabled = 0; + }; + com.apple.AutoFillCredentialProvider = { + enabled = 0; + }; + com.apple.BackgroundModes = { + enabled = 0; + }; + com.apple.ClassKit = { + enabled = 0; + }; + com.apple.DataProtection = { + enabled = 0; + }; + com.apple.GameCenter.iOS = { + enabled = $game_center; + }; + com.apple.HealthKit = { + enabled = 0; + }; + com.apple.HomeKit = { + enabled = 0; + }; + com.apple.HotspotConfiguration = { + enabled = 0; }; com.apple.InAppPurchase = { - enabled = 1; + enabled = $in_app_purchases; + }; + com.apple.InterAppAudio = { + enabled = 0; + }; + com.apple.Keychain = { + enabled = 0; + }; + com.apple.Maps.iOS = { + enabled = 0; + }; + com.apple.Multipath = { + enabled = 0; + }; + com.apple.NearFieldCommunicationTagReading = { + enabled = 0; + }; + com.apple.NetworkExtensions.iOS = { + enabled = 0; }; com.apple.Push = { - enabled = 1; + enabled = $push_notifications; + }; + com.apple.SafariKeychain = { + enabled = 0; + }; + com.apple.Siri = { + enabled = 0; + }; + com.apple.VPNLite = { + enabled = 0; + }; + com.apple.WAC = { + enabled = 0; + }; + com.apple.Wallet = { + enabled = 0; + }; + com.apple.iCloud = { + enabled = 0; }; }; }; @@ -277,6 +348,7 @@ CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "$code_sign_identity_debug"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "$code_sign_identity_debug"; COPY_PHASE_STRIP = NO; ENABLE_BITCODE = NO; @@ -400,7 +472,7 @@ D0BCFE7018AEBDA3004A7AAE /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; + defaultConfigurationName = Debug; }; D0BCFE7118AEBDA3004A7AAE /* Build configuration list for PBXNativeTarget "$binary" */ = { isa = XCConfigurationList; @@ -409,7 +481,7 @@ D0BCFE7318AEBDA3004A7AAE /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; + defaultConfigurationName = Debug; }; /* End XCConfigurationList section */ }; diff --git a/misc/dist/ios_xcode/godot_ios/godot_ios-Info.plist b/misc/dist/ios_xcode/godot_ios/godot_ios-Info.plist index 6907ae4a9d..1c68c72385 100644 --- a/misc/dist/ios_xcode/godot_ios/godot_ios-Info.plist +++ b/misc/dist/ios_xcode/godot_ios/godot_ios-Info.plist @@ -13,7 +13,7 @@ <key>CFBundleIcons~ipad</key> <dict/> <key>CFBundleIdentifier</key> - <string>$identifier</string> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> @@ -30,26 +30,25 @@ <true/> <key>UIRequiredDeviceCapabilities</key> <array> - <string>armv7</string> - <string>gamekit</string> + $required_device_capabilities </array> + <key>NSCameraUsageDescription</key> + <string>$camera_usage_description</string> + <key>NSMicrophoneUsageDescription</key> + <string>$microphone_usage_description</string> + <key>NSPhotoLibraryUsageDescription</key> + <string>$photolibrary_usage_description</string> <key>UIRequiresFullScreen</key> <true/> <key>UIStatusBarHidden</key> <true/> <key>UISupportedInterfaceOrientations</key> <array> - <string>UIInterfaceOrientationLandscapeLeft</string> - <string>UIInterfaceOrientationLandscapeRight</string> - <string>UIInterfaceOrientationPortrait</string> - <string>UIInterfaceOrientationPortraitUpsideDown</string> + $interface_orientations </array> <key>UISupportedInterfaceOrientations~ipad</key> <array> - <string>UIInterfaceOrientationLandscapeLeft</string> - <string>UIInterfaceOrientationLandscapeRight</string> - <string>UIInterfaceOrientationPortrait</string> - <string>UIInterfaceOrientationPortraitUpsideDown</string> + $interface_orientations </array> $additional_plist_content </dict> diff --git a/modules/bullet/space_bullet.cpp b/modules/bullet/space_bullet.cpp index 6562b18b3c..c93220fc17 100644 --- a/modules/bullet/space_bullet.cpp +++ b/modules/bullet/space_bullet.cpp @@ -658,6 +658,8 @@ void SpaceBullet::check_ghost_overlaps() { for (x = areas.size() - 1; 0 <= x; --x) { area = areas[x]; + btVector3 area_scale(area->get_bt_body_scale()); + if (!area->is_monitoring()) continue; @@ -681,9 +683,10 @@ void SpaceBullet::check_ghost_overlaps() { bool hasOverlap = false; btCollisionObject *overlapped_bt_co = ghostOverlaps[i]; RigidCollisionObjectBullet *otherObject = static_cast<RigidCollisionObjectBullet *>(overlapped_bt_co->getUserPointer()); + btVector3 other_body_scale(otherObject->get_bt_body_scale()); if (!area->is_transform_changed() && !otherObject->is_transform_changed()) { - hasOverlap = true; + hasOverlap = -1 != area->find_overlapping_object(otherObject); goto collision_found; } @@ -698,19 +701,38 @@ void SpaceBullet::check_ghost_overlaps() { if (!area->get_bt_shape(y)->isConvex()) continue; - gjk_input.m_transformA = area->get_transform__bullet() * area->get_bt_shape_transform(y); + btTransform area_shape_treansform(area->get_bt_shape_transform(y)); + area_shape_treansform.getOrigin() *= area_scale; + + gjk_input.m_transformA = + area->get_transform__bullet() * + area_shape_treansform; + area_shape = static_cast<btConvexShape *>(area->get_bt_shape(y)); // For each other object shape for (z = otherObject->get_shape_count() - 1; 0 <= z; --z) { other_body_shape = static_cast<btCollisionShape *>(otherObject->get_bt_shape(z)); - gjk_input.m_transformB = otherObject->get_transform__bullet() * otherObject->get_bt_shape_transform(z); + + if (other_body_shape->isConcave()) + continue; + + btTransform other_shape_transform(otherObject->get_bt_shape_transform(z)); + other_shape_transform.getOrigin() *= other_body_scale; + + gjk_input.m_transformB = + otherObject->get_transform__bullet() * + other_shape_transform; if (other_body_shape->isConvex()) { btPointCollector result; - btGjkPairDetector gjk_pair_detector(area_shape, static_cast<btConvexShape *>(other_body_shape), gjk_simplex_solver, gjk_epa_pen_solver); + btGjkPairDetector gjk_pair_detector( + area_shape, + static_cast<btConvexShape *>(other_body_shape), + gjk_simplex_solver, + gjk_epa_pen_solver); gjk_pair_detector.getClosestPoints(gjk_input, result, 0); if (0 >= result.m_distance) { diff --git a/modules/csg/csg.cpp b/modules/csg/csg.cpp index 12282b4730..a0be0138d3 100644 --- a/modules/csg/csg.cpp +++ b/modules/csg/csg.cpp @@ -32,7 +32,7 @@ #include "core/math/face3.h" #include "core/math/geometry.h" #include "core/os/os.h" -#include "core/sort.h" +#include "core/sort_array.h" #include "thirdparty/misc/triangulator.h" void CSGBrush::clear() { diff --git a/modules/csg/csg.h b/modules/csg/csg.h index ac16575e82..4fa1a945cc 100644 --- a/modules/csg/csg.h +++ b/modules/csg/csg.h @@ -31,7 +31,6 @@ #ifndef CSG_H #define CSG_H -#include "core/dvector.h" #include "core/map.h" #include "core/math/aabb.h" #include "core/math/plane.h" @@ -39,6 +38,7 @@ #include "core/math/transform.h" #include "core/math/vector3.h" #include "core/oa_hash_map.h" +#include "core/pool_vector.h" #include "scene/resources/material.h" struct CSGBrush { diff --git a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml index 4976a90945..c9a7d96ae7 100644 --- a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml +++ b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml @@ -36,7 +36,7 @@ <argument index="4" name="client_port" type="int" default="0"> </argument> <description> - Create client that connects to a server at [code]address[/code] using specified [code]port[/code]. The given address needs to be either a fully qualified domain nome (e.g. [code]www.example.com[/code]) or an IP address in IPv4 or IPv6 format (e.g. [code]192.168.1.1[/code]). The [code]port[/code] is the port the server is listening on. The [code]in_bandwidth[/code] and [code]out_bandwidth[/code] parameters can be used to limit the incoming and outgoing bandwidth to the given number of bytes per second. The default of 0 means unlimited bandwidth. Note that ENet will strategically drop packets on specific sides of a connection between peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time. Returns [code]OK[/code] if a client was created, [code]ERR_ALREADY_IN_USE[/code] if this NetworkedMultiplayerEnet instance already has an open connection (in which case you need to call [method close_connection] first) or [code]ERR_CANT_CREATE[/code] if the client could not be created. If [code]client_port[/code] is specified, the client will also listen to the given port, this is useful in some NAT traversal technique. + Create client that connects to a server at [code]address[/code] using specified [code]port[/code]. The given address needs to be either a fully qualified domain name (e.g. [code]www.example.com[/code]) or an IP address in IPv4 or IPv6 format (e.g. [code]192.168.1.1[/code]). The [code]port[/code] is the port the server is listening on. The [code]in_bandwidth[/code] and [code]out_bandwidth[/code] parameters can be used to limit the incoming and outgoing bandwidth to the given number of bytes per second. The default of 0 means unlimited bandwidth. Note that ENet will strategically drop packets on specific sides of a connection between peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time. Returns [code]OK[/code] if a client was created, [code]ERR_ALREADY_IN_USE[/code] if this NetworkedMultiplayerEnet instance already has an open connection (in which case you need to call [method close_connection] first) or [code]ERR_CANT_CREATE[/code] if the client could not be created. If [code]client_port[/code] is specified, the client will also listen to the given port, this is useful in some NAT traversal technique. </description> </method> <method name="create_server"> diff --git a/modules/gdnative/arvr/arvr_interface_gdnative.cpp b/modules/gdnative/arvr/arvr_interface_gdnative.cpp index 01fbc316cf..11509fc20a 100644 --- a/modules/gdnative/arvr/arvr_interface_gdnative.cpp +++ b/modules/gdnative/arvr/arvr_interface_gdnative.cpp @@ -31,7 +31,7 @@ #include "arvr_interface_gdnative.h" #include "main/input_default.h" #include "servers/arvr/arvr_positional_tracker.h" -#include "servers/visual/visual_server_global.h" +#include "servers/visual/visual_server_globals.h" ARVRInterfaceGDNative::ARVRInterfaceGDNative() { // testing diff --git a/modules/gdnative/gdnative/array.cpp b/modules/gdnative/gdnative/array.cpp index 18da9d811e..6849ff03d7 100644 --- a/modules/gdnative/gdnative/array.cpp +++ b/modules/gdnative/gdnative/array.cpp @@ -34,7 +34,7 @@ #include "core/os/memory.h" #include "core/color.h" -#include "core/dvector.h" +#include "core/pool_vector.h" #include "core/variant.h" diff --git a/modules/gdnative/gdnative/pool_arrays.cpp b/modules/gdnative/gdnative/pool_arrays.cpp index 68e064d829..74c540ca14 100644 --- a/modules/gdnative/gdnative/pool_arrays.cpp +++ b/modules/gdnative/gdnative/pool_arrays.cpp @@ -31,7 +31,7 @@ #include "gdnative/pool_arrays.h" #include "core/array.h" -#include "core/dvector.h" +#include "core/pool_vector.h" #include "core/variant.h" #include "core/color.h" diff --git a/modules/gdnative/gdnative/string.cpp b/modules/gdnative/gdnative/string.cpp index 4b8d79305c..913c57eb56 100644 --- a/modules/gdnative/gdnative/string.cpp +++ b/modules/gdnative/gdnative/string.cpp @@ -30,7 +30,7 @@ #include "gdnative/string.h" -#include "core/string_db.h" +#include "core/string_name.h" #include "core/ustring.h" #include "core/variant.h" diff --git a/modules/gdnative/gdnative/string_name.cpp b/modules/gdnative/gdnative/string_name.cpp index d2862c5980..dcbb773c25 100644 --- a/modules/gdnative/gdnative/string_name.cpp +++ b/modules/gdnative/gdnative/string_name.cpp @@ -30,7 +30,7 @@ #include "gdnative/string_name.h" -#include "core/string_db.h" +#include "core/string_name.h" #include "core/ustring.h" #include <string.h> diff --git a/modules/gdnative/nativescript/nativescript.cpp b/modules/gdnative/nativescript/nativescript.cpp index 0370060937..9fd0a2e8ec 100644 --- a/modules/gdnative/nativescript/nativescript.cpp +++ b/modules/gdnative/nativescript/nativescript.cpp @@ -39,7 +39,7 @@ #include "core/project_settings.h" #include "scene/main/scene_tree.h" -#include "scene/resources/scene_format_text.h" +#include "scene/resources/resource_format_text.h" #include <stdlib.h> diff --git a/modules/gdnative/pluginscript/pluginscript_language.cpp b/modules/gdnative/pluginscript/pluginscript_language.cpp index ca1dd66a13..c9d92c09ed 100644 --- a/modules/gdnative/pluginscript/pluginscript_language.cpp +++ b/modules/gdnative/pluginscript/pluginscript_language.cpp @@ -173,8 +173,7 @@ Error PluginScriptLanguage::complete_code(const String &p_code, const String &p_ for (int i = 0; i < options.size(); i++) { r_options->push_back(String(options[i])); } - Error err = *(Error *)&tmp; - return err; + return (Error)tmp; } return ERR_UNAVAILABLE; } diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp index 6d85eb3c90..f29432666e 100644 --- a/modules/gdscript/gdscript.cpp +++ b/modules/gdscript/gdscript.cpp @@ -483,7 +483,7 @@ bool GDScript::_update_exports() { placeholder_fallback_enabled = true; return false; } - } else if (!valid || placeholder_fallback_enabled) { + } else if (placeholder_fallback_enabled) { return false; } diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index 3daa006353..af770ac533 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -479,12 +479,15 @@ struct GDScriptCompletionContext { Object *base; String base_path; int line; + uint32_t depth; GDScriptCompletionContext() : _class(NULL), function(NULL), block(NULL), - base(NULL) {} + base(NULL), + line(0), + depth(0) {} }; struct GDScriptCompletionIdentifier { @@ -634,12 +637,18 @@ static GDScriptCompletionIdentifier _type_from_gdtype(const GDScriptDataType &p_ return ci; } -static bool _guess_identifier_type(const GDScriptCompletionContext &p_context, const StringName &p_identifier, GDScriptCompletionIdentifier &r_type); -static bool _guess_identifier_type_from_base(const GDScriptCompletionContext &p_context, const GDScriptCompletionIdentifier &p_base, const StringName &p_identifier, GDScriptCompletionIdentifier &r_type); -static bool _guess_method_return_type_from_base(const GDScriptCompletionContext &p_context, const GDScriptCompletionIdentifier &p_base, const StringName &p_method, GDScriptCompletionIdentifier &r_type); +static bool _guess_identifier_type(GDScriptCompletionContext &p_context, const StringName &p_identifier, GDScriptCompletionIdentifier &r_type); +static bool _guess_identifier_type_from_base(GDScriptCompletionContext &p_context, const GDScriptCompletionIdentifier &p_base, const StringName &p_identifier, GDScriptCompletionIdentifier &r_type); +static bool _guess_method_return_type_from_base(GDScriptCompletionContext &p_context, const GDScriptCompletionIdentifier &p_base, const StringName &p_method, GDScriptCompletionIdentifier &r_type); -static bool _guess_expression_type(const GDScriptCompletionContext &p_context, const GDScriptParser::Node *p_expression, GDScriptCompletionIdentifier &r_type) { +static bool _guess_expression_type(GDScriptCompletionContext &p_context, const GDScriptParser::Node *p_expression, GDScriptCompletionIdentifier &r_type) { bool found = false; + + if (++p_context.depth > 100) { + print_error("Maximum _guess_expression_type depth limit reached. Please file a bugreport."); + return false; + } + switch (p_expression->type) { case GDScriptParser::Node::TYPE_CONSTANT: { const GDScriptParser::ConstantNode *cn = static_cast<const GDScriptParser::ConstantNode *>(p_expression); @@ -1128,7 +1137,7 @@ static bool _guess_expression_type(const GDScriptCompletionContext &p_context, c return found; } -static bool _guess_identifier_type(const GDScriptCompletionContext &p_context, const StringName &p_identifier, GDScriptCompletionIdentifier &r_type) { +static bool _guess_identifier_type(GDScriptCompletionContext &p_context, const StringName &p_identifier, GDScriptCompletionIdentifier &r_type) { // Look in blocks first const GDScriptParser::BlockNode *blk = p_context.block; @@ -1358,7 +1367,7 @@ static bool _guess_identifier_type(const GDScriptCompletionContext &p_context, c return false; } -static bool _guess_identifier_type_from_base(const GDScriptCompletionContext &p_context, const GDScriptCompletionIdentifier &p_base, const StringName &p_identifier, GDScriptCompletionIdentifier &r_type) { +static bool _guess_identifier_type_from_base(GDScriptCompletionContext &p_context, const GDScriptCompletionIdentifier &p_base, const StringName &p_identifier, GDScriptCompletionIdentifier &r_type) { GDScriptParser::DataType base_type = p_base.type; bool _static = base_type.is_meta_type; while (base_type.has_type) { @@ -1547,7 +1556,7 @@ static bool _find_last_return_in_block(const GDScriptCompletionContext &p_contex return false; } -static bool _guess_method_return_type_from_base(const GDScriptCompletionContext &p_context, const GDScriptCompletionIdentifier &p_base, const StringName &p_method, GDScriptCompletionIdentifier &r_type) { +static bool _guess_method_return_type_from_base(GDScriptCompletionContext &p_context, const GDScriptCompletionIdentifier &p_base, const StringName &p_method, GDScriptCompletionIdentifier &r_type) { GDScriptParser::DataType base_type = p_base.type; bool _static = base_type.is_meta_type; @@ -2312,7 +2321,7 @@ static void _find_call_arguments(const GDScriptCompletionContext &p_context, con } } -static void _find_call_arguments(const GDScriptCompletionContext &p_context, const GDScriptParser::Node *p_node, int p_argidx, Set<String> &r_result, bool &r_forced, String &r_arghint) { +static void _find_call_arguments(GDScriptCompletionContext &p_context, const GDScriptParser::Node *p_node, int p_argidx, Set<String> &r_result, bool &r_forced, String &r_arghint) { if (!p_node || p_node->type != GDScriptParser::Node::TYPE_OPERATOR) { return; diff --git a/modules/gdscript/gdscript_function.h b/modules/gdscript/gdscript_function.h index a412b2950f..cefc28d77f 100644 --- a/modules/gdscript/gdscript_function.h +++ b/modules/gdscript/gdscript_function.h @@ -36,7 +36,7 @@ #include "core/reference.h" #include "core/script_language.h" #include "core/self_list.h" -#include "core/string_db.h" +#include "core/string_name.h" #include "core/variant.h" class GDScriptInstance; diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index d620065e70..b53d37226c 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -6822,7 +6822,7 @@ GDScriptParser::DataType GDScriptParser::_reduce_function_call_type(const Operat return_type = original_type; return_type.is_meta_type = false; - valid = true; // There's always an initializer, we can asume this is true + valid = true; // There's always an initializer, we can assume this is true } if (!valid) { diff --git a/modules/gdscript/gdscript_tokenizer.h b/modules/gdscript/gdscript_tokenizer.h index abacdf0322..e4315f7969 100644 --- a/modules/gdscript/gdscript_tokenizer.h +++ b/modules/gdscript/gdscript_tokenizer.h @@ -32,7 +32,7 @@ #define GDSCRIPT_TOKENIZER_H #include "core/pair.h" -#include "core/string_db.h" +#include "core/string_name.h" #include "core/ustring.h" #include "core/variant.h" #include "core/vmap.h" diff --git a/modules/mbedtls/stream_peer_mbed_tls.cpp b/modules/mbedtls/stream_peer_mbed_tls.cpp index 973713f500..e4050b1af8 100755 --- a/modules/mbedtls/stream_peer_mbed_tls.cpp +++ b/modules/mbedtls/stream_peer_mbed_tls.cpp @@ -313,7 +313,7 @@ void StreamPeerMbedTLS::disconnect_from_stream() { Ref<StreamPeerTCP> tcp = base; if (tcp.is_valid() && tcp->get_status() == StreamPeerTCP::STATUS_CONNECTED) { - // We are still connected on the socket, try to send close notity. + // We are still connected on the socket, try to send close notify. mbedtls_ssl_close_notify(&ssl); } diff --git a/modules/mobile_vr/mobile_vr_interface.cpp b/modules/mobile_vr/mobile_vr_interface.cpp index 78cc667718..b4fbd417d7 100644 --- a/modules/mobile_vr/mobile_vr_interface.cpp +++ b/modules/mobile_vr/mobile_vr_interface.cpp @@ -31,7 +31,7 @@ #include "mobile_vr_interface.h" #include "core/os/input.h" #include "core/os/os.h" -#include "servers/visual/visual_server_global.h" +#include "servers/visual/visual_server_globals.h" StringName MobileVRInterface::get_name() const { return "Native mobile"; diff --git a/modules/mono/glue/Managed/Files/Quat.cs b/modules/mono/glue/Managed/Files/Quat.cs index fd1ac01083..d4dcff583a 100644 --- a/modules/mono/glue/Managed/Files/Quat.cs +++ b/modules/mono/glue/Managed/Files/Quat.cs @@ -347,9 +347,9 @@ namespace Godot public override bool Equals(object obj) { - if (obj is Vector2) + if (obj is Quat) { - return Equals((Vector2)obj); + return Equals((Quat)obj); } return false; diff --git a/modules/mono/glue/base_object_glue.cpp b/modules/mono/glue/base_object_glue.cpp index 2963619b79..fad02b01d3 100644 --- a/modules/mono/glue/base_object_glue.cpp +++ b/modules/mono/glue/base_object_glue.cpp @@ -33,7 +33,7 @@ #ifdef MONO_GLUE_ENABLED #include "core/reference.h" -#include "core/string_db.h" +#include "core/string_name.h" #include "../csharp_script.h" #include "../mono_gd/gd_mono_internals.h" diff --git a/modules/mono/godotsharp_dirs.cpp b/modules/mono/godotsharp_dirs.cpp index 3943c0c7d7..09a1fc6fbc 100644 --- a/modules/mono/godotsharp_dirs.cpp +++ b/modules/mono/godotsharp_dirs.cpp @@ -99,7 +99,6 @@ public: String sln_filepath; String csproj_filepath; - String data_mono_bin_dir; String data_editor_tools_dir; String data_editor_prebuilt_api_dir; #endif @@ -107,6 +106,10 @@ public: String data_mono_etc_dir; String data_mono_lib_dir; +#ifdef WINDOWS_ENABLED + String data_mono_bin_dir; +#endif + private: _GodotSharpDirs() { res_data_dir = "res://.mono"; @@ -146,10 +149,13 @@ private: data_editor_prebuilt_api_dir = data_dir_root.plus_file("Api"); String data_mono_root_dir = data_dir_root.plus_file("Mono"); - data_mono_bin_dir = data_mono_root_dir.plus_file("bin"); data_mono_etc_dir = data_mono_root_dir.plus_file("etc"); data_mono_lib_dir = data_mono_root_dir.plus_file("lib"); +#ifdef WINDOWS_ENABLED + data_mono_bin_dir = data_mono_root_dir.plus_file("bin"); +#endif + #ifdef OSX_ENABLED if (!DirAccess::exists(data_editor_tools_dir)) { data_editor_tools_dir = exe_dir.plus_file("../Frameworks/GodotSharp/Tools"); @@ -160,7 +166,6 @@ private: } if (!DirAccess::exists(data_mono_root_dir)) { - data_mono_bin_dir = exe_dir.plus_file("../Frameworks/GodotSharp/Mono/bin"); data_mono_etc_dir = exe_dir.plus_file("../Resources/GodotSharp/Mono/etc"); data_mono_lib_dir = exe_dir.plus_file("../Frameworks/GodotSharp/Mono/lib"); } @@ -178,6 +183,10 @@ private: data_mono_etc_dir = data_mono_root_dir.plus_file("etc"); data_mono_lib_dir = data_mono_root_dir.plus_file("lib"); +#ifdef WINDOWS_ENABLED + data_mono_bin_dir = data_mono_root_dir.plus_file("bin"); +#endif + #ifdef OSX_ENABLED if (!DirAccess::exists(data_mono_root_dir)) { data_mono_etc_dir = exe_dir.plus_file("../Resources/GodotSharp/Mono/etc"); @@ -251,10 +260,6 @@ String get_project_csproj_path() { return _GodotSharpDirs::get_singleton().csproj_filepath; } -String get_data_mono_bin_dir() { - return _GodotSharpDirs::get_singleton().data_mono_bin_dir; -} - String get_data_editor_tools_dir() { return _GodotSharpDirs::get_singleton().data_editor_tools_dir; } @@ -272,4 +277,10 @@ String get_data_mono_lib_dir() { return _GodotSharpDirs::get_singleton().data_mono_lib_dir; } +#ifdef WINDOWS_ENABLED +String get_data_mono_bin_dir() { + return _GodotSharpDirs::get_singleton().data_mono_bin_dir; +} +#endif + } // namespace GodotSharpDirs diff --git a/modules/mono/godotsharp_dirs.h b/modules/mono/godotsharp_dirs.h index a038e6486c..556df959e2 100644 --- a/modules/mono/godotsharp_dirs.h +++ b/modules/mono/godotsharp_dirs.h @@ -53,7 +53,6 @@ String get_build_logs_dir(); String get_project_sln_path(); String get_project_csproj_path(); -String get_data_mono_bin_dir(); String get_data_editor_tools_dir(); String get_data_editor_prebuilt_api_dir(); #endif @@ -61,6 +60,10 @@ String get_data_editor_prebuilt_api_dir(); String get_data_mono_etc_dir(); String get_data_mono_lib_dir(); +#ifdef WINDOWS_ENABLED +String get_data_mono_bin_dir(); +#endif + } // namespace GodotSharpDirs #endif // GODOTSHARP_DIRS_H diff --git a/modules/mono/mono_gd/gd_mono.cpp b/modules/mono/mono_gd/gd_mono.cpp index b45046cb6d..bba8b1050f 100644 --- a/modules/mono/mono_gd/gd_mono.cpp +++ b/modules/mono/mono_gd/gd_mono.cpp @@ -157,7 +157,17 @@ void GDMono::add_mono_shared_libs_dir_to_path() { path_value += ';'; String bundled_bin_dir = GodotSharpDirs::get_data_mono_bin_dir(); - path_value += DirAccess::exists(bundled_bin_dir) ? bundled_bin_dir : mono_reg_info.bin_dir; +#ifdef TOOLS_ENABLED + if (DirAccess::exists(bundled_bin_dir)) { + path_value += bundled_bin_dir; + } else { + path_value += mono_reg_info.bin_dir; + } +#else + if (DirAccess::exists(bundled_bin_dir)) + path_value += bundled_bin_dir; +#endif // TOOLS_ENABLED + #else path_value += ':'; @@ -167,10 +177,10 @@ void GDMono::add_mono_shared_libs_dir_to_path() { } else { // TODO: Do we need to add the lib dir when using the system installed Mono on Unix platforms? } -#endif +#endif // WINDOWS_ENABLED OS::get_singleton()->set_environment(path_var, path_value); -#endif +#endif // WINDOWS_ENABLED || UNIX_ENABLED } void GDMono::initialize() { @@ -231,11 +241,21 @@ void GDMono::initialize() { assembly_rootdir = bundled_assembly_rootdir; config_dir = bundled_config_dir; } + +#ifdef WINDOWS_ENABLED + if (assembly_rootdir.empty() || config_dir.empty()) { + // Assertion: if they are not set, then they weren't found in the registry + CRASH_COND(mono_reg_info.assembly_dir.length() > 0 || mono_reg_info.config_dir.length() > 0); + + ERR_PRINT("Cannot find Mono in the registry"); + } +#endif // WINDOWS_ENABLED + #else // These are always the directories in export templates assembly_rootdir = bundled_assembly_rootdir; config_dir = bundled_config_dir; -#endif +#endif // TOOLS_ENABLED // Leak if we call mono_set_dirs more than once mono_set_dirs(assembly_rootdir.length() ? assembly_rootdir.utf8().get_data() : NULL, diff --git a/modules/mono/mono_gd/gd_mono_field.h b/modules/mono/mono_gd/gd_mono_field.h index a3244101d8..e348583370 100644 --- a/modules/mono/mono_gd/gd_mono_field.h +++ b/modules/mono/mono_gd/gd_mono_field.h @@ -32,8 +32,8 @@ #define GDMONOFIELD_H #include "gd_mono.h" -#include "gd_mono_class_member.h" #include "gd_mono_header.h" +#include "i_mono_class_member.h" class GDMonoField : public IMonoClassMember { diff --git a/modules/mono/mono_gd/gd_mono_method.h b/modules/mono/mono_gd/gd_mono_method.h index fc035d387c..f74cef438d 100644 --- a/modules/mono/mono_gd/gd_mono_method.h +++ b/modules/mono/mono_gd/gd_mono_method.h @@ -32,8 +32,8 @@ #define GD_MONO_METHOD_H #include "gd_mono.h" -#include "gd_mono_class_member.h" #include "gd_mono_header.h" +#include "i_mono_class_member.h" class GDMonoMethod : public IMonoClassMember { diff --git a/modules/mono/mono_gd/gd_mono_property.h b/modules/mono/mono_gd/gd_mono_property.h index d8a9f69ffb..2700c460b0 100644 --- a/modules/mono/mono_gd/gd_mono_property.h +++ b/modules/mono/mono_gd/gd_mono_property.h @@ -32,8 +32,8 @@ #define GD_MONO_PROPERTY_H #include "gd_mono.h" -#include "gd_mono_class_member.h" #include "gd_mono_header.h" +#include "i_mono_class_member.h" class GDMonoProperty : public IMonoClassMember { diff --git a/modules/mono/mono_gd/gd_mono_class_member.h b/modules/mono/mono_gd/i_mono_class_member.h index 3058b18c05..553d9edc72 100644 --- a/modules/mono/mono_gd/gd_mono_class_member.h +++ b/modules/mono/mono_gd/i_mono_class_member.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* gd_mono_class_member.h */ +/* i_mono_class_member.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GD_MONO_CLASS_MEMBER_H -#define GD_MONO_CLASS_MEMBER_H +#ifndef I_MONO_CLASS_MEMBER_H +#define I_MONO_CLASS_MEMBER_H #include "gd_mono_header.h" @@ -65,4 +65,4 @@ public: virtual MonoObject *get_attribute(GDMonoClass *p_attr_class) = 0; }; -#endif // GD_MONO_CLASS_MEMBER_H +#endif // I_MONO_CLASS_MEMBER_H diff --git a/modules/mono/utils/mono_reg_utils.cpp b/modules/mono/utils/mono_reg_utils.cpp index 76b250e038..0eb4b3b8b3 100644 --- a/modules/mono/utils/mono_reg_utils.cpp +++ b/modules/mono/utils/mono_reg_utils.cpp @@ -158,8 +158,6 @@ MonoRegInfo find_mono() { if (_find_mono_in_reg_old("Software\\Novell\\Mono", info) == ERROR_SUCCESS) return info; - ERR_PRINT("Cannot find mono in the registry"); - return MonoRegInfo(); } diff --git a/modules/stb_vorbis/resource_importer_ogg_vorbis.h b/modules/stb_vorbis/resource_importer_ogg_vorbis.h index ca2d662e61..f61fc91cda 100644 --- a/modules/stb_vorbis/resource_importer_ogg_vorbis.h +++ b/modules/stb_vorbis/resource_importer_ogg_vorbis.h @@ -32,7 +32,7 @@ #define RESOURCEIMPORTEROGGVORBIS_H #include "audio_stream_ogg_vorbis.h" -#include "core/io/resource_import.h" +#include "core/io/resource_importer.h" class ResourceImporterOGGVorbis : public ResourceImporter { GDCLASS(ResourceImporterOGGVorbis, ResourceImporter) diff --git a/modules/upnp/register_types.cpp b/modules/upnp/register_types.cpp index abb73a3605..fbf0ee8b97 100644 --- a/modules/upnp/register_types.cpp +++ b/modules/upnp/register_types.cpp @@ -33,7 +33,7 @@ #include "core/error_macros.h" #include "upnp.h" -#include "upnpdevice.h" +#include "upnp_device.h" void register_upnp_types() { diff --git a/modules/upnp/upnp.h b/modules/upnp/upnp.h index b73908724d..011b6d44b3 100644 --- a/modules/upnp/upnp.h +++ b/modules/upnp/upnp.h @@ -33,7 +33,7 @@ #include "core/reference.h" -#include "upnpdevice.h" +#include "upnp_device.h" #include <miniupnpc/miniupnpc.h> diff --git a/modules/upnp/upnpdevice.cpp b/modules/upnp/upnp_device.cpp index 2fb2102df9..4d67e3ddc8 100644 --- a/modules/upnp/upnpdevice.cpp +++ b/modules/upnp/upnp_device.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* upnpdevice.cpp */ +/* upnp_device.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "upnpdevice.h" +#include "upnp_device.h" #include "upnp.h" diff --git a/modules/upnp/upnpdevice.h b/modules/upnp/upnp_device.h index 20fe5c62fe..09fce6af89 100644 --- a/modules/upnp/upnpdevice.h +++ b/modules/upnp/upnp_device.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* upnpdevice.h */ +/* upnp_device.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_UPNPDEVICE_H -#define GODOT_UPNPDEVICE_H +#ifndef GODOT_UPNP_DEVICE_H +#define GODOT_UPNP_DEVICE_H #include "core/reference.h" @@ -92,4 +92,4 @@ private: VARIANT_ENUM_CAST(UPNPDevice::IGDStatus) -#endif // GODOT_UPNPDEVICE_H +#endif // GODOT_UPNP_DEVICE_H diff --git a/modules/websocket/websocket_client.h b/modules/websocket/websocket_client.h index 32db719435..c464d97c7f 100644 --- a/modules/websocket/websocket_client.h +++ b/modules/websocket/websocket_client.h @@ -32,7 +32,7 @@ #define WEBSOCKET_CLIENT_H #include "core/error_list.h" -#include "websocket_multiplayer.h" +#include "websocket_multiplayer_peer.h" #include "websocket_peer.h" class WebSocketClient : public WebSocketMultiplayerPeer { diff --git a/modules/websocket/websocket_multiplayer.cpp b/modules/websocket/websocket_multiplayer_peer.cpp index 11caac944b..a48738b6a4 100644 --- a/modules/websocket/websocket_multiplayer.cpp +++ b/modules/websocket/websocket_multiplayer_peer.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* websocket_multiplayer.cpp */ +/* websocket_multiplayer_peer.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "websocket_multiplayer.h" +#include "websocket_multiplayer_peer.h" + #include "core/os/os.h" WebSocketMultiplayerPeer::WebSocketMultiplayerPeer() { diff --git a/modules/websocket/websocket_multiplayer.h b/modules/websocket/websocket_multiplayer_peer.h index 1aecad97a0..b050449ee0 100644 --- a/modules/websocket/websocket_multiplayer.h +++ b/modules/websocket/websocket_multiplayer_peer.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* websocket_multiplayer.h */ +/* websocket_multiplayer_peer.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ diff --git a/modules/websocket/websocket_server.h b/modules/websocket/websocket_server.h index 3f3e46db5a..7a94c4047b 100644 --- a/modules/websocket/websocket_server.h +++ b/modules/websocket/websocket_server.h @@ -32,7 +32,7 @@ #define WEBSOCKET_H #include "core/reference.h" -#include "websocket_multiplayer.h" +#include "websocket_multiplayer_peer.h" #include "websocket_peer.h" class WebSocketServer : public WebSocketMultiplayerPeer { diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index f293eef2ba..60cc33e6bf 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -206,9 +206,9 @@ static const LauncherIcon launcher_icons[] = { { "launcher_icons/mdpi_48x48", "res/drawable-mdpi-v4/icon.png" } }; -class EditorExportAndroid : public EditorExportPlatform { +class EditorExportPlatformAndroid : public EditorExportPlatform { - GDCLASS(EditorExportAndroid, EditorExportPlatform) + GDCLASS(EditorExportPlatformAndroid, EditorExportPlatform) Ref<ImageTexture> logo; Ref<ImageTexture> run_icon; @@ -235,7 +235,7 @@ class EditorExportAndroid : public EditorExportPlatform { static void _device_poll_thread(void *ud) { - EditorExportAndroid *ea = (EditorExportAndroid *)ud; + EditorExportPlatformAndroid *ea = (EditorExportPlatformAndroid *)ud; while (!ea->quit_request) { @@ -1925,7 +1925,7 @@ public: virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) { } - EditorExportAndroid() { + EditorExportPlatformAndroid() { Ref<Image> img = memnew(Image(_android_logo)); logo.instance(); @@ -1941,7 +1941,7 @@ public: device_thread = Thread::create(_device_poll_thread, this); } - ~EditorExportAndroid() { + ~EditorExportPlatformAndroid() { quit_request = true; Thread::wait_to_finish(device_thread); memdelete(device_lock); @@ -1969,6 +1969,6 @@ void register_android_exporter() { EDITOR_DEF("export/android/timestamping_authority_url", ""); EDITOR_DEF("export/android/shutdown_adb_on_exit", true); - Ref<EditorExportAndroid> exporter = Ref<EditorExportAndroid>(memnew(EditorExportAndroid)); + Ref<EditorExportPlatformAndroid> exporter = Ref<EditorExportPlatformAndroid>(memnew(EditorExportPlatformAndroid)); EditorExport::get_singleton()->add_export_platform(exporter); } diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp index 2ee0b34c48..3ba8468e0b 100644 --- a/platform/android/os_android.cpp +++ b/platform/android/os_android.cpp @@ -175,7 +175,7 @@ Error OS_Android::initialize(const VideoMode &p_desired, int p_video_driver, int input = memnew(InputDefault); input->set_fallback_mapping("Default Android Gamepad"); - //power_manager = memnew(power_android); + //power_manager = memnew(PowerAndroid); return OK; } diff --git a/platform/android/os_android.h b/platform/android/os_android.h index 3c591af4bb..1e5b89e24d 100644 --- a/platform/android/os_android.h +++ b/platform/android/os_android.h @@ -134,7 +134,7 @@ private: SetKeepScreenOnFunc set_keep_screen_on_func; AlertFunc alert_func; - //power_android *power_manager; + //PowerAndroid *power_manager; int video_driver_index; public: diff --git a/platform/android/power_android.cpp b/platform/android/power_android.cpp index 40b9d81189..4d2fbfbf1a 100644 --- a/platform/android/power_android.cpp +++ b/platform/android/power_android.cpp @@ -190,7 +190,7 @@ int Android_JNI_GetPowerInfo(int *plugged, int *charged, int *battery, int *seco return 0; } -bool power_android::GetPowerInfo_Android() { +bool PowerAndroid::GetPowerInfo_Android() { int battery; int plugged; int charged; @@ -218,7 +218,7 @@ bool power_android::GetPowerInfo_Android() { return true; } -OS::PowerState power_android::get_power_state() { +OS::PowerState PowerAndroid::get_power_state() { if (GetPowerInfo_Android()) { return power_state; } else { @@ -227,7 +227,7 @@ OS::PowerState power_android::get_power_state() { } } -int power_android::get_power_seconds_left() { +int PowerAndroid::get_power_seconds_left() { if (GetPowerInfo_Android()) { return nsecs_left; } else { @@ -236,7 +236,7 @@ int power_android::get_power_seconds_left() { } } -int power_android::get_power_percent_left() { +int PowerAndroid::get_power_percent_left() { if (GetPowerInfo_Android()) { return percent_left; } else { @@ -245,11 +245,11 @@ int power_android::get_power_percent_left() { } } -power_android::power_android() : +PowerAndroid::PowerAndroid() : nsecs_left(-1), percent_left(-1), power_state(OS::POWERSTATE_UNKNOWN) { } -power_android::~power_android() { +PowerAndroid::~PowerAndroid() { } diff --git a/platform/android/power_android.h b/platform/android/power_android.h index 9730c53674..6cb745b6c0 100644 --- a/platform/android/power_android.h +++ b/platform/android/power_android.h @@ -28,13 +28,14 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef PLATFORM_ANDROID_POWER_ANDROID_H_ -#define PLATFORM_ANDROID_POWER_ANDROID_H_ +#ifndef POWER_ANDROID_H +#define POWER_ANDROID_H #include "core/os/os.h" + #include <android/native_window_jni.h> -class power_android { +class PowerAndroid { struct LocalReferenceHolder { JNIEnv *m_env; @@ -65,8 +66,8 @@ private: public: static int s_active; - power_android(); - virtual ~power_android(); + PowerAndroid(); + virtual ~PowerAndroid(); static bool LocalReferenceHolder_Init(struct LocalReferenceHolder *refholder, JNIEnv *env); static struct LocalReferenceHolder LocalReferenceHolder_Setup(const char *func); static void LocalReferenceHolder_Cleanup(struct LocalReferenceHolder *refholder); @@ -76,4 +77,4 @@ public: int get_power_percent_left(); }; -#endif /* PLATFORM_ANDROID_POWER_ANDROID_H_ */ +#endif // POWER_ANDROID_H diff --git a/platform/iphone/SCsub b/platform/iphone/SCsub index d5540fe8db..41991bce86 100644 --- a/platform/iphone/SCsub +++ b/platform/iphone/SCsub @@ -7,7 +7,7 @@ import os iphone_lib = [ 'godot_iphone.cpp', 'os_iphone.cpp', - 'sem_iphone.cpp', + 'semaphore_iphone.cpp', 'gl_view.mm', 'main.m', 'app_delegate.mm', diff --git a/platform/iphone/export/export.cpp b/platform/iphone/export/export.cpp index 849e6d4a14..d234ddac27 100644 --- a/platform/iphone/export/export.cpp +++ b/platform/iphone/export/export.cpp @@ -246,7 +246,7 @@ void EditorExportPlatformIOS::get_export_options(List<ExportOption> *r_options) r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/app_store_team_id"), "")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/provisioning_profile_uuid_debug"), "")); - r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/code_sign_identity_debug", PROPERTY_HINT_PLACEHOLDER_TEXT, "iPhone Developer"), "")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/code_sign_identity_debug", PROPERTY_HINT_PLACEHOLDER_TEXT, "iPhone Developer"), "iPhone Developer")); r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "application/export_method_debug", PROPERTY_HINT_ENUM, "App Store,Development,Ad-Hoc,Enterprise"), 1)); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/provisioning_profile_uuid_release"), "")); @@ -255,12 +255,27 @@ void EditorExportPlatformIOS::get_export_options(List<ExportOption> *r_options) r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Game Name"), "")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/info"), "Made with Godot Engine")); - r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/identifier", PROPERTY_HINT_PLACEHOLDER_TEXT, "come.example.game"), "")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/identifier", PROPERTY_HINT_PLACEHOLDER_TEXT, "com.example.game"), "")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/signature"), "")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/short_version"), "1.0")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/version"), "1.0")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/copyright"), "")); + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "capabilities/arkit"), false)); + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "capabilities/access_wifi"), false)); + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "capabilities/game_center"), true)); + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "capabilities/in_app_purchases"), false)); + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "capabilities/push_notifications"), false)); + + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "privacy/camera_usage_description"), "Godot would like to use your camera")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "privacy/microphone_usage_description"), "Godot would like to use your microphone")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "privacy/photolibrary_usage_description"), "Godot would like to use your photos")); + + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "orientation/portrait"), true)); + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "orientation/landscape_left"), true)); + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "orientation/landscape_right"), true)); + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "orientation/portrait_upside_down"), true)); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "required_icons/iphone_120x120", PROPERTY_HINT_FILE, "*.png"), "")); // Home screen on iPhone/iPod Touch with retina display r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "required_icons/ipad_76x76", PROPERTY_HINT_FILE, "*.png"), "")); // Home screen on iPad r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "required_icons/app_store_1024x1024", PROPERTY_HINT_FILE, "*.png"), "")); // App Store @@ -337,6 +352,62 @@ void EditorExportPlatformIOS::_fix_config_file(const Ref<EditorExportPreset> &p_ strnew += lines[i].replace("$linker_flags", p_config.linker_flags) + "\n"; } else if (lines[i].find("$cpp_code") != -1) { strnew += lines[i].replace("$cpp_code", p_config.cpp_code) + "\n"; + } else if (lines[i].find("$access_wifi") != -1) { + bool is_on = p_preset->get("capabilities/access_wifi"); + strnew += lines[i].replace("$access_wifi", is_on ? "1" : "0") + "\n"; + } else if (lines[i].find("$game_center") != -1) { + bool is_on = p_preset->get("capabilities/game_center"); + strnew += lines[i].replace("$game_center", is_on ? "1" : "0") + "\n"; + } else if (lines[i].find("$in_app_purchases") != -1) { + bool is_on = p_preset->get("capabilities/in_app_purchases"); + strnew += lines[i].replace("$in_app_purchases", is_on ? "1" : "0") + "\n"; + } else if (lines[i].find("$push_notifications") != -1) { + bool is_on = p_preset->get("capabilities/push_notifications"); + strnew += lines[i].replace("$push_notifications", is_on ? "1" : "0") + "\n"; + } else if (lines[i].find("$required_device_capabilities") != -1) { + String capabilities; + + // I've removed armv7 as we can run on 64bit only devices + // Note that capabilities listed here are requirements for the app to be installed. + // They don't enable anything. + + if ((bool)p_preset->get("capabilities/arkit")) { + capabilities += "<string>arkit</string>\n"; + } + if ((bool)p_preset->get("capabilities/game_center")) { + capabilities += "<string>gamekit</string>\n"; + } + if ((bool)p_preset->get("capabilities/access_wifi")) { + capabilities += "<string>wifi</string>\n"; + } + + strnew += lines[i].replace("$required_device_capabilities", capabilities); + } else if (lines[i].find("$interface_orientations") != -1) { + String orientations; + + if ((bool)p_preset->get("orientation/portrait")) { + orientations += "<string>UIInterfaceOrientationPortrait</string>\n"; + } + if ((bool)p_preset->get("orientation/landscape_left")) { + orientations += "<string>UIInterfaceOrientationLandscapeLeft</string>\n"; + } + if ((bool)p_preset->get("orientation/landscape_right")) { + orientations += "<string>UIInterfaceOrientationLandscapeRight</string>\n"; + } + if ((bool)p_preset->get("orientation/portrait_upside_down")) { + orientations += "<string>UIInterfaceOrientationPortraitUpsideDown</string>\n"; + } + + strnew += lines[i].replace("$interface_orientations", orientations); + } else if (lines[i].find("$camera_usage_description") != -1) { + String description = p_preset->get("privacy/camera_usage_description"); + strnew += lines[i].replace("$camera_usage_description", description) + "\n"; + } else if (lines[i].find("$microphone_usage_description") != -1) { + String description = p_preset->get("privacy/microphone_usage_description"); + strnew += lines[i].replace("$microphone_usage_description", description) + "\n"; + } else if (lines[i].find("$photolibrary_usage_description") != -1) { + String description = p_preset->get("privacy/photolibrary_usage_description"); + strnew += lines[i].replace("$photolibrary_usage_description", description) + "\n"; } else { strnew += lines[i] + "\n"; } @@ -648,6 +719,10 @@ void EditorExportPlatformIOS::_add_assets_to_project(Vector<uint8_t> &p_project_ pbx_files += file_info_format.format(format_dict, "$_"); } + // Note, frameworks like gamekit are always included in our project.pbxprof file + // even if turned off in capabilities. + // Frameworks that are used by modules (like arkit) we may need to optionally add here. + String str = String::utf8((const char *)p_project_data.ptr(), p_project_data.size()); str = str.replace("$additional_pbx_files", pbx_files); str = str.replace("$additional_pbx_frameworks_build", pbx_frameworks_build); diff --git a/platform/iphone/os_iphone.cpp b/platform/iphone/os_iphone.cpp index 16634c3b30..c939e234b9 100644 --- a/platform/iphone/os_iphone.cpp +++ b/platform/iphone/os_iphone.cpp @@ -45,9 +45,10 @@ #include "core/project_settings.h" #include "drivers/unix/syslog_logger.h" -#include "sem_iphone.h" +#include "semaphore_iphone.h" #include "ios.h" + #include <dlfcn.h> int OSIPhone::get_video_driver_count() const { diff --git a/platform/iphone/power_iphone.h b/platform/iphone/power_iphone.h index eb930b99c5..d7d4bf4a69 100644 --- a/platform/iphone/power_iphone.h +++ b/platform/iphone/power_iphone.h @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef PLATFORM_IPHONE_POWER_IPHONE_H_ -#define PLATFORM_IPHONE_POWER_IPHONE_H_ +#ifndef POWER_IPHONE_H +#define POWER_IPHONE_H #include <os/os.h> @@ -50,4 +50,4 @@ public: int get_power_percent_left(); }; -#endif /* PLATFORM_IPHONE_POWER_IPHONE_H_ */ +#endif // POWER_IPHONE_H diff --git a/platform/iphone/sem_iphone.cpp b/platform/iphone/semaphore_iphone.cpp index 05cdb6a2f7..cc7dde72f7 100644 --- a/platform/iphone/sem_iphone.cpp +++ b/platform/iphone/semaphore_iphone.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* sem_iphone.cpp */ +/* semaphore_iphone.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "sem_iphone.h" +#include "semaphore_iphone.h" #include <fcntl.h> #include <unistd.h> @@ -71,6 +71,7 @@ void cgsem_destroy(cgsem_t *cgsem) { } #include "core/os/memory.h" + #include <errno.h> Error SemaphoreIphone::wait() { diff --git a/platform/iphone/sem_iphone.h b/platform/iphone/semaphore_iphone.h index 134bc723d9..16658384e6 100644 --- a/platform/iphone/sem_iphone.h +++ b/platform/iphone/semaphore_iphone.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* sem_iphone.h */ +/* semaphore_iphone.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef SEM_IPHONE_H -#define SEM_IPHONE_H +#ifndef SEMAPHORE_IPHONE_H +#define SEMAPHORE_IPHONE_H struct cgsem { int pipefd[2]; @@ -56,4 +56,4 @@ public: ~SemaphoreIphone(); }; -#endif +#endif // SEMAPHORE_IPHONE_H diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py index 22b5f1f87a..c3f3946ee0 100644 --- a/platform/javascript/detect.py +++ b/platform/javascript/detect.py @@ -130,7 +130,7 @@ def configure(env): env.Append(LINKFLAGS=['-s', 'ALLOW_MEMORY_GROWTH=1']) # Since we use both memory growth and MEMFS preloading, - # this avoids unecessary copying on start-up. + # this avoids unnecessary copying on start-up. env.Append(LINKFLAGS=['--no-heap-copy']) # This setting just makes WebGL 2 APIs available, it does NOT disable WebGL 1. diff --git a/platform/osx/SCsub b/platform/osx/SCsub index dc407eee9e..d2952ebdc0 100644 --- a/platform/osx/SCsub +++ b/platform/osx/SCsub @@ -10,7 +10,7 @@ files = [ 'crash_handler_osx.mm', 'os_osx.mm', 'godot_main_osx.mm', - 'sem_osx.cpp', + 'semaphore_osx.cpp', 'dir_access_osx.mm', 'joypad_osx.cpp', 'power_osx.cpp', diff --git a/platform/osx/crash_handler_osx.h b/platform/osx/crash_handler_osx.h index dead90ca90..6a72ce8ae9 100644 --- a/platform/osx/crash_handler_osx.h +++ b/platform/osx/crash_handler_osx.h @@ -45,4 +45,4 @@ public: ~CrashHandler(); }; -#endif +#endif // CRASH_HANDLER_OSX_H diff --git a/platform/osx/crash_handler_osx.mm b/platform/osx/crash_handler_osx.mm index 6684898085..ed8a955ae5 100644 --- a/platform/osx/crash_handler_osx.mm +++ b/platform/osx/crash_handler_osx.mm @@ -28,9 +28,11 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +#include "crash_handler_osx.h" + +#include "core/os/os.h" #include "core/project_settings.h" #include "main/main.h" -#include "os_osx.h" #include <string.h> #include <unistd.h> diff --git a/platform/osx/os_osx.h b/platform/osx/os_osx.h index 927c8c9b00..dfe7b27bd0 100644 --- a/platform/osx/os_osx.h +++ b/platform/osx/os_osx.h @@ -34,7 +34,7 @@ #include "core/os/input.h" #include "crash_handler_osx.h" #include "drivers/coreaudio/audio_driver_coreaudio.h" -#include "drivers/coremidi/core_midi.h" +#include "drivers/coremidi/midi_driver_coremidi.h" #include "drivers/unix/os_unix.h" #include "joypad_osx.h" #include "main/input_default.h" @@ -43,6 +43,7 @@ #include "servers/visual/rasterizer.h" #include "servers/visual/visual_server_wrap_mt.h" #include "servers/visual_server.h" + #include <AppKit/AppKit.h> #include <AppKit/NSCursor.h> #include <ApplicationServices/ApplicationServices.h> @@ -132,7 +133,7 @@ public: String im_text; Point2 im_selection; - power_osx *power_manager; + PowerOSX *power_manager; CrashHandler crash_handler; diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm index 6b65c1a529..225e0aee06 100644 --- a/platform/osx/os_osx.mm +++ b/platform/osx/os_osx.mm @@ -37,7 +37,7 @@ #include "drivers/gles2/rasterizer_gles2.h" #include "drivers/gles3/rasterizer_gles3.h" #include "main/main.h" -#include "sem_osx.h" +#include "semaphore_osx.h" #include "servers/visual/visual_server_raster.h" #include <mach-o/dyld.h> @@ -1461,7 +1461,7 @@ Error OS_OSX::initialize(const VideoMode &p_desired, int p_video_driver, int p_a input = memnew(InputDefault); joypad_osx = memnew(JoypadOSX); - power_manager = memnew(power_osx); + power_manager = memnew(PowerOSX); _ensure_user_data_dir(); diff --git a/platform/osx/power_osx.cpp b/platform/osx/power_osx.cpp index a7cf9d831f..04d423d8c5 100644 --- a/platform/osx/power_osx.cpp +++ b/platform/osx/power_osx.cpp @@ -67,7 +67,7 @@ Adapted from corresponding SDL 2.0 code. CFDictionaryGetValueIfPresent(dict, CFSTR(k), (const void **)v) /* Note that AC power sources also include a laptop battery it is charging. */ -void power_osx::checkps(CFDictionaryRef dict, bool *have_ac, bool *have_battery, bool *charging) { +void PowerOSX::checkps(CFDictionaryRef dict, bool *have_ac, bool *have_battery, bool *charging) { CFStringRef strval; /* don't CFRelease() this. */ CFBooleanRef bval; CFNumberRef numval; @@ -169,7 +169,7 @@ void power_osx::checkps(CFDictionaryRef dict, bool *have_ac, bool *have_battery, #undef STRMATCH // CODE CHUNK IMPORTED FROM SDL 2.0 -bool power_osx::GetPowerInfo_MacOSX() { +bool PowerOSX::GetPowerInfo_MacOSX() { CFTypeRef blob = IOPSCopyPowerSourcesInfo(); nsecs_left = -1; @@ -211,14 +211,14 @@ bool power_osx::GetPowerInfo_MacOSX() { return true; /* always the definitive answer on Mac OS X. */ } -bool power_osx::UpdatePowerInfo() { +bool PowerOSX::UpdatePowerInfo() { if (GetPowerInfo_MacOSX()) { return true; } return false; } -OS::PowerState power_osx::get_power_state() { +OS::PowerState PowerOSX::get_power_state() { if (UpdatePowerInfo()) { return power_state; } else { @@ -226,7 +226,7 @@ OS::PowerState power_osx::get_power_state() { } } -int power_osx::get_power_seconds_left() { +int PowerOSX::get_power_seconds_left() { if (UpdatePowerInfo()) { return nsecs_left; } else { @@ -234,7 +234,7 @@ int power_osx::get_power_seconds_left() { } } -int power_osx::get_power_percent_left() { +int PowerOSX::get_power_percent_left() { if (UpdatePowerInfo()) { return percent_left; } else { @@ -242,11 +242,11 @@ int power_osx::get_power_percent_left() { } } -power_osx::power_osx() : +PowerOSX::PowerOSX() : nsecs_left(-1), percent_left(-1), power_state(OS::POWERSTATE_UNKNOWN) { } -power_osx::~power_osx() { +PowerOSX::~PowerOSX() { } diff --git a/platform/osx/power_osx.h b/platform/osx/power_osx.h index 0f18f9f691..40d0d40fd4 100644 --- a/platform/osx/power_osx.h +++ b/platform/osx/power_osx.h @@ -28,15 +28,16 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef PLATFORM_OSX_POWER_OSX_H_ -#define PLATFORM_OSX_POWER_OSX_H_ +#ifndef POWER_OSX_H +#define POWER_OSX_H #include "core/os/file_access.h" #include "core/os/os.h" #include "dir_access_osx.h" + #include <CoreFoundation/CoreFoundation.h> -class power_osx { +class PowerOSX { private: int nsecs_left; @@ -47,12 +48,12 @@ private: bool UpdatePowerInfo(); public: - power_osx(); - virtual ~power_osx(); + PowerOSX(); + virtual ~PowerOSX(); OS::PowerState get_power_state(); int get_power_seconds_left(); int get_power_percent_left(); }; -#endif /* PLATFORM_OSX_POWER_OSX_H_ */ +#endif // POWER_OSX_H diff --git a/platform/osx/sem_osx.cpp b/platform/osx/semaphore_osx.cpp index 4c3bad4379..fe7d19bd9e 100644 --- a/platform/osx/sem_osx.cpp +++ b/platform/osx/semaphore_osx.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* sem_osx.cpp */ +/* semaphore_osx.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "sem_osx.h" +#include "semaphore_osx.h" #include <fcntl.h> #include <unistd.h> @@ -66,6 +66,7 @@ void cgsem_destroy(cgsem_t *cgsem) { } #include "core/os/memory.h" + #include <errno.h> Error SemaphoreOSX::wait() { diff --git a/platform/osx/sem_osx.h b/platform/osx/semaphore_osx.h index 563bdfdcb1..c8e7c45227 100644 --- a/platform/osx/sem_osx.h +++ b/platform/osx/semaphore_osx.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* sem_osx.h */ +/* semaphore_osx.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef SEM_OSX_H -#define SEM_OSX_H +#ifndef SEMAPHORE_OSX_H +#define SEMAPHORE_OSX_H struct cgsem { int pipefd[2]; @@ -56,4 +56,4 @@ public: ~SemaphoreOSX(); }; -#endif +#endif // SEMAPHORE_OSX_H diff --git a/platform/server/SCsub b/platform/server/SCsub index 51fd05a87e..62d45efbc0 100644 --- a/platform/server/SCsub +++ b/platform/server/SCsub @@ -13,7 +13,7 @@ common_server = [\ if sys.platform == "darwin": common_server.append("#platform/osx/crash_handler_osx.mm") common_server.append("#platform/osx/power_osx.cpp") - common_server.append("#platform/osx/sem_osx.cpp") + common_server.append("#platform/osx/semaphore_osx.cpp") else: common_server.append("#platform/x11/crash_handler_x11.cpp") common_server.append("#platform/x11/power_x11.cpp") diff --git a/platform/server/os_server.cpp b/platform/server/os_server.cpp index 9b6e7864e1..e643d3e8bb 100644 --- a/platform/server/os_server.cpp +++ b/platform/server/os_server.cpp @@ -93,7 +93,7 @@ Error OS_Server::initialize(const VideoMode &p_desired, int p_video_driver, int input = memnew(InputDefault); #ifdef __APPLE__ - power_manager = memnew(power_osx); + power_manager = memnew(PowerOSX); #else power_manager = memnew(PowerX11); #endif diff --git a/platform/server/os_server.h b/platform/server/os_server.h index 7273a690ca..312b5811d1 100644 --- a/platform/server/os_server.h +++ b/platform/server/os_server.h @@ -38,7 +38,7 @@ #ifdef __APPLE__ #include "platform/osx/crash_handler_osx.h" #include "platform/osx/power_osx.h" -#include "platform/osx/sem_osx.h" +#include "platform/osx/semaphore_osx.h" #else #include "platform/x11/crash_handler_x11.h" #include "platform/x11/power_x11.h" @@ -69,7 +69,7 @@ class OS_Server : public OS_Unix { InputDefault *input; #ifdef __APPLE__ - power_osx *power_manager; + PowerOSX *power_manager; #else PowerX11 *power_manager; #endif diff --git a/platform/uwp/SCsub b/platform/uwp/SCsub index fb0c4a92ae..c14290f0c4 100644 --- a/platform/uwp/SCsub +++ b/platform/uwp/SCsub @@ -4,11 +4,11 @@ Import('env') files = [ 'thread_uwp.cpp', - '#platform/windows/key_mapping_win.cpp', + '#platform/windows/key_mapping_windows.cpp', '#platform/windows/windows_terminal_logger.cpp', 'joypad_uwp.cpp', 'power_uwp.cpp', - 'gl_context_egl.cpp', + 'context_egl_uwp.cpp', 'app.cpp', 'os_uwp.cpp', ] diff --git a/platform/uwp/app.cpp b/platform/uwp/app.cpp index 1b8f9f3f9e..4f2ee0237a 100644 --- a/platform/uwp/app.cpp +++ b/platform/uwp/app.cpp @@ -39,7 +39,7 @@ #include "core/os/keyboard.h" #include "main/main.h" -#include "platform/windows/key_mapping_win.h" +#include "platform/windows/key_mapping_windows.h" #include <collection.h> @@ -99,7 +99,7 @@ void App::Initialize(CoreApplicationView ^ applicationView) { // Information about the Suspending and Resuming event handlers can be found here: // http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh994930.aspx - os = new OSUWP; + os = new OS_UWP; } // Called when the CoreWindow object is created (or re-created). @@ -398,7 +398,7 @@ void App::OnMouseMoved(MouseDevice ^ mouse_device, MouseEventArgs ^ args) { void App::key_event(Windows::UI::Core::CoreWindow ^ sender, bool p_pressed, Windows::UI::Core::KeyEventArgs ^ key_args, Windows::UI::Core::CharacterReceivedEventArgs ^ char_args) { - OSUWP::KeyEvent ke; + OS_UWP::KeyEvent ke; ke.control = sender->GetAsyncKeyState(VirtualKey::Control) == CoreVirtualKeyStates::Down; ke.alt = sender->GetAsyncKeyState(VirtualKey::Menu) == CoreVirtualKeyStates::Down; @@ -408,14 +408,14 @@ void App::key_event(Windows::UI::Core::CoreWindow ^ sender, bool p_pressed, Wind if (key_args != nullptr) { - ke.type = OSUWP::KeyEvent::MessageType::KEY_EVENT_MESSAGE; + ke.type = OS_UWP::KeyEvent::MessageType::KEY_EVENT_MESSAGE; ke.unicode = 0; ke.scancode = KeyMappingWindows::get_keysym((unsigned int)key_args->VirtualKey); ke.echo = (!p_pressed && !key_args->KeyStatus.IsKeyReleased) || (p_pressed && key_args->KeyStatus.WasKeyDown); } else { - ke.type = OSUWP::KeyEvent::MessageType::CHAR_EVENT_MESSAGE; + ke.type = OS_UWP::KeyEvent::MessageType::CHAR_EVENT_MESSAGE; ke.unicode = char_args->KeyCode; ke.scancode = 0; ke.echo = (!p_pressed && !char_args->KeyStatus.IsKeyReleased) || (p_pressed && char_args->KeyStatus.WasKeyDown); diff --git a/platform/uwp/app.h b/platform/uwp/app.h index d403dace9d..0bd996d483 100644 --- a/platform/uwp/app.h +++ b/platform/uwp/app.h @@ -103,7 +103,7 @@ namespace GodotUWP EGLSurface mEglSurface; CoreWindow^ window; - OSUWP* os; + OS_UWP* os; int last_touch_x[32]; // 20 fingers, index 31 reserved for the mouse int last_touch_y[32]; diff --git a/platform/uwp/gl_context_egl.cpp b/platform/uwp/context_egl_uwp.cpp index db15be3e06..061c54687c 100644 --- a/platform/uwp/gl_context_egl.cpp +++ b/platform/uwp/context_egl_uwp.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* gl_context_egl.cpp */ +/* context_egl_uwp.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,33 +28,33 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "gl_context_egl.h" +#include "context_egl_uwp.h" #include "EGL/eglext.h" using Platform::Exception; -void ContextEGL::release_current() { +void ContextEGL_UWP::release_current() { eglMakeCurrent(mEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, mEglContext); }; -void ContextEGL::make_current() { +void ContextEGL_UWP::make_current() { eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext); }; -int ContextEGL::get_window_width() { +int ContextEGL_UWP::get_window_width() { return width; }; -int ContextEGL::get_window_height() { +int ContextEGL_UWP::get_window_height() { return height; }; -void ContextEGL::reset() { +void ContextEGL_UWP::reset() { cleanup(); @@ -62,7 +62,7 @@ void ContextEGL::reset() { initialize(); }; -void ContextEGL::swap_buffers() { +void ContextEGL_UWP::swap_buffers() { if (eglSwapBuffers(mEglDisplay, mEglSurface) != EGL_TRUE) { cleanup(); @@ -74,7 +74,7 @@ void ContextEGL::swap_buffers() { } }; -Error ContextEGL::initialize() { +Error ContextEGL_UWP::initialize() { EGLint configAttribList[] = { EGL_RED_SIZE, 8, @@ -190,7 +190,7 @@ Error ContextEGL::initialize() { return OK; }; -void ContextEGL::cleanup() { +void ContextEGL_UWP::cleanup() { if (mEglDisplay != EGL_NO_DISPLAY && mEglSurface != EGL_NO_SURFACE) { eglDestroySurface(mEglDisplay, mEglSurface); @@ -208,14 +208,14 @@ void ContextEGL::cleanup() { } }; -ContextEGL::ContextEGL(CoreWindow ^ p_window, Driver p_driver) : +ContextEGL_UWP::ContextEGL_UWP(CoreWindow ^ p_window, Driver p_driver) : mEglDisplay(EGL_NO_DISPLAY), mEglContext(EGL_NO_CONTEXT), mEglSurface(EGL_NO_SURFACE), driver(p_driver), window(p_window) {} -ContextEGL::~ContextEGL() { +ContextEGL_UWP::~ContextEGL_UWP() { cleanup(); }; diff --git a/platform/uwp/gl_context_egl.h b/platform/uwp/context_egl_uwp.h index 60feed2e24..812bdfb688 100644 --- a/platform/uwp/gl_context_egl.h +++ b/platform/uwp/context_egl_uwp.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* gl_context_egl.h */ +/* context_egl_uwp.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,19 +28,20 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef CONTEXT_EGL_H -#define CONTEXT_EGL_H +#ifndef CONTEXT_EGL_UWP_H +#define CONTEXT_EGL_UWP_H #include <wrl.h> -#include "EGL/egl.h" +#include <EGL/egl.h> + #include "core/error_list.h" #include "core/os/os.h" #include "drivers/gl_context/context_gl.h" using namespace Windows::UI::Core; -class ContextEGL : public ContextGL { +class ContextEGL_UWP : public ContextGL { public: enum Driver { @@ -79,8 +80,8 @@ public: void cleanup(); - ContextEGL(CoreWindow ^ p_window, Driver p_driver); - virtual ~ContextEGL(); + ContextEGL_UWP(CoreWindow ^ p_window, Driver p_driver); + virtual ~ContextEGL_UWP(); }; -#endif +#endif // CONTEXT_EGL_UWP_H diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp index 6808016f13..a4655117a7 100644 --- a/platform/uwp/export/export.cpp +++ b/platform/uwp/export/export.cpp @@ -646,9 +646,9 @@ AppxPackager::~AppxPackager() {} //////////////////////////////////////////////////////////////////// -class EditorExportUWP : public EditorExportPlatform { +class EditorExportPlatformUWP : public EditorExportPlatform { - GDCLASS(EditorExportUWP, EditorExportPlatform); + GDCLASS(EditorExportPlatformUWP, EditorExportPlatform); Ref<ImageTexture> logo; @@ -1035,13 +1035,13 @@ public: r_features->push_back("s3tc"); r_features->push_back("etc"); switch ((int)p_preset->get("architecture/target")) { - case EditorExportUWP::ARM: { + case EditorExportPlatformUWP::ARM: { r_features->push_back("arm"); } break; - case EditorExportUWP::X86: { + case EditorExportPlatformUWP::X86: { r_features->push_back("32"); } break; - case EditorExportUWP::X64: { + case EditorExportPlatformUWP::X64: { r_features->push_back("64"); } break; } @@ -1123,13 +1123,13 @@ public: String platform_infix; switch (arch) { - case EditorExportUWP::ARM: { + case EditorExportPlatformUWP::ARM: { platform_infix = "arm"; } break; - case EditorExportUWP::X86: { + case EditorExportPlatformUWP::X86: { platform_infix = "x86"; } break; - case EditorExportUWP::X64: { + case EditorExportPlatformUWP::X64: { platform_infix = "x64"; } break; } @@ -1459,7 +1459,7 @@ public: virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) { } - EditorExportUWP() { + EditorExportPlatformUWP() { Ref<Image> img = memnew(Image(_uwp_logo)); logo.instance(); logo->create_from_image(img); @@ -1478,7 +1478,7 @@ void register_uwp_exporter() { 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; + Ref<EditorExportPlatformUWP> exporter; exporter.instance(); EditorExport::get_singleton()->add_export_platform(exporter); } diff --git a/platform/uwp/os_uwp.cpp b/platform/uwp/os_uwp.cpp index ea4f63b49c..520e179611 100644 --- a/platform/uwp/os_uwp.cpp +++ b/platform/uwp/os_uwp.cpp @@ -67,22 +67,22 @@ using namespace Windows::Devices::Sensors; using namespace Windows::ApplicationModel::DataTransfer; using namespace concurrency; -int OSUWP::get_video_driver_count() const { +int OS_UWP::get_video_driver_count() const { return 2; } -Size2 OSUWP::get_window_size() const { +Size2 OS_UWP::get_window_size() const { Size2 size; size.width = video_mode.width; size.height = video_mode.height; return size; } -int OSUWP::get_current_video_driver() const { +int OS_UWP::get_current_video_driver() const { return video_driver_index; } -void OSUWP::set_window_size(const Size2 p_size) { +void OS_UWP::set_window_size(const Size2 p_size) { Windows::Foundation::Size new_size; new_size.Width = p_size.width; @@ -97,7 +97,7 @@ void OSUWP::set_window_size(const Size2 p_size) { } } -void OSUWP::set_window_fullscreen(bool p_enabled) { +void OS_UWP::set_window_fullscreen(bool p_enabled) { ApplicationView ^ view = ApplicationView::GetForCurrentView(); @@ -117,12 +117,12 @@ void OSUWP::set_window_fullscreen(bool p_enabled) { } } -bool OSUWP::is_window_fullscreen() const { +bool OS_UWP::is_window_fullscreen() const { return ApplicationView::GetForCurrentView()->IsFullScreenMode; } -void OSUWP::set_keep_screen_on(bool p_enabled) { +void OS_UWP::set_keep_screen_on(bool p_enabled) { if (is_keep_screen_on() == p_enabled) return; @@ -134,7 +134,7 @@ void OSUWP::set_keep_screen_on(bool p_enabled) { OS::set_keep_screen_on(p_enabled); } -void OSUWP::initialize_core() { +void OS_UWP::initialize_core() { last_button_state = 0; @@ -167,36 +167,36 @@ void OSUWP::initialize_core() { cursor_shape = CURSOR_ARROW; } -bool OSUWP::can_draw() const { +bool OS_UWP::can_draw() const { return !minimized; }; -void OSUWP::set_window(Windows::UI::Core::CoreWindow ^ p_window) { +void OS_UWP::set_window(Windows::UI::Core::CoreWindow ^ p_window) { window = p_window; } -void OSUWP::screen_size_changed() { +void OS_UWP::screen_size_changed() { gl_context->reset(); }; -Error OSUWP::initialize(const VideoMode &p_desired, int p_video_driver, int p_audio_driver) { +Error OS_UWP::initialize(const VideoMode &p_desired, int p_video_driver, int p_audio_driver) { main_loop = NULL; outside = true; - ContextEGL::Driver opengl_api_type = ContextEGL::GLES_2_0; + ContextEGL_UWP::Driver opengl_api_type = ContextEGL_UWP::GLES_2_0; if (p_video_driver == VIDEO_DRIVER_GLES2) { - opengl_api_type = ContextEGL::GLES_2_0; + opengl_api_type = ContextEGL_UWP::GLES_2_0; } bool gl_initialization_error = false; gl_context = NULL; while (!gl_context) { - gl_context = memnew(ContextEGL(window, opengl_api_type)); + gl_context = memnew(ContextEGL_UWP(window, opengl_api_type)); if (gl_context->initialize() != OK) { memdelete(gl_context); @@ -209,7 +209,7 @@ Error OSUWP::initialize(const VideoMode &p_desired, int p_video_driver, int p_au } p_video_driver = VIDEO_DRIVER_GLES2; - opengl_api_type = ContextEGL::GLES_2_0; + opengl_api_type = ContextEGL_UWP::GLES_2_0; } else { gl_initialization_error = true; break; @@ -218,7 +218,7 @@ Error OSUWP::initialize(const VideoMode &p_desired, int p_video_driver, int p_au } while (true) { - if (opengl_api_type == ContextEGL::GLES_3_0) { + if (opengl_api_type == ContextEGL_UWP::GLES_3_0) { if (RasterizerGLES3::is_viable() == OK) { RasterizerGLES3::register_config(); RasterizerGLES3::make_current(); @@ -226,7 +226,7 @@ Error OSUWP::initialize(const VideoMode &p_desired, int p_video_driver, int p_au } else { if (GLOBAL_GET("rendering/quality/driver/driver_fallback") == "Best") { p_video_driver = VIDEO_DRIVER_GLES2; - opengl_api_type = ContextEGL::GLES_2_0; + opengl_api_type = ContextEGL_UWP::GLES_2_0; continue; } else { gl_initialization_error = true; @@ -235,7 +235,7 @@ Error OSUWP::initialize(const VideoMode &p_desired, int p_video_driver, int p_au } } - if (opengl_api_type == ContextEGL::GLES_2_0) { + if (opengl_api_type == ContextEGL_UWP::GLES_2_0) { if (RasterizerGLES2::is_viable() == OK) { RasterizerGLES2::register_config(); RasterizerGLES2::make_current(); @@ -349,7 +349,7 @@ Error OSUWP::initialize(const VideoMode &p_desired, int p_video_driver, int p_au return OK; } -void OSUWP::set_clipboard(const String &p_text) { +void OS_UWP::set_clipboard(const String &p_text) { DataPackage ^ clip = ref new DataPackage(); clip->RequestedOperation = DataPackageOperation::Copy; @@ -358,7 +358,7 @@ void OSUWP::set_clipboard(const String &p_text) { Clipboard::SetContent(clip); }; -String OSUWP::get_clipboard() const { +String OS_UWP::get_clipboard() const { if (managed_object->clipboard != nullptr) return managed_object->clipboard->Data(); @@ -366,25 +366,25 @@ String OSUWP::get_clipboard() const { return ""; }; -void OSUWP::input_event(const Ref<InputEvent> &p_event) { +void OS_UWP::input_event(const Ref<InputEvent> &p_event) { input->parse_input_event(p_event); }; -void OSUWP::delete_main_loop() { +void OS_UWP::delete_main_loop() { if (main_loop) memdelete(main_loop); main_loop = NULL; } -void OSUWP::set_main_loop(MainLoop *p_main_loop) { +void OS_UWP::set_main_loop(MainLoop *p_main_loop) { input->set_main_loop(p_main_loop); main_loop = p_main_loop; } -void OSUWP::finalize() { +void OS_UWP::finalize() { if (main_loop) memdelete(main_loop); @@ -403,19 +403,19 @@ void OSUWP::finalize() { joypad = nullptr; } -void OSUWP::finalize_core() { +void OS_UWP::finalize_core() { NetSocketPosix::cleanup(); } -void OSUWP::alert(const String &p_alert, const String &p_title) { +void OS_UWP::alert(const String &p_alert, const String &p_title) { Platform::String ^ alert = ref new Platform::String(p_alert.c_str()); Platform::String ^ title = ref new Platform::String(p_title.c_str()); MessageDialog ^ msg = ref new MessageDialog(alert, title); - UICommand ^ close = ref new UICommand("Close", ref new UICommandInvokedHandler(managed_object, &OSUWP::ManagedType::alert_close)); + UICommand ^ close = ref new UICommand("Close", ref new UICommandInvokedHandler(managed_object, &OS_UWP::ManagedType::alert_close)); msg->Commands->Append(close); msg->DefaultCommandIndex = 0; @@ -424,17 +424,17 @@ void OSUWP::alert(const String &p_alert, const String &p_title) { msg->ShowAsync(); } -void OSUWP::ManagedType::alert_close(IUICommand ^ command) { +void OS_UWP::ManagedType::alert_close(IUICommand ^ command) { alert_close_handle = false; } -void OSUWP::ManagedType::on_clipboard_changed(Platform::Object ^ sender, Platform::Object ^ ev) { +void OS_UWP::ManagedType::on_clipboard_changed(Platform::Object ^ sender, Platform::Object ^ ev) { update_clipboard(); } -void OSUWP::ManagedType::update_clipboard() { +void OS_UWP::ManagedType::update_clipboard() { DataPackageView ^ data = Clipboard::GetContent(); @@ -446,7 +446,7 @@ void OSUWP::ManagedType::update_clipboard() { } } -void OSUWP::ManagedType::on_accelerometer_reading_changed(Accelerometer ^ sender, AccelerometerReadingChangedEventArgs ^ args) { +void OS_UWP::ManagedType::on_accelerometer_reading_changed(Accelerometer ^ sender, AccelerometerReadingChangedEventArgs ^ args) { AccelerometerReading ^ reading = args->Reading; @@ -456,7 +456,7 @@ void OSUWP::ManagedType::on_accelerometer_reading_changed(Accelerometer ^ sender reading->AccelerationZ)); } -void OSUWP::ManagedType::on_magnetometer_reading_changed(Magnetometer ^ sender, MagnetometerReadingChangedEventArgs ^ args) { +void OS_UWP::ManagedType::on_magnetometer_reading_changed(Magnetometer ^ sender, MagnetometerReadingChangedEventArgs ^ args) { MagnetometerReading ^ reading = args->Reading; @@ -466,7 +466,7 @@ void OSUWP::ManagedType::on_magnetometer_reading_changed(Magnetometer ^ sender, reading->MagneticFieldZ)); } -void OSUWP::ManagedType::on_gyroscope_reading_changed(Gyrometer ^ sender, GyrometerReadingChangedEventArgs ^ args) { +void OS_UWP::ManagedType::on_gyroscope_reading_changed(Gyrometer ^ sender, GyrometerReadingChangedEventArgs ^ args) { GyrometerReading ^ reading = args->Reading; @@ -476,7 +476,7 @@ void OSUWP::ManagedType::on_gyroscope_reading_changed(Gyrometer ^ sender, Gyrome reading->AngularVelocityZ)); } -void OSUWP::set_mouse_mode(MouseMode p_mode) { +void OS_UWP::set_mouse_mode(MouseMode p_mode) { if (p_mode == MouseMode::MOUSE_MODE_CAPTURED) { @@ -501,41 +501,41 @@ void OSUWP::set_mouse_mode(MouseMode p_mode) { SetEvent(mouse_mode_changed); } -OSUWP::MouseMode OSUWP::get_mouse_mode() const { +OS_UWP::MouseMode OS_UWP::get_mouse_mode() const { return mouse_mode; } -Point2 OSUWP::get_mouse_position() const { +Point2 OS_UWP::get_mouse_position() const { return Point2(old_x, old_y); } -int OSUWP::get_mouse_button_state() const { +int OS_UWP::get_mouse_button_state() const { return last_button_state; } -void OSUWP::set_window_title(const String &p_title) { +void OS_UWP::set_window_title(const String &p_title) { } -void OSUWP::set_video_mode(const VideoMode &p_video_mode, int p_screen) { +void OS_UWP::set_video_mode(const VideoMode &p_video_mode, int p_screen) { video_mode = p_video_mode; } -OS::VideoMode OSUWP::get_video_mode(int p_screen) const { +OS::VideoMode OS_UWP::get_video_mode(int p_screen) const { return video_mode; } -void OSUWP::get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen) const { +void OS_UWP::get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen) const { } -String OSUWP::get_name() { +String OS_UWP::get_name() { return "UWP"; } -OS::Date OSUWP::get_date(bool utc) const { +OS::Date OS_UWP::get_date(bool utc) const { SYSTEMTIME systemtime; if (utc) @@ -551,7 +551,7 @@ OS::Date OSUWP::get_date(bool utc) const { date.dst = false; return date; } -OS::Time OSUWP::get_time(bool utc) const { +OS::Time OS_UWP::get_time(bool utc) const { SYSTEMTIME systemtime; if (utc) @@ -566,7 +566,7 @@ OS::Time OSUWP::get_time(bool utc) const { return time; } -OS::TimeZoneInfo OSUWP::get_time_zone_info() const { +OS::TimeZoneInfo OS_UWP::get_time_zone_info() const { TIME_ZONE_INFORMATION info; bool daylight = false; if (GetTimeZoneInformation(&info) == TIME_ZONE_ID_DAYLIGHT) @@ -579,11 +579,13 @@ OS::TimeZoneInfo OSUWP::get_time_zone_info() const { ret.name = info.StandardName; } - ret.bias = info.Bias; + // Bias value returned by GetTimeZoneInformation is inverted of what we expect + // For example on GMT-3 GetTimeZoneInformation return a Bias of 180, so invert the value to get -180 + ret.bias = -info.Bias; return ret; } -uint64_t OSUWP::get_unix_time() const { +uint64_t OS_UWP::get_unix_time() const { FILETIME ft; SYSTEMTIME st; @@ -605,14 +607,14 @@ uint64_t OSUWP::get_unix_time() const { return (*(uint64_t *)&ft - *(uint64_t *)&fep) / 10000000; }; -void OSUWP::delay_usec(uint32_t p_usec) const { +void OS_UWP::delay_usec(uint32_t p_usec) const { int msec = p_usec < 1000 ? 1 : p_usec / 1000; // no Sleep() WaitForSingleObjectEx(GetCurrentThread(), msec, false); } -uint64_t OSUWP::get_ticks_usec() const { +uint64_t OS_UWP::get_ticks_usec() const { uint64_t ticks; uint64_t time; @@ -626,13 +628,13 @@ uint64_t OSUWP::get_ticks_usec() const { return time; } -void OSUWP::process_events() { +void OS_UWP::process_events() { joypad->process_controllers(); process_key_events(); } -void OSUWP::process_key_events() { +void OS_UWP::process_key_events() { for (int i = 0; i < key_event_pos; i++) { @@ -653,7 +655,7 @@ void OSUWP::process_key_events() { key_event_pos = 0; } -void OSUWP::queue_key_event(KeyEvent &p_event) { +void OS_UWP::queue_key_event(KeyEvent &p_event) { // This merges Char events with the previous Key event, so // the unicode can be retrieved without sending duplicate events. if (p_event.type == KeyEvent::MessageType::CHAR_EVENT_MESSAGE && key_event_pos > 0) { @@ -670,7 +672,7 @@ void OSUWP::queue_key_event(KeyEvent &p_event) { key_event_buffer[key_event_pos++] = p_event; } -void OSUWP::set_cursor_shape(CursorShape p_shape) { +void OS_UWP::set_cursor_shape(CursorShape p_shape) { ERR_FAIL_INDEX(p_shape, CURSOR_MAX); @@ -702,62 +704,62 @@ 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) { +void OS_UWP::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) { +Error OS_UWP::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; }; -Error OSUWP::kill(const ProcessID &p_pid) { +Error OS_UWP::kill(const ProcessID &p_pid) { return FAILED; }; -Error OSUWP::set_cwd(const String &p_cwd) { +Error OS_UWP::set_cwd(const String &p_cwd) { return FAILED; } -String OSUWP::get_executable_path() const { +String OS_UWP::get_executable_path() const { return ""; } -void OSUWP::set_icon(const Ref<Image> &p_icon) { +void OS_UWP::set_icon(const Ref<Image> &p_icon) { } -bool OSUWP::has_environment(const String &p_var) const { +bool OS_UWP::has_environment(const String &p_var) const { return false; }; -String OSUWP::get_environment(const String &p_var) const { +String OS_UWP::get_environment(const String &p_var) const { return ""; }; -bool OSUWP::set_environment(const String &p_var, const String &p_value) const { +bool OS_UWP::set_environment(const String &p_var, const String &p_value) const { return false; } -String OSUWP::get_stdin_string(bool p_block) { +String OS_UWP::get_stdin_string(bool p_block) { return String(); } -void OSUWP::move_window_to_foreground() { +void OS_UWP::move_window_to_foreground() { } -Error OSUWP::shell_open(String p_uri) { +Error OS_UWP::shell_open(String p_uri) { return FAILED; } -String OSUWP::get_locale() const { +String OS_UWP::get_locale() const { #if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP // this should work on phone 8.1, but it doesn't return "en"; @@ -767,39 +769,39 @@ String OSUWP::get_locale() const { #endif } -void OSUWP::release_rendering_thread() { +void OS_UWP::release_rendering_thread() { gl_context->release_current(); } -void OSUWP::make_rendering_thread() { +void OS_UWP::make_rendering_thread() { gl_context->make_current(); } -void OSUWP::swap_buffers() { +void OS_UWP::swap_buffers() { gl_context->swap_buffers(); } -bool OSUWP::has_touchscreen_ui_hint() const { +bool OS_UWP::has_touchscreen_ui_hint() const { TouchCapabilities ^ tc = ref new TouchCapabilities(); return tc->TouchPresent != 0 || UIViewSettings::GetForCurrentView()->UserInteractionMode == UserInteractionMode::Touch; } -bool OSUWP::has_virtual_keyboard() const { +bool OS_UWP::has_virtual_keyboard() const { return UIViewSettings::GetForCurrentView()->UserInteractionMode == UserInteractionMode::Touch; } -void OSUWP::show_virtual_keyboard(const String &p_existing_text, const Rect2 &p_screen_rect) { +void OS_UWP::show_virtual_keyboard(const String &p_existing_text, const Rect2 &p_screen_rect) { InputPane ^ pane = InputPane::GetForCurrentView(); pane->TryShow(); } -void OSUWP::hide_virtual_keyboard() { +void OS_UWP::hide_virtual_keyboard() { InputPane ^ pane = InputPane::GetForCurrentView(); pane->TryHide(); @@ -818,7 +820,7 @@ static String format_error_message(DWORD id) { return msg; } -Error OSUWP::open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path) { +Error OS_UWP::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); @@ -830,14 +832,14 @@ Error OSUWP::open_dynamic_library(const String p_path, void *&p_library_handle, return OK; } -Error OSUWP::close_dynamic_library(void *p_library_handle) { +Error OS_UWP::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) { +Error OS_UWP::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) { @@ -850,7 +852,7 @@ Error OSUWP::get_dynamic_library_symbol_handle(void *p_library_handle, const Str return OK; } -void OSUWP::run() { +void OS_UWP::run() { if (!main_loop) return; @@ -874,35 +876,35 @@ void OSUWP::run() { main_loop->finish(); } -MainLoop *OSUWP::get_main_loop() const { +MainLoop *OS_UWP::get_main_loop() const { return main_loop; } -String OSUWP::get_user_data_dir() const { +String OS_UWP::get_user_data_dir() const { Windows::Storage::StorageFolder ^ data_folder = Windows::Storage::ApplicationData::Current->LocalFolder; return String(data_folder->Path->Data()).replace("\\", "/"); } -bool OSUWP::_check_internal_feature_support(const String &p_feature) { +bool OS_UWP::_check_internal_feature_support(const String &p_feature) { return p_feature == "pc" || p_feature == "s3tc"; } -OS::PowerState OSUWP::get_power_state() { +OS::PowerState OS_UWP::get_power_state() { return power_manager->get_power_state(); } -int OSUWP::get_power_seconds_left() { +int OS_UWP::get_power_seconds_left() { return power_manager->get_power_seconds_left(); } -int OSUWP::get_power_percent_left() { +int OS_UWP::get_power_percent_left() { return power_manager->get_power_percent_left(); } -OSUWP::OSUWP() { +OS_UWP::OS_UWP() { key_event_pos = 0; force_quit = false; @@ -936,7 +938,7 @@ OSUWP::OSUWP() { _set_logger(memnew(CompositeLogger(loggers))); } -OSUWP::~OSUWP() { +OS_UWP::~OS_UWP() { #ifdef STDOUT_FILE fclose(stdo); #endif diff --git a/platform/uwp/os_uwp.h b/platform/uwp/os_uwp.h index 5475c4e60a..fd78b3cdf7 100644 --- a/platform/uwp/os_uwp.h +++ b/platform/uwp/os_uwp.h @@ -28,15 +28,15 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef OSUWP_H -#define OSUWP_H +#ifndef OS_UWP_H +#define OS_UWP_H +#include "context_egl_uwp.h" #include "core/math/transform_2d.h" #include "core/os/input.h" #include "core/os/os.h" #include "core/ustring.h" #include "drivers/xaudio2/audio_driver_xaudio2.h" -#include "gl_context_egl.h" #include "joypad_uwp.h" #include "main/input_default.h" #include "power_uwp.h" @@ -52,7 +52,7 @@ /** @author Juan Linietsky <reduzio@gmail.com> */ -class OSUWP : public OS { +class OS_UWP : public OS { public: struct KeyEvent { @@ -95,7 +95,7 @@ private: VisualServer *visual_server; int pressrc; - ContextEGL *gl_context; + ContextEGL_UWP *gl_context; Windows::UI::Core::CoreWindow ^ window; VideoMode video_mode; @@ -144,7 +144,7 @@ private: /* clang-format off */ internal: ManagedType() { alert_close_handle = false; } - property OSUWP* os; + property OS_UWP* os; /* clang-format on */ }; ManagedType ^ managed_object; @@ -262,8 +262,8 @@ public: void queue_key_event(KeyEvent &p_event); - OSUWP(); - ~OSUWP(); + OS_UWP(); + ~OS_UWP(); }; #endif diff --git a/platform/uwp/power_uwp.h b/platform/uwp/power_uwp.h index d6623f9340..cc19904a62 100644 --- a/platform/uwp/power_uwp.h +++ b/platform/uwp/power_uwp.h @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef PLATFORM_UWP_POWER_UWP_H_ -#define PLATFORM_UWP_POWER_UWP_H_ +#ifndef POWER_UWP_H +#define POWER_UWP_H #include "core/os/dir_access.h" #include "core/os/file_access.h" @@ -53,4 +53,4 @@ public: int get_power_percent_left(); }; -#endif /* PLATFORM_UWP_POWER_UWP_H_ */ +#endif // POWER_UWP_H diff --git a/platform/windows/SCsub b/platform/windows/SCsub index e07d373c4b..892d734734 100644 --- a/platform/windows/SCsub +++ b/platform/windows/SCsub @@ -7,13 +7,12 @@ from platform_methods import run_in_subprocess import platform_windows_builders common_win = [ - "godot_win.cpp", - "context_gl_win.cpp", - "crash_handler_win.cpp", + "godot_windows.cpp", + "context_gl_windows.cpp", + "crash_handler_windows.cpp", "os_windows.cpp", - "ctxgl_procaddr.cpp", - "key_mapping_win.cpp", - "joypad.cpp", + "key_mapping_windows.cpp", + "joypad_windows.cpp", "power_windows.cpp", "windows_terminal_logger.cpp" ] diff --git a/platform/windows/context_gl_win.cpp b/platform/windows/context_gl_windows.cpp index 9d267c699f..e715999378 100644 --- a/platform/windows/context_gl_win.cpp +++ b/platform/windows/context_gl_windows.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* context_gl_win.cpp */ +/* context_gl_windows.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -32,7 +32,7 @@ // Author: Juan Linietsky <reduzio@gmail.com>, (C) 2008 -#include "context_gl_win.h" +#include "context_gl_windows.h" #define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 #define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 @@ -43,32 +43,32 @@ typedef HGLRC(APIENTRY *PFNWGLCREATECONTEXTATTRIBSARBPROC)(HDC, HGLRC, const int *); -void ContextGL_Win::release_current() { +void ContextGL_Windows::release_current() { wglMakeCurrent(hDC, NULL); } -void ContextGL_Win::make_current() { +void ContextGL_Windows::make_current() { wglMakeCurrent(hDC, hRC); } -int ContextGL_Win::get_window_width() { +int ContextGL_Windows::get_window_width() { return OS::get_singleton()->get_video_mode().width; } -int ContextGL_Win::get_window_height() { +int ContextGL_Windows::get_window_height() { return OS::get_singleton()->get_video_mode().height; } -void ContextGL_Win::swap_buffers() { +void ContextGL_Windows::swap_buffers() { SwapBuffers(hDC); } -void ContextGL_Win::set_use_vsync(bool p_use) { +void ContextGL_Windows::set_use_vsync(bool p_use) { if (wglSwapIntervalEXT) { wglSwapIntervalEXT(p_use ? 1 : 0); @@ -76,14 +76,14 @@ void ContextGL_Win::set_use_vsync(bool p_use) { use_vsync = p_use; } -bool ContextGL_Win::is_using_vsync() const { +bool ContextGL_Windows::is_using_vsync() const { return use_vsync; } #define _WGL_CONTEXT_DEBUG_BIT_ARB 0x0001 -Error ContextGL_Win::initialize() { +Error ContextGL_Windows::initialize() { static PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), // Size Of This Pixel Format Descriptor @@ -172,14 +172,14 @@ Error ContextGL_Win::initialize() { return OK; } -ContextGL_Win::ContextGL_Win(HWND hwnd, bool p_opengl_3_context) { +ContextGL_Windows::ContextGL_Windows(HWND hwnd, bool p_opengl_3_context) { opengl_3_context = p_opengl_3_context; hWnd = hwnd; use_vsync = false; } -ContextGL_Win::~ContextGL_Win() { +ContextGL_Windows::~ContextGL_Windows() { } #endif diff --git a/platform/windows/context_gl_win.h b/platform/windows/context_gl_windows.h index 3076bbb1e8..09801b9146 100644 --- a/platform/windows/context_gl_win.h +++ b/platform/windows/context_gl_windows.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* context_gl_win.h */ +/* context_gl_windows.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -43,7 +43,7 @@ typedef bool(APIENTRY *PFNWGLSWAPINTERVALEXTPROC)(int interval); -class ContextGL_Win : public ContextGL { +class ContextGL_Windows : public ContextGL { HDC hDC; HGLRC hRC; @@ -68,8 +68,8 @@ public: virtual void set_use_vsync(bool p_use); virtual bool is_using_vsync() const; - ContextGL_Win(HWND hwnd, bool p_opengl_3_context); - virtual ~ContextGL_Win(); + ContextGL_Windows(HWND hwnd, bool p_opengl_3_context); + virtual ~ContextGL_Windows(); }; #endif diff --git a/platform/windows/crash_handler_win.cpp b/platform/windows/crash_handler_windows.cpp index 1d93c6d8dd..f93a449c7b 100644 --- a/platform/windows/crash_handler_win.cpp +++ b/platform/windows/crash_handler_windows.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* crash_handler_win.cpp */ +/* crash_handler_windows.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,6 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +#include "crash_handler_windows.h" + #include "core/project_settings.h" #include "main/main.h" #include "os_windows.h" diff --git a/platform/windows/crash_handler_win.h b/platform/windows/crash_handler_windows.h index 016612a00e..eba72beb7e 100644 --- a/platform/windows/crash_handler_win.h +++ b/platform/windows/crash_handler_windows.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* crash_handler_win.h */ +/* crash_handler_windows.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef CRASH_HANDLER_WIN_H -#define CRASH_HANDLER_WIN_H +#ifndef CRASH_HANDLER_WINDOWS_H +#define CRASH_HANDLER_WINDOWS_H #include <windows.h> @@ -54,4 +54,4 @@ public: ~CrashHandler(); }; -#endif +#endif // CRASH_HANDLER_WINDOWS_H diff --git a/platform/windows/ctxgl_procaddr.cpp b/platform/windows/ctxgl_procaddr.cpp deleted file mode 100644 index ecff8f7a4d..0000000000 --- a/platform/windows/ctxgl_procaddr.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/*************************************************************************/ -/* ctxgl_procaddr.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifdef OPENGL_ENABLED -#include "ctxgl_procaddr.h" -#include <GL/gl.h> -#include <stdio.h> - -static PROC _gl_procs[] = { - (PROC)glCullFace, - (PROC)glFrontFace, - (PROC)glHint, - (PROC)glLineWidth, - (PROC)glPointSize, - (PROC)glPolygonMode, - (PROC)glScissor, - (PROC)glTexParameterf, - (PROC)glTexParameterfv, - (PROC)glTexParameteri, - (PROC)glTexParameteriv, - (PROC)glTexImage1D, - (PROC)glTexImage2D, - (PROC)glDrawBuffer, - (PROC)glClear, - (PROC)glClearColor, - (PROC)glClearStencil, - (PROC)glClearDepth, - (PROC)glStencilMask, - (PROC)glColorMask, - (PROC)glDepthMask, - (PROC)glDisable, - (PROC)glEnable, - (PROC)glFinish, - (PROC)glFlush, - (PROC)glBlendFunc, - (PROC)glLogicOp, - (PROC)glStencilFunc, - (PROC)glStencilOp, - (PROC)glDepthFunc, - (PROC)glPixelStoref, - (PROC)glPixelStorei, - (PROC)glReadBuffer, - (PROC)glReadPixels, - (PROC)glGetBooleanv, - (PROC)glGetDoublev, - (PROC)glGetError, - (PROC)glGetFloatv, - (PROC)glGetIntegerv, - (PROC)glGetString, - (PROC)glGetTexImage, - (PROC)glGetTexParameterfv, - (PROC)glGetTexParameteriv, - (PROC)glGetTexLevelParameterfv, - (PROC)glGetTexLevelParameteriv, - (PROC)glIsEnabled, - (PROC)glDepthRange, - (PROC)glViewport, - /* not detected in ATI */ - (PROC)glDrawArrays, - (PROC)glDrawElements, - (PROC)glGetPointerv, - (PROC)glPolygonOffset, - (PROC)glCopyTexImage1D, - (PROC)glCopyTexImage2D, - (PROC)glCopyTexSubImage1D, - (PROC)glCopyTexSubImage2D, - (PROC)glTexSubImage1D, - (PROC)glTexSubImage2D, - (PROC)glBindTexture, - (PROC)glDeleteTextures, - (PROC)glGenTextures, - (PROC)glIsTexture, - - 0 -}; - -static const char *_gl_proc_names[] = { - "glCullFace", - "glFrontFace", - "glHint", - "glLineWidth", - "glPointSize", - "glPolygonMode", - "glScissor", - "glTexParameterf", - "glTexParameterfv", - "glTexParameteri", - "glTexParameteriv", - "glTexImage1D", - "glTexImage2D", - "glDrawBuffer", - "glClear", - "glClearColor", - "glClearStencil", - "glClearDepth", - "glStencilMask", - "glColorMask", - "glDepthMask", - "glDisable", - "glEnable", - "glFinish", - "glFlush", - "glBlendFunc", - "glLogicOp", - "glStencilFunc", - "glStencilOp", - "glDepthFunc", - "glPixelStoref", - "glPixelStorei", - "glReadBuffer", - "glReadPixels", - "glGetBooleanv", - "glGetDoublev", - "glGetError", - "glGetFloatv", - "glGetIntegerv", - "glGetString", - "glGetTexImage", - "glGetTexParameterfv", - "glGetTexParameteriv", - "glGetTexLevelParameterfv", - "glGetTexLevelParameteriv", - "glIsEnabled", - "glDepthRange", - "glViewport", - /* not detected in ati */ - "glDrawArrays", - "glDrawElements", - "glGetPointerv", - "glPolygonOffset", - "glCopyTexImage1D", - "glCopyTexImage2D", - "glCopyTexSubImage1D", - "glCopyTexSubImage2D", - "glTexSubImage1D", - "glTexSubImage2D", - "glBindTexture", - "glDeleteTextures", - "glGenTextures", - "glIsTexture", - - 0 -}; - -PROC get_gl_proc_address(const char *p_address) { - - PROC proc = wglGetProcAddress((const CHAR *)p_address); - if (!proc) { - - int i = 0; - while (_gl_procs[i]) { - - if (strcmp(p_address, _gl_proc_names[i]) == 0) { - return _gl_procs[i]; - } - i++; - } - } - return proc; -} -#endif diff --git a/platform/windows/ctxgl_procaddr.h b/platform/windows/ctxgl_procaddr.h deleted file mode 100644 index cc40804ae6..0000000000 --- a/platform/windows/ctxgl_procaddr.h +++ /dev/null @@ -1,39 +0,0 @@ -/*************************************************************************/ -/* ctxgl_procaddr.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifndef CTXGL_PROCADDR_H -#define CTXGL_PROCADDR_H - -#ifdef OPENGL_ENABLED -#include <windows.h> - -PROC get_gl_proc_address(const char *p_address); -#endif -#endif // CTXGL_PROCADDR_H diff --git a/platform/windows/godot_win.cpp b/platform/windows/godot_windows.cpp index 0f5065d816..0b52682c7c 100644 --- a/platform/windows/godot_win.cpp +++ b/platform/windows/godot_windows.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* godot_win.cpp */ +/* godot_windows.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -30,6 +30,7 @@ #include "main/main.h" #include "os_windows.h" + #include <locale.h> #include <stdio.h> diff --git a/platform/windows/joypad.cpp b/platform/windows/joypad_windows.cpp index 5fafc7c8c0..5a399cdf90 100644 --- a/platform/windows/joypad.cpp +++ b/platform/windows/joypad_windows.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* joypad.cpp */ +/* joypad_windows.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "joypad.h" +#include "joypad_windows.h" #include <oleauto.h> #include <wbemidl.h> diff --git a/platform/windows/joypad.h b/platform/windows/joypad_windows.h index 3a6c0cef9f..4af5d9bd6a 100644 --- a/platform/windows/joypad.h +++ b/platform/windows/joypad_windows.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* joypad.h */ +/* joypad_windows.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,10 +28,11 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef JOYPAD_H -#define JOYPAD_H +#ifndef JOYPAD_WINDOWS_H +#define JOYPAD_WINDOWS_H #include "os_windows.h" + #define DIRECTINPUT_VERSION 0x0800 #include <dinput.h> #include <xinput.h> // on unix the file is called "xinput.h", on windows I'm sure it won't mind @@ -145,4 +146,4 @@ private: XInputSetState_t xinput_set_state; }; -#endif +#endif // JOYPAD_WINDOWS_H diff --git a/platform/windows/key_mapping_win.cpp b/platform/windows/key_mapping_windows.cpp index f9b01e5532..01bbb072bb 100644 --- a/platform/windows/key_mapping_win.cpp +++ b/platform/windows/key_mapping_windows.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* key_mapping_win.cpp */ +/* key_mapping_windows.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "key_mapping_win.h" +#include "key_mapping_windows.h" #include <stdio.h> diff --git a/platform/windows/key_mapping_win.h b/platform/windows/key_mapping_windows.h index e4f8a61d04..dbb8c20f1e 100644 --- a/platform/windows/key_mapping_win.h +++ b/platform/windows/key_mapping_windows.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* key_mapping_win.h */ +/* key_mapping_windows.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -45,4 +45,4 @@ public: static unsigned int get_keysym(unsigned int p_code); }; -#endif +#endif // KEY_MAPPING_WINDOWS_H diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 9ae1be9afd..b8a6de1fd1 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -43,15 +43,15 @@ #include "drivers/windows/rw_lock_windows.h" #include "drivers/windows/semaphore_windows.h" #include "drivers/windows/thread_windows.h" -#include "joypad.h" +#include "joypad_windows.h" #include "lang_table.h" #include "main/main.h" #include "servers/audio_server.h" #include "servers/visual/visual_server_raster.h" #include "servers/visual/visual_server_wrap_mt.h" #include "windows_terminal_logger.h" -#include <avrt.h> +#include <avrt.h> #include <process.h> #include <regstr.h> #include <shlobj.h> @@ -1273,7 +1273,7 @@ Error OS_Windows::initialize(const VideoMode &p_desired, int p_video_driver, int gl_context = NULL; while (!gl_context) { - gl_context = memnew(ContextGL_Win(hWnd, gles3_context)); + gl_context = memnew(ContextGL_Windows(hWnd, gles3_context)); if (gl_context->initialize() != OK) { memdelete(gl_context); @@ -2137,7 +2137,9 @@ OS::TimeZoneInfo OS_Windows::get_time_zone_info() const { ret.name = info.StandardName; } - ret.bias = info.Bias; + // Bias value returned by GetTimeZoneInformation is inverted of what we expect + // For example on GMT-3 GetTimeZoneInformation return a Bias of 180, so invert the value to get -180 + ret.bias = -info.Bias; return ret; } diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h index 771789c86b..8ca58b534a 100644 --- a/platform/windows/os_windows.h +++ b/platform/windows/os_windows.h @@ -30,14 +30,18 @@ #ifndef OS_WINDOWS_H #define OS_WINDOWS_H -#include "context_gl_win.h" + +#include "context_gl_windows.h" #include "core/os/input.h" #include "core/os/os.h" #include "core/project_settings.h" -#include "crash_handler_win.h" +#include "crash_handler_windows.h" #include "drivers/rtaudio/audio_driver_rtaudio.h" +#include "drivers/unix/ip_unix.h" #include "drivers/wasapi/audio_driver_wasapi.h" -#include "drivers/winmidi/win_midi.h" +#include "drivers/winmidi/midi_driver_winmidi.h" +#include "key_mapping_windows.h" +#include "main/input_default.h" #include "power_windows.h" #include "servers/audio_server.h" #include "servers/visual/rasterizer.h" @@ -45,9 +49,6 @@ #ifdef XAUDIO2_ENABLED #include "drivers/xaudio2/audio_driver_xaudio2.h" #endif -#include "drivers/unix/ip_unix.h" -#include "key_mapping_win.h" -#include "main/input_default.h" #include <fcntl.h> #include <io.h> @@ -86,7 +87,7 @@ class OS_Windows : public OS { int old_x, old_y; Point2i center; #if defined(OPENGL_ENABLED) - ContextGL_Win *gl_context; + ContextGL_Windows *gl_context; #endif VisualServer *visual_server; int pressrc; diff --git a/platform/windows/power_windows.h b/platform/windows/power_windows.h index 4d83d75e00..ef75ce6271 100644 --- a/platform/windows/power_windows.h +++ b/platform/windows/power_windows.h @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef PLATFORM_WINDOWS_POWER_WINDOWS_H_ -#define PLATFORM_WINDOWS_POWER_WINDOWS_H_ +#ifndef POWER_WINDOWS_H +#define POWER_WINDOWS_H #include "core/os/dir_access.h" #include "core/os/file_access.h" @@ -55,4 +55,4 @@ public: int get_power_percent_left(); }; -#endif /* PLATFORM_WINDOWS_POWER_WINDOWS_H_ */ +#endif // POWER_WINDOWS_H diff --git a/platform/x11/crash_handler_x11.cpp b/platform/x11/crash_handler_x11.cpp index 8737a2b92b..1e7f393bdd 100644 --- a/platform/x11/crash_handler_x11.cpp +++ b/platform/x11/crash_handler_x11.cpp @@ -28,15 +28,16 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifdef DEBUG_ENABLED -#define CRASH_HANDLER_ENABLED 1 -#endif - #include "crash_handler_x11.h" + #include "core/os/os.h" #include "core/project_settings.h" #include "main/main.h" +#ifdef DEBUG_ENABLED +#define CRASH_HANDLER_ENABLED 1 +#endif + #ifdef CRASH_HANDLER_ENABLED #include <cxxabi.h> #include <dlfcn.h> diff --git a/platform/x11/crash_handler_x11.h b/platform/x11/crash_handler_x11.h index 6efdd33d9d..d0664aef85 100644 --- a/platform/x11/crash_handler_x11.h +++ b/platform/x11/crash_handler_x11.h @@ -45,4 +45,4 @@ public: ~CrashHandler(); }; -#endif +#endif // CRASH_HANDLER_X11_H diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index ca4b02bb49..8db4635d68 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -243,8 +243,37 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a // maybe contextgl wants to be in charge of creating the window #if defined(OPENGL_ENABLED) if (getenv("DRI_PRIME") == NULL) { - print_verbose("Detecting GPUs, set DRI_PRIME in the environment to override GPU detection logic."); - int use_prime = detect_prime(); + int use_prime = -1; + + if (getenv("PRIMUS_DISPLAY") || + getenv("PRIMUS_libGLd") || + getenv("PRIMUS_libGLa") || + getenv("PRIMUS_libGL") || + getenv("PRIMUS_LOAD_GLOBAL") || + getenv("BUMBLEBEE_SOCKET")) { + + print_verbose("Optirun/primusrun detected. Skipping GPU detection"); + use_prime = 0; + } + + if (getenv("LD_LIBRARY_PATH")) { + String ld_library_path(getenv("LD_LIBRARY_PATH")); + Vector<String> libraries = ld_library_path.split(":"); + + for (int i = 0; i < libraries.size(); ++i) { + if (FileAccess::exists(libraries[i] + "/libGL.so.1") || + FileAccess::exists(libraries[i] + "/libGL.so")) { + + print_verbose("Custom libGL override detected. Skipping GPU detection"); + use_prime = 0; + } + } + } + + if (use_prime == -1) { + print_verbose("Detecting GPUs, set DRI_PRIME in the environment to override GPU detection logic."); + use_prime = detect_prime(); + } if (use_prime) { print_line("Found discrete GPU, setting DRI_PRIME=1 to use it."); @@ -3017,7 +3046,12 @@ void OS_X11::set_context(int p_context) { if (p_context == CONTEXT_ENGINE) { classHint->res_name = (char *)"Godot_Engine"; - config_name = strdup((char *)((String)GLOBAL_GET("application/config/name")).utf8().ptrw()); + char *config_name_tmp = (char *)((String)GLOBAL_GET("application/config/name")).utf8().ptrw(); + if (config_name_tmp) + config_name = strdup(config_name_tmp); + else + config_name = strdup("Godot Engine"); + wm_class = config_name; } diff --git a/platform/x11/os_x11.h b/platform/x11/os_x11.h index cf1619bae2..6d1a66af84 100644 --- a/platform/x11/os_x11.h +++ b/platform/x11/os_x11.h @@ -35,7 +35,7 @@ #include "core/os/input.h" #include "crash_handler_x11.h" #include "drivers/alsa/audio_driver_alsa.h" -#include "drivers/alsamidi/alsa_midi.h" +#include "drivers/alsamidi/midi_driver_alsamidi.h" #include "drivers/pulseaudio/audio_driver_pulseaudio.h" #include "drivers/unix/os_unix.h" #include "joypad_linux.h" diff --git a/platform/x11/power_x11.h b/platform/x11/power_x11.h index 56fbd602f4..469e3910f4 100644 --- a/platform/x11/power_x11.h +++ b/platform/x11/power_x11.h @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef X11_POWER_H_ -#define X11_POWER_H_ +#ifndef POWER_X11_H +#define POWER_X11_H #include "core/os/dir_access.h" #include "core/os/file_access.h" @@ -63,4 +63,4 @@ public: int get_power_percent_left(); }; -#endif /* X11_POWER_H_ */ +#endif // POWER_X11_H diff --git a/scene/2d/audio_stream_player_2d.cpp b/scene/2d/audio_stream_player_2d.cpp index 961d2b00ef..7b28ad2c12 100644 --- a/scene/2d/audio_stream_player_2d.cpp +++ b/scene/2d/audio_stream_player_2d.cpp @@ -37,7 +37,7 @@ void AudioStreamPlayer2D::_mix_audio() { if (!stream_playback.is_valid() || !active || - (stream_paused && !stream_paused_fade_out)) { + (stream_paused && !stream_fade_out)) { return; } @@ -50,7 +50,7 @@ void AudioStreamPlayer2D::_mix_audio() { AudioFrame *buffer = mix_buffer.ptrw(); int buffer_size = mix_buffer.size(); - if (stream_paused_fade_out) { + if (stream_fade_out) { // Short fadeout ramp buffer_size = MIN(buffer_size, 128); } @@ -84,10 +84,10 @@ void AudioStreamPlayer2D::_mix_audio() { } //mix! - AudioFrame target_volume = stream_paused_fade_out ? AudioFrame(0.f, 0.f) : current.vol; - AudioFrame vol_prev = stream_paused_fade_in ? AudioFrame(0.f, 0.f) : prev_outputs[i].vol; + AudioFrame target_volume = stream_fade_out ? AudioFrame(0.f, 0.f) : current.vol; + AudioFrame vol_prev = stream_fade_in ? AudioFrame(0.f, 0.f) : prev_outputs[i].vol; AudioFrame vol_inc = (target_volume - vol_prev) / float(buffer_size); - AudioFrame vol = stream_paused_fade_in ? AudioFrame(0.f, 0.f) : current.vol; + AudioFrame vol = stream_fade_in ? AudioFrame(0.f, 0.f) : current.vol; int cc = AudioServer::get_singleton()->get_channel_count(); @@ -139,9 +139,15 @@ void AudioStreamPlayer2D::_mix_audio() { active = false; } + if (stream_stop) { + active = false; + set_physics_process_internal(false); + setplay = -1; + } + output_ready = false; - stream_paused_fade_in = false; - stream_paused_fade_out = false; + stream_fade_in = false; + stream_fade_out = false; } void AudioStreamPlayer2D::_notification(int p_what) { @@ -323,6 +329,7 @@ void AudioStreamPlayer2D::play(float p_from_pos) { } if (stream_playback.is_valid()) { + stream_stop = false; active = true; setplay = p_from_pos; output_ready = false; @@ -340,9 +347,8 @@ void AudioStreamPlayer2D::seek(float p_seconds) { void AudioStreamPlayer2D::stop() { if (stream_playback.is_valid()) { - active = false; - set_physics_process_internal(false); - setplay = -1; + stream_stop = true; + stream_fade_out = true; } } @@ -457,8 +463,8 @@ void AudioStreamPlayer2D::set_stream_paused(bool p_pause) { if (p_pause != stream_paused) { stream_paused = p_pause; - stream_paused_fade_in = p_pause ? false : true; - stream_paused_fade_out = p_pause ? true : false; + stream_fade_in = p_pause ? false : true; + stream_fade_out = p_pause ? true : false; } } @@ -537,8 +543,9 @@ AudioStreamPlayer2D::AudioStreamPlayer2D() { output_ready = false; area_mask = 1; stream_paused = false; - stream_paused_fade_in = false; - stream_paused_fade_out = false; + stream_fade_in = false; + stream_fade_out = false; + stream_stop = false; AudioServer::get_singleton()->connect("bus_layout_changed", this, "_bus_layout_changed"); } diff --git a/scene/2d/audio_stream_player_2d.h b/scene/2d/audio_stream_player_2d.h index cc00b59010..caf5c6ee49 100644 --- a/scene/2d/audio_stream_player_2d.h +++ b/scene/2d/audio_stream_player_2d.h @@ -73,8 +73,9 @@ private: float pitch_scale; bool autoplay; bool stream_paused; - bool stream_paused_fade_in; - bool stream_paused_fade_out; + bool stream_fade_in; + bool stream_fade_out; + bool stream_stop; StringName bus; void _mix_audio(); diff --git a/scene/2d/collision_shape_2d.cpp b/scene/2d/collision_shape_2d.cpp index c756f49bbd..5440a1d8c3 100644 --- a/scene/2d/collision_shape_2d.cpp +++ b/scene/2d/collision_shape_2d.cpp @@ -36,9 +36,9 @@ #include "scene/resources/circle_shape_2d.h" #include "scene/resources/concave_polygon_shape_2d.h" #include "scene/resources/convex_polygon_shape_2d.h" +#include "scene/resources/line_shape_2d.h" #include "scene/resources/rectangle_shape_2d.h" #include "scene/resources/segment_shape_2d.h" -#include "scene/resources/shape_line_2d.h" void CollisionShape2D::_shape_changed() { diff --git a/scene/2d/line_builder.h b/scene/2d/line_builder.h index 2ca28d09c4..b961385e33 100644 --- a/scene/2d/line_builder.h +++ b/scene/2d/line_builder.h @@ -34,7 +34,7 @@ #include "core/color.h" #include "core/math/vector2.h" #include "line_2d.h" -#include "scene/resources/color_ramp.h" +#include "scene/resources/gradient.h" class LineBuilder { public: diff --git a/scene/2d/navigation2d.cpp b/scene/2d/navigation_2d.cpp index 1c0e924433..57e0a5b118 100644 --- a/scene/2d/navigation2d.cpp +++ b/scene/2d/navigation_2d.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* navigation2d.cpp */ +/* navigation_2d.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "navigation2d.h" +#include "navigation_2d.h" #define USE_ENTRY_POINT diff --git a/scene/2d/navigation2d.h b/scene/2d/navigation_2d.h index fc1762221c..b4d659ff5c 100644 --- a/scene/2d/navigation2d.h +++ b/scene/2d/navigation_2d.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* navigation2d.h */ +/* navigation_2d.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -171,4 +171,4 @@ public: Navigation2D(); }; -#endif // Navigation2D2D_H +#endif // NAVIGATION_2D_H diff --git a/scene/2d/navigation_polygon.cpp b/scene/2d/navigation_polygon.cpp index 50618c6baa..0f6af358bd 100644 --- a/scene/2d/navigation_polygon.cpp +++ b/scene/2d/navigation_polygon.cpp @@ -32,7 +32,7 @@ #include "core/core_string_names.h" #include "core/engine.h" -#include "navigation2d.h" +#include "navigation_2d.h" #include "thirdparty/misc/triangulator.h" diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp index f4bc8ad6b9..44b81dc0cc 100644 --- a/scene/2d/physics_body_2d.cpp +++ b/scene/2d/physics_body_2d.cpp @@ -1290,7 +1290,7 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const floor_velocity = collision.collider_vel; if (p_stop_on_slope) { - if (Vector2() == lv_n + p_floor_direction && collision.travel.length() < 1) { + if ((lv_n + p_floor_direction).length() < 0.01 && collision.travel.length() < 1) { Transform2D gt = get_global_transform(); gt.elements[2] -= collision.travel.project(p_floor_direction.tangent()); set_global_transform(gt); @@ -1338,13 +1338,21 @@ Vector2 KinematicBody2D::move_and_slide_with_snap(const Vector2 &p_linear_veloci Transform2D gt = get_global_transform(); if (move_and_collide(p_snap, p_infinite_inertia, col, false, true)) { - gt.elements[2] += col.travel; - if (p_floor_direction != Vector2() && Math::acos(p_floor_direction.normalized().dot(col.normal)) < p_floor_max_angle) { - on_floor = true; - on_floor_body = col.collider_rid; - floor_velocity = col.collider_vel; + bool apply = true; + if (p_floor_direction != Vector2()) { + if (Math::acos(p_floor_direction.normalized().dot(col.normal)) < p_floor_max_angle) { + on_floor = true; + on_floor_body = col.collider_rid; + floor_velocity = col.collider_vel; + } else { + apply = false; + } + } + + if (apply) { + gt.elements[2] += col.travel; + set_global_transform(gt); } - set_global_transform(gt); } return ret; diff --git a/scene/2d/polygon_2d.cpp b/scene/2d/polygon_2d.cpp index 54b304f851..1c58073f1d 100644 --- a/scene/2d/polygon_2d.cpp +++ b/scene/2d/polygon_2d.cpp @@ -88,6 +88,10 @@ bool Polygon2D::_edit_is_selected_on_click(const Point2 &p_point, double p_toler return Geometry::is_point_in_polygon(p_point - get_offset(), polygon2d); } +void Polygon2D::_skeleton_bone_setup_changed() { + update(); +} + void Polygon2D::_notification(int p_what) { switch (p_what) { @@ -102,10 +106,27 @@ void Polygon2D::_notification(int p_what) { skeleton_node = Object::cast_to<Skeleton2D>(get_node(skeleton)); } - if (skeleton_node) + ObjectID new_skeleton_id = 0; + + if (skeleton_node) { VS::get_singleton()->canvas_item_attach_skeleton(get_canvas_item(), skeleton_node->get_skeleton()); - else + new_skeleton_id = skeleton_node->get_instance_id(); + } else { VS::get_singleton()->canvas_item_attach_skeleton(get_canvas_item(), RID()); + } + + if (new_skeleton_id != current_skeleton_id) { + Object *old_skeleton = ObjectDB::get_instance(current_skeleton_id); + if (old_skeleton) { + old_skeleton->disconnect("bone_setup_changed", this, "_skeleton_bone_setup_changed"); + } + + if (skeleton_node) { + skeleton_node->connect("bone_setup_changed", this, "_skeleton_bone_setup_changed"); + } + + current_skeleton_id = new_skeleton_id; + } Vector<Vector2> points; Vector<Vector2> uvs; @@ -809,6 +830,8 @@ void Polygon2D::_bind_methods() { ClassDB::bind_method(D_METHOD("_set_bones", "bones"), &Polygon2D::_set_bones); ClassDB::bind_method(D_METHOD("_get_bones"), &Polygon2D::_get_bones); + ClassDB::bind_method(D_METHOD("_skeleton_bone_setup_changed"), &Polygon2D::_skeleton_bone_setup_changed); + ADD_PROPERTY(PropertyInfo(Variant::COLOR, "color"), "set_color", "get_color"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), "set_offset", "get_offset"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "antialiased"), "set_antialiased", "get_antialiased"); @@ -846,4 +869,5 @@ Polygon2D::Polygon2D() { color = Color(1, 1, 1); rect_cache_dirty = true; internal_vertices = 0; + current_skeleton_id = 0; } diff --git a/scene/2d/polygon_2d.h b/scene/2d/polygon_2d.h index c1d6ebe46e..f25b3885b0 100644 --- a/scene/2d/polygon_2d.h +++ b/scene/2d/polygon_2d.h @@ -65,10 +65,13 @@ class Polygon2D : public Node2D { mutable Rect2 item_rect; NodePath skeleton; + ObjectID current_skeleton_id; Array _get_bones() const; void _set_bones(const Array &p_bones); + void _skeleton_bone_setup_changed(); + protected: void _notification(int p_what); static void _bind_methods(); diff --git a/scene/2d/skeleton_2d.cpp b/scene/2d/skeleton_2d.cpp index 2a674e64e6..aa15255384 100644 --- a/scene/2d/skeleton_2d.cpp +++ b/scene/2d/skeleton_2d.cpp @@ -203,6 +203,7 @@ void Skeleton2D::_update_bone_setup() { transform_dirty = true; _update_transform(); + emit_signal("bone_setup_changed"); } void Skeleton2D::_make_transform_dirty() { @@ -291,6 +292,8 @@ void Skeleton2D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_bone", "idx"), &Skeleton2D::get_bone); ClassDB::bind_method(D_METHOD("get_skeleton"), &Skeleton2D::get_skeleton); + + ADD_SIGNAL(MethodInfo("bone_setup_changed")); } Skeleton2D::Skeleton2D() { diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index 44730062c4..3802019358 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -1453,7 +1453,7 @@ Vector2 TileMap::world_to_map(const Vector2 &p_pos) const { } // Account for precision errors on the border (GH-23250). - // 0.00005 is 5*CMP_EPSILON, results would start being unpredictible if + // 0.00005 is 5*CMP_EPSILON, results would start being unpredictable if // cell size is > 15,000, but we can hardly have more precision anyway with // floating point. ret += Vector2(0.00005, 0.00005); diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h index a44098fd77..e450e1e256 100644 --- a/scene/2d/tile_map.h +++ b/scene/2d/tile_map.h @@ -33,7 +33,7 @@ #include "core/self_list.h" #include "core/vset.h" -#include "scene/2d/navigation2d.h" +#include "scene/2d/navigation_2d.h" #include "scene/2d/node_2d.h" #include "scene/resources/tile_set.h" diff --git a/scene/2d/screen_button.cpp b/scene/2d/touch_screen_button.cpp index fb1558a404..9a1a759e72 100644 --- a/scene/2d/screen_button.cpp +++ b/scene/2d/touch_screen_button.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* screen_button.cpp */ +/* touch_screen_button.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "screen_button.h" +#include "touch_screen_button.h" + #include "core/input_map.h" #include "core/os/input.h" #include "core/os/os.h" diff --git a/scene/2d/screen_button.h b/scene/2d/touch_screen_button.h index fd944ead64..df54e5340b 100644 --- a/scene/2d/screen_button.h +++ b/scene/2d/touch_screen_button.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* screen_button.h */ +/* touch_screen_button.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,11 +28,11 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef SCREEN_BUTTON_H -#define SCREEN_BUTTON_H +#ifndef TOUCH_SCREEN_BUTTON_H +#define TOUCH_SCREEN_BUTTON_H #include "scene/2d/node_2d.h" -#include "scene/resources/bit_mask.h" +#include "scene/resources/bit_map.h" #include "scene/resources/rectangle_shape_2d.h" #include "scene/resources/texture.h" @@ -112,4 +112,4 @@ public: VARIANT_ENUM_CAST(TouchScreenButton::VisibilityMode); -#endif // SCREEN_BUTTON_H +#endif // TOUCH_SCREEN_BUTTON_H diff --git a/scene/3d/SCsub b/scene/3d/SCsub index 35cc7479d8..200cf4316f 100644 --- a/scene/3d/SCsub +++ b/scene/3d/SCsub @@ -7,6 +7,6 @@ if env['disable_3d']: env.scene_sources.append("3d/skeleton.cpp") env.scene_sources.append("3d/particles.cpp") env.scene_sources.append("3d/visual_instance.cpp") - env.scene_sources.append("3d/scenario_fx.cpp") + env.scene_sources.append("3d/world_environment.cpp") else: env.add_source_files(env.scene_sources, "*.cpp") diff --git a/scene/3d/audio_stream_player_3d.cpp b/scene/3d/audio_stream_player_3d.cpp index e18bcf9035..b4bb03ff43 100644 --- a/scene/3d/audio_stream_player_3d.cpp +++ b/scene/3d/audio_stream_player_3d.cpp @@ -38,7 +38,7 @@ void AudioStreamPlayer3D::_mix_audio() { if (!stream_playback.is_valid() || !active || - (stream_paused && !stream_paused_fade_out)) { + (stream_paused && !stream_fade_out)) { return; } @@ -53,7 +53,7 @@ void AudioStreamPlayer3D::_mix_audio() { AudioFrame *buffer = mix_buffer.ptrw(); int buffer_size = mix_buffer.size(); - if (stream_paused_fade_out) { + if (stream_fade_out) { // Short fadeout ramp buffer_size = MIN(buffer_size, 128); } @@ -109,10 +109,10 @@ void AudioStreamPlayer3D::_mix_audio() { int buffers = AudioServer::get_singleton()->get_channel_count(); for (int k = 0; k < buffers; k++) { - AudioFrame target_volume = stream_paused_fade_out ? AudioFrame(0.f, 0.f) : current.vol[k]; - AudioFrame vol_prev = stream_paused_fade_in ? AudioFrame(0.f, 0.f) : prev_outputs[i].vol[k]; + AudioFrame target_volume = stream_fade_out ? AudioFrame(0.f, 0.f) : current.vol[k]; + AudioFrame vol_prev = stream_fade_in ? AudioFrame(0.f, 0.f) : prev_outputs[i].vol[k]; AudioFrame vol_inc = (target_volume - vol_prev) / float(buffer_size); - AudioFrame vol = stream_paused_fade_in ? AudioFrame(0.f, 0.f) : current.vol[k]; + AudioFrame vol = stream_fade_in ? AudioFrame(0.f, 0.f) : current.vol[k]; if (!AudioServer::get_singleton()->thread_has_channel_mix_buffer(current.bus_index, k)) continue; //may have been deleted, will be updated on process @@ -198,9 +198,15 @@ void AudioStreamPlayer3D::_mix_audio() { active = false; } + if (stream_stop) { + active = false; + set_physics_process_internal(false); + setplay = -1; + } + output_ready = false; - stream_paused_fade_in = false; - stream_paused_fade_out = false; + stream_fade_in = false; + stream_fade_out = false; } float AudioStreamPlayer3D::_get_attenuation_db(float p_distance) const { @@ -656,6 +662,7 @@ float AudioStreamPlayer3D::get_pitch_scale() const { void AudioStreamPlayer3D::play(float p_from_pos) { if (stream_playback.is_valid()) { + stream_stop = false; active = true; setplay = p_from_pos; output_ready = false; @@ -673,9 +680,8 @@ void AudioStreamPlayer3D::seek(float p_seconds) { void AudioStreamPlayer3D::stop() { if (stream_playback.is_valid()) { - active = false; - set_physics_process_internal(false); - setplay = -1; + stream_stop = true; + stream_fade_out = true; } } @@ -869,8 +875,8 @@ void AudioStreamPlayer3D::set_stream_paused(bool p_pause) { if (p_pause != stream_paused) { stream_paused = p_pause; - stream_paused_fade_in = stream_paused ? false : true; - stream_paused_fade_out = stream_paused ? true : false; + stream_fade_in = stream_paused ? false : true; + stream_fade_out = stream_paused ? true : false; } } @@ -1008,8 +1014,9 @@ AudioStreamPlayer3D::AudioStreamPlayer3D() { out_of_range_mode = OUT_OF_RANGE_MIX; doppler_tracking = DOPPLER_TRACKING_DISABLED; stream_paused = false; - stream_paused_fade_in = false; - stream_paused_fade_out = false; + stream_fade_in = false; + stream_fade_out = false; + stream_stop = false; velocity_tracker.instance(); AudioServer::get_singleton()->connect("bus_layout_changed", this, "_bus_layout_changed"); diff --git a/scene/3d/audio_stream_player_3d.h b/scene/3d/audio_stream_player_3d.h index 881652da64..e467c170fb 100644 --- a/scene/3d/audio_stream_player_3d.h +++ b/scene/3d/audio_stream_player_3d.h @@ -109,8 +109,9 @@ private: float pitch_scale; bool autoplay; bool stream_paused; - bool stream_paused_fade_in; - bool stream_paused_fade_out; + bool stream_fade_in; + bool stream_fade_out; + bool stream_stop; StringName bus; void _mix_audio(); diff --git a/scene/3d/path.cpp b/scene/3d/path.cpp index 9fae5a9a54..8abfb62d70 100644 --- a/scene/3d/path.cpp +++ b/scene/3d/path.cpp @@ -122,7 +122,7 @@ void PathFollow::_update_transform() { Vector3 pos = c->interpolate_baked(o, cubic); Transform t = get_transform(); // Vector3 pos_offset = Vector3(h_offset, v_offset, 0); not used in all cases - // will be replaced by "Vector3(h_offset, v_offset, 0)" where it was formely used + // will be replaced by "Vector3(h_offset, v_offset, 0)" where it was formerly used if (rotation_mode == ROTATION_ORIENTED) { diff --git a/scene/3d/physics_body.cpp b/scene/3d/physics_body.cpp index 50abbd483a..f85b51af08 100644 --- a/scene/3d/physics_body.cpp +++ b/scene/3d/physics_body.cpp @@ -1222,7 +1222,7 @@ Vector3 KinematicBody::move_and_slide(const Vector3 &p_linear_velocity, const Ve floor_velocity = collision.collider_vel; if (p_stop_on_slope) { - if (Vector3() == lv_n + p_floor_direction) { + if ((lv_n + p_floor_direction).length() < 0.01) { Transform gt = get_global_transform(); gt.origin -= collision.travel; set_global_transform(gt); @@ -1243,6 +1243,7 @@ Vector3 KinematicBody::move_and_slide(const Vector3 &p_linear_velocity, const Ve motion = motion.slide(p_floor_direction); lv = lv.slide(p_floor_direction); } else { + Vector3 n = collision.normal; motion = motion.slide(n); lv = lv.slide(n); @@ -1280,13 +1281,21 @@ Vector3 KinematicBody::move_and_slide_with_snap(const Vector3 &p_linear_velocity Transform gt = get_global_transform(); if (move_and_collide(p_snap, p_infinite_inertia, col, true)) { - gt.origin += col.travel; - if (p_floor_direction != Vector3() && Math::acos(p_floor_direction.normalized().dot(col.normal)) < p_floor_max_angle) { - on_floor = true; - on_floor_body = col.collider_rid; - floor_velocity = col.collider_vel; + + bool apply = true; + if (p_floor_direction != Vector3()) { + if (Math::acos(p_floor_direction.normalized().dot(col.normal)) < p_floor_max_angle) { + on_floor = true; + on_floor_body = col.collider_rid; + floor_velocity = col.collider_vel; + } else { + apply = false; //snapped with floor direction, but did not snap to a floor, do not snap. + } + } + if (apply) { + gt.origin += col.travel; + set_global_transform(gt); } - set_global_transform(gt); } return ret; diff --git a/scene/3d/reflection_probe.h b/scene/3d/reflection_probe.h index 2921a3a881..48d65b79f7 100644 --- a/scene/3d/reflection_probe.h +++ b/scene/3d/reflection_probe.h @@ -32,7 +32,7 @@ #define REFLECTIONPROBE_H #include "scene/3d/visual_instance.h" -#include "scene/resources/sky_box.h" +#include "scene/resources/sky.h" #include "scene/resources/texture.h" #include "servers/visual_server.h" diff --git a/scene/3d/skeleton.cpp b/scene/3d/skeleton.cpp index 8caf4e8e39..2acd03fb98 100644 --- a/scene/3d/skeleton.cpp +++ b/scene/3d/skeleton.cpp @@ -232,7 +232,7 @@ void Skeleton::_notification(int p_what) { Bone *bonesptr = bones.ptrw(); int len = bones.size(); - vs->skeleton_allocate(skeleton, len); // if same size, nothin really happens + vs->skeleton_allocate(skeleton, len); // if same size, nothing really happens _update_process_order(); diff --git a/scene/3d/scenario_fx.cpp b/scene/3d/world_environment.cpp index ad9b61e1ff..3cd43cbf5b 100644 --- a/scene/3d/scenario_fx.cpp +++ b/scene/3d/world_environment.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* scenario_fx.cpp */ +/* world_environment.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "scenario_fx.h" +#include "world_environment.h" #include "scene/main/viewport.h" void WorldEnvironment::_notification(int p_what) { diff --git a/scene/3d/scenario_fx.h b/scene/3d/world_environment.h index 6317dae75d..bf36a0a532 100644 --- a/scene/3d/scenario_fx.h +++ b/scene/3d/world_environment.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* scenario_fx.h */ +/* world_environment.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp index 4c249b117e..992eb365ed 100644 --- a/scene/animation/animation_player.cpp +++ b/scene/animation/animation_player.cpp @@ -938,6 +938,7 @@ void AnimationPlayer::_animation_process(float p_delta) { } else { //stop(); playing = false; + playback.current.pos = 0; _set_process(false); if (end_notify) emit_signal(SceneStringNames::get_singleton()->animation_finished, playback.assigned); @@ -991,25 +992,12 @@ void AnimationPlayer::remove_animation(const StringName &p_name) { void AnimationPlayer::_ref_anim(const Ref<Animation> &p_anim) { - if (used_anims.has(p_anim)) - used_anims[p_anim]++; - else { - used_anims[p_anim] = 1; - Ref<Animation>(p_anim)->connect("changed", this, "_animation_changed"); - } + Ref<Animation>(p_anim)->connect(SceneStringNames::get_singleton()->tracks_changed, this, "_animation_changed", varray(), CONNECT_REFERENCE_COUNTED); } void AnimationPlayer::_unref_anim(const Ref<Animation> &p_anim) { - ERR_FAIL_COND(!used_anims.has(p_anim)); - - int &n = used_anims[p_anim]; - n--; - if (n == 0) { - - Ref<Animation>(p_anim)->disconnect("changed", this, "_animation_changed"); - used_anims.erase(p_anim); - } + Ref<Animation>(p_anim)->disconnect(SceneStringNames::get_singleton()->tracks_changed, this, "_animation_changed"); } void AnimationPlayer::rename_animation(const StringName &p_name, const StringName &p_new_name) { @@ -1205,9 +1193,16 @@ void AnimationPlayer::play(const StringName &p_name, float p_custom_blend, float _stop_playing_caches(); c.current.from = &animation_set[name]; - c.current.pos = p_from_end ? c.current.from->animation->get_length() : 0; + + if (c.assigned != name) { // reset + c.current.pos = p_from_end ? c.current.from->animation->get_length() : 0; + } else if (p_from_end && c.current.pos == 0) { + // Animation reset BUT played backwards, set position to the end + c.current.pos = c.current.from->animation->get_length(); + } + c.current.speed_scale = p_custom_scale; - c.assigned = p_name; + c.assigned = name; c.seeked = false; c.started = true; @@ -1286,6 +1281,7 @@ void AnimationPlayer::stop(bool p_reset) { if (p_reset) { c.current.from = NULL; c.current.speed_scale = 1; + c.current.pos = 0; } _set_process(false); queued.clear(); diff --git a/scene/animation/animation_player.h b/scene/animation/animation_player.h index 9bba848298..fea4819821 100644 --- a/scene/animation/animation_player.h +++ b/scene/animation/animation_player.h @@ -181,8 +181,6 @@ private: int cache_update_bezier_size; Set<TrackNodeCache *> playing_caches; - Map<Ref<Animation>, int> used_anims; - uint64_t accum_pass; float speed_scale; float default_blend_time; diff --git a/scene/audio/audio_player.cpp b/scene/audio/audio_stream_player.cpp index 4eae3b04e7..5c95cf4279 100644 --- a/scene/audio/audio_player.cpp +++ b/scene/audio/audio_stream_player.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* audio_player.cpp */ +/* audio_stream_player.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "audio_player.h" +#include "audio_stream_player.h" #include "core/engine.h" @@ -94,10 +94,14 @@ void AudioStreamPlayer::_mix_audio() { if (!stream_playback.is_valid() || !active) return; - if (stream_paused) { - if (stream_paused_fade) { - _mix_internal(true); - stream_paused_fade = false; + if (stream_fade) { + _mix_internal(true); + stream_fade = false; + + if (stream_stop) { + stream_playback->stop(); + active = false; + set_process_internal(false); } return; } @@ -203,6 +207,7 @@ void AudioStreamPlayer::play(float p_from_pos) { if (stream_playback.is_valid()) { //mix_volume_db = volume_db; do not reset volume ramp here, can cause clicks + stream_stop = false; setseek = p_from_pos; active = true; set_process_internal(true); @@ -219,9 +224,8 @@ void AudioStreamPlayer::seek(float p_seconds) { void AudioStreamPlayer::stop() { if (stream_playback.is_valid()) { - stream_playback->stop(); - active = false; - set_process_internal(false); + stream_stop = true; + stream_fade = true; } } @@ -295,7 +299,7 @@ void AudioStreamPlayer::set_stream_paused(bool p_pause) { if (p_pause != stream_paused) { stream_paused = p_pause; - stream_paused_fade = p_pause ? true : false; + stream_fade = p_pause ? true : false; } } @@ -385,7 +389,8 @@ AudioStreamPlayer::AudioStreamPlayer() { setseek = -1; active = false; stream_paused = false; - stream_paused_fade = false; + stream_fade = false; + stream_stop = false; mix_target = MIX_TARGET_STEREO; AudioServer::get_singleton()->connect("bus_layout_changed", this, "_bus_layout_changed"); diff --git a/scene/audio/audio_player.h b/scene/audio/audio_stream_player.h index 2e9526c335..fba8ce7dd3 100644 --- a/scene/audio/audio_player.h +++ b/scene/audio/audio_stream_player.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* audio_player.h */ +/* audio_stream_player.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef AUDIOPLAYER_H -#define AUDIOPLAYER_H +#ifndef AUDIO_STREAM_PLAYER_H +#define AUDIO_STREAM_PLAYER_H #include "scene/main/node.h" #include "servers/audio/audio_stream.h" @@ -58,7 +58,8 @@ private: float volume_db; bool autoplay; bool stream_paused; - bool stream_paused_fade; + bool stream_fade; + bool stream_stop; StringName bus; MixTarget mix_target; @@ -110,4 +111,5 @@ public: }; VARIANT_ENUM_CAST(AudioStreamPlayer::MixTarget) -#endif // AUDIOPLAYER_H + +#endif // AUDIO_STREAM_PLAYER_H diff --git a/scene/gui/gradient_edit.h b/scene/gui/gradient_edit.h index fd340b3f6c..662278a17b 100644 --- a/scene/gui/gradient_edit.h +++ b/scene/gui/gradient_edit.h @@ -33,8 +33,8 @@ #include "scene/gui/color_picker.h" #include "scene/gui/popup.h" -#include "scene/resources/color_ramp.h" #include "scene/resources/default_theme/theme_data.h" +#include "scene/resources/gradient.h" #define POINT_WIDTH (8 * EDSCALE) diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp index efe452305b..f34cd131e4 100644 --- a/scene/gui/item_list.cpp +++ b/scene/gui/item_list.cpp @@ -1094,7 +1094,7 @@ void ItemList::_notification(int p_what) { if (items[i].disabled) modulate.a *= 0.5; - // If the icon is transposed, we have to swith the size so that it is drawn correctly + // If the icon is transposed, we have to switch the size so that it is drawn correctly if (items[i].icon_transposed) { Size2 size_tmp = draw_rect.size; draw_rect.size.x = size_tmp.y; diff --git a/scene/gui/link_button.h b/scene/gui/link_button.h index ffe248ac5e..17c4bca67b 100644 --- a/scene/gui/link_button.h +++ b/scene/gui/link_button.h @@ -32,7 +32,7 @@ #define LINKBUTTON_H #include "scene/gui/base_button.h" -#include "scene/resources/bit_mask.h" +#include "scene/resources/bit_map.h" class LinkButton : public BaseButton { diff --git a/scene/gui/option_button.cpp b/scene/gui/option_button.cpp index 98f427cc07..b9b270ce0c 100644 --- a/scene/gui/option_button.cpp +++ b/scene/gui/option_button.cpp @@ -160,6 +160,12 @@ int OptionButton::get_item_id(int p_idx) const { return popup->get_item_id(p_idx); } + +int OptionButton::get_item_index(int p_id) const { + + return popup->get_item_index(p_id); +} + Variant OptionButton::get_item_metadata(int p_idx) const { return popup->get_item_metadata(p_idx); @@ -306,6 +312,7 @@ void OptionButton::_bind_methods() { ClassDB::bind_method(D_METHOD("get_item_text", "idx"), &OptionButton::get_item_text); ClassDB::bind_method(D_METHOD("get_item_icon", "idx"), &OptionButton::get_item_icon); ClassDB::bind_method(D_METHOD("get_item_id", "idx"), &OptionButton::get_item_id); + ClassDB::bind_method(D_METHOD("get_item_index", "id"), &OptionButton::get_item_index); ClassDB::bind_method(D_METHOD("get_item_metadata", "idx"), &OptionButton::get_item_metadata); ClassDB::bind_method(D_METHOD("is_item_disabled", "idx"), &OptionButton::is_item_disabled); ClassDB::bind_method(D_METHOD("get_item_count"), &OptionButton::get_item_count); diff --git a/scene/gui/option_button.h b/scene/gui/option_button.h index 121b4c002d..63b451377a 100644 --- a/scene/gui/option_button.h +++ b/scene/gui/option_button.h @@ -71,6 +71,7 @@ public: String get_item_text(int p_idx) const; Ref<Texture> get_item_icon(int p_idx) const; int get_item_id(int p_idx) const; + int get_item_index(int p_id) const; Variant get_item_metadata(int p_idx) const; bool is_item_disabled(int p_idx) const; diff --git a/scene/gui/popup.cpp b/scene/gui/popup.cpp index 2d2c54594a..80ec7049fc 100644 --- a/scene/gui/popup.cpp +++ b/scene/gui/popup.cpp @@ -124,49 +124,22 @@ void Popup::popup_centered_minsize(const Size2 &p_minsize) { void Popup::popup_centered(const Size2 &p_size) { - Point2 window_size = get_viewport_rect().size; - - emit_signal("about_to_show"); Rect2 rect; + Size2 window_size = get_viewport_rect().size; rect.size = p_size == Size2() ? get_size() : p_size; - rect.position = ((window_size - rect.size) / 2.0).floor(); - set_position(rect.position); - set_size(rect.size); - - show_modal(exclusive); - _fix_size(); - Control *focusable = find_next_valid_focus(); - if (focusable) - focusable->grab_focus(); - - _post_popup(); - notification(NOTIFICATION_POST_POPUP); - popped_up = true; + popup(rect); } void Popup::popup_centered_ratio(float p_screen_ratio) { - emit_signal("about_to_show"); - Rect2 rect; - Point2 window_size = get_viewport_rect().size; + Size2 window_size = get_viewport_rect().size; rect.size = (window_size * p_screen_ratio).floor(); rect.position = ((window_size - rect.size) / 2.0).floor(); - set_position(rect.position); - set_size(rect.size); - show_modal(exclusive); - _fix_size(); - - Control *focusable = find_next_valid_focus(); - if (focusable) - focusable->grab_focus(); - - _post_popup(); - notification(NOTIFICATION_POST_POPUP); - popped_up = true; + popup(rect); } void Popup::popup(const Rect2 &p_bounds) { diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 4abde6cc0f..d2c56dba06 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -2202,10 +2202,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { bool had_selection = selection.active; // stuff to do when selection is active.. - if (selection.active) { - - if (readonly) - return; + if (!readonly && selection.active) { bool clear = false; bool unselect = false; diff --git a/scene/gui/texture_button.h b/scene/gui/texture_button.h index 4dc0de5358..d9224de686 100644 --- a/scene/gui/texture_button.h +++ b/scene/gui/texture_button.h @@ -32,7 +32,7 @@ #define TEXTURE_BUTTON_H #include "scene/gui/base_button.h" -#include "scene/resources/bit_mask.h" +#include "scene/resources/bit_map.h" class TextureButton : public BaseButton { GDCLASS(TextureButton, BaseButton); diff --git a/scene/gui/texture_progress.cpp b/scene/gui/texture_progress.cpp index 778d86d546..bf6a5d30bf 100644 --- a/scene/gui/texture_progress.cpp +++ b/scene/gui/texture_progress.cpp @@ -160,23 +160,27 @@ Point2 TextureProgress::unit_val_to_uv(float val) { if (edge == 0) { if (dir.x > 0) continue; - cp = -dir.x; cq = -(edgeLeft - p.x); + dir.x *= 2.0 * cq; + cp = -dir.x; } else if (edge == 1) { if (dir.x < 0) continue; - cp = dir.x; cq = (edgeRight - p.x); + dir.x *= 2.0 * cq; + cp = dir.x; } else if (edge == 2) { if (dir.y > 0) continue; - cp = -dir.y; cq = -(edgeBottom - p.y); + dir.y *= 2.0 * cq; + cp = -dir.y; } else if (edge == 3) { if (dir.y < 0) continue; - cp = dir.y; cq = (edgeTop - p.y); + dir.y *= 2.0 * cq; + cp = dir.y; } cr = cq / cp; if (cr >= 0 && cr < t1) diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 514be00227..f9c80c0477 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -1601,7 +1601,7 @@ void Tree::_range_click_timeout() { mb.instance(); ; - propagate_mouse_activated = false; //done from outside, so signal handler cant clear the tree in the middle of emit(which is a common case) + propagate_mouse_activated = false; // done from outside, so signal handler can't clear the tree in the middle of emit (which is a common case) blocked++; propagate_mouse_event(pos + cache.offset, 0, 0, false, root, BUTTON_LEFT, mb); blocked--; diff --git a/scene/main/scene_tree.h b/scene/main/scene_tree.h index 3a1ff5cb06..e15a64604d 100644 --- a/scene/main/scene_tree.h +++ b/scene/main/scene_tree.h @@ -43,7 +43,6 @@ @author Juan Linietsky <reduzio@gmail.com> */ -class SceneTree; class PackedScene; class Node; class Viewport; diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 61d6fc7401..f7df29fd19 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -37,8 +37,8 @@ #include "scene/3d/camera.h" #include "scene/3d/collision_object.h" #include "scene/3d/listener.h" -#include "scene/3d/scenario_fx.h" #include "scene/3d/spatial.h" +#include "scene/3d/world_environment.h" #include "scene/gui/control.h" #include "scene/gui/label.h" #include "scene/gui/menu_button.h" @@ -239,7 +239,7 @@ void Viewport::_collision_object_input_event(CollisionObject *p_object, Camera * ObjectID id = p_object->get_instance_id(); if (p_discard_empty_motion) { - //avoid sending the event unnecesarily if nothing really changed in the context + //avoid sending the event unnecessarily if nothing really changed in the context Ref<InputEventMouseMotion> mm = p_input_event; if (mm.is_valid() && object_transform == physics_last_object_transform && camera_transform == physics_last_camera_transform && physics_last_id == id) { return; //discarded @@ -425,7 +425,7 @@ void Viewport::_notification(int p_what) { bool discard_empty_motion = false; { // if no motion event exists, create a new one. This is necessary because objects or camera may have moved. - // while this extra event is sent, it is checked if both camera and last object and last ID did not move. If nothing changed, the event is discarded to avoid flooding with unnecesary motion events every frame + // while this extra event is sent, it is checked if both camera and last object and last ID did not move. If nothing changed, the event is discarded to avoid flooding with unnecessary motion events every frame bool has_mouse_motion = false; for (List<Ref<InputEvent> >::Element *E = physics_picking_events.front(); E; E = E->next()) { Ref<InputEventMouseMotion> mm = E->get(); @@ -2496,6 +2496,9 @@ void Viewport::_gui_remove_control(Control *p_control) { gui.mouse_focus = NULL; gui.mouse_focus_mask = 0; } + if (gui.last_mouse_focus == p_control) { + gui.last_mouse_focus = NULL; + } if (gui.key_focus == p_control) gui.key_focus = NULL; if (gui.mouse_over == p_control) diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp index 078d880d0e..49c9c4c23c 100644 --- a/scene/register_scene_types.cpp +++ b/scene/register_scene_types.cpp @@ -48,7 +48,7 @@ #include "scene/2d/light_occluder_2d.h" #include "scene/2d/line_2d.h" #include "scene/2d/mesh_instance_2d.h" -#include "scene/2d/navigation2d.h" +#include "scene/2d/navigation_2d.h" #include "scene/2d/parallax_background.h" #include "scene/2d/parallax_layer.h" #include "scene/2d/particles_2d.h" @@ -58,10 +58,10 @@ #include "scene/2d/position_2d.h" #include "scene/2d/ray_cast_2d.h" #include "scene/2d/remote_transform_2d.h" -#include "scene/2d/screen_button.h" #include "scene/2d/skeleton_2d.h" #include "scene/2d/sprite.h" #include "scene/2d/tile_map.h" +#include "scene/2d/touch_screen_button.h" #include "scene/2d/visibility_notifier_2d.h" #include "scene/2d/y_sort.h" #include "scene/animation/animation_blend_space_1d.h" @@ -73,7 +73,7 @@ #include "scene/animation/animation_tree_player.h" #include "scene/animation/root_motion_view.h" #include "scene/animation/tween.h" -#include "scene/audio/audio_player.h" +#include "scene/audio/audio_stream_player.h" #include "scene/gui/box_container.h" #include "scene/gui/button.h" #include "scene/gui/center_container.h" @@ -125,12 +125,11 @@ #include "scene/main/timer.h" #include "scene/main/viewport.h" #include "scene/resources/audio_stream_sample.h" -#include "scene/resources/bit_mask.h" +#include "scene/resources/bit_map.h" #include "scene/resources/box_shape.h" #include "scene/resources/capsule_shape.h" #include "scene/resources/capsule_shape_2d.h" #include "scene/resources/circle_shape_2d.h" -#include "scene/resources/color_ramp.h" #include "scene/resources/concave_polygon_shape.h" #include "scene/resources/concave_polygon_shape_2d.h" #include "scene/resources/convex_polygon_shape.h" @@ -139,6 +138,8 @@ #include "scene/resources/default_theme/default_theme.h" #include "scene/resources/dynamic_font.h" #include "scene/resources/dynamic_font_stb.h" +#include "scene/resources/gradient.h" +#include "scene/resources/line_shape_2d.h" #include "scene/resources/material.h" #include "scene/resources/mesh.h" #include "scene/resources/mesh_data_tool.h" @@ -151,10 +152,9 @@ #include "scene/resources/primitive_meshes.h" #include "scene/resources/ray_shape.h" #include "scene/resources/rectangle_shape_2d.h" -#include "scene/resources/scene_format_text.h" +#include "scene/resources/resource_format_text.h" #include "scene/resources/segment_shape_2d.h" -#include "scene/resources/shape_line_2d.h" -#include "scene/resources/sky_box.h" +#include "scene/resources/sky.h" #include "scene/resources/sphere_shape.h" #include "scene/resources/surface_tool.h" #include "scene/resources/text_file.h" @@ -167,8 +167,8 @@ #include "scene/resources/world_2d.h" #include "scene/scene_string_names.h" -#include "scene/3d/scenario_fx.h" #include "scene/3d/spatial.h" +#include "scene/3d/world_environment.h" #ifndef _3D_DISABLED #include "scene/3d/area.h" diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp index 3156e12c50..a7544cc031 100644 --- a/scene/resources/animation.cpp +++ b/scene/resources/animation.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "animation.h" +#include "scene/scene_string_names.h" #include "core/math/geometry.h" @@ -668,6 +669,7 @@ int Animation::add_track(TrackType p_type, int p_at_pos) { } } emit_changed(); + emit_signal(SceneStringNames::get_singleton()->tracks_changed); return p_at_pos; } @@ -719,6 +721,7 @@ void Animation::remove_track(int p_track) { memdelete(t); tracks.remove(p_track); emit_changed(); + emit_signal(SceneStringNames::get_singleton()->tracks_changed); } int Animation::get_track_count() const { @@ -737,6 +740,7 @@ void Animation::track_set_path(int p_track, const NodePath &p_path) { ERR_FAIL_INDEX(p_track, tracks.size()); tracks[p_track]->path = p_path; emit_changed(); + emit_signal(SceneStringNames::get_singleton()->tracks_changed); } NodePath Animation::track_get_path(int p_track) const { @@ -1410,6 +1414,8 @@ void Animation::track_set_key_value(int p_track, int p_key_idx, const Variant &p } break; } + + emit_changed(); } void Animation::track_set_key_transition(int p_track, int p_key_idx, float p_transition) { @@ -1445,6 +1451,8 @@ void Animation::track_set_key_transition(int p_track, int p_key_idx, float p_tra // they don't use transition } break; } + + emit_changed(); } template <class K> @@ -2554,6 +2562,7 @@ void Animation::track_move_up(int p_track) { } emit_changed(); + emit_signal(SceneStringNames::get_singleton()->tracks_changed); } void Animation::track_set_imported(int p_track, bool p_imported) { @@ -2588,6 +2597,7 @@ void Animation::track_move_down(int p_track) { SWAP(tracks.write[p_track], tracks.write[p_track - 1]); } emit_changed(); + emit_signal(SceneStringNames::get_singleton()->tracks_changed); } void Animation::track_swap(int p_track, int p_with_track) { @@ -2598,6 +2608,7 @@ void Animation::track_swap(int p_track, int p_with_track) { return; SWAP(tracks.write[p_track], tracks.write[p_with_track]); emit_changed(); + emit_signal(SceneStringNames::get_singleton()->tracks_changed); } void Animation::set_step(float p_step) { @@ -2716,6 +2727,8 @@ void Animation::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "loop"), "set_loop", "has_loop"); ADD_PROPERTY(PropertyInfo(Variant::REAL, "step", PROPERTY_HINT_RANGE, "0,4096,0.001"), "set_step", "get_step"); + ADD_SIGNAL(MethodInfo("tracks_changed")); + BIND_ENUM_CONSTANT(TYPE_VALUE); BIND_ENUM_CONSTANT(TYPE_TRANSFORM); BIND_ENUM_CONSTANT(TYPE_METHOD); @@ -2740,6 +2753,8 @@ void Animation::clear() { tracks.clear(); loop = false; length = 1; + emit_changed(); + emit_signal(SceneStringNames::get_singleton()->tracks_changed); } bool Animation::_transform_track_optimize_key(const TKey<TransformKey> &t0, const TKey<TransformKey> &t1, const TKey<TransformKey> &t2, float p_alowed_linear_err, float p_alowed_angular_err, float p_max_optimizable_angle, const Vector3 &p_norm) { diff --git a/scene/resources/bit_mask.cpp b/scene/resources/bit_map.cpp index 0e2152f244..8263096c8f 100644 --- a/scene/resources/bit_mask.cpp +++ b/scene/resources/bit_map.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* bit_mask.cpp */ +/* bit_map.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "bit_mask.h" +#include "bit_map.h" #include "core/io/image_loader.h" diff --git a/scene/resources/bit_mask.h b/scene/resources/bit_map.h index 4575064260..b3c86afd38 100644 --- a/scene/resources/bit_mask.h +++ b/scene/resources/bit_map.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* bit_mask.h */ +/* bit_map.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef BIT_MASK_H -#define BIT_MASK_H +#ifndef BIT_MAP_H +#define BIT_MAP_H #include "core/image.h" #include "core/io/resource_loader.h" @@ -72,4 +72,4 @@ public: BitMap(); }; -#endif // BIT_MASK_H +#endif // BIT_MAP_H diff --git a/scene/resources/bounds.cpp b/scene/resources/bounds.cpp deleted file mode 100644 index e6fa5b818d..0000000000 --- a/scene/resources/bounds.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/*************************************************************************/ -/* bounds.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#include "bounds.h" - -void Bounds::_bind_methods() { - - ClassDB::bind_method(D_METHOD("set_bsp_tree", "bsp_tree"), &Bounds::set_bsp_tree); - ClassDB::bind_method(D_METHOD("get_bsp_tree"), &Bounds::get_bsp_tree); - - ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "bsp_tree"), "set_bsp_tree", "get_bsp_tree"); -} - -void Bounds::set_bsp_tree(const BSP_Tree &p_bsp_tree) { - - bsp_tree = p_bsp_tree; -} - -BSP_Tree Bounds::get_bsp_tree() const { - - return bsp_tree; -} - -Bounds::Bounds() { -} diff --git a/scene/resources/bounds.h b/scene/resources/bounds.h deleted file mode 100644 index 9a1801f23d..0000000000 --- a/scene/resources/bounds.h +++ /dev/null @@ -1,52 +0,0 @@ -/*************************************************************************/ -/* bounds.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2019 Godot Engine contributors (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 in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifndef BOUNDS_H -#define BOUNDS_H - -#include "core/math/bsp_tree.h" -#include "core/resource.h" - -class Bounds : public Resource { - - GDCLASS(Bounds, Resource); - BSP_Tree bsp_tree; - -protected: - static void _bind_methods(); - -public: - void set_bsp_tree(const BSP_Tree &p_bsp_tree); - BSP_Tree get_bsp_tree() const; - - Bounds(); -}; - -#endif // BOUNDS_H diff --git a/scene/resources/dynamic_font.h b/scene/resources/dynamic_font.h index 39e81ca43d..887c7b42c8 100644 --- a/scene/resources/dynamic_font.h +++ b/scene/resources/dynamic_font.h @@ -54,8 +54,9 @@ public: struct { uint32_t size : 16; uint32_t outline_size : 8; - bool mipmaps : 1; - bool filter : 1; + uint32_t mipmaps : 1; + uint32_t filter : 1; + uint32_t unused : 6; }; uint32_t key; }; diff --git a/scene/resources/environment.h b/scene/resources/environment.h index 666112b473..a54f13a88f 100644 --- a/scene/resources/environment.h +++ b/scene/resources/environment.h @@ -32,7 +32,7 @@ #define ENVIRONMENT_H #include "core/resource.h" -#include "scene/resources/sky_box.h" +#include "scene/resources/sky.h" #include "scene/resources/texture.h" #include "servers/visual_server.h" diff --git a/scene/resources/color_ramp.cpp b/scene/resources/gradient.cpp index 845a1474a4..99ce8ef821 100644 --- a/scene/resources/color_ramp.cpp +++ b/scene/resources/gradient.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* color_ramp.cpp */ +/* gradient.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "color_ramp.h" +#include "gradient.h" + #include "core/core_string_names.h" //setter and getter names for property serialization diff --git a/scene/resources/color_ramp.h b/scene/resources/gradient.h index 7a96bb429b..a51a0ca0d0 100644 --- a/scene/resources/color_ramp.h +++ b/scene/resources/gradient.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* color_ramp.h */ +/* gradient.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef SCENE_RESOURCES_COLOR_RAMP_H_ -#define SCENE_RESOURCES_COLOR_RAMP_H_ +#ifndef GRADIENT_H +#define GRADIENT_H #include "core/resource.h" @@ -126,4 +126,4 @@ public: int get_points_count() const; }; -#endif /* SCENE_RESOURCES_COLOR_RAMP_H_ */ +#endif // GRADIENT_H diff --git a/scene/resources/shape_line_2d.cpp b/scene/resources/line_shape_2d.cpp index 4ca535658f..f5d5fb561a 100644 --- a/scene/resources/shape_line_2d.cpp +++ b/scene/resources/line_shape_2d.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* shape_line_2d.cpp */ +/* line_shape_2d.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "shape_line_2d.h" +#include "line_shape_2d.h" + #include "servers/physics_2d_server.h" #include "servers/visual_server.h" diff --git a/scene/resources/shape_line_2d.h b/scene/resources/line_shape_2d.h index dd3dbe3a43..f684862025 100644 --- a/scene/resources/shape_line_2d.h +++ b/scene/resources/line_shape_2d.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* shape_line_2d.h */ +/* line_shape_2d.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef SHAPE_LINE_2D_H -#define SHAPE_LINE_2D_H +#ifndef LINE_SHAPE_2D_H +#define LINE_SHAPE_2D_H #include "scene/resources/shape_2d.h" @@ -59,4 +59,4 @@ public: LineShape2D(); }; -#endif // SHAPE_LINE_2D_H +#endif // LINE_SHAPE_2D_H diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp index 805d30245a..a9878ef5c1 100644 --- a/scene/resources/mesh.cpp +++ b/scene/resources/mesh.cpp @@ -787,7 +787,6 @@ void ArrayMesh::add_surface_from_arrays(PrimitiveType p_primitive, const Array & Surface s; VisualServer::get_singleton()->mesh_add_surface_from_arrays(mesh, (VisualServer::PrimitiveType)p_primitive, p_arrays, p_blend_shapes, p_flags); - surfaces.push_back(s); /* make aABB? */ { @@ -808,8 +807,9 @@ void ArrayMesh::add_surface_from_arrays(PrimitiveType p_primitive, const Array & aabb.expand_to(vtx[i]); } - surfaces.write[surfaces.size() - 1].aabb = aabb; - surfaces.write[surfaces.size() - 1].is_2d = arr.get_type() == Variant::POOL_VECTOR2_ARRAY; + s.aabb = aabb; + s.is_2d = arr.get_type() == Variant::POOL_VECTOR2_ARRAY; + surfaces.push_back(s); _recompute_aabb(); } diff --git a/scene/resources/scene_format_text.cpp b/scene/resources/resource_format_text.cpp index d00a7c2918..e838d4a685 100644 --- a/scene/resources/scene_format_text.cpp +++ b/scene/resources/resource_format_text.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* scene_format_text.cpp */ +/* resource_format_text.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "scene_format_text.h" +#include "resource_format_text.h" + #include "core/io/resource_format_binary.h" #include "core/os/dir_access.h" #include "core/project_settings.h" diff --git a/scene/resources/scene_format_text.h b/scene/resources/resource_format_text.h index 8fedbd0dd6..526f7760d2 100644 --- a/scene/resources/scene_format_text.h +++ b/scene/resources/resource_format_text.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* scene_format_text.h */ +/* resource_format_text.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef SCENE_FORMAT_TEXT_H -#define SCENE_FORMAT_TEXT_H +#ifndef RESOURCE_FORMAT_TEXT_H +#define RESOURCE_FORMAT_TEXT_H #include "core/io/resource_loader.h" #include "core/io/resource_saver.h" @@ -180,4 +180,4 @@ public: ResourceFormatSaverText(); }; -#endif // SCENE_FORMAT_TEXT_H +#endif // RESOURCE_FORMAT_TEXT_H diff --git a/scene/resources/sky_box.cpp b/scene/resources/sky.cpp index d9da85310e..a473fe8b7f 100644 --- a/scene/resources/sky_box.cpp +++ b/scene/resources/sky.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* sky_box.cpp */ +/* sky.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "sky_box.h" +#include "sky.h" + #include "core/io/image_loader.h" void Sky::set_radiance_size(RadianceSize p_size) { diff --git a/scene/resources/sky_box.h b/scene/resources/sky.h index af10803b36..3b410396e0 100644 --- a/scene/resources/sky_box.h +++ b/scene/resources/sky.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* sky_box.h */ +/* sky.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,11 +28,12 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef SKY_BOX_H -#define SKY_BOX_H +#ifndef SKY_H +#define SKY_H #include "core/os/thread.h" #include "scene/resources/texture.h" + class Sky : public Resource { GDCLASS(Sky, Resource); @@ -196,4 +197,4 @@ public: VARIANT_ENUM_CAST(ProceduralSky::TextureSize) -#endif // SKY_BOX_H +#endif // SKY_H diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp index 2116dd0b1e..83f29503fa 100644 --- a/scene/resources/surface_tool.cpp +++ b/scene/resources/surface_tool.cpp @@ -190,10 +190,10 @@ void SurfaceTool::add_smooth_group(bool p_smooth) { } } -void SurfaceTool::add_triangle_fan(const Vector<Vector3> &p_vertexes, const Vector<Vector2> &p_uvs, const Vector<Color> &p_colors, const Vector<Vector2> &p_uv2s, const Vector<Vector3> &p_normals, const Vector<Plane> &p_tangents) { +void SurfaceTool::add_triangle_fan(const Vector<Vector3> &p_vertices, const Vector<Vector2> &p_uvs, const Vector<Color> &p_colors, const Vector<Vector2> &p_uv2s, const Vector<Vector3> &p_normals, const Vector<Plane> &p_tangents) { ERR_FAIL_COND(!begun); ERR_FAIL_COND(primitive != Mesh::PRIMITIVE_TRIANGLES); - ERR_FAIL_COND(p_vertexes.size() < 3); + ERR_FAIL_COND(p_vertices.size() < 3); #define ADD_POINT(n) \ { \ @@ -207,10 +207,10 @@ void SurfaceTool::add_triangle_fan(const Vector<Vector3> &p_vertexes, const Vect add_normal(p_normals[n]); \ if (p_tangents.size() > n) \ add_tangent(p_tangents[n]); \ - add_vertex(p_vertexes[n]); \ + add_vertex(p_vertices[n]); \ } - for (int i = 0; i < p_vertexes.size() - 2; i++) { + for (int i = 0; i < p_vertices.size() - 2; i++) { ADD_POINT(0); ADD_POINT(i + 1); ADD_POINT(i + 2); @@ -1012,7 +1012,7 @@ void SurfaceTool::_bind_methods() { ClassDB::bind_method(D_METHOD("add_weights", "weights"), &SurfaceTool::add_weights); ClassDB::bind_method(D_METHOD("add_smooth_group", "smooth"), &SurfaceTool::add_smooth_group); - ClassDB::bind_method(D_METHOD("add_triangle_fan", "vertexes", "uvs", "colors", "uv2s", "normals", "tangents"), &SurfaceTool::add_triangle_fan, DEFVAL(Vector<Vector2>()), DEFVAL(Vector<Color>()), DEFVAL(Vector<Vector2>()), DEFVAL(Vector<Vector3>()), DEFVAL(Vector<Plane>())); + ClassDB::bind_method(D_METHOD("add_triangle_fan", "vertices", "uvs", "colors", "uv2s", "normals", "tangents"), &SurfaceTool::add_triangle_fan, DEFVAL(Vector<Vector2>()), DEFVAL(Vector<Color>()), DEFVAL(Vector<Vector2>()), DEFVAL(Vector<Vector3>()), DEFVAL(Vector<Plane>())); ClassDB::bind_method(D_METHOD("add_index", "index"), &SurfaceTool::add_index); diff --git a/scene/resources/surface_tool.h b/scene/resources/surface_tool.h index ef13238c13..a3b110f0d8 100644 --- a/scene/resources/surface_tool.h +++ b/scene/resources/surface_tool.h @@ -109,7 +109,7 @@ public: void add_weights(const Vector<float> &p_weights); void add_smooth_group(bool p_smooth); - void add_triangle_fan(const Vector<Vector3> &p_vertexes, const Vector<Vector2> &p_uvs = Vector<Vector2>(), const Vector<Color> &p_colors = Vector<Color>(), const Vector<Vector2> &p_uv2s = Vector<Vector2>(), const Vector<Vector3> &p_normals = Vector<Vector3>(), const Vector<Plane> &p_tangents = Vector<Plane>()); + void add_triangle_fan(const Vector<Vector3> &p_vertices, const Vector<Vector2> &p_uvs = Vector<Vector2>(), const Vector<Color> &p_colors = Vector<Color>(), const Vector<Vector2> &p_uv2s = Vector<Vector2>(), const Vector<Vector3> &p_normals = Vector<Vector3>(), const Vector<Plane> &p_tangents = Vector<Plane>()); void add_index(int p_index); diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp index ff5900cd3e..b60ec9a80d 100644 --- a/scene/resources/texture.cpp +++ b/scene/resources/texture.cpp @@ -34,7 +34,7 @@ #include "core/io/image_loader.h" #include "core/method_bind_ext.gen.inc" #include "core/os/os.h" -#include "scene/resources/bit_mask.h" +#include "scene/resources/bit_map.h" Size2 Texture::get_size() const { diff --git a/scene/resources/texture.h b/scene/resources/texture.h index 4b5b504510..bfea0f9300 100644 --- a/scene/resources/texture.h +++ b/scene/resources/texture.h @@ -37,8 +37,8 @@ #include "core/os/rw_lock.h" #include "core/os/thread_safe.h" #include "core/resource.h" -#include "scene/resources/color_ramp.h" #include "scene/resources/curve.h" +#include "scene/resources/gradient.h" #include "servers/visual_server.h" /** diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp index d96b37938f..692c28ed99 100644 --- a/scene/resources/visual_shader.cpp +++ b/scene/resources/visual_shader.cpp @@ -569,7 +569,7 @@ bool VisualShader::_set(const StringName &p_name, const Variant &p_value) { String mode = name.get_slicec('/', 1); int value = p_value; if (value == 0) { - modes.erase(mode); //means its default anyway, so dont store it + modes.erase(mode); //means it's default anyway, so don't store it } else { modes[mode] = value; } diff --git a/scene/scene_string_names.cpp b/scene/scene_string_names.cpp index 305e4fc735..634f4d7160 100644 --- a/scene/scene_string_names.cpp +++ b/scene/scene_string_names.cpp @@ -203,4 +203,6 @@ SceneStringNames::SceneStringNames() { _mesh_changed = StaticCString::create("_mesh_changed"); parameters_base_path = "parameters/"; + + tracks_changed = "tracks_changed"; } diff --git a/scene/scene_string_names.h b/scene/scene_string_names.h index 103b06dbc1..bc75165b8c 100644 --- a/scene/scene_string_names.h +++ b/scene/scene_string_names.h @@ -32,7 +32,7 @@ #define SCENE_STRING_NAMES_H #include "core/node_path.h" -#include "core/string_db.h" +#include "core/string_name.h" class SceneStringNames { friend void register_scene_types(); @@ -205,6 +205,8 @@ public: StringName parameters_base_path; + StringName tracks_changed; + enum { MAX_MATERIALS = 32 }; diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp index 3b1734287a..a2e5813a4f 100644 --- a/servers/audio_server.cpp +++ b/servers/audio_server.cpp @@ -977,7 +977,7 @@ void AudioServer::update() { uint64_t driver_time = AudioDriver::get_singleton()->get_profiling_time(); uint64_t server_time = prof_time; - // Substract the server time from the driver time + // Subtract the server time from the driver time if (driver_time > server_time) driver_time -= server_time; @@ -995,7 +995,7 @@ void AudioServer::update() { values.push_back(String(bus->name) + bus->effects[j].effect->get_name()); values.push_back(USEC_TO_SEC(bus->effects[j].prof_time)); - // Substract the effect time from the driver and server times + // Subtract the effect time from the driver and server times if (driver_time > bus->effects[j].prof_time) driver_time -= bus->effects[j].prof_time; if (server_time > bus->effects[j].prof_time) diff --git a/servers/physics/collision_solver_sat.cpp b/servers/physics/collision_solver_sat.cpp index fd919343f0..e2d7c8c44e 100644 --- a/servers/physics/collision_solver_sat.cpp +++ b/servers/physics/collision_solver_sat.cpp @@ -1337,7 +1337,7 @@ static void _collision_convex_polygon_convex_polygon(const ShapeSW *p_a, const T return; } } - //edge-vertex( hsell) + //edge-vertex (shell) for (int i = 0; i < edge_count_A; i++) { @@ -1438,7 +1438,7 @@ static void _collision_convex_polygon_face(const ShapeSW *p_a, const Transform & return; } } - //edge-vertex( hsell) + //edge-vertex (shell) for (int i = 0; i < edge_count; i++) { diff --git a/servers/physics/shape_sw.cpp b/servers/physics/shape_sw.cpp index fdc5eccc5a..d40de669fd 100644 --- a/servers/physics/shape_sw.cpp +++ b/servers/physics/shape_sw.cpp @@ -32,7 +32,7 @@ #include "core/math/geometry.h" #include "core/math/quick_hull.h" -#include "core/sort.h" +#include "core/sort_array.h" #define _POINT_SNAP 0.001953125 #define _EDGE_IS_VALID_SUPPORT_THRESHOLD 0.0002 diff --git a/servers/physics/space_sw.cpp b/servers/physics/space_sw.cpp index 1087cd2483..80c17b437c 100644 --- a/servers/physics/space_sw.cpp +++ b/servers/physics/space_sw.cpp @@ -387,6 +387,7 @@ struct _RestCallbackData { Vector3 best_contact; Vector3 best_normal; real_t best_len; + real_t min_allowed_depth; }; static void _rest_cbk_result(const Vector3 &p_point_A, const Vector3 &p_point_B, void *p_userdata) { @@ -395,6 +396,8 @@ static void _rest_cbk_result(const Vector3 &p_point_A, const Vector3 &p_point_B, Vector3 contact_rel = p_point_B - p_point_A; real_t len = contact_rel.length(); + if (len < rd->min_allowed_depth) + return; if (len <= rd->best_len) return; @@ -418,6 +421,7 @@ bool PhysicsDirectSpaceStateSW::rest_info(RID p_shape, const Transform &p_shape_ rcd.best_len = 0; rcd.best_object = NULL; rcd.best_shape = 0; + rcd.min_allowed_depth = space->test_motion_min_contact_depth; for (int i = 0; i < amount; i++) { @@ -593,7 +597,6 @@ int SpaceSW::test_body_ray_separation(BodySW *p_body, const Transform &p_transfo bool collided = false; int amount = _cull_aabb_for_body(p_body, body_aabb); - int ray_index = 0; for (int j = 0; j < p_body->get_shape_count(); j++) { if (p_body->is_shape_set_as_disabled(j)) @@ -627,7 +630,19 @@ int SpaceSW::test_body_ray_separation(BodySW *p_body, const Transform &p_transfo collided = true; } - if (ray_index < p_result_max) { + int ray_index = -1; //reuse shape + for (int k = 0; k < rays_found; k++) { + if (r_results[ray_index].collision_local_shape == j) { + ray_index = k; + } + } + + if (ray_index == -1 && rays_found < p_result_max) { + ray_index = rays_found; + rays_found++; + } + + if (ray_index != -1) { PhysicsServer::SeparationResult &result = r_results[ray_index]; for (int k = 0; k < cbk.amount; k++) { @@ -642,9 +657,10 @@ int SpaceSW::test_body_ray_separation(BodySW *p_body, const Transform &p_transfo result.collision_depth = depth; result.collision_point = b; result.collision_normal = (b - a).normalized(); - result.collision_local_shape = shape_idx; + result.collision_local_shape = j; result.collider = col_obj->get_self(); result.collider_id = col_obj->get_instance_id(); + result.collider_shape = shape_idx; //result.collider_metadata = col_obj->get_shape_metadata(shape_idx); if (col_obj->get_type() == CollisionObjectSW::TYPE_BODY) { BodySW *body = (BodySW *)col_obj; @@ -658,12 +674,8 @@ int SpaceSW::test_body_ray_separation(BodySW *p_body, const Transform &p_transfo } } } - - ray_index++; } - rays_found = MAX(ray_index, rays_found); - if (!collided || recover_motion == Vector3()) { break; } @@ -717,6 +729,11 @@ bool SpaceSW::test_body_motion(BodySW *p_body, const Transform &p_from, const Ve } if (!shapes_found) { + if (r_result) { + *r_result = PhysicsServer::MotionResult(); + r_result->motion = p_motion; + } + return false; } @@ -924,6 +941,7 @@ bool SpaceSW::test_body_motion(BodySW *p_body, const Transform &p_from, const Ve rcd.best_len = 0; rcd.best_object = NULL; rcd.best_shape = 0; + rcd.min_allowed_depth = test_motion_min_contact_depth; Transform body_shape_xform = ugt * p_body->get_shape_transform(best_shape); ShapeSW *body_shape = p_body->get_shape(best_shape); @@ -1148,6 +1166,7 @@ void SpaceSW::set_param(PhysicsServer::SpaceParameter p_param, real_t p_value) { case PhysicsServer::SPACE_PARAM_BODY_TIME_TO_SLEEP: body_time_to_sleep = p_value; break; case PhysicsServer::SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO: body_angular_velocity_damp_ratio = p_value; break; case PhysicsServer::SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS: constraint_bias = p_value; break; + case PhysicsServer::SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH: test_motion_min_contact_depth = p_value; break; } } @@ -1163,6 +1182,7 @@ real_t SpaceSW::get_param(PhysicsServer::SpaceParameter p_param) const { case PhysicsServer::SPACE_PARAM_BODY_TIME_TO_SLEEP: return body_time_to_sleep; case PhysicsServer::SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO: return body_angular_velocity_damp_ratio; case PhysicsServer::SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS: return constraint_bias; + case PhysicsServer::SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH: return test_motion_min_contact_depth; } return 0; } @@ -1198,6 +1218,7 @@ SpaceSW::SpaceSW() { contact_recycle_radius = 0.01; contact_max_separation = 0.05; contact_max_allowed_penetration = 0.01; + test_motion_min_contact_depth = 0.00001; constraint_bias = 0.01; body_linear_velocity_sleep_threshold = GLOBAL_DEF("physics/3d/sleep_threshold_linear", 0.1); diff --git a/servers/physics/space_sw.h b/servers/physics/space_sw.h index ae6f349e51..3aaa552845 100644 --- a/servers/physics/space_sw.h +++ b/servers/physics/space_sw.h @@ -96,6 +96,7 @@ private: real_t contact_max_separation; real_t contact_max_allowed_penetration; real_t constraint_bias; + real_t test_motion_min_contact_depth; enum { diff --git a/servers/physics_2d/shape_2d_sw.cpp b/servers/physics_2d/shape_2d_sw.cpp index 558700f400..b622550ec9 100644 --- a/servers/physics_2d/shape_2d_sw.cpp +++ b/servers/physics_2d/shape_2d_sw.cpp @@ -31,7 +31,7 @@ #include "shape_2d_sw.h" #include "core/math/geometry.h" -#include "core/sort.h" +#include "core/sort_array.h" void Shape2DSW::configure(const Rect2 &p_aabb) { aabb = p_aabb; diff --git a/servers/physics_2d/space_2d_sw.cpp b/servers/physics_2d/space_2d_sw.cpp index 5ed70803ed..2e338b03cc 100644 --- a/servers/physics_2d/space_2d_sw.cpp +++ b/servers/physics_2d/space_2d_sw.cpp @@ -375,6 +375,7 @@ struct _RestCallbackData2D { real_t best_len; Vector2 valid_dir; real_t valid_depth; + real_t min_allowed_depth; }; static void _rest_cbk_result(const Vector2 &p_point_A, const Vector2 &p_point_B, void *p_userdata) { @@ -390,6 +391,10 @@ static void _rest_cbk_result(const Vector2 &p_point_A, const Vector2 &p_point_B, Vector2 contact_rel = p_point_B - p_point_A; real_t len = contact_rel.length(); + + if (len < rd->min_allowed_depth) + return; + if (len <= rd->best_len) return; @@ -416,6 +421,7 @@ bool Physics2DDirectSpaceStateSW::rest_info(RID p_shape, const Transform2D &p_sh rcd.best_len = 0; rcd.best_object = NULL; rcd.best_shape = 0; + rcd.min_allowed_depth = space->test_motion_min_contact_depth; for (int i = 0; i < amount; i++) { @@ -555,7 +561,6 @@ int Space2DSW::test_body_ray_separation(Body2DSW *p_body, const Transform2D &p_t bool collided = false; int amount = _cull_aabb_for_body(p_body, body_aabb); - int ray_index = 0; for (int j = 0; j < p_body->get_shape_count(); j++) { if (p_body->is_shape_set_as_disabled(j)) @@ -587,6 +592,10 @@ int Space2DSW::test_body_ray_separation(Body2DSW *p_body, const Transform2D &p_t Transform2D col_obj_shape_xform = col_obj->get_transform() * col_obj->get_shape_transform(shape_idx); + /* + * There is no point in supporting one way collisions with ray shapes, as they will always collide in the desired + * direction. Use a short ray shape if you want to achieve a similar effect. + * if (col_obj->is_shape_set_as_one_way_collision(shape_idx)) { cbk.valid_dir = col_obj_shape_xform.get_axis(1).normalized(); @@ -594,10 +603,15 @@ int Space2DSW::test_body_ray_separation(Body2DSW *p_body, const Transform2D &p_t cbk.invalid_by_dir = 0; } else { - cbk.valid_dir = Vector2(); - cbk.valid_depth = 0; - cbk.invalid_by_dir = 0; +*/ + + cbk.valid_dir = Vector2(); + cbk.valid_depth = 0; + cbk.invalid_by_dir = 0; + + /* } + */ Shape2DSW *against_shape = col_obj->get_shape(shape_idx); if (CollisionSolver2DSW::solve(body_shape, body_shape_xform, Vector2(), against_shape, col_obj_shape_xform, Vector2(), cbkres, cbkptr, NULL, p_margin)) { @@ -605,7 +619,19 @@ int Space2DSW::test_body_ray_separation(Body2DSW *p_body, const Transform2D &p_t collided = true; } - if (ray_index < p_result_max) { + int ray_index = -1; //reuse shape + for (int k = 0; k < rays_found; k++) { + if (r_results[ray_index].collision_local_shape == j) { + ray_index = k; + } + } + + if (ray_index == -1 && rays_found < p_result_max) { + ray_index = rays_found; + rays_found++; + } + + if (ray_index != -1) { Physics2DServer::SeparationResult &result = r_results[ray_index]; for (int k = 0; k < cbk.amount; k++) { @@ -620,7 +646,8 @@ int Space2DSW::test_body_ray_separation(Body2DSW *p_body, const Transform2D &p_t result.collision_depth = depth; result.collision_point = b; result.collision_normal = (b - a).normalized(); - result.collision_local_shape = shape_idx; + result.collision_local_shape = j; + result.collider_shape = shape_idx; result.collider = col_obj->get_self(); result.collider_id = col_obj->get_instance_id(); result.collider_metadata = col_obj->get_shape_metadata(shape_idx); @@ -635,12 +662,8 @@ int Space2DSW::test_body_ray_separation(Body2DSW *p_body, const Transform2D &p_t } } } - - ray_index++; } - rays_found = MAX(ray_index, rays_found); - if (!collided || recover_motion == Vector2()) { break; } @@ -695,6 +718,10 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co } if (!shapes_found) { + if (r_result) { + *r_result = Physics2DServer::MotionResult(); + r_result->motion = p_motion; + } return false; } @@ -990,12 +1017,17 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co rcd.best_len = 0; rcd.best_object = NULL; rcd.best_shape = 0; + rcd.min_allowed_depth = test_motion_min_contact_depth; //optimization int from_shape = best_shape != -1 ? best_shape : 0; int to_shape = best_shape != -1 ? best_shape + 1 : p_body->get_shape_count(); for (int j = from_shape; j < to_shape; j++) { + + if (p_body->is_shape_set_as_disabled(j)) + continue; + Transform2D body_shape_xform = ugt * p_body->get_shape_transform(j); Shape2DSW *body_shape = p_body->get_shape(j); @@ -1249,6 +1281,7 @@ void Space2DSW::set_param(Physics2DServer::SpaceParameter p_param, real_t p_valu case Physics2DServer::SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD: body_angular_velocity_sleep_threshold = p_value; break; case Physics2DServer::SPACE_PARAM_BODY_TIME_TO_SLEEP: body_time_to_sleep = p_value; break; case Physics2DServer::SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS: constraint_bias = p_value; break; + case Physics2DServer::SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH: test_motion_min_contact_depth = p_value; break; } } @@ -1263,6 +1296,7 @@ real_t Space2DSW::get_param(Physics2DServer::SpaceParameter p_param) const { case Physics2DServer::SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD: return body_angular_velocity_sleep_threshold; case Physics2DServer::SPACE_PARAM_BODY_TIME_TO_SLEEP: return body_time_to_sleep; case Physics2DServer::SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS: return constraint_bias; + case Physics2DServer::SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH: return test_motion_min_contact_depth; } return 0; } @@ -1299,6 +1333,7 @@ Space2DSW::Space2DSW() { contact_recycle_radius = 1.0; contact_max_separation = 1.5; contact_max_allowed_penetration = 0.3; + test_motion_min_contact_depth = 0.005; constraint_bias = 0.2; body_linear_velocity_sleep_threshold = GLOBAL_DEF("physics/2d/sleep_threshold_linear", 2.0); diff --git a/servers/physics_2d/space_2d_sw.h b/servers/physics_2d/space_2d_sw.h index 64f8c9e156..14c24959b7 100644 --- a/servers/physics_2d/space_2d_sw.h +++ b/servers/physics_2d/space_2d_sw.h @@ -104,6 +104,7 @@ private: real_t contact_max_separation; real_t contact_max_allowed_penetration; real_t constraint_bias; + real_t test_motion_min_contact_depth; enum { diff --git a/servers/physics_2d_server.cpp b/servers/physics_2d_server.cpp index ca914b67e0..3a05791f17 100644 --- a/servers/physics_2d_server.cpp +++ b/servers/physics_2d_server.cpp @@ -693,6 +693,7 @@ void Physics2DServer::_bind_methods() { BIND_ENUM_CONSTANT(SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD); BIND_ENUM_CONSTANT(SPACE_PARAM_BODY_TIME_TO_SLEEP); BIND_ENUM_CONSTANT(SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS); + BIND_ENUM_CONSTANT(SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH); BIND_ENUM_CONSTANT(SHAPE_LINE); BIND_ENUM_CONSTANT(SHAPE_RAY); diff --git a/servers/physics_2d_server.h b/servers/physics_2d_server.h index df7fe46f76..1de9c7df93 100644 --- a/servers/physics_2d_server.h +++ b/servers/physics_2d_server.h @@ -289,6 +289,7 @@ public: SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD, SPACE_PARAM_BODY_TIME_TO_SLEEP, SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS, + SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH, }; virtual void space_set_param(RID p_space, SpaceParameter p_param, real_t p_value) = 0; @@ -504,6 +505,12 @@ public: RID collider; int collider_shape; Variant collider_metadata; + + MotionResult() { + collision_local_shape = 0; + collider_shape = 0; + collider_id = 0; + } }; virtual bool body_test_motion(RID p_body, const Transform2D &p_from, const Vector2 &p_motion, bool p_infinite_inertia, float p_margin = 0.001, MotionResult *r_result = NULL, bool p_exclude_raycast_shapes = true) = 0; diff --git a/servers/physics_server.cpp b/servers/physics_server.cpp index 967e74d322..e07133b5bb 100644 --- a/servers/physics_server.cpp +++ b/servers/physics_server.cpp @@ -709,6 +709,8 @@ void PhysicsServer::_bind_methods() { BIND_ENUM_CONSTANT(SPACE_PARAM_BODY_TIME_TO_SLEEP); BIND_ENUM_CONSTANT(SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO); BIND_ENUM_CONSTANT(SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS); + BIND_ENUM_CONSTANT(SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH); + BIND_ENUM_CONSTANT(BODY_AXIS_LINEAR_X); BIND_ENUM_CONSTANT(BODY_AXIS_LINEAR_Y); BIND_ENUM_CONSTANT(BODY_AXIS_LINEAR_Z); diff --git a/servers/physics_server.h b/servers/physics_server.h index 4ba096a994..c71bb01943 100644 --- a/servers/physics_server.h +++ b/servers/physics_server.h @@ -274,6 +274,7 @@ public: SPACE_PARAM_BODY_TIME_TO_SLEEP, SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO, SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS, + SPACE_PARAM_TEST_MOTION_MIN_CONTACT_DEPTH }; virtual void space_set_param(RID p_space, SpaceParameter p_param, real_t p_value) = 0; @@ -492,6 +493,11 @@ public: RID collider; int collider_shape; Variant collider_metadata; + MotionResult() { + collision_local_shape = 0; + collider_id = 0; + collider_shape = 0; + } }; virtual bool body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result = NULL, bool p_exclude_raycast_shapes = true) = 0; diff --git a/servers/visual/shader_language.h b/servers/visual/shader_language.h index 185bad4222..67c273d267 100644 --- a/servers/visual/shader_language.h +++ b/servers/visual/shader_language.h @@ -33,7 +33,7 @@ #include "core/list.h" #include "core/map.h" -#include "core/string_db.h" +#include "core/string_name.h" #include "core/typedefs.h" #include "core/ustring.h" #include "core/variant.h" @@ -646,7 +646,7 @@ private: const DataType args[MAX_ARGS]; }; - struct BuiltinFuncOutArgs { //arguments used as out in built in funcions + struct BuiltinFuncOutArgs { //arguments used as out in built in functions const char *name; int argument; }; diff --git a/servers/visual/visual_server_canvas.cpp b/servers/visual/visual_server_canvas.cpp index bb02027479..e1ecba6334 100644 --- a/servers/visual/visual_server_canvas.cpp +++ b/servers/visual/visual_server_canvas.cpp @@ -29,7 +29,7 @@ /*************************************************************************/ #include "visual_server_canvas.h" -#include "visual_server_global.h" +#include "visual_server_globals.h" #include "visual_server_raster.h" #include "visual_server_viewport.h" diff --git a/servers/visual/visual_server_global.cpp b/servers/visual/visual_server_globals.cpp index 2d6d489759..5c247c7f0f 100644 --- a/servers/visual/visual_server_global.cpp +++ b/servers/visual/visual_server_globals.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* visual_server_global.cpp */ +/* visual_server_globals.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,7 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "visual_server_global.h" +#include "visual_server_globals.h" RasterizerStorage *VisualServerGlobals::storage = NULL; RasterizerCanvas *VisualServerGlobals::canvas_render = NULL; diff --git a/servers/visual/visual_server_global.h b/servers/visual/visual_server_globals.h index b510307e81..04d52aa1eb 100644 --- a/servers/visual/visual_server_global.h +++ b/servers/visual/visual_server_globals.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* visual_server_global.h */ +/* visual_server_globals.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef VISUALSERVERGLOBAL_H -#define VISUALSERVERGLOBAL_H +#ifndef VISUAL_SERVER_GLOBALS_H +#define VISUAL_SERVER_GLOBALS_H #include "rasterizer.h" @@ -51,4 +51,4 @@ public: #define VSG VisualServerGlobals -#endif // VISUALSERVERGLOBAL_H +#endif // VISUAL_SERVER_GLOBALS_H diff --git a/servers/visual/visual_server_raster.cpp b/servers/visual/visual_server_raster.cpp index 7be3bc562d..6622433b17 100644 --- a/servers/visual/visual_server_raster.cpp +++ b/servers/visual/visual_server_raster.cpp @@ -33,9 +33,9 @@ #include "core/io/marshalls.h" #include "core/os/os.h" #include "core/project_settings.h" -#include "core/sort.h" +#include "core/sort_array.h" #include "visual_server_canvas.h" -#include "visual_server_global.h" +#include "visual_server_globals.h" #include "visual_server_scene.h" // careful, these may run in different threads than the visual server diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h index e6434189f9..89a759b963 100644 --- a/servers/visual/visual_server_raster.h +++ b/servers/visual/visual_server_raster.h @@ -31,12 +31,11 @@ #ifndef VISUAL_SERVER_RASTER_H #define VISUAL_SERVER_RASTER_H -#include "core/allocators.h" #include "core/math/octree.h" #include "servers/visual/rasterizer.h" #include "servers/visual_server.h" #include "visual_server_canvas.h" -#include "visual_server_global.h" +#include "visual_server_globals.h" #include "visual_server_scene.h" #include "visual_server_viewport.h" /** diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp index c8d64fca45..5d0456686a 100644 --- a/servers/visual/visual_server_scene.cpp +++ b/servers/visual/visual_server_scene.cpp @@ -30,7 +30,7 @@ #include "visual_server_scene.h" #include "core/os/os.h" -#include "visual_server_global.h" +#include "visual_server_globals.h" #include "visual_server_raster.h" #include <new> /* CAMERA API */ diff --git a/servers/visual/visual_server_scene.h b/servers/visual/visual_server_scene.h index 539855bdc4..7583acd88f 100644 --- a/servers/visual/visual_server_scene.h +++ b/servers/visual/visual_server_scene.h @@ -33,7 +33,6 @@ #include "servers/visual/rasterizer.h" -#include "core/allocators.h" #include "core/math/geometry.h" #include "core/math/octree.h" #include "core/os/semaphore.h" @@ -120,7 +119,6 @@ public: VS::ScenarioDebugMode debug; RID self; - // well wtf, balloon allocator is slower? Octree<Instance, true> octree; diff --git a/servers/visual/visual_server_viewport.cpp b/servers/visual/visual_server_viewport.cpp index 7a7ae3a823..d6e43b0f00 100644 --- a/servers/visual/visual_server_viewport.cpp +++ b/servers/visual/visual_server_viewport.cpp @@ -32,7 +32,7 @@ #include "core/project_settings.h" #include "visual_server_canvas.h" -#include "visual_server_global.h" +#include "visual_server_globals.h" #include "visual_server_scene.h" void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::Eyes p_eye) { |