diff options
-rw-r--r-- | SConstruct | 11 | ||||
-rw-r--r-- | core/array.cpp | 24 | ||||
-rw-r--r-- | core/array.h | 3 | ||||
-rw-r--r-- | core/variant_call.cpp | 6 | ||||
-rw-r--r-- | core/vector.h | 10 | ||||
-rw-r--r-- | doc/base/classes.xml | 15 | ||||
-rw-r--r-- | platform/osx/detect.py | 7 | ||||
-rw-r--r-- | platform/windows/detect.py | 9 | ||||
-rw-r--r-- | platform/windows/os_windows.cpp | 8 | ||||
-rw-r--r-- | platform/x11/detect.py | 7 | ||||
-rw-r--r-- | scene/gui/label.cpp | 8 | ||||
-rw-r--r-- | scene/gui/line_edit.cpp | 6 | ||||
-rw-r--r-- | scene/main/viewport.cpp | 2 | ||||
-rw-r--r-- | tools/editor/asset_library_editor_plugin.cpp | 2 | ||||
-rw-r--r-- | tools/editor/dependency_editor.cpp | 5 | ||||
-rw-r--r-- | tools/editor/editor_help.cpp | 1 | ||||
-rw-r--r-- | tools/editor/editor_node.cpp | 8 | ||||
-rw-r--r-- | tools/editor/plugins/script_editor_plugin.cpp | 1 | ||||
-rw-r--r-- | tools/editor/plugins/shader_editor_plugin.cpp | 3 | ||||
-rw-r--r-- | tools/editor/project_manager.cpp | 12 | ||||
-rw-r--r-- | tools/editor/scenes_dock.cpp | 1 | ||||
-rw-r--r-- | tools/translations/ko.po | 137 |
22 files changed, 160 insertions, 126 deletions
diff --git a/SConstruct b/SConstruct index 0f9b046e2b..038d42f946 100644 --- a/SConstruct +++ b/SConstruct @@ -123,7 +123,7 @@ opts.Add('minizip','Build Minizip Archive Support: (yes/no)','yes') opts.Add('squish','Squish BC Texture Compression in editor (yes/no)','yes') opts.Add('theora','Theora Video (yes/no)','yes') opts.Add('theoralib','Theora Video (yes/no)','no') -opts.Add('freetype','Freetype support in editor','yes') +opts.Add('freetype','Freetype support in editor','builtin') opts.Add('speex','Speex Audio (yes/no)','yes') opts.Add('xml','XML Save/Load support (yes/no)','yes') opts.Add('png','PNG Image loader support (yes/no)','yes') @@ -190,6 +190,7 @@ elif env_base['p'] != "": env_base["platform"]=selected_platform + if selected_platform in platform_list: sys.path.append("./platform/"+selected_platform) @@ -246,6 +247,14 @@ if selected_platform in platform_list: #must happen after the flags, so when flags are used by configure, stuff happens (ie, ssl on x11) detect.configure(env) + + if (env["freetype"]!="no"): + env.Append(CCFLAGS=['-DFREETYPE_ENABLED']) + if (env["freetype"]=="builtin"): + env.Append(CPPPATH=['#drivers/freetype']) + env.Append(CPPPATH=['#drivers/freetype/freetype/include']) + + #env['platform_libsuffix'] = env['LIBSUFFIX'] suffix="."+selected_platform diff --git a/core/array.cpp b/core/array.cpp index 1d283a14aa..bb8e527304 100644 --- a/core/array.cpp +++ b/core/array.cpp @@ -150,17 +150,26 @@ void Array::erase(const Variant& p_value) { _p->array.erase(p_value); } -int Array::find(const Variant& p_value) const { +int Array::find(const Variant& p_value, int p_from) const { - return _p->array.find(p_value); + return _p->array.find(p_value, p_from); } -int Array::find_last(const Variant& p_value) const { +int Array::rfind(const Variant& p_value, int p_from) const { - if(_p->array.size() == 0) + if (_p->array.size() == 0) return -1; - for (int i=_p->array.size()-1; i>=0; i--) { + if (p_from < 0) { + // Relative offset from the end + p_from = _p->array.size() + p_from; + } + if (p_from < 0 || p_from >= _p->array.size()) { + // Limit to array boundaries + p_from = _p->array.size() - 1; + } + + for (int i=p_from; i>=0; i--) { if(_p->array[i] == p_value){ return i; @@ -170,6 +179,11 @@ int Array::find_last(const Variant& p_value) const { return -1; } +int Array::find_last(const Variant& p_value) const { + + return rfind(p_value); +} + int Array::count(const Variant& p_value) const { if(_p->array.size() == 0) diff --git a/core/array.h b/core/array.h index 9472a6dd21..096660653e 100644 --- a/core/array.h +++ b/core/array.h @@ -71,7 +71,8 @@ public: void sort_custom(Object *p_obj,const StringName& p_function); void invert(); - int find(const Variant& p_value) const; + int find(const Variant& p_value, int p_from=0) const; + int rfind(const Variant& p_value, int p_from=-1) const; int find_last(const Variant& p_value) const; int count(const Variant& p_value) const; diff --git a/core/variant_call.cpp b/core/variant_call.cpp index d427a80541..cc2d15b88c 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -464,7 +464,8 @@ static void _call_##m_type##_##m_method(Variant& r_ret,Variant& p_self,const Var VCALL_LOCALMEM1(Array,resize); VCALL_LOCALMEM2(Array,insert); VCALL_LOCALMEM1(Array,remove); - VCALL_LOCALMEM1R(Array,find); + VCALL_LOCALMEM2R(Array,find); + VCALL_LOCALMEM2R(Array,rfind); VCALL_LOCALMEM1R(Array,find_last); VCALL_LOCALMEM1R(Array,count); VCALL_LOCALMEM1(Array,erase); @@ -1453,7 +1454,8 @@ _VariantCall::addfunc(Variant::m_vtype,Variant::m_ret,_SCS(#m_method),VCALL(m_cl ADDFUNC2(ARRAY,NIL,Array,insert,INT,"pos",NIL,"value",varray()); ADDFUNC1(ARRAY,NIL,Array,remove,INT,"pos",varray()); ADDFUNC1(ARRAY,NIL,Array,erase,NIL,"value",varray()); - ADDFUNC1(ARRAY,INT,Array,find,NIL,"value",varray()); + ADDFUNC2(ARRAY,INT,Array,find,NIL,"what",INT,"from",varray(0)); + ADDFUNC2(ARRAY,INT,Array,rfind,NIL,"what",INT,"from",varray(-1)); ADDFUNC1(ARRAY,INT,Array,find_last,NIL,"value",varray()); ADDFUNC1(ARRAY,INT,Array,count,NIL,"value",varray()); ADDFUNC0(ARRAY,NIL,Array,pop_back,varray()); diff --git a/core/vector.h b/core/vector.h index 87248ccf68..cafb4a4aa3 100644 --- a/core/vector.h +++ b/core/vector.h @@ -120,7 +120,7 @@ public: template <class T_val> - int find(const T_val& p_val) const; + int find(const T_val& p_val, int p_from=0) const; void set(int p_index,T p_elem); T get(int p_index) const; @@ -238,13 +238,13 @@ void Vector<T>::_copy_on_write() { } template<class T> template<class T_val> -int Vector<T>::find(const T_val &p_val) const { +int Vector<T>::find(const T_val &p_val, int p_from) const { int ret = -1; - if (size() == 0) + if (p_from < 0 || size() == 0) return ret; - for (int i=0; i<size(); i++) { + for (int i=p_from; i<size(); i++) { if (operator[](i) == p_val) { ret = i; @@ -253,7 +253,7 @@ int Vector<T>::find(const T_val &p_val) const { }; return ret; -}; +} template<class T> Error Vector<T>::resize(int p_size) { diff --git a/doc/base/classes.xml b/doc/base/classes.xml index b74ac1c144..b72f082afa 100644 --- a/doc/base/classes.xml +++ b/doc/base/classes.xml @@ -4390,10 +4390,12 @@ <method name="find"> <return type="int"> </return> - <argument index="0" name="value" type="var"> + <argument index="0" name="what" type="var"> + </argument> + <argument index="1" name="from" type="int" default="0"> </argument> <description> - Searches the array for a value and returns its index or -1 if not found. + Searches the array for a value and returns its index or -1 if not found. Optionally, the initial search index can be passed. </description> </method> <method name="find_last"> @@ -4471,6 +4473,15 @@ Resize the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are Null. </description> </method> + <method name="rfind"> + <argument index="0" name="what" type="var"> + </argument> + <argument index="1" name="from" type="int"> + </argument> + <description> + Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array. + </description> + </method> <method name="size"> <return type="int"> </return> diff --git a/platform/osx/detect.py b/platform/osx/detect.py index d1aa54b71d..1982beb10e 100644 --- a/platform/osx/detect.py +++ b/platform/osx/detect.py @@ -30,7 +30,6 @@ def get_flags(): return [ ('legacygl', 'yes'), ('builtin_zlib', 'no'), - ('freetype','builtin'), #use builtin freetype ('glew', 'yes'), ] @@ -56,12 +55,6 @@ def configure(env): env.Append(CCFLAGS=['-g3', '-Wall','-DDEBUG_ENABLED','-DDEBUG_MEMORY_ENABLED']) - if (env["freetype"]!="no"): - env.Append(CCFLAGS=['-DFREETYPE_ENABLED']) - env.Append(CPPPATH=['#drivers/freetype']) - env.Append(CPPPATH=['#drivers/freetype/freetype/include']) - - if (not os.environ.has_key("OSXCROSS_ROOT")): #regular native build diff --git a/platform/windows/detect.py b/platform/windows/detect.py index a6a949a11a..320fb9d269 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -168,7 +168,6 @@ def get_opts(): def get_flags(): return [ - ('freetype','builtin'), #use builtin freetype ('glew','yes'), ('openssl','builtin'), #use builtin openssl ] @@ -203,10 +202,6 @@ def configure(env): env.Append(CPPPATH=['#platform/windows/include']) env.Append(LIBPATH=['#platform/windows/lib']) - if (env["freetype"]!="no"): - env.Append(CCFLAGS=['/DFREETYPE_ENABLED']) - env.Append(CPPPATH=['#drivers/freetype']) - env.Append(CPPPATH=['#drivers/freetype/freetype/include']) if (env["target"]=="release"): @@ -350,10 +345,6 @@ def configure(env): env.Append(CCFLAGS=['-g', '-Wall','-DDEBUG_ENABLED','-DDEBUG_MEMORY_ENABLED']) - if (env["freetype"]!="no"): - env.Append(CCFLAGS=['-DFREETYPE_ENABLED']) - env.Append(CPPPATH=['#drivers/freetype']) - env.Append(CPPPATH=['#drivers/freetype/freetype/include']) env["CC"]=mingw_prefix+"gcc" diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 9034541f37..630d5715e9 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -1834,6 +1834,11 @@ uint64_t OS_Windows::get_unix_time() const { }; uint64_t OS_Windows::get_system_time_secs() const { + + + const uint64_t WINDOWS_TICK = 10000000; + const uint64_t SEC_TO_UNIX_EPOCH = 11644473600LL; + SYSTEMTIME st; GetSystemTime(&st); FILETIME ft; @@ -1842,7 +1847,8 @@ uint64_t OS_Windows::get_system_time_secs() const { ret=ft.dwHighDateTime; ret<<=32; ret|=ft.dwLowDateTime; - return ret; + + return (uint64_t)(ret / WINDOWS_TICK - SEC_TO_UNIX_EPOCH); } void OS_Windows::delay_usec(uint32_t p_usec) const { diff --git a/platform/x11/detect.py b/platform/x11/detect.py index 2561e09b9a..0362756f7c 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -67,6 +67,8 @@ def get_flags(): ('builtin_zlib', 'no'), ('glew', 'yes'), ("openssl", "yes"), + ('freetype','yes'), #use system freetype + #("theora","no"), ] @@ -141,11 +143,6 @@ def configure(env): env.ParseConfig('pkg-config freetype2 --cflags --libs') - if (env["freetype"]!="no"): - env.Append(CCFLAGS=['-DFREETYPE_ENABLED']) - if (env["freetype"]=="builtin"): - env.Append(CPPPATH=['#drivers/freetype']) - env.Append(CPPPATH=['#drivers/freetype/freetype/include']) env.Append(CPPFLAGS=['-DOPENGL_ENABLED']) diff --git a/scene/gui/label.cpp b/scene/gui/label.cpp index 09c6a77b42..2d4438c48c 100644 --- a/scene/gui/label.cpp +++ b/scene/gui/label.cpp @@ -92,7 +92,9 @@ void Label::_notification(int p_what) { VisualServer::get_singleton()->canvas_item_set_distance_field_mode(get_canvas_item(),font.is_valid() && font->is_distance_field_hint()); int font_h = font->get_height()+line_spacing; - int lines_visible = size.y/font_h; + + int lines_visible = (size.y+line_spacing)/font_h; + int space_w=font->get_char_size(' ').width; int chars_total=0; @@ -488,9 +490,9 @@ void Label::regenerate_word_cache() { if (!autowrap) { minsize.width=width; if (max_lines_visible > 0 && line_count > max_lines_visible) { - minsize.height=(font->get_height()+line_spacing)*max_lines_visible; + minsize.height=(font->get_height() * max_lines_visible) + (line_spacing * (max_lines_visible - 1)); } else { - minsize.height=(font->get_height()+line_spacing)*line_count; + minsize.height=(font->get_height() * line_count)+(line_spacing * (line_count - 1)); } } diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index 44cc798447..2a4e82a8e7 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -454,7 +454,7 @@ void LineEdit::_notification(int p_what) { } break; } - int ofs_max=width-style->get_minimum_size().width+x_ofs; + int ofs_max=width-style->get_minimum_size().width; int char_ofs=window_pos; int y_area=height-style->get_minimum_size().height; @@ -799,8 +799,8 @@ Size2 LineEdit::get_minimum_size() const { Ref<Font> font=get_font("font"); Size2 min=style->get_minimum_size(); - min+=font->get_string_size(this->text); - + min.height+=font->get_height(); + min.width+=get_constant("minimum_spaces")*font->get_char_size(' ').x; return min; } diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 4083dc893d..aef53ea230 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -1210,7 +1210,7 @@ void Viewport::set_size_override_stretch(bool p_enable) { bool Viewport::is_size_override_stretch_enabled() const { - return size_override; + return size_override_stretch; } void Viewport::set_as_render_target(bool p_enable){ diff --git a/tools/editor/asset_library_editor_plugin.cpp b/tools/editor/asset_library_editor_plugin.cpp index 0b16ca9545..928acdbcbb 100644 --- a/tools/editor/asset_library_editor_plugin.cpp +++ b/tools/editor/asset_library_editor_plugin.cpp @@ -1282,8 +1282,6 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) { } - library_vb->add_child(search_hb); - HBoxContainer *search_hb2 = memnew( HBoxContainer ); library_main->add_child(search_hb2); diff --git a/tools/editor/dependency_editor.cpp b/tools/editor/dependency_editor.cpp index a702d3c687..6ad7704815 100644 --- a/tools/editor/dependency_editor.cpp +++ b/tools/editor/dependency_editor.cpp @@ -399,6 +399,7 @@ void DependencyRemoveDialog::show(const Vector<String> &to_erase) { _fill_owners(EditorFileSystem::get_singleton()->get_filesystem()); + if (exist) { owners->show(); text->set_text(TTR("The files being removed are required by other resources in order for them to work.\nRemove them anyway? (no undo)")); @@ -417,6 +418,10 @@ void DependencyRemoveDialog::ok_pressed() { DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES); for (Map<String,TreeItem*>::Element *E=files.front();E;E=E->next()) { + if (ResourceCache::has(E->key())) { + Resource *res = ResourceCache::get(E->key()); + res->set_path(""); //clear reference to path + } da->remove(E->key()); EditorFileSystem::get_singleton()->update_file(E->key()); } diff --git a/tools/editor/editor_help.cpp b/tools/editor/editor_help.cpp index 2d0a8a80b0..ac9feacd46 100644 --- a/tools/editor/editor_help.cpp +++ b/tools/editor/editor_help.cpp @@ -649,6 +649,7 @@ void EditorHelp::_class_desc_input(const InputEvent& p_input) { class_desc->set_selection_enabled(false); class_desc->set_selection_enabled(true); } + set_focused(); } void EditorHelp::_add_type(const String& p_type) { diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp index d63a010272..26e40cf816 100644 --- a/tools/editor/editor_node.cpp +++ b/tools/editor/editor_node.cpp @@ -56,7 +56,7 @@ #include "io/zip_io.h" #include "io/config_file.h" #include "animation_editor.h" - +#include "io/stream_peer_ssl.h" // plugins #include "plugins/sprite_frames_editor_plugin.h" #include "plugins/texture_region_editor_plugin.h" @@ -6381,8 +6381,12 @@ EditorNode::EditorNode() { add_editor_plugin( memnew( CanvasItemEditorPlugin(this) ) ); add_editor_plugin( memnew( SpatialEditorPlugin(this) ) ); add_editor_plugin( memnew( ScriptEditorPlugin(this) ) ); - add_editor_plugin( memnew( AssetLibraryEditorPlugin(this) ) ); + if (StreamPeerSSL::is_available()) { + add_editor_plugin( memnew( AssetLibraryEditorPlugin(this) ) ); + } else { + WARN_PRINT("Asset Library not available, as it requires SSL to work."); + } //more visually meaningful to have this later raise_bottom_panel_item(AnimationPlayerEditor::singleton); diff --git a/tools/editor/plugins/script_editor_plugin.cpp b/tools/editor/plugins/script_editor_plugin.cpp index d2d1f9e625..8d00f2cd8a 100644 --- a/tools/editor/plugins/script_editor_plugin.cpp +++ b/tools/editor/plugins/script_editor_plugin.cpp @@ -302,6 +302,7 @@ void ScriptTextEditor::_load_theme_settings() { get_text_edit()->add_color_override("breakpoint_color", EDITOR_DEF("text_editor/breakpoint_color", Color(0.8,0.8,0.4,0.2))); get_text_edit()->add_color_override("search_result_color",EDITOR_DEF("text_editor/search_result_color",Color(0.05,0.25,0.05,1))); get_text_edit()->add_color_override("search_result_border_color",EDITOR_DEF("text_editor/search_result_border_color",Color(0.1,0.45,0.1,1))); + get_text_edit()->add_constant_override("line_spacing", EDITOR_DEF("text_editor/line_spacing",4)); Color keyword_color= EDITOR_DEF("text_editor/keyword_color",Color(0.5,0.0,0.2)); diff --git a/tools/editor/plugins/shader_editor_plugin.cpp b/tools/editor/plugins/shader_editor_plugin.cpp index 0ca6a069bc..61dde9a9ef 100644 --- a/tools/editor/plugins/shader_editor_plugin.cpp +++ b/tools/editor/plugins/shader_editor_plugin.cpp @@ -375,6 +375,7 @@ void ShaderEditor::_editor_settings_changed() { vertex_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences")); vertex_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink")); vertex_editor->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/caret_blink_speed")); + vertex_editor->get_text_edit()->add_constant_override("line_spacing", EditorSettings::get_singleton()->get("text_editor/line_spacing")); fragment_editor->get_text_edit()->set_auto_brace_completion(EditorSettings::get_singleton()->get("text_editor/auto_brace_complete")); fragment_editor->get_text_edit()->set_scroll_pass_end_of_file(EditorSettings::get_singleton()->get("text_editor/scroll_past_end_of_file")); @@ -385,6 +386,7 @@ void ShaderEditor::_editor_settings_changed() { fragment_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences")); fragment_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink")); fragment_editor->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/caret_blink_speed")); + fragment_editor->get_text_edit()->add_constant_override("line_spacing", EditorSettings::get_singleton()->get("text_editor/line_spacing")); light_editor->get_text_edit()->set_auto_brace_completion(EditorSettings::get_singleton()->get("text_editor/auto_brace_complete")); light_editor->get_text_edit()->set_scroll_pass_end_of_file(EditorSettings::get_singleton()->get("text_editor/scroll_past_end_of_file")); @@ -395,6 +397,7 @@ void ShaderEditor::_editor_settings_changed() { light_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences")); light_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink")); light_editor->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/caret_blink_speed")); + light_editor->get_text_edit()->add_constant_override("line_spacing", EditorSettings::get_singleton()->get("text_editor/line_spacing")); } void ShaderEditor::_bind_methods() { diff --git a/tools/editor/project_manager.cpp b/tools/editor/project_manager.cpp index c00bd0ab37..419f05f2cf 100644 --- a/tools/editor/project_manager.cpp +++ b/tools/editor/project_manager.cpp @@ -39,7 +39,7 @@ #include "scene/gui/line_edit.h" #include "scene/gui/panel_container.h" #include "scene/gui/center_container.h" - +#include "io/stream_peer_ssl.h" #include "scene/gui/texture_frame.h" #include "scene/gui/margin_container.h" @@ -986,10 +986,14 @@ ProjectManager::ProjectManager() { tree_vb->add_spacer(); + if (StreamPeerSSL::is_available()) { - asset_library = memnew( EditorAssetLibrary(true) ); - asset_library->set_name("Templates"); - tabs->add_child(asset_library); + asset_library = memnew( EditorAssetLibrary(true) ); + asset_library->set_name("Templates"); + tabs->add_child(asset_library); + } else { + WARN_PRINT("Asset Library not available, as it requires SSL to work."); + } CenterContainer *cc = memnew( CenterContainer ); diff --git a/tools/editor/scenes_dock.cpp b/tools/editor/scenes_dock.cpp index 7c61e3d4a1..7953cf2739 100644 --- a/tools/editor/scenes_dock.cpp +++ b/tools/editor/scenes_dock.cpp @@ -1052,6 +1052,7 @@ void ScenesDock::_file_option(int p_option) { if (path.ends_with("/") || !files->is_selected(i)) continue; torem.push_back(path); + } if (torem.empty()) { diff --git a/tools/translations/ko.po b/tools/translations/ko.po index 489e3a6b12..2a6ee8e06f 100644 --- a/tools/translations/ko.po +++ b/tools/translations/ko.po @@ -207,13 +207,12 @@ msgstr "" "SampleLibrary 리소스를 생성하거나, 지정해야합니다." #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" -"AnimatedSprite이 프레임을 보여주기 위해서는 'Frames' 속성에 SpriteFrames 리소" -"스 만들거나 지정해야 합니다." +"AnimatedSprite3D가 프레임을 보여주기 위해서는 'Frames' 속성에 SpriteFrames 리" +"소스 만들거나 지정해야 합니다." #: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Cancel" @@ -251,24 +250,20 @@ msgid "Open" msgstr "열기" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File" -msgstr "샘플 파일 열기" +msgstr "파일 열기" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open File(s)" -msgstr "샘플 파일 열기" +msgstr "파일 열기" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a Directory" -msgstr "디렉토리 선택" +msgstr "디렉토리 열기" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File or Directory" -msgstr "디렉토리 선택" +msgstr "디렉토리 또는 파일 열기" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_node.cpp @@ -332,7 +327,7 @@ msgstr "알트+" #: scene/gui/input_action.cpp msgid "Ctrl+" -msgstr "" +msgstr "컨트롤+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp @@ -797,22 +792,20 @@ msgid "Site:" msgstr "사이트:" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." -msgstr "내보내기.." +msgstr "지원.." #: tools/editor/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "공식" #: tools/editor/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "커뮤니티" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "설정" +msgstr "테스팅" #: tools/editor/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -1005,9 +998,8 @@ msgid "Disconnect" msgstr "연결해제" #: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp -#, fuzzy msgid "Signals" -msgstr "시그널:" +msgstr "시그널" #: tools/editor/create_dialog.cpp msgid "Create New" @@ -1200,7 +1192,7 @@ msgstr "상속한 클래스:" #: tools/editor/editor_help.cpp msgid "Brief Description:" -msgstr "짧은 설명:" +msgstr "간단한 설명:" #: tools/editor/editor_help.cpp msgid "Public Methods:" @@ -1267,9 +1259,8 @@ msgid "Setting Up.." msgstr "설정 중.." #: tools/editor/editor_log.cpp -#, fuzzy msgid " Output:" -msgstr "출력" +msgstr "출력:" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" @@ -1382,9 +1373,8 @@ msgid "Copy Params" msgstr "속성 복사" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Paste Params" -msgstr "프레임 붙여넣기" +msgstr "속성 붙여넣기" #: tools/editor/editor_node.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1404,9 +1394,8 @@ msgid "Make Sub-Resources Unique" msgstr "하위 리소스를 유일하게 만들기" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Open in Help" -msgstr "씬 열기" +msgstr "도움말에서 열기" #: tools/editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1417,6 +1406,8 @@ msgid "" "No main scene has ever been defined.\n" "Select one from \"Project Settings\" under the 'application' category." msgstr "" +"메인 씬이 지정되지 않았습니다.\n" +"\"프로젝트 설정\"의 'Application' 항목에서 씬을 하나 선택해 주세요." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1535,9 +1526,8 @@ msgid "Save Layout" msgstr "레이아웃 저장" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Load Layout" -msgstr "레이아웃 저장" +msgstr "레이아웃 로드" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" @@ -1601,9 +1591,8 @@ msgid "Open Recent" msgstr "최근 열었던 항목" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Quick Filter Files.." -msgstr "빠른 파일 검색.." +msgstr "빠른 파일 필터링.." #: tools/editor/editor_node.cpp msgid "Convert To.." @@ -1675,9 +1664,8 @@ msgid "Export" msgstr "내보내기" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the project." -msgstr "프로젝트 실행 (F5)." +msgstr "프로젝트 실행." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1689,14 +1677,12 @@ msgid "Pause the scene" msgstr "씬 일시 정지" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause Scene" msgstr "씬 일시 정지" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Stop the scene." -msgstr "씬 정지 (F8)." +msgstr "씬 정지" #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1704,14 +1690,12 @@ msgid "Stop" msgstr "정지" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the edited scene." -msgstr "편집 중인 씬 실행 (F6)." +msgstr "편집 중인 씬 실행" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play Scene" -msgstr "씬 저장" +msgstr "씬 실행" #: tools/editor/editor_node.cpp msgid "Play custom scene" @@ -1722,7 +1706,6 @@ msgid "Debug options" msgstr "디버그 옵션" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Deploy with Remote Debug" msgstr "원격 디버그 배포" @@ -1731,10 +1714,12 @@ msgid "" "When exporting or deploying, the resulting executable will attempt to connect " "to the IP of this computer in order to be debugged." msgstr "" +"내보내기나 배포를 할 때, 실행 파일이 디버깅을 위해서 이 컴퓨터의 IP로 연결을 " +"시도합니다." #: tools/editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "네트워크 파일 시스템을 갖는 작은 배포" #: tools/editor/editor_node.cpp msgid "" @@ -1745,6 +1730,11 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This option " "speeds up testing for games with a large footprint." msgstr "" +"이 옵션이 활성화 되어 있을 경우, 내보내기나 배포는 최소한의 실행파일을 생성합" +"니다.\n" +"파일 시스템은 네트워크를 통해서 에디터 상의 프로젝트가 제공합니다.\n" +"안드로이드의 경우, USB 케이블을 사용하여 배포할 경우 더 빠른 퍼포먼스를 제공합" +"니다. 이 옵션은 큰 설치 용량을 요구하는 게임의 테스트를 빠르게 할 수 있습니다." #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1755,6 +1745,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"이 옵션이 활성화 되어 있을 경우, 게임이 실행되는 동안 (2D와 3D의) 충돌 모양과 " +"Raycast 노드가 표시됩니다." #: tools/editor/editor_node.cpp msgid "Visible Navigation" @@ -1765,10 +1757,12 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"이 옵션이 활성화 되어 있을 경우, 게임이 실행되는 동안 네비게이션 메쉬가 표시됩" +"니다." #: tools/editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "씬 변경사항 동기화" #: tools/editor/editor_node.cpp msgid "" @@ -1777,11 +1771,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"이 옵션이 활성화 되어 있을 경우, 에디터상의 씬의 변경사항이 실행중인 게임에 반" +"영됩니다.\n" +"기기에 원격으로 사용되는 경우, 네트워크 파일 시스템과 함께하면 더욱 효과적입니" +"다." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Sync Script Changes" -msgstr "변경사항만 갱신" +msgstr "스크립트 변경사항 동기화" #: tools/editor/editor_node.cpp msgid "" @@ -1790,6 +1787,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"이 옵션이 활성화 되어 있을 경우, 스크립트를 수정하고 저장하면 실행중인 게임에" +"서 다시 읽어 들입니다.\n" +"기기에 원격으로 사용되는 경우, 네트워크 파일 시스템과 함께하면 더욱 효과적입니" +"다." #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" @@ -2051,9 +2052,8 @@ msgid "Imported Resources" msgstr "가져온 리소스" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "No bit masks to import!" -msgstr "가져올 항목이 없습니다!" +msgstr "가져올 비트 마스크가 없습니다!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp @@ -2083,9 +2083,8 @@ msgid "Save path is empty!" msgstr "저장 경로가 없습니다!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "Import BitMasks" -msgstr "텍스쳐 가져오기" +msgstr "비트마스크 가져오기" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -2112,7 +2111,7 @@ msgstr "수락" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "Bit Mask" -msgstr "" +msgstr "비트 마스크" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No source font file!" @@ -2623,18 +2622,16 @@ msgid "MultiNode Set" msgstr "다중 노드 설정" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Node" -msgstr "믹스 노드" +msgstr "노드" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Groups" -msgstr "그룹:" +msgstr "그룹" #: tools/editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "시그널과 그룹을 편집할 노드를 선택하세요." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -3944,13 +3941,12 @@ msgid "Auto Indent" msgstr "자동 들여쓰기" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Reload Tool Script" -msgstr "노드 스크립트 생성" +msgstr "툴 스크립트 다시 로드" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Reload Tool Script (Soft)" -msgstr "" +msgstr "툴 스크립트 다시 로드 (소프트)" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4607,20 +4603,20 @@ msgid "StyleBox Preview:" msgstr "StyleBox 미리보기:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region Editor" -msgstr "Sprite 구역 편집기" +msgstr "텍스쳐 구역 편집기" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Scale Region Editor" -msgstr "Sprite 구역 편집기" +msgstr "스케일 구역 편집기" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "" "No texture in this node.\n" "Set a texture to be able to edit region." msgstr "" +"이 노드에 텍스쳐가 없습니다.\n" +"구역을 편집하기 위해서는 텍스쳐를 지정해야합니다." #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" @@ -5142,14 +5138,12 @@ msgstr "" "목록에서 프로젝트를 제거하시겠습니까? (폴더와 파일들은 남아있게 됩니다.)" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project Manager" -msgstr "프로젝트 명:" +msgstr "프로젝트 매니저" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project List" -msgstr "종료하고 프로젝트 목록으로 돌아가기" +msgstr "프로젝트 목록" #: tools/editor/project_manager.cpp msgid "Run" @@ -5302,14 +5296,12 @@ msgid "Invalid name. Must not collide with an existing global constant name." msgstr "유효하지 않은 이름입니다. 전역 상수 이름과 충돌하지 않아야 합니다." #: tools/editor/project_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "'%s' 액션이 이미 존재합니다!" +msgstr "자동로드에 '%s'이(가) 이미 존재합니다!" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Rename Autoload" -msgstr "자동 로드 삭제" +msgstr "자동 로드 이름 변경" #: tools/editor/project_settings.cpp msgid "Toggle AutoLoad Globals" @@ -5832,9 +5824,8 @@ msgid "View Owners.." msgstr "소유자 보기.." #: tools/editor/scenes_dock.cpp -#, fuzzy msgid "Copy Path" -msgstr "속성 복사" +msgstr "경로 복사" #: tools/editor/scenes_dock.cpp msgid "Rename or Move.." @@ -6074,7 +6065,7 @@ msgstr "트리로부터 설정" #: tools/editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "" +msgstr "단축키" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" |