summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml7
-rw-r--r--.github/CODEOWNERS (renamed from CODEOWNERS)0
-rw-r--r--.github/FUNDING.yml2
-rw-r--r--.github/ISSUE_TEMPLATE.md (renamed from ISSUE_TEMPLATE.md)0
-rw-r--r--.travis.yml16
-rw-r--r--AUTHORS.md1
-rw-r--r--COPYRIGHT.txt51
-rw-r--r--DONORS.md44
-rw-r--r--SConstruct18
-rw-r--r--core/SCsub4
-rw-r--r--core/array.cpp18
-rw-r--r--core/bind/core_bind.cpp67
-rw-r--r--core/bind/core_bind.h4
-rw-r--r--core/class_db.cpp64
-rw-r--r--core/class_db.h5
-rw-r--r--core/color.cpp3
-rw-r--r--core/color.h2
-rw-r--r--core/command_queue_mt.h2
-rw-r--r--core/engine.cpp6
-rw-r--r--core/error_list.h8
-rw-r--r--core/error_macros.h36
-rw-r--r--core/global_constants.cpp52
-rw-r--r--core/hash_map.h11
-rw-r--r--core/image.cpp13
-rw-r--r--core/image.h2
-rw-r--r--core/input_map.cpp2
-rw-r--r--core/io/config_file.cpp94
-rw-r--r--core/io/config_file.h9
-rw-r--r--core/io/file_access_buffered.cpp64
-rw-r--r--core/io/file_access_buffered_fa.h5
-rw-r--r--core/io/file_access_encrypted.cpp36
-rw-r--r--core/io/file_access_network.cpp1
-rw-r--r--core/io/http_client.cpp4
-rw-r--r--core/io/json.cpp2
-rw-r--r--core/io/marshalls.cpp17
-rw-r--r--core/io/multiplayer_api.cpp1
-rw-r--r--core/io/multiplayer_api.h2
-rw-r--r--core/io/pck_packer.cpp12
-rw-r--r--core/io/resource_format_binary.cpp4
-rw-r--r--core/io/resource_importer.cpp5
-rw-r--r--core/io/resource_loader.cpp4
-rw-r--r--core/io/stream_peer_ssl.cpp4
-rw-r--r--core/io/stream_peer_tcp.cpp1
-rw-r--r--core/io/tcp_server.cpp6
-rw-r--r--core/math/SCsub35
-rw-r--r--core/math/a_star.cpp6
-rw-r--r--core/math/bsp_tree.cpp6
-rw-r--r--core/math/camera_matrix.cpp60
-rw-r--r--core/math/crypto_core.cpp146
-rw-r--r--core/math/crypto_core.h89
-rw-r--r--core/math/expression.cpp2
-rw-r--r--core/math/math_funcs.cpp2
-rw-r--r--core/math/random_number_generator.cpp3
-rw-r--r--core/math/random_number_generator.h2
-rw-r--r--core/math/triangle_mesh.h2
-rw-r--r--core/node_path.cpp10
-rw-r--r--core/object.cpp27
-rw-r--r--core/object.h1
-rw-r--r--core/os/dir_access.cpp8
-rw-r--r--core/os/file_access.cpp46
-rw-r--r--core/os/input_event.cpp8
-rw-r--r--core/os/main_loop.cpp6
-rw-r--r--core/os/memory.h2
-rw-r--r--core/os/os.cpp34
-rw-r--r--core/os/os.h1
-rw-r--r--core/packed_data_container.cpp3
-rw-r--r--core/pool_allocator.cpp7
-rw-r--r--core/pool_vector.h6
-rw-r--r--core/project_settings.cpp4
-rw-r--r--core/register_core_types.cpp1
-rw-r--r--core/safe_refcount.h6
-rw-r--r--core/undo_redo.cpp23
-rw-r--r--core/undo_redo.h3
-rw-r--r--core/ustring.cpp47
-rw-r--r--core/ustring.h2
-rw-r--r--core/variant.cpp22
-rw-r--r--core/variant.h24
-rw-r--r--core/variant_call.cpp7
-rw-r--r--core/variant_op.cpp3
-rw-r--r--core/variant_parser.cpp14
-rw-r--r--doc/classes/@GlobalScope.xml941
-rw-r--r--doc/classes/AABB.xml6
-rw-r--r--doc/classes/ARVRAnchor.xml14
-rw-r--r--doc/classes/ARVRController.xml24
-rw-r--r--doc/classes/ARVRInterface.xml24
-rw-r--r--doc/classes/ARVROrigin.xml10
-rw-r--r--doc/classes/ARVRPositionalTracker.xml14
-rw-r--r--doc/classes/ARVRServer.xml50
-rw-r--r--doc/classes/AStar.xml32
-rw-r--r--doc/classes/AStar2D.xml30
-rw-r--r--doc/classes/AcceptDialog.xml18
-rw-r--r--doc/classes/AnimatedSprite.xml30
-rw-r--r--doc/classes/AnimatedSprite3D.xml14
-rw-r--r--doc/classes/AnimatedTexture.xml8
-rw-r--r--doc/classes/Animation.xml51
-rw-r--r--doc/classes/AnimationNode.xml24
-rw-r--r--doc/classes/AnimationNodeAdd2.xml2
-rw-r--r--doc/classes/AnimationNodeAdd3.xml2
-rw-r--r--doc/classes/AnimationNodeAnimation.xml2
-rw-r--r--doc/classes/AnimationNodeBlend2.xml2
-rw-r--r--doc/classes/AnimationNodeBlend3.xml2
-rw-r--r--doc/classes/AnimationNodeBlendSpace1D.xml10
-rw-r--r--doc/classes/AnimationNodeBlendSpace2D.xml16
-rw-r--r--doc/classes/AnimationNodeBlendTree.xml2
-rw-r--r--doc/classes/AnimationNodeOneShot.xml12
-rw-r--r--doc/classes/AnimationNodeStateMachine.xml3
-rw-r--r--doc/classes/AnimationNodeStateMachinePlayback.xml3
-rw-r--r--doc/classes/AnimationNodeStateMachineTransition.xml14
-rw-r--r--doc/classes/AnimationNodeTransition.xml4
-rw-r--r--doc/classes/AnimationPlayer.xml62
-rw-r--r--doc/classes/AnimationTree.xml10
-rw-r--r--doc/classes/AnimationTreePlayer.xml20
-rw-r--r--doc/classes/Area.xml69
-rw-r--r--doc/classes/Area2D.xml67
-rw-r--r--doc/classes/Array.xml16
-rw-r--r--doc/classes/ArrayMesh.xml24
-rw-r--r--doc/classes/AtlasTexture.xml10
-rw-r--r--doc/classes/AudioBusLayout.xml2
-rw-r--r--doc/classes/AudioEffect.xml2
-rw-r--r--doc/classes/AudioEffectAmplify.xml6
-rw-r--r--doc/classes/AudioEffectBandLimitFilter.xml2
-rw-r--r--doc/classes/AudioEffectBandPassFilter.xml2
-rw-r--r--doc/classes/AudioEffectChorus.xml30
-rw-r--r--doc/classes/AudioEffectCompressor.xml30
-rw-r--r--doc/classes/AudioEffectDelay.xml54
-rw-r--r--doc/classes/AudioEffectDistortion.xml24
-rw-r--r--doc/classes/AudioEffectEQ.xml2
-rw-r--r--doc/classes/AudioEffectEQ10.xml22
-rw-r--r--doc/classes/AudioEffectEQ21.xml44
-rw-r--r--doc/classes/AudioEffectEQ6.xml14
-rw-r--r--doc/classes/AudioEffectFilter.xml12
-rw-r--r--doc/classes/AudioEffectHighPassFilter.xml2
-rw-r--r--doc/classes/AudioEffectLimiter.xml18
-rw-r--r--doc/classes/AudioEffectLowPassFilter.xml2
-rw-r--r--doc/classes/AudioEffectNotchFilter.xml2
-rw-r--r--doc/classes/AudioEffectPanner.xml4
-rw-r--r--doc/classes/AudioEffectPhaser.xml24
-rw-r--r--doc/classes/AudioEffectPitchShift.xml21
-rw-r--r--doc/classes/AudioEffectRecord.xml2
-rw-r--r--doc/classes/AudioEffectReverb.xml34
-rw-r--r--doc/classes/AudioEffectSpectrumAnalyzer.xml7
-rw-r--r--doc/classes/AudioEffectSpectrumAnalyzerInstance.xml2
-rw-r--r--doc/classes/AudioEffectStereoEnhance.xml6
-rw-r--r--doc/classes/AudioServer.xml60
-rw-r--r--doc/classes/AudioStreamGenerator.xml4
-rw-r--r--doc/classes/AudioStreamPlayback.xml2
-rw-r--r--doc/classes/AudioStreamPlayer.xml24
-rw-r--r--doc/classes/AudioStreamPlayer2D.xml24
-rw-r--r--doc/classes/AudioStreamPlayer3D.xml50
-rw-r--r--doc/classes/AudioStreamRandomPitch.xml6
-rw-r--r--doc/classes/AudioStreamSample.xml40
-rw-r--r--doc/classes/BackBufferCopy.xml10
-rw-r--r--doc/classes/BakedLightmap.xml34
-rw-r--r--doc/classes/BakedLightmapData.xml10
-rw-r--r--doc/classes/BaseButton.xml30
-rw-r--r--doc/classes/Basis.xml29
-rw-r--r--doc/classes/BitmapFont.xml10
-rw-r--r--doc/classes/Bone2D.xml4
-rw-r--r--doc/classes/BoneAttachment.xml2
-rw-r--r--doc/classes/BoxContainer.xml6
-rw-r--r--doc/classes/BoxShape.xml4
-rw-r--r--doc/classes/Button.xml22
-rw-r--r--doc/classes/CPUParticles.xml171
-rw-r--r--doc/classes/CPUParticles2D.xml167
-rw-r--r--doc/classes/Camera.xml74
-rw-r--r--doc/classes/Camera2D.xml86
-rw-r--r--doc/classes/CameraFeed.xml14
-rw-r--r--doc/classes/CameraServer.xml2
-rw-r--r--doc/classes/CameraTexture.xml11
-rw-r--r--doc/classes/CanvasItem.xml50
-rw-r--r--doc/classes/CanvasItemMaterial.xml6
-rw-r--r--doc/classes/CanvasLayer.xml20
-rw-r--r--doc/classes/CanvasModulate.xml4
-rw-r--r--doc/classes/CapsuleMesh.xml16
-rw-r--r--doc/classes/CapsuleShape.xml4
-rw-r--r--doc/classes/CapsuleShape2D.xml4
-rw-r--r--doc/classes/CenterContainer.xml6
-rw-r--r--doc/classes/CheckBox.xml16
-rw-r--r--doc/classes/CheckButton.xml14
-rw-r--r--doc/classes/CircleShape2D.xml2
-rw-r--r--doc/classes/ClassDB.xml34
-rw-r--r--doc/classes/ClippedCamera.xml10
-rw-r--r--doc/classes/CollisionObject.xml8
-rw-r--r--doc/classes/CollisionObject2D.xml2
-rw-r--r--doc/classes/CollisionPolygon.xml11
-rw-r--r--doc/classes/CollisionPolygon2D.xml12
-rw-r--r--doc/classes/CollisionShape.xml4
-rw-r--r--doc/classes/CollisionShape2D.xml8
-rw-r--r--doc/classes/Color.xml38
-rw-r--r--doc/classes/ColorPicker.xml35
-rw-r--r--doc/classes/ColorPickerButton.xml16
-rw-r--r--doc/classes/ColorRect.xml2
-rw-r--r--doc/classes/ConcavePolygonShape.xml2
-rw-r--r--doc/classes/ConcavePolygonShape2D.xml4
-rw-r--r--doc/classes/ConeTwistJoint.xml22
-rw-r--r--doc/classes/ConfigFile.xml46
-rw-r--r--doc/classes/Control.xml106
-rw-r--r--doc/classes/ConvexPolygonShape.xml2
-rw-r--r--doc/classes/ConvexPolygonShape2D.xml6
-rw-r--r--doc/classes/CubeMap.xml8
-rw-r--r--doc/classes/CubeMesh.xml16
-rw-r--r--doc/classes/Curve.xml28
-rw-r--r--doc/classes/Curve2D.xml10
-rw-r--r--doc/classes/Curve3D.xml14
-rw-r--r--doc/classes/CurveTexture.xml4
-rw-r--r--doc/classes/CylinderMesh.xml20
-rw-r--r--doc/classes/CylinderShape.xml4
-rw-r--r--doc/classes/DampedSpringJoint2D.xml16
-rw-r--r--doc/classes/Dictionary.xml4
-rw-r--r--doc/classes/DirectionalLight.xml30
-rw-r--r--doc/classes/Directory.xml38
-rw-r--r--doc/classes/DynamicFont.xml20
-rw-r--r--doc/classes/DynamicFontData.xml8
-rw-r--r--doc/classes/EditorFeatureProfile.xml1
-rw-r--r--doc/classes/EditorFileDialog.xml20
-rw-r--r--doc/classes/EditorFileSystem.xml4
-rw-r--r--doc/classes/EditorFileSystemDirectory.xml2
-rw-r--r--doc/classes/EditorImportPlugin.xml26
-rw-r--r--doc/classes/EditorInspectorPlugin.xml6
-rw-r--r--doc/classes/EditorInterface.xml2
-rw-r--r--doc/classes/EditorPlugin.xml52
-rw-r--r--doc/classes/EditorProperty.xml38
-rw-r--r--doc/classes/EditorResourcePreview.xml6
-rw-r--r--doc/classes/EditorResourcePreviewGenerator.xml12
-rw-r--r--doc/classes/EditorSceneImporterAssimp.xml42
-rw-r--r--doc/classes/EditorScenePostImport.xml12
-rw-r--r--doc/classes/EditorScript.xml11
-rw-r--r--doc/classes/EditorSelection.xml8
-rw-r--r--doc/classes/EditorSettings.xml22
-rw-r--r--doc/classes/EditorSpatialGizmo.xml16
-rw-r--r--doc/classes/EditorSpatialGizmoPlugin.xml8
-rw-r--r--doc/classes/EncodedObjectAsID.xml22
-rw-r--r--doc/classes/Engine.xml36
-rw-r--r--doc/classes/Environment.xml181
-rw-r--r--doc/classes/Expression.xml2
-rw-r--r--doc/classes/File.xml50
-rw-r--r--doc/classes/FileDialog.xml46
-rw-r--r--doc/classes/Font.xml6
-rw-r--r--doc/classes/GIProbe.xml21
-rw-r--r--doc/classes/GIProbeData.xml22
-rw-r--r--doc/classes/Generic6DOFJoint.xml307
-rw-r--r--doc/classes/Geometry.xml48
-rw-r--r--doc/classes/GeometryInstance.xml31
-rw-r--r--doc/classes/Gradient.xml24
-rw-r--r--doc/classes/GradientTexture.xml8
-rw-r--r--doc/classes/GraphEdit.xml58
-rw-r--r--doc/classes/GraphNode.xml59
-rw-r--r--doc/classes/GridContainer.xml8
-rw-r--r--doc/classes/GrooveJoint2D.xml8
-rw-r--r--doc/classes/HBoxContainer.xml2
-rw-r--r--doc/classes/HSeparator.xml4
-rw-r--r--doc/classes/HSplitContainer.xml4
-rw-r--r--doc/classes/HTTPClient.xml35
-rw-r--r--doc/classes/HTTPRequest.xml12
-rw-r--r--doc/classes/HeightMapShape.xml6
-rw-r--r--doc/classes/HingeJoint.xml34
-rw-r--r--doc/classes/IP.xml18
-rw-r--r--doc/classes/IP_Unix.xml4
-rw-r--r--doc/classes/Image.xml104
-rw-r--r--doc/classes/ImageTexture.xml8
-rw-r--r--doc/classes/ImmediateGeometry.xml4
-rw-r--r--doc/classes/Input.xml48
-rw-r--r--doc/classes/InputEvent.xml12
-rw-r--r--doc/classes/InputEventAction.xml10
-rw-r--r--doc/classes/InputEventGesture.xml2
-rw-r--r--doc/classes/InputEventJoypadButton.xml8
-rw-r--r--doc/classes/InputEventJoypadMotion.xml6
-rw-r--r--doc/classes/InputEventKey.xml10
-rw-r--r--doc/classes/InputEventMIDI.xml16
-rw-r--r--doc/classes/InputEventMagnifyGesture.xml2
-rw-r--r--doc/classes/InputEventMouse.xml12
-rw-r--r--doc/classes/InputEventMouseButton.xml12
-rw-r--r--doc/classes/InputEventMouseMotion.xml8
-rw-r--r--doc/classes/InputEventPanGesture.xml2
-rw-r--r--doc/classes/InputEventScreenDrag.xml19
-rw-r--r--doc/classes/InputEventScreenTouch.xml10
-rw-r--r--doc/classes/InputEventWithModifiers.xml22
-rw-r--r--doc/classes/InputMap.xml2
-rw-r--r--doc/classes/InstancePlaceholder.xml4
-rw-r--r--doc/classes/InterpolatedCamera.xml6
-rw-r--r--doc/classes/ItemList.xml91
-rw-r--r--doc/classes/JSON.xml2
-rw-r--r--doc/classes/JSONParseResult.xml18
-rw-r--r--doc/classes/JavaScript.xml2
-rw-r--r--doc/classes/Joint.xml10
-rw-r--r--doc/classes/Joint2D.xml12
-rw-r--r--doc/classes/KinematicBody.xml22
-rw-r--r--doc/classes/KinematicBody2D.xml14
-rw-r--r--doc/classes/KinematicCollision.xml24
-rw-r--r--doc/classes/KinematicCollision2D.xml24
-rw-r--r--doc/classes/Label.xml42
-rw-r--r--doc/classes/LargeTexture.xml16
-rw-r--r--doc/classes/Light.xml47
-rw-r--r--doc/classes/Light2D.xml67
-rw-r--r--doc/classes/LightOccluder2D.xml4
-rw-r--r--doc/classes/Line2D.xml43
-rw-r--r--doc/classes/LineEdit.xml67
-rw-r--r--doc/classes/LineShape2D.xml6
-rw-r--r--doc/classes/LinkButton.xml16
-rw-r--r--doc/classes/MainLoop.xml81
-rw-r--r--doc/classes/MarginContainer.xml22
-rw-r--r--doc/classes/Marshalls.xml14
-rw-r--r--doc/classes/Material.xml6
-rw-r--r--doc/classes/MenuButton.xml12
-rw-r--r--doc/classes/Mesh.xml12
-rw-r--r--doc/classes/MeshDataTool.xml60
-rw-r--r--doc/classes/MeshInstance.xml4
-rw-r--r--doc/classes/MeshInstance2D.xml6
-rw-r--r--doc/classes/MeshLibrary.xml10
-rw-r--r--doc/classes/MeshTexture.xml12
-rw-r--r--doc/classes/MultiMesh.xml36
-rw-r--r--doc/classes/MultiMeshInstance.xml4
-rw-r--r--doc/classes/MultiMeshInstance2D.xml6
-rw-r--r--doc/classes/MultiplayerAPI.xml42
-rw-r--r--doc/classes/Mutex.xml10
-rw-r--r--doc/classes/Navigation.xml6
-rw-r--r--doc/classes/Navigation2D.xml2
-rw-r--r--doc/classes/NavigationMesh.xml36
-rw-r--r--doc/classes/NavigationMeshInstance.xml4
-rw-r--r--doc/classes/NavigationPolygon.xml2
-rw-r--r--doc/classes/NavigationPolygonInstance.xml4
-rw-r--r--doc/classes/NetworkedMultiplayerPeer.xml14
-rw-r--r--doc/classes/NinePatchRect.xml24
-rw-r--r--doc/classes/Node.xml117
-rw-r--r--doc/classes/Node2D.xml28
-rw-r--r--doc/classes/NodePath.xml58
-rw-r--r--doc/classes/OS.xml148
-rw-r--r--doc/classes/Object.xml114
-rw-r--r--doc/classes/OccluderPolygon2D.xml19
-rw-r--r--doc/classes/OmniLight.xml14
-rw-r--r--doc/classes/OptionButton.xml34
-rw-r--r--doc/classes/PackedDataContainer.xml2
-rw-r--r--doc/classes/PackedScene.xml35
-rw-r--r--doc/classes/PacketPeer.xml20
-rw-r--r--doc/classes/PacketPeerStream.xml4
-rw-r--r--doc/classes/PacketPeerUDP.xml18
-rw-r--r--doc/classes/PanoramaSky.xml4
-rw-r--r--doc/classes/ParallaxBackground.xml20
-rw-r--r--doc/classes/ParallaxLayer.xml12
-rw-r--r--doc/classes/Particles.xml52
-rw-r--r--doc/classes/Particles2D.xml52
-rw-r--r--doc/classes/ParticlesMaterial.xml143
-rw-r--r--doc/classes/Path.xml13
-rw-r--r--doc/classes/Path2D.xml9
-rw-r--r--doc/classes/PathFollow.xml20
-rw-r--r--doc/classes/PathFollow2D.xml22
-rw-r--r--doc/classes/Performance.xml27
-rw-r--r--doc/classes/PhysicalBone.xml16
-rw-r--r--doc/classes/Physics2DDirectBodyState.xml5
-rw-r--r--doc/classes/Physics2DDirectSpaceState.xml11
-rw-r--r--doc/classes/Physics2DServer.xml44
-rw-r--r--doc/classes/Physics2DShapeQueryParameters.xml18
-rw-r--r--doc/classes/Physics2DTestMotionResult.xml16
-rw-r--r--doc/classes/PhysicsBody.xml6
-rw-r--r--doc/classes/PhysicsBody2D.xml6
-rw-r--r--doc/classes/PhysicsDirectBodyState.xml7
-rw-r--r--doc/classes/PhysicsMaterial.xml12
-rw-r--r--doc/classes/PhysicsServer.xml34
-rw-r--r--doc/classes/PhysicsShapeQueryParameters.xml12
-rw-r--r--doc/classes/PinJoint.xml22
-rw-r--r--doc/classes/PinJoint2D.xml6
-rw-r--r--doc/classes/Plane.xml26
-rw-r--r--doc/classes/PlaneMesh.xml12
-rw-r--r--doc/classes/PlaneShape.xml2
-rw-r--r--doc/classes/Polygon2D.xml41
-rw-r--r--doc/classes/PoolByteArray.xml23
-rw-r--r--doc/classes/PoolColorArray.xml21
-rw-r--r--doc/classes/PoolIntArray.xml21
-rw-r--r--doc/classes/PoolRealArray.xml21
-rw-r--r--doc/classes/PoolStringArray.xml21
-rw-r--r--doc/classes/PoolVector2Array.xml21
-rw-r--r--doc/classes/PoolVector3Array.xml21
-rw-r--r--doc/classes/Popup.xml8
-rw-r--r--doc/classes/PopupDialog.xml2
-rw-r--r--doc/classes/PopupMenu.xml155
-rw-r--r--doc/classes/Position2D.xml4
-rw-r--r--doc/classes/Position3D.xml4
-rw-r--r--doc/classes/PrimitiveMesh.xml10
-rw-r--r--doc/classes/PrismMesh.xml20
-rw-r--r--doc/classes/ProceduralSky.xml45
-rw-r--r--doc/classes/ProgressBar.xml12
-rw-r--r--doc/classes/ProjectSettings.xml643
-rw-r--r--doc/classes/ProximityGroup.xml10
-rw-r--r--doc/classes/ProxyTexture.xml2
-rw-r--r--doc/classes/QuadMesh.xml4
-rw-r--r--doc/classes/Quat.xml26
-rw-r--r--doc/classes/RID.xml2
-rw-r--r--doc/classes/RandomNumberGenerator.xml22
-rw-r--r--doc/classes/Range.xml32
-rw-r--r--doc/classes/RayCast.xml32
-rw-r--r--doc/classes/RayCast2D.xml28
-rw-r--r--doc/classes/RayShape.xml8
-rw-r--r--doc/classes/RayShape2D.xml8
-rw-r--r--doc/classes/Rect2.xml8
-rw-r--r--doc/classes/RectangleShape2D.xml2
-rw-r--r--doc/classes/Reference.xml14
-rw-r--r--doc/classes/ReferenceRect.xml9
-rw-r--r--doc/classes/ReflectionProbe.xml24
-rw-r--r--doc/classes/RemoteTransform.xml18
-rw-r--r--doc/classes/RemoteTransform2D.xml18
-rw-r--r--doc/classes/Resource.xml9
-rw-r--r--doc/classes/ResourceFormatLoader.xml15
-rw-r--r--doc/classes/ResourceFormatSaver.xml2
-rw-r--r--doc/classes/ResourceImporter.xml13
-rw-r--r--doc/classes/ResourceInteractiveLoader.xml12
-rw-r--r--doc/classes/ResourceLoader.xml4
-rw-r--r--doc/classes/ResourceSaver.xml4
-rw-r--r--doc/classes/RichTextLabel.xml80
-rw-r--r--doc/classes/RigidBody.xml87
-rw-r--r--doc/classes/RigidBody2D.xml69
-rw-r--r--doc/classes/SceneState.xml16
-rw-r--r--doc/classes/SceneTree.xml104
-rw-r--r--doc/classes/ScriptCreateDialog.xml4
-rw-r--r--doc/classes/ScrollBar.xml6
-rw-r--r--doc/classes/ScrollContainer.xml18
-rw-r--r--doc/classes/SegmentShape2D.xml4
-rw-r--r--doc/classes/Semaphore.xml8
-rw-r--r--doc/classes/Shader.xml4
-rw-r--r--doc/classes/ShaderMaterial.xml2
-rw-r--r--doc/classes/Shape.xml2
-rw-r--r--doc/classes/Shape2D.xml6
-rw-r--r--doc/classes/ShortCut.xml2
-rw-r--r--doc/classes/Skeleton.xml26
-rw-r--r--doc/classes/SkeletonIK.xml20
-rw-r--r--doc/classes/Sky.xml23
-rw-r--r--doc/classes/Slider.xml14
-rw-r--r--doc/classes/SliderJoint.xml56
-rw-r--r--doc/classes/SoftBody.xml24
-rw-r--r--doc/classes/Spatial.xml38
-rw-r--r--doc/classes/SpatialMaterial.xml168
-rw-r--r--doc/classes/SpatialVelocityTracker.xml2
-rw-r--r--doc/classes/SphereMesh.xml21
-rw-r--r--doc/classes/SphereShape.xml2
-rw-r--r--doc/classes/SpinBox.xml24
-rw-r--r--doc/classes/SplitContainer.xml6
-rw-r--r--doc/classes/SpotLight.xml16
-rw-r--r--doc/classes/SpringArm.xml8
-rw-r--r--doc/classes/Sprite.xml36
-rw-r--r--doc/classes/Sprite3D.xml16
-rw-r--r--doc/classes/SpriteBase3D.xml46
-rw-r--r--doc/classes/StaticBody.xml20
-rw-r--r--doc/classes/StaticBody2D.xml16
-rw-r--r--doc/classes/StreamPeer.xml66
-rw-r--r--doc/classes/StreamPeerBuffer.xml2
-rw-r--r--doc/classes/StreamPeerSSL.xml14
-rw-r--r--doc/classes/StreamPeerTCP.xml16
-rw-r--r--doc/classes/StreamTexture.xml8
-rw-r--r--doc/classes/String.xml38
-rw-r--r--doc/classes/StyleBox.xml12
-rw-r--r--doc/classes/StyleBoxFlat.xml75
-rw-r--r--doc/classes/StyleBoxLine.xml10
-rw-r--r--doc/classes/StyleBoxTexture.xml58
-rw-r--r--doc/classes/SurfaceTool.xml46
-rw-r--r--doc/classes/TCP_Server.xml16
-rw-r--r--doc/classes/TabContainer.xml33
-rw-r--r--doc/classes/Tabs.xml49
-rw-r--r--doc/classes/TextEdit.xml140
-rw-r--r--doc/classes/Texture.xml18
-rw-r--r--doc/classes/TextureButton.xml24
-rw-r--r--doc/classes/TextureLayered.xml11
-rw-r--r--doc/classes/TextureProgress.xml46
-rw-r--r--doc/classes/TextureRect.xml18
-rw-r--r--doc/classes/Theme.xml70
-rw-r--r--doc/classes/Thread.xml8
-rw-r--r--doc/classes/TileMap.xml73
-rw-r--r--doc/classes/TileSet.xml20
-rw-r--r--doc/classes/Timer.xml18
-rw-r--r--doc/classes/ToolButton.xml10
-rw-r--r--doc/classes/TouchScreenButton.xml22
-rw-r--r--doc/classes/Transform.xml8
-rw-r--r--doc/classes/Transform2D.xml14
-rw-r--r--doc/classes/Translation.xml4
-rw-r--r--doc/classes/TranslationServer.xml2
-rw-r--r--doc/classes/Tree.xml76
-rw-r--r--doc/classes/TreeItem.xml4
-rw-r--r--doc/classes/Tween.xml29
-rw-r--r--doc/classes/UndoRedo.xml52
-rw-r--r--doc/classes/VBoxContainer.xml2
-rw-r--r--doc/classes/VSeparator.xml4
-rw-r--r--doc/classes/VSplitContainer.xml4
-rw-r--r--doc/classes/Variant.xml2
-rw-r--r--doc/classes/Vector2.xml26
-rw-r--r--doc/classes/Vector3.xml18
-rw-r--r--doc/classes/VehicleBody.xml15
-rw-r--r--doc/classes/VehicleWheel.xml38
-rw-r--r--doc/classes/VideoPlayer.xml22
-rw-r--r--doc/classes/Viewport.xml105
-rw-r--r--doc/classes/ViewportContainer.xml6
-rw-r--r--doc/classes/ViewportTexture.xml2
-rw-r--r--doc/classes/VisibilityEnabler.xml7
-rw-r--r--doc/classes/VisibilityEnabler2D.xml15
-rw-r--r--doc/classes/VisibilityNotifier.xml4
-rw-r--r--doc/classes/VisibilityNotifier2D.xml4
-rw-r--r--doc/classes/VisualInstance.xml4
-rw-r--r--doc/classes/VisualServer.xml113
-rw-r--r--doc/classes/VisualShader.xml3
-rw-r--r--doc/classes/VisualShaderNode.xml4
-rw-r--r--doc/classes/VisualShaderNodeBooleanConstant.xml2
-rw-r--r--doc/classes/VisualShaderNodeColorConstant.xml2
-rw-r--r--doc/classes/VisualShaderNodeColorFunc.xml2
-rw-r--r--doc/classes/VisualShaderNodeColorOp.xml2
-rw-r--r--doc/classes/VisualShaderNodeCubeMap.xml4
-rw-r--r--doc/classes/VisualShaderNodeExpression.xml2
-rw-r--r--doc/classes/VisualShaderNodeGroupBase.xml8
-rw-r--r--doc/classes/VisualShaderNodeInput.xml2
-rw-r--r--doc/classes/VisualShaderNodeScalarConstant.xml2
-rw-r--r--doc/classes/VisualShaderNodeScalarDerivativeFunc.xml2
-rw-r--r--doc/classes/VisualShaderNodeScalarFunc.xml2
-rw-r--r--doc/classes/VisualShaderNodeScalarOp.xml2
-rw-r--r--doc/classes/VisualShaderNodeTexture.xml6
-rw-r--r--doc/classes/VisualShaderNodeTextureUniform.xml4
-rw-r--r--doc/classes/VisualShaderNodeTransformConstant.xml2
-rw-r--r--doc/classes/VisualShaderNodeTransformFunc.xml2
-rw-r--r--doc/classes/VisualShaderNodeTransformMult.xml2
-rw-r--r--doc/classes/VisualShaderNodeTransformVecMult.xml2
-rw-r--r--doc/classes/VisualShaderNodeUniform.xml2
-rw-r--r--doc/classes/VisualShaderNodeVec3Constant.xml2
-rw-r--r--doc/classes/VisualShaderNodeVectorDerivativeFunc.xml2
-rw-r--r--doc/classes/VisualShaderNodeVectorFunc.xml2
-rw-r--r--doc/classes/VisualShaderNodeVectorOp.xml2
-rw-r--r--doc/classes/WindowDialog.xml16
-rw-r--r--doc/classes/World.xml4
-rw-r--r--doc/classes/WorldEnvironment.xml2
-rw-r--r--doc/classes/XMLParser.xml36
-rw-r--r--doc/classes/YSort.xml4
-rw-r--r--doc/classes/bool.xml6
-rw-r--r--doc/classes/float.xml6
-rwxr-xr-xdoc/tools/makerst.py85
-rw-r--r--drivers/gles2/rasterizer_storage_gles2.cpp2
-rw-r--r--drivers/gles2/shader_gles2.cpp4
-rw-r--r--drivers/gles2/shaders/scene.glsl57
-rw-r--r--drivers/gles3/rasterizer_canvas_gles3.cpp4
-rw-r--r--drivers/gles3/rasterizer_scene_gles3.cpp16
-rw-r--r--drivers/gles3/rasterizer_storage_gles3.cpp9
-rw-r--r--drivers/gles3/rasterizer_storage_gles3.h2
-rw-r--r--drivers/gles3/shader_gles3.cpp2
-rw-r--r--drivers/unix/dir_access_unix.cpp7
-rw-r--r--drivers/unix/ip_unix.cpp2
-rw-r--r--drivers/unix/net_socket_posix.cpp30
-rw-r--r--drivers/unix/net_socket_posix.h2
-rw-r--r--editor/animation_bezier_editor.cpp4
-rw-r--r--editor/animation_track_editor.cpp89
-rw-r--r--editor/animation_track_editor.h16
-rw-r--r--editor/animation_track_editor_plugins.cpp2
-rw-r--r--editor/array_property_edit.cpp6
-rw-r--r--editor/audio_stream_preview.h2
-rw-r--r--editor/code_editor.cpp7
-rw-r--r--editor/code_editor.h1
-rw-r--r--editor/collada/collada.cpp8
-rw-r--r--editor/connections_dialog.cpp68
-rw-r--r--editor/connections_dialog.h11
-rw-r--r--editor/create_dialog.cpp58
-rw-r--r--editor/create_dialog.h1
-rw-r--r--editor/dictionary_property_edit.cpp5
-rw-r--r--editor/doc/doc_data.cpp43
-rw-r--r--editor/doc/doc_data.h1
-rw-r--r--editor/editor_audio_buses.cpp38
-rw-r--r--editor/editor_audio_buses.h7
-rw-r--r--editor/editor_autoload_settings.cpp13
-rw-r--r--editor/editor_dir_dialog.cpp2
-rw-r--r--editor/editor_export.cpp18
-rw-r--r--editor/editor_file_dialog.cpp15
-rw-r--r--editor/editor_file_dialog.h1
-rw-r--r--editor/editor_file_system.cpp16
-rw-r--r--editor/editor_help.cpp74
-rw-r--r--editor/editor_help_search.cpp6
-rw-r--r--editor/editor_inspector.h4
-rw-r--r--editor/editor_layouts_dialog.cpp138
-rw-r--r--editor/editor_layouts_dialog.h (renamed from editor/editor_name_dialog.h)23
-rw-r--r--editor/editor_node.cpp170
-rw-r--r--editor/editor_node.h30
-rw-r--r--editor/editor_plugin.cpp4
-rw-r--r--editor/editor_plugin.h2
-rw-r--r--editor/editor_profiler.cpp4
-rw-r--r--editor/editor_properties.cpp78
-rw-r--r--editor/editor_properties.h15
-rw-r--r--editor/editor_properties_array_dict.cpp65
-rw-r--r--editor/editor_properties_array_dict.h1
-rw-r--r--editor/editor_resource_preview.cpp3
-rw-r--r--editor/editor_run.cpp6
-rw-r--r--editor/editor_run_native.h2
-rw-r--r--editor/editor_settings.cpp25
-rw-r--r--editor/editor_settings.h5
-rw-r--r--editor/editor_spin_slider.h3
-rw-r--r--editor/export_template_manager.cpp7
-rw-r--r--editor/filesystem_dock.cpp6
-rw-r--r--editor/filesystem_dock.h2
-rw-r--r--editor/groups_editor.cpp4
-rw-r--r--editor/icons/SCsub10
-rw-r--r--editor/icons/icon_key_valid.svg5
-rw-r--r--editor/import/editor_import_plugin.h2
-rw-r--r--editor/import/editor_scene_importer_gltf.cpp5
-rw-r--r--editor/import/resource_importer_scene.cpp8
-rw-r--r--editor/import/resource_importer_scene.h2
-rw-r--r--editor/import/resource_importer_texture.cpp6
-rw-r--r--editor/import/resource_importer_texture_atlas.cpp2
-rw-r--r--editor/import/resource_importer_wav.cpp6
-rw-r--r--editor/multi_node_edit.cpp2
-rw-r--r--editor/node_dock.cpp4
-rw-r--r--editor/plugin_config_dialog.h2
-rw-r--r--editor/plugins/abstract_polygon_2d_editor.cpp2
-rw-r--r--editor/plugins/animation_blend_space_1d_editor.cpp4
-rw-r--r--editor/plugins/animation_blend_space_2d_editor.cpp4
-rw-r--r--editor/plugins/animation_blend_tree_editor_plugin.cpp8
-rw-r--r--editor/plugins/animation_player_editor_plugin.cpp2
-rw-r--r--editor/plugins/animation_state_machine_editor.cpp8
-rw-r--r--editor/plugins/animation_tree_player_editor_plugin.cpp4
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp30
-rw-r--r--editor/plugins/canvas_item_editor_plugin.h2
-rw-r--r--editor/plugins/collision_polygon_editor_plugin.cpp8
-rw-r--r--editor/plugins/collision_shape_2d_editor_plugin.h2
-rw-r--r--editor/plugins/cpu_particles_2d_editor_plugin.cpp6
-rw-r--r--editor/plugins/cpu_particles_2d_editor_plugin.h3
-rw-r--r--editor/plugins/cpu_particles_editor_plugin.cpp8
-rw-r--r--editor/plugins/cpu_particles_editor_plugin.h1
-rw-r--r--editor/plugins/curve_editor_plugin.cpp2
-rw-r--r--editor/plugins/particles_2d_editor_plugin.cpp10
-rw-r--r--editor/plugins/particles_2d_editor_plugin.h3
-rw-r--r--editor/plugins/particles_editor_plugin.cpp11
-rw-r--r--editor/plugins/particles_editor_plugin.h1
-rw-r--r--editor/plugins/path_2d_editor_plugin.cpp2
-rw-r--r--editor/plugins/path_2d_editor_plugin.h2
-rw-r--r--editor/plugins/resource_preloader_editor_plugin.cpp5
-rw-r--r--editor/plugins/root_motion_editor_plugin.cpp2
-rw-r--r--editor/plugins/script_editor_plugin.cpp7
-rw-r--r--editor/plugins/script_text_editor.cpp129
-rw-r--r--editor/plugins/script_text_editor.h10
-rw-r--r--editor/plugins/shader_editor_plugin.cpp59
-rw-r--r--editor/plugins/shader_editor_plugin.h4
-rw-r--r--editor/plugins/skeleton_editor_plugin.h2
-rw-r--r--editor/plugins/spatial_editor_plugin.h2
-rw-r--r--editor/plugins/sprite_frames_editor_plugin.cpp3
-rw-r--r--editor/plugins/text_editor.cpp60
-rw-r--r--editor/plugins/text_editor.h4
-rw-r--r--editor/plugins/texture_region_editor_plugin.cpp7
-rw-r--r--editor/plugins/tile_map_editor_plugin.cpp71
-rw-r--r--editor/plugins/tile_set_editor_plugin.cpp17
-rw-r--r--editor/plugins/tile_set_editor_plugin.h1
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp258
-rw-r--r--editor/plugins/visual_shader_editor_plugin.h22
-rw-r--r--editor/project_export.cpp17
-rw-r--r--editor/project_settings_editor.cpp14
-rw-r--r--editor/property_editor.cpp2
-rw-r--r--editor/rename_dialog.cpp18
-rw-r--r--editor/scene_tree_dock.cpp95
-rw-r--r--editor/scene_tree_dock.h6
-rw-r--r--editor/scene_tree_editor.cpp6
-rw-r--r--editor/script_create_dialog.cpp4
-rw-r--r--editor/script_editor_debugger.cpp3
-rw-r--r--editor/spatial_editor_gizmos.cpp22
-rw-r--r--editor/translations/af.po357
-rw-r--r--editor/translations/ar.po366
-rw-r--r--editor/translations/bg.po366
-rw-r--r--editor/translations/bn.po379
-rw-r--r--editor/translations/ca.po1424
-rw-r--r--editor/translations/cs.po396
-rw-r--r--editor/translations/da.po369
-rw-r--r--editor/translations/de.po1547
-rw-r--r--editor/translations/de_CH.po357
-rw-r--r--editor/translations/editor.pot340
-rw-r--r--editor/translations/el.po1868
-rw-r--r--editor/translations/eo.po645
-rw-r--r--editor/translations/es.po3280
-rw-r--r--editor/translations/es_AR.po508
-rw-r--r--editor/translations/et.po340
-rwxr-xr-xeditor/translations/extract.py4
-rw-r--r--editor/translations/fa.po368
-rw-r--r--editor/translations/fi.po1037
-rw-r--r--editor/translations/fil.po343
-rw-r--r--editor/translations/fr.po726
-rw-r--r--editor/translations/he.po453
-rw-r--r--editor/translations/hi.po344
-rw-r--r--editor/translations/hr.po343
-rw-r--r--editor/translations/hu.po366
-rw-r--r--editor/translations/id.po1212
-rw-r--r--editor/translations/is.po344
-rw-r--r--editor/translations/it.po1002
-rw-r--r--editor/translations/ja.po1000
-rw-r--r--editor/translations/ka.po351
-rw-r--r--editor/translations/ko.po1565
-rw-r--r--editor/translations/lt.po350
-rw-r--r--editor/translations/lv.po350
-rw-r--r--editor/translations/mi.po340
-rw-r--r--editor/translations/ml.po340
-rw-r--r--editor/translations/ms.po341
-rw-r--r--editor/translations/nb.po380
-rw-r--r--editor/translations/nl.po374
-rw-r--r--editor/translations/pl.po1150
-rw-r--r--editor/translations/pr.po350
-rw-r--r--editor/translations/pt_BR.po840
-rw-r--r--editor/translations/pt_PT.po1596
-rw-r--r--editor/translations/ro.po366
-rw-r--r--editor/translations/ru.po397
-rw-r--r--editor/translations/si.po343
-rw-r--r--editor/translations/sk.po371
-rw-r--r--editor/translations/sl.po375
-rw-r--r--editor/translations/sq.po362
-rw-r--r--editor/translations/sr_Cyrl.po366
-rw-r--r--editor/translations/sr_Latn.po347
-rw-r--r--editor/translations/sv.po371
-rw-r--r--editor/translations/ta.po341
-rw-r--r--editor/translations/te.po340
-rw-r--r--editor/translations/th.po377
-rw-r--r--editor/translations/tr.po427
-rw-r--r--editor/translations/uk.po1662
-rw-r--r--editor/translations/ur_PK.po351
-rw-r--r--editor/translations/vi.po1581
-rw-r--r--editor/translations/zh_CN.po475
-rw-r--r--editor/translations/zh_HK.po362
-rw-r--r--editor/translations/zh_TW.po370
-rw-r--r--main/input_default.cpp40
-rw-r--r--main/main.cpp28
-rw-r--r--main/tests/test_gdscript.cpp4
-rw-r--r--main/tests/test_physics.cpp1
-rw-r--r--main/tests/test_string.cpp6
-rw-r--r--methods.py8
-rw-r--r--modules/arkit/SCsub10
-rw-r--r--modules/arkit/arkit_interface.h125
-rw-r--r--modules/arkit/arkit_interface.mm738
-rw-r--r--modules/arkit/arkit_session_delegate.h50
-rw-r--r--modules/arkit/arkit_session_delegate.mm56
-rw-r--r--modules/arkit/config.py5
-rw-r--r--modules/arkit/register_types.cpp (renamed from editor/editor_name_dialog.cpp)68
-rw-r--r--modules/arkit/register_types.h32
-rw-r--r--modules/assimp/editor_scene_importer_assimp.cpp32
-rw-r--r--modules/bmp/image_loader_bmp.cpp2
-rw-r--r--modules/bullet/collision_object_bullet.cpp2
-rw-r--r--modules/bullet/rigid_body_bullet.cpp4
-rw-r--r--modules/csg/csg_gizmos.cpp14
-rw-r--r--modules/csg/csg_shape.h2
-rw-r--r--modules/csg/doc_classes/CSGBox.xml8
-rw-r--r--modules/csg/doc_classes/CSGCylinder.xml12
-rw-r--r--modules/csg/doc_classes/CSGMesh.xml4
-rw-r--r--modules/csg/doc_classes/CSGPolygon.xml10
-rw-r--r--modules/csg/doc_classes/CSGPrimitive.xml2
-rw-r--r--modules/csg/doc_classes/CSGShape.xml12
-rw-r--r--modules/csg/doc_classes/CSGSphere.xml10
-rw-r--r--modules/csg/doc_classes/CSGTorus.xml12
-rw-r--r--modules/csg/icons/icon_c_s_g_box.svg (renamed from editor/icons/icon_c_s_g_box.svg)0
-rw-r--r--modules/csg/icons/icon_c_s_g_capsule.svg (renamed from editor/icons/icon_c_s_g_capsule.svg)0
-rw-r--r--modules/csg/icons/icon_c_s_g_combiner.svg (renamed from editor/icons/icon_c_s_g_combiner.svg)0
-rw-r--r--modules/csg/icons/icon_c_s_g_cylinder.svg (renamed from editor/icons/icon_c_s_g_cylinder.svg)0
-rw-r--r--modules/csg/icons/icon_c_s_g_mesh.svg (renamed from editor/icons/icon_c_s_g_mesh.svg)0
-rw-r--r--modules/csg/icons/icon_c_s_g_polygon.svg (renamed from editor/icons/icon_c_s_g_polygon.svg)0
-rw-r--r--modules/csg/icons/icon_c_s_g_sphere.svg (renamed from editor/icons/icon_c_s_g_sphere.svg)0
-rw-r--r--modules/csg/icons/icon_c_s_g_torus.svg (renamed from editor/icons/icon_c_s_g_torus.svg)0
-rw-r--r--modules/dds/texture_loader_dds.cpp2
-rw-r--r--modules/enet/doc_classes/NetworkedMultiplayerENet.xml34
-rw-r--r--modules/enet/networked_multiplayer_enet.cpp4
-rw-r--r--modules/gdnative/arvr/arvr_interface_gdnative.cpp26
-rw-r--r--modules/gdnative/arvr/arvr_interface_gdnative.h2
-rw-r--r--modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml4
-rw-r--r--modules/gdnative/doc_classes/GDNative.xml2
-rw-r--r--modules/gdnative/doc_classes/GDNativeLibrary.xml8
-rw-r--r--modules/gdnative/doc_classes/NativeScript.xml8
-rw-r--r--modules/gdnative/gdnative.cpp18
-rw-r--r--modules/gdnative/gdnative.h2
-rw-r--r--modules/gdnative/gdnative/array.cpp4
-rw-r--r--modules/gdnative/icons/icon_g_d_native_library.svg (renamed from editor/icons/icon_g_d_native_library.svg)0
-rw-r--r--modules/gdnative/icons/icon_native_script.svg (renamed from editor/icons/icon_native_script.svg)0
-rw-r--r--modules/gdnative/include/gdnative/gdnative.h6
-rw-r--r--modules/gdnative/net/multiplayer_peer_gdnative.cpp2
-rw-r--r--modules/gdnative/pluginscript/pluginscript_language.cpp2
-rw-r--r--modules/gdnative/pluginscript/pluginscript_script.cpp18
-rw-r--r--modules/gdscript/doc_classes/@GDScript.xml165
-rw-r--r--modules/gdscript/gdscript.cpp4
-rw-r--r--modules/gdscript/gdscript_compiler.cpp4
-rw-r--r--modules/gdscript/gdscript_editor.cpp12
-rw-r--r--modules/gdscript/gdscript_function.cpp53
-rw-r--r--modules/gdscript/gdscript_parser.cpp34
-rw-r--r--modules/gdscript/gdscript_tokenizer.cpp4
-rw-r--r--modules/gdscript/icons/icon_g_d_script.svg (renamed from editor/icons/icon_g_d_script.svg)0
-rw-r--r--modules/gridmap/doc_classes/GridMap.xml22
-rw-r--r--modules/gridmap/grid_map_editor_plugin.cpp6
-rw-r--r--modules/gridmap/icons/icon_grid_map.svg (renamed from editor/icons/icon_grid_map.svg)0
-rwxr-xr-xmodules/mbedtls/stream_peer_mbed_tls.cpp4
-rwxr-xr-xmodules/mbedtls/stream_peer_mbed_tls.h1
-rw-r--r--modules/mobile_vr/doc_classes/MobileVRInterface.xml20
-rw-r--r--modules/mono/csharp_script.cpp7
-rw-r--r--modules/mono/csharp_script.h2
-rw-r--r--modules/mono/editor/csharp_project.h2
-rw-r--r--modules/mono/editor/godotsharp_editor.h2
-rw-r--r--modules/mono/mono_gd/gd_mono_internals.cpp2
-rw-r--r--modules/mono/utils/thread_local.h2
-rw-r--r--modules/opensimplex/doc_classes/NoiseTexture.xml12
-rw-r--r--modules/opensimplex/doc_classes/OpenSimplexNoise.xml14
-rw-r--r--modules/opensimplex/icons/icon_noise_texture.svg (renamed from editor/icons/icon_noise_texture.svg)0
-rw-r--r--modules/opensimplex/noise_texture.h4
-rw-r--r--modules/regex/doc_classes/RegEx.xml16
-rw-r--r--modules/regex/doc_classes/RegExMatch.xml12
-rw-r--r--modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml6
-rw-r--r--modules/upnp/SCsub3
-rw-r--r--modules/upnp/doc_classes/UPNP.xml19
-rw-r--r--modules/upnp/doc_classes/UPNPDevice.xml12
-rw-r--r--modules/visual_script/doc_classes/VisualScript.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml19
-rw-r--r--modules/visual_script/doc_classes/VisualScriptClassConstant.xml6
-rw-r--r--modules/visual_script/doc_classes/VisualScriptComment.xml6
-rw-r--r--modules/visual_script/doc_classes/VisualScriptConstant.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptCustomNode.xml8
-rw-r--r--modules/visual_script/doc_classes/VisualScriptDeconstruct.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptEmitSignal.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptFunctionCall.xml10
-rw-r--r--modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptInputAction.xml4
-rw-r--r--modules/visual_script/doc_classes/VisualScriptLocalVar.xml4
-rw-r--r--modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml4
-rw-r--r--modules/visual_script/doc_classes/VisualScriptMathConstant.xml3
-rw-r--r--modules/visual_script/doc_classes/VisualScriptOperator.xml4
-rw-r--r--modules/visual_script/doc_classes/VisualScriptPreload.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptPropertyGet.xml6
-rw-r--r--modules/visual_script/doc_classes/VisualScriptPropertySet.xml8
-rw-r--r--modules/visual_script/doc_classes/VisualScriptResourcePath.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptReturn.xml4
-rw-r--r--modules/visual_script/doc_classes/VisualScriptSceneNode.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptSelect.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptSequence.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptSwitch.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptTypeCast.xml4
-rw-r--r--modules/visual_script/doc_classes/VisualScriptVariableGet.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptVariableSet.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptYield.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptYieldSignal.xml6
-rw-r--r--modules/visual_script/icons/icon_visual_script.svg (renamed from editor/icons/icon_visual_script.svg)0
-rw-r--r--modules/visual_script/visual_script_editor.cpp4
-rw-r--r--modules/visual_script/visual_script_expression.cpp2
-rw-r--r--modules/visual_script/visual_script_func_nodes.cpp7
-rw-r--r--modules/webrtc/doc_classes/WebRTCDataChannel.xml4
-rw-r--r--modules/webrtc/doc_classes/WebRTCPeerConnection.xml8
-rw-r--r--modules/webrtc/webrtc_data_channel_gdnative.cpp1
-rw-r--r--modules/websocket/doc_classes/WebSocketClient.xml18
-rw-r--r--modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml7
-rw-r--r--modules/websocket/doc_classes/WebSocketPeer.xml18
-rw-r--r--modules/websocket/doc_classes/WebSocketServer.xml19
-rw-r--r--modules/websocket/websocket_multiplayer_peer.h2
-rw-r--r--platform/android/export/export.cpp27
-rw-r--r--platform/android/java/AndroidManifest.xml9
-rw-r--r--platform/android/java/src/org/godotengine/godot/Godot.java10
-rw-r--r--platform/android/java/src/org/godotengine/godot/GodotView.java22
-rw-r--r--platform/android/java/src/org/godotengine/godot/input/GodotInputHandler.java12
-rw-r--r--platform/android/java/src/org/godotengine/godot/xr/XRMode.java14
-rw-r--r--platform/android/java/src/org/godotengine/godot/xr/regular/RegularConfigChooser.java (renamed from platform/android/java/src/org/godotengine/godot/xr/pancake/PancakeConfigChooser.java)10
-rw-r--r--platform/android/java/src/org/godotengine/godot/xr/regular/RegularContextFactory.java (renamed from platform/android/java/src/org/godotengine/godot/xr/pancake/PancakeContextFactory.java)8
-rw-r--r--platform/android/java/src/org/godotengine/godot/xr/regular/RegularFallbackConfigChooser.java (renamed from platform/android/java/src/org/godotengine/godot/xr/pancake/PancakeFallbackConfigChooser.java)12
-rw-r--r--platform/iphone/camera_ios.h4
-rw-r--r--platform/iphone/camera_ios.mm63
-rw-r--r--platform/iphone/detect.py1
-rw-r--r--platform/iphone/export/export.cpp37
-rw-r--r--platform/iphone/gl_view.mm2
-rw-r--r--platform/javascript/detect.py6
-rw-r--r--platform/osx/export/export.cpp2
-rw-r--r--platform/uwp/export/export.cpp14
-rw-r--r--platform/windows/os_windows.cpp4
-rw-r--r--platform/x11/context_gl_x11.cpp2
-rw-r--r--platform/x11/detect.py6
-rw-r--r--platform/x11/joypad_linux.cpp1
-rw-r--r--platform/x11/os_x11.cpp10
-rw-r--r--platform/x11/power_x11.cpp5
-rw-r--r--scene/2d/animated_sprite.cpp5
-rw-r--r--scene/2d/area_2d.cpp8
-rw-r--r--scene/2d/audio_stream_player_2d.cpp4
-rw-r--r--scene/2d/canvas_item.cpp1
-rw-r--r--scene/2d/canvas_item.h2
-rw-r--r--scene/2d/collision_object_2d.cpp7
-rw-r--r--scene/2d/cpu_particles_2d.cpp28
-rw-r--r--scene/2d/cpu_particles_2d.h6
-rw-r--r--scene/2d/line_2d.cpp104
-rw-r--r--scene/2d/line_2d.h5
-rw-r--r--scene/2d/line_builder.cpp120
-rw-r--r--scene/2d/line_builder.h1
-rw-r--r--scene/2d/navigation_2d.cpp1
-rw-r--r--scene/2d/particles_2d.cpp28
-rw-r--r--scene/2d/physics_body_2d.cpp2
-rw-r--r--scene/2d/physics_body_2d.h4
-rw-r--r--scene/2d/sprite.cpp5
-rw-r--r--scene/2d/tile_map.cpp361
-rw-r--r--scene/2d/tile_map.h23
-rw-r--r--scene/3d/arvr_nodes.cpp1
-rw-r--r--scene/3d/audio_stream_player_3d.cpp6
-rw-r--r--scene/3d/audio_stream_player_3d.h2
-rw-r--r--scene/3d/camera.h2
-rw-r--r--scene/3d/cpu_particles.cpp29
-rw-r--r--scene/3d/cpu_particles.h6
-rw-r--r--scene/3d/gi_probe.cpp1
-rw-r--r--scene/3d/navigation.cpp1
-rw-r--r--scene/3d/particles.cpp30
-rw-r--r--scene/3d/physics_body.cpp2
-rw-r--r--scene/3d/soft_body.cpp2
-rw-r--r--scene/3d/spatial.cpp2
-rw-r--r--scene/3d/sprite_3d.cpp1
-rw-r--r--scene/3d/vehicle_body.cpp7
-rw-r--r--scene/3d/visual_instance.cpp3
-rw-r--r--scene/3d/voxel_light_baker.cpp4
-rw-r--r--scene/animation/animation_node_state_machine.cpp114
-rw-r--r--scene/animation/root_motion_view.h2
-rw-r--r--scene/animation/skeleton_ik.cpp4
-rw-r--r--scene/animation/skeleton_ik.h4
-rw-r--r--scene/animation/tween.cpp4
-rw-r--r--scene/audio/audio_stream_player.cpp2
-rw-r--r--scene/gui/box_container.cpp1
-rw-r--r--scene/gui/color_picker.cpp10
-rw-r--r--scene/gui/control.cpp51
-rw-r--r--scene/gui/control.h5
-rw-r--r--scene/gui/file_dialog.cpp21
-rw-r--r--scene/gui/file_dialog.h1
-rw-r--r--scene/gui/graph_edit.cpp12
-rw-r--r--scene/gui/label.cpp9
-rw-r--r--scene/gui/line_edit.cpp44
-rw-r--r--scene/gui/line_edit.h3
-rw-r--r--scene/gui/option_button.cpp2
-rw-r--r--scene/gui/popup.cpp17
-rw-r--r--scene/gui/popup.h3
-rw-r--r--scene/gui/reference_rect.cpp21
-rw-r--r--scene/gui/reference_rect.h6
-rw-r--r--scene/gui/rich_text_label.cpp140
-rw-r--r--scene/gui/rich_text_label.h1
-rw-r--r--scene/gui/scroll_container.cpp22
-rw-r--r--scene/gui/text_edit.cpp67
-rw-r--r--scene/gui/text_edit.h3
-rw-r--r--scene/gui/tree.cpp4
-rw-r--r--scene/main/http_request.cpp7
-rw-r--r--scene/main/http_request.h2
-rw-r--r--scene/main/node.cpp23
-rw-r--r--scene/main/scene_tree.cpp16
-rw-r--r--scene/main/viewport.cpp4
-rw-r--r--scene/resources/concave_polygon_shape_2d.cpp2
-rw-r--r--scene/resources/default_theme/default_theme.cpp2
-rw-r--r--scene/resources/multimesh.cpp8
-rw-r--r--scene/resources/particles_material.cpp35
-rw-r--r--scene/resources/particles_material.h5
-rw-r--r--scene/resources/primitive_meshes.cpp2
-rw-r--r--scene/resources/resource_format_text.cpp4
-rw-r--r--scene/resources/texture.cpp3
-rw-r--r--scene/resources/tile_set.cpp29
-rw-r--r--scene/resources/visual_shader.cpp48
-rw-r--r--scene/resources/visual_shader.h3
-rw-r--r--scene/resources/visual_shader_nodes.h8
-rw-r--r--servers/audio/audio_filter_sw.cpp2
-rw-r--r--servers/audio/audio_stream.cpp5
-rw-r--r--servers/audio/audio_stream.h2
-rw-r--r--servers/audio/effects/audio_effect_record.cpp3
-rw-r--r--servers/audio/effects/audio_effect_spectrum_analyzer.cpp4
-rw-r--r--servers/audio_server.cpp17
-rw-r--r--servers/audio_server.h5
-rw-r--r--servers/physics/broad_phase_octree.cpp2
-rw-r--r--servers/physics/collision_object_sw.cpp7
-rw-r--r--servers/physics/collision_object_sw.h7
-rw-r--r--servers/physics/collision_solver_sat.cpp12
-rw-r--r--servers/physics/joints/generic_6dof_joint_sw.cpp1
-rw-r--r--servers/physics/space_sw.cpp4
-rw-r--r--servers/physics_2d/collision_object_2d_sw.cpp45
-rw-r--r--servers/physics_2d/collision_object_2d_sw.h2
-rw-r--r--servers/physics_2d/physics_2d_server_sw.cpp20
-rw-r--r--servers/physics_2d/physics_2d_server_sw.h3
-rw-r--r--servers/physics_2d/space_2d_sw.cpp2
-rw-r--r--servers/server_wrap_mt_common.h2
-rw-r--r--servers/visual/visual_server_canvas.cpp2
-rw-r--r--servers/visual/visual_server_canvas.h4
-rw-r--r--servers/visual/visual_server_raster.cpp2
-rw-r--r--servers/visual/visual_server_scene.cpp6
-rw-r--r--servers/visual/visual_server_viewport.cpp2
-rw-r--r--servers/visual/visual_server_viewport.h3
-rw-r--r--servers/visual_server.cpp11
-rw-r--r--thirdparty/README.md26
-rw-r--r--thirdparty/assimp/include/assimp/types.h9
-rw-r--r--thirdparty/mbedtls/include/godot_core_mbedtls_config.h13
-rw-r--r--thirdparty/mbedtls/library/godot_core_mbedtls_platform.c18
-rw-r--r--thirdparty/miniupnpc/LICENSE4
-rw-r--r--thirdparty/miniupnpc/miniupnpc.def45
-rw-r--r--thirdparty/miniupnpc/miniupnpc.h153
-rw-r--r--thirdparty/miniupnpc/miniupnpc/codelength.h (renamed from thirdparty/miniupnpc/codelength.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/connecthostport.c (renamed from thirdparty/miniupnpc/connecthostport.c)62
-rw-r--r--thirdparty/miniupnpc/miniupnpc/connecthostport.h (renamed from thirdparty/miniupnpc/connecthostport.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/igd_desc_parse.c (renamed from thirdparty/miniupnpc/igd_desc_parse.c)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/igd_desc_parse.h (renamed from thirdparty/miniupnpc/igd_desc_parse.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/listdevices.c (renamed from thirdparty/miniupnpc/listdevices.c)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/minisoap.c (renamed from thirdparty/miniupnpc/minisoap.c)9
-rw-r--r--thirdparty/miniupnpc/miniupnpc/minisoap.h (renamed from thirdparty/miniupnpc/minisoap.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/minissdpc.c (renamed from thirdparty/miniupnpc/minissdpc.c)101
-rw-r--r--thirdparty/miniupnpc/miniupnpc/minissdpc.h (renamed from thirdparty/miniupnpc/minissdpc.h)6
-rw-r--r--thirdparty/miniupnpc/miniupnpc/miniupnpc.c (renamed from thirdparty/miniupnpc/miniupnpc.c)37
-rw-r--r--thirdparty/miniupnpc/miniupnpc/miniupnpc_declspec.h (renamed from thirdparty/miniupnpc/miniupnpc_declspec.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/miniupnpc_socketdef.h (renamed from thirdparty/miniupnpc/miniupnpc_socketdef.h)7
-rw-r--r--thirdparty/miniupnpc/miniupnpc/miniupnpcmodule.c (renamed from thirdparty/miniupnpc/miniupnpcmodule.c)34
-rw-r--r--thirdparty/miniupnpc/miniupnpc/miniupnpcstrings.h (renamed from thirdparty/miniupnpc/miniupnpcstrings.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/miniupnpctypes.h (renamed from thirdparty/miniupnpc/miniupnpctypes.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/miniwget.c (renamed from thirdparty/miniupnpc/miniwget.c)9
-rw-r--r--thirdparty/miniupnpc/miniupnpc/miniwget_private.h (renamed from thirdparty/miniupnpc/miniwget_private.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/minixml.c (renamed from thirdparty/miniupnpc/minixml.c)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/minixml.h (renamed from thirdparty/miniupnpc/minixml.h)2
-rw-r--r--thirdparty/miniupnpc/miniupnpc/minixmlvalid.c (renamed from thirdparty/miniupnpc/minixmlvalid.c)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/portlistingparse.c (renamed from thirdparty/miniupnpc/portlistingparse.c)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/portlistingparse.h (renamed from thirdparty/miniupnpc/portlistingparse.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/receivedata.c (renamed from thirdparty/miniupnpc/receivedata.c)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/receivedata.h (renamed from thirdparty/miniupnpc/receivedata.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/upnpc.c (renamed from thirdparty/miniupnpc/upnpc.c)4
-rw-r--r--thirdparty/miniupnpc/miniupnpc/upnpcommands.c (renamed from thirdparty/miniupnpc/upnpcommands.c)63
-rw-r--r--thirdparty/miniupnpc/miniupnpc/upnpcommands.h6
-rw-r--r--thirdparty/miniupnpc/miniupnpc/upnpdev.c (renamed from thirdparty/miniupnpc/upnpdev.c)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/upnpdev.h (renamed from thirdparty/miniupnpc/upnpdev.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/upnperrors.c (renamed from thirdparty/miniupnpc/upnperrors.c)8
-rw-r--r--thirdparty/miniupnpc/miniupnpc/upnperrors.h (renamed from thirdparty/miniupnpc/upnperrors.h)0
-rw-r--r--thirdparty/miniupnpc/miniupnpc/upnpreplyparse.c (renamed from thirdparty/miniupnpc/upnpreplyparse.c)5
-rw-r--r--thirdparty/miniupnpc/miniupnpc/upnpreplyparse.h (renamed from thirdparty/miniupnpc/upnpreplyparse.h)0
-rw-r--r--thirdparty/miniupnpc/miniwget.h27
-rw-r--r--thirdparty/miniupnpc/upnpcommands.h348
-rw-r--r--thirdparty/misc/aes256.cpp397
-rw-r--r--thirdparty/misc/aes256.h46
-rw-r--r--thirdparty/misc/base64.c118
-rw-r--r--thirdparty/misc/base64.h18
-rw-r--r--thirdparty/misc/md5.cpp267
-rw-r--r--thirdparty/misc/md5.h61
-rw-r--r--thirdparty/misc/sha256.c245
-rw-r--r--thirdparty/misc/sha256.h50
1016 files changed, 26459 insertions, 33174 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index bd4a7b0ca8..b04e7d9ce8 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -12,6 +12,9 @@ environment:
TARGET: release_debug
ARCH: amd64
+init:
+ - ps: if ($env:APPVEYOR_REPO_BRANCH -ne "master") { $env:APPVEYOR_CACHE_SKIP_SAVE = "true" }
+
cache:
- "%SCONS_CACHE_ROOT%"
@@ -26,7 +29,7 @@ before_build:
- python --version
- scons --version
- cl.exe
- - SET "SCONS_CACHE=%SCONS_CACHE_ROOT%\master"
+ - set "SCONS_CACHE=%SCONS_CACHE_ROOT%\%APPVEYOR_REPO_BRANCH%"
build_script:
-- scons platform=%GD_PLATFORM% target=%TARGET% tools=%TOOLS% debug_symbols=no verbose=yes progress=no gdnative_wrapper=yes
+ - scons platform=%GD_PLATFORM% target=%TARGET% tools=%TOOLS% debug_symbols=no verbose=yes progress=no gdnative_wrapper=yes
diff --git a/CODEOWNERS b/.github/CODEOWNERS
index 399fca03e8..399fca03e8 100644
--- a/CODEOWNERS
+++ b/.github/CODEOWNERS
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000000..0820ab175d
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+patreon: godotengine
+custom: https://godotengine.org/donate
diff --git a/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index 1ca0b3694c..1ca0b3694c 100644
--- a/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
diff --git a/.travis.yml b/.travis.yml
index 09d8cad07e..b52e40200f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,17 +28,17 @@ matrix:
packages:
- clang-format-8
- - name: Linux editor (debug, GCC 8, with Mono)
- env: PLATFORM=x11 TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-mono-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="module_mono_enabled=yes mono_glue=no warnings=extra werror=yes"
+ - name: Linux editor (debug, GCC 9, with Mono)
+ env: PLATFORM=x11 TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-mono-gcc-9 MATRIX_EVAL="CC=gcc-9 && CXX=g++-9" EXTRA_ARGS="module_mono_enabled=yes mono_glue=no warnings=extra werror=yes"
os: linux
- compiler: gcc-8
+ compiler: gcc-9
addons:
apt:
sources:
- mono
- ubuntu-toolchain-r-test
packages:
- - &gcc8_deps [gcc-8, g++-8]
+ - &gcc9_deps [gcc-9, g++-9]
- &linux_deps [libasound2-dev, libgl1-mesa-dev, libglu1-mesa-dev, libx11-dev, libxcursor-dev, libxi-dev, libxinerama-dev, libxrandr-dev]
- &linux_mono_deps [mono-devel, msbuild, nuget]
@@ -75,16 +75,16 @@ matrix:
os: osx
compiler: clang
- - name: Linux headless editor (release_debug, GCC 8)
- env: PLATFORM=server TOOLS=yes TARGET=release_debug CACHE_NAME=${PLATFORM}-tools-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="warnings=extra werror=yes"
+ - name: Linux headless editor (release_debug, GCC 9)
+ env: PLATFORM=server TOOLS=yes TARGET=release_debug CACHE_NAME=${PLATFORM}-tools-gcc-9 MATRIX_EVAL="CC=gcc-9 && CXX=g++-9" EXTRA_ARGS="warnings=extra werror=yes"
os: linux
- compiler: gcc-8
+ compiler: gcc-9
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- - *gcc8_deps
+ - *gcc9_deps
- *linux_deps
- name: Linux export template (release_debug, GCC 5, without 3D support)
diff --git a/AUTHORS.md b/AUTHORS.md
index ba563eb507..43b4917382 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -52,6 +52,7 @@ name is available.
Clay John (clayjohn)
Dana Olson (adolson)
Daniel J. Ramirez (djrm)
+ Daniel Rakos (aqnuep)
Dharkael (lupoDharkael)
Dmitry Koteroff (Krakean)
DualMatrix
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt
index 5431e2b403..1759c935b8 100644
--- a/COPYRIGHT.txt
+++ b/COPYRIGHT.txt
@@ -250,20 +250,6 @@ Copyright: 1998-2010, Gilles Vollant
2009-2010, Mathias Svensson
License: Zlib
-Files: ./thirdparty/misc/aes256.cpp
- ./thirdparty/misc/aes256.h
- ./thirdparty/misc/sha256.c
- ./thirdparty/misc/sha256.h
-Comment: AES-256 and SHA-256 implementation
-Copyright: 2007-2011, Ilya O. Levin
-License: ISC
-
-Files: ./thirdparty/misc/base64.c
- ./thirdparty/misc/base64.h
-Comment: BASE64 conversion methods
-Copyright: Ari Edelkind
-License: public-domain
-
Files: ./thirdparty/misc/clipper.cpp
./thirdparty/misc/clipper.hpp
Comment: Clipper
@@ -299,12 +285,6 @@ Comment: libjingle
Copyright: 2012-2013, Google Inc.
License: BSD-3-clause
-Files: ./thirdparty/misc/md5.cpp
- ./thirdparty/misc/md5.h
-Comment: MD5 Message Digest Algorithm
-Copyright: 1990, RSA Data Security, Inc.
-License: RSA-MD
-
Files: ./thirdparty/misc/mikktspace.c
./thirdparty/misc/mikktspace.h
Comment: Tangent Space Normal Maps implementation
@@ -1072,19 +1052,6 @@ License: FTL
Robert Wilhelm <robert.wilhelm@freetype.org>
Werner Lemberg <werner.lemberg@freetype.org>
-License: ISC
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
- .
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
License: LGPL-2.1+SLE (libwebsockets)
Libwebsockets and included programs are provided under the terms of the GNU
Library General Public License (LGPL) 2.1, with the following exceptions:
@@ -2101,24 +2068,6 @@ License: OFL-1.1
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE.
-License: RSA-MD
- License to copy and use this software is granted provided that it is
- identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm"
- in all material mentioning or referencing this software or this function.
- .
- License is also granted to make and use derivative works provided that such
- works are identified as "derived from the RSA Data Security, Inc. MD5
- Message-Digest Algorithm" in all material mentioning or referencing the
- derived work.
- .
- RSA Data Security, Inc. makes no representations concerning either the
- merchantability of this software or the suitability of this software for
- any particular purpose. It is provided "as is" without express or implied
- warranty of any kind.
- .
- These notices must be retained in any copies of any part of this
- documentation and/or software.
-
License: Zlib
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff --git a/DONORS.md b/DONORS.md
index 30eb5c220f..947c12923b 100644
--- a/DONORS.md
+++ b/DONORS.md
@@ -41,6 +41,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Matthieu Huvé
Maxim Karsten
Mike King
+ Nathan Warden
Neal Gompa (Conan Kudo)
Patrick Aarstad
Slobodan Milnovic
@@ -49,13 +50,11 @@ generous deed immortalized in the next stable release of Godot Engine.
Steve
VilliHaukka
Xananax
- Y8.com
Zashi
## Gold donors
Andrei
- Brandon Waite
cheese65536
David Gehrig
Ed Morley
@@ -66,12 +65,12 @@ generous deed immortalized in the next stable release of Godot Engine.
Manuele Finocchiaro
Officine Pixel S.n.c.
Retro Village
+ Ronan Zeegers
Sofox
Zaven Muradyan
Alexander Trey Saunders
Allen Schade
- Andreas Schüle
Asher Glick
Austen McRae
Brian van der Stel
@@ -85,8 +84,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Jay Horton
Jon Smith
Jon Woodward
- Jorge Bernal
- Joshua Lesperance
Justo Delgado Baudí
Karl Werf
Kommentgames
@@ -96,11 +93,13 @@ generous deed immortalized in the next stable release of Godot Engine.
Mored1984
paul gruenbacher
Paul LaMotte
+ Péter Magyar
Rob Messick
Ross Esmond
Ryan Badour
Scott Wadden
Sergey
+ Shawn Yu
Svenne Krap
Tom Langwaldt
William Wold
@@ -129,6 +128,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Robin Arys
Ronnie Ashlock
ScottMakesGames
+ Tad C Johnson
Thomas Bjarnelöf
Vincent Henderson
Wojciech Chojnacki
@@ -149,24 +149,25 @@ generous deed immortalized in the next stable release of Godot Engine.
D
Daniel
Daniel Eichler
+ David White
Deadly Lampshade
Eric
Eric Monson
- Ethan Bennis
Eugenio Hugo Salgüero Jáñez
flesk
Francisco Javier Moreno Carracedo
gavlig
GGGames.org
Giles Montgomery
- Giovanni Solimeno
Guilherme Felipe de C. G. da Silva
Heath Hayes
Hysteria
Idzard Kwadijk
Jared White
+ Jesse Nave
Jose Malheiro
Joshua Flores
+ Joshua Lesperance
Juan T Chen
Juraj Móza
Kasper Jeppesen
@@ -174,13 +175,13 @@ generous deed immortalized in the next stable release of Godot Engine.
Klavdij Voncina
Leandro Voltolino
Maarten Elings
- Malcolm Peralty
Markus Fehr
Markus Wiesner
Martin Eigel
Marvin
Matt Eunson
Matthew Hillier
+ Max Bulai
Max R.R. Collada
M H
Nick Nikitin
@@ -219,14 +220,18 @@ generous deed immortalized in the next stable release of Godot Engine.
Alice Robinson
Andreas Evers
Andreas Krampitz
+ Andreas Schüle
Andrew Peart
Anthony Bongiovanni
Anthony Staunton
Antony K. Jones
Arda Erol
+ Artem Bashev
Arthur S. Muszynski
+ Artistofdeath
Aubrey Falconer
Avencherus
+ B A
Balázs Batári
Bastian Böhm
Beliar
@@ -242,6 +247,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Boyquotes
Branwyn Tylwyth
Bryan Stevenson
+ Caleb Dumitry
Carwyn Edwards
Chris Brown
Chris Chapin
@@ -250,7 +256,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Christian Winter
Christoffer Sundbom
Christopher Schmitt
- Chris Wilson
Clay Heaton
Cobaltum
Collin Shooltz
@@ -263,7 +268,9 @@ generous deed immortalized in the next stable release of Godot Engine.
David Cravens
David May
Dimitri Stanojevic
+ Dominic Cooney
Dominik Wetzel
+ DrevanTonder
Duobix
Edward Herbert
Egon Elbre
@@ -272,12 +279,12 @@ generous deed immortalized in the next stable release of Godot Engine.
Emanuel Kotzayan
Eric Ellingson
Eric Martini
- Eric McCarthy
Eric Williams
Evan Rose
Felix Kollmann
fengjiongmax
Flaredown
+ FuDiggity
G3Dev sàrl
Gary Hulst
Gerrit Großkopf
@@ -286,9 +293,9 @@ generous deed immortalized in the next stable release of Godot Engine.
Greg Olson
Greg P
Guldoman
+ Hal A
Heribert Hirth
Hiroshi Naruo
- HMan
Hunter Jones
Hylpher
ialex32x
@@ -310,6 +317,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Joel Setterberg
Johannes Eichler
Johannes Wuensch
+ Jomei Jackson
Jonas Rudlang
Jonas Yamazaki
Jonathan G
@@ -318,21 +326,24 @@ generous deed immortalized in the next stable release of Godot Engine.
Jon Bonazza
Jon Sully
Jose Aleman
+ Joseph Catrambone
Josh 'Cheeseness' Bush
Juanfran
Juan Negrier
Judd
+ Jueast
Julian Murgia
Kasier Bald0
KC Chan
kickmaniac
Kiyohiro Kawamura (kyorohiro)
Klagsam
+ Klassix
KR McGinley
KsyTek Games
Kuan Cheang
kycho
- Lavik1988
+ Leviathan Hunter
Levi Lindsey
Linus Lind Lundgren
Lionel Gaillard
@@ -344,6 +355,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Malcolm
Malik Ahmed
Malik Nejer
+ Marc Urlus
Marcus Richter
Markus Michael Egger
Martin Holas
@@ -357,6 +369,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Mikael Olsson
Mikayla Hutchinson
Mike Cunningham
+ Mitchell J. Wagner
mlevin cantu
MoM
Moritz Laass
@@ -365,6 +378,7 @@ generous deed immortalized in the next stable release of Godot Engine.
nee
Neil Blakey-Milner
Nerdforge
+ Nicholas
Niclas Eriksen
Nicolás Montaña
Nicolas SAN AGUSTIN
@@ -372,6 +386,7 @@ generous deed immortalized in the next stable release of Godot Engine.
NZ
Omar Delarosa
Oscar Norlander
+ Pafka
Pan Ip
Patrick Forringer
Patrick Nafarrete
@@ -382,6 +397,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Pierre-Igor Berthet
Pietro Vertechi
Pitsanu Tongprasin
+ Point08
Poryg
Rafa Laguna
Rafal Wyszomirski
@@ -408,7 +424,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Simon Wenner
SK
Sootstone
- Theo Cranmore
+ Stonepyre
Thibault Barbaroux
thomas
Thomas Bell
@@ -434,7 +450,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Veodok
Victor
Vigilant Watch
- Viktor Ferenczi
waka nya
Wayne Haak
werner mendizabal
@@ -442,6 +457,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Will
William Hogben
Wout Standaert
+ Yeung Si Xiang
## Bronze donors
diff --git a/SConstruct b/SConstruct
index a619ea0797..c2524a4a4d 100644
--- a/SConstruct
+++ b/SConstruct
@@ -399,6 +399,7 @@ if selected_platform in platform_list:
sys.modules.pop('detect')
env.module_list = []
+ env.module_icons_paths = []
env.doc_class_path = {}
for x in module_list:
@@ -421,13 +422,22 @@ if selected_platform in platform_list:
if (can_build):
config.configure(env)
env.module_list.append(x)
+
+ # Get doc classes paths (if present)
try:
- doc_classes = config.get_doc_classes()
- doc_path = config.get_doc_path()
- for c in doc_classes:
- env.doc_class_path[c] = "modules/" + x + "/" + doc_path
+ doc_classes = config.get_doc_classes()
+ doc_path = config.get_doc_path()
+ for c in doc_classes:
+ env.doc_class_path[c] = "modules/" + x + "/" + doc_path
except:
pass
+ # Get icon paths (if present)
+ try:
+ icons_path = config.get_icons_path()
+ env.module_icons_paths.append("modules/" + x + "/" + icons_path)
+ except:
+ # Default path for module icons
+ env.module_icons_paths.append("modules/" + x + "/" + "icons")
sys.path.remove(tmppath)
sys.modules.pop('config')
diff --git a/core/SCsub b/core/SCsub
index 166b7083e4..6389cd176c 100644
--- a/core/SCsub
+++ b/core/SCsub
@@ -47,15 +47,11 @@ env_thirdparty.disable_warnings()
thirdparty_misc_dir = "#thirdparty/misc/"
thirdparty_misc_sources = [
# C sources
- "base64.c",
"fastlz.c",
- "sha256.c",
"smaz.c",
# C++ sources
- "aes256.cpp",
"hq2x.cpp",
- "md5.cpp",
"pcg.cpp",
"triangulator.cpp",
"clipper.cpp",
diff --git a/core/array.cpp b/core/array.cpp
index 65934d6ec9..a334af2c04 100644
--- a/core/array.cpp
+++ b/core/array.cpp
@@ -133,12 +133,18 @@ void Array::erase(const Variant &p_value) {
}
Variant Array::front() const {
- ERR_FAIL_COND_V(_p->array.size() == 0, Variant());
+ if (_p->array.size() == 0) {
+ ERR_EXPLAIN("Can't take value from empty array");
+ ERR_FAIL_V(Variant());
+ }
return operator[](0);
}
Variant Array::back() const {
- ERR_FAIL_COND_V(_p->array.size() == 0, Variant());
+ if (_p->array.size() == 0) {
+ ERR_EXPLAIN("Can't take value from empty array");
+ ERR_FAIL_V(Variant());
+ }
return operator[](_p->array.size() - 1);
}
@@ -165,8 +171,8 @@ int Array::rfind(const Variant &p_value, int p_from) const {
if (_p->array[i] == p_value) {
return i;
- };
- };
+ }
+ }
return -1;
}
@@ -186,8 +192,8 @@ int Array::count(const Variant &p_value) const {
if (_p->array[i] == p_value) {
amount++;
- };
- };
+ }
+ }
return amount;
}
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp
index 8a898f3b53..382ab31f6d 100644
--- a/core/bind/core_bind.cpp
+++ b/core/bind/core_bind.cpp
@@ -34,13 +34,12 @@
#include "core/io/file_access_encrypted.h"
#include "core/io/json.h"
#include "core/io/marshalls.h"
+#include "core/math/crypto_core.h"
#include "core/math/geometry.h"
#include "core/os/keyboard.h"
#include "core/os/os.h"
#include "core/project_settings.h"
-#include "thirdparty/misc/base64.h"
-
/**
* Time constants borrowed from loc_time.h
*/
@@ -76,7 +75,7 @@ RES _ResourceLoader::load(const String &p_path, const String &p_type_hint, bool
if (err != OK) {
ERR_EXPLAIN("Error loading resource: '" + p_path + "'");
- ERR_FAIL_COND_V(err != OK, ret);
+ ERR_FAIL_V(ret);
}
return ret;
}
@@ -149,8 +148,10 @@ _ResourceLoader::_ResourceLoader() {
}
Error _ResourceSaver::save(const String &p_path, const RES &p_resource, SaverFlags p_flags) {
-
- ERR_FAIL_COND_V(p_resource.is_null(), ERR_INVALID_PARAMETER);
+ if (p_resource.is_null()) {
+ ERR_EXPLAIN("Can't save empty resource to path: " + String(p_path))
+ ERR_FAIL_V(ERR_INVALID_PARAMETER);
+ }
return ResourceSaver::save(p_path, p_resource, p_flags);
}
@@ -246,11 +247,11 @@ PoolStringArray _OS::get_connected_midi_inputs() {
}
void _OS::open_midi_inputs() {
- return OS::get_singleton()->open_midi_inputs();
+ OS::get_singleton()->open_midi_inputs();
}
void _OS::close_midi_inputs() {
- return OS::get_singleton()->close_midi_inputs();
+ OS::get_singleton()->close_midi_inputs();
}
void _OS::set_video_mode(const Size2 &p_size, bool p_fullscreen, bool p_resizeable, int p_screen) {
@@ -1317,6 +1318,26 @@ 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");
+ // Those default values need to be specified for the docs generator,
+ // to avoid using values from the documentation writer's own OS instance.
+ ADD_PROPERTY_DEFAULT("clipboard", "");
+ ADD_PROPERTY_DEFAULT("current_screen", 0);
+ ADD_PROPERTY_DEFAULT("exit_code", 0);
+ ADD_PROPERTY_DEFAULT("vsync_enabled", true);
+ ADD_PROPERTY_DEFAULT("low_processor_usage_mode", false);
+ ADD_PROPERTY_DEFAULT("keep_screen_on", true);
+ ADD_PROPERTY_DEFAULT("min_window_size", Vector2());
+ ADD_PROPERTY_DEFAULT("max_window_size", Vector2());
+ ADD_PROPERTY_DEFAULT("screen_orientation", 0);
+ ADD_PROPERTY_DEFAULT("window_borderless", false);
+ ADD_PROPERTY_DEFAULT("window_per_pixel_transparency_enabled", false);
+ ADD_PROPERTY_DEFAULT("window_fullscreen", false);
+ ADD_PROPERTY_DEFAULT("window_maximized", false);
+ ADD_PROPERTY_DEFAULT("window_minimized", false);
+ ADD_PROPERTY_DEFAULT("window_resizable", true);
+ ADD_PROPERTY_DEFAULT("window_position", Vector2());
+ ADD_PROPERTY_DEFAULT("window_size", Vector2());
+
BIND_ENUM_CONSTANT(VIDEO_DRIVER_GLES2);
BIND_ENUM_CONSTANT(VIDEO_DRIVER_GLES3);
@@ -1524,6 +1545,11 @@ bool _Geometry::is_polygon_clockwise(const Vector<Vector2> &p_polygon) {
return Geometry::is_polygon_clockwise(p_polygon);
}
+bool _Geometry::is_point_in_polygon(const Point2 &p_point, const Vector<Vector2> &p_polygon) {
+
+ return Geometry::is_point_in_polygon(p_point, p_polygon);
+}
+
Vector<int> _Geometry::triangulate_polygon(const Vector<Vector2> &p_polygon) {
return Geometry::triangulate_polygon(p_polygon);
@@ -1706,6 +1732,7 @@ void _Geometry::_bind_methods() {
ClassDB::bind_method(D_METHOD("point_is_inside_triangle", "point", "a", "b", "c"), &_Geometry::point_is_inside_triangle);
ClassDB::bind_method(D_METHOD("is_polygon_clockwise", "polygon"), &_Geometry::is_polygon_clockwise);
+ ClassDB::bind_method(D_METHOD("is_point_in_polygon", "point", "polygon"), &_Geometry::is_point_in_polygon);
ClassDB::bind_method(D_METHOD("triangulate_polygon", "polygon"), &_Geometry::triangulate_polygon);
ClassDB::bind_method(D_METHOD("triangulate_delaunay_2d", "points"), &_Geometry::triangulate_delaunay_2d);
ClassDB::bind_method(D_METHOD("convex_hull_2d", "points"), &_Geometry::convex_hull_2d);
@@ -2240,7 +2267,7 @@ bool _Directory::current_is_dir() const {
void _Directory::list_dir_end() {
ERR_FAIL_COND(!d);
- return d->list_dir_end();
+ d->list_dir_end();
}
int _Directory::get_drive_count() {
@@ -2410,7 +2437,8 @@ String _Marshalls::variant_to_base64(const Variant &p_var, bool p_full_objects)
b64buff.resize(b64len);
PoolVector<uint8_t>::Write w64 = b64buff.write();
- int strlen = base64_encode((char *)(&w64[0]), (char *)(&w[0]), len);
+ size_t strlen = 0;
+ ERR_FAIL_COND_V(CryptoCore::b64_encode(&w64[0], b64len, &strlen, &w[0], len) != OK, String());
//OS::get_singleton()->print("len is %i, vector size is %i\n", b64len, strlen);
w64[strlen] = 0;
String ret = (char *)&w64[0];
@@ -2427,7 +2455,8 @@ Variant _Marshalls::base64_to_variant(const String &p_str, bool p_allow_objects)
buf.resize(strlen / 4 * 3 + 1);
PoolVector<uint8_t>::Write w = buf.write();
- int len = base64_decode((char *)(&w[0]), (char *)cstr.get_data(), strlen);
+ size_t len = 0;
+ ERR_FAIL_COND_V(CryptoCore::b64_decode(&w[0], buf.size(), &len, (unsigned char *)cstr.get_data(), strlen) != OK, Variant());
Variant v;
Error err = decode_variant(v, &w[0], len, NULL, p_allow_objects);
@@ -2446,7 +2475,8 @@ String _Marshalls::raw_to_base64(const PoolVector<uint8_t> &p_arr) {
b64buff.resize(b64len);
PoolVector<uint8_t>::Write w64 = b64buff.write();
- int strlen = base64_encode((char *)(&w64[0]), (char *)(&r[0]), len);
+ size_t strlen = 0;
+ ERR_FAIL_COND_V(CryptoCore::b64_encode(&w64[0], b64len, &strlen, &r[0], len) != OK, String());
w64[strlen] = 0;
String ret = (char *)&w64[0];
@@ -2458,17 +2488,16 @@ PoolVector<uint8_t> _Marshalls::base64_to_raw(const String &p_str) {
int strlen = p_str.length();
CharString cstr = p_str.ascii();
- int arr_len;
+ size_t arr_len = 0;
PoolVector<uint8_t> buf;
{
buf.resize(strlen / 4 * 3 + 1);
PoolVector<uint8_t>::Write w = buf.write();
- arr_len = base64_decode((char *)(&w[0]), (char *)cstr.get_data(), strlen);
- };
+ ERR_FAIL_COND_V(CryptoCore::b64_decode(&w[0], buf.size(), &arr_len, (unsigned char *)cstr.get_data(), strlen) != OK, PoolVector<uint8_t>());
+ }
buf.resize(arr_len);
- // conversion from PoolVector<uint8_t> to raw array?
return buf;
};
@@ -2482,7 +2511,8 @@ String _Marshalls::utf8_to_base64(const String &p_str) {
b64buff.resize(b64len);
PoolVector<uint8_t>::Write w64 = b64buff.write();
- int strlen = base64_encode((char *)(&w64[0]), (char *)cstr.get_data(), len);
+ size_t strlen = 0;
+ ERR_FAIL_COND_V(CryptoCore::b64_encode(&w64[0], b64len, &strlen, (unsigned char *)cstr.get_data(), len) != OK, String());
w64[strlen] = 0;
String ret = (char *)&w64[0];
@@ -2499,7 +2529,8 @@ String _Marshalls::base64_to_utf8(const String &p_str) {
buf.resize(strlen / 4 * 3 + 1 + 1);
PoolVector<uint8_t>::Write w = buf.write();
- int len = base64_decode((char *)(&w[0]), (char *)cstr.get_data(), strlen);
+ size_t len = 0;
+ ERR_FAIL_COND_V(CryptoCore::b64_decode(&w[0], buf.size(), &len, (unsigned char *)cstr.get_data(), strlen) != OK, String());
w[len] = 0;
String ret = String::utf8((char *)&w[0]);
@@ -2674,6 +2705,8 @@ Variant _Thread::wait_to_finish() {
target_method = StringName();
target_instance = NULL;
userdata = Variant();
+ if (thread)
+ memdelete(thread);
thread = NULL;
return r;
diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h
index 7d0c158f51..3be5a08752 100644
--- a/core/bind/core_bind.h
+++ b/core/bind/core_bind.h
@@ -408,6 +408,7 @@ public:
int get_uv84_normal_bit(const Vector3 &p_vector);
bool is_polygon_clockwise(const Vector<Vector2> &p_polygon);
+ bool is_point_in_polygon(const Point2 &p_point, const Vector<Vector2> &p_polygon);
Vector<int> triangulate_polygon(const Vector<Vector2> &p_polygon);
Vector<int> triangulate_delaunay_2d(const Vector<Vector2> &p_points);
Vector<Point2> convex_hull_2d(const Vector<Point2> &p_points);
@@ -804,6 +805,9 @@ public:
void set_result(const Variant &p_result);
Variant get_result() const;
+
+ JSONParseResult() :
+ error_line(-1) {}
};
class _JSON : public Object {
diff --git a/core/class_db.cpp b/core/class_db.cpp
index ec07ee98e2..2cbf53ba0b 100644
--- a/core/class_db.cpp
+++ b/core/class_db.cpp
@@ -545,6 +545,11 @@ bool ClassDB::can_instance(const StringName &p_class) {
ClassInfo *ti = classes.getptr(p_class);
ERR_FAIL_COND_V(!ti, false);
+#ifdef TOOLS_ENABLED
+ if (ti->api == API_EDITOR && !Engine::get_singleton()->is_editor_hint()) {
+ return false;
+ }
+#endif
return (!ti->disabled && ti->creation_func != NULL);
}
@@ -552,7 +557,7 @@ void ClassDB::_add_class2(const StringName &p_class, const StringName &p_inherit
OBJTYPE_WLOCK;
- StringName name = p_class;
+ const StringName &name = p_class;
ERR_FAIL_COND(classes.has(name));
@@ -920,7 +925,7 @@ void ClassDB::add_property(StringName p_class, const PropertyInfo &p_pinfo, cons
#ifdef DEBUG_METHODS_ENABLED
if (!mb_set) {
ERR_EXPLAIN("Invalid Setter: " + p_class + "::" + p_setter + " for property: " + p_pinfo.name);
- ERR_FAIL_COND(!mb_set);
+ ERR_FAIL();
} else {
int exp_args = 1 + (p_index >= 0 ? 1 : 0);
if (mb_set->get_argument_count() != exp_args) {
@@ -939,7 +944,7 @@ void ClassDB::add_property(StringName p_class, const PropertyInfo &p_pinfo, cons
if (!mb_get) {
ERR_EXPLAIN("Invalid Getter: " + p_class + "::" + p_getter + " for property: " + p_pinfo.name);
- ERR_FAIL_COND(!mb_get);
+ ERR_FAIL();
} else {
int exp_args = 0 + (p_index >= 0 ? 1 : 0);
@@ -980,6 +985,13 @@ void ClassDB::add_property(StringName p_class, const PropertyInfo &p_pinfo, cons
type->property_setget[p_pinfo.name] = psg;
}
+void ClassDB::set_property_default_value(StringName p_class, const StringName &p_name, const Variant &p_default) {
+ if (!default_values.has(p_class)) {
+ default_values[p_class] = HashMap<StringName, Variant>();
+ }
+ default_values[p_class][p_name] = p_default;
+}
+
void ClassDB::get_property_list(StringName p_class, List<PropertyInfo> *p_list, bool p_no_inheritance, const Object *p_validator) {
OBJTYPE_RLOCK;
@@ -1383,37 +1395,60 @@ void ClassDB::get_extensions_for_type(const StringName &p_class, List<String> *p
}
HashMap<StringName, HashMap<StringName, Variant> > ClassDB::default_values;
+Set<StringName> ClassDB::default_values_cached;
-Variant ClassDB::class_get_default_property_value(const StringName &p_class, const StringName &p_property) {
+Variant ClassDB::class_get_default_property_value(const StringName &p_class, const StringName &p_property, bool *r_valid) {
- if (!default_values.has(p_class)) {
+ if (!default_values_cached.has(p_class)) {
- default_values[p_class] = HashMap<StringName, Variant>();
+ if (!default_values.has(p_class)) {
+ default_values[p_class] = HashMap<StringName, Variant>();
+ }
+
+ Object *c = NULL;
+ bool cleanup_c = false;
- if (ClassDB::can_instance(p_class)) {
+ if (Engine::get_singleton()->has_singleton(p_class)) {
+ c = Engine::get_singleton()->get_singleton_object(p_class);
+ cleanup_c = false;
+ } else if (ClassDB::can_instance(p_class)) {
+ c = ClassDB::instance(p_class);
+ cleanup_c = true;
+ }
+
+ if (c) {
- Object *c = ClassDB::instance(p_class);
List<PropertyInfo> plist;
c->get_property_list(&plist);
for (List<PropertyInfo>::Element *E = plist.front(); E; E = E->next()) {
if (E->get().usage & (PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_EDITOR)) {
- Variant v = c->get(E->get().name);
- default_values[p_class][E->get().name] = v;
+ if (!default_values[p_class].has(E->get().name)) {
+ Variant v = c->get(E->get().name);
+ default_values[p_class][E->get().name] = v;
+ }
}
}
- memdelete(c);
+
+ if (cleanup_c) {
+ memdelete(c);
+ }
}
+
+ default_values_cached.insert(p_class);
}
if (!default_values.has(p_class)) {
+ if (r_valid != NULL) *r_valid = false;
return Variant();
}
if (!default_values[p_class].has(p_property)) {
+ if (r_valid != NULL) *r_valid = false;
return Variant();
}
+ if (r_valid != NULL) *r_valid = true;
return default_values[p_class][p_property];
}
@@ -1424,6 +1459,12 @@ void ClassDB::init() {
lock = RWLock::create();
}
+void ClassDB::cleanup_defaults() {
+
+ default_values.clear();
+ default_values_cached.clear();
+}
+
void ClassDB::cleanup() {
//OBJTYPE_LOCK; hah not here
@@ -1443,7 +1484,6 @@ void ClassDB::cleanup() {
classes.clear();
resource_base_extensions.clear();
compat_classes.clear();
- default_values.clear();
memdelete(lock);
}
diff --git a/core/class_db.h b/core/class_db.h
index efa1a46866..237ae9b806 100644
--- a/core/class_db.h
+++ b/core/class_db.h
@@ -162,6 +162,7 @@ public:
static void _add_class2(const StringName &p_class, const StringName &p_inherits);
static HashMap<StringName, HashMap<StringName, Variant> > default_values;
+ static Set<StringName> default_values_cached;
public:
// DO NOT USE THIS!!!!!! NEEDS TO BE PUBLIC BUT DO NOT USE NO MATTER WHAT!!!
@@ -329,6 +330,7 @@ public:
static void add_property_group(StringName p_class, const String &p_name, const String &p_prefix = "");
static void add_property(StringName p_class, const PropertyInfo &p_pinfo, const StringName &p_setter, const StringName &p_getter, int p_index = -1);
+ static void set_property_default_value(StringName p_class, const StringName &p_name, const Variant &p_default);
static void get_property_list(StringName p_class, List<PropertyInfo> *p_list, bool p_no_inheritance = false, const Object *p_validator = NULL);
static bool set_property(Object *p_object, const StringName &p_property, const Variant &p_value, bool *r_valid = NULL);
static bool get_property(Object *p_object, const StringName &p_property, Variant &r_value);
@@ -355,7 +357,7 @@ public:
static void get_enum_list(const StringName &p_class, List<StringName> *p_enums, bool p_no_inheritance = false);
static void get_enum_constants(const StringName &p_class, const StringName &p_enum, List<StringName> *p_constants, bool p_no_inheritance = false);
- static Variant class_get_default_property_value(const StringName &p_class, const StringName &p_property);
+ static Variant class_get_default_property_value(const StringName &p_class, const StringName &p_property, bool *r_valid = NULL);
static StringName get_category(const StringName &p_node);
@@ -373,6 +375,7 @@ public:
static void set_current_api(APIType p_api);
static APIType get_current_api();
+ static void cleanup_defaults();
static void cleanup();
};
diff --git a/core/color.cpp b/core/color.cpp
index 8959fce4e3..1843532124 100644
--- a/core/color.cpp
+++ b/core/color.cpp
@@ -388,9 +388,8 @@ bool Color::html_is_valid(const String &p_color) {
return false;
}
- int a = 255;
if (alpha) {
- a = _parse_col(color, 0);
+ int a = _parse_col(color, 0);
if (a < 0) {
return false;
}
diff --git a/core/color.h b/core/color.h
index b2148e1357..77f95b5dc9 100644
--- a/core/color.h
+++ b/core/color.h
@@ -195,7 +195,7 @@ struct Color {
static Color named(const String &p_name);
String to_html(bool p_alpha = true) const;
Color from_hsv(float p_h, float p_s, float p_v, float p_a) const;
- static Color from_rgbe9995(uint32_t p_color);
+ static Color from_rgbe9995(uint32_t p_rgbe);
_FORCE_INLINE_ bool operator<(const Color &p_color) const; //used in set keys
operator String() const;
diff --git a/core/command_queue_mt.h b/core/command_queue_mt.h
index 798fa4394d..3789eda5db 100644
--- a/core/command_queue_mt.h
+++ b/core/command_queue_mt.h
@@ -346,7 +346,7 @@ class CommandQueueMT {
}
return NULL;
}
- } else if (write_ptr >= dealloc_ptr) {
+ } else {
// ahead of dealloc_ptr, check that there is room
if ((COMMAND_MEM_SIZE - write_ptr) < alloc_size + sizeof(uint32_t)) {
diff --git a/core/engine.cpp b/core/engine.cpp
index 50822244cf..2d8473fbd9 100644
--- a/core/engine.cpp
+++ b/core/engine.cpp
@@ -197,8 +197,10 @@ void Engine::add_singleton(const Singleton &p_singleton) {
Object *Engine::get_singleton_object(const String &p_name) const {
const Map<StringName, Object *>::Element *E = singleton_ptrs.find(p_name);
- ERR_EXPLAIN("Failed to retrieve non-existent singleton '" + p_name + "'");
- ERR_FAIL_COND_V(!E, NULL);
+ if (!E) {
+ ERR_EXPLAIN("Failed to retrieve non-existent singleton '" + p_name + "'");
+ ERR_FAIL_V(NULL);
+ }
return E->get();
};
diff --git a/core/error_list.h b/core/error_list.h
index 304861da4e..dc5a5e68dd 100644
--- a/core/error_list.h
+++ b/core/error_list.h
@@ -39,7 +39,7 @@
*/
enum Error {
- OK,
+ OK, // (0)
FAILED, ///< Generic fail error
ERR_UNAVAILABLE, ///< What is requested is unsupported/unavailable
ERR_UNCONFIGURED, ///< The object being used hasn't been properly set up yet
@@ -69,12 +69,12 @@ enum Error {
ERR_CONNECTION_ERROR,
ERR_CANT_ACQUIRE_RESOURCE,
ERR_CANT_FORK,
- ERR_INVALID_DATA, ///< Data passed is invalid (30)
+ ERR_INVALID_DATA, ///< Data passed is invalid (30)
ERR_INVALID_PARAMETER, ///< Parameter passed is invalid
ERR_ALREADY_EXISTS, ///< When adding, item already exists
- ERR_DOES_NOT_EXIST, ///< When retrieving/erasing, it item does not exist
+ ERR_DOES_NOT_EXIST, ///< When retrieving/erasing, if item does not exist
ERR_DATABASE_CANT_READ, ///< database is full
- ERR_DATABASE_CANT_WRITE, ///< database is full (35)
+ ERR_DATABASE_CANT_WRITE, ///< database is full (35)
ERR_COMPILATION_FAILED,
ERR_METHOD_NOT_FOUND,
ERR_LINK_FAILED,
diff --git a/core/error_macros.h b/core/error_macros.h
index f72e987e23..69874e280b 100644
--- a/core/error_macros.h
+++ b/core/error_macros.h
@@ -136,8 +136,8 @@ extern bool _err_error_exists;
if (unlikely((m_index) < 0 || (m_index) >= (m_size))) { \
_err_print_index_error(FUNCTION_STR, __FILE__, __LINE__, m_index, m_size, _STR(m_index), _STR(m_size)); \
return; \
- } else \
- _err_error_exists = false; \
+ } \
+ _err_error_exists = false; \
} while (0); // (*)
/** An index has failed if m_index<0 or m_index >=m_size, the function exits.
@@ -150,8 +150,8 @@ extern bool _err_error_exists;
if (unlikely((m_index) < 0 || (m_index) >= (m_size))) { \
_err_print_index_error(FUNCTION_STR, __FILE__, __LINE__, m_index, m_size, _STR(m_index), _STR(m_size)); \
return m_retval; \
- } else \
- _err_error_exists = false; \
+ } \
+ _err_error_exists = false; \
} while (0); // (*)
/** An index has failed if m_index >=m_size, the function exits.
@@ -164,8 +164,8 @@ extern bool _err_error_exists;
if (unlikely((m_index) >= (m_size))) { \
_err_print_index_error(FUNCTION_STR, __FILE__, __LINE__, m_index, m_size, _STR(m_index), _STR(m_size)); \
return m_retval; \
- } else \
- _err_error_exists = false; \
+ } \
+ _err_error_exists = false; \
} while (0); // (*)
/** Use this one if there is no sensible fallback, that is, the error is unrecoverable.
@@ -188,8 +188,8 @@ extern bool _err_error_exists;
if (unlikely(!m_param)) { \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter ' " _STR(m_param) " ' is null."); \
return; \
- } else \
- _err_error_exists = false; \
+ } \
+ _err_error_exists = false; \
}
#define ERR_FAIL_NULL_V(m_param, m_retval) \
@@ -197,8 +197,8 @@ extern bool _err_error_exists;
if (unlikely(!m_param)) { \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter ' " _STR(m_param) " ' is null."); \
return m_retval; \
- } else \
- _err_error_exists = false; \
+ } \
+ _err_error_exists = false; \
}
/** An error condition happened (m_cond tested true) (WARNING this is the opposite as assert().
@@ -210,8 +210,8 @@ extern bool _err_error_exists;
if (unlikely(m_cond)) { \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true."); \
return; \
- } else \
- _err_error_exists = false; \
+ } \
+ _err_error_exists = false; \
}
/** Use this one if there is no sensible fallback, that is, the error is unrecoverable.
@@ -236,8 +236,8 @@ extern bool _err_error_exists;
if (unlikely(m_cond)) { \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true. returned: " _STR(m_retval)); \
return m_retval; \
- } else \
- _err_error_exists = false; \
+ } \
+ _err_error_exists = false; \
}
/** An error condition happened (m_cond tested true) (WARNING this is the opposite as assert().
@@ -249,8 +249,8 @@ extern bool _err_error_exists;
if (unlikely(m_cond)) { \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true. Continuing..:"); \
continue; \
- } else \
- _err_error_exists = false; \
+ } \
+ _err_error_exists = false; \
}
/** An error condition happened (m_cond tested true) (WARNING this is the opposite as assert().
@@ -262,8 +262,8 @@ extern bool _err_error_exists;
if (unlikely(m_cond)) { \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true. Breaking..:"); \
break; \
- } else \
- _err_error_exists = false; \
+ } \
+ _err_error_exists = false; \
}
/** Print an error string and return
diff --git a/core/global_constants.cpp b/core/global_constants.cpp
index 671b3c545b..5bfdc8ab8f 100644
--- a/core/global_constants.cpp
+++ b/core/global_constants.cpp
@@ -486,47 +486,55 @@ void register_global_constants() {
// error list
- BIND_GLOBAL_ENUM_CONSTANT(OK);
- BIND_GLOBAL_ENUM_CONSTANT(FAILED); ///< Generic fail error
- BIND_GLOBAL_ENUM_CONSTANT(ERR_UNAVAILABLE); ///< What is requested is unsupported/unavailable
- BIND_GLOBAL_ENUM_CONSTANT(ERR_UNCONFIGURED); ///< The object being used hasn't been properly set up yet
- BIND_GLOBAL_ENUM_CONSTANT(ERR_UNAUTHORIZED); ///< Missing credentials for requested resource
- BIND_GLOBAL_ENUM_CONSTANT(ERR_PARAMETER_RANGE_ERROR); ///< Parameter given out of range
- BIND_GLOBAL_ENUM_CONSTANT(ERR_OUT_OF_MEMORY); ///< Out of memory
+ BIND_GLOBAL_ENUM_CONSTANT(OK); // (0)
+ BIND_GLOBAL_ENUM_CONSTANT(FAILED);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_UNAVAILABLE);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_UNCONFIGURED);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_UNAUTHORIZED);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_PARAMETER_RANGE_ERROR); // (5)
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_OUT_OF_MEMORY);
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_NOT_FOUND);
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_BAD_DRIVE);
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_BAD_PATH);
- BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_NO_PERMISSION);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_NO_PERMISSION); // (10)
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_ALREADY_IN_USE);
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_CANT_OPEN);
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_CANT_WRITE);
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_CANT_READ);
- BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_UNRECOGNIZED);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_UNRECOGNIZED); // (15)
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_CORRUPT);
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_MISSING_DEPENDENCIES);
BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_EOF);
- BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_OPEN); ///< Can't open a resource/socket/file
- BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_CREATE);
- BIND_GLOBAL_ENUM_CONSTANT(ERR_PARSE_ERROR);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_OPEN);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_CREATE); // (20)
BIND_GLOBAL_ENUM_CONSTANT(ERR_QUERY_FAILED);
BIND_GLOBAL_ENUM_CONSTANT(ERR_ALREADY_IN_USE);
- BIND_GLOBAL_ENUM_CONSTANT(ERR_LOCKED); ///< resource is locked
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_LOCKED);
BIND_GLOBAL_ENUM_CONSTANT(ERR_TIMEOUT);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_CONNECT); // (25)
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_RESOLVE);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_CONNECTION_ERROR);
BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_ACQUIRE_RESOURCE);
- BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_DATA); ///< Data passed is invalid
- BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_PARAMETER); ///< Parameter passed is invalid
- BIND_GLOBAL_ENUM_CONSTANT(ERR_ALREADY_EXISTS); ///< When adding ), item already exists
- BIND_GLOBAL_ENUM_CONSTANT(ERR_DOES_NOT_EXIST); ///< When retrieving/erasing ), it item does not exist
- BIND_GLOBAL_ENUM_CONSTANT(ERR_DATABASE_CANT_READ); ///< database is full
- BIND_GLOBAL_ENUM_CONSTANT(ERR_DATABASE_CANT_WRITE); ///< database is full
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_FORK);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_DATA); // (30)
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_PARAMETER);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_ALREADY_EXISTS);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_DOES_NOT_EXIST);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_DATABASE_CANT_READ);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_DATABASE_CANT_WRITE); // (35)
BIND_GLOBAL_ENUM_CONSTANT(ERR_COMPILATION_FAILED);
BIND_GLOBAL_ENUM_CONSTANT(ERR_METHOD_NOT_FOUND);
BIND_GLOBAL_ENUM_CONSTANT(ERR_LINK_FAILED);
BIND_GLOBAL_ENUM_CONSTANT(ERR_SCRIPT_FAILED);
- BIND_GLOBAL_ENUM_CONSTANT(ERR_CYCLIC_LINK);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_CYCLIC_LINK); // (40)
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_DECLARATION);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_DUPLICATE_SYMBOL);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_PARSE_ERROR);
BIND_GLOBAL_ENUM_CONSTANT(ERR_BUSY);
- BIND_GLOBAL_ENUM_CONSTANT(ERR_HELP); ///< user requested help!!
- BIND_GLOBAL_ENUM_CONSTANT(ERR_BUG); ///< a bug in the software certainly happened ), due to a double check failing or unexpected behavior.
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_SKIP); // (45)
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_HELP);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_BUG);
+ BIND_GLOBAL_ENUM_CONSTANT(ERR_PRINTER_ON_FIRE);
BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_NONE);
BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_RANGE);
diff --git a/core/hash_map.h b/core/hash_map.h
index 31332991de..1513d7a65b 100644
--- a/core/hash_map.h
+++ b/core/hash_map.h
@@ -208,7 +208,10 @@ private:
/* if element doesn't exist, create it */
Element *e = memnew(Element);
- ERR_FAIL_COND_V(!e, NULL); /* out of memory */
+ if (!e) {
+ ERR_EXPLAIN("Out of memory");
+ ERR_FAIL_V(NULL);
+ }
uint32_t hash = Hasher::hash(p_key);
uint32_t index = hash & ((1 << hash_table_power) - 1);
e->next = hash_table[index];
@@ -495,8 +498,10 @@ public:
} else { /* get the next key */
const Element *e = get_element(*p_key);
- ERR_FAIL_COND_V(!e, NULL); /* invalid key supplied */
-
+ if (!e) {
+ ERR_EXPLAIN("Invalid key supplied")
+ ERR_FAIL_V(NULL);
+ }
if (e->next) {
/* if there is a "next" in the list, return that */
return &e->next->pair.key;
diff --git a/core/image.cpp b/core/image.cpp
index c85d7f6bcc..18a3aae88f 100644
--- a/core/image.cpp
+++ b/core/image.cpp
@@ -1372,6 +1372,7 @@ void Image::shrink_x2() {
int new_size = data.size() - ofs;
new_img.resize(new_size);
+ ERR_FAIL_COND(new_img.size() == 0);
{
PoolVector<uint8_t>::Write w = new_img.write();
@@ -1391,6 +1392,7 @@ void Image::shrink_x2() {
ERR_FAIL_COND(!_can_modify(format));
int ps = get_format_pixel_size(format);
new_img.resize((width / 2) * (height / 2) * ps);
+ ERR_FAIL_COND(new_img.size() == 0);
{
PoolVector<uint8_t>::Write w = new_img.write();
@@ -1464,7 +1466,10 @@ Error Image::generate_mipmaps(bool p_renormalize) {
ERR_FAIL_V(ERR_UNAVAILABLE);
}
- ERR_FAIL_COND_V(width == 0 || height == 0, ERR_UNCONFIGURED);
+ if (width == 0 || height == 0) {
+ ERR_EXPLAIN("Cannot generate mipmaps with width or height equal to 0.");
+ ERR_FAIL_V(ERR_UNCONFIGURED);
+ }
int mmcount;
@@ -2402,7 +2407,7 @@ Color Image::get_pixel(int p_x, int p_y) const {
#ifdef DEBUG_ENABLED
if (!ptr) {
ERR_EXPLAIN("Image must be locked with 'lock()' before using get_pixel()");
- ERR_FAIL_COND_V(!ptr, Color());
+ ERR_FAIL_V(Color());
}
ERR_FAIL_INDEX_V(p_x, width, Color());
@@ -2532,7 +2537,7 @@ Color Image::get_pixel(int p_x, int p_y) const {
}
void Image::set_pixelv(const Point2 &p_dst, const Color &p_color) {
- return set_pixel(p_dst.x, p_dst.y, p_color);
+ set_pixel(p_dst.x, p_dst.y, p_color);
}
void Image::set_pixel(int p_x, int p_y, const Color &p_color) {
@@ -2541,7 +2546,7 @@ void Image::set_pixel(int p_x, int p_y, const Color &p_color) {
#ifdef DEBUG_ENABLED
if (!ptr) {
ERR_EXPLAIN("Image must be locked with 'lock()' before using set_pixel()");
- ERR_FAIL_COND(!ptr);
+ ERR_FAIL();
}
ERR_FAIL_INDEX(p_x, width);
diff --git a/core/image.h b/core/image.h
index 752ef20208..cc796789cd 100644
--- a/core/image.h
+++ b/core/image.h
@@ -350,7 +350,7 @@ public:
Color get_pixelv(const Point2 &p_src) const;
Color get_pixel(int p_x, int p_y) const;
- void set_pixelv(const Point2 &p_dest, const Color &p_color);
+ void set_pixelv(const Point2 &p_dst, const Color &p_color);
void set_pixel(int p_x, int p_y, const Color &p_color);
void copy_internals_from(const Ref<Image> &p_image) {
diff --git a/core/input_map.cpp b/core/input_map.cpp
index 012c6a7c4f..04911787a8 100644
--- a/core/input_map.cpp
+++ b/core/input_map.cpp
@@ -194,7 +194,7 @@ bool InputMap::event_get_action_status(const Ref<InputEvent> &p_event, const Str
Map<StringName, Action>::Element *E = input_map.find(p_action);
if (!E) {
ERR_EXPLAIN("Request for nonexistent InputMap action: " + String(p_action));
- ERR_FAIL_COND_V(!E, false);
+ ERR_FAIL_V(false);
}
Ref<InputEventAction> input_event_action = p_event;
diff --git a/core/io/config_file.cpp b/core/io/config_file.cpp
index 871e21df3e..f7fb72c089 100644
--- a/core/io/config_file.cpp
+++ b/core/io/config_file.cpp
@@ -30,7 +30,7 @@
#include "config_file.h"
-#include "core/os/file_access.h"
+#include "core/io/file_access_encrypted.h"
#include "core/os/keyboard.h"
#include "core/variant_parser.h"
@@ -137,6 +137,48 @@ Error ConfigFile::save(const String &p_path) {
return err;
}
+ return _internal_save(file);
+}
+
+Error ConfigFile::save_encrypted(const String &p_path, const Vector<uint8_t> &p_key) {
+
+ Error err;
+ FileAccess *f = FileAccess::open(p_path, FileAccess::WRITE, &err);
+
+ if (err)
+ return err;
+
+ FileAccessEncrypted *fae = memnew(FileAccessEncrypted);
+ err = fae->open_and_parse(f, p_key, FileAccessEncrypted::MODE_WRITE_AES256);
+ if (err) {
+ memdelete(fae);
+ memdelete(f);
+ return err;
+ }
+ return _internal_save(fae);
+}
+
+Error ConfigFile::save_encrypted_pass(const String &p_path, const String &p_pass) {
+
+ Error err;
+ FileAccess *f = FileAccess::open(p_path, FileAccess::WRITE, &err);
+
+ if (err)
+ return err;
+
+ FileAccessEncrypted *fae = memnew(FileAccessEncrypted);
+ err = fae->open_and_parse_password(f, p_pass, FileAccessEncrypted::MODE_WRITE_AES256);
+ if (err) {
+ memdelete(fae);
+ memdelete(f);
+ return err;
+ }
+
+ return _internal_save(fae);
+}
+
+Error ConfigFile::_internal_save(FileAccess *file) {
+
for (OrderedHashMap<String, OrderedHashMap<String, Variant> >::Element E = values.front(); E; E = E.next()) {
if (E != values.front())
@@ -164,6 +206,48 @@ Error ConfigFile::load(const String &p_path) {
if (!f)
return ERR_CANT_OPEN;
+ return _internal_load(p_path, f);
+}
+
+Error ConfigFile::load_encrypted(const String &p_path, const Vector<uint8_t> &p_key) {
+
+ Error err;
+ FileAccess *f = FileAccess::open(p_path, FileAccess::READ, &err);
+
+ if (err)
+ return err;
+
+ FileAccessEncrypted *fae = memnew(FileAccessEncrypted);
+ err = fae->open_and_parse(f, p_key, FileAccessEncrypted::MODE_READ);
+ if (err) {
+ memdelete(fae);
+ memdelete(f);
+ return err;
+ }
+ return _internal_load(p_path, fae);
+}
+
+Error ConfigFile::load_encrypted_pass(const String &p_path, const String &p_pass) {
+
+ Error err;
+ FileAccess *f = FileAccess::open(p_path, FileAccess::READ, &err);
+
+ if (err)
+ return err;
+
+ FileAccessEncrypted *fae = memnew(FileAccessEncrypted);
+ err = fae->open_and_parse_password(f, p_pass, FileAccessEncrypted::MODE_READ);
+ if (err) {
+ memdelete(fae);
+ memdelete(f);
+ return err;
+ }
+
+ return _internal_load(p_path, fae);
+}
+
+Error ConfigFile::_internal_load(const String &p_path, FileAccess *f) {
+
VariantParser::StreamFile stream;
stream.f = f;
@@ -182,7 +266,7 @@ Error ConfigFile::load(const String &p_path) {
next_tag.fields.clear();
next_tag.name = String();
- err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, NULL, true);
+ Error err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, NULL, true);
if (err == ERR_FILE_EOF) {
memdelete(f);
return OK;
@@ -215,6 +299,12 @@ void ConfigFile::_bind_methods() {
ClassDB::bind_method(D_METHOD("load", "path"), &ConfigFile::load);
ClassDB::bind_method(D_METHOD("save", "path"), &ConfigFile::save);
+
+ ClassDB::bind_method(D_METHOD("load_encrypted", "path", "key"), &ConfigFile::load_encrypted);
+ ClassDB::bind_method(D_METHOD("load_encrypted_pass", "path", "pass"), &ConfigFile::load_encrypted_pass);
+
+ ClassDB::bind_method(D_METHOD("save_encrypted", "path", "key"), &ConfigFile::save_encrypted);
+ ClassDB::bind_method(D_METHOD("save_encrypted_pass", "path", "pass"), &ConfigFile::save_encrypted_pass);
}
ConfigFile::ConfigFile() {
diff --git a/core/io/config_file.h b/core/io/config_file.h
index 36e5c0ca7d..3ab6fef868 100644
--- a/core/io/config_file.h
+++ b/core/io/config_file.h
@@ -32,6 +32,7 @@
#define CONFIG_FILE_H
#include "core/ordered_hash_map.h"
+#include "core/os/file_access.h"
#include "core/reference.h"
class ConfigFile : public Reference {
@@ -42,6 +43,8 @@ class ConfigFile : public Reference {
PoolStringArray _get_sections() const;
PoolStringArray _get_section_keys(const String &p_section) const;
+ Error _internal_load(const String &p_path, FileAccess *f);
+ Error _internal_save(FileAccess *file);
protected:
static void _bind_methods();
@@ -61,6 +64,12 @@ public:
Error save(const String &p_path);
Error load(const String &p_path);
+ Error load_encrypted(const String &p_path, const Vector<uint8_t> &p_key);
+ Error load_encrypted_pass(const String &p_path, const String &p_pass);
+
+ Error save_encrypted(const String &p_path, const Vector<uint8_t> &p_key);
+ Error save_encrypted_pass(const String &p_path, const String &p_pass);
+
ConfigFile();
};
diff --git a/core/io/file_access_buffered.cpp b/core/io/file_access_buffered.cpp
index 93eaeb08c5..15523a49a9 100644
--- a/core/io/file_access_buffered.cpp
+++ b/core/io/file_access_buffered.cpp
@@ -35,79 +35,79 @@
Error FileAccessBuffered::set_error(Error p_error) const {
return (last_error = p_error);
-};
+}
void FileAccessBuffered::set_cache_size(int p_size) {
cache_size = p_size;
-};
+}
int FileAccessBuffered::get_cache_size() {
return cache_size;
-};
+}
int FileAccessBuffered::cache_data_left() const {
if (file.offset >= file.size) {
return 0;
- };
+ }
if (cache.offset == -1 || file.offset < cache.offset || file.offset >= cache.offset + cache.buffer.size()) {
return read_data_block(file.offset, cache_size);
+ }
- } else {
-
- return cache.buffer.size() - (file.offset - cache.offset);
- };
-
- return 0;
-};
+ return cache.buffer.size() - (file.offset - cache.offset);
+}
void FileAccessBuffered::seek(size_t p_position) {
file.offset = p_position;
-};
+}
void FileAccessBuffered::seek_end(int64_t p_position) {
file.offset = file.size + p_position;
-};
+}
size_t FileAccessBuffered::get_position() const {
return file.offset;
-};
+}
size_t FileAccessBuffered::get_len() const {
return file.size;
-};
+}
bool FileAccessBuffered::eof_reached() const {
return file.offset > file.size;
-};
+}
uint8_t FileAccessBuffered::get_8() const {
-
- ERR_FAIL_COND_V(!file.open, 0);
+ if (!file.open) {
+ ERR_EXPLAIN("Can't get data, when file is not opened.");
+ ERR_FAIL_V(0);
+ }
uint8_t byte = 0;
if (cache_data_left() >= 1) {
byte = cache.buffer[file.offset - cache.offset];
- };
+ }
++file.offset;
return byte;
-};
+}
int FileAccessBuffered::get_buffer(uint8_t *p_dest, int p_length) const {
-
- ERR_FAIL_COND_V(!file.open, -1);
+ if (!file.open) {
+ ERR_EXPLAIN("Can't get buffer, when file is not opened.");
+ ERR_FAIL_V(-1);
+ }
if (p_length > cache_size) {
@@ -124,16 +124,16 @@ int FileAccessBuffered::get_buffer(uint8_t *p_dest, int p_length) const {
p_length -= size;
file.offset += size;
total_read += size;
- };
+ }
int err = read_data_block(file.offset, p_length, p_dest);
if (err >= 0) {
total_read += err;
file.offset += err;
- };
+ }
return total_read;
- };
+ }
int to_read = p_length;
int total_read = 0;
@@ -143,10 +143,10 @@ int FileAccessBuffered::get_buffer(uint8_t *p_dest, int p_length) const {
if (left == 0) {
file.offset += to_read;
return total_read;
- };
+ }
if (left < 0) {
return left;
- };
+ }
int r = MIN(left, to_read);
//PoolVector<uint8_t>::Read read = cache.buffer.read();
@@ -156,25 +156,25 @@ int FileAccessBuffered::get_buffer(uint8_t *p_dest, int p_length) const {
file.offset += r;
total_read += r;
to_read -= r;
- };
+ }
return p_length;
-};
+}
bool FileAccessBuffered::is_open() const {
return file.open;
-};
+}
Error FileAccessBuffered::get_error() const {
return last_error;
-};
+}
FileAccessBuffered::FileAccessBuffered() {
cache_size = DEFAULT_CACHE_SIZE;
-};
+}
FileAccessBuffered::~FileAccessBuffered() {
}
diff --git a/core/io/file_access_buffered_fa.h b/core/io/file_access_buffered_fa.h
index 24b40cbce8..6e806e7b3f 100644
--- a/core/io/file_access_buffered_fa.h
+++ b/core/io/file_access_buffered_fa.h
@@ -40,7 +40,10 @@ class FileAccessBufferedFA : public FileAccessBuffered {
int read_data_block(int p_offset, int p_size, uint8_t *p_dest = 0) const {
- ERR_FAIL_COND_V(!f.is_open(), -1);
+ if (!f.is_open()) {
+ ERR_EXPLAIN("Can't read data block, when file is not opened.");
+ ERR_FAIL_V(-1);
+ }
((T *)&f)->seek(p_offset);
diff --git a/core/io/file_access_encrypted.cpp b/core/io/file_access_encrypted.cpp
index 7dea749a43..ccee6aeb15 100644
--- a/core/io/file_access_encrypted.cpp
+++ b/core/io/file_access_encrypted.cpp
@@ -30,13 +30,11 @@
#include "file_access_encrypted.h"
+#include "core/math/crypto_core.h"
#include "core/os/copymem.h"
#include "core/print_string.h"
#include "core/variant.h"
-#include "thirdparty/misc/aes256.h"
-#include "thirdparty/misc/md5.h"
-
#include <stdio.h>
#define COMP_MAGIC 0x43454447
@@ -83,25 +81,21 @@ Error FileAccessEncrypted::open_and_parse(FileAccess *p_base, const Vector<uint8
uint32_t blen = p_base->get_buffer(data.ptrw(), ds);
ERR_FAIL_COND_V(blen != ds, ERR_FILE_CORRUPT);
- aes256_context ctx;
- aes256_init(&ctx, key.ptrw());
+ CryptoCore::AESContext ctx;
+ ctx.set_decode_key(key.ptrw(), 256);
for (size_t i = 0; i < ds; i += 16) {
- aes256_decrypt_ecb(&ctx, &data.write[i]);
+ ctx.decrypt_ecb(&data.write[i], &data.write[i]);
}
- aes256_done(&ctx);
-
data.resize(length);
- MD5_CTX md5;
- MD5Init(&md5);
- MD5Update(&md5, (uint8_t *)data.ptr(), data.size());
- MD5Final(&md5);
+ unsigned char hash[16];
+ ERR_FAIL_COND_V(CryptoCore::md5(data.ptr(), data.size(), hash) != OK, ERR_BUG);
ERR_EXPLAIN("The MD5 sum of the decrypted file does not match the expected value. It could be that the file is corrupt, or that the provided decryption key is invalid.");
- ERR_FAIL_COND_V(String::md5(md5.digest) != String::md5(md5d), ERR_FILE_CORRUPT);
+ ERR_FAIL_COND_V(String::md5(hash) != String::md5(md5d), ERR_FILE_CORRUPT);
file = p_base;
}
@@ -140,10 +134,8 @@ void FileAccessEncrypted::close() {
len += 16 - (len % 16);
}
- MD5_CTX md5;
- MD5Init(&md5);
- MD5Update(&md5, (uint8_t *)data.ptr(), data.size());
- MD5Final(&md5);
+ unsigned char hash[16];
+ ERR_FAIL_COND(CryptoCore::md5(data.ptr(), data.size(), hash) != OK); // Bug?
compressed.resize(len);
zeromem(compressed.ptrw(), len);
@@ -151,20 +143,18 @@ void FileAccessEncrypted::close() {
compressed.write[i] = data[i];
}
- aes256_context ctx;
- aes256_init(&ctx, key.ptrw());
+ CryptoCore::AESContext ctx;
+ ctx.set_encode_key(key.ptrw(), 256);
for (size_t i = 0; i < len; i += 16) {
- aes256_encrypt_ecb(&ctx, &compressed.write[i]);
+ ctx.encrypt_ecb(&compressed.write[i], &compressed.write[i]);
}
- aes256_done(&ctx);
-
file->store_32(COMP_MAGIC);
file->store_32(mode);
- file->store_buffer(md5.digest, 16);
+ file->store_buffer(hash, 16);
file->store_64(data.size());
file->store_buffer(compressed.ptr(), compressed.size());
diff --git a/core/io/file_access_network.cpp b/core/io/file_access_network.cpp
index 5dd167c581..d1c7f5c334 100644
--- a/core/io/file_access_network.cpp
+++ b/core/io/file_access_network.cpp
@@ -435,7 +435,6 @@ int FileAccessNetwork::get_buffer(uint8_t *p_dst, int p_length) const {
_queue_page(page + j);
}
- buff = pages.write[page].buffer.ptrw();
//queue pages
buffer_mutex->unlock();
}
diff --git a/core/io/http_client.cpp b/core/io/http_client.cpp
index 891fb7b0ca..170bef4430 100644
--- a/core/io/http_client.cpp
+++ b/core/io/http_client.cpp
@@ -482,8 +482,6 @@ Error HTTPClient::poll() {
return OK;
}
}
- // Wait for response
- return OK;
} break;
case STATUS_DISCONNECTED: {
return ERR_UNCONFIGURED;
@@ -775,7 +773,7 @@ Dictionary HTTPClient::_get_response_headers_as_dictionary() {
get_response_headers(&rh);
Dictionary ret;
for (const List<String>::Element *E = rh.front(); E; E = E->next()) {
- String s = E->get();
+ const String &s = E->get();
int sp = s.find(":");
if (sp == -1)
continue;
diff --git a/core/io/json.cpp b/core/io/json.cpp
index c211ca2ed4..4e729cb355 100644
--- a/core/io/json.cpp
+++ b/core/io/json.cpp
@@ -347,8 +347,6 @@ Error JSON::_parse_value(Variant &value, Token &token, const CharType *p_str, in
r_err_str = "Expected value, got " + String(tk_name[token.type]) + ".";
return ERR_PARSE_ERROR;
}
-
- return ERR_PARSE_ERROR;
}
Error JSON::_parse_array(Array &array, const CharType *p_str, int &index, int p_len, int &line, String &r_err_str) {
diff --git a/core/io/marshalls.cpp b/core/io/marshalls.cpp
index 7494603462..17a3f52a65 100644
--- a/core/io/marshalls.cpp
+++ b/core/io/marshalls.cpp
@@ -37,13 +37,11 @@
#include <limits.h>
#include <stdio.h>
-#define _S(a) ((int32_t)a)
-#define ERR_FAIL_ADD_OF(a, b, err) ERR_FAIL_COND_V(_S(b) < 0 || _S(a) < 0 || _S(a) > INT_MAX - _S(b), err)
-#define ERR_FAIL_MUL_OF(a, b, err) ERR_FAIL_COND_V(_S(a) < 0 || _S(b) <= 0 || _S(a) > INT_MAX / _S(b), err)
-
void EncodedObjectAsID::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_object_id", "id"), &EncodedObjectAsID::set_object_id);
ClassDB::bind_method(D_METHOD("get_object_id"), &EncodedObjectAsID::get_object_id);
+
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "object_id"), "set_object_id", "get_object_id");
}
void EncodedObjectAsID::set_object_id(ObjectID p_id) {
@@ -59,6 +57,10 @@ EncodedObjectAsID::EncodedObjectAsID() :
id(0) {
}
+#define _S(a) ((int32_t)a)
+#define ERR_FAIL_ADD_OF(a, b, err) ERR_FAIL_COND_V(_S(b) < 0 || _S(a) < 0 || _S(a) > INT_MAX - _S(b), err)
+#define ERR_FAIL_MUL_OF(a, b, err) ERR_FAIL_COND_V(_S(a) < 0 || _S(b) <= 0 || _S(a) > INT_MAX / _S(b), err)
+
#define ENCODE_MASK 0xFF
#define ENCODE_FLAG_64 1 << 16
#define ENCODE_FLAG_OBJECT_AS_ID 1 << 16
@@ -681,8 +683,6 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
if (r_len)
(*r_len) += adv;
- len -= adv;
- buf += adv;
}
r_variant = varray;
@@ -719,8 +719,6 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
if (r_len)
(*r_len) += adv;
- len -= adv;
- buf += adv;
}
r_variant = varray;
@@ -758,8 +756,6 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
if (r_len)
(*r_len) += adv;
- len -= adv;
- buf += adv;
}
r_variant = carray;
@@ -1092,7 +1088,6 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo
if (!obj) {
if (buf) {
encode_uint32(0, buf);
- buf += 4;
}
r_len += 4;
diff --git a/core/io/multiplayer_api.cpp b/core/io/multiplayer_api.cpp
index 2779837190..33dc4dbde4 100644
--- a/core/io/multiplayer_api.cpp
+++ b/core/io/multiplayer_api.cpp
@@ -874,6 +874,7 @@ void MultiplayerAPI::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "allow_object_decoding"), "set_allow_object_decoding", "is_object_decoding_allowed");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "refuse_new_network_connections"), "set_refuse_new_network_connections", "is_refusing_new_network_connections");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "network_peer", PROPERTY_HINT_RESOURCE_TYPE, "NetworkedMultiplayerPeer", 0), "set_network_peer", "get_network_peer");
+ ADD_PROPERTY_DEFAULT("refuse_new_network_connections", false);
ADD_SIGNAL(MethodInfo("network_peer_connected", PropertyInfo(Variant::INT, "id")));
ADD_SIGNAL(MethodInfo("network_peer_disconnected", PropertyInfo(Variant::INT, "id")));
diff --git a/core/io/multiplayer_api.h b/core/io/multiplayer_api.h
index 779dd043bd..5258dde5d7 100644
--- a/core/io/multiplayer_api.h
+++ b/core/io/multiplayer_api.h
@@ -77,7 +77,7 @@ protected:
void _process_raw(int p_from, const uint8_t *p_packet, int p_packet_len);
void _send_rpc(Node *p_from, int p_to, bool p_unreliable, bool p_set, const StringName &p_name, const Variant **p_arg, int p_argcount);
- bool _send_confirm_path(NodePath p_path, PathSentCache *psc, int p_from);
+ bool _send_confirm_path(NodePath p_path, PathSentCache *psc, int p_target);
public:
enum NetworkCommands {
diff --git a/core/io/pck_packer.cpp b/core/io/pck_packer.cpp
index 8920bbfb81..c16d89d695 100644
--- a/core/io/pck_packer.cpp
+++ b/core/io/pck_packer.cpp
@@ -63,10 +63,11 @@ void PCKPacker::_bind_methods() {
Error PCKPacker::pck_start(const String &p_file, int p_alignment) {
file = FileAccess::open(p_file, FileAccess::WRITE);
- if (file == NULL) {
- return ERR_CANT_CREATE;
- };
+ if (!file) {
+ ERR_EXPLAIN("Can't open file to write: " + String(p_file));
+ ERR_FAIL_V(ERR_CANT_CREATE);
+ }
alignment = p_alignment;
@@ -109,10 +110,7 @@ Error PCKPacker::add_file(const String &p_file, const String &p_src) {
Error PCKPacker::flush(bool p_verbose) {
- if (!file) {
- ERR_FAIL_COND_V(!file, ERR_INVALID_PARAMETER);
- return ERR_INVALID_PARAMETER;
- };
+ ERR_FAIL_COND_V(!file, ERR_INVALID_PARAMETER);
// write the index
diff --git a/core/io/resource_format_binary.cpp b/core/io/resource_format_binary.cpp
index aef2dcfff3..688dfc21e5 100644
--- a/core/io/resource_format_binary.cpp
+++ b/core/io/resource_format_binary.cpp
@@ -720,7 +720,7 @@ Error ResourceInteractiveLoaderBinary::poll() {
error = ERR_FILE_CORRUPT;
memdelete(obj); //bye
ERR_EXPLAIN(local_path + ":Resource type in resource field not a resource, type is: " + obj->get_class());
- ERR_FAIL_COND_V(!r, ERR_FILE_CORRUPT);
+ ERR_FAIL_V(ERR_FILE_CORRUPT);
}
RES res = RES(r);
@@ -1694,7 +1694,7 @@ void ResourceFormatSaverBinaryInstance::_find_resources(const Variant &p_variant
int len = varray.size();
for (int i = 0; i < len; i++) {
- Variant v = varray.get(i);
+ const Variant &v = varray.get(i);
_find_resources(v);
}
diff --git a/core/io/resource_importer.cpp b/core/io/resource_importer.cpp
index 4a58d37ca5..63d7ba547c 100644
--- a/core/io/resource_importer.cpp
+++ b/core/io/resource_importer.cpp
@@ -161,7 +161,8 @@ void ResourceFormatImporter::get_recognized_extensions(List<String> *p_extension
void ResourceFormatImporter::get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const {
if (p_type == "") {
- return get_recognized_extensions(p_extensions);
+ get_recognized_extensions(p_extensions);
+ return;
}
Set<String> found;
@@ -347,7 +348,7 @@ void ResourceFormatImporter::get_dependencies(const String &p_path, List<String>
return;
}
- return ResourceLoader::get_dependencies(pat.path, p_dependencies, p_add_types);
+ ResourceLoader::get_dependencies(pat.path, p_dependencies, p_add_types);
}
Ref<ResourceImporter> ResourceFormatImporter::get_importer_by_name(const String &p_name) const {
diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp
index 56d3b8b133..a29b9d1ddb 100644
--- a/core/io/resource_loader.cpp
+++ b/core/io/resource_loader.cpp
@@ -207,8 +207,6 @@ RES ResourceFormatLoader::load(const String &p_path, const String &p_original_pa
ERR_FAIL_COND_V(err != OK, RES());
}
-
- return RES();
}
void ResourceFormatLoader::get_dependencies(const String &p_path, List<String> *p_dependencies, bool p_add_types) {
@@ -283,7 +281,6 @@ RES ResourceLoader::_load(const String &p_path, const String &p_original_path, c
ERR_EXPLAIN("No loader found for resource: " + p_path);
}
ERR_FAIL_V(RES());
- return RES();
}
bool ResourceLoader::_add_to_loading_map(const String &p_path) {
@@ -543,7 +540,6 @@ Ref<ResourceInteractiveLoader> ResourceLoader::load_interactive(const String &p_
ERR_EXPLAIN("No loader found for resource: " + path);
}
ERR_FAIL_V(Ref<ResourceInteractiveLoader>());
- return Ref<ResourceInteractiveLoader>();
}
void ResourceLoader::add_resource_format_loader(Ref<ResourceFormatLoader> p_format_loader, bool p_at_front) {
diff --git a/core/io/stream_peer_ssl.cpp b/core/io/stream_peer_ssl.cpp
index 254ae84bf5..ccce48ccd7 100644
--- a/core/io/stream_peer_ssl.cpp
+++ b/core/io/stream_peer_ssl.cpp
@@ -39,7 +39,9 @@ StreamPeerSSL *(*StreamPeerSSL::_create)() = NULL;
StreamPeerSSL *StreamPeerSSL::create() {
- return _create();
+ if (_create)
+ return _create();
+ return NULL;
}
StreamPeerSSL::LoadCertsFromMemory StreamPeerSSL::load_certs_func = NULL;
diff --git a/core/io/stream_peer_tcp.cpp b/core/io/stream_peer_tcp.cpp
index 45f3e46e35..bcdae343b8 100644
--- a/core/io/stream_peer_tcp.cpp
+++ b/core/io/stream_peer_tcp.cpp
@@ -352,7 +352,6 @@ void StreamPeerTCP::_bind_methods() {
StreamPeerTCP::StreamPeerTCP() :
_sock(Ref<NetSocket>(NetSocket::create())),
status(STATUS_NONE),
- peer_host(IP_Address()),
peer_port(0) {
}
diff --git a/core/io/tcp_server.cpp b/core/io/tcp_server.cpp
index 6599c4eb5b..be87f47d50 100644
--- a/core/io/tcp_server.cpp
+++ b/core/io/tcp_server.cpp
@@ -83,11 +83,7 @@ bool TCP_Server::is_connection_available() const {
return false;
Error err = _sock->poll(NetSocket::POLL_TYPE_IN, 0);
- if (err != OK) {
- return false;
- }
-
- return true;
+ return (err == OK);
}
Ref<StreamPeerTCP> TCP_Server::take_connection() {
diff --git a/core/math/SCsub b/core/math/SCsub
index 1c5f954470..4e76efceff 100644
--- a/core/math/SCsub
+++ b/core/math/SCsub
@@ -2,4 +2,37 @@
Import('env')
-env.add_source_files(env.core_sources, "*.cpp")
+env_math = env.Clone() # Maybe make one specific for crypto?
+
+is_builtin = env["builtin_mbedtls"]
+has_module = env["module_mbedtls_enabled"]
+
+if is_builtin or not has_module:
+ # Use our headers for builtin or if the module is not going to be compiled.
+ # We decided not to depend on system mbedtls just for these few files that can
+ # be easily extracted.
+ env_math.Prepend(CPPPATH=["#thirdparty/mbedtls/include"])
+
+# MbedTLS core functions (for CryptoCore).
+# If the mbedtls module is compiled we don't need to add the .c files with our
+# custom config since they will be built by the module itself.
+# Only if the module is not enabled, we must compile here the required sources
+# to make a "light" build with only the necessary mbedtls files.
+if not has_module:
+ env_thirdparty = env_math.Clone()
+ env_thirdparty.disable_warnings()
+ # Custom config file
+ env_thirdparty.Append(CPPFLAGS=['-DMBEDTLS_CONFIG_FILE="\\"thirdparty/mbedtls/include/godot_core_mbedtls_config.h\\""'])
+ thirdparty_mbedtls_dir = "#thirdparty/mbedtls/library/"
+ thirdparty_mbedtls_sources = [
+ "aes.c",
+ "base64.c",
+ "md5.c",
+ "sha1.c",
+ "sha256.c",
+ "godot_core_mbedtls_platform.c"
+ ]
+ thirdparty_mbedtls_sources = [thirdparty_mbedtls_dir + file for file in thirdparty_mbedtls_sources]
+ env_thirdparty.add_source_files(env.core_sources, thirdparty_mbedtls_sources)
+
+env_math.add_source_files(env.core_sources, "*.cpp")
diff --git a/core/math/a_star.cpp b/core/math/a_star.cpp
index 7ce3824505..b61119d8df 100644
--- a/core/math/a_star.cpp
+++ b/core/math/a_star.cpp
@@ -216,6 +216,8 @@ int AStar::get_closest_point(const Vector3 &p_point) const {
for (const Map<int, Point *>::Element *E = points.front(); E; E = E->next()) {
+ if (!E->get()->enabled)
+ continue; //Disabled points should not be considered
real_t d = p_point.distance_squared_to(E->get()->pos);
if (closest_id < 0 || d < closest_dist) {
closest_dist = d;
@@ -234,6 +236,10 @@ Vector3 AStar::get_closest_position_in_segment(const Vector3 &p_point) const {
for (const Set<Segment>::Element *E = segments.front(); E; E = E->next()) {
+ if (!(E->get().from_point->enabled && E->get().to_point->enabled)) {
+ continue;
+ }
+
Vector3 segment[2] = {
E->get().from_point->pos,
E->get().to_point->pos,
diff --git a/core/math/bsp_tree.cpp b/core/math/bsp_tree.cpp
index d7e6e82cd9..a12f9fee2e 100644
--- a/core/math/bsp_tree.cpp
+++ b/core/math/bsp_tree.cpp
@@ -142,7 +142,7 @@ int BSP_Tree::_get_points_inside(int p_node, const Vector3 *p_points, int *p_ind
}
return _get_points_inside(node->over, p_points, p_indices, p_center, p_half_extents, p_indices_count);
- } else if (dist_min <= 0) { //all points behind plane
+ } else { //all points behind plane
if (node->under == UNDER_LEAF) {
@@ -150,8 +150,6 @@ int BSP_Tree::_get_points_inside(int p_node, const Vector3 *p_points, int *p_ind
}
return _get_points_inside(node->under, p_points, p_indices, p_center, p_half_extents, p_indices_count);
}
-
- return 0;
}
int BSP_Tree::get_points_inside(const Vector3 *p_points, int p_point_count) const {
@@ -271,8 +269,6 @@ bool BSP_Tree::point_is_inside(const Vector3 &p_point) const {
ERR_FAIL_COND_V(idx < MAX_NODES && idx >= node_count, false);
#endif
}
-
- return false;
}
static int _bsp_find_best_half_plane(const Face3 *p_faces, const Vector<int> &p_indices, real_t p_tolerance) {
diff --git a/core/math/camera_matrix.cpp b/core/math/camera_matrix.cpp
index f615cc8c65..8b3b6c82f3 100644
--- a/core/math/camera_matrix.cpp
+++ b/core/math/camera_matrix.cpp
@@ -507,21 +507,21 @@ void CameraMatrix::set_light_bias() {
real_t *m = &matrix[0][0];
- m[0] = 0.5,
- m[1] = 0.0,
- m[2] = 0.0,
- m[3] = 0.0,
- m[4] = 0.0,
- m[5] = 0.5,
- m[6] = 0.0,
- m[7] = 0.0,
- m[8] = 0.0,
- m[9] = 0.0,
- m[10] = 0.5,
- m[11] = 0.0,
- m[12] = 0.5,
- m[13] = 0.5,
- m[14] = 0.5,
+ m[0] = 0.5;
+ m[1] = 0.0;
+ m[2] = 0.0;
+ m[3] = 0.0;
+ m[4] = 0.0;
+ m[5] = 0.5;
+ m[6] = 0.0;
+ m[7] = 0.0;
+ m[8] = 0.0;
+ m[9] = 0.0;
+ m[10] = 0.5;
+ m[11] = 0.0;
+ m[12] = 0.5;
+ m[13] = 0.5;
+ m[14] = 0.5;
m[15] = 1.0;
}
@@ -529,21 +529,21 @@ void CameraMatrix::set_light_atlas_rect(const Rect2 &p_rect) {
real_t *m = &matrix[0][0];
- m[0] = p_rect.size.width,
- m[1] = 0.0,
- m[2] = 0.0,
- m[3] = 0.0,
- m[4] = 0.0,
- m[5] = p_rect.size.height,
- m[6] = 0.0,
- m[7] = 0.0,
- m[8] = 0.0,
- m[9] = 0.0,
- m[10] = 1.0,
- m[11] = 0.0,
- m[12] = p_rect.position.x,
- m[13] = p_rect.position.y,
- m[14] = 0.0,
+ m[0] = p_rect.size.width;
+ m[1] = 0.0;
+ m[2] = 0.0;
+ m[3] = 0.0;
+ m[4] = 0.0;
+ m[5] = p_rect.size.height;
+ m[6] = 0.0;
+ m[7] = 0.0;
+ m[8] = 0.0;
+ m[9] = 0.0;
+ m[10] = 1.0;
+ m[11] = 0.0;
+ m[12] = p_rect.position.x;
+ m[13] = p_rect.position.y;
+ m[14] = 0.0;
m[15] = 1.0;
}
diff --git a/core/math/crypto_core.cpp b/core/math/crypto_core.cpp
new file mode 100644
index 0000000000..6449d94db8
--- /dev/null
+++ b/core/math/crypto_core.cpp
@@ -0,0 +1,146 @@
+/*************************************************************************/
+/* crypto_core.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 "crypto_core.h"
+
+#include <mbedtls/aes.h>
+#include <mbedtls/base64.h>
+#include <mbedtls/md5.h>
+#include <mbedtls/sha1.h>
+#include <mbedtls/sha256.h>
+
+// MD5
+CryptoCore::MD5Context::MD5Context() {
+ ctx = memalloc(sizeof(mbedtls_md5_context));
+ mbedtls_md5_init((mbedtls_md5_context *)ctx);
+}
+
+CryptoCore::MD5Context::~MD5Context() {
+ mbedtls_md5_free((mbedtls_md5_context *)ctx);
+ memfree((mbedtls_md5_context *)ctx);
+}
+
+Error CryptoCore::MD5Context::start() {
+ int ret = mbedtls_md5_starts_ret((mbedtls_md5_context *)ctx);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::MD5Context::update(uint8_t *p_src, size_t p_len) {
+ int ret = mbedtls_md5_update_ret((mbedtls_md5_context *)ctx, p_src, p_len);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::MD5Context::finish(unsigned char r_hash[16]) {
+ int ret = mbedtls_md5_finish_ret((mbedtls_md5_context *)ctx, r_hash);
+ return ret ? FAILED : OK;
+}
+
+// SHA256
+CryptoCore::SHA256Context::SHA256Context() {
+ ctx = memalloc(sizeof(mbedtls_sha256_context));
+ mbedtls_sha256_init((mbedtls_sha256_context *)ctx);
+}
+
+CryptoCore::SHA256Context::~SHA256Context() {
+ mbedtls_sha256_free((mbedtls_sha256_context *)ctx);
+ memfree((mbedtls_sha256_context *)ctx);
+}
+
+Error CryptoCore::SHA256Context::start() {
+ int ret = mbedtls_sha256_starts_ret((mbedtls_sha256_context *)ctx, 0);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::SHA256Context::update(uint8_t *p_src, size_t p_len) {
+ int ret = mbedtls_sha256_update_ret((mbedtls_sha256_context *)ctx, p_src, p_len);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::SHA256Context::finish(unsigned char r_hash[16]) {
+ int ret = mbedtls_sha256_finish_ret((mbedtls_sha256_context *)ctx, r_hash);
+ return ret ? FAILED : OK;
+}
+
+// AES256
+CryptoCore::AESContext::AESContext() {
+ ctx = memalloc(sizeof(mbedtls_aes_context));
+ mbedtls_aes_init((mbedtls_aes_context *)ctx);
+}
+
+CryptoCore::AESContext::~AESContext() {
+ mbedtls_aes_free((mbedtls_aes_context *)ctx);
+ memfree((mbedtls_aes_context *)ctx);
+}
+
+Error CryptoCore::AESContext::set_encode_key(const uint8_t *p_key, size_t p_bits) {
+ int ret = mbedtls_aes_setkey_enc((mbedtls_aes_context *)ctx, p_key, p_bits);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::AESContext::set_decode_key(const uint8_t *p_key, size_t p_bits) {
+ int ret = mbedtls_aes_setkey_dec((mbedtls_aes_context *)ctx, p_key, p_bits);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::AESContext::encrypt_ecb(const uint8_t p_src[16], uint8_t r_dst[16]) {
+ int ret = mbedtls_aes_crypt_ecb((mbedtls_aes_context *)ctx, MBEDTLS_AES_ENCRYPT, p_src, r_dst);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::AESContext::decrypt_ecb(const uint8_t p_src[16], uint8_t r_dst[16]) {
+ int ret = mbedtls_aes_crypt_ecb((mbedtls_aes_context *)ctx, MBEDTLS_AES_DECRYPT, p_src, r_dst);
+ return ret ? FAILED : OK;
+}
+
+// CryptoCore
+Error CryptoCore::b64_encode(uint8_t *r_dst, int p_dst_len, size_t *r_len, const uint8_t *p_src, int p_src_len) {
+ int ret = mbedtls_base64_encode(r_dst, p_dst_len, r_len, p_src, p_src_len);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::b64_decode(uint8_t *r_dst, int p_dst_len, size_t *r_len, const uint8_t *p_src, int p_src_len) {
+ int ret = mbedtls_base64_decode(r_dst, p_dst_len, r_len, p_src, p_src_len);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::md5(const uint8_t *p_src, int p_src_len, unsigned char r_hash[16]) {
+ int ret = mbedtls_md5_ret(p_src, p_src_len, r_hash);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::sha1(const uint8_t *p_src, int p_src_len, unsigned char r_hash[20]) {
+ int ret = mbedtls_sha1_ret(p_src, p_src_len, r_hash);
+ return ret ? FAILED : OK;
+}
+
+Error CryptoCore::sha256(const uint8_t *p_src, int p_src_len, unsigned char r_hash[32]) {
+ int ret = mbedtls_sha256_ret(p_src, p_src_len, r_hash, 0);
+ return ret ? FAILED : OK;
+}
diff --git a/core/math/crypto_core.h b/core/math/crypto_core.h
new file mode 100644
index 0000000000..1cb3c86e18
--- /dev/null
+++ b/core/math/crypto_core.h
@@ -0,0 +1,89 @@
+/*************************************************************************/
+/* crypto_core.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 CRYPTO_CORE_H
+#define CRYPTO_CORE_H
+
+#include "core/reference.h"
+
+class CryptoCore {
+
+public:
+ class MD5Context {
+
+ private:
+ void *ctx; // To include, or not to include...
+
+ public:
+ MD5Context();
+ ~MD5Context();
+
+ Error start();
+ Error update(uint8_t *p_src, size_t p_len);
+ Error finish(unsigned char r_hash[16]);
+ };
+
+ class SHA256Context {
+
+ private:
+ void *ctx; // To include, or not to include...
+
+ public:
+ SHA256Context();
+ ~SHA256Context();
+
+ Error start();
+ Error update(uint8_t *p_src, size_t p_len);
+ Error finish(unsigned char r_hash[16]);
+ };
+
+ class AESContext {
+
+ private:
+ void *ctx; // To include, or not to include...
+
+ public:
+ AESContext();
+ ~AESContext();
+
+ Error set_encode_key(const uint8_t *p_key, size_t p_bits);
+ Error set_decode_key(const uint8_t *p_key, size_t p_bits);
+ Error encrypt_ecb(const uint8_t p_src[16], uint8_t r_dst[16]);
+ Error decrypt_ecb(const uint8_t p_src[16], uint8_t r_dst[16]);
+ };
+
+ static Error b64_encode(uint8_t *r_dst, int p_dst_len, size_t *r_len, const uint8_t *p_src, int p_src_len);
+ static Error b64_decode(uint8_t *r_dst, int p_dst_len, size_t *r_len, const uint8_t *p_src, int p_src_len);
+
+ static Error md5(const uint8_t *p_src, int p_src_len, unsigned char r_hash[16]);
+ static Error sha1(const uint8_t *p_src, int p_src_len, unsigned char r_hash[20]);
+ static Error sha256(const uint8_t *p_src, int p_src_len, unsigned char r_hash[32]);
+};
+#endif // CRYPTO_CORE_H
diff --git a/core/math/expression.cpp b/core/math/expression.cpp
index e484e9194d..b52658e2cf 100644
--- a/core/math/expression.cpp
+++ b/core/math/expression.cpp
@@ -1794,7 +1794,7 @@ Expression::ENode *Expression::_parse_expression() {
if (next_op == -1) {
_set_error("Yet another parser bug....");
- ERR_FAIL_COND_V(next_op == -1, NULL);
+ ERR_FAIL_V(NULL);
}
// OK! create operator..
diff --git a/core/math/math_funcs.cpp b/core/math/math_funcs.cpp
index 5b5fd8e283..7a2e74a413 100644
--- a/core/math/math_funcs.cpp
+++ b/core/math/math_funcs.cpp
@@ -161,8 +161,6 @@ uint32_t Math::larger_prime(uint32_t p_val) {
return primes[idx];
idx++;
}
-
- return 0;
}
double Math::random(double from, double to) {
diff --git a/core/math/random_number_generator.cpp b/core/math/random_number_generator.cpp
index 6add00c1d8..54a88d5cd8 100644
--- a/core/math/random_number_generator.cpp
+++ b/core/math/random_number_generator.cpp
@@ -30,8 +30,7 @@
#include "random_number_generator.h"
-RandomNumberGenerator::RandomNumberGenerator() :
- randbase() {}
+RandomNumberGenerator::RandomNumberGenerator() {}
void RandomNumberGenerator::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_seed", "seed"), &RandomNumberGenerator::set_seed);
diff --git a/core/math/random_number_generator.h b/core/math/random_number_generator.h
index a6182a4b33..9b54ea9b2e 100644
--- a/core/math/random_number_generator.h
+++ b/core/math/random_number_generator.h
@@ -47,7 +47,7 @@ public:
_FORCE_INLINE_ uint64_t get_seed() { return randbase.get_seed(); }
- _FORCE_INLINE_ void randomize() { return randbase.randomize(); }
+ _FORCE_INLINE_ void randomize() { randbase.randomize(); }
_FORCE_INLINE_ uint32_t randi() { return randbase.rand(); }
diff --git a/core/math/triangle_mesh.h b/core/math/triangle_mesh.h
index ee7bf0f6b5..8b01080852 100644
--- a/core/math/triangle_mesh.h
+++ b/core/math/triangle_mesh.h
@@ -97,7 +97,7 @@ public:
PoolVector<Triangle> get_triangles() const { return triangles; }
PoolVector<Vector3> get_vertices() const { return vertices; }
- void get_indices(PoolVector<int> *p_triangles_indices) const;
+ void get_indices(PoolVector<int> *r_triangles_indices) const;
void create(const PoolVector<Vector3> &p_faces);
TriangleMesh();
diff --git a/core/node_path.cpp b/core/node_path.cpp
index 07ff765516..a4b7cbe2eb 100644
--- a/core/node_path.cpp
+++ b/core/node_path.cpp
@@ -357,7 +357,7 @@ NodePath::NodePath(const String &p_path) {
String path = p_path;
Vector<StringName> subpath;
- int absolute = (path[0] == '/') ? 1 : 0;
+ bool absolute = (path[0] == '/');
bool last_is_slash = true;
bool has_slashes = false;
int slices = 0;
@@ -387,7 +387,7 @@ NodePath::NodePath(const String &p_path) {
path = path.substr(0, subpath_pos);
}
- for (int i = absolute; i < path.length(); i++) {
+ for (int i = (int)absolute; i < path.length(); i++) {
if (path[i] == '/') {
@@ -407,7 +407,7 @@ NodePath::NodePath(const String &p_path) {
data = memnew(Data);
data->refcount.init();
- data->absolute = absolute ? true : false;
+ data->absolute = absolute;
data->has_slashes = has_slashes;
data->subpath = subpath;
data->hash_cache_valid = false;
@@ -416,10 +416,10 @@ NodePath::NodePath(const String &p_path) {
return;
data->path.resize(slices);
last_is_slash = true;
- int from = absolute;
+ int from = (int)absolute;
int slice = 0;
- for (int i = absolute; i < path.length() + 1; i++) {
+ for (int i = (int)absolute; i < path.length() + 1; i++) {
if (path[i] == '/' || path[i] == 0) {
diff --git a/core/object.cpp b/core/object.cpp
index 64f55f08a9..3367d6b6c3 100644
--- a/core/object.cpp
+++ b/core/object.cpp
@@ -474,7 +474,6 @@ void Object::set(const StringName &p_name, const Variant &p_value, bool *r_valid
if (r_valid)
*r_valid = false;
- return;
}
Variant Object::get(const StringName &p_name, bool *r_valid) const {
@@ -743,13 +742,11 @@ void Object::call_multilevel(const StringName &p_method, const Variant **p_args,
if (Object::cast_to<Reference>(this)) {
ERR_EXPLAIN("Can't 'free' a reference.");
ERR_FAIL();
- return;
}
if (_lock_index.get() > 1) {
ERR_EXPLAIN("Object is locked and can't be freed.");
ERR_FAIL();
- return;
}
#endif
@@ -810,11 +807,7 @@ bool Object::has_method(const StringName &p_method) const {
MethodBind *method = ClassDB::get_method(get_class_name(), p_method);
- if (method) {
- return true;
- }
-
- return false;
+ return method != NULL;
}
Variant Object::getvar(const Variant &p_key, bool *r_valid) const {
@@ -1472,7 +1465,7 @@ Error Object::connect(const StringName &p_signal, Object *p_to_object, const Str
if (!signal_is_valid) {
ERR_EXPLAIN("In Object of type '" + String(get_class()) + "': Attempt to connect nonexistent signal '" + p_signal + "' to method '" + p_to_object->get_class() + "." + p_to_method + "'");
- ERR_FAIL_COND_V(!signal_is_valid, ERR_INVALID_PARAMETER);
+ ERR_FAIL_V(ERR_INVALID_PARAMETER);
}
signal_map[p_signal] = Signal();
s = &signal_map[p_signal];
@@ -1485,7 +1478,7 @@ Error Object::connect(const StringName &p_signal, Object *p_to_object, const Str
return OK;
} else {
ERR_EXPLAIN("Signal '" + p_signal + "' is already connected to given method '" + p_to_method + "' in that object.");
- ERR_FAIL_COND_V(s->slot_map.has(target), ERR_INVALID_PARAMETER);
+ ERR_FAIL_V(ERR_INVALID_PARAMETER);
}
}
@@ -1522,7 +1515,7 @@ bool Object::is_connected(const StringName &p_signal, Object *p_to_object, const
return false;
ERR_EXPLAIN("Nonexistent signal: " + p_signal);
- ERR_FAIL_COND_V(!s, false);
+ ERR_FAIL_V(false);
}
Signal::Target target(p_to_object->get_instance_id(), p_to_method);
@@ -1542,11 +1535,11 @@ void Object::_disconnect(const StringName &p_signal, Object *p_to_object, const
Signal *s = signal_map.getptr(p_signal);
if (!s) {
ERR_EXPLAIN("Nonexistent signal: " + p_signal);
- ERR_FAIL_COND(!s);
+ ERR_FAIL();
}
if (s->lock > 0) {
ERR_EXPLAIN("Attempt to disconnect signal '" + p_signal + "' while emitting (locks: " + itos(s->lock) + ")");
- ERR_FAIL_COND(s->lock > 0);
+ ERR_FAIL();
}
Signal::Target target(p_to_object->get_instance_id(), p_to_method);
@@ -1689,7 +1682,7 @@ void Object::clear_internal_resource_paths() {
void Object::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_class"), &Object::get_class);
- ClassDB::bind_method(D_METHOD("is_class", "type"), &Object::is_class);
+ ClassDB::bind_method(D_METHOD("is_class", "class"), &Object::is_class);
ClassDB::bind_method(D_METHOD("set", "property", "value"), &Object::_set_bind);
ClassDB::bind_method(D_METHOD("get", "property"), &Object::_get_bind);
ClassDB::bind_method(D_METHOD("set_indexed", "property", "value"), &Object::_set_indexed_bind);
@@ -1709,14 +1702,8 @@ void Object::_bind_methods() {
ClassDB::bind_method(D_METHOD("has_meta", "name"), &Object::has_meta);
ClassDB::bind_method(D_METHOD("get_meta_list"), &Object::_get_meta_list_bind);
- //todo reimplement this per language so all 5 arguments can be called
-
- //ClassDB::bind_method(D_METHOD("call","method","arg1","arg2","arg3","arg4"),&Object::_call_bind,DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()));
- //ClassDB::bind_method(D_METHOD("call_deferred","method","arg1","arg2","arg3","arg4"),&Object::_call_deferred_bind,DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()));
-
ClassDB::bind_method(D_METHOD("add_user_signal", "signal", "arguments"), &Object::_add_user_signal, DEFVAL(Array()));
ClassDB::bind_method(D_METHOD("has_user_signal", "signal"), &Object::_has_user_signal);
- //ClassDB::bind_method(D_METHOD("emit_signal","signal","arguments"),&Object::_emit_signal,DEFVAL(Array()));
{
MethodInfo mi;
diff --git a/core/object.h b/core/object.h
index 4394c1c3da..1e0b22c086 100644
--- a/core/object.h
+++ b/core/object.h
@@ -130,6 +130,7 @@ enum PropertyUsageFlags {
#define ADD_SIGNAL(m_signal) ClassDB::add_signal(get_class_static(), m_signal)
#define ADD_PROPERTY(m_property, m_setter, m_getter) ClassDB::add_property(get_class_static(), m_property, _scs_create(m_setter), _scs_create(m_getter))
#define ADD_PROPERTYI(m_property, m_setter, m_getter, m_index) ClassDB::add_property(get_class_static(), m_property, _scs_create(m_setter), _scs_create(m_getter), m_index)
+#define ADD_PROPERTY_DEFAULT(m_property, m_default) ClassDB::set_property_default_value(get_class_static(), m_property, m_default)
#define ADD_GROUP(m_name, m_prefix) ClassDB::add_property_group(get_class_static(), m_name, m_prefix)
struct PropertyInfo {
diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp
index d81c30f33a..0cdb5b41b7 100644
--- a/core/os/dir_access.cpp
+++ b/core/os/dir_access.cpp
@@ -43,8 +43,6 @@ String DirAccess::_get_root_path() const {
case ACCESS_USERDATA: return OS::get_singleton()->get_user_data_dir();
default: return "";
}
-
- return "";
}
String DirAccess::_get_root_string() const {
@@ -54,8 +52,6 @@ String DirAccess::_get_root_string() const {
case ACCESS_USERDATA: return "user://";
default: return "";
}
-
- return "";
}
int DirAccess::get_current_drive() {
@@ -373,12 +369,12 @@ Error DirAccess::_copy_dir(DirAccess *p_target_da, String p_to, int p_chmod_flag
if (current_is_dir())
dirs.push_back(n);
else {
- String rel_path = n;
+ const String &rel_path = n;
if (!n.is_rel_path()) {
list_dir_end();
return ERR_BUG;
}
- Error err = copy(get_current_dir() + "/" + n, p_to + rel_path, p_chmod_flags);
+ Error err = copy(get_current_dir().plus_file(n), p_to + rel_path, p_chmod_flags);
if (err) {
list_dir_end();
return err;
diff --git a/core/os/file_access.cpp b/core/os/file_access.cpp
index 913caf6584..7509050b2b 100644
--- a/core/os/file_access.cpp
+++ b/core/os/file_access.cpp
@@ -32,12 +32,10 @@
#include "core/io/file_access_pack.h"
#include "core/io/marshalls.h"
+#include "core/math/crypto_core.h"
#include "core/os/os.h"
#include "core/project_settings.h"
-#include "thirdparty/misc/md5.h"
-#include "thirdparty/misc/sha256.h"
-
FileAccess::CreateFunc FileAccess::create_func[ACCESS_MAX] = { 0, 0 };
FileAccess::FileCloseFailNotify FileAccess::close_fail_notify = NULL;
@@ -601,7 +599,8 @@ Vector<uint8_t> FileAccess::get_file_as_array(const String &p_path, Error *r_err
if (r_error) { // if error requested, do not throw error
return Vector<uint8_t>();
}
- ERR_FAIL_COND_V(!f, Vector<uint8_t>());
+ ERR_EXPLAIN("Can't open file from path: " + String(p_path));
+ ERR_FAIL_V(Vector<uint8_t>());
}
Vector<uint8_t> data;
data.resize(f->get_len());
@@ -621,7 +620,8 @@ String FileAccess::get_file_as_string(const String &p_path, Error *r_error) {
if (r_error) {
return String();
}
- ERR_FAIL_COND_V(err != OK, String());
+ ERR_EXPLAIN("Can't get file as string from path: " + String(p_path));
+ ERR_FAIL_V(String());
}
String ret;
@@ -635,8 +635,8 @@ String FileAccess::get_md5(const String &p_file) {
if (!f)
return String();
- MD5_CTX md5;
- MD5Init(&md5);
+ CryptoCore::MD5Context ctx;
+ ctx.start();
unsigned char step[32768];
@@ -645,24 +645,24 @@ String FileAccess::get_md5(const String &p_file) {
int br = f->get_buffer(step, 32768);
if (br > 0) {
- MD5Update(&md5, step, br);
+ ctx.update(step, br);
}
if (br < 4096)
break;
}
- MD5Final(&md5);
-
- String ret = String::md5(md5.digest);
+ unsigned char hash[16];
+ ctx.finish(hash);
memdelete(f);
- return ret;
+
+ return String::md5(hash);
}
String FileAccess::get_multiple_md5(const Vector<String> &p_file) {
- MD5_CTX md5;
- MD5Init(&md5);
+ CryptoCore::MD5Context ctx;
+ ctx.start();
for (int i = 0; i < p_file.size(); i++) {
FileAccess *f = FileAccess::open(p_file[i], READ);
@@ -675,7 +675,7 @@ String FileAccess::get_multiple_md5(const Vector<String> &p_file) {
int br = f->get_buffer(step, 32768);
if (br > 0) {
- MD5Update(&md5, step, br);
+ ctx.update(step, br);
}
if (br < 4096)
break;
@@ -683,11 +683,10 @@ String FileAccess::get_multiple_md5(const Vector<String> &p_file) {
memdelete(f);
}
- MD5Final(&md5);
+ unsigned char hash[16];
+ ctx.finish(hash);
- String ret = String::md5(md5.digest);
-
- return ret;
+ return String::md5(hash);
}
String FileAccess::get_sha256(const String &p_file) {
@@ -696,8 +695,8 @@ String FileAccess::get_sha256(const String &p_file) {
if (!f)
return String();
- sha256_context sha256;
- sha256_init(&sha256);
+ CryptoCore::SHA256Context ctx;
+ ctx.start();
unsigned char step[32768];
@@ -706,15 +705,14 @@ String FileAccess::get_sha256(const String &p_file) {
int br = f->get_buffer(step, 32768);
if (br > 0) {
- sha256_hash(&sha256, step, br);
+ ctx.update(step, br);
}
if (br < 4096)
break;
}
unsigned char hash[32];
-
- sha256_done(&sha256, hash);
+ ctx.finish(hash);
memdelete(f);
return String::hex_encode_buffer(hash, 32);
diff --git a/core/os/input_event.cpp b/core/os/input_event.cpp
index 9c5066da3d..a40a50cfce 100644
--- a/core/os/input_event.cpp
+++ b/core/os/input_event.cpp
@@ -314,7 +314,7 @@ bool InputEventKey::action_match(const Ref<InputEvent> &p_event, bool *p_pressed
if (p_pressed != NULL)
*p_pressed = key->is_pressed();
if (p_strength != NULL)
- *p_strength = (*p_pressed) ? 1.0f : 0.0f;
+ *p_strength = (p_pressed != NULL && *p_pressed) ? 1.0f : 0.0f;
}
return match;
}
@@ -483,7 +483,7 @@ bool InputEventMouseButton::action_match(const Ref<InputEvent> &p_event, bool *p
if (p_pressed != NULL)
*p_pressed = mb->is_pressed();
if (p_strength != NULL)
- *p_strength = (*p_pressed) ? 1.0f : 0.0f;
+ *p_strength = (p_pressed != NULL && *p_pressed) ? 1.0f : 0.0f;
}
return match;
@@ -795,7 +795,7 @@ bool InputEventJoypadButton::action_match(const Ref<InputEvent> &p_event, bool *
if (p_pressed != NULL)
*p_pressed = jb->is_pressed();
if (p_strength != NULL)
- *p_strength = (*p_pressed) ? 1.0f : 0.0f;
+ *p_strength = (p_pressed != NULL && *p_pressed) ? 1.0f : 0.0f;
}
return match;
@@ -1041,7 +1041,7 @@ bool InputEventAction::action_match(const Ref<InputEvent> &p_event, bool *p_pres
if (p_pressed != NULL)
*p_pressed = act->pressed;
if (p_strength != NULL)
- *p_strength = (*p_pressed) ? 1.0f : 0.0f;
+ *p_strength = (p_pressed != NULL && *p_pressed) ? 1.0f : 0.0f;
}
return match;
}
diff --git a/core/os/main_loop.cpp b/core/os/main_loop.cpp
index 895ce14ae9..9946ced2f3 100644
--- a/core/os/main_loop.cpp
+++ b/core/os/main_loop.cpp
@@ -44,9 +44,9 @@ void MainLoop::_bind_methods() {
BIND_VMETHOD(MethodInfo("_input_event", PropertyInfo(Variant::OBJECT, "event", PROPERTY_HINT_RESOURCE_TYPE, "InputEvent")));
BIND_VMETHOD(MethodInfo("_input_text", PropertyInfo(Variant::STRING, "text")));
BIND_VMETHOD(MethodInfo("_initialize"));
- BIND_VMETHOD(MethodInfo("_iteration", PropertyInfo(Variant::REAL, "delta")));
- BIND_VMETHOD(MethodInfo("_idle", PropertyInfo(Variant::REAL, "delta")));
- BIND_VMETHOD(MethodInfo("_drop_files", PropertyInfo(Variant::POOL_STRING_ARRAY, "files"), PropertyInfo(Variant::INT, "screen")));
+ BIND_VMETHOD(MethodInfo(Variant::BOOL, "_iteration", PropertyInfo(Variant::REAL, "delta")));
+ BIND_VMETHOD(MethodInfo(Variant::BOOL, "_idle", PropertyInfo(Variant::REAL, "delta")));
+ BIND_VMETHOD(MethodInfo("_drop_files", PropertyInfo(Variant::POOL_STRING_ARRAY, "files"), PropertyInfo(Variant::INT, "from_screen")));
BIND_VMETHOD(MethodInfo("_finalize"));
BIND_CONSTANT(NOTIFICATION_WM_MOUSE_ENTER);
diff --git a/core/os/memory.h b/core/os/memory.h
index f3ca9fc614..e073b11e76 100644
--- a/core/os/memory.h
+++ b/core/os/memory.h
@@ -66,7 +66,7 @@ public:
class DefaultAllocator {
public:
_FORCE_INLINE_ static void *alloc(size_t p_memory) { return Memory::alloc_static(p_memory, false); }
- _FORCE_INLINE_ static void free(void *p_ptr) { return Memory::free_static(p_ptr, false); }
+ _FORCE_INLINE_ static void free(void *p_ptr) { Memory::free_static(p_ptr, false); }
};
void *operator new(size_t p_size, const char *p_description); ///< operator new that takes a description and uses MemoryStaticPool
diff --git a/core/os/os.cpp b/core/os/os.cpp
index 1a3c9ac5f8..925154af7d 100644
--- a/core/os/os.cpp
+++ b/core/os/os.cpp
@@ -51,6 +51,35 @@ uint32_t OS::get_ticks_msec() const {
return get_ticks_usec() / 1000;
}
+String OS::get_iso_date_time(bool local) const {
+ OS::Date date = get_date(local);
+ OS::Time time = get_time(local);
+
+ String timezone;
+ if (!local) {
+ TimeZoneInfo zone = get_time_zone_info();
+ if (zone.bias >= 0) {
+ timezone = "+";
+ }
+ timezone = timezone + itos(zone.bias / 60).pad_zeros(2) + itos(zone.bias % 60).pad_zeros(2);
+ } else {
+ timezone = "Z";
+ }
+
+ return itos(date.year).pad_zeros(2) +
+ "-" +
+ itos(date.month).pad_zeros(2) +
+ "-" +
+ itos(date.day).pad_zeros(2) +
+ "T" +
+ itos(time.hour).pad_zeros(2) +
+ ":" +
+ itos(time.min).pad_zeros(2) +
+ ":" +
+ itos(time.sec).pad_zeros(2) +
+ timezone;
+}
+
uint64_t OS::get_splash_tick_msec() const {
return _msec_splash;
}
@@ -239,7 +268,8 @@ void OS::print_all_resources(String p_to_file) {
_OSPRF = FileAccess::open(p_to_file, FileAccess::WRITE, &err);
if (err != OK) {
_OSPRF = NULL;
- ERR_FAIL_COND(err != OK);
+ ERR_EXPLAIN("Can't print all resources to file: " + String(p_to_file));
+ ERR_FAIL();
}
}
@@ -759,6 +789,8 @@ OS::OS() {
}
OS::~OS() {
+ if (last_error)
+ memfree(last_error);
memdelete(_logger);
singleton = NULL;
}
diff --git a/core/os/os.h b/core/os/os.h
index 1b19ddff26..2224d3b006 100644
--- a/core/os/os.h
+++ b/core/os/os.h
@@ -336,6 +336,7 @@ public:
virtual Date get_date(bool local = false) const = 0;
virtual Time get_time(bool local = false) const = 0;
virtual TimeZoneInfo get_time_zone_info() const = 0;
+ virtual String get_iso_date_time(bool local = false) const;
virtual uint64_t get_unix_time() const;
virtual uint64_t get_system_time_secs() const;
virtual uint64_t get_system_time_msecs() const;
diff --git a/core/packed_data_container.cpp b/core/packed_data_container.cpp
index fa60be64a7..54bf12b314 100644
--- a/core/packed_data_container.cpp
+++ b/core/packed_data_container.cpp
@@ -224,7 +224,8 @@ uint32_t PackedDataContainer::_pack(const Variant &p_data, Vector<uint8_t> &tmpd
string_cache[s] = tmpdata.size();
- }; //fallthrough
+ FALLTHROUGH;
+ };
case Variant::NIL:
case Variant::BOOL:
case Variant::INT:
diff --git a/core/pool_allocator.cpp b/core/pool_allocator.cpp
index 11a3be89bd..094352b5cc 100644
--- a/core/pool_allocator.cpp
+++ b/core/pool_allocator.cpp
@@ -206,8 +206,8 @@ PoolAllocator::ID PoolAllocator::alloc(int p_size) {
if (!find_hole(&new_entry_indices_pos, size_to_alloc)) {
mt_unlock();
- ERR_PRINT("memory can't be compacted further");
- return POOL_ALLOCATOR_INVALID_ID;
+ ERR_EXPLAIN("Memory can't be compacted further");
+ ERR_FAIL_V(POOL_ALLOCATOR_INVALID_ID);
}
}
@@ -217,7 +217,8 @@ PoolAllocator::ID PoolAllocator::alloc(int p_size) {
if (!found_free_entry) {
mt_unlock();
- ERR_FAIL_COND_V(!found_free_entry, POOL_ALLOCATOR_INVALID_ID);
+ ERR_EXPLAIN("No free entry found in PoolAllocator");
+ ERR_FAIL_V(POOL_ALLOCATOR_INVALID_ID);
}
/* move all entry indices up, make room for this one */
diff --git a/core/pool_vector.h b/core/pool_vector.h
index 102a620f17..338de966f6 100644
--- a/core/pool_vector.h
+++ b/core/pool_vector.h
@@ -411,8 +411,8 @@ public:
p_to = size() + p_to;
}
- CRASH_BAD_INDEX(p_from, size());
- CRASH_BAD_INDEX(p_to, size());
+ ERR_FAIL_INDEX_V(p_from, size(), PoolVector<T>());
+ ERR_FAIL_INDEX_V(p_to, size(), PoolVector<T>());
PoolVector<T> slice;
int span = 1 + p_to - p_from;
@@ -511,6 +511,8 @@ const T PoolVector<T>::operator[](int p_index) const {
template <class T>
Error PoolVector<T>::resize(int p_size) {
+ ERR_FAIL_COND_V(p_size < 0, ERR_INVALID_PARAMETER);
+
if (alloc == NULL) {
if (p_size == 0)
diff --git a/core/project_settings.cpp b/core/project_settings.cpp
index 0508806a35..fc1a74801d 100644
--- a/core/project_settings.cpp
+++ b/core/project_settings.cpp
@@ -566,7 +566,7 @@ Error ProjectSettings::_load_settings_text(const String p_path) {
if (config_version > CONFIG_VERSION) {
memdelete(f);
ERR_EXPLAIN(vformat("Can't open project at '%s', its `config_version` (%d) is from a more recent and incompatible version of the engine. Expected config version: %d.", p_path, config_version, CONFIG_VERSION));
- ERR_FAIL_COND_V(config_version > CONFIG_VERSION, ERR_FILE_CANT_OPEN);
+ ERR_FAIL_V(ERR_FILE_CANT_OPEN);
}
} else {
if (section == String()) {
@@ -863,8 +863,6 @@ Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_cust
ERR_EXPLAIN("Unknown config file format: " + p_path);
ERR_FAIL_V(ERR_FILE_UNRECOGNIZED);
}
-
- return OK;
}
Variant _GLOBAL_DEF(const String &p_var, const Variant &p_default, bool p_restart_if_changed) {
diff --git a/core/register_core_types.cpp b/core/register_core_types.cpp
index 135df4e5bd..af863dd385 100644
--- a/core/register_core_types.cpp
+++ b/core/register_core_types.cpp
@@ -273,6 +273,7 @@ void unregister_core_types() {
ResourceLoader::finalize();
+ ClassDB::cleanup_defaults();
ObjectDB::cleanup();
unregister_variant_methods();
diff --git a/core/safe_refcount.h b/core/safe_refcount.h
index f6b8f80271..54f540b0c7 100644
--- a/core/safe_refcount.h
+++ b/core/safe_refcount.h
@@ -189,11 +189,7 @@ public:
_ALWAYS_INLINE_ bool unref() { // true if must be disposed of
- if (atomic_decrement(&count) == 0) {
- return true;
- }
-
- return false;
+ return atomic_decrement(&count) == 0;
}
_ALWAYS_INLINE_ uint32_t get() const { // nothrow
diff --git a/core/undo_redo.cpp b/core/undo_redo.cpp
index f7ca6d3bde..f0c2b8eb9b 100644
--- a/core/undo_redo.cpp
+++ b/core/undo_redo.cpp
@@ -336,6 +336,7 @@ bool UndoRedo::redo() {
_process_operation_list(actions.write[current_action].do_ops.front());
version++;
+ emit_signal("version_changed");
return true;
}
@@ -348,6 +349,8 @@ bool UndoRedo::undo() {
_process_operation_list(actions.write[current_action].undo_ops.front());
current_action--;
version--;
+ emit_signal("version_changed");
+
return true;
}
@@ -359,18 +362,30 @@ void UndoRedo::clear_history(bool p_increase_version) {
while (actions.size())
_pop_history_tail();
- if (p_increase_version)
+ if (p_increase_version) {
version++;
+ emit_signal("version_changed");
+ }
}
String UndoRedo::get_current_action_name() const {
ERR_FAIL_COND_V(action_level > 0, "");
if (current_action < 0)
- return ""; //nothing to redo
+ return "";
return actions[current_action].name;
}
+bool UndoRedo::has_undo() {
+
+ return current_action >= 0;
+}
+
+bool UndoRedo::has_redo() {
+
+ return (current_action + 1) < actions.size();
+}
+
uint64_t UndoRedo::get_version() const {
return version;
@@ -523,10 +538,14 @@ void UndoRedo::_bind_methods() {
ClassDB::bind_method(D_METHOD("add_undo_reference", "object"), &UndoRedo::add_undo_reference);
ClassDB::bind_method(D_METHOD("clear_history", "increase_version"), &UndoRedo::clear_history, DEFVAL(true));
ClassDB::bind_method(D_METHOD("get_current_action_name"), &UndoRedo::get_current_action_name);
+ ClassDB::bind_method(D_METHOD("has_undo"), &UndoRedo::has_undo);
+ ClassDB::bind_method(D_METHOD("has_redo"), &UndoRedo::has_redo);
ClassDB::bind_method(D_METHOD("get_version"), &UndoRedo::get_version);
ClassDB::bind_method(D_METHOD("redo"), &UndoRedo::redo);
ClassDB::bind_method(D_METHOD("undo"), &UndoRedo::undo);
+ ADD_SIGNAL(MethodInfo("version_changed"));
+
BIND_ENUM_CONSTANT(MERGE_DISABLE);
BIND_ENUM_CONSTANT(MERGE_ENDS);
BIND_ENUM_CONSTANT(MERGE_ALL);
diff --git a/core/undo_redo.h b/core/undo_redo.h
index e2cc6c659b..276d00d9af 100644
--- a/core/undo_redo.h
+++ b/core/undo_redo.h
@@ -118,6 +118,9 @@ public:
String get_current_action_name() const;
void clear_history(bool p_increase_version = true);
+ bool has_undo();
+ bool has_redo();
+
uint64_t get_version() const;
void set_commit_notify_callback(CommitNotifyCallback p_callback, void *p_ud);
diff --git a/core/ustring.cpp b/core/ustring.cpp
index 686aa6f8e3..2b312191e2 100644
--- a/core/ustring.cpp
+++ b/core/ustring.cpp
@@ -31,6 +31,7 @@
#include "ustring.h"
#include "core/color.h"
+#include "core/math/crypto_core.h"
#include "core/math/math_funcs.h"
#include "core/os/memory.h"
#include "core/print_string.h"
@@ -38,9 +39,6 @@
#include "core/ucaps.h"
#include "core/variant.h"
-#include "thirdparty/misc/md5.h"
-#include "thirdparty/misc/sha256.h"
-
#include <wchar.h>
#ifndef NO_USE_STDLIB
@@ -481,8 +479,6 @@ signed char String::nocasecmp_to(const String &p_str) const {
this_str++;
that_str++;
}
-
- return 0; //should never reach anyway
}
signed char String::casecmp_to(const String &p_str) const {
@@ -513,8 +509,6 @@ signed char String::casecmp_to(const String &p_str) const {
this_str++;
that_str++;
}
-
- return 0; //should never reach anyway
}
signed char String::naturalnocasecmp_to(const String &p_str) const {
@@ -731,8 +725,6 @@ String String::get_slicec(CharType p_splitter, int p_slice) const {
i++;
}
-
- return String(); //no find!
}
Vector<String> String::split_spaces() const {
@@ -2260,54 +2252,42 @@ uint64_t String::hash64() const {
String String::md5_text() const {
CharString cs = utf8();
- MD5_CTX ctx;
- MD5Init(&ctx);
- MD5Update(&ctx, (unsigned char *)cs.ptr(), cs.length());
- MD5Final(&ctx);
- return String::md5(ctx.digest);
+ unsigned char hash[16];
+ CryptoCore::md5((unsigned char *)cs.ptr(), cs.length(), hash);
+ return String::hex_encode_buffer(hash, 16);
}
String String::sha256_text() const {
CharString cs = utf8();
unsigned char hash[32];
- sha256_context ctx;
- sha256_init(&ctx);
- sha256_hash(&ctx, (unsigned char *)cs.ptr(), cs.length());
- sha256_done(&ctx, hash);
+ CryptoCore::sha256((unsigned char *)cs.ptr(), cs.length(), hash);
return String::hex_encode_buffer(hash, 32);
}
Vector<uint8_t> String::md5_buffer() const {
CharString cs = utf8();
- MD5_CTX ctx;
- MD5Init(&ctx);
- MD5Update(&ctx, (unsigned char *)cs.ptr(), cs.length());
- MD5Final(&ctx);
+ unsigned char hash[16];
+ CryptoCore::md5((unsigned char *)cs.ptr(), cs.length(), hash);
Vector<uint8_t> ret;
ret.resize(16);
for (int i = 0; i < 16; i++) {
- ret.write[i] = ctx.digest[i];
- };
-
+ ret.write[i] = hash[i];
+ }
return ret;
};
Vector<uint8_t> String::sha256_buffer() const {
CharString cs = utf8();
unsigned char hash[32];
- sha256_context ctx;
- sha256_init(&ctx);
- sha256_hash(&ctx, (unsigned char *)cs.ptr(), cs.length());
- sha256_done(&ctx, hash);
+ CryptoCore::sha256((unsigned char *)cs.ptr(), cs.length(), hash);
Vector<uint8_t> ret;
ret.resize(32);
for (int i = 0; i < 32; i++) {
ret.write[i] = hash[i];
}
-
return ret;
}
@@ -3799,11 +3779,7 @@ bool String::is_valid_filename() const {
return false;
}
- if (find(":") != -1 || find("/") != -1 || find("\\") != -1 || find("?") != -1 || find("*") != -1 || find("\"") != -1 || find("|") != -1 || find("%") != -1 || find("<") != -1 || find(">") != -1) {
- return false;
- } else {
- return true;
- }
+ return !(find(":") != -1 || find("/") != -1 || find("\\") != -1 || find("?") != -1 || find("*") != -1 || find("\"") != -1 || find("|") != -1 || find("%") != -1 || find("<") != -1 || find(">") != -1);
}
bool String::is_valid_ip_address() const {
@@ -3941,7 +3917,6 @@ String String::percent_decode() const {
uint8_t a = LOWERCASE(cs[i + 1]);
uint8_t b = LOWERCASE(cs[i + 2]);
- c = 0;
if (a >= '0' && a <= '9')
c = (a - '0') << 4;
else if (a >= 'a' && a <= 'f')
diff --git a/core/ustring.h b/core/ustring.h
index ecf934a26b..a32daabb91 100644
--- a/core/ustring.h
+++ b/core/ustring.h
@@ -404,8 +404,6 @@ _FORCE_INLINE_ bool is_str_less(const L *l_ptr, const R *r_ptr) {
l_ptr++;
r_ptr++;
}
-
- CRASH_COND(true); // unreachable
}
/* end of namespace */
diff --git a/core/variant.cpp b/core/variant.cpp
index 6eadf59fce..5b51a4e513 100644
--- a/core/variant.cpp
+++ b/core/variant.cpp
@@ -709,7 +709,7 @@ bool Variant::is_zero() const {
// atomic types
case BOOL: {
- return _data._bool == false;
+ return !(_data._bool);
} break;
case INT: {
@@ -1171,8 +1171,6 @@ Variant::operator signed int() const {
return 0;
}
}
-
- return 0;
}
Variant::operator unsigned int() const {
@@ -1188,8 +1186,6 @@ Variant::operator unsigned int() const {
return 0;
}
}
-
- return 0;
}
Variant::operator int64_t() const {
@@ -1206,8 +1202,6 @@ Variant::operator int64_t() const {
return 0;
}
}
-
- return 0;
}
/*
@@ -1244,8 +1238,6 @@ Variant::operator uint64_t() const {
return 0;
}
}
-
- return 0;
}
#ifdef NEED_LONG_INT
@@ -1300,8 +1292,6 @@ Variant::operator signed short() const {
return 0;
}
}
-
- return 0;
}
Variant::operator unsigned short() const {
@@ -1317,8 +1307,6 @@ Variant::operator unsigned short() const {
return 0;
}
}
-
- return 0;
}
Variant::operator signed char() const {
@@ -1334,8 +1322,6 @@ Variant::operator signed char() const {
return 0;
}
}
-
- return 0;
}
Variant::operator unsigned char() const {
@@ -1351,8 +1337,6 @@ Variant::operator unsigned char() const {
return 0;
}
}
-
- return 0;
}
Variant::operator CharType() const {
@@ -1374,8 +1358,6 @@ Variant::operator float() const {
return 0;
}
}
-
- return 0;
}
Variant::operator double() const {
@@ -1391,8 +1373,6 @@ Variant::operator double() const {
return 0;
}
}
-
- return true;
}
Variant::operator StringName() const {
diff --git a/core/variant.h b/core/variant.h
index 5151262f27..a8e99c13f1 100644
--- a/core/variant.h
+++ b/core/variant.h
@@ -248,8 +248,8 @@ public:
Variant(unsigned short p_short);
Variant(signed char p_char); // real one
Variant(unsigned char p_char);
- Variant(int64_t p_char); // real one
- Variant(uint64_t p_char);
+ Variant(int64_t p_int); // real one
+ Variant(uint64_t p_int);
Variant(float p_float);
Variant(double p_double);
Variant(const String &p_string);
@@ -262,11 +262,11 @@ public:
Variant(const Plane &p_plane);
Variant(const ::AABB &p_aabb);
Variant(const Quat &p_quat);
- Variant(const Basis &p_transform);
+ Variant(const Basis &p_matrix);
Variant(const Transform2D &p_transform);
Variant(const Transform &p_transform);
Variant(const Color &p_color);
- Variant(const NodePath &p_path);
+ Variant(const NodePath &p_node_path);
Variant(const RefPtr &p_resource);
Variant(const RID &p_rid);
Variant(const Object *p_object);
@@ -283,17 +283,17 @@ public:
Variant(const PoolVector<Face3> &p_face_array);
Variant(const Vector<Variant> &p_array);
- Variant(const Vector<uint8_t> &p_raw_array);
- Variant(const Vector<int> &p_int_array);
- Variant(const Vector<real_t> &p_real_array);
- Variant(const Vector<String> &p_string_array);
- Variant(const Vector<StringName> &p_string_array);
- Variant(const Vector<Vector3> &p_vector3_array);
- Variant(const Vector<Color> &p_color_array);
+ Variant(const Vector<uint8_t> &p_array);
+ Variant(const Vector<int> &p_array);
+ Variant(const Vector<real_t> &p_array);
+ Variant(const Vector<String> &p_array);
+ Variant(const Vector<StringName> &p_array);
+ Variant(const Vector<Vector3> &p_array);
+ Variant(const Vector<Color> &p_array);
Variant(const Vector<Plane> &p_array); // helper
Variant(const Vector<RID> &p_array); // helper
Variant(const Vector<Vector2> &p_array); // helper
- Variant(const PoolVector<Vector2> &p_array); // helper
+ Variant(const PoolVector<Vector2> &p_vector2_array); // helper
Variant(const IP_Address &p_address);
diff --git a/core/variant_call.cpp b/core/variant_call.cpp
index dc28f1ca02..811008e7c8 100644
--- a/core/variant_call.cpp
+++ b/core/variant_call.cpp
@@ -33,10 +33,10 @@
#include "core/color_names.inc"
#include "core/core_string_names.h"
#include "core/io/compression.h"
+#include "core/math/crypto_core.h"
#include "core/object.h"
#include "core/os/os.h"
#include "core/script_language.h"
-#include "thirdparty/misc/sha256.h"
typedef void (*VariantFunc)(Variant &r_ret, Variant &p_self, const Variant **p_args);
typedef void (*VariantConstructFunc)(Variant &r_ret, const Variant **p_args);
@@ -598,10 +598,7 @@ struct _VariantCall {
PoolByteArray::Read r = ba->read();
String s;
unsigned char hash[32];
- sha256_context sha256;
- sha256_init(&sha256);
- sha256_hash(&sha256, (unsigned char *)r.ptr(), ba->size());
- sha256_done(&sha256, hash);
+ CryptoCore::sha256((unsigned char *)r.ptr(), ba->size(), hash);
s = String::hex_encode_buffer(hash, 32);
r_ret = s;
}
diff --git a/core/variant_op.cpp b/core/variant_op.cpp
index f3c9bcaa7e..d677c7776a 100644
--- a/core/variant_op.cpp
+++ b/core/variant_op.cpp
@@ -2183,7 +2183,8 @@ void Variant::set(const Variant &p_index, const Variant &p_value, bool *r_valid)
return;
}
- return obj->set(p_index, p_value, r_valid);
+ obj->set(p_index, p_value, r_valid);
+ return;
}
} break;
case DICTIONARY: {
diff --git a/core/variant_parser.cpp b/core/variant_parser.cpp
index d7371b0434..d5513bc2d7 100644
--- a/core/variant_parser.cpp
+++ b/core/variant_parser.cpp
@@ -436,8 +436,6 @@ Error VariantParser::_parse_enginecfg(Stream *p_stream, Vector<String> &strings,
line++;
}
}
-
- return OK;
}
template <class T>
@@ -799,8 +797,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream,
}
}
- return OK;
-
} else if (id == "Resource" || id == "SubResource" || id == "ExtResource") {
get_token(p_stream, token, line, r_err_str);
@@ -864,8 +860,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream,
return ERR_PARSE_ERROR;
}
}
-
- return OK;
#ifndef DISABLE_DEPRECATED
} else if (id == "InputEvent") {
@@ -1256,8 +1250,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream,
r_err_str = "Expected value, got " + String(tk_name[token.type]) + ".";
return ERR_PARSE_ERROR;
}
-
- return ERR_PARSE_ERROR;
}
Error VariantParser::_parse_array(Array &array, Stream *p_stream, int &line, String &r_err_str, ResourceParser *p_res_parser) {
@@ -1301,8 +1293,6 @@ Error VariantParser::_parse_array(Array &array, Stream *p_stream, int &line, Str
array.push_back(v);
need_comma = true;
}
-
- return OK;
}
Error VariantParser::_parse_dictionary(Dictionary &object, Stream *p_stream, int &line, String &r_err_str, ResourceParser *p_res_parser) {
@@ -1372,8 +1362,6 @@ Error VariantParser::_parse_dictionary(Dictionary &object, Stream *p_stream, int
at_key = true;
}
}
-
- return OK;
}
Error VariantParser::_parse_tag(Token &token, Stream *p_stream, int &line, String &r_err_str, Tag &r_tag, ResourceParser *p_res_parser, bool p_simple_tag) {
@@ -1557,8 +1545,6 @@ Error VariantParser::parse_tag_assign_eof(Stream *p_stream, int &line, String &r
line++;
}
}
-
- return OK;
}
Error VariantParser::parse(Stream *p_stream, Variant &r_ret, String &r_err_str, int &r_err_line, ResourceParser *p_res_parser) {
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index d36a545c56..0428140908 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -4,7 +4,7 @@
Global scope constants and variables.
</brief_description>
<description>
- Global scope constants and variables. This is all that resides in the globals, constants regarding error codes, scancodes, property hints, etc. It's not much.
+ Global scope constants and variables. This is all that resides in the globals, constants regarding error codes, scancodes, property hints, etc.
Singletons are also documented here, since they can be accessed from anywhere.
</description>
<tutorials>
@@ -13,100 +13,105 @@
</methods>
<members>
<member name="ARVRServer" type="ARVRServer" setter="" getter="">
- [ARVRServer] singleton
+ The [ARVRServer] singleton.
</member>
<member name="AudioServer" type="AudioServer" setter="" getter="">
- [AudioServer] singleton
+ The [AudioServer] singleton.
</member>
<member name="CameraServer" type="CameraServer" setter="" getter="">
- [CameraServer] singleton
+ The [CameraServer] singleton.
</member>
<member name="ClassDB" type="ClassDB" setter="" getter="">
- [ClassDB] singleton
+ The [ClassDB] singleton.
</member>
<member name="Engine" type="Engine" setter="" getter="">
- [Engine] singleton
+ The [Engine] singleton.
</member>
<member name="Geometry" type="Geometry" setter="" getter="">
- [Geometry] singleton
+ The [Geometry] singleton.
</member>
<member name="IP" type="IP" setter="" getter="">
- [IP] singleton
+ The [IP] singleton.
</member>
<member name="Input" type="Input" setter="" getter="">
- [Input] singleton
+ The [Input] singleton.
</member>
<member name="InputMap" type="InputMap" setter="" getter="">
- [InputMap] singleton
+ The [InputMap] singleton.
</member>
<member name="JSON" type="JSON" setter="" getter="">
- [JSON] singleton
+ The [JSON] singleton.
</member>
<member name="JavaScript" type="JavaScript" setter="" getter="">
- [JavaScript] singleton
+ The [JavaScript] singleton.
</member>
<member name="Marshalls" type="Reference" setter="" getter="">
- [Marshalls] singleton
+ The [Marshalls] singleton.
</member>
<member name="NavigationMeshGenerator" type="EditorNavigationMeshGenerator" setter="" getter="">
+ The [EditorNavigationMeshGenerator] singleton.
</member>
<member name="OS" type="OS" setter="" getter="">
- [OS] singleton
+ The [OS] singleton.
</member>
<member name="Performance" type="Performance" setter="" getter="">
- [Performance] singleton
+ The [Performance] singleton.
</member>
<member name="Physics2DServer" type="Physics2DServer" setter="" getter="">
- [Physics2DServer] singleton
+ The [Physics2DServer] singleton.
</member>
<member name="PhysicsServer" type="PhysicsServer" setter="" getter="">
- [PhysicsServer] singleton
+ The [PhysicsServer] singleton.
</member>
<member name="ProjectSettings" type="ProjectSettings" setter="" getter="">
- [ProjectSettings] singleton
+ The [ProjectSettings] singleton.
</member>
<member name="ResourceLoader" type="ResourceLoader" setter="" getter="">
- [ResourceLoader] singleton
+ The [ResourceLoader] singleton.
</member>
<member name="ResourceSaver" type="ResourceSaver" setter="" getter="">
- [ResourceSaver] singleton
+ The [ResourceSaver] singleton.
</member>
<member name="TranslationServer" type="TranslationServer" setter="" getter="">
- [TranslationServer] singleton
+ The [TranslationServer] singleton.
</member>
<member name="VisualScriptEditor" type="VisualScriptEditor" setter="" getter="">
- [VisualScriptEditor] singleton
+ The [VisualScriptEditor] singleton.
</member>
<member name="VisualServer" type="VisualServer" setter="" getter="">
- [VisualServer] singleton
+ The [VisualServer] singleton.
</member>
</members>
<constants>
<constant name="MARGIN_LEFT" value="0" enum="Margin">
- Left margin, used usually for [Control] or [StyleBox] derived classes.
+ Left margin, usually used for [Control] or [StyleBox]-derived classes.
</constant>
<constant name="MARGIN_TOP" value="1" enum="Margin">
- Top margin, used usually for [Control] or [StyleBox] derived classes.
+ Top margin, usually used for [Control] or [StyleBox]-derived classes.
</constant>
<constant name="MARGIN_RIGHT" value="2" enum="Margin">
- Right margin, used usually for [Control] or [StyleBox] derived classes.
+ Right margin, usually used for [Control] or [StyleBox]-derived classes.
</constant>
<constant name="MARGIN_BOTTOM" value="3" enum="Margin">
- Bottom margin, used usually for [Control] or [StyleBox] derived classes.
+ Bottom margin, usually used for [Control] or [StyleBox]-derived classes.
</constant>
<constant name="CORNER_TOP_LEFT" value="0" enum="Corner">
+ Top-left corner.
</constant>
<constant name="CORNER_TOP_RIGHT" value="1" enum="Corner">
+ Top-right corner.
</constant>
<constant name="CORNER_BOTTOM_RIGHT" value="2" enum="Corner">
+ Bottom-right corner.
</constant>
<constant name="CORNER_BOTTOM_LEFT" value="3" enum="Corner">
+ Bottom-left corner.
</constant>
<constant name="VERTICAL" value="1" enum="Orientation">
- General vertical alignment, used usually for [Separator], [ScrollBar], [Slider], etc.
+ General vertical alignment, usually used for [Separator], [ScrollBar], [Slider], etc.
</constant>
<constant name="HORIZONTAL" value="0" enum="Orientation">
- General horizontal alignment, used usually for [Separator], [ScrollBar], [Slider], etc.
+ General horizontal alignment, usually used for [Separator], [ScrollBar], [Slider], etc.
</constant>
<constant name="HALIGN_LEFT" value="0" enum="HAlign">
Horizontal left alignment, usually for text-derived classes.
@@ -127,1248 +132,1324 @@
Vertical bottom alignment, usually for text-derived classes.
</constant>
<constant name="SPKEY" value="16777216">
- Scancodes with this bit applied are non printable.
+ Scancodes with this bit applied are non-printable.
</constant>
<constant name="KEY_ESCAPE" value="16777217" enum="KeyList">
- Escape Key
+ Escape key.
</constant>
<constant name="KEY_TAB" value="16777218" enum="KeyList">
- Tab Key
+ Tab key.
</constant>
<constant name="KEY_BACKTAB" value="16777219" enum="KeyList">
- Shift-Tab Key
+ Shift+Tab key.
</constant>
<constant name="KEY_BACKSPACE" value="16777220" enum="KeyList">
- Backspace Key
+ Backspace key.
</constant>
<constant name="KEY_ENTER" value="16777221" enum="KeyList">
- Return Key (On Main Keyboard)
+ Return key (on the main keyboard).
</constant>
<constant name="KEY_KP_ENTER" value="16777222" enum="KeyList">
- Enter Key (On Numpad)
+ Enter key on the numeric keypad.
</constant>
<constant name="KEY_INSERT" value="16777223" enum="KeyList">
- Insert Key
+ Insert key.
</constant>
<constant name="KEY_DELETE" value="16777224" enum="KeyList">
- Delete Key
+ Delete key.
</constant>
<constant name="KEY_PAUSE" value="16777225" enum="KeyList">
- Pause Key
+ Pause key.
</constant>
<constant name="KEY_PRINT" value="16777226" enum="KeyList">
- Printscreen Key
+ Print Screen key.
</constant>
<constant name="KEY_SYSREQ" value="16777227" enum="KeyList">
- System Request Key
+ System Request key.
</constant>
<constant name="KEY_CLEAR" value="16777228" enum="KeyList">
- Clear Key
+ Clear key.
</constant>
<constant name="KEY_HOME" value="16777229" enum="KeyList">
- Home Key
+ Home key.
</constant>
<constant name="KEY_END" value="16777230" enum="KeyList">
- End Key
+ End key.
</constant>
<constant name="KEY_LEFT" value="16777231" enum="KeyList">
- Left Arrow Key
+ Left arrow key.
</constant>
<constant name="KEY_UP" value="16777232" enum="KeyList">
- Up Arrow Key
+ Up arrow key.
</constant>
<constant name="KEY_RIGHT" value="16777233" enum="KeyList">
- Right Arrow Key
+ Right arrow key.
</constant>
<constant name="KEY_DOWN" value="16777234" enum="KeyList">
- Down Arrow Key
+ Down arrow key.
</constant>
<constant name="KEY_PAGEUP" value="16777235" enum="KeyList">
- Pageup Key
+ Page Up key.
</constant>
<constant name="KEY_PAGEDOWN" value="16777236" enum="KeyList">
- Pagedown Key
+ Page Down key.
</constant>
<constant name="KEY_SHIFT" value="16777237" enum="KeyList">
- Shift Key
+ Shift key.
</constant>
<constant name="KEY_CONTROL" value="16777238" enum="KeyList">
- Control Key
+ Control key.
</constant>
<constant name="KEY_META" value="16777239" enum="KeyList">
- Meta Key
+ Meta key.
</constant>
<constant name="KEY_ALT" value="16777240" enum="KeyList">
- Alt Key
+ Alt key.
</constant>
<constant name="KEY_CAPSLOCK" value="16777241" enum="KeyList">
- Capslock Key
+ Caps Lock key.
</constant>
<constant name="KEY_NUMLOCK" value="16777242" enum="KeyList">
- Numlock Key
+ Num Lock key.
</constant>
<constant name="KEY_SCROLLLOCK" value="16777243" enum="KeyList">
- Scrolllock Key
+ Scroll Lock key.
</constant>
<constant name="KEY_F1" value="16777244" enum="KeyList">
- F1 Key
+ F1 key.
</constant>
<constant name="KEY_F2" value="16777245" enum="KeyList">
- F2 Key
+ F2 key.
</constant>
<constant name="KEY_F3" value="16777246" enum="KeyList">
- F3 Key
+ F3 key.
</constant>
<constant name="KEY_F4" value="16777247" enum="KeyList">
- F4 Key
+ F4 key.
</constant>
<constant name="KEY_F5" value="16777248" enum="KeyList">
- F5 Key
+ F5 key.
</constant>
<constant name="KEY_F6" value="16777249" enum="KeyList">
- F6 Key
+ F6 key.
</constant>
<constant name="KEY_F7" value="16777250" enum="KeyList">
- F7 Key
+ F7 key.
</constant>
<constant name="KEY_F8" value="16777251" enum="KeyList">
- F8 Key
+ F8 key.
</constant>
<constant name="KEY_F9" value="16777252" enum="KeyList">
- F9 Key
+ F9 key.
</constant>
<constant name="KEY_F10" value="16777253" enum="KeyList">
- F10 Key
+ F10 key.
</constant>
<constant name="KEY_F11" value="16777254" enum="KeyList">
- F11 Key
+ F11 key.
</constant>
<constant name="KEY_F12" value="16777255" enum="KeyList">
- F12 Key
+ F12 key.
</constant>
<constant name="KEY_F13" value="16777256" enum="KeyList">
- F13 Key
+ F13 key.
</constant>
<constant name="KEY_F14" value="16777257" enum="KeyList">
- F14 Key
+ F14 key.
</constant>
<constant name="KEY_F15" value="16777258" enum="KeyList">
- F15 Key
+ F15 key.
</constant>
<constant name="KEY_F16" value="16777259" enum="KeyList">
- F16 Key
+ F16 key.
</constant>
<constant name="KEY_KP_MULTIPLY" value="16777345" enum="KeyList">
- Multiply Key on Numpad
+ Multiply (*) key on the numeric keypad.
</constant>
<constant name="KEY_KP_DIVIDE" value="16777346" enum="KeyList">
- Divide Key on Numpad
+ Divide (/) key on the numeric keypad.
</constant>
<constant name="KEY_KP_SUBTRACT" value="16777347" enum="KeyList">
- Subtract Key on Numpad
+ Subtract (-) key on the numeric keypad.
</constant>
<constant name="KEY_KP_PERIOD" value="16777348" enum="KeyList">
- Period Key on Numpad
+ Period (.) key on the numeric keypad.
</constant>
<constant name="KEY_KP_ADD" value="16777349" enum="KeyList">
- Add Key on Numpad
+ Add (+) key on the numeric keypad.
</constant>
<constant name="KEY_KP_0" value="16777350" enum="KeyList">
- Number 0 on Numpad
+ Number 0 on the numeric keypad.
</constant>
<constant name="KEY_KP_1" value="16777351" enum="KeyList">
- Number 1 on Numpad
+ Number 1 on the numeric keypad.
</constant>
<constant name="KEY_KP_2" value="16777352" enum="KeyList">
- Number 2 on Numpad
+ Number 2 on the numeric keypad.
</constant>
<constant name="KEY_KP_3" value="16777353" enum="KeyList">
- Number 3 on Numpad
+ Number 3 on the numeric keypad.
</constant>
<constant name="KEY_KP_4" value="16777354" enum="KeyList">
- Number 4 on Numpad
+ Number 4 on the numeric keypad.
</constant>
<constant name="KEY_KP_5" value="16777355" enum="KeyList">
- Number 5 on Numpad
+ Number 5 on the numeric keypad.
</constant>
<constant name="KEY_KP_6" value="16777356" enum="KeyList">
- Number 6 on Numpad
+ Number 6 on the numeric keypad.
</constant>
<constant name="KEY_KP_7" value="16777357" enum="KeyList">
- Number 7 on Numpad
+ Number 7 on the numeric keypad.
</constant>
<constant name="KEY_KP_8" value="16777358" enum="KeyList">
- Number 8 on Numpad
+ Number 8 on the numeric keypad.
</constant>
<constant name="KEY_KP_9" value="16777359" enum="KeyList">
- Number 9 on Numpad
+ Number 9 on the numeric keypad.
</constant>
<constant name="KEY_SUPER_L" value="16777260" enum="KeyList">
- Left Super Key (Windows Key)
+ Left Super key (Windows key).
</constant>
<constant name="KEY_SUPER_R" value="16777261" enum="KeyList">
- Right Super Key (Windows Key)
+ Right Super key (Windows key).
</constant>
<constant name="KEY_MENU" value="16777262" enum="KeyList">
- Context menu key
+ Context menu key.
</constant>
<constant name="KEY_HYPER_L" value="16777263" enum="KeyList">
- Left Hyper Key
+ Left Hyper key.
</constant>
<constant name="KEY_HYPER_R" value="16777264" enum="KeyList">
- Right Hyper Key
+ Right Hyper key.
</constant>
<constant name="KEY_HELP" value="16777265" enum="KeyList">
- Help key
+ Help key.
</constant>
<constant name="KEY_DIRECTION_L" value="16777266" enum="KeyList">
- Left Direction Key
+ Left Direction key.
</constant>
<constant name="KEY_DIRECTION_R" value="16777267" enum="KeyList">
- Right Direction Key
+ Right Direction key.
</constant>
<constant name="KEY_BACK" value="16777280" enum="KeyList">
- Back key
+ Back key.
</constant>
<constant name="KEY_FORWARD" value="16777281" enum="KeyList">
- Forward key
+ Forward key.
</constant>
<constant name="KEY_STOP" value="16777282" enum="KeyList">
- Stop key
+ Stop key.
</constant>
<constant name="KEY_REFRESH" value="16777283" enum="KeyList">
- Refresh key
+ Refresh key.
</constant>
<constant name="KEY_VOLUMEDOWN" value="16777284" enum="KeyList">
- Volume down key
+ Volume down key.
</constant>
<constant name="KEY_VOLUMEMUTE" value="16777285" enum="KeyList">
- Mute volume key
+ Mute volume key.
</constant>
<constant name="KEY_VOLUMEUP" value="16777286" enum="KeyList">
- Volume up key
+ Volume up key.
</constant>
<constant name="KEY_BASSBOOST" value="16777287" enum="KeyList">
- Bass Boost Key
+ Bass Boost key.
</constant>
<constant name="KEY_BASSUP" value="16777288" enum="KeyList">
- Bass Up Key
+ Bass up key.
</constant>
<constant name="KEY_BASSDOWN" value="16777289" enum="KeyList">
- Bass Down Key
+ Bass down key.
</constant>
<constant name="KEY_TREBLEUP" value="16777290" enum="KeyList">
- Treble Up Key
+ Treble up key.
</constant>
<constant name="KEY_TREBLEDOWN" value="16777291" enum="KeyList">
- Treble Down Key
+ Treble down key.
</constant>
<constant name="KEY_MEDIAPLAY" value="16777292" enum="KeyList">
- Media play key
+ Media play key.
</constant>
<constant name="KEY_MEDIASTOP" value="16777293" enum="KeyList">
- Media stop key
+ Media stop key.
</constant>
<constant name="KEY_MEDIAPREVIOUS" value="16777294" enum="KeyList">
- Previous song key
+ Previous song key.
</constant>
<constant name="KEY_MEDIANEXT" value="16777295" enum="KeyList">
- Next song key
+ Next song key.
</constant>
<constant name="KEY_MEDIARECORD" value="16777296" enum="KeyList">
- Media record key
+ Media record key.
</constant>
<constant name="KEY_HOMEPAGE" value="16777297" enum="KeyList">
- Home page key
+ Home page key.
</constant>
<constant name="KEY_FAVORITES" value="16777298" enum="KeyList">
- Favorites key
+ Favorites key.
</constant>
<constant name="KEY_SEARCH" value="16777299" enum="KeyList">
- Search key
+ Search key.
</constant>
<constant name="KEY_STANDBY" value="16777300" enum="KeyList">
- Standby Key
+ Standby key.
</constant>
<constant name="KEY_OPENURL" value="16777301" enum="KeyList">
- Open URL / Launch Browser Key
+ Open URL / Launch Browser key.
</constant>
<constant name="KEY_LAUNCHMAIL" value="16777302" enum="KeyList">
- Launch Mail Key
+ Launch Mail key.
</constant>
<constant name="KEY_LAUNCHMEDIA" value="16777303" enum="KeyList">
- Launch Media Key
+ Launch Media key.
</constant>
<constant name="KEY_LAUNCH0" value="16777304" enum="KeyList">
- Launch Shortcut 0 Key
+ Launch Shortcut 0 key.
</constant>
<constant name="KEY_LAUNCH1" value="16777305" enum="KeyList">
- Launch Shortcut 1 Key
+ Launch Shortcut 1 key.
</constant>
<constant name="KEY_LAUNCH2" value="16777306" enum="KeyList">
- Launch Shortcut 2 Key
+ Launch Shortcut 2 key.
</constant>
<constant name="KEY_LAUNCH3" value="16777307" enum="KeyList">
- Launch Shortcut 3 Key
+ Launch Shortcut 3 key.
</constant>
<constant name="KEY_LAUNCH4" value="16777308" enum="KeyList">
- Launch Shortcut 4 Key
+ Launch Shortcut 4 key.
</constant>
<constant name="KEY_LAUNCH5" value="16777309" enum="KeyList">
- Launch Shortcut 5 Key
+ Launch Shortcut 5 key.
</constant>
<constant name="KEY_LAUNCH6" value="16777310" enum="KeyList">
- Launch Shortcut 6 Key
+ Launch Shortcut 6 key.
</constant>
<constant name="KEY_LAUNCH7" value="16777311" enum="KeyList">
- Launch Shortcut 7 Key
+ Launch Shortcut 7 key.
</constant>
<constant name="KEY_LAUNCH8" value="16777312" enum="KeyList">
- Launch Shortcut 8 Key
+ Launch Shortcut 8 key.
</constant>
<constant name="KEY_LAUNCH9" value="16777313" enum="KeyList">
- Launch Shortcut 9 Key
+ Launch Shortcut 9 key.
</constant>
<constant name="KEY_LAUNCHA" value="16777314" enum="KeyList">
- Launch Shortcut A Key
+ Launch Shortcut A key.
</constant>
<constant name="KEY_LAUNCHB" value="16777315" enum="KeyList">
- Launch Shortcut B Key
+ Launch Shortcut B key.
</constant>
<constant name="KEY_LAUNCHC" value="16777316" enum="KeyList">
- Launch Shortcut C Key
+ Launch Shortcut C key.
</constant>
<constant name="KEY_LAUNCHD" value="16777317" enum="KeyList">
- Launch Shortcut D Key
+ Launch Shortcut D key.
</constant>
<constant name="KEY_LAUNCHE" value="16777318" enum="KeyList">
- Launch Shortcut E Key
+ Launch Shortcut E key.
</constant>
<constant name="KEY_LAUNCHF" value="16777319" enum="KeyList">
- Launch Shortcut F Key
+ Launch Shortcut F key.
</constant>
<constant name="KEY_UNKNOWN" value="33554431" enum="KeyList">
- Unknown Key
+ Unknown key.
</constant>
<constant name="KEY_SPACE" value="32" enum="KeyList">
- Space Key
+ Space key.
</constant>
<constant name="KEY_EXCLAM" value="33" enum="KeyList">
- ! key
+ ! key.
</constant>
<constant name="KEY_QUOTEDBL" value="34" enum="KeyList">
- " key
+ " key.
</constant>
<constant name="KEY_NUMBERSIGN" value="35" enum="KeyList">
- # key
+ # key.
</constant>
<constant name="KEY_DOLLAR" value="36" enum="KeyList">
- $ key
+ $ key.
</constant>
<constant name="KEY_PERCENT" value="37" enum="KeyList">
- % key
+ % key.
</constant>
<constant name="KEY_AMPERSAND" value="38" enum="KeyList">
- &amp; key
+ &amp; key.
</constant>
<constant name="KEY_APOSTROPHE" value="39" enum="KeyList">
- ' key
+ ' key.
</constant>
<constant name="KEY_PARENLEFT" value="40" enum="KeyList">
- ( key
+ ( key.
</constant>
<constant name="KEY_PARENRIGHT" value="41" enum="KeyList">
- ) key
+ ) key.
</constant>
<constant name="KEY_ASTERISK" value="42" enum="KeyList">
- * key
+ * key.
</constant>
<constant name="KEY_PLUS" value="43" enum="KeyList">
- + key
+ + key.
</constant>
<constant name="KEY_COMMA" value="44" enum="KeyList">
- , key
+ , key.
</constant>
<constant name="KEY_MINUS" value="45" enum="KeyList">
- - key
+ - key.
</constant>
<constant name="KEY_PERIOD" value="46" enum="KeyList">
- . key
+ . key.
</constant>
<constant name="KEY_SLASH" value="47" enum="KeyList">
- / key
+ / key.
</constant>
<constant name="KEY_0" value="48" enum="KeyList">
- Number 0
+ Number 0.
</constant>
<constant name="KEY_1" value="49" enum="KeyList">
- Number 1
+ Number 1.
</constant>
<constant name="KEY_2" value="50" enum="KeyList">
- Number 2
+ Number 2.
</constant>
<constant name="KEY_3" value="51" enum="KeyList">
- Number 3
+ Number 3.
</constant>
<constant name="KEY_4" value="52" enum="KeyList">
- Number 4
+ Number 4.
</constant>
<constant name="KEY_5" value="53" enum="KeyList">
- Number 5
+ Number 5.
</constant>
<constant name="KEY_6" value="54" enum="KeyList">
- Number 6
+ Number 6.
</constant>
<constant name="KEY_7" value="55" enum="KeyList">
- Number 7
+ Number 7.
</constant>
<constant name="KEY_8" value="56" enum="KeyList">
- Number 8
+ Number 8.
</constant>
<constant name="KEY_9" value="57" enum="KeyList">
- Number 9
+ Number 9.
</constant>
<constant name="KEY_COLON" value="58" enum="KeyList">
- : key
+ : key.
</constant>
<constant name="KEY_SEMICOLON" value="59" enum="KeyList">
- ; key
+ ; key.
</constant>
<constant name="KEY_LESS" value="60" enum="KeyList">
- Lower than key
+ &lt; key.
</constant>
<constant name="KEY_EQUAL" value="61" enum="KeyList">
- = key
+ = key.
</constant>
<constant name="KEY_GREATER" value="62" enum="KeyList">
- Greater than key
+ &gt; key.
</constant>
<constant name="KEY_QUESTION" value="63" enum="KeyList">
- ? key
+ ? key.
</constant>
<constant name="KEY_AT" value="64" enum="KeyList">
- @ key
+ @ key.
</constant>
<constant name="KEY_A" value="65" enum="KeyList">
- A Key
+ A key.
</constant>
<constant name="KEY_B" value="66" enum="KeyList">
- B Key
+ B key.
</constant>
<constant name="KEY_C" value="67" enum="KeyList">
- C Key
+ C key.
</constant>
<constant name="KEY_D" value="68" enum="KeyList">
- D Key
+ D key.
</constant>
<constant name="KEY_E" value="69" enum="KeyList">
- E Key
+ E key.
</constant>
<constant name="KEY_F" value="70" enum="KeyList">
- F Key
+ F key.
</constant>
<constant name="KEY_G" value="71" enum="KeyList">
- G Key
+ G key.
</constant>
<constant name="KEY_H" value="72" enum="KeyList">
- H Key
+ H key.
</constant>
<constant name="KEY_I" value="73" enum="KeyList">
- I Key
+ I key.
</constant>
<constant name="KEY_J" value="74" enum="KeyList">
- J Key
+ J key.
</constant>
<constant name="KEY_K" value="75" enum="KeyList">
- K Key
+ K key.
</constant>
<constant name="KEY_L" value="76" enum="KeyList">
- L Key
+ L key.
</constant>
<constant name="KEY_M" value="77" enum="KeyList">
- M Key
+ M key.
</constant>
<constant name="KEY_N" value="78" enum="KeyList">
- N Key
+ N key.
</constant>
<constant name="KEY_O" value="79" enum="KeyList">
- O Key
+ O key.
</constant>
<constant name="KEY_P" value="80" enum="KeyList">
- P Key
+ P key.
</constant>
<constant name="KEY_Q" value="81" enum="KeyList">
- Q Key
+ Q key.
</constant>
<constant name="KEY_R" value="82" enum="KeyList">
- R Key
+ R key.
</constant>
<constant name="KEY_S" value="83" enum="KeyList">
- S Key
+ S key.
</constant>
<constant name="KEY_T" value="84" enum="KeyList">
- T Key
+ T key.
</constant>
<constant name="KEY_U" value="85" enum="KeyList">
- U Key
+ U key.
</constant>
<constant name="KEY_V" value="86" enum="KeyList">
- V Key
+ V key.
</constant>
<constant name="KEY_W" value="87" enum="KeyList">
- W Key
+ W key.
</constant>
<constant name="KEY_X" value="88" enum="KeyList">
- X Key
+ X key.
</constant>
<constant name="KEY_Y" value="89" enum="KeyList">
- Y Key
+ Y key.
</constant>
<constant name="KEY_Z" value="90" enum="KeyList">
- Z Key
+ Z key.
</constant>
<constant name="KEY_BRACKETLEFT" value="91" enum="KeyList">
- [ key
+ [ key.
</constant>
<constant name="KEY_BACKSLASH" value="92" enum="KeyList">
- \ key
+ \ key.
</constant>
<constant name="KEY_BRACKETRIGHT" value="93" enum="KeyList">
- ] key
+ ] key.
</constant>
<constant name="KEY_ASCIICIRCUM" value="94" enum="KeyList">
- ^ key
+ ^ key.
</constant>
<constant name="KEY_UNDERSCORE" value="95" enum="KeyList">
- _ key
+ _ key.
</constant>
<constant name="KEY_QUOTELEFT" value="96" enum="KeyList">
- Left Quote Key
+ ` key.
</constant>
<constant name="KEY_BRACELEFT" value="123" enum="KeyList">
- { key
+ { key.
</constant>
<constant name="KEY_BAR" value="124" enum="KeyList">
- | key
+ | key.
</constant>
<constant name="KEY_BRACERIGHT" value="125" enum="KeyList">
- } key
+ } key.
</constant>
<constant name="KEY_ASCIITILDE" value="126" enum="KeyList">
- ~ key
+ ~ key.
</constant>
<constant name="KEY_NOBREAKSPACE" value="160" enum="KeyList">
+ Non-breakable space key.
</constant>
<constant name="KEY_EXCLAMDOWN" value="161" enum="KeyList">
+ ¡ key.
</constant>
<constant name="KEY_CENT" value="162" enum="KeyList">
- ¢ key
+ ¢ key.
</constant>
<constant name="KEY_STERLING" value="163" enum="KeyList">
+ £ key.
</constant>
<constant name="KEY_CURRENCY" value="164" enum="KeyList">
+ ¤ key.
</constant>
<constant name="KEY_YEN" value="165" enum="KeyList">
- Yen Key
+ ¥ key.
</constant>
<constant name="KEY_BROKENBAR" value="166" enum="KeyList">
- ¦ key
+ ¦ key.
</constant>
<constant name="KEY_SECTION" value="167" enum="KeyList">
- § key
+ § key.
</constant>
<constant name="KEY_DIAERESIS" value="168" enum="KeyList">
- ¨ key
+ ¨ key.
</constant>
<constant name="KEY_COPYRIGHT" value="169" enum="KeyList">
- © key
+ © key.
</constant>
<constant name="KEY_ORDFEMININE" value="170" enum="KeyList">
+ ª key.
</constant>
<constant name="KEY_GUILLEMOTLEFT" value="171" enum="KeyList">
- « key
+ « key.
</constant>
<constant name="KEY_NOTSIGN" value="172" enum="KeyList">
- » key
+ ¬ key.
</constant>
<constant name="KEY_HYPHEN" value="173" enum="KeyList">
- †key
+ Soft hyphen key.
</constant>
<constant name="KEY_REGISTERED" value="174" enum="KeyList">
- ® key
+ ® key.
</constant>
<constant name="KEY_MACRON" value="175" enum="KeyList">
- Macron Key
+ ¯ key.
</constant>
<constant name="KEY_DEGREE" value="176" enum="KeyList">
- ° key
+ ° key.
</constant>
<constant name="KEY_PLUSMINUS" value="177" enum="KeyList">
- ± key
+ ± key.
</constant>
<constant name="KEY_TWOSUPERIOR" value="178" enum="KeyList">
- ² key
+ ² key.
</constant>
<constant name="KEY_THREESUPERIOR" value="179" enum="KeyList">
- ³ key
+ ³ key.
</constant>
<constant name="KEY_ACUTE" value="180" enum="KeyList">
- ´ key
+ ´ key.
</constant>
<constant name="KEY_MU" value="181" enum="KeyList">
- µ key
+ µ key.
</constant>
<constant name="KEY_PARAGRAPH" value="182" enum="KeyList">
- Paragraph Key
+ ¶ key.
</constant>
<constant name="KEY_PERIODCENTERED" value="183" enum="KeyList">
- · key
+ · key.
</constant>
<constant name="KEY_CEDILLA" value="184" enum="KeyList">
- ¬ key
+ ¸ key.
</constant>
<constant name="KEY_ONESUPERIOR" value="185" enum="KeyList">
- ¹ key
+ ¹ key.
</constant>
<constant name="KEY_MASCULINE" value="186" enum="KeyList">
- ♂ key
+ º key.
</constant>
<constant name="KEY_GUILLEMOTRIGHT" value="187" enum="KeyList">
- » key
+ » key.
</constant>
<constant name="KEY_ONEQUARTER" value="188" enum="KeyList">
- ¼ key
+ ¼ key.
</constant>
<constant name="KEY_ONEHALF" value="189" enum="KeyList">
- ½ key
+ ½ key.
</constant>
<constant name="KEY_THREEQUARTERS" value="190" enum="KeyList">
- ¾ key
+ ¾ key.
</constant>
<constant name="KEY_QUESTIONDOWN" value="191" enum="KeyList">
- ¿ key
+ ¿ key.
</constant>
<constant name="KEY_AGRAVE" value="192" enum="KeyList">
- à key
+ À key.
</constant>
<constant name="KEY_AACUTE" value="193" enum="KeyList">
- á key
+ Ã key.
</constant>
<constant name="KEY_ACIRCUMFLEX" value="194" enum="KeyList">
- â key
+ Â key.
</constant>
<constant name="KEY_ATILDE" value="195" enum="KeyList">
- ã key
+ Ã key.
</constant>
<constant name="KEY_ADIAERESIS" value="196" enum="KeyList">
- ä key
+ Ä key.
</constant>
<constant name="KEY_ARING" value="197" enum="KeyList">
- å key
+ Ã… key.
</constant>
<constant name="KEY_AE" value="198" enum="KeyList">
- æ key
+ Æ key.
</constant>
<constant name="KEY_CCEDILLA" value="199" enum="KeyList">
- ç key
+ Ç key.
</constant>
<constant name="KEY_EGRAVE" value="200" enum="KeyList">
- è key
+ È key.
</constant>
<constant name="KEY_EACUTE" value="201" enum="KeyList">
- é key
+ É key.
</constant>
<constant name="KEY_ECIRCUMFLEX" value="202" enum="KeyList">
- ê key
+ Ê key.
</constant>
<constant name="KEY_EDIAERESIS" value="203" enum="KeyList">
- ë key
+ Ë key.
</constant>
<constant name="KEY_IGRAVE" value="204" enum="KeyList">
- ì key
+ Ì key.
</constant>
<constant name="KEY_IACUTE" value="205" enum="KeyList">
- í key
+ Ã key.
</constant>
<constant name="KEY_ICIRCUMFLEX" value="206" enum="KeyList">
- î key
+ ÃŽ key.
</constant>
<constant name="KEY_IDIAERESIS" value="207" enum="KeyList">
- ë key
+ Ã key.
</constant>
<constant name="KEY_ETH" value="208" enum="KeyList">
- ð key
+ Ã key.
</constant>
<constant name="KEY_NTILDE" value="209" enum="KeyList">
- ñ key
+ Ñ key.
</constant>
<constant name="KEY_OGRAVE" value="210" enum="KeyList">
- ò key
+ Ã’ key.
</constant>
<constant name="KEY_OACUTE" value="211" enum="KeyList">
- ó key
+ Ó key.
</constant>
<constant name="KEY_OCIRCUMFLEX" value="212" enum="KeyList">
- ô key
+ Ô key.
</constant>
<constant name="KEY_OTILDE" value="213" enum="KeyList">
- õ key
+ Õ key.
</constant>
<constant name="KEY_ODIAERESIS" value="214" enum="KeyList">
- ö key
+ Ö key.
</constant>
<constant name="KEY_MULTIPLY" value="215" enum="KeyList">
- × key
+ × key.
</constant>
<constant name="KEY_OOBLIQUE" value="216" enum="KeyList">
- ø key
+ Ø key.
</constant>
<constant name="KEY_UGRAVE" value="217" enum="KeyList">
- ù key
+ Ù key.
</constant>
<constant name="KEY_UACUTE" value="218" enum="KeyList">
- ú key
+ Ú key.
</constant>
<constant name="KEY_UCIRCUMFLEX" value="219" enum="KeyList">
- û key
+ Û key.
</constant>
<constant name="KEY_UDIAERESIS" value="220" enum="KeyList">
- ü key
+ Ü key.
</constant>
<constant name="KEY_YACUTE" value="221" enum="KeyList">
- ý key
+ Ã key.
</constant>
<constant name="KEY_THORN" value="222" enum="KeyList">
- þ key
+ Þ key.
</constant>
<constant name="KEY_SSHARP" value="223" enum="KeyList">
- ß key
+ ß key.
</constant>
<constant name="KEY_DIVISION" value="247" enum="KeyList">
- ÷ key
+ ÷ key.
</constant>
<constant name="KEY_YDIAERESIS" value="255" enum="KeyList">
- ÿ key
+ ÿ key.
</constant>
<constant name="KEY_CODE_MASK" value="33554431" enum="KeyModifierMask">
- Key Code Mask
+ Key Code mask.
</constant>
<constant name="KEY_MODIFIER_MASK" value="-16777216" enum="KeyModifierMask">
- Modifier Key Mask
+ Modifier key mask.
</constant>
<constant name="KEY_MASK_SHIFT" value="33554432" enum="KeyModifierMask">
- Shift Key Mask
+ Shift key mask.
</constant>
<constant name="KEY_MASK_ALT" value="67108864" enum="KeyModifierMask">
- Alt Key Mask
+ Alt key mask.
</constant>
<constant name="KEY_MASK_META" value="134217728" enum="KeyModifierMask">
- Meta Key Mask
+ Meta key mask.
</constant>
<constant name="KEY_MASK_CTRL" value="268435456" enum="KeyModifierMask">
- CTRL Key Mask
+ Ctrl key mask.
</constant>
<constant name="KEY_MASK_CMD" value="268435456" enum="KeyModifierMask">
- CMD Key Mask
+ Cmd key mask.
</constant>
<constant name="KEY_MASK_KPAD" value="536870912" enum="KeyModifierMask">
- Keypad Key Mask
+ Keypad key mask.
</constant>
<constant name="KEY_MASK_GROUP_SWITCH" value="1073741824" enum="KeyModifierMask">
- Group Switch Key Mask
+ Group Switch key mask.
</constant>
<constant name="BUTTON_LEFT" value="1" enum="ButtonList">
- Left Mouse Button
+ Left mouse button.
</constant>
<constant name="BUTTON_RIGHT" value="2" enum="ButtonList">
- Right Mouse Button
+ Right mouse button.
</constant>
<constant name="BUTTON_MIDDLE" value="3" enum="ButtonList">
- Middle Mouse Button
+ Middle mouse button.
</constant>
<constant name="BUTTON_XBUTTON1" value="8" enum="ButtonList">
- Extra Mouse Button 1
+ Extra mouse button 1 (only present on some mice).
</constant>
<constant name="BUTTON_XBUTTON2" value="9" enum="ButtonList">
- Extra Mouse Button 2
+ Extra mouse button 2 (only present on some mice).
</constant>
<constant name="BUTTON_WHEEL_UP" value="4" enum="ButtonList">
- Mouse wheel up
+ Mouse wheel up.
</constant>
<constant name="BUTTON_WHEEL_DOWN" value="5" enum="ButtonList">
- Mouse wheel down
+ Mouse wheel down.
</constant>
<constant name="BUTTON_WHEEL_LEFT" value="6" enum="ButtonList">
- Mouse wheel left button
+ Mouse wheel left button (only present on some mice).
</constant>
<constant name="BUTTON_WHEEL_RIGHT" value="7" enum="ButtonList">
- Mouse wheel right button
+ Mouse wheel right button (only present on some mice).
</constant>
<constant name="BUTTON_MASK_LEFT" value="1" enum="ButtonList">
- Left Mouse Button Mask
+ Left mouse button mask.
</constant>
<constant name="BUTTON_MASK_RIGHT" value="2" enum="ButtonList">
- Right Mouse Button Mask
+ Right mouse button mask.
</constant>
<constant name="BUTTON_MASK_MIDDLE" value="4" enum="ButtonList">
- Middle Mouse Button Mask
+ Middle mouse button mask.
</constant>
<constant name="BUTTON_MASK_XBUTTON1" value="128" enum="ButtonList">
- Extra Mouse Button 1 Mask
+ Extra mouse button 1 mask.
</constant>
<constant name="BUTTON_MASK_XBUTTON2" value="256" enum="ButtonList">
- Extra Mouse Button 2 Mask
+ Extra mouse button 2 mask.
</constant>
<constant name="JOY_BUTTON_0" value="0" enum="JoystickList">
- Joypad Button 0
+ Gamepad button 0.
</constant>
<constant name="JOY_BUTTON_1" value="1" enum="JoystickList">
- Joypad Button 1
+ Gamepad button 1.
</constant>
<constant name="JOY_BUTTON_2" value="2" enum="JoystickList">
- Joypad Button 2
+ Gamepad button 2.
</constant>
<constant name="JOY_BUTTON_3" value="3" enum="JoystickList">
- Joypad Button 3
+ Gamepad button 3.
</constant>
<constant name="JOY_BUTTON_4" value="4" enum="JoystickList">
- Joypad Button 4
+ Gamepad button 4.
</constant>
<constant name="JOY_BUTTON_5" value="5" enum="JoystickList">
- Joypad Button 5
+ Gamepad button 5.
</constant>
<constant name="JOY_BUTTON_6" value="6" enum="JoystickList">
- Joypad Button 6
+ Gamepad button 6.
</constant>
<constant name="JOY_BUTTON_7" value="7" enum="JoystickList">
- Joypad Button 7
+ Gamepad button 7.
</constant>
<constant name="JOY_BUTTON_8" value="8" enum="JoystickList">
- Joypad Button 8
+ Gamepad button 8.
</constant>
<constant name="JOY_BUTTON_9" value="9" enum="JoystickList">
- Joypad Button 9
+ Gamepad button 9.
</constant>
<constant name="JOY_BUTTON_10" value="10" enum="JoystickList">
- Joypad Button 10
+ Gamepad button 10.
</constant>
<constant name="JOY_BUTTON_11" value="11" enum="JoystickList">
- Joypad Button 11
+ Gamepad button 11.
</constant>
<constant name="JOY_BUTTON_12" value="12" enum="JoystickList">
- Joypad Button 12
+ Gamepad button 12.
</constant>
<constant name="JOY_BUTTON_13" value="13" enum="JoystickList">
- Joypad Button 13
+ Gamepad button 13.
</constant>
<constant name="JOY_BUTTON_14" value="14" enum="JoystickList">
- Joypad Button 14
+ Gamepad button 14.
</constant>
<constant name="JOY_BUTTON_15" value="15" enum="JoystickList">
- Joypad Button 15
+ Gamepad button 15.
</constant>
<constant name="JOY_BUTTON_MAX" value="16" enum="JoystickList">
- Joypad Button 16
+ Represents the maximum number of joystick buttons supported.
</constant>
<constant name="JOY_SONY_CIRCLE" value="1" enum="JoystickList">
- DUALSHOCK circle button
+ DualShock circle button.
</constant>
<constant name="JOY_SONY_X" value="0" enum="JoystickList">
- DUALSHOCK X button
+ DualShock X button.
</constant>
<constant name="JOY_SONY_SQUARE" value="2" enum="JoystickList">
- DUALSHOCK square button
+ DualShock square button.
</constant>
<constant name="JOY_SONY_TRIANGLE" value="3" enum="JoystickList">
- DUALSHOCK triangle button
+ DualShock triangle button.
</constant>
<constant name="JOY_XBOX_B" value="1" enum="JoystickList">
- XBOX controller B button
+ Xbox controller B button.
</constant>
<constant name="JOY_XBOX_A" value="0" enum="JoystickList">
- XBOX controller A button
+ Xbox controller A button.
</constant>
<constant name="JOY_XBOX_X" value="2" enum="JoystickList">
- XBOX controller X button
+ Xbox controller X button.
</constant>
<constant name="JOY_XBOX_Y" value="3" enum="JoystickList">
- XBOX controller Y button
+ Xbox controller Y button.
</constant>
<constant name="JOY_DS_A" value="1" enum="JoystickList">
- DualShock controller A button
+ Nintendo controller A button.
</constant>
<constant name="JOY_DS_B" value="0" enum="JoystickList">
- DualShock controller B button
+ Nintendo controller B button.
</constant>
<constant name="JOY_DS_X" value="3" enum="JoystickList">
- DualShock controller X button
+ Nintendo controller X button.
</constant>
<constant name="JOY_DS_Y" value="2" enum="JoystickList">
- DualShock controller Y button
+ Nintendo controller Y button.
</constant>
<constant name="JOY_VR_GRIP" value="2" enum="JoystickList">
- Grip (side) buttons on a VR controller
+ Grip (side) buttons on a VR controller.
</constant>
<constant name="JOY_VR_PAD" value="14" enum="JoystickList">
- Push down on the touchpad or main joystick on a VR controller
+ Push down on the touchpad or main joystick on a VR controller.
</constant>
<constant name="JOY_VR_TRIGGER" value="15" enum="JoystickList">
- Trigger on a VR controller
+ Trigger on a VR controller.
</constant>
<constant name="JOY_OCULUS_AX" value="7" enum="JoystickList">
- A button on the right Oculus Touch controller, X button on the left controller (also when used in OpenVR)
+ A button on the right Oculus Touch controller, X button on the left controller (also when used in OpenVR).
</constant>
<constant name="JOY_OCULUS_BY" value="1" enum="JoystickList">
- B button on the right Oculus Touch controller, Y button on the left controller (also when used in OpenVR)
+ B button on the right Oculus Touch controller, Y button on the left controller (also when used in OpenVR).
</constant>
<constant name="JOY_OCULUS_MENU" value="3" enum="JoystickList">
Menu button on either Oculus Touch controller.
</constant>
<constant name="JOY_OPENVR_MENU" value="1" enum="JoystickList">
- Menu button in OpenVR (Except when Oculus Touch controllers are used)
+ Menu button in OpenVR (Except when Oculus Touch controllers are used).
</constant>
<constant name="JOY_SELECT" value="10" enum="JoystickList">
- Joypad Button Select
+ Gamepad button Select.
</constant>
<constant name="JOY_START" value="11" enum="JoystickList">
- Joypad Button Start
+ Gamepad button Start.
</constant>
<constant name="JOY_DPAD_UP" value="12" enum="JoystickList">
- Joypad DPad Up
+ Gamepad DPad up.
</constant>
<constant name="JOY_DPAD_DOWN" value="13" enum="JoystickList">
- Joypad DPad Down
+ Gamepad DPad down.
</constant>
<constant name="JOY_DPAD_LEFT" value="14" enum="JoystickList">
- Joypad DPad Left
+ Gamepad DPad left.
</constant>
<constant name="JOY_DPAD_RIGHT" value="15" enum="JoystickList">
- Joypad DPad Right
+ Gamepad DPad right.
</constant>
<constant name="JOY_L" value="4" enum="JoystickList">
- Joypad Left Shoulder Button
+ Gamepad left Shoulder button.
</constant>
<constant name="JOY_L2" value="6" enum="JoystickList">
- Joypad Left Trigger
+ Gamepad left trigger.
</constant>
<constant name="JOY_L3" value="8" enum="JoystickList">
- Joypad Left Stick Click
+ Gamepad left stick click.
</constant>
<constant name="JOY_R" value="5" enum="JoystickList">
- Joypad Right Shoulder Button
+ Gamepad right Shoulder button.
</constant>
<constant name="JOY_R2" value="7" enum="JoystickList">
- Joypad Right Trigger
+ Gamepad right trigger.
</constant>
<constant name="JOY_R3" value="9" enum="JoystickList">
- Joypad Right Stick Click
+ Gamepad right stick click.
</constant>
<constant name="JOY_AXIS_0" value="0" enum="JoystickList">
- Joypad Left Stick Horizontal Axis
+ Gamepad left stick horizontal axis.
</constant>
<constant name="JOY_AXIS_1" value="1" enum="JoystickList">
- Joypad Left Stick Vertical Axis
+ Gamepad left stick vertical axis.
</constant>
<constant name="JOY_AXIS_2" value="2" enum="JoystickList">
- Joypad Right Stick Horizontal Axis
+ Gamepad right stick horizontal axis.
</constant>
<constant name="JOY_AXIS_3" value="3" enum="JoystickList">
- Joypad Right Stick Vertical Axis
+ Gamepad right stick vertical axis.
</constant>
<constant name="JOY_AXIS_4" value="4" enum="JoystickList">
+ Generic gamepad axis 4.
</constant>
<constant name="JOY_AXIS_5" value="5" enum="JoystickList">
+ Generic gamepad axis 5.
</constant>
<constant name="JOY_AXIS_6" value="6" enum="JoystickList">
- Joypad Left Trigger Analog Axis
+ Gamepad left trigger analog axis.
</constant>
<constant name="JOY_AXIS_7" value="7" enum="JoystickList">
- Joypad Right Trigger Analog Axis
+ Gamepad right trigger analog axis.
</constant>
<constant name="JOY_AXIS_8" value="8" enum="JoystickList">
+ Generic gamepad axis 8.
</constant>
<constant name="JOY_AXIS_9" value="9" enum="JoystickList">
+ Generic gamepad axis 9.
</constant>
<constant name="JOY_AXIS_MAX" value="10" enum="JoystickList">
+ Represents the maximum number of joystick axes supported.
</constant>
<constant name="JOY_ANALOG_LX" value="0" enum="JoystickList">
- Joypad Left Stick Horizontal Axis
+ Gamepad left stick horizontal axis.
</constant>
<constant name="JOY_ANALOG_LY" value="1" enum="JoystickList">
- Joypad Left Stick Vertical Axis
+ Gamepad left stick vertical axis.
</constant>
<constant name="JOY_ANALOG_RX" value="2" enum="JoystickList">
- Joypad Right Stick Horizontal Axis
+ Gamepad right stick horizontal axis.
</constant>
<constant name="JOY_ANALOG_RY" value="3" enum="JoystickList">
- Joypad Right Stick Vertical Axis
+ Gamepad right stick vertical axis.
</constant>
<constant name="JOY_ANALOG_L2" value="6" enum="JoystickList">
- Joypad Left Analog Trigger
+ Gamepad left analog trigger.
</constant>
<constant name="JOY_ANALOG_R2" value="7" enum="JoystickList">
- Joypad Right Analog Trigger
+ Gamepad right analog trigger.
</constant>
<constant name="JOY_VR_ANALOG_TRIGGER" value="2" enum="JoystickList">
- VR Controller Analog Trigger
+ VR Controller analog trigger.
</constant>
<constant name="JOY_VR_ANALOG_GRIP" value="4" enum="JoystickList">
- VR Controller Analog Grip (side buttons)
+ VR Controller analog grip (side buttons).
</constant>
<constant name="JOY_OPENVR_TOUCHPADX" value="0" enum="JoystickList">
- OpenVR touchpad X axis (Joystick axis on Oculus Touch and Windows MR controllers)
+ OpenVR touchpad X axis (Joystick axis on Oculus Touch and Windows MR controllers).
</constant>
<constant name="JOY_OPENVR_TOUCHPADY" value="1" enum="JoystickList">
- OpenVR touchpad Y axis (Joystick axis on Oculus Touch and Windows MR controllers)
+ OpenVR touchpad Y axis (Joystick axis on Oculus Touch and Windows MR controllers).
</constant>
<constant name="MIDI_MESSAGE_NOTE_OFF" value="8" enum="MidiMessageList">
+ MIDI note OFF message.
</constant>
<constant name="MIDI_MESSAGE_NOTE_ON" value="9" enum="MidiMessageList">
+ MIDI note ON message.
</constant>
<constant name="MIDI_MESSAGE_AFTERTOUCH" value="10" enum="MidiMessageList">
+ MIDI aftertouch message.
</constant>
<constant name="MIDI_MESSAGE_CONTROL_CHANGE" value="11" enum="MidiMessageList">
+ MIDI control change message.
</constant>
<constant name="MIDI_MESSAGE_PROGRAM_CHANGE" value="12" enum="MidiMessageList">
+ MIDI program change message.
</constant>
<constant name="MIDI_MESSAGE_CHANNEL_PRESSURE" value="13" enum="MidiMessageList">
+ MIDI channel pressure message.
</constant>
<constant name="MIDI_MESSAGE_PITCH_BEND" value="14" enum="MidiMessageList">
+ MIDI pitch bend message.
</constant>
<constant name="OK" value="0" enum="Error">
- Functions that return Error return OK when no error occurred. Most functions don't return errors and/or just print errors to STDOUT.
+ Methods that return [enum Error] return [constant OK] when no error occurred. Note that many functions don't return an error code but will print error messages to standard output.
+ Since [constant OK] has value 0, and all other failure codes are positive integers, it can also be used in boolean checks, e.g.:
+ [codeblock]
+ var err = method_that_returns_error()
+ if (err != OK):
+ print("Failure!)
+ # Or, equivalent:
+ if (err):
+ print("Still failing!)
+ [/codeblock]
</constant>
<constant name="FAILED" value="1" enum="Error">
Generic error.
</constant>
<constant name="ERR_UNAVAILABLE" value="2" enum="Error">
- Unavailable error
+ Unavailable error.
</constant>
<constant name="ERR_UNCONFIGURED" value="3" enum="Error">
- Unconfigured error
+ Unconfigured error.
</constant>
<constant name="ERR_UNAUTHORIZED" value="4" enum="Error">
- Unauthorized error
+ Unauthorized error.
</constant>
<constant name="ERR_PARAMETER_RANGE_ERROR" value="5" enum="Error">
- Parameter range error
+ Parameter range error.
</constant>
<constant name="ERR_OUT_OF_MEMORY" value="6" enum="Error">
- Out of memory (OOM) error
+ Out of memory (OOM) error.
</constant>
<constant name="ERR_FILE_NOT_FOUND" value="7" enum="Error">
- File: Not found error
+ File: Not found error.
</constant>
<constant name="ERR_FILE_BAD_DRIVE" value="8" enum="Error">
- File: Bad drive error
+ File: Bad drive error.
</constant>
<constant name="ERR_FILE_BAD_PATH" value="9" enum="Error">
- File: Bad path error
+ File: Bad path error.
</constant>
<constant name="ERR_FILE_NO_PERMISSION" value="10" enum="Error">
- File: No permission error
+ File: No permission error.
</constant>
<constant name="ERR_FILE_ALREADY_IN_USE" value="11" enum="Error">
- File: Already in use error
+ File: Already in use error.
</constant>
<constant name="ERR_FILE_CANT_OPEN" value="12" enum="Error">
- File: Can't open error
+ File: Can't open error.
</constant>
<constant name="ERR_FILE_CANT_WRITE" value="13" enum="Error">
- File: Can't write error
+ File: Can't write error.
</constant>
<constant name="ERR_FILE_CANT_READ" value="14" enum="Error">
- File: Can't read error
+ File: Can't read error.
</constant>
<constant name="ERR_FILE_UNRECOGNIZED" value="15" enum="Error">
- File: Unrecognized error
+ File: Unrecognized error.
</constant>
<constant name="ERR_FILE_CORRUPT" value="16" enum="Error">
- File: Corrupt error
+ File: Corrupt error.
</constant>
<constant name="ERR_FILE_MISSING_DEPENDENCIES" value="17" enum="Error">
- File: Missing dependencies error
+ File: Missing dependencies error.
</constant>
<constant name="ERR_FILE_EOF" value="18" enum="Error">
- File: End of file (EOF) error
+ File: End of file (EOF) error.
</constant>
<constant name="ERR_CANT_OPEN" value="19" enum="Error">
- Can't open error
+ Can't open error.
</constant>
<constant name="ERR_CANT_CREATE" value="20" enum="Error">
- Can't create error
- </constant>
- <constant name="ERR_PARSE_ERROR" value="43" enum="Error">
- Parse error
+ Can't create error.
</constant>
<constant name="ERR_QUERY_FAILED" value="21" enum="Error">
- Query failed error
+ Query failed error.
</constant>
<constant name="ERR_ALREADY_IN_USE" value="22" enum="Error">
- Already in use error
+ Already in use error.
</constant>
<constant name="ERR_LOCKED" value="23" enum="Error">
- Locked error
+ Locked error.
</constant>
<constant name="ERR_TIMEOUT" value="24" enum="Error">
- Timeout error
+ Timeout error.
+ </constant>
+ <constant name="ERR_CANT_CONNECT" value="25" enum="Error">
+ Can't connect error.
+ </constant>
+ <constant name="ERR_CANT_RESOLVE" value="26" enum="Error">
+ Can't resolve error.
+ </constant>
+ <constant name="ERR_CONNECTION_ERROR" value="27" enum="Error">
+ Connection error.
</constant>
<constant name="ERR_CANT_ACQUIRE_RESOURCE" value="28" enum="Error">
- Can't acquire resource error
+ Can't acquire resource error.
+ </constant>
+ <constant name="ERR_CANT_FORK" value="29" enum="Error">
+ Can't fork process error.
</constant>
<constant name="ERR_INVALID_DATA" value="30" enum="Error">
- Invalid data error
+ Invalid data error.
</constant>
<constant name="ERR_INVALID_PARAMETER" value="31" enum="Error">
- Invalid parameter error
+ Invalid parameter error.
</constant>
<constant name="ERR_ALREADY_EXISTS" value="32" enum="Error">
- Already exists error
+ Already exists error.
</constant>
<constant name="ERR_DOES_NOT_EXIST" value="33" enum="Error">
- Does not exist error
+ Does not exist error.
</constant>
<constant name="ERR_DATABASE_CANT_READ" value="34" enum="Error">
- Database: Read error
+ Database: Read error.
</constant>
<constant name="ERR_DATABASE_CANT_WRITE" value="35" enum="Error">
- Database: Write error
+ Database: Write error.
</constant>
<constant name="ERR_COMPILATION_FAILED" value="36" enum="Error">
- Compilation failed error
+ Compilation failed error.
</constant>
<constant name="ERR_METHOD_NOT_FOUND" value="37" enum="Error">
- Method not found error
+ Method not found error.
</constant>
<constant name="ERR_LINK_FAILED" value="38" enum="Error">
- Linking failed error
+ Linking failed error.
</constant>
<constant name="ERR_SCRIPT_FAILED" value="39" enum="Error">
- Script failed error
+ Script failed error.
</constant>
<constant name="ERR_CYCLIC_LINK" value="40" enum="Error">
- Cycling link (import cycle) error
+ Cycling link (import cycle) error.
+ </constant>
+ <constant name="ERR_INVALID_DECLARATION" value="41" enum="Error">
+ Invalid declaration error.
+ </constant>
+ <constant name="ERR_DUPLICATE_SYMBOL" value="42" enum="Error">
+ Duplicate symbol error.
+ </constant>
+ <constant name="ERR_PARSE_ERROR" value="43" enum="Error">
+ Parse error.
</constant>
<constant name="ERR_BUSY" value="44" enum="Error">
- Busy error
+ Busy error.
+ </constant>
+ <constant name="ERR_SKIP" value="45" enum="Error">
+ Skip error.
</constant>
<constant name="ERR_HELP" value="46" enum="Error">
- Help error
+ Help error.
</constant>
<constant name="ERR_BUG" value="47" enum="Error">
- Bug error
+ Bug error.
+ </constant>
+ <constant name="ERR_PRINTER_ON_FIRE" value="48" enum="Error">
+ Printer on fire error. (This is an easter egg, no engine methods return this error code.)
</constant>
<constant name="PROPERTY_HINT_NONE" value="0" enum="PropertyHint">
- No hint for edited property.
+ No hint for the edited property.
</constant>
<constant name="PROPERTY_HINT_RANGE" value="1" enum="PropertyHint">
- Hints that the string is a range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
+ Hints that an integer or float property should be within a range specified via the hint string [code]"min,max"[/code] or [code]"min,max,step"[/code]. The hint string can optionally include [code]"allow_greater"[/code] and/or [code]"allow_lesser"[/code] to allow manual input going respectively above the max or below the min values. Example: [code]"-360,360,1,allow_greater,allow_lesser"[/code].
</constant>
<constant name="PROPERTY_HINT_EXP_RANGE" value="2" enum="PropertyHint">
- Hints that the string is an exponential range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
+ Hints that an integer or float property should be within an exponential range specified via the hint string [code]"min,max"[/code] or [code]"min,max,step"[/code]. The hint string can optionally include [code]"allow_greater"[/code] and/or [code]"allow_lesser"[/code] to allow manual input going respectively above the max or below the min values. Example: [code]"0.01,100,0.01,allow_greater"[/code].
</constant>
<constant name="PROPERTY_HINT_ENUM" value="3" enum="PropertyHint">
- Property hint for an enumerated value, like "Hello,Something,Else". This is valid for integer, float and string properties.
+ Hints that an integer, float or string property is an enumerated value to pick in a list specified via a hint string such as [code]"Hello,Something,Else"[/code].
</constant>
<constant name="PROPERTY_HINT_EXP_EASING" value="4" enum="PropertyHint">
+ Hints that a float property should be edited via an exponential easing function. The hint string can include [code]"attenuation"[/code] to flip the curve horizontally and/or [code]"inout"[/code] to also include in/out easing.
</constant>
<constant name="PROPERTY_HINT_LENGTH" value="5" enum="PropertyHint">
+ Deprecated hint, unused.
</constant>
<constant name="PROPERTY_HINT_KEY_ACCEL" value="7" enum="PropertyHint">
+ Deprecated hint, unused.
</constant>
<constant name="PROPERTY_HINT_FLAGS" value="8" enum="PropertyHint">
- Property hint for a bitmask description, for bits 0,1,2,3 and 5 the hint would be like "Bit0,Bit1,Bit2,Bit3,,Bit5". Valid only for integers.
+ Hints that an integer property is a bitmask with named bit flags. For example, to allow toggling bits 0, 1, 2 and 4, the hint could be something like [code]"Bit0,Bit1,Bit2,,Bit4"[/code].
</constant>
<constant name="PROPERTY_HINT_LAYERS_2D_RENDER" value="9" enum="PropertyHint">
+ Hints that an integer property is a bitmask using the optionally named 2D render layers.
</constant>
<constant name="PROPERTY_HINT_LAYERS_2D_PHYSICS" value="10" enum="PropertyHint">
+ Hints that an integer property is a bitmask using the optionally named 2D physics layers.
</constant>
<constant name="PROPERTY_HINT_LAYERS_3D_RENDER" value="11" enum="PropertyHint">
+ Hints that an integer property is a bitmask using the optionally named 3D render layers.
</constant>
<constant name="PROPERTY_HINT_LAYERS_3D_PHYSICS" value="12" enum="PropertyHint">
+ Hints that an integer property is a bitmask using the optionally named 3D physics layers.
</constant>
<constant name="PROPERTY_HINT_FILE" value="13" enum="PropertyHint">
- String property is a file (so pop up a file dialog when edited). Hint string can be a set of wildcards like "*.doc".
+ Hints that a string property is a path to a file. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like [code]"*.png,*.jpg"[/code].
</constant>
<constant name="PROPERTY_HINT_DIR" value="14" enum="PropertyHint">
- String property is a directory (so pop up a file dialog when edited).
+ Hints that a string property is a path to a directory. Editing it will show a file dialog for picking the path.
</constant>
<constant name="PROPERTY_HINT_GLOBAL_FILE" value="15" enum="PropertyHint">
+ Hints that a string property is an absolute path to a file outside the project folder. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like [code]"*.png,*.jpg"[/code].
</constant>
<constant name="PROPERTY_HINT_GLOBAL_DIR" value="16" enum="PropertyHint">
+ Hints that a string property is an absolute path to a directory outside the project folder. Editing it will show a file dialog for picking the path.
</constant>
<constant name="PROPERTY_HINT_RESOURCE_TYPE" value="17" enum="PropertyHint">
- String property is a resource, so open the resource popup menu when edited.
+ Hints that a property is an instance of a [Resource]-derived type, optionally specified via the hint string (e.g. [code]"Texture"[/code]). Editing it will show a popup menu of valid resource types to instantiate.
</constant>
<constant name="PROPERTY_HINT_MULTILINE_TEXT" value="18" enum="PropertyHint">
+ Hints that a string property is text with line breaks. Editing it will show a text input field where line breaks can be typed.
</constant>
<constant name="PROPERTY_HINT_PLACEHOLDER_TEXT" value="19" enum="PropertyHint">
+ Hints that a string property should have a placeholder text visible on its input field, whenever the property is empty. The hint string is the placeholder text to use.
</constant>
<constant name="PROPERTY_HINT_COLOR_NO_ALPHA" value="20" enum="PropertyHint">
+ Hints that a color property should be edited without changing its alpha component, i.e. only R, G and B channels are edited.
</constant>
<constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSY" value="21" enum="PropertyHint">
- Hints that the image is compressed using lossy compression.
+ Hints that an image is compressed using lossy compression.
</constant>
<constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="22" enum="PropertyHint">
- Hints that the image is compressed using lossless compression.
+ Hints that an image is compressed using lossless compression.
</constant>
<constant name="PROPERTY_USAGE_STORAGE" value="1" enum="PropertyUsageFlags">
- Property will be used as storage (default).
+ The property is serialized and saved in the scene file (default).
</constant>
<constant name="PROPERTY_USAGE_EDITOR" value="2" enum="PropertyUsageFlags">
- Property will be visible in editor (default).
+ The property is shown in the editor inspector (default).
</constant>
<constant name="PROPERTY_USAGE_NETWORK" value="4" enum="PropertyUsageFlags">
+ Deprecated usage flag, unused.
</constant>
<constant name="PROPERTY_USAGE_EDITOR_HELPER" value="8" enum="PropertyUsageFlags">
+ Deprecated usage flag, unused.
</constant>
<constant name="PROPERTY_USAGE_CHECKABLE" value="16" enum="PropertyUsageFlags">
+ The property can be checked in the editor inspector.
</constant>
<constant name="PROPERTY_USAGE_CHECKED" value="32" enum="PropertyUsageFlags">
+ The property is checked in the editor inspector.
</constant>
<constant name="PROPERTY_USAGE_INTERNATIONALIZED" value="64" enum="PropertyUsageFlags">
+ The property is a translatable string.
</constant>
<constant name="PROPERTY_USAGE_GROUP" value="128" enum="PropertyUsageFlags">
+ Used to group properties together in the editor.
</constant>
<constant name="PROPERTY_USAGE_CATEGORY" value="256" enum="PropertyUsageFlags">
+ Used to categorize properties together in the editor.
</constant>
<constant name="PROPERTY_USAGE_NO_INSTANCE_STATE" value="2048" enum="PropertyUsageFlags">
+ The property does not save its state in [PackedScene].
</constant>
<constant name="PROPERTY_USAGE_RESTART_IF_CHANGED" value="4096" enum="PropertyUsageFlags">
+ Editing the property prompts the user for restarting the editor.
</constant>
<constant name="PROPERTY_USAGE_SCRIPT_VARIABLE" value="8192" enum="PropertyUsageFlags">
+ The property is a script variable which should be serialized and saved in the scene file.
</constant>
<constant name="PROPERTY_USAGE_DEFAULT" value="7" enum="PropertyUsageFlags">
- Default usage (storage and editor).
+ Default usage (storage, editor and network).
</constant>
<constant name="PROPERTY_USAGE_DEFAULT_INTL" value="71" enum="PropertyUsageFlags">
+ Default usage for translatable strings (storage, editor, network and internationalized).
</constant>
<constant name="PROPERTY_USAGE_NOEDITOR" value="5" enum="PropertyUsageFlags">
+ Default usage but without showing the property in the editor (storage, network).
</constant>
<constant name="METHOD_FLAG_NORMAL" value="1" enum="MethodFlags">
- Flag for normal method
+ Flag for a normal method.
</constant>
<constant name="METHOD_FLAG_EDITOR" value="2" enum="MethodFlags">
- Flag for editor method
+ Flag for an editor method.
</constant>
<constant name="METHOD_FLAG_NOSCRIPT" value="4" enum="MethodFlags">
+ Deprecated method flag, unused.
</constant>
<constant name="METHOD_FLAG_CONST" value="8" enum="MethodFlags">
- Flag for constant method
+ Flag for a constant method.
</constant>
<constant name="METHOD_FLAG_REVERSE" value="16" enum="MethodFlags">
+ Deprecated method flag, unused.
</constant>
<constant name="METHOD_FLAG_VIRTUAL" value="32" enum="MethodFlags">
- Flag for virtual method
+ Flag for a virtual method.
</constant>
<constant name="METHOD_FLAG_FROM_SCRIPT" value="64" enum="MethodFlags">
- Flag for method from script
+ Deprecated method flag, unused.
</constant>
<constant name="METHOD_FLAGS_DEFAULT" value="1" enum="MethodFlags">
- Default method flags
+ Default method flags.
</constant>
<constant name="TYPE_NIL" value="0" enum="Variant.Type">
- Variable is of type nil (only applied for null).
+ Variable is of type [Nil] (only applied for [code]null[/code]).
</constant>
<constant name="TYPE_BOOL" value="1" enum="Variant.Type">
Variable is of type [bool].
@@ -1377,7 +1458,7 @@
Variable is of type [int].
</constant>
<constant name="TYPE_REAL" value="3" enum="Variant.Type">
- Variable is of type [float]/real.
+ Variable is of type [float] (real).
</constant>
<constant name="TYPE_STRING" value="4" enum="Variant.Type">
Variable is of type [String].
@@ -1449,59 +1530,85 @@
Variable is of type [PoolColorArray].
</constant>
<constant name="TYPE_MAX" value="27" enum="Variant.Type">
- Marker for end of type constants.
+ Represents the size of the [enum Variant.Type] enum.
</constant>
<constant name="OP_EQUAL" value="0" enum="Variant.Operator">
+ Equality operator ([code]==[/code]).
</constant>
<constant name="OP_NOT_EQUAL" value="1" enum="Variant.Operator">
+ Inequality operator ([code]!=[/code]).
</constant>
<constant name="OP_LESS" value="2" enum="Variant.Operator">
+ Less than operator ([code]&lt;[/code]).
</constant>
<constant name="OP_LESS_EQUAL" value="3" enum="Variant.Operator">
+ Less than or equal operator ([code]&lt;=[/code]).
</constant>
<constant name="OP_GREATER" value="4" enum="Variant.Operator">
+ Greater than operator ([code]&gt;[/code]).
</constant>
<constant name="OP_GREATER_EQUAL" value="5" enum="Variant.Operator">
+ Greater than or equal operator ([code]&gt;=[/code]).
</constant>
<constant name="OP_ADD" value="6" enum="Variant.Operator">
+ Addition operator ([code]+[/code]).
</constant>
<constant name="OP_SUBTRACT" value="7" enum="Variant.Operator">
+ Subtraction operator ([code]-[/code]).
</constant>
<constant name="OP_MULTIPLY" value="8" enum="Variant.Operator">
+ Multiplication operator ([code]*[/code]).
</constant>
<constant name="OP_DIVIDE" value="9" enum="Variant.Operator">
+ Division operator ([code]/[/code]).
</constant>
<constant name="OP_NEGATE" value="10" enum="Variant.Operator">
+ Unary negation operator ([code]-[/code]).
</constant>
<constant name="OP_POSITIVE" value="11" enum="Variant.Operator">
+ Unary plus operator ([code]+[/code]).
</constant>
<constant name="OP_MODULE" value="12" enum="Variant.Operator">
+ Remainder/modulo operator ([code]%[/code]).
</constant>
<constant name="OP_STRING_CONCAT" value="13" enum="Variant.Operator">
+ String concatenation operator ([code]+[/code]).
</constant>
<constant name="OP_SHIFT_LEFT" value="14" enum="Variant.Operator">
+ Left shift operator ([code]&lt;&lt;[/code]).
</constant>
<constant name="OP_SHIFT_RIGHT" value="15" enum="Variant.Operator">
+ Right shift operator ([code]&gt;&gt;[/code]).
</constant>
<constant name="OP_BIT_AND" value="16" enum="Variant.Operator">
+ Bitwise AND operator ([code]&amp;[/code]).
</constant>
<constant name="OP_BIT_OR" value="17" enum="Variant.Operator">
+ Bitwise OR operator ([code]|[/code]).
</constant>
<constant name="OP_BIT_XOR" value="18" enum="Variant.Operator">
+ Bitwise XOR operator ([code]^[/code]).
</constant>
<constant name="OP_BIT_NEGATE" value="19" enum="Variant.Operator">
+ Bitwise NOT operator ([code]~[/code]).
</constant>
<constant name="OP_AND" value="20" enum="Variant.Operator">
+ Logical AND operator ([code]and[/code] or [code]&amp;&amp;[/code]).
</constant>
<constant name="OP_OR" value="21" enum="Variant.Operator">
+ Logical OR operator ([code]or[/code] or [code]||[/code]).
</constant>
<constant name="OP_XOR" value="22" enum="Variant.Operator">
+ Logical XOR operator (not implemented in GDScript).
</constant>
<constant name="OP_NOT" value="23" enum="Variant.Operator">
+ Logical NOT operator ([code]not[/code] or [code]![/code]).
</constant>
<constant name="OP_IN" value="24" enum="Variant.Operator">
+ Logical IN operator ([code]in[/code]).
</constant>
<constant name="OP_MAX" value="25" enum="Variant.Operator">
+ Represents the size of the [enum Variant.Operator] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml
index 8ec07e4d5c..7dcfa5345d 100644
--- a/doc/classes/AABB.xml
+++ b/doc/classes/AABB.xml
@@ -187,13 +187,13 @@
</method>
</methods>
<members>
- <member name="end" type="Vector3" setter="" getter="">
+ <member name="end" type="Vector3" setter="" getter="" default="Vector3( 0, 0, 0 )">
Ending corner.
</member>
- <member name="position" type="Vector3" setter="" getter="">
+ <member name="position" type="Vector3" setter="" getter="" default="Vector3( 0, 0, 0 )">
Beginning corner.
</member>
- <member name="size" type="Vector3" setter="" getter="">
+ <member name="size" type="Vector3" setter="" getter="" default="Vector3( 0, 0, 0 )">
Size from position to end.
</member>
</members>
diff --git a/doc/classes/ARVRAnchor.xml b/doc/classes/ARVRAnchor.xml
index 91f44151fa..2177ed8930 100644
--- a/doc/classes/ARVRAnchor.xml
+++ b/doc/classes/ARVRAnchor.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRAnchor" inherits="Spatial" category="Core" version="3.2">
<brief_description>
- Anchor point in AR Space.
+ An anchor point in AR space.
</brief_description>
<description>
The ARVR Anchor point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them.
- This node is mapped to one of the anchors through its unique id. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the id and the nodes will simply remain on 0,0,0 until a plane is recognised.
+ This node is mapped to one of the anchors through its unique ID. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the ID; the nodes will simply remain on 0,0,0 until a plane is recognized.
Keep in mind that, as long as plane detection is enabled, the size, placing and orientation of an anchor will be updated as the detection logic learns more about the real world out there especially if only part of the surface is in view.
</description>
<tutorials>
@@ -22,14 +22,14 @@
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if the anchor is being tracked and [code]false[/code] if no anchor with this id is currently known.
+ Returns [code]true[/code] if the anchor is being tracked and [code]false[/code] if no anchor with this ID is currently known.
</description>
</method>
<method name="get_mesh" qualifiers="const">
<return type="Mesh">
</return>
<description>
- If provided by the ARVR Interface this returns a mesh object for the anchor. For an anchor this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes.
+ If provided by the ARVR Interface, this returns a mesh object for the anchor. For an anchor, this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes.
</description>
</method>
<method name="get_plane" qualifiers="const">
@@ -48,8 +48,8 @@
</method>
</methods>
<members>
- <member name="anchor_id" type="int" setter="set_anchor_id" getter="get_anchor_id">
- The anchor's id. You can set this before the anchor itself exists. The first anchor gets an id of [code]1[/code], the second an id of [code]2[/code], etc. When anchors get removed, the engine can then assign the corresponding id to new anchors. The most common situation where anchors 'disappear' is when the AR server identifies that two anchors represent different parts of the same plane and merges them.
+ <member name="anchor_id" type="int" setter="set_anchor_id" getter="get_anchor_id" default="1">
+ The anchor's ID. You can set this before the anchor itself exists. The first anchor gets an ID of [code]1[/code], the second an ID of [code]2[/code], etc. When anchors get removed, the engine can then assign the corresponding ID to new anchors. The most common situation where anchors "disappear" is when the AR server identifies that two anchors represent different parts of the same plane and merges them.
</member>
</members>
<signals>
@@ -57,7 +57,7 @@
<argument index="0" name="mesh" type="Mesh">
</argument>
<description>
- Emitted when the mesh associated with the anchor changes or when one becomes available. This is especially important for topology that is constantly being mesh_updated.
+ Emitted when the mesh associated with the anchor changes or when one becomes available. This is especially important for topology that is constantly being [code]mesh_updated[/code].
</description>
</signal>
</signals>
diff --git a/doc/classes/ARVRController.xml b/doc/classes/ARVRController.xml
index c2b7fb2c08..9c6cfc1d7d 100644
--- a/doc/classes/ARVRController.xml
+++ b/doc/classes/ARVRController.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRController" inherits="Spatial" category="Core" version="3.2">
<brief_description>
- A spatial node representing a spatially tracked controller.
+ A spatial node representing a spatially-tracked controller.
</brief_description>
<description>
This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy passthroughs to the state of buttons and such on the controllers.
- Controllers are linked by their id. You can create controller nodes before the controllers are available. Say your game always uses two controllers (one for each hand) you can predefine the controllers with id 1 and 2 and they will become active as soon as the controllers are identified. If you expect additional controllers to be used, you should react to the signals and add ARVRController nodes to your scene.
- The position of the controller node is automatically updated by the ARVR Server. This makes this node ideal to add child nodes to visualise the controller.
+ Controllers are linked by their ID. You can create controller nodes before the controllers are available. If your game always uses two controllers (one for each hand), you can predefine the controllers with ID 1 and 2; they will become active as soon as the controllers are identified. If you expect additional controllers to be used, you should react to the signals and add ARVRController nodes to your scene.
+ The position of the controller node is automatically updated by the [ARVRServer]. This makes this node ideal to add child nodes to visualize the controller.
</description>
<tutorials>
</tutorials>
@@ -22,7 +22,7 @@
<return type="int" enum="ARVRPositionalTracker.TrackerHand">
</return>
<description>
- Returns the hand holding this controller, if known. See TRACKER_* constants in [ARVRPositionalTracker].
+ Returns the hand holding this controller, if known. See [code]TRACKER_*[/code] constants in [ARVRPositionalTracker].
</description>
</method>
<method name="get_is_active" qualifiers="const">
@@ -45,14 +45,14 @@
<return type="int">
</return>
<description>
- Returns the ID of the joystick object bound to this. Every controller tracked by the ARVR Server that has buttons and axis will also be registered as a joystick within Godot. This means that all the normal joystick tracking and input mapping will work for buttons and axis found on the AR/VR controllers. This ID is purely offered as information so you can link up the controller with its joystick entry.
+ Returns the ID of the joystick object bound to this. Every controller tracked by the [ARVRServer] that has buttons and axis will also be registered as a joystick within Godot. This means that all the normal joystick tracking and input mapping will work for buttons and axis found on the AR/VR controllers. This ID is purely offered as information so you can link up the controller with its joystick entry.
</description>
</method>
<method name="get_mesh" qualifiers="const">
<return type="Mesh">
</return>
<description>
- If provided by the ARVR Interface this returns a mesh associated with the controller. This can be used to visualise the controller.
+ If provided by the [ARVRInterface], this returns a mesh associated with the controller. This can be used to visualize the controller.
</description>
</method>
<method name="is_button_pressed" qualifiers="const">
@@ -66,13 +66,13 @@
</method>
</methods>
<members>
- <member name="controller_id" type="int" setter="set_controller_id" getter="get_controller_id">
- The controller's id.
- A controller id of 0 is unbound and will always result in an inactive node. Controller id 1 is reserved for the first controller that identifies itself as the left hand controller and id 2 is reserved for the first controller that identifies itself as the right hand controller.
- For any other controller that the [ARVRServer] detects, we continue with controller id 3.
- When a controller is turned off, its slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off.
+ <member name="controller_id" type="int" setter="set_controller_id" getter="get_controller_id" default="1">
+ The controller's ID.
+ A controller ID of 0 is unbound and will always result in an inactive node. Controller ID 1 is reserved for the first controller that identifies itself as the left-hand controller and ID 2 is reserved for the first controller that identifies itself as the right-hand controller.
+ For any other controller that the [ARVRServer] detects, we continue with controller ID 3.
+ When a controller is turned off, its slot is freed. This ensures controllers will keep the same ID even when controllers with lower IDs are turned off.
</member>
- <member name="rumble" type="float" setter="set_rumble" getter="get_rumble">
+ <member name="rumble" type="float" setter="set_rumble" getter="get_rumble" default="0.0">
The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to [code]1.0[/code] with precision [code].01[/code]. If changed, updates [member ARVRPositionalTracker.rumble] accordingly.
</member>
</members>
diff --git a/doc/classes/ARVRInterface.xml b/doc/classes/ARVRInterface.xml
index c286811b5d..1da1351e49 100644
--- a/doc/classes/ARVRInterface.xml
+++ b/doc/classes/ARVRInterface.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRInterface" inherits="Reference" category="Core" version="3.2">
<brief_description>
- Base class for ARVR interface implementation.
+ Base class for an AR/VR interface implementation.
</brief_description>
<description>
This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDNative modules (note that for GDNative the subclass ARVRScriptInterface should be used). Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform.
- Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through ARVRServer.
+ Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through [ARVRServer].
</description>
<tutorials>
</tutorials>
@@ -14,7 +14,7 @@
<return type="int">
</return>
<description>
- If this is an AR interface that requires displaying a camera feed as the background, this method returns the feed id in the [CameraServer] for this interface.
+ If this is an AR interface that requires displaying a camera feed as the background, this method returns the feed ID in the [CameraServer] for this interface.
</description>
</method>
<method name="get_capabilities" qualifiers="const">
@@ -51,9 +51,9 @@
<description>
Call this to initialize this interface. The first interface that is initialized is identified as the primary interface and it will be used for rendering output.
After initializing the interface you want to use you then need to enable the AR/VR mode of a viewport and rendering should commence.
- Note that you must enable the AR/VR mode on the main viewport for any device that uses the main output of Godot such as for mobile VR.
- If you do this for a platform that handles its own output (such as OpenVR) Godot will show just one eye without distortion on screen. Alternatively you can add a separate viewport node to your scene and enable AR/VR on that viewport and it will be used to output to the HMD leaving you free to do anything you like in the main window such as using a separate camera as a spectator camera or render out something completely different.
- While currently not used you can activate additional interfaces, you may wish to do this if you want to track controllers from other platforms. However at this point in time only one interface can render to an HMD.
+ [b]Note:[/b] You must enable the AR/VR mode on the main viewport for any device that uses the main output of Godot such as for mobile VR.
+ If you do this for a platform that handles its own output (such as OpenVR) Godot will show just one eye without distortion on screen. Alternatively, you can add a separate viewport node to your scene and enable AR/VR on that viewport and it will be used to output to the HMD leaving you free to do anything you like in the main window such as using a separate camera as a spectator camera or render out something completely different.
+ While currently not used you can activate additional interfaces, you may wish to do this if you want to track controllers from other platforms. However, at this point in time only one interface can render to an HMD.
</description>
</method>
<method name="is_stereo">
@@ -72,13 +72,13 @@
</method>
</methods>
<members>
- <member name="ar_is_anchor_detection_enabled" type="bool" setter="set_anchor_detection_is_enabled" getter="get_anchor_detection_is_enabled">
+ <member name="ar_is_anchor_detection_enabled" type="bool" setter="set_anchor_detection_is_enabled" getter="get_anchor_detection_is_enabled" default="false">
On an AR interface, is our anchor detection enabled?
</member>
- <member name="interface_is_initialized" type="bool" setter="set_is_initialized" getter="is_initialized">
+ <member name="interface_is_initialized" type="bool" setter="set_is_initialized" getter="is_initialized" default="false">
Has this interface been initialized?
</member>
- <member name="interface_is_primary" type="bool" setter="set_is_primary" getter="is_primary">
+ <member name="interface_is_primary" type="bool" setter="set_is_primary" getter="is_primary" default="false">
Is this our primary interface?
</member>
</members>
@@ -96,7 +96,7 @@
This interface support AR (video background and real world tracking).
</constant>
<constant name="ARVR_EXTERNAL" value="8" enum="Capabilities">
- This interface outputs to an external device, if the main viewport is used the on screen output is an unmodified buffer of either the left or right eye (stretched if the viewport size is not changed to the same aspect ratio of get_render_targetsize. Using a separate viewport node frees up the main viewport for other purposes.
+ This interface outputs to an external device, if the main viewport is used the on screen output is an unmodified buffer of either the left or right eye (stretched if the viewport size is not changed to the same aspect ratio of [method get_render_targetsize]). Using a separate viewport node frees up the main viewport for other purposes.
</constant>
<constant name="EYE_MONO" value="0" enum="Eyes">
Mono output, this is mostly used internally when retrieving positioning information for our camera node or when stereo scopic rendering is not supported.
@@ -111,10 +111,10 @@
Tracking is behaving as expected.
</constant>
<constant name="ARVR_EXCESSIVE_MOTION" value="1" enum="Tracking_status">
- Tracking is hindered by excessive motion, player is moving faster then tracking can keep up.
+ Tracking is hindered by excessive motion, player is moving faster than tracking can keep up.
</constant>
<constant name="ARVR_INSUFFICIENT_FEATURES" value="2" enum="Tracking_status">
- Tracking is hindered by insufficient features, it's too dark (for camera based tracking), player is blocked, etc.
+ Tracking is hindered by insufficient features, it's too dark (for camera-based tracking), player is blocked, etc.
</constant>
<constant name="ARVR_UNKNOWN_TRACKING" value="3" enum="Tracking_status">
We don't know the status of the tracking or this interface does not provide feedback.
diff --git a/doc/classes/ARVROrigin.xml b/doc/classes/ARVROrigin.xml
index 758f00a9ca..b6b55741aa 100644
--- a/doc/classes/ARVROrigin.xml
+++ b/doc/classes/ARVROrigin.xml
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVROrigin" inherits="Spatial" category="Core" version="3.2">
<brief_description>
- Our origin point in AR/VR.
+ The origin point in AR/VR.
</brief_description>
<description>
This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world.
There should be only one of these nodes in your scene and you must have one. All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct children of this node for spatial tracking to work correctly.
It is the position of this node that you update when your character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point.
- So say that your character is driving a car, the ARVROrigin node should be a child node of this car. If you implement a teleport system to move your character, you change the position of this node. Etc.
+ For example, if your character is driving a car, the ARVROrigin node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="world_scale" type="float" setter="set_world_scale" getter="get_world_scale">
- Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 meter in the real world.
- Note that this method is a passthrough to the [ARVRServer] itself.
+ <member name="world_scale" type="float" setter="set_world_scale" getter="get_world_scale" default="1.0">
+ Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter.
+ [b]Note:[/b] This method is a passthrough to the [ARVRServer] itself.
</member>
</members>
<constants>
diff --git a/doc/classes/ARVRPositionalTracker.xml b/doc/classes/ARVRPositionalTracker.xml
index de8b6b0620..5551d48a08 100644
--- a/doc/classes/ARVRPositionalTracker.xml
+++ b/doc/classes/ARVRPositionalTracker.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRPositionalTracker" inherits="Object" category="Core" version="3.2">
<brief_description>
- A tracked object
+ A tracked object.
</brief_description>
<description>
- An instance of this object represents a device that is tracked such as a controller or anchor point. HMDs aren't represented here as they are fully handled internally.
- As controllers are turned on and the AR/VR interface detects them instances of this object are automatically added to this list of active tracking objects accessible through the ARVRServer
- The ARVRController and ARVRAnchor both consume objects of this type and should be the objects you use in game. The positional trackers are just the under the hood objects that make this all work and are mostly exposed so GDNative based interfaces can interact with them.
+ An instance of this object represents a device that is tracked, such as a controller or anchor point. HMDs aren't represented here as they are handled internally.
+ As controllers are turned on and the AR/VR interface detects them, instances of this object are automatically added to this list of active tracking objects accessible through the [ARVRServer].
+ The [ARVRController] and [ARVRAnchor] both consume objects of this type and should be used in your project. The positional trackers are just under-the-hood objects that make this all work. These are mostly exposed so that GDNative-based interfaces can interact with them.
</description>
<tutorials>
</tutorials>
@@ -15,14 +15,14 @@
<return type="int" enum="ARVRPositionalTracker.TrackerHand">
</return>
<description>
- Returns the hand holding this tracker, if known. See TRACKER_* constants.
+ Returns the hand holding this tracker, if known. See [code]TRACKER_*[/code] constants.
</description>
</method>
<method name="get_joy_id" qualifiers="const">
<return type="int">
</return>
<description>
- If this is a controller that is being tracked the controller will also be represented by a joystick entry with this id.
+ If this is a controller that is being tracked, the controller will also be represented by a joystick entry with this ID.
</description>
</method>
<method name="get_mesh" qualifiers="const">
@@ -85,7 +85,7 @@
</method>
</methods>
<members>
- <member name="rumble" type="float" setter="set_rumble" getter="get_rumble">
+ <member name="rumble" type="float" setter="set_rumble" getter="get_rumble" default="0.0">
The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to [code]1.0[/code] with precision [code].01[/code].
</member>
</members>
diff --git a/doc/classes/ARVRServer.xml b/doc/classes/ARVRServer.xml
index 6f5a76943f..af1a1b0fff 100644
--- a/doc/classes/ARVRServer.xml
+++ b/doc/classes/ARVRServer.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRServer" inherits="Object" category="Core" version="3.2">
<brief_description>
- This is our AR/VR Server.
+ The AR/VR server.
</brief_description>
<description>
- The AR/VR Server is the heart of our AR/VR solution and handles all the processing.
+ The AR/VR server is the heart of our AR/VR solution and handles all the processing.
</description>
<tutorials>
</tutorials>
@@ -17,12 +17,12 @@
<argument index="1" name="keep_height" type="bool">
</argument>
<description>
- This is a really important function to understand correctly. AR and VR platforms all handle positioning slightly differently.
- For platforms that do not offer spatial tracking our origin point (0,0,0) is the location of our HMD but you have little control over the direction the player is facing in the real world.
- For platforms that do offer spatial tracking our origin point depends very much on the system. For OpenVR our origin point is usually the center of the tracking space, on the ground. For other platforms its often the location of the tracking camera.
- This method allows you to center our tracker on the location of the HMD, it will take the current location of the HMD and use that to adjust all our tracking data in essence realigning the real world to your players current position in your game world.
- For this method to produce usable results tracking information should be available and this often takes a few frames after starting your game.
- You should call this method after a few seconds have passed, when the user requests a realignment of the display holding a designated button on a controller for a short period of time, and when implementing a teleport mechanism.
+ This is an important function to understand correctly. AR and VR platforms all handle positioning slightly differently.
+ For platforms that do not offer spatial tracking, our origin point (0,0,0) is the location of our HMD, but you have little control over the direction the player is facing in the real world.
+ For platforms that do offer spatial tracking, our origin point depends very much on the system. For OpenVR, our origin point is usually the center of the tracking space, on the ground. For other platforms, it's often the location of the tracking camera.
+ This method allows you to center your tracker on the location of the HMD. It will take the current location of the HMD and use that to adjust all your tracking data; in essence, realigning the real world to your player's current position in the game world.
+ For this method to produce usable results, tracking information must be available. This often takes a few frames after starting your game.
+ You should call this method after a few seconds have passed. For instance, when the user requests a realignment of the display holding a designated button on a controller for a short period of time, or when implementing a teleport mechanism.
</description>
</method>
<method name="find_interface" qualifiers="const">
@@ -31,7 +31,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Find an interface by its name. Say that you're making a game that uses specific capabilities of an AR/VR platform you can find the interface for that platform by name and initialize it.
+ Finds an interface by its name. For instance, if your project uses capabilities of an AR/VR platform, you can find the interface for that platform by name and initialize it.
</description>
</method>
<method name="get_hmd_transform">
@@ -47,21 +47,21 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the interface registered at a given index in our list of interfaces.
+ Gets the interface registered at a given index in our list of interfaces.
</description>
</method>
<method name="get_interface_count" qualifiers="const">
<return type="int">
</return>
<description>
- Get the number of interfaces currently registered with the AR/VR server. If your game supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try an initialize each interface and use the first one that returns [code]true[/code].
+ Gets the number of interfaces currently registered with the AR/VR server. If your project supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try to initialize each interface and use the first one that returns [code]true[/code].
</description>
</method>
<method name="get_interfaces" qualifiers="const">
<return type="Array">
</return>
<description>
- Returns a list of available interfaces with both id and name of the interface.
+ Returns a list of available interfaces the ID and name of each interface.
</description>
</method>
<method name="get_last_commit_usec">
@@ -86,7 +86,7 @@
<return type="Transform">
</return>
<description>
- Gets our reference frame transform, mostly used internally and exposed for GDNative build interfaces.
+ Gets the reference frame transform. Mostly used internally and exposed for GDNative build interfaces.
</description>
</method>
<method name="get_tracker" qualifiers="const">
@@ -95,22 +95,22 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the positional tracker at the given ID.
+ Gets the positional tracker at the given ID.
</description>
</method>
<method name="get_tracker_count" qualifiers="const">
<return type="int">
</return>
<description>
- Get the number of trackers currently registered.
+ Gets the number of trackers currently registered.
</description>
</method>
</methods>
<members>
- <member name="primary_interface" type="ARVRInterface" setter="set_primary_interface" getter="get_primary_interface">
+ <member name="primary_interface" type="ARVRInterface" setter="set_primary_interface" getter="get_primary_interface" default="null">
</member>
- <member name="world_scale" type="float" setter="set_world_scale" getter="get_world_scale">
- Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 meter in the real world.
+ <member name="world_scale" type="float" setter="set_world_scale" getter="get_world_scale" default="1.0">
+ Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter.
</member>
</members>
<signals>
@@ -118,14 +118,14 @@
<argument index="0" name="interface_name" type="String">
</argument>
<description>
- Signal send when a new interface has been added.
+ Emitted when a new interface has been added.
</description>
</signal>
<signal name="interface_removed">
<argument index="0" name="interface_name" type="String">
</argument>
<description>
- Signal send when an interface is removed.
+ Emitted when an interface is removed.
</description>
</signal>
<signal name="tracker_added">
@@ -136,7 +136,7 @@
<argument index="2" name="id" type="int">
</argument>
<description>
- Signal send when a new tracker has been added. If you don't use a fixed number of controllers or if you're using ARVRAnchors for an AR solution it is important to react to this signal and add the appropriate ARVRController or ARVRAnchor node related to this new tracker.
+ Emitted when a new tracker has been added. If you don't use a fixed number of controllers or if you're using [ARVRAnchor]s for an AR solution, it is important to react to this signal to add the appropriate [ARVRController] or [ARVRAnchor] nodes related to this new tracker.
</description>
</signal>
<signal name="tracker_removed">
@@ -147,19 +147,19 @@
<argument index="2" name="id" type="int">
</argument>
<description>
- Signal send when a tracker is removed, you should remove any ARVRController or ARVRAnchor points if applicable. This is not mandatory, the nodes simply become inactive and will be made active again when a new tracker becomes available (i.e. a new controller is switched on that takes the place of the previous one).
+ Emitted when a tracker is removed. You should remove any [ARVRController] or [ARVRAnchor] points if applicable. This is not mandatory, the nodes simply become inactive and will be made active again when a new tracker becomes available (i.e. a new controller is switched on that takes the place of the previous one).
</description>
</signal>
</signals>
<constants>
<constant name="TRACKER_CONTROLLER" value="1" enum="TrackerType">
- Our tracker tracks the location of a controller.
+ The tracker tracks the location of a controller.
</constant>
<constant name="TRACKER_BASESTATION" value="2" enum="TrackerType">
- Our tracker tracks the location of a base station.
+ The tracker tracks the location of a base station.
</constant>
<constant name="TRACKER_ANCHOR" value="4" enum="TrackerType">
- Our tracker tracks the location and size of an AR anchor.
+ The tracker tracks the location and size of an AR anchor.
</constant>
<constant name="TRACKER_ANY_KNOWN" value="127" enum="TrackerType">
Used internally to filter trackers of any known type.
diff --git a/doc/classes/AStar.xml b/doc/classes/AStar.xml
index 81722535c2..99e2db6d83 100644
--- a/doc/classes/AStar.xml
+++ b/doc/classes/AStar.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
A* (A star) is a computer algorithm that is widely used in pathfinding and graph traversal, the process of plotting an efficiently directed path between multiple points. It enjoys widespread use due to its performance and accuracy. Godot's A* implementation make use of vectors as points.
- You must add points manually with [method AStar.add_point] and create segments manually with [method AStar.connect_points]. So you can test if there is a path between two points with the [method AStar.are_points_connected] function, get the list of existing ids in the found path with [method AStar.get_id_path], or the points list with [method AStar.get_point_path].
+ You must add points manually with [method add_point] and create segments manually with [method connect_points]. So you can test if there is a path between two points with the [method are_points_connected] function, get the list of existing ids in the found path with [method get_id_path], or the points list with [method get_point_path].
</description>
<tutorials>
</tutorials>
@@ -47,7 +47,7 @@
var as = AStar.new()
as.add_point(1, Vector3(1, 0, 0), 4) # Adds the point (1, 0, 0) with weight_scale 4 and id 1
[/codeblock]
- If there already exists a point for the given id, its position and weight scale are updated to the given values.
+ If there already exists a point for the given [code]id[/code], its position and weight scale are updated to the given values.
</description>
</method>
<method name="are_points_connected" qualifiers="const">
@@ -102,7 +102,7 @@
<return type="int">
</return>
<description>
- Returns the next available point id with no point associated to it.
+ Returns the next available point ID with no point associated to it.
</description>
</method>
<method name="get_closest_point" qualifiers="const">
@@ -111,7 +111,7 @@
<argument index="0" name="to_position" type="Vector3">
</argument>
<description>
- Returns the id of the closest point to [code]to_position[/code]. Returns -1 if there are no points in the points pool.
+ Returns the ID of the closest point to [code]to_position[/code]. Returns -1 if there are no points in the points pool.
</description>
</method>
<method name="get_closest_position_in_segment" qualifiers="const">
@@ -126,7 +126,7 @@
as.add_point(1, Vector3(0, 0, 0))
as.add_point(2, Vector3(0, 5, 0))
as.connect_points(1, 2)
- var res = as.get_closest_position_in_segment(Vector3(3, 3, 0)) # returns (0, 3, 0)
+ var res = as.get_closest_position_in_segment(Vector3(3, 3, 0)) # Returns (0, 3, 0)
[/codeblock]
The result is in the segment that goes from [code]y = 0[/code] to [code]y = 5[/code]. It's the closest position in the segment to the given point.
</description>
@@ -139,11 +139,11 @@
<argument index="1" name="to_id" type="int">
</argument>
<description>
- Returns an array with the ids of the points that form the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
+ Returns an array with the IDs of the points that form the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
[codeblock]
var as = AStar.new()
as.add_point(1, Vector3(0, 0, 0))
- as.add_point(2, Vector3(0, 1, 0), 1) # default weight is 1
+ as.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1
as.add_point(3, Vector3(1, 1, 0))
as.add_point(4, Vector3(2, 0, 0))
@@ -153,7 +153,7 @@
as.connect_points(1, 4, false)
as.connect_points(5, 4, false)
- var res = as.get_id_path(1, 3) # returns [1, 2, 3]
+ var res = as.get_id_path(1, 3) # Returns [1, 2, 3]
[/codeblock]
If you change the 2nd point's weight to 3, then the result will be [code][1, 4, 3][/code] instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2.
</description>
@@ -164,7 +164,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns an array with the ids of the points that form the connect with the given point.
+ Returns an array with the IDs of the points that form the connection with the given point.
[codeblock]
var as = AStar.new()
as.add_point(1, Vector3(0, 0, 0))
@@ -175,7 +175,7 @@
as.connect_points(1, 2, true)
as.connect_points(1, 3, true)
- var neighbors = as.get_point_connections(1) # returns [2, 3]
+ var neighbors = as.get_point_connections(1) # Returns [2, 3]
[/codeblock]
</description>
</method>
@@ -196,7 +196,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the position of the point associated with the given id.
+ Returns the position of the point associated with the given [code]id[/code].
</description>
</method>
<method name="get_point_weight_scale" qualifiers="const">
@@ -205,7 +205,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the weight scale of the point associated with the given id.
+ Returns the weight scale of the point associated with the given [code]id[/code].
</description>
</method>
<method name="get_points">
@@ -221,7 +221,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns whether a point associated with the given id exists.
+ Returns whether a point associated with the given [code]id[/code] exists.
</description>
</method>
<method name="is_point_disabled" qualifiers="const">
@@ -239,7 +239,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Removes the point associated with the given id from the points pool.
+ Removes the point associated with the given [code]id[/code] from the points pool.
</description>
</method>
<method name="set_point_disabled">
@@ -261,7 +261,7 @@
<argument index="1" name="position" type="Vector3">
</argument>
<description>
- Sets the position for the point with the given id.
+ Sets the [code]position[/code] for the point with the given [code]id[/code].
</description>
</method>
<method name="set_point_weight_scale">
@@ -272,7 +272,7 @@
<argument index="1" name="weight_scale" type="float">
</argument>
<description>
- Sets the [code]weight_scale[/code] for the point with the given id.
+ Sets the [code]weight_scale[/code] for the point with the given [code]id[/code].
</description>
</method>
</methods>
diff --git a/doc/classes/AStar2D.xml b/doc/classes/AStar2D.xml
index b86e53d4d4..526d1c16da 100644
--- a/doc/classes/AStar2D.xml
+++ b/doc/classes/AStar2D.xml
@@ -24,7 +24,7 @@
var as = AStar2D.new()
as.add_point(1, Vector2(1, 0), 4) # Adds the point (1, 0) with weight_scale 4 and id 1
[/codeblock]
- If there already exists a point for the given id, its position and weight scale are updated to the given values.
+ If there already exists a point for the given [code]id[/code], its position and weight scale are updated to the given values.
</description>
</method>
<method name="are_points_connected" qualifiers="const">
@@ -79,7 +79,7 @@
<return type="int">
</return>
<description>
- Returns the next available point id with no point associated to it.
+ Returns the next available point ID with no point associated to it.
</description>
</method>
<method name="get_closest_point" qualifiers="const">
@@ -88,7 +88,7 @@
<argument index="0" name="to_position" type="Vector2">
</argument>
<description>
- Returns the id of the closest point to [code]to_position[/code]. Returns -1 if there are no points in the points pool.
+ Returns the ID of the closest point to [code]to_position[/code]. Returns -1 if there are no points in the points pool.
</description>
</method>
<method name="get_closest_position_in_segment" qualifiers="const">
@@ -103,7 +103,7 @@
as.add_point(1, Vector2(0, 0))
as.add_point(2, Vector2(0, 5))
as.connect_points(1, 2)
- var res = as.get_closest_position_in_segment(Vector2(3, 3)) # returns (0, 3)
+ var res = as.get_closest_position_in_segment(Vector2(3, 3)) # Returns (0, 3)
[/codeblock]
The result is in the segment that goes from [code]y = 0[/code] to [code]y = 5[/code]. It's the closest position in the segment to the given point.
</description>
@@ -116,11 +116,11 @@
<argument index="1" name="to_id" type="int">
</argument>
<description>
- Returns an array with the ids of the points that form the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
+ Returns an array with the IDs of the points that form the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
[codeblock]
var as = AStar2D.new()
as.add_point(1, Vector2(0, 0))
- as.add_point(2, Vector2(0, 1), 1) # default weight is 1
+ as.add_point(2, Vector2(0, 1), 1) # Default weight is 1
as.add_point(3, Vector2(1, 1))
as.add_point(4, Vector2(2, 0))
@@ -130,7 +130,7 @@
as.connect_points(1, 4, false)
as.connect_points(5, 4, false)
- var res = as.get_id_path(1, 3) # returns [1, 2, 3]
+ var res = as.get_id_path(1, 3) # Returns [1, 2, 3]
[/codeblock]
If you change the 2nd point's weight to 3, then the result will be [code][1, 4, 3][/code] instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2.
</description>
@@ -141,7 +141,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns an array with the ids of the points that form the connect with the given point.
+ Returns an array with the IDs of the points that form the connection with the given point.
[codeblock]
var as = AStar2D.new()
as.add_point(1, Vector2(0, 0))
@@ -152,7 +152,7 @@
as.connect_points(1, 2, true)
as.connect_points(1, 3, true)
- var neighbors = as.get_point_connections(1) # returns [2, 3]
+ var neighbors = as.get_point_connections(1) # Returns [2, 3]
[/codeblock]
</description>
</method>
@@ -173,7 +173,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the position of the point associated with the given id.
+ Returns the position of the point associated with the given [code]id[/code].
</description>
</method>
<method name="get_point_weight_scale" qualifiers="const">
@@ -182,7 +182,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the weight scale of the point associated with the given id.
+ Returns the weight scale of the point associated with the given [code]id[/code].
</description>
</method>
<method name="get_points">
@@ -198,7 +198,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns whether a point associated with the given id exists.
+ Returns whether a point associated with the given [code]id[/code] exists.
</description>
</method>
<method name="is_point_disabled" qualifiers="const">
@@ -216,7 +216,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Removes the point associated with the given id from the points pool.
+ Removes the point associated with the given [code]id[/code] from the points pool.
</description>
</method>
<method name="set_point_disabled">
@@ -238,7 +238,7 @@
<argument index="1" name="position" type="Vector2">
</argument>
<description>
- Sets the position for the point with the given id.
+ Sets the [code]position[/code] for the point with the given [code]id[/code].
</description>
</method>
<method name="set_point_weight_scale">
@@ -249,7 +249,7 @@
<argument index="1" name="weight_scale" type="float">
</argument>
<description>
- Sets the [code]weight_scale[/code] for the point with the given id.
+ Sets the [code]weight_scale[/code] for the point with the given [code]id[/code].
</description>
</method>
</methods>
diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml
index 3ea280cba3..980adb4fca 100644
--- a/doc/classes/AcceptDialog.xml
+++ b/doc/classes/AcceptDialog.xml
@@ -19,8 +19,8 @@
<argument index="2" name="action" type="String" default="&quot;&quot;">
</argument>
<description>
- Adds a button with label [i]text[/i] and a custom [i]action[/i] to the dialog and returns the created button. [i]action[/i] will be passed to the [signal custom_action] signal when pressed.
- If [code]true[/code], [i]right[/i] will place the button to the right of any sibling buttons. Default value: [code]false[/code].
+ Adds a button with label [code]text[/code] and a custom [code]action[/code] to the dialog and returns the created button. [code]action[/code] will be passed to the [signal custom_action] signal when pressed.
+ If [code]true[/code], [code]right[/code] will place the button to the right of any sibling buttons.
</description>
</method>
<method name="add_cancel">
@@ -29,7 +29,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Adds a button with label [i]name[/i] and a cancel action to the dialog and returns the created button.
+ Adds a button with label [code]name[/code] and a cancel action to the dialog and returns the created button.
</description>
</method>
<method name="get_label">
@@ -43,7 +43,7 @@
<return type="Button">
</return>
<description>
- Returns the OK Button.
+ Returns the OK [Button] instance.
</description>
</method>
<method name="register_text_enter">
@@ -57,14 +57,14 @@
</method>
</methods>
<members>
- <member name="dialog_autowrap" type="bool" setter="set_autowrap" getter="has_autowrap">
+ <member name="dialog_autowrap" type="bool" setter="set_autowrap" getter="has_autowrap" default="false">
Sets autowrapping for the text in the dialog.
</member>
- <member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok">
- If [code]true[/code], the dialog is hidden when the OK button is pressed. You can set it to [code]false[/code] if you want to do e.g. input validation when receiving the [signal confirmed] signal, and handle hiding the dialog in your own logic. Default value: [code]true[/code].
- Note: Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example [FileDialog] defaults to [code]false[/code], and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such this property can't be used in [FileDialog] to disable hiding the dialog when pressing OK.
+ <member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok" default="true">
+ If [code]true[/code], the dialog is hidden when the OK button is pressed. You can set it to [code]false[/code] if you want to do e.g. input validation when receiving the [signal confirmed] signal, and handle hiding the dialog in your own logic.
+ [b]Note:[/b] Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example [FileDialog] defaults to [code]false[/code], and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such, this property can't be used in [FileDialog] to disable hiding the dialog when pressing OK.
</member>
- <member name="dialog_text" type="String" setter="set_text" getter="get_text">
+ <member name="dialog_text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
The text displayed by the dialog.
</member>
</members>
diff --git a/doc/classes/AnimatedSprite.xml b/doc/classes/AnimatedSprite.xml
index da85f91367..72d1fa4881 100644
--- a/doc/classes/AnimatedSprite.xml
+++ b/doc/classes/AnimatedSprite.xml
@@ -13,7 +13,7 @@
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if an animation if currently being played.
+ Returns [code]true[/code] if an animation is currently being played.
</description>
</method>
<method name="play">
@@ -24,43 +24,43 @@
<argument index="1" name="backwards" type="bool" default="false">
</argument>
<description>
- Play the animation set in parameter. If no parameter is provided, the current animation is played. Property [code]backwards[/code] plays the animation in reverse if set to [code]true[/code].
+ Plays the animation named [code]anim[/code]. If no [code]anim[/code] is provided, the current animation is played. If [code]backwards[/code] is [code]true[/code], the animation will be played in reverse.
</description>
</method>
<method name="stop">
<return type="void">
</return>
<description>
- Stop the current animation (does not reset the frame counter).
+ Stops the current animation (does not reset the frame counter).
</description>
</method>
</methods>
<members>
- <member name="animation" type="String" setter="set_animation" getter="get_animation">
+ <member name="animation" type="String" setter="set_animation" getter="get_animation" default="&quot;default&quot;">
The current animation from the [code]frames[/code] resource. If this value changes, the [code]frame[/code] counter is reset.
</member>
- <member name="centered" type="bool" setter="set_centered" getter="is_centered">
- If [code]true[/code], texture will be centered. Default value: [code]true[/code].
+ <member name="centered" type="bool" setter="set_centered" getter="is_centered" default="true">
+ If [code]true[/code], texture will be centered.
</member>
- <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h">
- If [code]true[/code], texture is flipped horizontally. Default value: [code]false[/code].
+ <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false">
+ If [code]true[/code], texture is flipped horizontally.
</member>
- <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v">
- If [code]true[/code], texture is flipped vertically. Default value: [code]false[/code].
+ <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v" default="false">
+ If [code]true[/code], texture is flipped vertically.
</member>
- <member name="frame" type="int" setter="set_frame" getter="get_frame">
+ <member name="frame" type="int" setter="set_frame" getter="get_frame" default="0">
The displayed animation frame's index.
</member>
- <member name="frames" type="SpriteFrames" setter="set_sprite_frames" getter="get_sprite_frames">
+ <member name="frames" type="SpriteFrames" setter="set_sprite_frames" getter="get_sprite_frames" default="null">
The [SpriteFrames] resource containing the animation(s).
</member>
- <member name="offset" type="Vector2" setter="set_offset" getter="get_offset">
+ <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
The texture's drawing offset.
</member>
- <member name="playing" type="bool" setter="_set_playing" getter="_is_playing">
+ <member name="playing" type="bool" setter="_set_playing" getter="_is_playing" default="false">
If [code]true[/code], the [member animation] is currently playing.
</member>
- <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale">
+ <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
The animation speed is multiplied by this value.
</member>
</members>
diff --git a/doc/classes/AnimatedSprite3D.xml b/doc/classes/AnimatedSprite3D.xml
index 96196f7601..ff7d2fb9eb 100644
--- a/doc/classes/AnimatedSprite3D.xml
+++ b/doc/classes/AnimatedSprite3D.xml
@@ -13,7 +13,7 @@
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if an animation if currently being played.
+ Returns [code]true[/code] if an animation is currently being played.
</description>
</method>
<method name="play">
@@ -22,28 +22,28 @@
<argument index="0" name="anim" type="String" default="&quot;&quot;">
</argument>
<description>
- Play the animation set in parameter. If no parameter is provided, the current animation is played.
+ Plays the animation named [code]anim[/code]. If no [code]anim[/code] is provided, the current animation is played.
</description>
</method>
<method name="stop">
<return type="void">
</return>
<description>
- Stop the current animation (does not reset the frame counter).
+ Stops the current animation (does not reset the frame counter).
</description>
</method>
</methods>
<members>
- <member name="animation" type="String" setter="set_animation" getter="get_animation">
+ <member name="animation" type="String" setter="set_animation" getter="get_animation" default="&quot;default&quot;">
The current animation from the [code]frames[/code] resource. If this value changes, the [code]frame[/code] counter is reset.
</member>
- <member name="frame" type="int" setter="set_frame" getter="get_frame">
+ <member name="frame" type="int" setter="set_frame" getter="get_frame" default="0">
The displayed animation frame's index.
</member>
- <member name="frames" type="SpriteFrames" setter="set_sprite_frames" getter="get_sprite_frames">
+ <member name="frames" type="SpriteFrames" setter="set_sprite_frames" getter="get_sprite_frames" default="null">
The [SpriteFrames] resource containing the animation(s).
</member>
- <member name="playing" type="bool" setter="_set_playing" getter="_is_playing">
+ <member name="playing" type="bool" setter="_set_playing" getter="_is_playing" default="false">
If [code]true[/code], the [member animation] is currently playing.
</member>
</members>
diff --git a/doc/classes/AnimatedTexture.xml b/doc/classes/AnimatedTexture.xml
index 2009139474..7e32db1bb8 100644
--- a/doc/classes/AnimatedTexture.xml
+++ b/doc/classes/AnimatedTexture.xml
@@ -61,12 +61,12 @@
</method>
</methods>
<members>
- <member name="fps" type="float" setter="set_fps" getter="get_fps">
- Animation speed in frames per second. This value defines the default time interval between two frames of the animation, and thus the overall duration of the animation loop based on the [member frames] property. A value of 0 means no predefined number of frames per second, the animation will play according to each frame's frame delay (see [method set_frame_delay]). Default value: 4.
+ <member name="fps" type="float" setter="set_fps" getter="get_fps" default="4.0">
+ Animation speed in frames per second. This value defines the default time interval between two frames of the animation, and thus the overall duration of the animation loop based on the [member frames] property. A value of 0 means no predefined number of frames per second, the animation will play according to each frame's frame delay (see [method set_frame_delay]).
For example, an animation with 8 frames, no frame delay and a [code]fps[/code] value of 2 will run for 4 seconds, with each frame lasting 0.5 seconds.
</member>
- <member name="frames" type="int" setter="set_frames" getter="get_frames">
- Number of frames to use in the animation. While you can create the frames independently with [method set_frame_texture], you need to set this value for the animation to take new frames into account. The maximum number of frames is [constant MAX_FRAMES]. Default value: 1.
+ <member name="frames" type="int" setter="set_frames" getter="get_frames" default="1">
+ Number of frames to use in the animation. While you can create the frames independently with [method set_frame_texture], you need to set this value for the animation to take new frames into account. The maximum number of frames is [constant MAX_FRAMES].
</member>
</members>
<constants>
diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml
index c79903cb80..bc64cfbb19 100644
--- a/doc/classes/Animation.xml
+++ b/doc/classes/Animation.xml
@@ -28,7 +28,7 @@
<argument index="1" name="at_position" type="int" default="-1">
</argument>
<description>
- Add a track to the Animation. The track type must be specified as any of the values in the TYPE_* enumeration.
+ Adds a track to the Animation.
</description>
</method>
<method name="animation_track_get_key_animation" qualifiers="const">
@@ -314,7 +314,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Remove a track by specifying the track index.
+ Removes a track by specifying the track index.
</description>
</method>
<method name="track_find_key" qualifiers="const">
@@ -327,7 +327,7 @@
<argument index="2" name="exact" type="bool" default="false">
</argument>
<description>
- Find the key index by time in a given track. Optionally, only find it if the exact time is given.
+ Finds the key index by time in a given track. Optionally, only find it if the exact time is given.
</description>
</method>
<method name="track_get_interpolation_loop_wrap" qualifiers="const">
@@ -336,7 +336,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns [code]true[/code] if the track at [code]idx[/code] wraps the interpolation loop. Default value: [code]true[/code].
+ Returns [code]true[/code] if the track at [code]idx[/code] wraps the interpolation loop. New tracks wrap the interpolation loop by default.
</description>
</method>
<method name="track_get_interpolation_type" qualifiers="const">
@@ -345,7 +345,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the interpolation type of a given track, from the INTERPOLATION_* enum.
+ Returns the interpolation type of a given track.
</description>
</method>
<method name="track_get_key_count" qualifiers="const">
@@ -376,7 +376,7 @@
<argument index="1" name="key_idx" type="int">
</argument>
<description>
- Returns the transition curve (easing) for a specific key (see built-in math function "ease").
+ Returns the transition curve (easing) for a specific key (see the built-in math function [method @GDScript.ease]).
</description>
</method>
<method name="track_get_key_value" qualifiers="const">
@@ -396,7 +396,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the path of a track. for more information on the path format, see [method track_set_path]
+ Gets the path of a track. For more information on the path format, see [method track_set_path].
</description>
</method>
<method name="track_get_type" qualifiers="const">
@@ -405,7 +405,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the type of a track.
+ Gets the type of a track.
</description>
</method>
<method name="track_insert_key">
@@ -447,7 +447,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Move a track down.
+ Moves a track down.
</description>
</method>
<method name="track_move_to">
@@ -467,7 +467,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Move a track up.
+ Moves a track up.
</description>
</method>
<method name="track_remove_key">
@@ -478,7 +478,7 @@
<argument index="1" name="key_idx" type="int">
</argument>
<description>
- Remove a key by index in a given track.
+ Removes a key by index in a given track.
</description>
</method>
<method name="track_remove_key_at_position">
@@ -489,7 +489,7 @@
<argument index="1" name="position" type="float">
</argument>
<description>
- Remove a key by position (seconds) in a given track.
+ Removes a key by position (seconds) in a given track.
</description>
</method>
<method name="track_set_enabled">
@@ -511,7 +511,7 @@
<argument index="1" name="imported" type="bool">
</argument>
<description>
- Set the given track as imported or not.
+ Sets the given track as imported or not.
</description>
</method>
<method name="track_set_interpolation_loop_wrap">
@@ -533,7 +533,7 @@
<argument index="1" name="interpolation" type="int" enum="Animation.InterpolationType">
</argument>
<description>
- Set the interpolation type of a given track, from the INTERPOLATION_* enum.
+ Sets the interpolation type of a given track.
</description>
</method>
<method name="track_set_key_time">
@@ -546,7 +546,7 @@
<argument index="2" name="time" type="float">
</argument>
<description>
- Set the time of an existing key.
+ Sets the time of an existing key.
</description>
</method>
<method name="track_set_key_transition">
@@ -559,7 +559,7 @@
<argument index="2" name="transition" type="float">
</argument>
<description>
- Set the transition curve (easing) for a specific key (see built-in math function "ease").
+ Sets the transition curve (easing) for a specific key (see the built-in math function [method @GDScript.ease]).
</description>
</method>
<method name="track_set_key_value">
@@ -572,7 +572,7 @@
<argument index="2" name="value" type="Variant">
</argument>
<description>
- Set the value of an existing key.
+ Sets the value of an existing key.
</description>
</method>
<method name="track_set_path">
@@ -583,8 +583,8 @@
<argument index="1" name="path" type="NodePath">
</argument>
<description>
- Set the path of a track. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by ":".
- [b]Example:[/b] "character/skeleton:ankle" or "character/mesh:transform/local".
+ Sets the path of a track. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by [code]":"[/code].
+ For example, [code]"character/skeleton:ankle"[/code] or [code]"character/mesh:transform/local"[/code].
</description>
</method>
<method name="track_swap">
@@ -656,18 +656,19 @@
<argument index="1" name="mode" type="int" enum="Animation.UpdateMode">
</argument>
<description>
- Set the update mode (UPDATE_*) of a value track.
+ Sets the update mode ([code]UPDATE_*[/code]) of a value track.
</description>
</method>
</methods>
<members>
- <member name="length" type="float" setter="set_length" getter="get_length">
- The total length of the animation (in seconds). Note that length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
+ <member name="length" type="float" setter="set_length" getter="get_length" default="1.0">
+ The total length of the animation (in seconds).
+ [b]Note:[/b] Length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
</member>
- <member name="loop" type="bool" setter="set_loop" getter="has_loop">
+ <member name="loop" type="bool" setter="set_loop" getter="has_loop" default="false">
A flag indicating that the animation must loop. This is uses for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.
</member>
- <member name="step" type="float" setter="set_step" getter="get_step">
+ <member name="step" type="float" setter="set_step" getter="get_step" default="0.1">
The animation step value.
</member>
</members>
@@ -682,7 +683,7 @@
Value tracks set values in node properties, but only those which can be Interpolated.
</constant>
<constant name="TYPE_TRANSFORM" value="1" enum="TrackType">
- Transform tracks are used to change node local transforms or skeleton pose bones. Transitions are Interpolated.
+ Transform tracks are used to change node local transforms or skeleton pose bones. Transitions are interpolated.
</constant>
<constant name="TYPE_METHOD" value="2" enum="TrackType">
Method tracks call functions with given arguments per key.
diff --git a/doc/classes/AnimationNode.xml b/doc/classes/AnimationNode.xml
index 23f7a316d9..7d5d8a2db1 100644
--- a/doc/classes/AnimationNode.xml
+++ b/doc/classes/AnimationNode.xml
@@ -4,7 +4,7 @@
Base resource for [AnimationTree] nodes.
</brief_description>
<description>
- Base resource for [AnimationTree] nodes. In general it's not used directly but you can create custom ones with custom blending formulas.
+ Base resource for [AnimationTree] nodes. In general, it's not used directly, but you can create custom ones with custom blending formulas.
Inherit this when creating nodes mainly for use in [AnimationNodeBlendTree], otherwise [AnimationRootNode] should be used instead.
</description>
<tutorials>
@@ -16,7 +16,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Add an input to the node. This is only useful for nodes created for use in an [AnimationNodeBlendTree]
+ Adds an input to the node. This is only useful for nodes created for use in an [AnimationNodeBlendTree]
</description>
</method>
<method name="blend_animation">
@@ -80,7 +80,7 @@
<return type="String">
</return>
<description>
- Get the text caption for this node (used by some editors)
+ Gets the text caption for this node (used by some editors).
</description>
</method>
<method name="get_child_by_name" qualifiers="virtual">
@@ -89,14 +89,14 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Get the a child node by index (used by editors inheriting from [AnimationRootNode]).
+ Gets a child node by index (used by editors inheriting from [AnimationRootNode]).
</description>
</method>
<method name="get_child_nodes" qualifiers="virtual">
<return type="Dictionary">
</return>
<description>
- Get all children nodes, in order as a name:node dictionary. Only useful when inheriting [AnimationRootNode].
+ Gets all children nodes in order as a [code]name: node[/code] dictionary. Only useful when inheriting [AnimationRootNode].
</description>
</method>
<method name="get_input_count" qualifiers="const">
@@ -112,7 +112,7 @@
<argument index="0" name="input" type="int">
</argument>
<description>
- Get the name of an input by index.
+ Gets the name of an input by index.
</description>
</method>
<method name="get_parameter" qualifiers="const">
@@ -121,7 +121,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Get the value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees.
+ Gets the value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees.
</description>
</method>
<method name="get_parameter_default_value" qualifiers="virtual">
@@ -130,14 +130,14 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Get the default value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees.
+ Gets the default value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees.
</description>
</method>
<method name="get_parameter_list" qualifiers="virtual">
<return type="Array">
</return>
<description>
- Get the property information for parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. Format is similar to [method Object.get_property_list].
+ Gets the property information for parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. Format is similar to [method Object.get_property_list].
</description>
</method>
<method name="has_filter" qualifiers="virtual">
@@ -176,7 +176,7 @@
<argument index="0" name="index" type="int">
</argument>
<description>
- Remove an input, call this only when inactive.
+ Removes an input, call this only when inactive.
</description>
</method>
<method name="set_filter_path">
@@ -187,7 +187,7 @@
<argument index="1" name="enable" type="bool">
</argument>
<description>
- Add/Remove a path for the filter.
+ Adds or removes a path for the filter.
</description>
</method>
<method name="set_parameter">
@@ -198,7 +198,7 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
- Set a custom parameter. These are used as local storage, because resources can be reused across the tree or scenes.
+ Sets a custom parameter. These are used as local storage, because resources can be reused across the tree or scenes.
</description>
</method>
</methods>
diff --git a/doc/classes/AnimationNodeAdd2.xml b/doc/classes/AnimationNodeAdd2.xml
index 890d6f8b49..bb7857717d 100644
--- a/doc/classes/AnimationNodeAdd2.xml
+++ b/doc/classes/AnimationNodeAdd2.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
+ <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync" default="false">
If [code]true[/code], sets the [code]optimization[/code] to [code]false[/code] when calling [method AnimationNode.blend_input], forcing the blended animations to update every frame.
</member>
</members>
diff --git a/doc/classes/AnimationNodeAdd3.xml b/doc/classes/AnimationNodeAdd3.xml
index 7747c333bf..d338c2cf9e 100644
--- a/doc/classes/AnimationNodeAdd3.xml
+++ b/doc/classes/AnimationNodeAdd3.xml
@@ -15,7 +15,7 @@
<methods>
</methods>
<members>
- <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
+ <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync" default="false">
If [code]true[/code], sets the [code]optimization[/code] to [code]false[/code] when calling [method AnimationNode.blend_input], forcing the blended animations to update every frame.
</member>
</members>
diff --git a/doc/classes/AnimationNodeAnimation.xml b/doc/classes/AnimationNodeAnimation.xml
index 420a702d38..a964877068 100644
--- a/doc/classes/AnimationNodeAnimation.xml
+++ b/doc/classes/AnimationNodeAnimation.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="animation" type="String" setter="set_animation" getter="get_animation">
+ <member name="animation" type="String" setter="set_animation" getter="get_animation" default="&quot;&quot;">
Animation to use as an output. It is one of the animations provided by [member AnimationTree.anim_player].
</member>
</members>
diff --git a/doc/classes/AnimationNodeBlend2.xml b/doc/classes/AnimationNodeBlend2.xml
index 9358c5eeef..cac97b9ee7 100644
--- a/doc/classes/AnimationNodeBlend2.xml
+++ b/doc/classes/AnimationNodeBlend2.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
+ <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync" default="false">
If [code]true[/code], sets the [code]optimization[/code] to [code]false[/code] when calling [method AnimationNode.blend_input], forcing the blended animations to update every frame.
</member>
</members>
diff --git a/doc/classes/AnimationNodeBlend3.xml b/doc/classes/AnimationNodeBlend3.xml
index f4a108f930..3b5c1f0b99 100644
--- a/doc/classes/AnimationNodeBlend3.xml
+++ b/doc/classes/AnimationNodeBlend3.xml
@@ -15,7 +15,7 @@
<methods>
</methods>
<members>
- <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
+ <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync" default="false">
If [code]true[/code], sets the [code]optimization[/code] to [code]false[/code] when calling [method AnimationNode.blend_input], forcing the blended animations to update every frame.
</member>
</members>
diff --git a/doc/classes/AnimationNodeBlendSpace1D.xml b/doc/classes/AnimationNodeBlendSpace1D.xml
index 6fb5c6312b..82d5716ee3 100644
--- a/doc/classes/AnimationNodeBlendSpace1D.xml
+++ b/doc/classes/AnimationNodeBlendSpace1D.xml
@@ -22,7 +22,7 @@
<argument index="2" name="at_index" type="int" default="-1">
</argument>
<description>
- Add a new point that represents a [code]node[/code] on the virtual axis at a given position set by [code]pos[/code]. You can insert it at a specific index using the [code]at_index[/code] argument. If you use the default value for [code]at_index[/code] , the point is inserted at the end of the blend points array.
+ Adds a new point that represents a [code]node[/code] on the virtual axis at a given position set by [code]pos[/code]. You can insert it at a specific index using the [code]at_index[/code] argument. If you use the default value for [code]at_index[/code] , the point is inserted at the end of the blend points array.
</description>
</method>
<method name="get_blend_point_count" qualifiers="const">
@@ -83,16 +83,16 @@
</method>
</methods>
<members>
- <member name="max_space" type="float" setter="set_max_space" getter="get_max_space">
+ <member name="max_space" type="float" setter="set_max_space" getter="get_max_space" default="1.0">
The blend space's axis's upper limit for the points' position. See [method add_blend_point].
</member>
- <member name="min_space" type="float" setter="set_min_space" getter="get_min_space">
+ <member name="min_space" type="float" setter="set_min_space" getter="get_min_space" default="-1.0">
The blend space's axis's lower limit for the points' position. See [method add_blend_point].
</member>
- <member name="snap" type="float" setter="set_snap" getter="get_snap">
+ <member name="snap" type="float" setter="set_snap" getter="get_snap" default="0.1">
Position increment to snap to when moving a point on the axis.
</member>
- <member name="value_label" type="String" setter="set_value_label" getter="get_value_label">
+ <member name="value_label" type="String" setter="set_value_label" getter="get_value_label" default="&quot;value&quot;">
Label of the virtual axis of the blend space.
</member>
</members>
diff --git a/doc/classes/AnimationNodeBlendSpace2D.xml b/doc/classes/AnimationNodeBlendSpace2D.xml
index 6567098d6c..c71a06d931 100644
--- a/doc/classes/AnimationNodeBlendSpace2D.xml
+++ b/doc/classes/AnimationNodeBlendSpace2D.xml
@@ -21,7 +21,7 @@
<argument index="2" name="at_index" type="int" default="-1">
</argument>
<description>
- Add a new point that represents a [code]node[/code] at the position set by [code]pos[/code]. You can insert it at a specific index using the [code]at_index[/code] argument. If you use the default value for [code]at_index[/code] , the point is inserted at the end of the blend points array.
+ Adds a new point that represents a [code]node[/code] at the position set by [code]pos[/code]. You can insert it at a specific index using the [code]at_index[/code] argument. If you use the default value for [code]at_index[/code] , the point is inserted at the end of the blend points array.
</description>
</method>
<method name="add_triangle">
@@ -124,25 +124,25 @@
</method>
</methods>
<members>
- <member name="auto_triangles" type="bool" setter="set_auto_triangles" getter="get_auto_triangles">
+ <member name="auto_triangles" type="bool" setter="set_auto_triangles" getter="get_auto_triangles" default="true">
If true, the blend space is triangulated automatically. The mesh updates every time you add or remove points with [method add_blend_point] and [method remove_blend_point].
</member>
- <member name="blend_mode" type="int" setter="set_blend_mode" getter="get_blend_mode" enum="AnimationNodeBlendSpace2D.BlendMode">
+ <member name="blend_mode" type="int" setter="set_blend_mode" getter="get_blend_mode" enum="AnimationNodeBlendSpace2D.BlendMode" default="0">
Controls the interpolation between animations. See [enum BlendMode] constants.
</member>
- <member name="max_space" type="Vector2" setter="set_max_space" getter="get_max_space">
+ <member name="max_space" type="Vector2" setter="set_max_space" getter="get_max_space" default="Vector2( 1, 1 )">
The blend space's X and Y axes' upper limit for the points' position. See [method add_blend_point].
</member>
- <member name="min_space" type="Vector2" setter="set_min_space" getter="get_min_space">
+ <member name="min_space" type="Vector2" setter="set_min_space" getter="get_min_space" default="Vector2( -1, -1 )">
The blend space's X and Y axes' lower limit for the points' position. See [method add_blend_point].
</member>
- <member name="snap" type="Vector2" setter="set_snap" getter="get_snap">
+ <member name="snap" type="Vector2" setter="set_snap" getter="get_snap" default="Vector2( 0.1, 0.1 )">
Position increment to snap to when moving a point.
</member>
- <member name="x_label" type="String" setter="set_x_label" getter="get_x_label">
+ <member name="x_label" type="String" setter="set_x_label" getter="get_x_label" default="&quot;x&quot;">
Name of the blend space's X axis.
</member>
- <member name="y_label" type="String" setter="set_y_label" getter="get_y_label">
+ <member name="y_label" type="String" setter="set_y_label" getter="get_y_label" default="&quot;y&quot;">
Name of the blend space's Y axis.
</member>
</members>
diff --git a/doc/classes/AnimationNodeBlendTree.xml b/doc/classes/AnimationNodeBlendTree.xml
index 6454a26a04..76a0d65920 100644
--- a/doc/classes/AnimationNodeBlendTree.xml
+++ b/doc/classes/AnimationNodeBlendTree.xml
@@ -95,7 +95,7 @@
</method>
</methods>
<members>
- <member name="graph_offset" type="Vector2" setter="set_graph_offset" getter="get_graph_offset">
+ <member name="graph_offset" type="Vector2" setter="set_graph_offset" getter="get_graph_offset" default="Vector2( 0, 0 )">
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationNodeOneShot.xml b/doc/classes/AnimationNodeOneShot.xml
index b6a6459c9e..099548f60a 100644
--- a/doc/classes/AnimationNodeOneShot.xml
+++ b/doc/classes/AnimationNodeOneShot.xml
@@ -23,17 +23,17 @@
</method>
</methods>
<members>
- <member name="autorestart" type="bool" setter="set_autorestart" getter="has_autorestart">
+ <member name="autorestart" type="bool" setter="set_autorestart" getter="has_autorestart" default="false">
</member>
- <member name="autorestart_delay" type="float" setter="set_autorestart_delay" getter="get_autorestart_delay">
+ <member name="autorestart_delay" type="float" setter="set_autorestart_delay" getter="get_autorestart_delay" default="1.0">
</member>
- <member name="autorestart_random_delay" type="float" setter="set_autorestart_random_delay" getter="get_autorestart_random_delay">
+ <member name="autorestart_random_delay" type="float" setter="set_autorestart_random_delay" getter="get_autorestart_random_delay" default="0.0">
</member>
- <member name="fadein_time" type="float" setter="set_fadein_time" getter="get_fadein_time">
+ <member name="fadein_time" type="float" setter="set_fadein_time" getter="get_fadein_time" default="0.1">
</member>
- <member name="fadeout_time" type="float" setter="set_fadeout_time" getter="get_fadeout_time">
+ <member name="fadeout_time" type="float" setter="set_fadeout_time" getter="get_fadeout_time" default="0.1">
</member>
- <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
+ <member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync" default="false">
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationNodeStateMachine.xml b/doc/classes/AnimationNodeStateMachine.xml
index 2834f83d2f..9a21492b8a 100644
--- a/doc/classes/AnimationNodeStateMachine.xml
+++ b/doc/classes/AnimationNodeStateMachine.xml
@@ -4,7 +4,8 @@
State machine for control of animations.
</brief_description>
<description>
- Contains multiple nodes representing animation states, connected in a graph. Nodes transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the AnimationNodeStateMachinePlayback object from the [AnimationTree] node to control it programatically. Example:
+ Contains multiple nodes representing animation states, connected in a graph. Node transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the AnimationNodeStateMachinePlayback object from the [AnimationTree] node to control it programmatically.
+ [b]Example:[/b]
[codeblock]
var state_machine = $AnimationTree.get("parameters/playback")
state_machine.travel("some_state")
diff --git a/doc/classes/AnimationNodeStateMachinePlayback.xml b/doc/classes/AnimationNodeStateMachinePlayback.xml
index 796d92d7d6..ab9652fcd8 100644
--- a/doc/classes/AnimationNodeStateMachinePlayback.xml
+++ b/doc/classes/AnimationNodeStateMachinePlayback.xml
@@ -4,7 +4,8 @@
Playback control for AnimationNodeStateMachine.
</brief_description>
<description>
- Allows control of [AnimationTree] state machines created with [AnimationNodeStateMachine]. Retrieve with [code]$AnimationTree.get("parameters/playback")[/code]. Example:
+ Allows control of [AnimationTree] state machines created with [AnimationNodeStateMachine]. Retrieve with [code]$AnimationTree.get("parameters/playback")[/code].
+ [b]Example:[/b]
[codeblock]
var state_machine = $AnimationTree.get("parameters/playback")
state_machine.travel("some_state")
diff --git a/doc/classes/AnimationNodeStateMachineTransition.xml b/doc/classes/AnimationNodeStateMachineTransition.xml
index aeb44a789b..08ff9997cf 100644
--- a/doc/classes/AnimationNodeStateMachineTransition.xml
+++ b/doc/classes/AnimationNodeStateMachineTransition.xml
@@ -9,25 +9,25 @@
<methods>
</methods>
<members>
- <member name="advance_condition" type="String" setter="set_advance_condition" getter="get_advance_condition">
+ <member name="advance_condition" type="String" setter="set_advance_condition" getter="get_advance_condition" default="&quot;&quot;">
Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the [AnimationTree] that can be controlled from code (see [url=https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html#controlling-from-code][/url]). For example, if [member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] is set to "idle":
[codeblock]
$animation_tree["parameters/conditions/idle"] = is_on_floor and linear_velocity.x == 0
[/codeblock]
</member>
- <member name="auto_advance" type="bool" setter="set_auto_advance" getter="has_auto_advance">
- Turn on the transition automatically when this state is reached. This works best with [code]SWITCH_MODE_AT_END[/code].
+ <member name="auto_advance" type="bool" setter="set_auto_advance" getter="has_auto_advance" default="false">
+ Turn on the transition automatically when this state is reached. This works best with [constant SWITCH_MODE_AT_END].
</member>
- <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
+ <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
Don't use this transition during [method AnimationNodeStateMachinePlayback.travel] or [member auto_advance].
</member>
- <member name="priority" type="int" setter="set_priority" getter="get_priority">
+ <member name="priority" type="int" setter="set_priority" getter="get_priority" default="1">
Lower priority transitions are preferred when travelling through the tree via [method AnimationNodeStateMachinePlayback.travel] or [member auto_advance].
</member>
- <member name="switch_mode" type="int" setter="set_switch_mode" getter="get_switch_mode" enum="AnimationNodeStateMachineTransition.SwitchMode">
+ <member name="switch_mode" type="int" setter="set_switch_mode" getter="get_switch_mode" enum="AnimationNodeStateMachineTransition.SwitchMode" default="0">
The transition type.
</member>
- <member name="xfade_time" type="float" setter="set_xfade_time" getter="get_xfade_time">
+ <member name="xfade_time" type="float" setter="set_xfade_time" getter="get_xfade_time" default="0.0">
The time to cross-fade between this state and the next.
</member>
</members>
diff --git a/doc/classes/AnimationNodeTransition.xml b/doc/classes/AnimationNodeTransition.xml
index 311d0e8486..4d2a11578f 100644
--- a/doc/classes/AnimationNodeTransition.xml
+++ b/doc/classes/AnimationNodeTransition.xml
@@ -137,9 +137,9 @@
</member>
<member name="input_9/name" type="String" setter="set_input_caption" getter="get_input_caption">
</member>
- <member name="input_count" type="int" setter="set_enabled_inputs" getter="get_enabled_inputs">
+ <member name="input_count" type="int" setter="set_enabled_inputs" getter="get_enabled_inputs" default="0">
</member>
- <member name="xfade_time" type="float" setter="set_cross_fade_time" getter="get_cross_fade_time">
+ <member name="xfade_time" type="float" setter="set_cross_fade_time" getter="get_cross_fade_time" default="0.0">
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml
index ff91db2e28..b4c44fe8eb 100644
--- a/doc/classes/AnimationPlayer.xml
+++ b/doc/classes/AnimationPlayer.xml
@@ -4,7 +4,7 @@
Container and player of [Animation] resources.
</brief_description>
<description>
- An animation player is used for general purpose playback of [Animation] resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in different channels.
+ An animation player is used for general-purpose playback of [Animation] resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in different channels.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/getting_started/step_by_step/animations.html</link>
@@ -55,7 +55,7 @@
<return type="void">
</return>
<description>
- [AnimationPlayer] caches animated nodes. It may not notice if a node disappears, so clear_caches forces it to update the cache again.
+ [AnimationPlayer] caches animated nodes. It may not notice if a node disappears; [method clear_caches] forces it to update the cache again.
</description>
</method>
<method name="clear_queue">
@@ -98,14 +98,14 @@
<argument index="1" name="anim_to" type="String">
</argument>
<description>
- Get the blend time (in seconds) between two animations, referenced by their names.
+ Gets the blend time (in seconds) between two animations, referenced by their names.
</description>
</method>
<method name="get_playing_speed" qualifiers="const">
<return type="float">
</return>
<description>
- Get the actual playing speed of current animation or 0 if not playing. This speed is the [code]playback_speed[/code] property multiplied by [code]custom_speed[/code] argument specified when calling the [code]play[/code] method.
+ Gets the actual playing speed of current animation or 0 if not playing. This speed is the [code]playback_speed[/code] property multiplied by [code]custom_speed[/code] argument specified when calling the [code]play[/code] method.
</description>
</method>
<method name="get_queue">
@@ -142,8 +142,8 @@
<argument index="3" name="from_end" type="bool" default="false">
</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 [code]true[/code] 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.
+ Plays the animation with key [code]name[/code]. Custom speed and blend times can be set. If [code]custom_speed[/code] is negative and [code]from_end[/code] is [code]true[/code], the animation will play backwards.
+ If the animation has been paused by [method stop], it will be resumed. Calling [method play] without arguments will also resume the animation.
</description>
</method>
<method name="play_backwards">
@@ -154,8 +154,8 @@
<argument index="1" name="custom_blend" type="float" default="-1">
</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.
+ Plays 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">
@@ -164,7 +164,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Queue an animation for playback once the current one is done.
+ Queues an animation for playback once the current one is done.
</description>
</method>
<method name="remove_animation">
@@ -173,7 +173,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Remove the animation with key [code]name[/code].
+ Removes the animation with key [code]name[/code].
</description>
</method>
<method name="rename_animation">
@@ -184,7 +184,7 @@
<argument index="1" name="newname" type="String">
</argument>
<description>
- Rename an existing animation with key [code]name[/code] to [code]newname[/code].
+ Renames an existing animation with key [code]name[/code] to [code]newname[/code].
</description>
</method>
<method name="seek">
@@ -195,7 +195,7 @@
<argument index="1" name="update" type="bool" default="false">
</argument>
<description>
- Seek the animation to the [code]seconds[/code] point in time (in seconds). If [code]update[/code] is [code]true[/code], the animation updates too, otherwise it updates at process time. Events between the current frame and [code]seconds[/code] are skipped.
+ Seeks the animation to the [code]seconds[/code] point in time (in seconds). If [code]update[/code] is [code]true[/code], the animation updates too, otherwise it updates at process time. Events between the current frame and [code]seconds[/code] are skipped.
</description>
</method>
<method name="set_blend_time">
@@ -208,7 +208,7 @@
<argument index="2" name="sec" type="float">
</argument>
<description>
- Specify a blend time (in seconds) between two animations, referenced by their names.
+ Specifies a blend time (in seconds) between two animations, referenced by their names.
</description>
</method>
<method name="stop">
@@ -217,8 +217,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 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.
+ Stops 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 [method play] without arguments or [code]play("same_as_before")[/code] will resume the animation. Works the same for the [method play_backwards].
</description>
</method>
</methods>
@@ -226,11 +226,11 @@
<member name="assigned_animation" type="String" setter="set_assigned_animation" getter="get_assigned_animation">
If playing, the current animation; otherwise, the animation last played. When set, would change the animation, but would not play it unless currently playing. See also [member current_animation].
</member>
- <member name="autoplay" type="String" setter="set_autoplay" getter="get_autoplay">
- The name of the animation to play when the scene loads. Default value: [code]""[/code].
+ <member name="autoplay" type="String" setter="set_autoplay" getter="get_autoplay" default="&quot;&quot;">
+ The name of the animation to play when the scene loads.
</member>
- <member name="current_animation" type="String" setter="set_current_animation" getter="get_current_animation">
- The name of the current animation, "" if not playing anything. When being set, does not restart the animation. See also [method play]. Default value: [code]""[/code].
+ <member name="current_animation" type="String" setter="set_current_animation" getter="get_current_animation" default="&quot;&quot;">
+ The name of the current animation, "" if not playing anything. When being set, does not restart the animation. See also [method play].
</member>
<member name="current_animation_length" type="float" setter="" getter="get_current_animation_length">
The length (in seconds) of the currently being played animation.
@@ -238,23 +238,23 @@
<member name="current_animation_position" type="float" setter="" getter="get_current_animation_position">
The position (in seconds) of the currently playing animation.
</member>
- <member name="method_call_mode" type="int" setter="set_method_call_mode" getter="get_method_call_mode" enum="AnimationPlayer.AnimationMethodCallMode">
- The call mode to use for Call Method tracks. Default value: [code]ANIMATION_METHOD_CALL_DEFERRED[/code].
+ <member name="method_call_mode" type="int" setter="set_method_call_mode" getter="get_method_call_mode" enum="AnimationPlayer.AnimationMethodCallMode" default="0">
+ The call mode to use for Call Method tracks.
</member>
<member name="playback_active" type="bool" setter="set_active" getter="is_active">
- If [code]true[/code], updates animations in response to process-related notifications. Default value: [code]true[/code].
+ If [code]true[/code], updates animations in response to process-related notifications.
</member>
- <member name="playback_default_blend_time" type="float" setter="set_default_blend_time" getter="get_default_blend_time">
- The default time in which to blend animations. Ranges from 0 to 4096 with 0.01 precision. Default value: [code]0[/code].
+ <member name="playback_default_blend_time" type="float" setter="set_default_blend_time" getter="get_default_blend_time" default="0.0">
+ The default time in which to blend animations. Ranges from 0 to 4096 with 0.01 precision.
</member>
- <member name="playback_process_mode" type="int" setter="set_animation_process_mode" getter="get_animation_process_mode" enum="AnimationPlayer.AnimationProcessMode">
- The process notification in which to update animations. Default value: [code]ANIMATION_PROCESS_IDLE[/code].
+ <member name="playback_process_mode" type="int" setter="set_animation_process_mode" getter="get_animation_process_mode" enum="AnimationPlayer.AnimationProcessMode" default="1">
+ The process notification in which to update animations.
</member>
- <member name="playback_speed" type="float" setter="set_speed_scale" getter="get_speed_scale">
- The speed scaling ratio. For instance, if this value is 1 then the animation plays at normal speed. If it's 0.5 then it plays at half speed. If it's 2 then it plays at double speed. Default value: [code]1[/code].
+ <member name="playback_speed" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
+ The speed scaling ratio. For instance, if this value is 1, then the animation plays at normal speed. If it's 0.5, then it plays at half speed. If it's 2, then it plays at double speed.
</member>
- <member name="root_node" type="NodePath" setter="set_root" getter="get_root">
- The node from which node path references will travel. Default value: [code]".."[/code].
+ <member name="root_node" type="NodePath" setter="set_root" getter="get_root" default="NodePath(&quot;..&quot;)">
+ The node from which node path references will travel.
</member>
</members>
<signals>
@@ -294,7 +294,7 @@
Process animation during the idle process.
</constant>
<constant name="ANIMATION_PROCESS_MANUAL" value="2" enum="AnimationProcessMode">
- Do not process animation. Use the 'advance' method to process the animation manually.
+ Do not process animation. Use [method advance] to process the animation manually.
</constant>
<constant name="ANIMATION_METHOD_CALL_DEFERRED" value="0" enum="AnimationMethodCallMode">
Batch method calls during the animation process, then do the calls after events are processed. This avoids bugs involving deleting nodes or modifying the AnimationPlayer while playing.
diff --git a/doc/classes/AnimationTree.xml b/doc/classes/AnimationTree.xml
index f3dc1ecc1e..70c1b783df 100644
--- a/doc/classes/AnimationTree.xml
+++ b/doc/classes/AnimationTree.xml
@@ -35,15 +35,15 @@
</method>
</methods>
<members>
- <member name="active" type="bool" setter="set_active" getter="is_active">
+ <member name="active" type="bool" setter="set_active" getter="is_active" default="false">
</member>
- <member name="anim_player" type="NodePath" setter="set_animation_player" getter="get_animation_player">
+ <member name="anim_player" type="NodePath" setter="set_animation_player" getter="get_animation_player" default="NodePath(&quot;&quot;)">
</member>
- <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="AnimationTree.AnimationProcessMode">
+ <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="AnimationTree.AnimationProcessMode" default="1">
</member>
- <member name="root_motion_track" type="NodePath" setter="set_root_motion_track" getter="get_root_motion_track">
+ <member name="root_motion_track" type="NodePath" setter="set_root_motion_track" getter="get_root_motion_track" default="NodePath(&quot;&quot;)">
</member>
- <member name="tree_root" type="AnimationNode" setter="set_tree_root" getter="get_tree_root">
+ <member name="tree_root" type="AnimationNode" setter="set_tree_root" getter="get_tree_root" default="null">
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationTreePlayer.xml b/doc/classes/AnimationTreePlayer.xml
index 818565e0dc..3b6003b478 100644
--- a/doc/classes/AnimationTreePlayer.xml
+++ b/doc/classes/AnimationTreePlayer.xml
@@ -238,7 +238,7 @@
</argument>
<description>
Sets mix amount of a Mix node given its name and value.
- A Mix node adds input b to input a by a the amount given by ratio.
+ A Mix node adds input b to input a by the amount given by ratio.
</description>
</method>
<method name="node_exists" qualifiers="const">
@@ -285,7 +285,7 @@
<argument index="0" name="id" type="String">
</argument>
<description>
- Get the node type, will return from NODE_* enum.
+ Gets the node type, will return from [code]NODE_*[/code] enum.
</description>
</method>
<method name="node_rename">
@@ -503,7 +503,7 @@
<argument index="1" name="seconds" type="float">
</argument>
<description>
- Sets the time seek value of the TimeSeek node with name [code]id[/code] to [code]seconds[/code]
+ Sets the time seek value of the TimeSeek node with name [code]id[/code] to [code]seconds[/code].
This functions as a seek in the [Animation] or the blend or mix of [Animation]s input in it.
</description>
</method>
@@ -604,19 +604,19 @@
</method>
</methods>
<members>
- <member name="active" type="bool" setter="set_active" getter="is_active">
- If [code]true[/code], the [AnimationTreePlayer] is able to play animations. Default value: [code]false[/code].
+ <member name="active" type="bool" setter="set_active" getter="is_active" default="false">
+ If [code]true[/code], the [AnimationTreePlayer] is able to play animations.
</member>
- <member name="base_path" type="NodePath" setter="set_base_path" getter="get_base_path">
- The node from which to relatively access other nodes. Default value: [code]".."[/code].
+ <member name="base_path" type="NodePath" setter="set_base_path" getter="get_base_path" default="NodePath(&quot;..&quot;)">
+ The node from which to relatively access other nodes.
It accesses the Bones, so it should point to the same Node the AnimationPlayer would point its Root Node at.
</member>
- <member name="master_player" type="NodePath" setter="set_master_player" getter="get_master_player">
+ <member name="master_player" type="NodePath" setter="set_master_player" getter="get_master_player" default="NodePath(&quot;&quot;)">
The path to the [AnimationPlayer] from which this [AnimationTreePlayer] binds animations to animation nodes.
Once set, Animation nodes can be added to the AnimationTreePlayer.
</member>
- <member name="playback_process_mode" type="int" setter="set_animation_process_mode" getter="get_animation_process_mode" enum="AnimationTreePlayer.AnimationProcessMode">
- The thread in which to update animations. Default value: [code]ANIMATION_PROCESS_IDLE[/code].
+ <member name="playback_process_mode" type="int" setter="set_animation_process_mode" getter="get_animation_process_mode" enum="AnimationTreePlayer.AnimationProcessMode" default="1">
+ The thread in which to update animations.
</member>
</members>
<constants>
diff --git a/doc/classes/Area.xml b/doc/classes/Area.xml
index c39c570be9..6bd1382488 100644
--- a/doc/classes/Area.xml
+++ b/doc/classes/Area.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Area" inherits="CollisionObject" category="Core" version="3.2">
<brief_description>
- General purpose area node for detection and 3D physics influence.
+ General-purpose area node for detection and 3D physics influence.
</brief_description>
<description>
3D area that detects [CollisionObject] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping).
@@ -47,7 +47,8 @@
<argument index="0" name="area" type="Node">
</argument>
<description>
- If [code]true[/code], the given area overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ If [code]true[/code], the given area overlaps the Area.
+ [b]Note:[/b] The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
</description>
</method>
<method name="overlaps_body" qualifiers="const">
@@ -56,7 +57,9 @@
<argument index="0" name="body" type="Node">
</argument>
<description>
- If [code]true[/code], the given body overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ If [code]true[/code], the given physics body overlaps the Area.
+ [b]Note:[/b] The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</method>
<method name="set_collision_layer_bit">
@@ -83,59 +86,59 @@
</method>
</methods>
<members>
- <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp">
+ <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="0.1">
The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from [code]0[/code] (no damping) to [code]1[/code] (full damping).
</member>
- <member name="audio_bus_name" type="String" setter="set_audio_bus" getter="get_audio_bus">
+ <member name="audio_bus_name" type="String" setter="set_audio_bus" getter="get_audio_bus" default="&quot;Master&quot;">
The name of the area's audio bus.
</member>
- <member name="audio_bus_override" type="bool" setter="set_audio_bus_override" getter="is_overriding_audio_bus">
- If [code]true[/code], the area's audio bus overrides the default audio bus. Default value: [code]false[/code].
+ <member name="audio_bus_override" type="bool" setter="set_audio_bus_override" getter="is_overriding_audio_bus" default="false">
+ If [code]true[/code], the area's audio bus overrides the default audio bus.
</member>
- <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer">
+ <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1">
The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also [member collision_mask].
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The physics layers this area scans to determine collision detection.
</member>
- <member name="gravity" type="float" setter="set_gravity" getter="get_gravity">
+ <member name="gravity" type="float" setter="set_gravity" getter="get_gravity" default="9.8">
The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
</member>
- <member name="gravity_distance_scale" type="float" setter="set_gravity_distance_scale" getter="get_gravity_distance_scale">
+ <member name="gravity_distance_scale" type="float" setter="set_gravity_distance_scale" getter="get_gravity_distance_scale" default="0.0">
The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
</member>
- <member name="gravity_point" type="bool" setter="set_gravity_is_point" getter="is_gravity_a_point">
- If [code]true[/code], gravity is calculated from a point (set via [member gravity_vec]). Also see [member space_override]. Default value: [code]false[/code].
+ <member name="gravity_point" type="bool" setter="set_gravity_is_point" getter="is_gravity_a_point" default="false">
+ If [code]true[/code], gravity is calculated from a point (set via [member gravity_vec]). See also [member space_override].
</member>
- <member name="gravity_vec" type="Vector3" setter="set_gravity_vector" getter="get_gravity_vector">
+ <member name="gravity_vec" type="Vector3" setter="set_gravity_vector" getter="get_gravity_vector" default="Vector3( 0, -1, 0 )">
The area's gravity vector (not normalized). If gravity is a point (see [member gravity_point]), this will be the point of attraction.
</member>
- <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp">
+ <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="0.1">
The rate at which objects stop moving in this area. Represents the linear velocity lost per second. Values range from [code]0[/code] (no damping) to [code]1[/code] (full damping).
</member>
- <member name="monitorable" type="bool" setter="set_monitorable" getter="is_monitorable">
- If [code]true[/code], other monitoring areas can detect this area. Default value: [code]true[/code].
+ <member name="monitorable" type="bool" setter="set_monitorable" getter="is_monitorable" default="true">
+ If [code]true[/code], other monitoring areas can detect this area.
</member>
- <member name="monitoring" type="bool" setter="set_monitoring" getter="is_monitoring">
- If [code]true[/code], the area detects bodies or areas entering and exiting it. Default value: [code]true[/code].
+ <member name="monitoring" type="bool" setter="set_monitoring" getter="is_monitoring" default="true">
+ If [code]true[/code], the area detects bodies or areas entering and exiting it.
</member>
- <member name="priority" type="float" setter="set_priority" getter="get_priority">
- The area's priority. Higher priority areas are processed first. Default value: 0.
+ <member name="priority" type="float" setter="set_priority" getter="get_priority" default="0.0">
+ The area's priority. Higher priority areas are processed first.
</member>
- <member name="reverb_bus_amount" type="float" setter="set_reverb_amount" getter="get_reverb_amount">
+ <member name="reverb_bus_amount" type="float" setter="set_reverb_amount" getter="get_reverb_amount" default="0.0">
The degree to which this area applies reverb to its associated audio. Ranges from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision.
</member>
- <member name="reverb_bus_enable" type="bool" setter="set_use_reverb_bus" getter="is_using_reverb_bus">
+ <member name="reverb_bus_enable" type="bool" setter="set_use_reverb_bus" getter="is_using_reverb_bus" default="false">
If [code]true[/code], the area applies reverb to its associated audio.
</member>
- <member name="reverb_bus_name" type="String" setter="set_reverb_bus" getter="get_reverb_bus">
+ <member name="reverb_bus_name" type="String" setter="set_reverb_bus" getter="get_reverb_bus" default="&quot;Master&quot;">
The reverb bus name to use for this area's associated audio.
</member>
- <member name="reverb_bus_uniformity" type="float" setter="set_reverb_uniformity" getter="get_reverb_uniformity">
+ <member name="reverb_bus_uniformity" type="float" setter="set_reverb_uniformity" getter="get_reverb_uniformity" default="0.0">
The degree to which this area's reverb is a uniform effect. Ranges from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision.
</member>
- <member name="space_override" type="int" setter="set_space_override_mode" getter="get_space_override_mode" enum="Area.SpaceOverride">
- Override mode for gravity and damping calculations within this area. See [enum Area.SpaceOverride] for possible values.
+ <member name="space_override" type="int" setter="set_space_override_mode" getter="get_space_override_mode" enum="Area.SpaceOverride" default="0">
+ Override mode for gravity and damping calculations within this area. See [enum SpaceOverride] for possible values.
</member>
</members>
<signals>
@@ -183,14 +186,16 @@
<argument index="0" name="body" type="Node">
</argument>
<description>
- Emitted when a [PhysicsBody] object enters.
+ Emitted when a physics body enters.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_exited">
<argument index="0" name="body" type="Node">
</argument>
<description>
- Emitted when a [PhysicsBody] object exits.
+ Emitted when a physics body exits.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_shape_entered">
@@ -203,7 +208,8 @@
<argument index="3" name="area_shape" type="int">
</argument>
<description>
- Emitted when a [PhysicsBody] object enters, reporting which shapes overlapped.
+ Emitted when a physics body enters, reporting which shapes overlapped.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_shape_exited">
@@ -216,7 +222,8 @@
<argument index="3" name="area_shape" type="int">
</argument>
<description>
- Emitted when a [PhysicsBody] object exits, reporting which shapes were overlapping.
+ Emitted when a physics body exits, reporting which shapes were overlapping.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
</signals>
diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml
index 8d28ddc889..e1cb9056da 100644
--- a/doc/classes/Area2D.xml
+++ b/doc/classes/Area2D.xml
@@ -47,7 +47,8 @@
<argument index="0" name="area" type="Node">
</argument>
<description>
- If [code]true[/code], the given area overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ If [code]true[/code], the given area overlaps the Area2D.
+ [b]Note:[/b] The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
</description>
</method>
<method name="overlaps_body" qualifiers="const">
@@ -56,7 +57,9 @@
<argument index="0" name="body" type="Node">
</argument>
<description>
- If [code]true[/code], the given body overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ If [code]true[/code], the given physics body overlaps the Area2D.
+ [b]Note:[/b] The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</method>
<method name="set_collision_layer_bit">
@@ -83,47 +86,47 @@
</method>
</methods>
<members>
- <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp">
+ <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="1.0">
The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from [code]0[/code] (no damping) to [code]1[/code] (full damping).
</member>
- <member name="audio_bus_name" type="String" setter="set_audio_bus_name" getter="get_audio_bus_name">
+ <member name="audio_bus_name" type="String" setter="set_audio_bus_name" getter="get_audio_bus_name" default="&quot;Master&quot;">
The name of the area's audio bus.
</member>
- <member name="audio_bus_override" type="bool" setter="set_audio_bus_override" getter="is_overriding_audio_bus">
- If [code]true[/code], the area's audio bus overrides the default audio bus. Default value: [code]false[/code].
+ <member name="audio_bus_override" type="bool" setter="set_audio_bus_override" getter="is_overriding_audio_bus" default="false">
+ If [code]true[/code], the area's audio bus overrides the default audio bus.
</member>
- <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer">
+ <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1">
The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also [member collision_mask].
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The physics layers this area scans to determine collision detection.
</member>
- <member name="gravity" type="float" setter="set_gravity" getter="get_gravity">
+ <member name="gravity" type="float" setter="set_gravity" getter="get_gravity" default="98.0">
The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
</member>
- <member name="gravity_distance_scale" type="float" setter="set_gravity_distance_scale" getter="get_gravity_distance_scale">
+ <member name="gravity_distance_scale" type="float" setter="set_gravity_distance_scale" getter="get_gravity_distance_scale" default="0.0">
The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
</member>
- <member name="gravity_point" type="bool" setter="set_gravity_is_point" getter="is_gravity_a_point">
- If [code]true[/code], gravity is calculated from a point (set via [member gravity_vec]). Also see [member space_override]. Default value: [code]false[/code].
+ <member name="gravity_point" type="bool" setter="set_gravity_is_point" getter="is_gravity_a_point" default="false">
+ If [code]true[/code], gravity is calculated from a point (set via [member gravity_vec]). See also [member space_override].
</member>
- <member name="gravity_vec" type="Vector2" setter="set_gravity_vector" getter="get_gravity_vector">
+ <member name="gravity_vec" type="Vector2" setter="set_gravity_vector" getter="get_gravity_vector" default="Vector2( 0, 1 )">
The area's gravity vector (not normalized). If gravity is a point (see [member gravity_point]), this will be the point of attraction.
</member>
- <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp">
+ <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="0.1">
The rate at which objects stop moving in this area. Represents the linear velocity lost per second. Values range from [code]0[/code] (no damping) to [code]1[/code] (full damping).
</member>
- <member name="monitorable" type="bool" setter="set_monitorable" getter="is_monitorable">
- If [code]true[/code], other monitoring areas can detect this area. Default value: [code]true[/code].
+ <member name="monitorable" type="bool" setter="set_monitorable" getter="is_monitorable" default="true">
+ If [code]true[/code], other monitoring areas can detect this area.
</member>
- <member name="monitoring" type="bool" setter="set_monitoring" getter="is_monitoring">
- If [code]true[/code], the area detects bodies or areas entering and exiting it. Default value: [code]true[/code].
+ <member name="monitoring" type="bool" setter="set_monitoring" getter="is_monitoring" default="true">
+ If [code]true[/code], the area detects bodies or areas entering and exiting it.
</member>
- <member name="priority" type="float" setter="set_priority" getter="get_priority">
- The area's priority. Higher priority areas are processed first. Default value: 0.
+ <member name="priority" type="float" setter="set_priority" getter="get_priority" default="0.0">
+ The area's priority. Higher priority areas are processed first.
</member>
- <member name="space_override" type="int" setter="set_space_override_mode" getter="get_space_override_mode" enum="Area2D.SpaceOverride">
- Override mode for gravity and damping calculations within this area. See [enum Area2D.SpaceOverride] for possible values.
+ <member name="space_override" type="int" setter="set_space_override_mode" getter="get_space_override_mode" enum="Area2D.SpaceOverride" default="0">
+ Override mode for gravity and damping calculations within this area. See [enum SpaceOverride] for possible values.
</member>
</members>
<signals>
@@ -168,43 +171,47 @@
</description>
</signal>
<signal name="body_entered">
- <argument index="0" name="body" type="PhysicsBody2D">
+ <argument index="0" name="body" type="Node">
</argument>
<description>
- Emitted when a [PhysicsBody2D] object enters.
+ Emitted when a physics body enters.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_exited">
- <argument index="0" name="body" type="PhysicsBody2D">
+ <argument index="0" name="body" type="Node">
</argument>
<description>
- Emitted when a [PhysicsBody2D] object exits.
+ Emitted when a physics body exits.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_shape_entered">
<argument index="0" name="body_id" type="int">
</argument>
- <argument index="1" name="body" type="PhysicsBody2D">
+ <argument index="1" name="body" type="Node">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
- Emitted when a [PhysicsBody2D] object enters, reporting which shapes overlapped.
+ Emitted when a physics body enters, reporting which shapes overlapped.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_shape_exited">
<argument index="0" name="body_id" type="int">
</argument>
- <argument index="1" name="body" type="PhysicsBody2D">
+ <argument index="1" name="body" type="Node">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
- Emitted when a [PhysicsBody2D] object exits, reporting which shapes were overlapping.
+ Emitted when a physics body exits, reporting which shapes were overlapping.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
</signals>
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index 75194fbf76..130908b842 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -4,7 +4,8 @@
Generic array datatype.
</brief_description>
<description>
- Generic array which can contain several elements of any type, accessible by a numerical index starting at 0. Negative indices can be used to count from the back, like in Python (-1 is the last element, -2 the second to last, etc.). Example:
+ Generic array which can contain several elements of any type, accessible by a numerical index starting at 0. Negative indices can be used to count from the back, like in Python (-1 is the last element, -2 the second to last, etc.).
+ [b]Example:[/b]
[codeblock]
var array = ["One", 2, 3, "Four"]
print(array[0]) # One
@@ -103,7 +104,8 @@
<argument index="1" name="before" type="bool" default="True">
</argument>
<description>
- Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a before specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array. Note that calling bsearch on an unsorted array results in unexpected behavior.
+ Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [code]before[/code] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
+ [b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
</description>
</method>
<method name="bsearch_custom">
@@ -118,12 +120,13 @@
<argument index="3" name="before" type="bool" default="True">
</argument>
<description>
- Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search and a custom comparison method. Optionally, a before specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array. The custom method receives two arguments (an element from the array and the value searched for) and must return [code]true[/code] if the first argument is less than the second, and return [code]false[/code] otherwise. Note that calling bsearch on an unsorted array results in unexpected behavior.
+ Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search and a custom comparison method. Optionally, a [code]before[/code] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array. The custom method receives two arguments (an element from the array and the value searched for) and must return [code]true[/code] if the first argument is less than the second, and return [code]false[/code] otherwise.
+ [b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
</description>
</method>
<method name="clear">
<description>
- Clears the array (resizes to 0).
+ Clears the array. This is equivalent to using [method resize] with a size of [code]0[/code].
</description>
</method>
<method name="count">
@@ -275,7 +278,7 @@
<argument index="0" name="size" type="int">
</argument>
<description>
- Resizes the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are Null.
+ Resizes the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are [code]null[/code].
</description>
</method>
<method name="rfind">
@@ -303,7 +306,8 @@
</method>
<method name="sort">
<description>
- Sorts the array. Note: strings are sorted in alphabetical, not natural order.
+ Sorts the array.
+ [b]Note:[/b] strings are sorted in alphabetical, not natural order.
</description>
</method>
<method name="sort_custom">
diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml
index d44e3c54c9..9f32691e57 100644
--- a/doc/classes/ArrayMesh.xml
+++ b/doc/classes/ArrayMesh.xml
@@ -31,7 +31,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Add name for a blend shape that will be added with [method add_surface_from_arrays]. Must be called before surface is added.
+ Adds name for a blend shape that will be added with [method add_surface_from_arrays]. Must be called before surface is added.
</description>
</method>
<method name="add_surface_from_arrays">
@@ -48,7 +48,7 @@
<description>
Creates a new surface.
Surfaces are created to be rendered using a "primitive", which may be PRIMITIVE_POINTS, PRIMITIVE_LINES, PRIMITIVE_LINE_STRIP, PRIMITIVE_LINE_LOOP, PRIMITIVE_TRIANGLES, PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN. See [Mesh] for details. (As a note, when using indices, it is recommended to only use points, lines or triangles). [method Mesh.get_surface_count] will become the [code]surf_idx[/code] for this new surface.
- The [code]arrays[/code] argument is an array of arrays. See [enum ArrayType] for the values used in this array. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for [code]ARRAY_INDEX[/code] if it is used.
+ The [code]arrays[/code] argument is an array of arrays. See [enum ArrayType] for the values used in this array. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for [constant ARRAY_INDEX] if it is used.
Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data, and the index array defines the order of the vertices.
Godot uses clockwise winding order for front faces of triangle primitive modes.
</description>
@@ -57,7 +57,7 @@
<return type="void">
</return>
<description>
- Remove all blend shapes from this [ArrayMesh].
+ Removes all blend shapes from this [ArrayMesh].
</description>
</method>
<method name="get_blend_shape_count" qualifiers="const">
@@ -100,7 +100,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Returns the index of the first surface with this name held within this [ArrayMesh]. If none are found -1 is returned.
+ Returns the index of the first surface with this name held within this [ArrayMesh]. If none are found, -1 is returned.
</description>
</method>
<method name="surface_get_array_index_len" qualifiers="const">
@@ -136,7 +136,7 @@
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
- Get the name assigned to this surface.
+ Gets the name assigned to this surface.
</description>
</method>
<method name="surface_get_primitive_type" qualifiers="const">
@@ -154,7 +154,7 @@
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
- Remove a surface at position surf_idx, shifting greater surfaces one surf_idx slot down.
+ Removes a surface at position [code]surf_idx[/code], shifting greater surfaces one [code]surf_idx[/code] slot down.
</description>
</method>
<method name="surface_set_name">
@@ -165,7 +165,7 @@
<argument index="1" name="name" type="String">
</argument>
<description>
- Set a name for a given surface.
+ Sets a name for a given surface.
</description>
</method>
<method name="surface_update_region">
@@ -178,15 +178,16 @@
<argument index="2" name="data" type="PoolByteArray">
</argument>
<description>
- Updates a specified region of mesh arrays on GPU. Warning: only use if you know what you are doing. You can easily cause crashes by calling this function with improper arguments.
+ Updates a specified region of mesh arrays on the GPU.
+ [b]Warning:[/b] Only use if you know what you are doing. You can easily cause crashes by calling this function with improper arguments.
</description>
</method>
</methods>
<members>
- <member name="blend_shape_mode" type="int" setter="set_blend_shape_mode" getter="get_blend_shape_mode" enum="Mesh.BlendShapeMode">
+ <member name="blend_shape_mode" type="int" setter="set_blend_shape_mode" getter="get_blend_shape_mode" enum="Mesh.BlendShapeMode" default="1">
</member>
- <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb">
- Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unnexpected culling when using a shader to offset vertices.
+ <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb" default="AABB( 0, 0, 0, 0, 0, 0 )">
+ Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.
</member>
</members>
<constants>
@@ -225,6 +226,7 @@
For triangles, the index array is interpreted as triples, referring to the vertices of each triangle. For lines, the index array is in pairs indicating the start and end of each line.
</constant>
<constant name="ARRAY_MAX" value="9" enum="ArrayType">
+ Represents the size of the [enum ArrayType] enum.
</constant>
<constant name="ARRAY_FORMAT_VERTEX" value="1" enum="ArrayFormat">
Array format will include vertices (mandatory).
diff --git a/doc/classes/AtlasTexture.xml b/doc/classes/AtlasTexture.xml
index e573512f5a..1363287dc1 100644
--- a/doc/classes/AtlasTexture.xml
+++ b/doc/classes/AtlasTexture.xml
@@ -12,16 +12,16 @@
<methods>
</methods>
<members>
- <member name="atlas" type="Texture" setter="set_atlas" getter="get_atlas">
+ <member name="atlas" type="Texture" setter="set_atlas" getter="get_atlas" default="null">
The texture that contains the atlas. Can be any [Texture] subtype.
</member>
- <member name="filter_clip" type="bool" setter="set_filter_clip" getter="has_filter_clip">
+ <member name="filter_clip" type="bool" setter="set_filter_clip" getter="has_filter_clip" default="false">
If [code]true[/code], clips the area outside of the region to avoid bleeding of the surrounding texture pixels.
</member>
- <member name="margin" type="Rect2" setter="set_margin" getter="get_margin">
- The margin around the region. The [Rect2]'s 'size' parameter ('w' and 'h' in the editor) resizes the texture so it fits within the margin.
+ <member name="margin" type="Rect2" setter="set_margin" getter="get_margin" default="Rect2( 0, 0, 0, 0 )">
+ The margin around the region. The [Rect2]'s [member Rect2.size] parameter ("w" and "h" in the editor) resizes the texture so it fits within the margin.
</member>
- <member name="region" type="Rect2" setter="set_region" getter="get_region">
+ <member name="region" type="Rect2" setter="set_region" getter="get_region" default="Rect2( 0, 0, 0, 0 )">
The AtlasTexture's used region.
</member>
</members>
diff --git a/doc/classes/AudioBusLayout.xml b/doc/classes/AudioBusLayout.xml
index 771e0390d3..fb36440a67 100644
--- a/doc/classes/AudioBusLayout.xml
+++ b/doc/classes/AudioBusLayout.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioBusLayout" inherits="Resource" category="Core" version="3.2">
<brief_description>
- Stores information about the audiobusses.
+ Stores information about the audio buses.
</brief_description>
<description>
Stores position, muting, solo, bypass, effects, effect position, volume, and the connections between buses. See [AudioServer] for usage.
diff --git a/doc/classes/AudioEffect.xml b/doc/classes/AudioEffect.xml
index 7c21d04b03..3e7863a44c 100644
--- a/doc/classes/AudioEffect.xml
+++ b/doc/classes/AudioEffect.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffect" inherits="Resource" category="Core" version="3.2">
<brief_description>
- Audio Effect For Audio.
+ Audio effect for audio.
</brief_description>
<description>
Base resource for audio bus. Applies an audio effect on the bus that the resource is applied on.
diff --git a/doc/classes/AudioEffectAmplify.xml b/doc/classes/AudioEffectAmplify.xml
index 9fd3e73b12..3003238eb9 100644
--- a/doc/classes/AudioEffectAmplify.xml
+++ b/doc/classes/AudioEffectAmplify.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectAmplify" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a Amplify audio effect to an Audio bus.
+ Adds an amplifying audio effect to an audio bus.
Increases or decreases the volume of the selected audio bus.
</brief_description>
<description>
@@ -12,8 +12,8 @@
<methods>
</methods>
<members>
- <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db">
- Amount of amplification. Positive values make the sound louder, negative values make it quieter. Value can range from -80 to 24. Default value: [code]0[/code].
+ <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db" default="0.0">
+ Amount of amplification in decibels. Positive values make the sound louder, negative values make it quieter. Value can range from -80 to 24.
</member>
</members>
<constants>
diff --git a/doc/classes/AudioEffectBandLimitFilter.xml b/doc/classes/AudioEffectBandLimitFilter.xml
index 1b511dfab0..f85c8cdd32 100644
--- a/doc/classes/AudioEffectBandLimitFilter.xml
+++ b/doc/classes/AudioEffectBandLimitFilter.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectBandLimitFilter" inherits="AudioEffectFilter" category="Core" version="3.2">
<brief_description>
- Adds a band limit filter to the Audio Bus.
+ Adds a band limit filter to the audio bus.
</brief_description>
<description>
Limits the frequencies in a range around the [member AudioEffectFilter.cutoff_hz] and allows frequencies outside of this range to pass.
diff --git a/doc/classes/AudioEffectBandPassFilter.xml b/doc/classes/AudioEffectBandPassFilter.xml
index 8df922da3a..359eb9d669 100644
--- a/doc/classes/AudioEffectBandPassFilter.xml
+++ b/doc/classes/AudioEffectBandPassFilter.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectBandPassFilter" inherits="AudioEffectFilter" category="Core" version="3.2">
<brief_description>
- Adds a band pass filter to the Audio Bus.
+ Adds a band pass filter to the audio bus.
</brief_description>
<description>
Attenuates the frequencies inside of a range around the [member AudioEffectFilter.cutoff_hz] and cuts frequencies outside of this band.
diff --git a/doc/classes/AudioEffectChorus.xml b/doc/classes/AudioEffectChorus.xml
index f85755df08..13bc6ac097 100644
--- a/doc/classes/AudioEffectChorus.xml
+++ b/doc/classes/AudioEffectChorus.xml
@@ -11,43 +11,43 @@
<methods>
</methods>
<members>
- <member name="dry" type="float" setter="set_dry" getter="get_dry">
+ <member name="dry" type="float" setter="set_dry" getter="get_dry" default="1.0">
The effect's raw signal.
</member>
- <member name="voice/1/cutoff_hz" type="float" setter="set_voice_cutoff_hz" getter="get_voice_cutoff_hz">
+ <member name="voice/1/cutoff_hz" type="float" setter="set_voice_cutoff_hz" getter="get_voice_cutoff_hz" default="8000.0">
The voice's cutoff frequency.
</member>
- <member name="voice/1/delay_ms" type="float" setter="set_voice_delay_ms" getter="get_voice_delay_ms">
+ <member name="voice/1/delay_ms" type="float" setter="set_voice_delay_ms" getter="get_voice_delay_ms" default="15.0">
The voice's signal delay.
</member>
- <member name="voice/1/depth_ms" type="float" setter="set_voice_depth_ms" getter="get_voice_depth_ms">
+ <member name="voice/1/depth_ms" type="float" setter="set_voice_depth_ms" getter="get_voice_depth_ms" default="2.0">
The voice filter's depth.
</member>
- <member name="voice/1/level_db" type="float" setter="set_voice_level_db" getter="get_voice_level_db">
+ <member name="voice/1/level_db" type="float" setter="set_voice_level_db" getter="get_voice_level_db" default="0.0">
The voice's volume.
</member>
- <member name="voice/1/pan" type="float" setter="set_voice_pan" getter="get_voice_pan">
+ <member name="voice/1/pan" type="float" setter="set_voice_pan" getter="get_voice_pan" default="-0.5">
The voice's pan level.
</member>
- <member name="voice/1/rate_hz" type="float" setter="set_voice_rate_hz" getter="get_voice_rate_hz">
+ <member name="voice/1/rate_hz" type="float" setter="set_voice_rate_hz" getter="get_voice_rate_hz" default="0.8">
The voice's filter rate.
</member>
- <member name="voice/2/cutoff_hz" type="float" setter="set_voice_cutoff_hz" getter="get_voice_cutoff_hz">
+ <member name="voice/2/cutoff_hz" type="float" setter="set_voice_cutoff_hz" getter="get_voice_cutoff_hz" default="8000.0">
The voice's cutoff frequency.
</member>
- <member name="voice/2/delay_ms" type="float" setter="set_voice_delay_ms" getter="get_voice_delay_ms">
+ <member name="voice/2/delay_ms" type="float" setter="set_voice_delay_ms" getter="get_voice_delay_ms" default="20.0">
The voice's signal delay.
</member>
- <member name="voice/2/depth_ms" type="float" setter="set_voice_depth_ms" getter="get_voice_depth_ms">
+ <member name="voice/2/depth_ms" type="float" setter="set_voice_depth_ms" getter="get_voice_depth_ms" default="3.0">
The voice filter's depth.
</member>
- <member name="voice/2/level_db" type="float" setter="set_voice_level_db" getter="get_voice_level_db">
+ <member name="voice/2/level_db" type="float" setter="set_voice_level_db" getter="get_voice_level_db" default="0.0">
The voice's volume.
</member>
- <member name="voice/2/pan" type="float" setter="set_voice_pan" getter="get_voice_pan">
+ <member name="voice/2/pan" type="float" setter="set_voice_pan" getter="get_voice_pan" default="0.5">
The voice's pan level.
</member>
- <member name="voice/2/rate_hz" type="float" setter="set_voice_rate_hz" getter="get_voice_rate_hz">
+ <member name="voice/2/rate_hz" type="float" setter="set_voice_rate_hz" getter="get_voice_rate_hz" default="1.2">
The voice's filter rate.
</member>
<member name="voice/3/cutoff_hz" type="float" setter="set_voice_cutoff_hz" getter="get_voice_cutoff_hz">
@@ -86,10 +86,10 @@
<member name="voice/4/rate_hz" type="float" setter="set_voice_rate_hz" getter="get_voice_rate_hz">
The voice's filter rate.
</member>
- <member name="voice_count" type="int" setter="set_voice_count" getter="get_voice_count">
+ <member name="voice_count" type="int" setter="set_voice_count" getter="get_voice_count" default="2">
The amount of voices in the effect.
</member>
- <member name="wet" type="float" setter="set_wet" getter="get_wet">
+ <member name="wet" type="float" setter="set_wet" getter="get_wet" default="0.5">
The effect's processed signal.
</member>
</members>
diff --git a/doc/classes/AudioEffectCompressor.xml b/doc/classes/AudioEffectCompressor.xml
index 78b8047987..6834804ea7 100644
--- a/doc/classes/AudioEffectCompressor.xml
+++ b/doc/classes/AudioEffectCompressor.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectCompressor" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a Compressor audio effect to an Audio bus.
+ Adds a compressor audio effect to an audio bus.
Reduces sounds that exceed a certain threshold level, smooths out the dynamics and increases the overall volume.
</brief_description>
<description>
Dynamic range compressor reduces the level of the sound when the amplitude goes over a certain threshold in Decibels. One of the main uses of a compressor is to increase the dynamic range by clipping as little as possible (when sound goes over 0dB).
Compressor has many uses in the mix:
- - In the Master bus to compress the whole output (Although a [AudioEffectLimiter] is probably better)
+ - In the Master bus to compress the whole output (although an [AudioEffectLimiter] is probably better).
- In voice channels to ensure they sound as balanced as possible.
- - Sidechained. Sidechained, which can reduce the sound level sidechained with another audio bus for threshold detection.. This technique is very common in video game mixing to download the level of Music/SFX while voices are being heard.
+ - Sidechained. This can reduce the sound level sidechained with another audio bus for threshold detection. This technique is common in video game mixing to the level of music and SFX while voices are being heard.
- Accentuates transients by using a wider attack, making effects sound more punchy.
</description>
<tutorials>
@@ -17,26 +17,26 @@
<methods>
</methods>
<members>
- <member name="attack_us" type="float" setter="set_attack_us" getter="get_attack_us">
- Compressor's reaction time when the signal exceeds the threshold. Value can range from 20 to 2000. Default value: [code]20ms[/code].
+ <member name="attack_us" type="float" setter="set_attack_us" getter="get_attack_us" default="20.0">
+ Compressor's reaction time when the signal exceeds the threshold, in microseconds. Value can range from 20 to 2000.
</member>
- <member name="gain" type="float" setter="set_gain" getter="get_gain">
+ <member name="gain" type="float" setter="set_gain" getter="get_gain" default="0.0">
Gain applied to the output signal.
</member>
- <member name="mix" type="float" setter="set_mix" getter="get_mix">
- Balance between original signal and effect signal. Value can range from 0 (totally dry) to 1 (totally wet). Default value: [code]1[/code].
+ <member name="mix" type="float" setter="set_mix" getter="get_mix" default="1.0">
+ Balance between original signal and effect signal. Value can range from 0 (totally dry) to 1 (totally wet).
</member>
- <member name="ratio" type="float" setter="set_ratio" getter="get_ratio">
- Amount of compression applied to the audio once it passes the threshold level. The higher the ratio the more the loud parts of the audio will be compressed. Value can range from 1 to 48. Default value: [code]4[/code].
+ <member name="ratio" type="float" setter="set_ratio" getter="get_ratio" default="4.0">
+ Amount of compression applied to the audio once it passes the threshold level. The higher the ratio, the more the loud parts of the audio will be compressed. Value can range from 1 to 48.
</member>
- <member name="release_ms" type="float" setter="set_release_ms" getter="get_release_ms">
- Compressor's delay time to stop reducing the signal after the signal level falls below the threshold. Value can range from 20 to 2000. Default value: [code]250ms[/code].
+ <member name="release_ms" type="float" setter="set_release_ms" getter="get_release_ms" default="250.0">
+ Compressor's delay time to stop reducing the signal after the signal level falls below the threshold, in milliseconds. Value can range from 20 to 2000.
</member>
- <member name="sidechain" type="String" setter="set_sidechain" getter="get_sidechain">
+ <member name="sidechain" type="String" setter="set_sidechain" getter="get_sidechain" default="&quot;&quot;">
Reduce the sound level using another audio bus for threshold detection.
</member>
- <member name="threshold" type="float" setter="set_threshold" getter="get_threshold">
- The level above which compression is applied to the audio. Value can range from -60 to 0. Default value: [code]0[/code].
+ <member name="threshold" type="float" setter="set_threshold" getter="get_threshold" default="0.0">
+ The level above which compression is applied to the audio. Value can range from -60 to 0.
</member>
</members>
<constants>
diff --git a/doc/classes/AudioEffectDelay.xml b/doc/classes/AudioEffectDelay.xml
index 0e19a4a89f..aea6ead983 100644
--- a/doc/classes/AudioEffectDelay.xml
+++ b/doc/classes/AudioEffectDelay.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectDelay" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a Delay audio effect to an Audio bus. Plays input signal back after a period of time.
+ Adds a delay audio effect to an audio bus. Plays input signal back after a period of time.
Two tap delay and feedback options.
</brief_description>
<description>
@@ -12,44 +12,44 @@
<methods>
</methods>
<members>
- <member name="dry" type="float" setter="set_dry" getter="get_dry">
- Output percent of original sound. At 0, only delayed sounds are output. Value can range from 0 to 1. Default value: [code]1[/code].
+ <member name="dry" type="float" setter="set_dry" getter="get_dry" default="1.0">
+ Output percent of original sound. At 0, only delayed sounds are output. Value can range from 0 to 1.
</member>
- <member name="feedback/active" type="bool" setter="set_feedback_active" getter="is_feedback_active">
- If [code]true[/code], feedback is enabled. Default value: [code]false[/code].
+ <member name="feedback/active" type="bool" setter="set_feedback_active" getter="is_feedback_active" default="false">
+ If [code]true[/code], feedback is enabled.
</member>
- <member name="feedback/delay_ms" type="float" setter="set_feedback_delay_ms" getter="get_feedback_delay_ms">
- Feedback delay time in milliseconds. Default value: [code]340[/code].
+ <member name="feedback/delay_ms" type="float" setter="set_feedback_delay_ms" getter="get_feedback_delay_ms" default="340.0">
+ Feedback delay time in milliseconds.
</member>
- <member name="feedback/level_db" type="float" setter="set_feedback_level_db" getter="get_feedback_level_db">
- Sound level for [code]tap1[/code]. Default value: [code]-6 dB[/code].
+ <member name="feedback/level_db" type="float" setter="set_feedback_level_db" getter="get_feedback_level_db" default="-6.0">
+ Sound level for [code]tap1[/code].
</member>
- <member name="feedback/lowpass" type="float" setter="set_feedback_lowpass" getter="get_feedback_lowpass">
- Low-pass filter for feedback. Frequencies below the Low Cut value are filtered out of the source signal. Default value: [code]16000[/code].
+ <member name="feedback/lowpass" type="float" setter="set_feedback_lowpass" getter="get_feedback_lowpass" default="16000.0">
+ Low-pass filter for feedback, in Hz. Frequencies below this value are filtered out of the source signal.
</member>
- <member name="tap1/active" type="bool" setter="set_tap1_active" getter="is_tap1_active">
- If [code]true[/code], [code]tap1[/code] will be enabled. Default value: [code]true[/code].
+ <member name="tap1/active" type="bool" setter="set_tap1_active" getter="is_tap1_active" default="true">
+ If [code]true[/code], [code]tap1[/code] will be enabled.
</member>
- <member name="tap1/delay_ms" type="float" setter="set_tap1_delay_ms" getter="get_tap1_delay_ms">
- [b]Tap1[/b] delay time in milliseconds. Default value: [code]250ms[/code].
+ <member name="tap1/delay_ms" type="float" setter="set_tap1_delay_ms" getter="get_tap1_delay_ms" default="250.0">
+ [code]tap1[/code] delay time in milliseconds.
</member>
- <member name="tap1/level_db" type="float" setter="set_tap1_level_db" getter="get_tap1_level_db">
- Sound level for [code]tap1[/code]. Default value: [code]-6 dB[/code].
+ <member name="tap1/level_db" type="float" setter="set_tap1_level_db" getter="get_tap1_level_db" default="-6.0">
+ Sound level for [code]tap1[/code].
</member>
- <member name="tap1/pan" type="float" setter="set_tap1_pan" getter="get_tap1_pan">
- Pan position for [code]tap1[/code]. Value can range from -1 (fully left) to 1 (fully right). Default value: [code]0.2[/code].
+ <member name="tap1/pan" type="float" setter="set_tap1_pan" getter="get_tap1_pan" default="0.2">
+ Pan position for [code]tap1[/code]. Value can range from -1 (fully left) to 1 (fully right).
</member>
- <member name="tap2/active" type="bool" setter="set_tap2_active" getter="is_tap2_active">
- If [code]true[/code], [code]tap2[/code] will be enabled. Default value: [code]true[/code].
+ <member name="tap2/active" type="bool" setter="set_tap2_active" getter="is_tap2_active" default="true">
+ If [code]true[/code], [code]tap2[/code] will be enabled.
</member>
- <member name="tap2/delay_ms" type="float" setter="set_tap2_delay_ms" getter="get_tap2_delay_ms">
- [b]Tap2[/b] delay time in milliseconds. Default value: [code]500ms[/code].
+ <member name="tap2/delay_ms" type="float" setter="set_tap2_delay_ms" getter="get_tap2_delay_ms" default="500.0">
+ [b]Tap2[/b] delay time in milliseconds.
</member>
- <member name="tap2/level_db" type="float" setter="set_tap2_level_db" getter="get_tap2_level_db">
- Sound level for [code]tap2[/code]. Default value: [code]-12 dB[/code].
+ <member name="tap2/level_db" type="float" setter="set_tap2_level_db" getter="get_tap2_level_db" default="-12.0">
+ Sound level for [code]tap2[/code].
</member>
- <member name="tap2/pan" type="float" setter="set_tap2_pan" getter="get_tap2_pan">
- Pan position for [code]tap2[/code]. Value can range from -1 (fully left) to 1 (fully right). Default value: [code]-0.4[/code].
+ <member name="tap2/pan" type="float" setter="set_tap2_pan" getter="get_tap2_pan" default="-0.4">
+ Pan position for [code]tap2[/code]. Value can range from -1 (fully left) to 1 (fully right).
</member>
</members>
<constants>
diff --git a/doc/classes/AudioEffectDistortion.xml b/doc/classes/AudioEffectDistortion.xml
index 4393f942f0..0ee7d73f88 100644
--- a/doc/classes/AudioEffectDistortion.xml
+++ b/doc/classes/AudioEffectDistortion.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectDistortion" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a Distortion audio effect to an Audio bus.
+ Adds a distortion audio effect to an Audio bus.
Modify the sound to make it dirty.
</brief_description>
<description>
- Modify the sound and make it dirty. Different types are available : clip, tan, lofi (bit crushing), overdrive, or waveshape.
+ Modify the sound and make it dirty. Different types are available: clip, tan, lo-fi (bit crushing), overdrive, or waveshape.
By distorting the waveform the frequency content change, which will often make the sound "crunchy" or "abrasive". For games, it can simulate sound coming from some saturated device or speaker very efficiently.
</description>
<tutorials>
@@ -13,20 +13,20 @@
<methods>
</methods>
<members>
- <member name="drive" type="float" setter="set_drive" getter="get_drive">
- Distortion power. Value can range from 0 to 1. Default value: [code]0[/code].
+ <member name="drive" type="float" setter="set_drive" getter="get_drive" default="0.0">
+ Distortion power. Value can range from 0 to 1.
</member>
- <member name="keep_hf_hz" type="float" setter="set_keep_hf_hz" getter="get_keep_hf_hz">
- High-pass filter. Frequencies higher than this value will not be affected by the distortion. Value can range from 1 to 20000. Default value: [code]16000[/code].
+ <member name="keep_hf_hz" type="float" setter="set_keep_hf_hz" getter="get_keep_hf_hz" default="16000.0">
+ High-pass filter, in Hz. Frequencies higher than this value will not be affected by the distortion. Value can range from 1 to 20000.
</member>
- <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="AudioEffectDistortion.Mode">
- Distortion type. Default value: [code]MODE_CLIP[/code].
+ <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="AudioEffectDistortion.Mode" default="0">
+ Distortion type.
</member>
- <member name="post_gain" type="float" setter="set_post_gain" getter="get_post_gain">
- Increases or decreases the volume after the effect. Value can range from -80 to 24. Default value: [code]0[/code].
+ <member name="post_gain" type="float" setter="set_post_gain" getter="get_post_gain" default="0.0">
+ Increases or decreases the volume after the effect. Value can range from -80 to 24.
</member>
- <member name="pre_gain" type="float" setter="set_pre_gain" getter="get_pre_gain">
- Increases or decreases the volume before the effect. Value can range from -60 to 60. Default value: [code]0[/code].
+ <member name="pre_gain" type="float" setter="set_pre_gain" getter="get_pre_gain" default="0.0">
+ Increases or decreases the volume before the effect. Value can range from -60 to 60.
</member>
</members>
<constants>
diff --git a/doc/classes/AudioEffectEQ.xml b/doc/classes/AudioEffectEQ.xml
index fef3868d02..d30b6fc71d 100644
--- a/doc/classes/AudioEffectEQ.xml
+++ b/doc/classes/AudioEffectEQ.xml
@@ -5,7 +5,7 @@
Use it to create a custom equalizer if [AudioEffectEQ6], [AudioEffectEQ10] or [AudioEffectEQ21] don't fit your needs.
</brief_description>
<description>
- AudioEffectEQ gives you control over frequencies. Use it to compensate for existing deficiencies in audio. AudioEffectEQ are very useful on the Master Bus to completely master a mix and give it character. They are also very useful when a game is run on a mobile device, to adjust the mix to that kind of speakers (it can be added but disabled when headphones are plugged).
+ AudioEffectEQ gives you control over frequencies. Use it to compensate for existing deficiencies in audio. AudioEffectEQs are useful on the Master bus to completely master a mix and give it more character. They are also useful when a game is run on a mobile device, to adjust the mix to that kind of speakers (it can be added but disabled when headphones are plugged).
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/AudioEffectEQ10.xml b/doc/classes/AudioEffectEQ10.xml
index e9fd0d72cb..e94c4c71df 100644
--- a/doc/classes/AudioEffectEQ10.xml
+++ b/doc/classes/AudioEffectEQ10.xml
@@ -5,17 +5,17 @@
Each frequency can be modulated between -60/+24 dB.
</brief_description>
<description>
- Frequency bands :
- Band 1 : 31 Hz
- Band 2 : 62 Hz
- Band 3 : 125 Hz
- Band 4 : 250 Hz
- Band 5 : 500 Hz
- Band 6 : 1000 Hz
- Band 7 : 2000 Hz
- Band 8 : 4000 Hz
- Band 9 : 8000 Hz
- Band 10 : 16000 Hz
+ Frequency bands:
+ Band 1: 31 Hz
+ Band 2: 62 Hz
+ Band 3: 125 Hz
+ Band 4: 250 Hz
+ Band 5: 500 Hz
+ Band 6: 1000 Hz
+ Band 7: 2000 Hz
+ Band 8: 4000 Hz
+ Band 9: 8000 Hz
+ Band 10: 16000 Hz
See also [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ21].
</description>
<tutorials>
diff --git a/doc/classes/AudioEffectEQ21.xml b/doc/classes/AudioEffectEQ21.xml
index d1b39d9824..dd26e06ee8 100644
--- a/doc/classes/AudioEffectEQ21.xml
+++ b/doc/classes/AudioEffectEQ21.xml
@@ -5,28 +5,28 @@
Each frequency can be modulated between -60/+24 dB.
</brief_description>
<description>
- Frequency bands :
- Band 1 : 22 Hz
- Band 2 : 32 Hz
- Band 3 : 44 Hz
- Band 4 : 63 Hz
- Band 5 : 90 Hz
- Band 6 : 125 Hz
- Band 7 : 175 Hz
- Band 8 : 250 Hz
- Band 9 : 350 Hz
- Band 10 : 500 Hz
- Band 11 : 700 Hz
- Band 12 : 1000 Hz
- Band 13 : 1400 Hz
- Band 14 : 2000 Hz
- Band 15 : 2800 Hz
- Band 16 : 4000 Hz
- Band 17 : 5600 Hz
- Band 18 : 8000 Hz
- Band 19 : 11000 Hz
- Band 20 : 16000 Hz
- Band 21 : 22000 Hz
+ Frequency bands:
+ Band 1: 22 Hz
+ Band 2: 32 Hz
+ Band 3: 44 Hz
+ Band 4: 63 Hz
+ Band 5: 90 Hz
+ Band 6: 125 Hz
+ Band 7: 175 Hz
+ Band 8: 250 Hz
+ Band 9: 350 Hz
+ Band 10: 500 Hz
+ Band 11: 700 Hz
+ Band 12: 1000 Hz
+ Band 13: 1400 Hz
+ Band 14: 2000 Hz
+ Band 15: 2800 Hz
+ Band 16: 4000 Hz
+ Band 17: 5600 Hz
+ Band 18: 8000 Hz
+ Band 19: 11000 Hz
+ Band 20: 16000 Hz
+ Band 21: 22000 Hz
See also [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ10].
</description>
<tutorials>
diff --git a/doc/classes/AudioEffectEQ6.xml b/doc/classes/AudioEffectEQ6.xml
index d40471dbd6..eb3dc738ef 100644
--- a/doc/classes/AudioEffectEQ6.xml
+++ b/doc/classes/AudioEffectEQ6.xml
@@ -5,13 +5,13 @@
Each frequency can be modulated between -60/+24 dB.
</brief_description>
<description>
- Frequency bands :
- Band 1 : 32 Hz
- Band 2 : 100 Hz
- Band 3 : 320 Hz
- Band 4 : 1000 Hz
- Band 5 : 3200 Hz
- Band 6 : 10000 Hz
+ Frequency bands:
+ Band 1: 32 Hz
+ Band 2: 100 Hz
+ Band 3: 320 Hz
+ Band 4: 1000 Hz
+ Band 5: 3200 Hz
+ Band 6: 10000 Hz
See also [AudioEffectEQ], [AudioEffectEQ10], [AudioEffectEQ21].
</description>
<tutorials>
diff --git a/doc/classes/AudioEffectFilter.xml b/doc/classes/AudioEffectFilter.xml
index 5ed4ae28db..5daad6748f 100644
--- a/doc/classes/AudioEffectFilter.xml
+++ b/doc/classes/AudioEffectFilter.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectFilter" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a filter to the Audio Bus.
+ Adds a filter to the audio bus.
</brief_description>
<description>
Allows frequencies other than the [member cutoff_hz] to pass.
@@ -11,15 +11,15 @@
<methods>
</methods>
<members>
- <member name="cutoff_hz" type="float" setter="set_cutoff" getter="get_cutoff">
- Threshold frequency for the filter.
+ <member name="cutoff_hz" type="float" setter="set_cutoff" getter="get_cutoff" default="2000.0">
+ Threshold frequency for the filter, in Hz.
</member>
- <member name="db" type="int" setter="set_db" getter="get_db" enum="AudioEffectFilter.FilterDB">
+ <member name="db" type="int" setter="set_db" getter="get_db" enum="AudioEffectFilter.FilterDB" default="0">
</member>
- <member name="gain" type="float" setter="set_gain" getter="get_gain">
+ <member name="gain" type="float" setter="set_gain" getter="get_gain" default="1.0">
Gain amount of the frequencies after the filter.
</member>
- <member name="resonance" type="float" setter="set_resonance" getter="get_resonance">
+ <member name="resonance" type="float" setter="set_resonance" getter="get_resonance" default="0.5">
Amount of boost in the overtones near the cutoff frequency.
</member>
</members>
diff --git a/doc/classes/AudioEffectHighPassFilter.xml b/doc/classes/AudioEffectHighPassFilter.xml
index 3a486acab8..589195da02 100644
--- a/doc/classes/AudioEffectHighPassFilter.xml
+++ b/doc/classes/AudioEffectHighPassFilter.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectHighPassFilter" inherits="AudioEffectFilter" category="Core" version="3.2">
<brief_description>
- Adds a high pass filter to the Audio Bus.
+ Adds a high-pass filter to the Audio Bus.
</brief_description>
<description>
Cuts frequencies lower than the [member AudioEffectFilter.cutoff_hz] and allows higher frequencies to pass.
diff --git a/doc/classes/AudioEffectLimiter.xml b/doc/classes/AudioEffectLimiter.xml
index c17816bb87..ee6252809a 100644
--- a/doc/classes/AudioEffectLimiter.xml
+++ b/doc/classes/AudioEffectLimiter.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectLimiter" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a soft clip Limiter audio effect to an Audio bus.
+ Adds a soft-clip limiter audio effect to an Audio bus.
</brief_description>
<description>
- A limiter is similar to a compressor, but it's less flexible and designed to disallow sound going over a given dB threshold. Adding one in the Master Bus is always recommended to reduce the effects of clipping.
+ A limiter is similar to a compressor, but it's less flexible and designed to disallow sound going over a given dB threshold. Adding one in the Master bus is always recommended to reduce the effects of clipping.
Soft clipping starts to reduce the peaks a little below the threshold level and progressively increases its effect as the input level increases such that the threshold is never exceeded.
</description>
<tutorials>
@@ -12,16 +12,16 @@
<methods>
</methods>
<members>
- <member name="ceiling_db" type="float" setter="set_ceiling_db" getter="get_ceiling_db">
- The waveform's maximum allowed value. Value can range from -20 to -0.1. Default value: [code]-0.1dB[/code].
+ <member name="ceiling_db" type="float" setter="set_ceiling_db" getter="get_ceiling_db" default="-0.1">
+ The waveform's maximum allowed value, in decibels. Value can range from -20 to -0.1.
</member>
- <member name="soft_clip_db" type="float" setter="set_soft_clip_db" getter="get_soft_clip_db">
- Applies a gain to the limited waves. Value can range from 0 to 6. Default value: [code]2dB[/code].
+ <member name="soft_clip_db" type="float" setter="set_soft_clip_db" getter="get_soft_clip_db" default="2.0">
+ Applies a gain to the limited waves, in decibels. Value can range from 0 to 6.
</member>
- <member name="soft_clip_ratio" type="float" setter="set_soft_clip_ratio" getter="get_soft_clip_ratio">
+ <member name="soft_clip_ratio" type="float" setter="set_soft_clip_ratio" getter="get_soft_clip_ratio" default="10.0">
</member>
- <member name="threshold_db" type="float" setter="set_threshold_db" getter="get_threshold_db">
- Threshold from which the limiter begins to be active. Value can range from -30 to 0. Default value: [code]0dB[/code].
+ <member name="threshold_db" type="float" setter="set_threshold_db" getter="get_threshold_db" default="0.0">
+ Threshold from which the limiter begins to be active, in decibels. Value can range from -30 to 0.
</member>
</members>
<constants>
diff --git a/doc/classes/AudioEffectLowPassFilter.xml b/doc/classes/AudioEffectLowPassFilter.xml
index 9402045150..c0319a6713 100644
--- a/doc/classes/AudioEffectLowPassFilter.xml
+++ b/doc/classes/AudioEffectLowPassFilter.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectLowPassFilter" inherits="AudioEffectFilter" category="Core" version="3.2">
<brief_description>
- Adds a low pass filter to the Audio Bus.
+ Adds a low-pass filter to the Audio bus.
</brief_description>
<description>
Cuts frequencies higher than the [member AudioEffectFilter.cutoff_hz] and allows lower frequencies to pass.
diff --git a/doc/classes/AudioEffectNotchFilter.xml b/doc/classes/AudioEffectNotchFilter.xml
index 00e950b43a..4b5cfd7e51 100644
--- a/doc/classes/AudioEffectNotchFilter.xml
+++ b/doc/classes/AudioEffectNotchFilter.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectNotchFilter" inherits="AudioEffectFilter" category="Core" version="3.2">
<brief_description>
- Adds a notch filter to the Audio Bus.
+ Adds a notch filter to the Audio bus.
</brief_description>
<description>
Attenuates frequencies in a narrow band around the [member AudioEffectFilter.cutoff_hz] and cuts frequencies outside of this range.
diff --git a/doc/classes/AudioEffectPanner.xml b/doc/classes/AudioEffectPanner.xml
index 7d01a73b0b..e3a2dfcf21 100644
--- a/doc/classes/AudioEffectPanner.xml
+++ b/doc/classes/AudioEffectPanner.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectPanner" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a Panner audio effect to an Audio bus. Pans sound left or right.
+ Adds a panner audio effect to an Audio bus. Pans sound left or right.
</brief_description>
<description>
Determines how much of an audio signal is sent to the left and right buses.
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="pan" type="float" setter="set_pan" getter="get_pan">
+ <member name="pan" type="float" setter="set_pan" getter="get_pan" default="0.0">
Pan position. Value can range from -1 (fully left) to 1 (fully right).
</member>
</members>
diff --git a/doc/classes/AudioEffectPhaser.xml b/doc/classes/AudioEffectPhaser.xml
index c42b5f59ee..445f78dd73 100644
--- a/doc/classes/AudioEffectPhaser.xml
+++ b/doc/classes/AudioEffectPhaser.xml
@@ -1,31 +1,31 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectPhaser" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a Phaser audio effect to an Audio bus.
+ Adds a phaser audio effect to an Audio bus.
Combines the original signal with a copy that is slightly out of phase with the original.
</brief_description>
<description>
- Combines phase-shifted signals with the original signal. The movement of the phase-shifted signals is controlled using a Low Frequency Oscillator.
+ Combines phase-shifted signals with the original signal. The movement of the phase-shifted signals is controlled using a low-frequency oscillator.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="depth" type="float" setter="set_depth" getter="get_depth">
- Governs how high the filter frequencies sweep. Low value will primarily affect bass frequencies. High value can sweep high into the treble. Value can range from 0.1 to 4. Default value: [code]1[/code].
+ <member name="depth" type="float" setter="set_depth" getter="get_depth" default="1.0">
+ Governs how high the filter frequencies sweep. Low value will primarily affect bass frequencies. High value can sweep high into the treble. Value can range from 0.1 to 4.
</member>
- <member name="feedback" type="float" setter="set_feedback" getter="get_feedback">
- Output percent of modified sound. Value can range from 0.1 to 0.9. Default value: [code]0.7[/code].
+ <member name="feedback" type="float" setter="set_feedback" getter="get_feedback" default="0.7">
+ Output percent of modified sound. Value can range from 0.1 to 0.9.
</member>
- <member name="range_max_hz" type="float" setter="set_range_max_hz" getter="get_range_max_hz">
- Determines the maximum frequency affected by the LFO modulations. Value can range from 10 to 10000. Default value: [code]1600hz[/code].
+ <member name="range_max_hz" type="float" setter="set_range_max_hz" getter="get_range_max_hz" default="1600.0">
+ Determines the maximum frequency affected by the LFO modulations, in Hz. Value can range from 10 to 10000.
</member>
- <member name="range_min_hz" type="float" setter="set_range_min_hz" getter="get_range_min_hz">
- Determines the minimum frequency affected by the LFO modulations. Value can range from 10 to 10000. Default value: [code]440hz[/code].
+ <member name="range_min_hz" type="float" setter="set_range_min_hz" getter="get_range_min_hz" default="440.0">
+ Determines the minimum frequency affected by the LFO modulations, in Hz. Value can range from 10 to 10000.
</member>
- <member name="rate_hz" type="float" setter="set_rate_hz" getter="get_rate_hz">
- Adjusts the rate at which the effect sweeps up and down across the frequency range.
+ <member name="rate_hz" type="float" setter="set_rate_hz" getter="get_rate_hz" default="0.5">
+ Adjusts the rate in Hz at which the effect sweeps up and down across the frequency range.
</member>
</members>
<constants>
diff --git a/doc/classes/AudioEffectPitchShift.xml b/doc/classes/AudioEffectPitchShift.xml
index 7d6c5f2b20..1f891dfb32 100644
--- a/doc/classes/AudioEffectPitchShift.xml
+++ b/doc/classes/AudioEffectPitchShift.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectPitchShift" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a Pitch shift audio effect to an Audio bus.
+ Adds a pitch-shifting audio effect to an Audio bus.
Raises or lowers the pitch of original sound.
</brief_description>
<description>
@@ -12,10 +12,27 @@
<methods>
</methods>
<members>
- <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale">
+ <member name="fft_size" type="int" setter="set_fft_size" getter="get_fft_size" enum="AudioEffectPitchShift.FFT_Size" default="3">
+ </member>
+ <member name="oversampling" type="int" setter="set_oversampling" getter="get_oversampling" default="4">
+ </member>
+ <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0">
Pitch value. Can range from 0 (-1 octave) to 16 (+16 octaves).
</member>
</members>
<constants>
+ <constant name="FFT_SIZE_256" value="0" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_512" value="1" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_1024" value="2" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_2048" value="3" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_4096" value="4" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_MAX" value="5" enum="FFT_Size">
+ Represents the size of the [enum FFT_Size] enum.
+ </constant>
</constants>
</class>
diff --git a/doc/classes/AudioEffectRecord.xml b/doc/classes/AudioEffectRecord.xml
index d6e678f276..4f97797b37 100644
--- a/doc/classes/AudioEffectRecord.xml
+++ b/doc/classes/AudioEffectRecord.xml
@@ -29,7 +29,7 @@
</method>
</methods>
<members>
- <member name="format" type="int" setter="set_format" getter="get_format" enum="AudioStreamSample.Format">
+ <member name="format" type="int" setter="set_format" getter="get_format" enum="AudioStreamSample.Format" default="1">
</member>
</members>
<constants>
diff --git a/doc/classes/AudioEffectReverb.xml b/doc/classes/AudioEffectReverb.xml
index 8c9652eee2..a0664e727f 100644
--- a/doc/classes/AudioEffectReverb.xml
+++ b/doc/classes/AudioEffectReverb.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectReverb" inherits="AudioEffect" category="Core" version="3.2">
<brief_description>
- Adds a Reverb audio effect to an Audio bus.
+ Adds a reverberation audio effect to an Audio bus.
Simulates the sound of acoustic environments such as rooms, concert halls, caverns, or an open spaces.
</brief_description>
<description>
@@ -12,29 +12,29 @@
<methods>
</methods>
<members>
- <member name="damping" type="float" setter="set_damping" getter="get_damping">
- Defines how reflective the imaginary room's walls are. Value can range from 0 to 1. Default value: [code]1[/code].
+ <member name="damping" type="float" setter="set_damping" getter="get_damping" default="0.5">
+ Defines how reflective the imaginary room's walls are. Value can range from 0 to 1.
</member>
- <member name="dry" type="float" setter="set_dry" getter="get_dry">
- Output percent of original sound. At 0, only modified sound is outputted. Value can range from 0 to 1. Default value: [code]1[/code].
+ <member name="dry" type="float" setter="set_dry" getter="get_dry" default="1.0">
+ Output percent of original sound. At 0, only modified sound is outputted. Value can range from 0 to 1.
</member>
- <member name="hipass" type="float" setter="set_hpf" getter="get_hpf">
- High-pass filter passes signals with a frequency higher than a certain cutoff frequency and attenuates signals with frequencies lower than the cutoff frequency. Value can range from 0 to 1. Default value: [code]0[/code].
+ <member name="hipass" type="float" setter="set_hpf" getter="get_hpf" default="0.0">
+ High-pass filter passes signals with a frequency higher than a certain cutoff frequency and attenuates signals with frequencies lower than the cutoff frequency. Value can range from 0 to 1.
</member>
- <member name="predelay_feedback" type="float" setter="set_predelay_feedback" getter="get_predelay_feedback">
- Output percent of predelay. Value can range from 0 to 1. Default value: [code]1[/code].
+ <member name="predelay_feedback" type="float" setter="set_predelay_feedback" getter="get_predelay_feedback" default="0.4">
+ Output percent of predelay. Value can range from 0 to 1.
</member>
- <member name="predelay_msec" type="float" setter="set_predelay_msec" getter="get_predelay_msec">
- Time between the original signal and the early reflections of the reverb signal. Default value: [code]150ms[/code].
+ <member name="predelay_msec" type="float" setter="set_predelay_msec" getter="get_predelay_msec" default="150.0">
+ Time between the original signal and the early reflections of the reverb signal, in milliseconds.
</member>
- <member name="room_size" type="float" setter="set_room_size" getter="get_room_size">
- Dimensions of simulated room. Bigger means more echoes. Value can range from 0 to 1. Default value: [code]0.8[/code].
+ <member name="room_size" type="float" setter="set_room_size" getter="get_room_size" default="0.8">
+ Dimensions of simulated room. Bigger means more echoes. Value can range from 0 to 1.
</member>
- <member name="spread" type="float" setter="set_spread" getter="get_spread">
- Widens or narrows the stereo image of the reverb tail. 1 means fully widens. Value can range from 0 to 1. Default value: [code]1[/code].
+ <member name="spread" type="float" setter="set_spread" getter="get_spread" default="1.0">
+ Widens or narrows the stereo image of the reverb tail. 1 means fully widens. Value can range from 0 to 1.
</member>
- <member name="wet" type="float" setter="set_wet" getter="get_wet">
- Output percent of modified sound. At 0, only original sound is outputted. Value can range from 0 to 1. Default value: [code]0.5[/code].
+ <member name="wet" type="float" setter="set_wet" getter="get_wet" default="0.5">
+ Output percent of modified sound. At 0, only original sound is outputted. Value can range from 0 to 1.
</member>
</members>
<constants>
diff --git a/doc/classes/AudioEffectSpectrumAnalyzer.xml b/doc/classes/AudioEffectSpectrumAnalyzer.xml
index 8a71991437..a56e4f2692 100644
--- a/doc/classes/AudioEffectSpectrumAnalyzer.xml
+++ b/doc/classes/AudioEffectSpectrumAnalyzer.xml
@@ -9,11 +9,11 @@
<methods>
</methods>
<members>
- <member name="buffer_length" type="float" setter="set_buffer_length" getter="get_buffer_length">
+ <member name="buffer_length" type="float" setter="set_buffer_length" getter="get_buffer_length" default="2.0">
</member>
- <member name="fft_size" type="int" setter="set_fft_size" getter="get_fft_size" enum="AudioEffectSpectrumAnalyzer.FFT_Size">
+ <member name="fft_size" type="int" setter="set_fft_size" getter="get_fft_size" enum="AudioEffectSpectrumAnalyzer.FFT_Size" default="2">
</member>
- <member name="tap_back_pos" type="float" setter="set_tap_back_pos" getter="get_tap_back_pos">
+ <member name="tap_back_pos" type="float" setter="set_tap_back_pos" getter="get_tap_back_pos" default="0.01">
</member>
</members>
<constants>
@@ -28,6 +28,7 @@
<constant name="FFT_SIZE_4096" value="4" enum="FFT_Size">
</constant>
<constant name="FFT_SIZE_MAX" value="5" enum="FFT_Size">
+ Represents the size of the [enum FFT_Size] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml b/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml
index f4620f9905..ca068d572d 100644
--- a/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml
+++ b/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml
@@ -22,8 +22,10 @@
</methods>
<constants>
<constant name="MAGNITUDE_AVERAGE" value="0" enum="MagnitudeMode">
+ Use the average value as magnitude.
</constant>
<constant name="MAGNITUDE_MAX" value="1" enum="MagnitudeMode">
+ Use the maximum value as magnitude.
</constant>
</constants>
</class>
diff --git a/doc/classes/AudioEffectStereoEnhance.xml b/doc/classes/AudioEffectStereoEnhance.xml
index 95bc6128f2..6cb692b5d7 100644
--- a/doc/classes/AudioEffectStereoEnhance.xml
+++ b/doc/classes/AudioEffectStereoEnhance.xml
@@ -9,11 +9,11 @@
<methods>
</methods>
<members>
- <member name="pan_pullout" type="float" setter="set_pan_pullout" getter="get_pan_pullout">
+ <member name="pan_pullout" type="float" setter="set_pan_pullout" getter="get_pan_pullout" default="1.0">
</member>
- <member name="surround" type="float" setter="set_surround" getter="get_surround">
+ <member name="surround" type="float" setter="set_surround" getter="get_surround" default="0.0">
</member>
- <member name="time_pullout_ms" type="float" setter="set_time_pullout" getter="get_time_pullout">
+ <member name="time_pullout_ms" type="float" setter="set_time_pullout" getter="get_time_pullout" default="0.0">
</member>
</members>
<constants>
diff --git a/doc/classes/AudioServer.xml b/doc/classes/AudioServer.xml
index 6dc1600cf2..7581ae6935 100644
--- a/doc/classes/AudioServer.xml
+++ b/doc/classes/AudioServer.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioServer" inherits="Object" category="Core" version="3.2">
<brief_description>
- Server interface for low level audio access.
+ Server interface for low-level audio access.
</brief_description>
<description>
- AudioServer is a low level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.
+ AudioServer is a low-level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/audio/audio_buses.html</link>
@@ -68,13 +68,6 @@
Returns the amount of channels of the bus at index [code]bus_idx[/code].
</description>
</method>
- <method name="get_bus_count" qualifiers="const">
- <return type="int">
- </return>
- <description>
- Returns the number of available buses.
- </description>
- </method>
<method name="get_bus_effect">
<return type="AudioEffect">
</return>
@@ -165,29 +158,25 @@
Returns the volume of the bus at index [code]bus_idx[/code] in dB.
</description>
</method>
- <method name="get_device">
- <return type="String">
- </return>
- <description>
- </description>
- </method>
<method name="get_device_list">
<return type="Array">
</return>
<description>
+ Returns the names of all audio devices detected on the system.
</description>
</method>
<method name="get_mix_rate" qualifiers="const">
<return type="float">
</return>
<description>
- Returns the sample rate at the output of the audioserver.
+ Returns the sample rate at the output of the [AudioServer].
</description>
</method>
<method name="get_output_latency" qualifiers="const">
<return type="float">
</return>
<description>
+ Returns the audio driver's output latency.
</description>
</method>
<method name="get_speaker_mode" qualifiers="const">
@@ -251,7 +240,7 @@
<return type="void">
</return>
<description>
- Locks the audio drivers mainloop. Remember to unlock it afterwards.
+ Locks the audio driver's main loop. Remember to unlock it afterwards.
</description>
</method>
<method name="move_bus">
@@ -296,15 +285,6 @@
If [code]true[/code], the bus at index [code]bus_idx[/code] is bypassing effects.
</description>
</method>
- <method name="set_bus_count">
- <return type="void">
- </return>
- <argument index="0" name="amount" type="int">
- </argument>
- <description>
- Adds and removes buses to make the number of buses match [code]amount[/code].
- </description>
- </method>
<method name="set_bus_effect_enabled">
<return type="void">
</return>
@@ -382,14 +362,6 @@
Sets the volume of the bus at index [code]bus_idx[/code] to [code]volume_db[/code].
</description>
</method>
- <method name="set_device">
- <return type="void">
- </return>
- <argument index="0" name="device" type="String">
- </argument>
- <description>
- </description>
- </method>
<method name="swap_bus_effects">
<return type="void">
</return>
@@ -407,10 +379,21 @@
<return type="void">
</return>
<description>
- Unlocks the audiodriver's main loop. After locking it always unlock it.
+ Unlocks the audio driver's main loop. (After locking it, you should always unlock it.)
</description>
</method>
</methods>
+ <members>
+ <member name="bus_count" type="int" setter="set_bus_count" getter="get_bus_count" default="1">
+ Number of available audio buses.
+ </member>
+ <member name="device" type="String" setter="set_device" getter="get_device" default="&quot;Default&quot;">
+ Name of the current device (see [method get_device_list]).
+ </member>
+ <member name="global_rate_scale" type="float" setter="set_global_rate_scale" getter="get_global_rate_scale" default="1.0">
+ Scales the rate at which audio is played (i.e. setting it to [code]0.5[/code] will make the audio be played twice as fast).
+ </member>
+ </members>
<signals>
<signal name="bus_layout_changed">
<description>
@@ -420,15 +403,16 @@
</signals>
<constants>
<constant name="SPEAKER_MODE_STEREO" value="0" enum="SpeakerMode">
- Two or fewer speakers are detected.
+ Two or fewer speakers were detected.
</constant>
<constant name="SPEAKER_SURROUND_31" value="1" enum="SpeakerMode">
+ A 3.1 channel surround setup was detected.
</constant>
<constant name="SPEAKER_SURROUND_51" value="2" enum="SpeakerMode">
- A 5.1 channel surround setup detected.
+ A 5.1 channel surround setup was detected.
</constant>
<constant name="SPEAKER_SURROUND_71" value="3" enum="SpeakerMode">
- A 7.1 channel surround setup detected.
+ A 7.1 channel surround setup was detected.
</constant>
</constants>
</class>
diff --git a/doc/classes/AudioStreamGenerator.xml b/doc/classes/AudioStreamGenerator.xml
index ab06ddd710..9d67b88c71 100644
--- a/doc/classes/AudioStreamGenerator.xml
+++ b/doc/classes/AudioStreamGenerator.xml
@@ -9,9 +9,9 @@
<methods>
</methods>
<members>
- <member name="buffer_length" type="float" setter="set_buffer_length" getter="get_buffer_length">
+ <member name="buffer_length" type="float" setter="set_buffer_length" getter="get_buffer_length" default="0.5">
</member>
- <member name="mix_rate" type="float" setter="set_mix_rate" getter="get_mix_rate">
+ <member name="mix_rate" type="float" setter="set_mix_rate" getter="get_mix_rate" default="44100.0">
</member>
</members>
<constants>
diff --git a/doc/classes/AudioStreamPlayback.xml b/doc/classes/AudioStreamPlayback.xml
index 773a396bc4..92e654a50f 100644
--- a/doc/classes/AudioStreamPlayback.xml
+++ b/doc/classes/AudioStreamPlayback.xml
@@ -4,7 +4,7 @@
Meta class for playing back audio.
</brief_description>
<description>
- Can play, loop, pause a scroll through Audio. See [AudioStream] and [AudioStreamOGGVorbis] for usage.
+ Can play, loop, pause a scroll through audio. See [AudioStream] and [AudioStreamOGGVorbis] for usage.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/AudioStreamPlayer.xml b/doc/classes/AudioStreamPlayer.xml
index c6ec45f15e..92f3a9bd73 100644
--- a/doc/classes/AudioStreamPlayer.xml
+++ b/doc/classes/AudioStreamPlayer.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamPlayer" inherits="Node" category="Core" version="3.2">
<brief_description>
- Plays back audio.
+ Plays back audio non-positionally.
</brief_description>
<description>
- Plays background audio.
+ Plays an audio stream non-positionally.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/audio/audio_streams.html</link>
@@ -29,7 +29,7 @@
<argument index="0" name="from_position" type="float" default="0.0">
</argument>
<description>
- Plays the audio from the given position 'from_position', in seconds.
+ Plays the audio from the given [code]from_position[/code], in seconds.
</description>
</method>
<method name="seek">
@@ -50,27 +50,27 @@
</method>
</methods>
<members>
- <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled">
- If [code]true[/code], audio plays when added to scene tree. Default value: [code]false[/code].
+ <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled" default="false">
+ If [code]true[/code], audio plays when added to scene tree.
</member>
- <member name="bus" type="String" setter="set_bus" getter="get_bus">
+ <member name="bus" type="String" setter="set_bus" getter="get_bus" default="&quot;Master&quot;">
Bus on which this audio is playing.
</member>
- <member name="mix_target" type="int" setter="set_mix_target" getter="get_mix_target" enum="AudioStreamPlayer.MixTarget">
+ <member name="mix_target" type="int" setter="set_mix_target" getter="get_mix_target" enum="AudioStreamPlayer.MixTarget" default="0">
If the audio configuration has more than two speakers, this sets the target channels. See [code]MIX_TARGET_*[/code] constants.
</member>
- <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale">
+ <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0">
Changes the pitch and the tempo of the audio.
</member>
- <member name="playing" type="bool" setter="_set_playing" getter="is_playing">
+ <member name="playing" type="bool" setter="_set_playing" getter="is_playing" default="false">
If [code]true[/code], audio is playing.
</member>
- <member name="stream" type="AudioStream" setter="set_stream" getter="get_stream">
+ <member name="stream" type="AudioStream" setter="set_stream" getter="get_stream" default="null">
The [AudioStream] object to be played.
</member>
- <member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused">
+ <member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused" default="false">
</member>
- <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db">
+ <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db" default="0.0">
Volume of sound, in dB.
</member>
</members>
diff --git a/doc/classes/AudioStreamPlayer2D.xml b/doc/classes/AudioStreamPlayer2D.xml
index 51bf5e7574..362a096810 100644
--- a/doc/classes/AudioStreamPlayer2D.xml
+++ b/doc/classes/AudioStreamPlayer2D.xml
@@ -29,7 +29,7 @@
<argument index="0" name="from_position" type="float" default="0.0">
</argument>
<description>
- Plays the audio from the given position 'from_position', in seconds.
+ Plays the audio from the given position [code]from_position[/code], in seconds.
</description>
</method>
<method name="seek">
@@ -50,33 +50,33 @@
</method>
</methods>
<members>
- <member name="area_mask" type="int" setter="set_area_mask" getter="get_area_mask">
+ <member name="area_mask" type="int" setter="set_area_mask" getter="get_area_mask" default="1">
Areas in which this sound plays.
</member>
- <member name="attenuation" type="float" setter="set_attenuation" getter="get_attenuation">
+ <member name="attenuation" type="float" setter="set_attenuation" getter="get_attenuation" default="1.0">
Dampens audio over distance with this as an exponent.
</member>
- <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled">
- If [code]true[/code], audio plays when added to scene tree. Default value: [code]false[/code].
+ <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled" default="false">
+ If [code]true[/code], audio plays when added to scene tree.
</member>
- <member name="bus" type="String" setter="set_bus" getter="get_bus">
+ <member name="bus" type="String" setter="set_bus" getter="get_bus" default="&quot;Master&quot;">
Bus on which this audio is playing.
</member>
- <member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance">
+ <member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="2000.0">
Maximum distance from which audio is still hearable.
</member>
- <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale">
+ <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0">
Changes the pitch and the tempo of the audio.
</member>
- <member name="playing" type="bool" setter="_set_playing" getter="is_playing">
+ <member name="playing" type="bool" setter="_set_playing" getter="is_playing" default="false">
If [code]true[/code], audio is playing.
</member>
- <member name="stream" type="AudioStream" setter="set_stream" getter="get_stream">
+ <member name="stream" type="AudioStream" setter="set_stream" getter="get_stream" default="null">
The [AudioStream] object to be played.
</member>
- <member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused">
+ <member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused" default="false">
</member>
- <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db">
+ <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db" default="0.0">
Base volume without dampening.
</member>
</members>
diff --git a/doc/classes/AudioStreamPlayer3D.xml b/doc/classes/AudioStreamPlayer3D.xml
index 2bd3ac1eaa..d722f2164d 100644
--- a/doc/classes/AudioStreamPlayer3D.xml
+++ b/doc/classes/AudioStreamPlayer3D.xml
@@ -29,7 +29,7 @@
<argument index="0" name="from_position" type="float" default="0.0">
</argument>
<description>
- Plays the audio from the given position 'from_position', in seconds.
+ Plays the audio from the given position [code]from_position[/code], in seconds.
</description>
</method>
<method name="seek">
@@ -50,67 +50,67 @@
</method>
</methods>
<members>
- <member name="area_mask" type="int" setter="set_area_mask" getter="get_area_mask">
+ <member name="area_mask" type="int" setter="set_area_mask" getter="get_area_mask" default="1">
Areas in which this sound plays.
</member>
- <member name="attenuation_filter_cutoff_hz" type="float" setter="set_attenuation_filter_cutoff_hz" getter="get_attenuation_filter_cutoff_hz">
+ <member name="attenuation_filter_cutoff_hz" type="float" setter="set_attenuation_filter_cutoff_hz" getter="get_attenuation_filter_cutoff_hz" default="5000.0">
Dampens audio above this frequency, in Hz.
</member>
- <member name="attenuation_filter_db" type="float" setter="set_attenuation_filter_db" getter="get_attenuation_filter_db">
+ <member name="attenuation_filter_db" type="float" setter="set_attenuation_filter_db" getter="get_attenuation_filter_db" default="-24.0">
Amount how much the filter affects the loudness, in dB.
</member>
- <member name="attenuation_model" type="int" setter="set_attenuation_model" getter="get_attenuation_model" enum="AudioStreamPlayer3D.AttenuationModel">
+ <member name="attenuation_model" type="int" setter="set_attenuation_model" getter="get_attenuation_model" enum="AudioStreamPlayer3D.AttenuationModel" default="0">
Decides if audio should get quieter with distance linearly, quadratically, logarithmically, or not be affected by distance, effectively disabling attenuation.
</member>
- <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled">
- If [code]true[/code], audio plays when added to scene tree. Default value: [code]false[/code].
+ <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled" default="false">
+ If [code]true[/code], audio plays when added to scene tree.
</member>
- <member name="bus" type="String" setter="set_bus" getter="get_bus">
+ <member name="bus" type="String" setter="set_bus" getter="get_bus" default="&quot;Master&quot;">
Bus on which this audio is playing.
</member>
- <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="AudioStreamPlayer3D.DopplerTracking">
+ <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="AudioStreamPlayer3D.DopplerTracking" default="0">
Decides in which step the Doppler effect should be calculated.
</member>
- <member name="emission_angle_degrees" type="float" setter="set_emission_angle" getter="get_emission_angle">
+ <member name="emission_angle_degrees" type="float" setter="set_emission_angle" getter="get_emission_angle" default="45.0">
The angle in which the audio reaches cameras undampened.
</member>
- <member name="emission_angle_enabled" type="bool" setter="set_emission_angle_enabled" getter="is_emission_angle_enabled">
+ <member name="emission_angle_enabled" type="bool" setter="set_emission_angle_enabled" getter="is_emission_angle_enabled" default="false">
If [code]true[/code], the audio should be dampened according to the direction of the sound.
</member>
- <member name="emission_angle_filter_attenuation_db" type="float" setter="set_emission_angle_filter_attenuation_db" getter="get_emission_angle_filter_attenuation_db">
- dampens audio if camera is outside of 'emission_angle_degrees' and 'emission_angle_enabled' is set by this factor, in dB.
+ <member name="emission_angle_filter_attenuation_db" type="float" setter="set_emission_angle_filter_attenuation_db" getter="get_emission_angle_filter_attenuation_db" default="-12.0">
+ Dampens audio if camera is outside of [member emission_angle_degrees] and [member emission_angle_enabled] is set by this factor, in dB.
</member>
- <member name="max_db" type="float" setter="set_max_db" getter="get_max_db">
+ <member name="max_db" type="float" setter="set_max_db" getter="get_max_db" default="3.0">
Sets the absolute maximum of the soundlevel, in dB.
</member>
- <member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance">
- Sets the distance from which the 'out_of_range_mode' takes effect. Has no effect if set to 0.
+ <member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="0.0">
+ Sets the distance from which the [member out_of_range_mode] takes effect. Has no effect if set to 0.
</member>
- <member name="out_of_range_mode" type="int" setter="set_out_of_range_mode" getter="get_out_of_range_mode" enum="AudioStreamPlayer3D.OutOfRangeMode">
- Decides if audio should pause when source is outside of 'max_distance' range.
+ <member name="out_of_range_mode" type="int" setter="set_out_of_range_mode" getter="get_out_of_range_mode" enum="AudioStreamPlayer3D.OutOfRangeMode" default="0">
+ Decides if audio should pause when source is outside of [member max_distance] range.
</member>
- <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale">
+ <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0">
Changes the pitch and the tempo of the audio.
</member>
- <member name="playing" type="bool" setter="_set_playing" getter="is_playing">
+ <member name="playing" type="bool" setter="_set_playing" getter="is_playing" default="false">
If [code]true[/code], audio is playing.
</member>
- <member name="stream" type="AudioStream" setter="set_stream" getter="get_stream">
+ <member name="stream" type="AudioStream" setter="set_stream" getter="get_stream" default="null">
The [AudioStream] object to be played.
</member>
- <member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused">
+ <member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused" default="false">
</member>
- <member name="unit_db" type="float" setter="set_unit_db" getter="get_unit_db">
+ <member name="unit_db" type="float" setter="set_unit_db" getter="get_unit_db" default="0.0">
Base sound level unaffected by dampening, in dB.
</member>
- <member name="unit_size" type="float" setter="set_unit_size" getter="get_unit_size">
+ <member name="unit_size" type="float" setter="set_unit_size" getter="get_unit_size" default="1.0">
Factor for the attenuation effect.
</member>
</members>
<signals>
<signal name="finished">
<description>
- Fires when the audio stops playing.
+ Emitted when the audio stops playing.
</description>
</signal>
</signals>
diff --git a/doc/classes/AudioStreamRandomPitch.xml b/doc/classes/AudioStreamRandomPitch.xml
index 49aa5a0192..9c73a64537 100644
--- a/doc/classes/AudioStreamRandomPitch.xml
+++ b/doc/classes/AudioStreamRandomPitch.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamRandomPitch" inherits="AudioStream" category="Core" version="3.2">
<brief_description>
- Plays audio with random pitch tweaking.
+ Plays audio with random pitch shifting.
</brief_description>
<description>
Randomly varies pitch on each start.
@@ -11,10 +11,10 @@
<methods>
</methods>
<members>
- <member name="audio_stream" type="AudioStream" setter="set_audio_stream" getter="get_audio_stream">
+ <member name="audio_stream" type="AudioStream" setter="set_audio_stream" getter="get_audio_stream" default="null">
The current [AudioStream].
</member>
- <member name="random_pitch" type="float" setter="set_random_pitch" getter="get_random_pitch">
+ <member name="random_pitch" type="float" setter="set_random_pitch" getter="get_random_pitch" default="1.1">
The intensity of random pitch variation.
</member>
</members>
diff --git a/doc/classes/AudioStreamSample.xml b/doc/classes/AudioStreamSample.xml
index 4bcf8ea791..6d03301749 100644
--- a/doc/classes/AudioStreamSample.xml
+++ b/doc/classes/AudioStreamSample.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamSample" inherits="AudioStream" category="Core" version="3.2">
<brief_description>
- Stores audio data loaded from [code].wav[/code] files.
+ Stores audio data loaded from WAV files.
</brief_description>
<description>
- AudioStreamSample stores sound samples loaded from [code].wav[/code] files. To play the stored sound use an [AudioStreamPlayer] (for background music) or [AudioStreamPlayer2D]/[AudioStreamPlayer3D] (for positional audio). The sound can be looped.
- This class can also be used to store dynamically generated PCM audio data.
+ AudioStreamSample stores sound samples loaded from WAV files. To play the stored sound, use an [AudioStreamPlayer] (for non-positional audio) or [AudioStreamPlayer2D]/[AudioStreamPlayer3D] (for positional audio). The sound can be looped.
+ This class can also be used to store dynamically-generated PCM audio data.
</description>
<tutorials>
</tutorials>
@@ -17,54 +17,54 @@
</argument>
<description>
Saves the AudioStreamSample as a WAV file to [code]path[/code]. Samples with IMA ADPCM format can't be saved.
- Note that a [code].wav[/code] extension is automatically appended to [code]path[/code] if it is missing.
+ [b]Note:[/b] A [code].wav[/code] extension is automatically appended to [code]path[/code] if it is missing.
</description>
</method>
</methods>
<members>
- <member name="data" type="PoolByteArray" setter="set_data" getter="get_data">
+ <member name="data" type="PoolByteArray" setter="set_data" getter="get_data" default="PoolByteArray( )">
Contains the audio data in bytes.
</member>
- <member name="format" type="int" setter="set_format" getter="get_format" enum="AudioStreamSample.Format">
- Audio format. See FORMAT_* constants for values.
+ <member name="format" type="int" setter="set_format" getter="get_format" enum="AudioStreamSample.Format" default="0">
+ Audio format. See [code]FORMAT_*[/code] constants for values.
</member>
- <member name="loop_begin" type="int" setter="set_loop_begin" getter="get_loop_begin">
+ <member name="loop_begin" type="int" setter="set_loop_begin" getter="get_loop_begin" default="0">
Loop start in bytes.
</member>
- <member name="loop_end" type="int" setter="set_loop_end" getter="get_loop_end">
+ <member name="loop_end" type="int" setter="set_loop_end" getter="get_loop_end" default="0">
Loop end in bytes.
</member>
- <member name="loop_mode" type="int" setter="set_loop_mode" getter="get_loop_mode" enum="AudioStreamSample.LoopMode">
- Loop mode. See LOOP_* constants for values.
+ <member name="loop_mode" type="int" setter="set_loop_mode" getter="get_loop_mode" enum="AudioStreamSample.LoopMode" default="0">
+ Loop mode. See [code]LOOP_*[/code] constants for values.
</member>
- <member name="mix_rate" type="int" setter="set_mix_rate" getter="get_mix_rate">
+ <member name="mix_rate" type="int" setter="set_mix_rate" getter="get_mix_rate" default="44100">
The sample rate for mixing this audio.
</member>
- <member name="stereo" type="bool" setter="set_stereo" getter="is_stereo">
- If [code]true[/code], audio is stereo. Default value: [code]false[/code].
+ <member name="stereo" type="bool" setter="set_stereo" getter="is_stereo" default="false">
+ If [code]true[/code], audio is stereo.
</member>
</members>
<constants>
<constant name="FORMAT_8_BITS" value="0" enum="Format">
- Audio codec 8 bit.
+ 8-bit audio codec.
</constant>
<constant name="FORMAT_16_BITS" value="1" enum="Format">
- Audio codec 16 bit.
+ 16-bit audio codec.
</constant>
<constant name="FORMAT_IMA_ADPCM" value="2" enum="Format">
- Audio codec IMA ADPCM.
+ Audio is compressed using IMA ADPCM.
</constant>
<constant name="LOOP_DISABLED" value="0" enum="LoopMode">
Audio does not loop.
</constant>
<constant name="LOOP_FORWARD" value="1" enum="LoopMode">
- Audio loops the data between loop_begin and loop_end playing forward only.
+ Audio loops the data between [member loop_begin] and [member loop_end] playing forward only.
</constant>
<constant name="LOOP_PING_PONG" value="2" enum="LoopMode">
- Audio loops the data between loop_begin and loop_end playing back and forth.
+ Audio loops the data between [member loop_begin] and [member loop_end] playing back and forth.
</constant>
<constant name="LOOP_BACKWARD" value="3" enum="LoopMode">
- Audio loops the data between loop_begin and loop_end playing backward only.
+ Audio loops the data between [member loop_begin] and [member loop_end] playing backward only.
</constant>
</constants>
</class>
diff --git a/doc/classes/BackBufferCopy.xml b/doc/classes/BackBufferCopy.xml
index 65e8774c59..9bb32e0444 100644
--- a/doc/classes/BackBufferCopy.xml
+++ b/doc/classes/BackBufferCopy.xml
@@ -4,18 +4,18 @@
Copies a region of the screen (or the whole screen) to a buffer so it can be accessed with [code]SCREEN_TEXTURE[/code] in the [code]texture()[/code] function.
</brief_description>
<description>
- Node for back-buffering the currently displayed screen. The region defined in the BackBufferCopy node is bufferized with the content of the screen it covers, or the entire screen according to the copy mode set. Use [code]SCREEN_TEXTURE[/code] in the [code]texture()[/code] function to access the buffer.
+ Node for back-buffering the currently-displayed screen. The region defined in the BackBufferCopy node is bufferized with the content of the screen it covers, or the entire screen according to the copy mode set. Use [code]SCREEN_TEXTURE[/code] in the [code]texture()[/code] function to access the buffer.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="copy_mode" type="int" setter="set_copy_mode" getter="get_copy_mode" enum="BackBufferCopy.CopyMode">
- Buffer mode. See [code]COPY_MODE_*[/code] constants.
+ <member name="copy_mode" type="int" setter="set_copy_mode" getter="get_copy_mode" enum="BackBufferCopy.CopyMode" default="1">
+ Buffer mode. See [enum CopyMode] constants.
</member>
- <member name="rect" type="Rect2" setter="set_rect" getter="get_rect">
- The area covered by the BackBufferCopy. Only used if [code]copy_mode[/code] is [code]COPY_MODE_RECT[/code].
+ <member name="rect" type="Rect2" setter="set_rect" getter="get_rect" default="Rect2( -100, -100, 200, 200 )">
+ The area covered by the BackBufferCopy. Only used if [member copy_mode] is [constant COPY_MODE_RECT].
</member>
</members>
<constants>
diff --git a/doc/classes/BakedLightmap.xml b/doc/classes/BakedLightmap.xml
index 735e55cd39..571a6fde80 100644
--- a/doc/classes/BakedLightmap.xml
+++ b/doc/classes/BakedLightmap.xml
@@ -28,44 +28,44 @@
</method>
</methods>
<members>
- <member name="bake_cell_size" type="float" setter="set_bake_cell_size" getter="get_bake_cell_size">
- Grid subdivision size for lightmapper calculation. Default value of [code]0.25[/code] will work for most cases. Increase for better lighting on small details or if your scene is very large.
+ <member name="bake_cell_size" type="float" setter="set_bake_cell_size" getter="get_bake_cell_size" default="0.25">
+ Grid subdivision size for lightmapper calculation. The default value will work for most cases. Increase for better lighting on small details or if your scene is very large.
</member>
- <member name="bake_energy" type="float" setter="set_energy" getter="get_energy">
+ <member name="bake_energy" type="float" setter="set_energy" getter="get_energy" default="1.0">
</member>
- <member name="bake_extents" type="Vector3" setter="set_extents" getter="get_extents">
- Size of affected area.
+ <member name="bake_extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3( 10, 10, 10 )">
+ The size of the affected area.
</member>
- <member name="bake_hdr" type="bool" setter="set_hdr" getter="is_hdr">
- If [code]true[/code], lightmap can capture light values greater than [code]1.0[/code]. Turning this off will result in a smaller lightmap. Default value:[code]false[/code].
+ <member name="bake_hdr" type="bool" setter="set_hdr" getter="is_hdr" default="false">
+ If [code]true[/code], the lightmap can capture light values greater than [code]1.0[/code]. Turning this off will result in a smaller file size.
</member>
- <member name="bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="BakedLightmap.BakeMode">
+ <member name="bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="BakedLightmap.BakeMode" default="0">
Lightmapping mode. See [enum BakeMode].
</member>
- <member name="bake_propagation" type="float" setter="set_propagation" getter="get_propagation">
+ <member name="bake_propagation" type="float" setter="set_propagation" getter="get_propagation" default="1.0">
</member>
- <member name="bake_quality" type="int" setter="set_bake_quality" getter="get_bake_quality" enum="BakedLightmap.BakeQuality">
+ <member name="bake_quality" type="int" setter="set_bake_quality" getter="get_bake_quality" enum="BakedLightmap.BakeQuality" default="1">
Three quality modes are available. Higher quality requires more rendering time. See [enum BakeQuality].
</member>
- <member name="capture_cell_size" type="float" setter="set_capture_cell_size" getter="get_capture_cell_size">
+ <member name="capture_cell_size" type="float" setter="set_capture_cell_size" getter="get_capture_cell_size" default="0.5">
Grid size used for real-time capture information on dynamic objects. Cannot be larger than [member bake_cell_size].
</member>
- <member name="image_path" type="String" setter="set_image_path" getter="get_image_path">
- Location where lightmaps will be saved.
+ <member name="image_path" type="String" setter="set_image_path" getter="get_image_path" default="&quot;.&quot;">
+ The location where lightmaps will be saved.
</member>
- <member name="light_data" type="BakedLightmapData" setter="set_light_data" getter="get_light_data">
+ <member name="light_data" type="BakedLightmapData" setter="set_light_data" getter="get_light_data" default="null">
The calculated light data.
</member>
</members>
<constants>
<constant name="BAKE_QUALITY_LOW" value="0" enum="BakeQuality">
- Lowest bake quality mode. Fastest to calculate.
+ The lowest bake quality mode. Fastest to calculate.
</constant>
<constant name="BAKE_QUALITY_MEDIUM" value="1" enum="BakeQuality">
- Default bake quality mode.
+ The default bake quality mode.
</constant>
<constant name="BAKE_QUALITY_HIGH" value="2" enum="BakeQuality">
- Highest bake quality mode. Takes longer to calculate.
+ The highest bake quality mode. Takes longer to calculate.
</constant>
<constant name="BAKE_MODE_CONE_TRACE" value="0" enum="BakeMode">
Less precise but faster bake mode.
diff --git a/doc/classes/BakedLightmapData.xml b/doc/classes/BakedLightmapData.xml
index 75f3187434..68bbfb8f60 100644
--- a/doc/classes/BakedLightmapData.xml
+++ b/doc/classes/BakedLightmapData.xml
@@ -49,15 +49,15 @@
</method>
</methods>
<members>
- <member name="bounds" type="AABB" setter="set_bounds" getter="get_bounds">
+ <member name="bounds" type="AABB" setter="set_bounds" getter="get_bounds" default="AABB( 0, 0, 0, 0, 0, 0 )">
</member>
- <member name="cell_space_transform" type="Transform" setter="set_cell_space_transform" getter="get_cell_space_transform">
+ <member name="cell_space_transform" type="Transform" setter="set_cell_space_transform" getter="get_cell_space_transform" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
</member>
- <member name="cell_subdiv" type="int" setter="set_cell_subdiv" getter="get_cell_subdiv">
+ <member name="cell_subdiv" type="int" setter="set_cell_subdiv" getter="get_cell_subdiv" default="1">
</member>
- <member name="energy" type="float" setter="set_energy" getter="get_energy">
+ <member name="energy" type="float" setter="set_energy" getter="get_energy" default="1.0">
</member>
- <member name="octree" type="PoolByteArray" setter="set_octree" getter="get_octree">
+ <member name="octree" type="PoolByteArray" setter="set_octree" getter="get_octree" default="PoolByteArray( )">
</member>
</members>
<constants>
diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml
index 6d1a7a8f87..f306adced2 100644
--- a/doc/classes/BaseButton.xml
+++ b/doc/classes/BaseButton.xml
@@ -29,7 +29,7 @@
<return type="int" enum="BaseButton.DrawMode">
</return>
<description>
- Returns the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the DRAW_* enum.
+ Returns the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the [code]DRAW_*[/code] enum.
</description>
</method>
<method name="is_hovered" qualifiers="const">
@@ -41,35 +41,35 @@
</method>
</methods>
<members>
- <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="BaseButton.ActionMode">
- Determines when the button is considered clicked, one of the ACTION_MODE_* constants.
+ <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="BaseButton.ActionMode" default="1">
+ Determines when the button is considered clicked, one of the [code]ACTION_MODE_*[/code] constants.
</member>
- <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask">
+ <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" default="1">
Binary mask to choose which mouse buttons this button will respond to.
To allow both left-click and right-click, use [code]BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT[/code].
</member>
- <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
+ <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
If [code]true[/code], the button is in disabled state and can't be clicked or toggled.
</member>
- <member name="enabled_focus_mode" type="int" setter="set_enabled_focus_mode" getter="get_enabled_focus_mode" enum="Control.FocusMode">
+ <member name="enabled_focus_mode" type="int" setter="set_enabled_focus_mode" getter="get_enabled_focus_mode" enum="Control.FocusMode" default="2">
Focus access mode to use when switching between enabled/disabled (see [member Control.focus_mode] and [member disabled]).
</member>
- <member name="group" type="ButtonGroup" setter="set_button_group" getter="get_button_group">
+ <member name="group" type="ButtonGroup" setter="set_button_group" getter="get_button_group" default="null">
[ButtonGroup] associated to the button.
</member>
- <member name="keep_pressed_outside" type="bool" setter="set_keep_pressed_outside" getter="is_keep_pressed_outside">
- If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it. Default value: [code]false[/code].
+ <member name="keep_pressed_outside" type="bool" setter="set_keep_pressed_outside" getter="is_keep_pressed_outside" default="false">
+ If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it.
</member>
- <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed">
+ <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if toggle_mode is active).
</member>
- <member name="shortcut" type="ShortCut" setter="set_shortcut" getter="get_shortcut">
+ <member name="shortcut" type="ShortCut" setter="set_shortcut" getter="get_shortcut" default="null">
[ShortCut] associated to the button.
</member>
- <member name="shortcut_in_tooltip" type="bool" setter="set_shortcut_in_tooltip" getter="is_shortcut_in_tooltip_enabled">
+ <member name="shortcut_in_tooltip" type="bool" setter="set_shortcut_in_tooltip" getter="is_shortcut_in_tooltip_enabled" default="true">
If [code]true[/code], the button will add information about its shortcut in the tooltip.
</member>
- <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode">
+ <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode" default="false">
If [code]true[/code], the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
</member>
</members>
@@ -86,14 +86,14 @@
</signal>
<signal name="pressed">
<description>
- This signal is emitted every time the button is toggled or pressed (i.e. activated, so on [code]button_down[/code] if "Click on press" is active and on [code]button_up[/code] otherwise).
+ Emitted when the button is toggled or pressed. This is on [signal button_down] if [member action_mode] is [constant ACTION_MODE_BUTTON_PRESS] and on [signal button_up] otherwise.
</description>
</signal>
<signal name="toggled">
<argument index="0" name="button_pressed" type="bool">
</argument>
<description>
- This signal is emitted when the button was just toggled between pressed and normal states (only if toggle_mode is active). The new state is contained in the [i]button_pressed[/i] argument.
+ Emitted when the button was just toggled between pressed and normal states (only if [member toggle_mode] is active). The new state is contained in the [code]button_pressed[/code] argument.
</description>
</signal>
</signals>
diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml
index ae7a3ff323..4d5c76a75c 100644
--- a/doc/classes/Basis.xml
+++ b/doc/classes/Basis.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Basis" category="Built-In Types" version="3.2">
<brief_description>
- 3x3 matrix datatype.
+ 3×3 matrix datatype.
</brief_description>
<description>
- 3x3 matrix used for 3D rotation and scale. Contains 3 vector fields x,y and z as its columns, which can be interpreted as the local basis vectors of a transformation. Can also be accessed as array of 3D vectors. These vectors are orthogonal to each other, but are not necessarily normalized (due to scaling). Almost always used as orthogonal basis for a [Transform].
+ 3×3 matrix used for 3D rotation and scale. Contains 3 vector fields X, Y and Z as its columns, which can be interpreted as the local basis vectors of a transformation. Can also be accessed as array of 3D vectors. These vectors are orthogonal to each other, but are not necessarily normalized (due to scaling). Almost always used as an orthogonal basis for a [Transform].
For such use, it is composed of a scaling and a rotation matrix, in that order (M = R.S).
</description>
<tutorials>
@@ -26,7 +26,7 @@
<argument index="0" name="from" type="Vector3">
</argument>
<description>
- Create a rotation matrix (in the YXZ convention: first Z, then X, and Y last) from the specified Euler angles, given in the vector format as (X-angle, Y-angle, Z-angle).
+ Create a rotation matrix (in the YXZ convention: first Z, then X, and Y last) from the specified Euler angles, given in the vector format as (X angle, Y angle, Z angle).
</description>
</method>
<method name="Basis">
@@ -64,7 +64,7 @@
<return type="Vector3">
</return>
<description>
- Assuming that the matrix is a proper rotation matrix (orthonormal matrix with determinant +1), return Euler angles (in the YXZ convention: first Z, then X, and Y last). Returned vector contains the rotation angles in the format (X-angle, Y-angle, Z-angle).
+ Assuming that the matrix is a proper rotation matrix (orthonormal matrix with determinant +1), return Euler angles (in the YXZ convention: first Z, then X, and Y last). Returned vector contains the rotation angles in the format (X angle, Y angle, Z angle).
</description>
</method>
<method name="get_orthogonal_index">
@@ -148,7 +148,7 @@
<argument index="0" name="with" type="Vector3">
</argument>
<description>
- Transposed dot product with the x axis of the matrix.
+ Transposed dot product with the X axis of the matrix.
</description>
</method>
<method name="tdoty">
@@ -157,7 +157,7 @@
<argument index="0" name="with" type="Vector3">
</argument>
<description>
- Transposed dot product with the y axis of the matrix.
+ Transposed dot product with the Y axis of the matrix.
</description>
</method>
<method name="tdotz">
@@ -166,7 +166,7 @@
<argument index="0" name="with" type="Vector3">
</argument>
<description>
- Transposed dot product with the z axis of the matrix.
+ Transposed dot product with the Z axis of the matrix.
</description>
</method>
<method name="transposed">
@@ -191,19 +191,20 @@
<argument index="0" name="v" type="Vector3">
</argument>
<description>
- Returns a vector transformed (multiplied) by the transposed matrix. Note that this results in a multiplication by the inverse of the matrix only if it represents a rotation-reflection.
+ Returns a vector transformed (multiplied) by the transposed matrix.
+ [b]Note:[/b] This results in a multiplication by the inverse of the matrix only if it represents a rotation-reflection.
</description>
</method>
</methods>
<members>
- <member name="x" type="Vector3" setter="" getter="">
- The basis matrix's x vector.
+ <member name="x" type="Vector3" setter="" getter="" default="Vector3( 1, 0, 0 )">
+ The basis matrix's X vector.
</member>
- <member name="y" type="Vector3" setter="" getter="">
- The basis matrix's y vector.
+ <member name="y" type="Vector3" setter="" getter="" default="Vector3( 0, 1, 0 )">
+ The basis matrix's Y vector.
</member>
- <member name="z" type="Vector3" setter="" getter="">
- The basis matrix's z vector.
+ <member name="z" type="Vector3" setter="" getter="" default="Vector3( 0, 0, 1 )">
+ The basis matrix's Z vector.
</member>
</members>
<constants>
diff --git a/doc/classes/BitmapFont.xml b/doc/classes/BitmapFont.xml
index 149d92e870..5ec4947f46 100644
--- a/doc/classes/BitmapFont.xml
+++ b/doc/classes/BitmapFont.xml
@@ -23,7 +23,7 @@
<argument index="4" name="advance" type="float" default="-1">
</argument>
<description>
- Adds a character to the font, where [code]character[/code] is the unicode value, [code]texture[/code] is the texture index, [code]rect[/code] is the region in the texture (in pixels!), [code]align[/code] is the (optional) alignment for the character and [code]advance[/code] is the (optional) advance.
+ Adds a character to the font, where [code]character[/code] is the Unicode value, [code]texture[/code] is the texture index, [code]rect[/code] is the region in the texture (in pixels!), [code]align[/code] is the (optional) alignment for the character and [code]advance[/code] is the (optional) advance.
</description>
</method>
<method name="add_kerning_pair">
@@ -104,16 +104,16 @@
</method>
</methods>
<members>
- <member name="ascent" type="float" setter="set_ascent" getter="get_ascent">
+ <member name="ascent" type="float" setter="set_ascent" getter="get_ascent" default="0.0">
Ascent (number of pixels above the baseline).
</member>
- <member name="distance_field" type="bool" setter="set_distance_field_hint" getter="is_distance_field_hint">
+ <member name="distance_field" type="bool" setter="set_distance_field_hint" getter="is_distance_field_hint" default="false">
If [code]true[/code], distance field hint is enabled.
</member>
- <member name="fallback" type="BitmapFont" setter="set_fallback" getter="get_fallback">
+ <member name="fallback" type="BitmapFont" setter="set_fallback" getter="get_fallback" default="null">
The fallback font.
</member>
- <member name="height" type="float" setter="set_height" getter="get_height">
+ <member name="height" type="float" setter="set_height" getter="get_height" default="1.0">
Total font height (ascent plus descent) in pixels.
</member>
</members>
diff --git a/doc/classes/Bone2D.xml b/doc/classes/Bone2D.xml
index 757c6c6a34..21e08f13f9 100644
--- a/doc/classes/Bone2D.xml
+++ b/doc/classes/Bone2D.xml
@@ -35,10 +35,10 @@
</method>
</methods>
<members>
- <member name="default_length" type="float" setter="set_default_length" getter="get_default_length">
+ <member name="default_length" type="float" setter="set_default_length" getter="get_default_length" default="16.0">
Length of the bone's representation drawn in the editor's viewport in pixels.
</member>
- <member name="rest" type="Transform2D" setter="set_rest" getter="get_rest">
+ <member name="rest" type="Transform2D" setter="set_rest" getter="get_rest" default="Transform2D( 0, 0, 0, 0, 0, 0 )">
Rest transform of the bone. You can reset the node's transforms to this value using [method apply_rest].
</member>
</members>
diff --git a/doc/classes/BoneAttachment.xml b/doc/classes/BoneAttachment.xml
index 109cac4fa3..a6145b6a78 100644
--- a/doc/classes/BoneAttachment.xml
+++ b/doc/classes/BoneAttachment.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="bone_name" type="String" setter="set_bone_name" getter="get_bone_name">
+ <member name="bone_name" type="String" setter="set_bone_name" getter="get_bone_name" default="&quot;&quot;">
The name of the attached bone.
</member>
</members>
diff --git a/doc/classes/BoxContainer.xml b/doc/classes/BoxContainer.xml
index 9aa69e4164..77db8b74db 100644
--- a/doc/classes/BoxContainer.xml
+++ b/doc/classes/BoxContainer.xml
@@ -15,13 +15,13 @@
<argument index="0" name="begin" type="bool">
</argument>
<description>
- Adds a control to the box as a spacer. If [code]true[/code], [i]begin[/i] will insert the spacer control in front of other children.
+ Adds a control to the box as a spacer. If [code]true[/code], [code]begin[/code] will insert the spacer control in front of other children.
</description>
</method>
</methods>
<members>
- <member name="alignment" type="int" setter="set_alignment" getter="get_alignment" enum="BoxContainer.AlignMode">
- The alignment of the container's children (must be one of ALIGN_BEGIN, ALIGN_CENTER, or ALIGN_END).
+ <member name="alignment" type="int" setter="set_alignment" getter="get_alignment" enum="BoxContainer.AlignMode" default="0">
+ The alignment of the container's children (must be one of [constant ALIGN_BEGIN], [constant ALIGN_CENTER] or [constant ALIGN_END]).
</member>
</members>
<constants>
diff --git a/doc/classes/BoxShape.xml b/doc/classes/BoxShape.xml
index 3678c0e393..9e3977b342 100644
--- a/doc/classes/BoxShape.xml
+++ b/doc/classes/BoxShape.xml
@@ -11,8 +11,8 @@
<methods>
</methods>
<members>
- <member name="extents" type="Vector3" setter="set_extents" getter="get_extents">
- The shape's half extents.
+ <member name="extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3( 1, 1, 1 )">
+ The box's half extents. The width, height and depth of this shape is twice the half extents.
</member>
</members>
<constants>
diff --git a/doc/classes/Button.xml b/doc/classes/Button.xml
index 5d3027e347..3d8730b588 100644
--- a/doc/classes/Button.xml
+++ b/doc/classes/Button.xml
@@ -11,19 +11,19 @@
<methods>
</methods>
<members>
- <member name="align" type="int" setter="set_text_align" getter="get_text_align" enum="Button.TextAlign">
- Text alignment policy for the button's text, use one of the ALIGN_* constants.
+ <member name="align" type="int" setter="set_text_align" getter="get_text_align" enum="Button.TextAlign" default="1">
+ Text alignment policy for the button's text, use one of the [code]ALIGN_*[/code] constants.
</member>
- <member name="clip_text" type="bool" setter="set_clip_text" getter="get_clip_text">
+ <member name="clip_text" type="bool" setter="set_clip_text" getter="get_clip_text" default="false">
When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text. This property is disabled by default.
</member>
- <member name="flat" type="bool" setter="set_flat" getter="is_flat">
+ <member name="flat" type="bool" setter="set_flat" getter="is_flat" default="false">
Flat buttons don't display decoration.
</member>
- <member name="icon" type="Texture" setter="set_button_icon" getter="get_button_icon">
+ <member name="icon" type="Texture" setter="set_button_icon" getter="get_button_icon" default="null">
Button's icon, if text is present the icon will be placed before the text.
</member>
- <member name="text" type="String" setter="set_text" getter="get_text">
+ <member name="text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
The button's text that will be displayed inside the button's area.
</member>
</members>
@@ -45,17 +45,17 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.2 )">
</theme_item>
- <theme_item name="font_color_hover" type="Color">
+ <theme_item name="font_color_hover" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="font_color_pressed" type="Color">
+ <theme_item name="font_color_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="2">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
diff --git a/doc/classes/CPUParticles.xml b/doc/classes/CPUParticles.xml
index c9c92102f3..8152a52c86 100644
--- a/doc/classes/CPUParticles.xml
+++ b/doc/classes/CPUParticles.xml
@@ -28,140 +28,143 @@
</method>
</methods>
<members>
- <member name="amount" type="int" setter="set_amount" getter="get_amount">
+ <member name="amount" type="int" setter="set_amount" getter="get_amount" default="8">
Number of particles emitted in one emission cycle.
</member>
- <member name="angle" type="float" setter="set_param" getter="get_param">
+ <member name="angle" type="float" setter="set_param" getter="get_param" default="0.0">
Initial rotation applied to each particle, in degrees.
</member>
- <member name="angle_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="angle_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's rotation will be animated along this [Curve].
</member>
- <member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Rotation randomness ratio. Default value: [code]0[/code].
+ <member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Rotation randomness ratio.
</member>
- <member name="angular_velocity" type="float" setter="set_param" getter="get_param">
+ <member name="angular_velocity" type="float" setter="set_param" getter="get_param" default="0.0">
Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.
</member>
- <member name="angular_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="angular_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's angular velocity will vary along this [Curve].
</member>
- <member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Angular velocity randomness ratio. Default value: [code]0[/code].
+ <member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Angular velocity randomness ratio.
</member>
- <member name="anim_offset" type="float" setter="set_param" getter="get_param">
+ <member name="anim_offset" type="float" setter="set_param" getter="get_param" default="0.0">
Particle animation offset.
</member>
- <member name="anim_offset_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="anim_offset_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's animation offset will vary along this [Curve].
</member>
- <member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Animation offset randomness ratio. Default value: [code]0[/code].
+ <member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Animation offset randomness ratio.
</member>
- <member name="anim_speed" type="float" setter="set_param" getter="get_param">
+ <member name="anim_speed" type="float" setter="set_param" getter="get_param" default="0.0">
Particle animation speed.
</member>
- <member name="anim_speed_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="anim_speed_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's animation speed will vary along this [Curve].
</member>
- <member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Animation speed randomness ratio. Default value: [code]0[/code].
+ <member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Animation speed randomness ratio.
</member>
- <member name="color" type="Color" setter="set_color" getter="get_color">
+ <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )">
Unused for 3D particles.
</member>
- <member name="color_ramp" type="Gradient" setter="set_color_ramp" getter="get_color_ramp">
+ <member name="color_ramp" type="Gradient" setter="set_color_ramp" getter="get_color_ramp" default="null">
Unused for 3D particles.
</member>
- <member name="damping" type="float" setter="set_param" getter="get_param">
+ <member name="damping" type="float" setter="set_param" getter="get_param" default="0.0">
The rate at which particles lose velocity.
</member>
- <member name="damping_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="damping_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Damping will vary along this [Curve].
</member>
- <member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Damping randomness ratio. Default value: [code]0[/code].
+ <member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Damping randomness ratio.
</member>
- <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="CPUParticles.DrawOrder">
- Particle draw order. Uses [enum DrawOrder] values. Default value: [constant DRAW_ORDER_INDEX].
+ <member name="direction" type="Vector3" setter="set_direction" getter="get_direction" default="Vector3( 1, 0, 0 )">
+ Unit vector specifying the particles' emission direction.
+ </member>
+ <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="CPUParticles.DrawOrder" default="0">
+ Particle draw order. Uses [enum DrawOrder] values.
</member>
<member name="emission_box_extents" type="Vector3" setter="set_emission_box_extents" getter="get_emission_box_extents">
The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_BOX].
</member>
- <member name="emission_colors" type="PoolColorArray" setter="set_emission_colors" getter="get_emission_colors">
+ <member name="emission_colors" type="PoolColorArray" setter="set_emission_colors" getter="get_emission_colors" default="PoolColorArray( )">
</member>
<member name="emission_normals" type="PoolVector3Array" setter="set_emission_normals" getter="get_emission_normals">
</member>
- <member name="emission_points" type="PoolVector3Array" setter="set_emission_points" getter="get_emission_points">
+ <member name="emission_points" type="PoolVector3Array" setter="set_emission_points" getter="get_emission_points" default="PoolVector3Array( )">
</member>
- <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles.EmissionShape">
- Particles will be emitted inside this region. Use [enum EmissionShape] for values. Default value: [constant EMISSION_SHAPE_POINT].
+ <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles.EmissionShape" default="0">
+ Particles will be emitted inside this region. See [enum EmissionShape] for possible values.
</member>
<member name="emission_sphere_radius" type="float" setter="set_emission_sphere_radius" getter="get_emission_sphere_radius">
The sphere's radius if [enum EmissionShape] is set to [constant EMISSION_SHAPE_SPHERE].
</member>
- <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting">
- If [code]true[/code], particles are being emitted. Default value: [code]true[/code].
+ <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting" default="true">
+ If [code]true[/code], particles are being emitted.
</member>
- <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio">
- How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins. Default value: [code]0[/code].
+ <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio" default="0.0">
+ How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins.
</member>
- <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps">
+ <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="0">
The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.
</member>
- <member name="flag_align_y" type="bool" setter="set_particle_flag" getter="get_particle_flag">
- Align y-axis of particle with the direction of its velocity.
+ <member name="flag_align_y" type="bool" setter="set_particle_flag" getter="get_particle_flag" default="false">
+ Align Y axis of particle with the direction of its velocity.
</member>
- <member name="flag_disable_z" type="bool" setter="set_particle_flag" getter="get_particle_flag">
- If [code]true[/code], particles will not move on the z axis. Default value: [code]false[/code].
+ <member name="flag_disable_z" type="bool" setter="set_particle_flag" getter="get_particle_flag" default="false">
+ If [code]true[/code], particles will not move on the z axis.
</member>
- <member name="flag_rotate_y" type="bool" setter="set_particle_flag" getter="get_particle_flag">
- If [code]true[/code], particles rotate around y-axis by [member angle].
+ <member name="flag_rotate_y" type="bool" setter="set_particle_flag" getter="get_particle_flag" default="false">
+ If [code]true[/code], particles rotate around Y axis by [member angle].
</member>
- <member name="flatness" type="float" setter="set_flatness" getter="get_flatness">
- Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane. Default [code]0[/code].
+ <member name="flatness" type="float" setter="set_flatness" getter="get_flatness" default="0.0">
+ Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane.
</member>
- <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta">
- If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. Default value: [code]true[/code]
+ <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true">
+ If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
</member>
- <member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity">
- Gravity applied to every particle. Default value: [code](0, -9.8, 0)[/code].
+ <member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity" default="Vector3( 0, -9.8, 0 )">
+ Gravity applied to every particle.
</member>
- <member name="hue_variation" type="float" setter="set_param" getter="get_param">
+ <member name="hue_variation" type="float" setter="set_param" getter="get_param" default="0.0">
Initial hue variation applied to each particle.
</member>
- <member name="hue_variation_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="hue_variation_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's hue will vary along this [Curve].
</member>
- <member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Hue variation randomness ratio. Default value: [code]0[/code].
+ <member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Hue variation randomness ratio.
</member>
- <member name="initial_velocity" type="float" setter="set_param" getter="get_param">
+ <member name="initial_velocity" type="float" setter="set_param" getter="get_param" default="0.0">
Initial velocity magnitude for each particle. Direction comes from [member spread] and the node's orientation.
</member>
- <member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Initial velocity randomness ratio. Default value: [code]0[/code].
+ <member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Initial velocity randomness ratio.
</member>
- <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime">
- Amount of time each particle will exist. Default value: [code]1[/code].
+ <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime" default="1.0">
+ Amount of time each particle will exist.
</member>
- <member name="linear_accel" type="float" setter="set_param" getter="get_param">
+ <member name="linear_accel" type="float" setter="set_param" getter="get_param" default="0.0">
Linear acceleration applied to each particle in the direction of motion.
</member>
- <member name="linear_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="linear_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's linear acceleration will vary along this [Curve].
</member>
- <member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Linear acceleration randomness ratio. Default value: [code]0[/code].
+ <member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Linear acceleration randomness ratio.
</member>
- <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates">
- If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates. Default value: [code]true[/code].
+ <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates" default="true">
+ If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.
</member>
- <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
+ <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh" default="null">
The [Mesh] used for each particle. If [code]null[/code], particles will be spheres.
</member>
- <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot">
- If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end. Default value: [code]false[/code].
+ <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false">
+ If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end.
</member>
<member name="orbit_velocity" type="float" setter="set_param" getter="get_param">
Orbital velocity applied to each particle. Makes the particles circle around origin in the local XY plane. Specified in number of full rotations around origin per second.
@@ -171,46 +174,46 @@
Each particle's orbital velocity will vary along this [Curve].
</member>
<member name="orbit_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Orbital velocity randomness ratio. Default value: [code]0[/code].
+ Orbital velocity randomness ratio.
</member>
- <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time">
+ <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time" default="0.0">
Particle system starts as if it had already run for this many seconds.
</member>
- <member name="radial_accel" type="float" setter="set_param" getter="get_param">
+ <member name="radial_accel" type="float" setter="set_param" getter="get_param" default="0.0">
Radial acceleration applied to each particle. Makes particle accelerate away from origin.
</member>
- <member name="radial_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="radial_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's radial acceleration will vary along this [Curve].
</member>
- <member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Radial acceleration randomness ratio. Default value: [code]0[/code].
+ <member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Radial acceleration randomness ratio.
</member>
- <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio">
- Emission lifetime randomness ratio. Default value: [code]0[/code].
+ <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio" default="0.0">
+ Emission lifetime randomness ratio.
</member>
- <member name="scale_amount" type="float" setter="set_param" getter="get_param">
+ <member name="scale_amount" type="float" setter="set_param" getter="get_param" default="1.0">
Initial scale applied to each particle.
</member>
- <member name="scale_amount_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="scale_amount_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's scale will vary along this [Curve].
</member>
- <member name="scale_amount_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Scale randomness ratio. Default value: [code]0[/code].
+ <member name="scale_amount_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Scale randomness ratio.
</member>
- <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale">
- Particle system's running speed scaling ratio. Default value: [code]1[/code]. A value of [code]0[/code] can be used to pause the particles.
+ <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
+ Particle system's running speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.
</member>
- <member name="spread" type="float" setter="set_spread" getter="get_spread">
- Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Default value: [code]45[/code].
+ <member name="spread" type="float" setter="set_spread" getter="get_spread" default="45.0">
+ Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Applied to X/Z plane and Y/Z planes.
</member>
- <member name="tangential_accel" type="float" setter="set_param" getter="get_param">
+ <member name="tangential_accel" type="float" setter="set_param" getter="get_param" default="0.0">
Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
</member>
- <member name="tangential_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="tangential_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's tangential acceleration will vary along this [Curve].
</member>
- <member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Tangential acceleration randomness ratio. Default value: [code]0[/code].
+ <member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Tangential acceleration randomness ratio.
</member>
</members>
<constants>
diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml
index 7283d5084c..585b8b5f5b 100644
--- a/doc/classes/CPUParticles2D.xml
+++ b/doc/classes/CPUParticles2D.xml
@@ -29,62 +29,65 @@
</method>
</methods>
<members>
- <member name="amount" type="int" setter="set_amount" getter="get_amount">
+ <member name="amount" type="int" setter="set_amount" getter="get_amount" default="8">
Number of particles emitted in one emission cycle.
</member>
- <member name="angle" type="float" setter="set_param" getter="get_param">
+ <member name="angle" type="float" setter="set_param" getter="get_param" default="0.0">
Initial rotation applied to each particle, in degrees.
</member>
- <member name="angle_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="angle_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's rotation will be animated along this [Curve].
</member>
- <member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Rotation randomness ratio. Default value: [code]0[/code].
+ <member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Rotation randomness ratio.
</member>
- <member name="angular_velocity" type="float" setter="set_param" getter="get_param">
+ <member name="angular_velocity" type="float" setter="set_param" getter="get_param" default="0.0">
Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.
</member>
- <member name="angular_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="angular_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's angular velocity will vary along this [Curve].
</member>
- <member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Angular velocity randomness ratio. Default value: [code]0[/code].
+ <member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Angular velocity randomness ratio.
</member>
- <member name="anim_offset" type="float" setter="set_param" getter="get_param">
+ <member name="anim_offset" type="float" setter="set_param" getter="get_param" default="0.0">
Particle animation offset.
</member>
- <member name="anim_offset_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="anim_offset_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's animation offset will vary along this [Curve].
</member>
- <member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Animation offset randomness ratio. Default value: [code]0[/code].
+ <member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Animation offset randomness ratio.
</member>
- <member name="anim_speed" type="float" setter="set_param" getter="get_param">
+ <member name="anim_speed" type="float" setter="set_param" getter="get_param" default="0.0">
Particle animation speed.
</member>
- <member name="anim_speed_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="anim_speed_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's animation speed will vary along this [Curve].
</member>
- <member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Animation speed randomness ratio. Default value: [code]0[/code].
+ <member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Animation speed randomness ratio.
</member>
- <member name="color" type="Color" setter="set_color" getter="get_color">
+ <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )">
Each particle's initial color. If [member texture] is defined, it will be multiplied by this color.
</member>
- <member name="color_ramp" type="Gradient" setter="set_color_ramp" getter="get_color_ramp">
+ <member name="color_ramp" type="Gradient" setter="set_color_ramp" getter="get_color_ramp" default="null">
Each particle's color will vary along this [Gradient].
</member>
- <member name="damping" type="float" setter="set_param" getter="get_param">
+ <member name="damping" type="float" setter="set_param" getter="get_param" default="0.0">
The rate at which particles lose velocity.
</member>
- <member name="damping_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="damping_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Damping will vary along this [Curve].
</member>
- <member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Damping randomness ratio. Default value: [code]0[/code].
+ <member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Damping randomness ratio.
</member>
- <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="CPUParticles2D.DrawOrder">
- Particle draw order. Uses [enum DrawOrder] values. Default value: [constant DRAW_ORDER_INDEX].
+ <member name="direction" type="Vector2" setter="set_direction" getter="get_direction" default="Vector2( 1, 0 )">
+ Unit vector specifying the particles' emission direction.
+ </member>
+ <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="CPUParticles2D.DrawOrder" default="0">
+ Particle draw order. Uses [enum DrawOrder] values.
</member>
<member name="emission_colors" type="PoolColorArray" setter="set_emission_colors" getter="get_emission_colors">
</member>
@@ -95,118 +98,118 @@
<member name="emission_rect_extents" type="Vector2" setter="set_emission_rect_extents" getter="get_emission_rect_extents">
The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_RECTANGLE].
</member>
- <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles2D.EmissionShape">
- Particles will be emitted inside this region. Use [enum EmissionShape] for values. Default value: [constant EMISSION_SHAPE_POINT].
+ <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles2D.EmissionShape" default="0">
+ Particles will be emitted inside this region. See [enum EmissionShape] for possible values.
</member>
<member name="emission_sphere_radius" type="float" setter="set_emission_sphere_radius" getter="get_emission_sphere_radius">
The sphere's radius if [member emission_shape] is set to [constant EMISSION_SHAPE_SPHERE].
</member>
- <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting">
- If [code]true[/code], particles are being emitted. Default value: [code]true[/code].
+ <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting" default="true">
+ If [code]true[/code], particles are being emitted.
</member>
- <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio">
- How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins. Default value: [code]0[/code].
+ <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio" default="0.0">
+ How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins.
</member>
- <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps">
+ <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="0">
The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
</member>
- <member name="flag_align_y" type="bool" setter="set_particle_flag" getter="get_particle_flag">
- Align y-axis of particle with the direction of its velocity.
+ <member name="flag_align_y" type="bool" setter="set_particle_flag" getter="get_particle_flag" default="false">
+ Align Y axis of particle with the direction of its velocity.
</member>
- <member name="flatness" type="float" setter="set_flatness" getter="get_flatness">
+ <member name="flatness" type="float" setter="set_flatness" getter="get_flatness" default="0.0">
</member>
- <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta">
- If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. Default value: [code]true[/code]
+ <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true">
+ If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
</member>
- <member name="gravity" type="Vector2" setter="set_gravity" getter="get_gravity">
- Gravity applied to every particle. Default value: [code](0, 98)[/code].
+ <member name="gravity" type="Vector2" setter="set_gravity" getter="get_gravity" default="Vector2( 0, 98 )">
+ Gravity applied to every particle.
</member>
- <member name="hue_variation" type="float" setter="set_param" getter="get_param">
+ <member name="hue_variation" type="float" setter="set_param" getter="get_param" default="0.0">
Initial hue variation applied to each particle.
</member>
- <member name="hue_variation_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="hue_variation_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's hue will vary along this [Curve].
</member>
- <member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Hue variation randomness ratio. Default value: [code]0[/code].
+ <member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Hue variation randomness ratio.
</member>
- <member name="initial_velocity" type="float" setter="set_param" getter="get_param">
+ <member name="initial_velocity" type="float" setter="set_param" getter="get_param" default="0.0">
Initial velocity magnitude for each particle. Direction comes from [member spread] and the node's orientation.
</member>
- <member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Initial velocity randomness ratio. Default value: [code]0[/code].
+ <member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Initial velocity randomness ratio.
</member>
- <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime">
- Amount of time each particle will exist. Default value: [code]1[/code].
+ <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime" default="1.0">
+ Amount of time each particle will exist.
</member>
- <member name="linear_accel" type="float" setter="set_param" getter="get_param">
+ <member name="linear_accel" type="float" setter="set_param" getter="get_param" default="0.0">
Linear acceleration applied to each particle in the direction of motion.
</member>
- <member name="linear_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="linear_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's linear acceleration will vary along this [Curve].
</member>
- <member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Linear acceleration randomness ratio. Default value: [code]0[/code].
+ <member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Linear acceleration randomness ratio.
</member>
- <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates">
- If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates. Default value: [code]true[/code].
+ <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates" default="true">
+ If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.
</member>
- <member name="normalmap" type="Texture" setter="set_normalmap" getter="get_normalmap">
+ <member name="normalmap" type="Texture" setter="set_normalmap" getter="get_normalmap" default="null">
Normal map to be used for the [member texture] property.
</member>
- <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot">
- If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end. Default value: [code]false[/code].
+ <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false">
+ If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end.
</member>
- <member name="orbit_velocity" type="float" setter="set_param" getter="get_param">
+ <member name="orbit_velocity" type="float" setter="set_param" getter="get_param" default="0.0">
Orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
</member>
- <member name="orbit_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="orbit_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's orbital velocity will vary along this [Curve].
</member>
- <member name="orbit_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Orbital velocity randomness ratio. Default value: [code]0[/code].
+ <member name="orbit_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Orbital velocity randomness ratio.
</member>
- <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time">
+ <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time" default="0.0">
Particle system starts as if it had already run for this many seconds.
</member>
- <member name="radial_accel" type="float" setter="set_param" getter="get_param">
+ <member name="radial_accel" type="float" setter="set_param" getter="get_param" default="0.0">
Radial acceleration applied to each particle. Makes particle accelerate away from origin.
</member>
- <member name="radial_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="radial_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's radial acceleration will vary along this [Curve].
</member>
- <member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Radial acceleration randomness ratio. Default value: [code]0[/code].
+ <member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Radial acceleration randomness ratio.
</member>
- <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio">
- Emission lifetime randomness ratio. Default value: [code]0[/code].
+ <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio" default="0.0">
+ Emission lifetime randomness ratio.
</member>
- <member name="scale_amount" type="float" setter="set_param" getter="get_param">
+ <member name="scale_amount" type="float" setter="set_param" getter="get_param" default="1.0">
Initial scale applied to each particle.
</member>
- <member name="scale_amount_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="scale_amount_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's scale will vary along this [Curve].
</member>
- <member name="scale_amount_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Scale randomness ratio. Default value: [code]0[/code].
+ <member name="scale_amount_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Scale randomness ratio.
</member>
- <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale">
- Particle system's running speed scaling ratio. Default value: [code]1[/code]. A value of [code]0[/code] can be used to pause the particles.
+ <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
+ Particle system's running speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.
</member>
- <member name="spread" type="float" setter="set_spread" getter="get_spread">
- Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Default value: [code]45[/code].
+ <member name="spread" type="float" setter="set_spread" getter="get_spread" default="45.0">
+ Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees.
</member>
- <member name="tangential_accel" type="float" setter="set_param" getter="get_param">
+ <member name="tangential_accel" type="float" setter="set_param" getter="get_param" default="0.0">
Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
</member>
- <member name="tangential_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ <member name="tangential_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve" default="null">
Each particle's tangential acceleration will vary along this [Curve].
</member>
- <member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Tangential acceleration randomness ratio. Default value: [code]0[/code].
+ <member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Tangential acceleration randomness ratio.
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
- Particle texture. If [code]null[/code] particles will be squares.
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
+ Particle texture. If [code]null[/code], particles will be squares.
</member>
</members>
<constants>
diff --git a/doc/classes/Camera.xml b/doc/classes/Camera.xml
index cc869d28a2..c22413ae7e 100644
--- a/doc/classes/Camera.xml
+++ b/doc/classes/Camera.xml
@@ -4,7 +4,7 @@
Camera node, displays from a point of view.
</brief_description>
<description>
- Camera is a special node that displays what is visible from its current location. Cameras register themselves in the nearest [Viewport] node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the Camera will register in the global viewport. In other words, a Camera just provides [i]3D[/i] display capabilities to a [Viewport], and, without one, a scene registered in that [Viewport] (or higher viewports) can't be displayed.
+ Camera is a special node that displays what is visible from its current location. Cameras register themselves in the nearest [Viewport] node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the camera will register in the global viewport. In other words, a camera just provides 3D display capabilities to a [Viewport], and, without one, a scene registered in that [Viewport] (or higher viewports) can't be displayed.
</description>
<tutorials>
</tutorials>
@@ -15,7 +15,7 @@
<argument index="0" name="enable_next" type="bool" default="true">
</argument>
<description>
- If this is the current Camera, remove it from being current. If [code]enable_next[/code] is [code]true[/code], request to make the next Camera current, if any.
+ If this is the current camera, remove it from being current. If [code]enable_next[/code] is [code]true[/code], request to make the next camera current, if any.
</description>
</method>
<method name="get_camera_rid" qualifiers="const">
@@ -29,7 +29,7 @@
<return type="Transform">
</return>
<description>
- Gets the camera transform. Subclassed cameras (such as CharacterCamera) may provide different transforms than the [Node] transform.
+ Gets the camera transform. Subclassed cameras such as [InterpolatedCamera] may provide different transforms than the [Node] transform.
</description>
</method>
<method name="get_cull_mask_bit" qualifiers="const">
@@ -52,14 +52,15 @@
<argument index="0" name="world_point" type="Vector3">
</argument>
<description>
- Returns [code]true[/code] if the given position is behind the Camera. Note that a position which returns [code]false[/code] may still be outside the Camera's field of view.
+ Returns [code]true[/code] if the given position is behind the camera.
+ [b]Note:[/b] A position which returns [code]false[/code] may still be outside the camera's field of view.
</description>
</method>
<method name="make_current">
<return type="void">
</return>
<description>
- Makes this camera the current Camera for the [Viewport] (see class description). If the Camera Node is outside the scene tree, it will attempt to become current once it's added.
+ Makes this camera the current camera for the [Viewport] (see class description). If the camera node is outside the scene tree, it will attempt to become current once it's added.
</description>
</method>
<method name="project_local_ray_normal" qualifiers="const">
@@ -134,7 +135,7 @@
<argument index="2" name="z_far" type="float">
</argument>
<description>
- Sets the camera projection to orthogonal mode, by specifying a width and the [i]near[/i] and [i]far[/i] clip planes in worldspace units. (As a hint, 2D games often use this projection, with values specified in pixels)
+ Sets the camera projection to orthogonal mode, by specifying a width and the [code]near[/code] and [code]far[/code] clip planes in worldspace units. (As a hint, 2D games often use this projection, with values specified in pixels)
</description>
</method>
<method name="set_perspective">
@@ -147,7 +148,7 @@
<argument index="2" name="z_far" type="float">
</argument>
<description>
- Sets the camera projection to perspective mode, by specifying a [i]FOV[/i] Y angle in degrees (FOV means Field of View), and the [i]near[/i] and [i]far[/i] clip planes in worldspace units.
+ Sets the camera projection to perspective mode, by specifying a [code]fov[/code] angle in degrees (FOV means Field of View), and the [code]near[/code] and [code]far[/code] clip planes in world-space units.
</description>
</method>
<method name="unproject_position" qualifiers="const">
@@ -161,68 +162,69 @@
</method>
</methods>
<members>
- <member name="cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask">
+ <member name="cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask" default="1048575">
The culling mask that describes which 3D render layers are rendered by this camera.
</member>
- <member name="current" type="bool" setter="set_current" getter="is_current">
- If [code]true[/code], the ancestor [Viewport] is currently using this Camera. Default value: [code]false[/code].
+ <member name="current" type="bool" setter="set_current" getter="is_current" default="false">
+ If [code]true[/code], the ancestor [Viewport] is currently using this camera.
</member>
- <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="Camera.DopplerTracking">
- If not [code]DOPPLER_TRACKING_DISABLED[/code] this Camera will simulate the Doppler effect for objects changed in particular [code]_process[/code] methods. Default value: [code]DOPPLER_TRACKING_DISABLED[/code].
+ <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="Camera.DopplerTracking" default="0">
+ If not [constant DOPPLER_TRACKING_DISABLED], this camera will simulate the Doppler effect for objects changed in particular [code]_process[/code] methods. See [enum DopplerTracking] for possible values.
</member>
- <member name="environment" type="Environment" setter="set_environment" getter="get_environment">
- The [Environment] to use for this Camera.
+ <member name="environment" type="Environment" setter="set_environment" getter="get_environment" default="null">
+ The [Environment] to use for this camera.
</member>
- <member name="far" type="float" setter="set_zfar" getter="get_zfar">
- The distance to the far culling boundary for this Camera relative to its local z-axis.
+ <member name="far" type="float" setter="set_zfar" getter="get_zfar" default="100.0">
+ The distance to the far culling boundary for this camera relative to its local Z axis.
</member>
- <member name="fov" type="float" setter="set_fov" getter="get_fov">
+ <member name="fov" type="float" setter="set_fov" getter="get_fov" default="70.0">
The camera's field of view angle (in degrees). Only applicable in perspective mode. Since [member keep_aspect] locks one axis, [code]fov[/code] sets the other axis' field of view angle.
</member>
- <member name="frustum_offset" type="Vector2" setter="set_frustum_offset" getter="get_frustum_offset">
+ <member name="frustum_offset" type="Vector2" setter="set_frustum_offset" getter="get_frustum_offset" default="Vector2( 0, 0 )">
</member>
- <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset">
- The horizontal (X) offset of the Camera viewport.
+ <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset" default="0.0">
+ The horizontal (X) offset of the camera viewport.
</member>
- <member name="keep_aspect" type="int" setter="set_keep_aspect_mode" getter="get_keep_aspect_mode" enum="Camera.KeepAspect">
- The axis to lock during [member fov]/[member size] adjustments. Can be either [code]KEEP_WIDTH[/code] or [code]KEEP_HEIGHT[/code].
+ <member name="keep_aspect" type="int" setter="set_keep_aspect_mode" getter="get_keep_aspect_mode" enum="Camera.KeepAspect" default="1">
+ The axis to lock during [member fov]/[member size] adjustments. Can be either [constant KEEP_WIDTH] or [constant KEEP_HEIGHT].
</member>
- <member name="near" type="float" setter="set_znear" getter="get_znear">
- The distance to the near culling boundary for this Camera relative to its local z-axis.
+ <member name="near" type="float" setter="set_znear" getter="get_znear" default="0.05">
+ The distance to the near culling boundary for this camera relative to its local Z axis.
</member>
- <member name="projection" type="int" setter="set_projection" getter="get_projection" enum="Camera.Projection">
- The camera's projection mode. In [code]PROJECTION_PERSPECTIVE[/code] mode, objects' z-distance from the camera's local space scales their perceived size.
+ <member name="projection" type="int" setter="set_projection" getter="get_projection" enum="Camera.Projection" default="0">
+ The camera's projection mode. In [constant PROJECTION_PERSPECTIVE] mode, objects' Z distance from the camera's local space scales their perceived size.
</member>
- <member name="size" type="float" setter="set_size" getter="get_size">
+ <member name="size" type="float" setter="set_size" getter="get_size" default="1.0">
The camera's size measured as 1/2 the width or height. Only applicable in orthogonal mode. Since [member keep_aspect] locks on axis, [code]size[/code] sets the other axis' size length.
</member>
- <member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset">
- The vertical (Y) offset of the Camera viewport.
+ <member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset" default="0.0">
+ The vertical (Y) offset of the camera viewport.
</member>
</members>
<constants>
<constant name="PROJECTION_PERSPECTIVE" value="0" enum="Projection">
- Perspective Projection (object's size on the screen becomes smaller when far away).
+ Perspective projection. Objects on the screen becomes smaller when they are far away.
</constant>
<constant name="PROJECTION_ORTHOGONAL" value="1" enum="Projection">
- Orthogonal Projection (objects remain the same size on the screen no matter how far away they are; also known as orthographic projection).
+ Orthogonal projection, also known as orthographic projection. Objects remain the same size on the screen no matter how far away they are.
</constant>
<constant name="PROJECTION_FRUSTUM" value="2" enum="Projection">
+ Frustum projection. This mode allows adjusting [member frustum_offset] to create "tilted frustum" effects.
</constant>
<constant name="KEEP_WIDTH" value="0" enum="KeepAspect">
- Preserves the horizontal aspect ratio.
+ Preserves the horizontal aspect ratio; also known as Vert- scaling. This is usually the best option for projects running in portrait mode, as taller aspect ratios will benefit from a wider vertical FOV.
</constant>
<constant name="KEEP_HEIGHT" value="1" enum="KeepAspect">
- Preserves the vertical aspect ratio.
+ Preserves the vertical aspect ratio; also known as Hor+ scaling. This is usually the best option for projects running in landscape mode, as wider aspect ratios will automatically benefit from a wider horizontal FOV.
</constant>
<constant name="DOPPLER_TRACKING_DISABLED" value="0" enum="DopplerTracking">
- Disable Doppler effect simulation (default).
+ Disables Doppler effect simulation (default).
</constant>
<constant name="DOPPLER_TRACKING_IDLE_STEP" value="1" enum="DopplerTracking">
- Simulate Doppler effect by tracking positions of objects that are changed in [code]_process[/code]. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's [code]pitch shift[/code]).
+ Simulate Doppler effect by tracking positions of objects that are changed in [code]_process[/code]. Changes in the relative velocity of this camera compared to those objects affect how Audio is perceived (changing the Audio's [code]pitch shift[/code]).
</constant>
<constant name="DOPPLER_TRACKING_PHYSICS_STEP" value="2" enum="DopplerTracking">
- Simulate Doppler effect by tracking positions of objects that are changed in [code]_physics_process[/code]. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's [code]pitch shift[/code]).
+ Simulate Doppler effect by tracking positions of objects that are changed in [code]_physics_process[/code]. Changes in the relative velocity of this camera compared to those objects affect how Audio is perceived (changing the Audio's [code]pitch shift[/code]).
</constant>
</constants>
</class>
diff --git a/doc/classes/Camera2D.xml b/doc/classes/Camera2D.xml
index fcc99123d2..e9a9f22e82 100644
--- a/doc/classes/Camera2D.xml
+++ b/doc/classes/Camera2D.xml
@@ -4,8 +4,8 @@
Camera node for 2D scenes.
</brief_description>
<description>
- Camera node for 2D scenes. It forces the screen (current layer) to scroll following this node. This makes it easier (and faster) to program scrollable scenes than manually changing the position of [CanvasItem] based nodes.
- This node is intended to be a simple helper to get things going quickly and it may happen often that more functionality is desired to change how the camera works. To make your own custom camera node, simply inherit from [Node2D] and change the transform of the canvas by calling get_viewport().set_canvas_transform(m) in [Viewport].
+ Camera node for 2D scenes. It forces the screen (current layer) to scroll following this node. This makes it easier (and faster) to program scrollable scenes than manually changing the position of [CanvasItem]-based nodes.
+ This node is intended to be a simple helper to get things going quickly and it may happen that more functionality is desired to change how the camera works. To make your own custom camera node, simply inherit from [Node2D] and change the transform of the canvas by calling get_viewport().set_canvas_transform(m) in [Viewport].
</description>
<tutorials>
</tutorials>
@@ -14,7 +14,7 @@
<return type="void">
</return>
<description>
- Align the camera to the tracked node
+ Aligns the camera to the tracked node.
</description>
</method>
<method name="clear_current">
@@ -28,7 +28,7 @@
<return type="void">
</return>
<description>
- Force the camera to update scroll immediately.
+ Forces the camera to update scroll immediately.
</description>
</method>
<method name="get_camera_position" qualifiers="const">
@@ -49,92 +49,92 @@
<return type="void">
</return>
<description>
- Make this the current 2D camera for the scene (viewport and layer), in case there's many cameras in the scene.
+ Make this the current 2D camera for the scene (viewport and layer), in case there are many cameras in the scene.
</description>
</method>
<method name="reset_smoothing">
<return type="void">
</return>
<description>
- Set the camera's position immediately to its current smoothing destination.
+ Sets the camera's position immediately to its current smoothing destination.
This has no effect if smoothing is disabled.
</description>
</method>
</methods>
<members>
- <member name="anchor_mode" type="int" setter="set_anchor_mode" getter="get_anchor_mode" enum="Camera2D.AnchorMode">
+ <member name="anchor_mode" type="int" setter="set_anchor_mode" getter="get_anchor_mode" enum="Camera2D.AnchorMode" default="1">
The Camera2D's anchor point. See [code]ANCHOR_MODE_*[/code] constants.
</member>
- <member name="current" type="bool" setter="_set_current" getter="is_current">
+ <member name="current" type="bool" setter="_set_current" getter="is_current" default="false">
If [code]true[/code], the camera is the active camera for the current scene. Only one camera can be current, so setting a different camera [code]current[/code] will disable this one.
</member>
<member name="custom_viewport" type="Node" setter="set_custom_viewport" getter="get_custom_viewport">
- The custom [Viewport] node attached to the [Camera2D]. If null or not a [Viewport], uses the default viewport instead.
+ The custom [Viewport] node attached to the [Camera2D]. If [code]null[/code] or not a [Viewport], uses the default viewport instead.
</member>
- <member name="drag_margin_bottom" type="float" setter="set_drag_margin" getter="get_drag_margin">
+ <member name="drag_margin_bottom" type="float" setter="set_drag_margin" getter="get_drag_margin" default="0.2">
Bottom margin needed to drag the camera. A value of [code]1[/code] makes the camera move only when reaching the edge of the screen.
</member>
- <member name="drag_margin_h_enabled" type="bool" setter="set_h_drag_enabled" getter="is_h_drag_enabled">
- If [code]true[/code], the camera only moves when reaching the horizontal drag margins. If [code]false[/code], the camera moves horizontally regardless of margins. Default value: [code]true[/code].
+ <member name="drag_margin_h_enabled" type="bool" setter="set_h_drag_enabled" getter="is_h_drag_enabled" default="true">
+ If [code]true[/code], the camera only moves when reaching the horizontal drag margins. If [code]false[/code], the camera moves horizontally regardless of margins.
</member>
- <member name="drag_margin_left" type="float" setter="set_drag_margin" getter="get_drag_margin">
+ <member name="drag_margin_left" type="float" setter="set_drag_margin" getter="get_drag_margin" default="0.2">
Left margin needed to drag the camera. A value of [code]1[/code] makes the camera move only when reaching the edge of the screen.
</member>
- <member name="drag_margin_right" type="float" setter="set_drag_margin" getter="get_drag_margin">
+ <member name="drag_margin_right" type="float" setter="set_drag_margin" getter="get_drag_margin" default="0.2">
Right margin needed to drag the camera. A value of [code]1[/code] makes the camera move only when reaching the edge of the screen.
</member>
- <member name="drag_margin_top" type="float" setter="set_drag_margin" getter="get_drag_margin">
+ <member name="drag_margin_top" type="float" setter="set_drag_margin" getter="get_drag_margin" default="0.2">
Top margin needed to drag the camera. A value of [code]1[/code] makes the camera move only when reaching the edge of the screen.
</member>
- <member name="drag_margin_v_enabled" type="bool" setter="set_v_drag_enabled" getter="is_v_drag_enabled">
- If [code]true[/code], the camera only moves when reaching the vertical drag margins. If [code]false[/code], the camera moves vertically regardless of margins. Default value: [code]true[/code].
+ <member name="drag_margin_v_enabled" type="bool" setter="set_v_drag_enabled" getter="is_v_drag_enabled" default="true">
+ If [code]true[/code], the camera only moves when reaching the vertical drag margins. If [code]false[/code], the camera moves vertically regardless of margins.
</member>
- <member name="editor_draw_drag_margin" type="bool" setter="set_margin_drawing_enabled" getter="is_margin_drawing_enabled">
- If [code]true[/code], draws the camera's drag margin rectangle in the editor. Default value: [code]false[/code]
+ <member name="editor_draw_drag_margin" type="bool" setter="set_margin_drawing_enabled" getter="is_margin_drawing_enabled" default="false">
+ If [code]true[/code], draws the camera's drag margin rectangle in the editor.
</member>
- <member name="editor_draw_limits" type="bool" setter="set_limit_drawing_enabled" getter="is_limit_drawing_enabled">
- If [code]true[/code], draws the camera's limits rectangle in the editor. Default value: [code]true[/code]
+ <member name="editor_draw_limits" type="bool" setter="set_limit_drawing_enabled" getter="is_limit_drawing_enabled" default="false">
+ If [code]true[/code], draws the camera's limits rectangle in the editor.
</member>
- <member name="editor_draw_screen" type="bool" setter="set_screen_drawing_enabled" getter="is_screen_drawing_enabled">
- If [code]true[/code], draws the camera's screen rectangle in the editor. Default value: [code]false[/code]
+ <member name="editor_draw_screen" type="bool" setter="set_screen_drawing_enabled" getter="is_screen_drawing_enabled" default="true">
+ If [code]true[/code], draws the camera's screen rectangle in the editor.
</member>
- <member name="limit_bottom" type="int" setter="set_limit" getter="get_limit">
+ <member name="limit_bottom" type="int" setter="set_limit" getter="get_limit" default="10000000">
Bottom scroll limit in pixels. The camera stops moving when reaching this value.
</member>
- <member name="limit_left" type="int" setter="set_limit" getter="get_limit">
+ <member name="limit_left" type="int" setter="set_limit" getter="get_limit" default="-10000000">
Left scroll limit in pixels. The camera stops moving when reaching this value.
</member>
- <member name="limit_right" type="int" setter="set_limit" getter="get_limit">
+ <member name="limit_right" type="int" setter="set_limit" getter="get_limit" default="10000000">
Right scroll limit in pixels. The camera stops moving when reaching this value.
</member>
- <member name="limit_smoothed" type="bool" setter="set_limit_smoothing_enabled" getter="is_limit_smoothing_enabled">
- If [code]true[/code], the camera smoothly stops when reaches its limits. Default value: [code]false[/code]
+ <member name="limit_smoothed" type="bool" setter="set_limit_smoothing_enabled" getter="is_limit_smoothing_enabled" default="false">
+ If [code]true[/code], the camera smoothly stops when reaches its limits.
</member>
- <member name="limit_top" type="int" setter="set_limit" getter="get_limit">
+ <member name="limit_top" type="int" setter="set_limit" getter="get_limit" default="-10000000">
Top scroll limit in pixels. The camera stops moving when reaching this value.
</member>
- <member name="offset" type="Vector2" setter="set_offset" getter="get_offset">
+ <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
The camera's offset, useful for looking around or camera shake animations.
</member>
- <member name="offset_h" type="float" setter="set_h_offset" getter="get_h_offset">
- The horizontal offset of the camera, relative to the drag margins. Default value: [code]0[/code]
+ <member name="offset_h" type="float" setter="set_h_offset" getter="get_h_offset" default="0.0">
+ The horizontal offset of the camera, relative to the drag margins.
</member>
- <member name="offset_v" type="float" setter="set_v_offset" getter="get_v_offset">
- The vertical offset of the camera, relative to the drag margins. Default value: [code]0[/code]
+ <member name="offset_v" type="float" setter="set_v_offset" getter="get_v_offset" default="0.0">
+ The vertical offset of the camera, relative to the drag margins.
</member>
- <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="Camera2D.Camera2DProcessMode">
+ <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="Camera2D.Camera2DProcessMode" default="1">
</member>
- <member name="rotating" type="bool" setter="set_rotating" getter="is_rotating">
- If [code]true[/code], the camera rotates with the target. Default value: [code]false[/code]
+ <member name="rotating" type="bool" setter="set_rotating" getter="is_rotating" default="false">
+ If [code]true[/code], the camera rotates with the target.
</member>
- <member name="smoothing_enabled" type="bool" setter="set_enable_follow_smoothing" getter="is_follow_smoothing_enabled">
- If [code]true[/code], the camera smoothly moves towards the target at [member smoothing_speed]. Default value: [code]false[/code]
+ <member name="smoothing_enabled" type="bool" setter="set_enable_follow_smoothing" getter="is_follow_smoothing_enabled" default="false">
+ If [code]true[/code], the camera smoothly moves towards the target at [member smoothing_speed].
</member>
- <member name="smoothing_speed" type="float" setter="set_follow_smoothing" getter="get_follow_smoothing">
- Speed in pixels per second of the camera's smoothing effect when [member smoothing_enabled] is [code]true[/code]
+ <member name="smoothing_speed" type="float" setter="set_follow_smoothing" getter="get_follow_smoothing" default="5.0">
+ Speed in pixels per second of the camera's smoothing effect when [member smoothing_enabled] is [code]true[/code].
</member>
- <member name="zoom" type="Vector2" setter="set_zoom" getter="get_zoom">
- The camera's zoom relative to the viewport. Values larger than [code]Vector2(1, 1)[/code] zoom out and smaller values zoom in. For an example, use [code]Vector2(0.5, 0.5)[/code] for a 2x zoom in, and [code]Vector2(4, 4)[/code] for a 4x zoom out.
+ <member name="zoom" type="Vector2" setter="set_zoom" getter="get_zoom" default="Vector2( 1, 1 )">
+ The camera's zoom relative to the viewport. Values larger than [code]Vector2(1, 1)[/code] zoom out and smaller values zoom in. For an example, use [code]Vector2(0.5, 0.5)[/code] for a 2× zoom-in, and [code]Vector2(4, 4)[/code] for a 4× zoom-out.
</member>
</members>
<constants>
diff --git a/doc/classes/CameraFeed.xml b/doc/classes/CameraFeed.xml
index 4611b9c507..6d7757f9f5 100644
--- a/doc/classes/CameraFeed.xml
+++ b/doc/classes/CameraFeed.xml
@@ -4,8 +4,8 @@
A camera feed gives you access to a single physical camera attached to your device.
</brief_description>
<description>
- A camera feed gives you access to a single physical camera attached to your device.
- When enabled Godot will start capturing frames from the camera which can then be used. Do note that many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.
+ A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used.
+ [b]Note:[/b] Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.
</description>
<tutorials>
</tutorials>
@@ -14,14 +14,14 @@
<return type="int">
</return>
<description>
- Get unique id for this feed
+ Gets the unique ID for this feed.
</description>
</method>
<method name="get_name" qualifiers="const">
<return type="String">
</return>
<description>
- Get name of the camera
+ Gets the camera's name.
</description>
</method>
<method name="get_position" qualifiers="const">
@@ -33,9 +33,9 @@
</method>
</methods>
<members>
- <member name="feed_is_active" type="bool" setter="set_active" getter="is_active">
+ <member name="feed_is_active" type="bool" setter="set_active" getter="is_active" default="false">
</member>
- <member name="feed_transform" type="Transform2D" setter="set_transform" getter="get_transform">
+ <member name="feed_transform" type="Transform2D" setter="set_transform" getter="get_transform" default="Transform2D( 1, 0, 0, -1, 0, 1 )">
</member>
</members>
<constants>
@@ -58,7 +58,7 @@
Camera is mounted at the front of the device.
</constant>
<constant name="FEED_BACK" value="2" enum="FeedPosition">
- Camera is moutned at the back of the device.
+ Camera is mounted at the back of the device.
</constant>
</constants>
</class>
diff --git a/doc/classes/CameraServer.xml b/doc/classes/CameraServer.xml
index ee41f08ec6..850794c1da 100644
--- a/doc/classes/CameraServer.xml
+++ b/doc/classes/CameraServer.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CameraServer" inherits="Object" category="Core" version="3.2">
<brief_description>
- Our camera server keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone.
+ The CameraServer keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone.
</brief_description>
<description>
</description>
diff --git a/doc/classes/CameraTexture.xml b/doc/classes/CameraTexture.xml
index 02f7f8bf58..15da46885f 100644
--- a/doc/classes/CameraTexture.xml
+++ b/doc/classes/CameraTexture.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CameraTexture" inherits="Texture" category="Core" version="3.2">
<brief_description>
- This texture gives access to the camera texture provided by a [CameraFeed]. Note that many cameras supply YCbCr images which need to be converted in a shader.
+ This texture gives access to the camera texture provided by a [CameraFeed].
+ [b]Note:[/b] Many cameras supply YCbCr images which need to be converted in a shader.
</brief_description>
<description>
</description>
@@ -10,13 +11,13 @@
<methods>
</methods>
<members>
- <member name="camera_feed_id" type="int" setter="set_camera_feed_id" getter="get_camera_feed_id">
- Id of the [CameraFeed] for which we want to display the image.
+ <member name="camera_feed_id" type="int" setter="set_camera_feed_id" getter="get_camera_feed_id" default="0">
+ The ID of the [CameraFeed] for which we want to display the image.
</member>
- <member name="camera_is_active" type="bool" setter="set_camera_active" getter="get_camera_active">
+ <member name="camera_is_active" type="bool" setter="set_camera_active" getter="get_camera_active" default="false">
Convenience property that gives access to the active property of the [CameraFeed].
</member>
- <member name="which_feed" type="int" setter="set_which_feed" getter="get_which_feed" enum="CameraServer.FeedImage">
+ <member name="which_feed" type="int" setter="set_which_feed" getter="get_which_feed" enum="CameraServer.FeedImage" default="0">
Which image within the [CameraFeed] we want access to, important if the camera image is split in a Y and CbCr component.
</member>
</members>
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml
index 2426471a49..5ac825ddcd 100644
--- a/doc/classes/CanvasItem.xml
+++ b/doc/classes/CanvasItem.xml
@@ -356,63 +356,63 @@
<return type="Transform2D">
</return>
<description>
- Get the transform matrix of this item's canvas.
+ Gets the transform matrix of this item's canvas.
</description>
</method>
<method name="get_global_mouse_position" qualifiers="const">
<return type="Vector2">
</return>
<description>
- Get the global position of the mouse.
+ Gets the global position of the mouse.
</description>
</method>
<method name="get_global_transform" qualifiers="const">
<return type="Transform2D">
</return>
<description>
- Get the global transform matrix of this item.
+ Gets the global transform matrix of this item.
</description>
</method>
<method name="get_global_transform_with_canvas" qualifiers="const">
<return type="Transform2D">
</return>
<description>
- Get the global transform matrix of this item in relation to the canvas.
+ Gets the global transform matrix of this item in relation to the canvas.
</description>
</method>
<method name="get_local_mouse_position" qualifiers="const">
<return type="Vector2">
</return>
<description>
- Get the mouse position relative to this item's position.
+ Gets the mouse position relative to this item's position.
</description>
</method>
<method name="get_transform" qualifiers="const">
<return type="Transform2D">
</return>
<description>
- Get the transform matrix of this item.
+ Gets the transform matrix of this item.
</description>
</method>
<method name="get_viewport_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
- Get the viewport's boundaries as a [Rect2].
+ Gets the viewport's boundaries as a [Rect2].
</description>
</method>
<method name="get_viewport_transform" qualifiers="const">
<return type="Transform2D">
</return>
<description>
- Get this item's transform in relation to the viewport.
+ Gets this item's transform in relation to the viewport.
</description>
</method>
<method name="get_world_2d" qualifiers="const">
<return type="World2D">
</return>
<description>
- Get the [World2D] where this item is in.
+ Gets the [World2D] where this item is in.
</description>
</method>
<method name="hide">
@@ -511,29 +511,29 @@
</method>
</methods>
<members>
- <member name="light_mask" type="int" setter="set_light_mask" getter="get_light_mask">
- The rendering layers in which this [CanvasItem] responds to [Light2D] nodes. Default value: [code]1[/code].
+ <member name="light_mask" type="int" setter="set_light_mask" getter="get_light_mask" default="1">
+ The rendering layers in which this [CanvasItem] responds to [Light2D] nodes.
</member>
- <member name="material" type="Material" setter="set_material" getter="get_material">
- The material applied to textures on this [CanvasItem]. Default value: [code]null[/code].
+ <member name="material" type="Material" setter="set_material" getter="get_material" default="null">
+ The material applied to textures on this [CanvasItem].
</member>
- <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate">
- The color applied to textures on this [CanvasItem]. Default value: [code]Color(1, 1, 1, 1)[/code] (opaque "white").
+ <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate" default="Color( 1, 1, 1, 1 )">
+ The color applied to textures on this [CanvasItem].
</member>
- <member name="self_modulate" type="Color" setter="set_self_modulate" getter="get_self_modulate">
- The color applied to textures on this [CanvasItem]. This is not inherited by children [CanvasItem]s. Default value: [code]Color(1, 1, 1, 1)[/code] (opaque "white")..
+ <member name="self_modulate" type="Color" setter="set_self_modulate" getter="get_self_modulate" default="Color( 1, 1, 1, 1 )">
+ The color applied to textures on this [CanvasItem]. This is not inherited by children [CanvasItem]s.
</member>
- <member name="show_behind_parent" type="bool" setter="set_draw_behind_parent" getter="is_draw_behind_parent_enabled">
- If [code]true[/code], the object draws behind its parent. Default value: [code]false[/code].
+ <member name="show_behind_parent" type="bool" setter="set_draw_behind_parent" getter="is_draw_behind_parent_enabled" default="false">
+ If [code]true[/code], the object draws behind its parent.
</member>
<member name="show_on_top" type="bool" setter="_set_on_top" getter="_is_on_top">
- If [code]true[/code], the object draws on top of its parent. Default value: [code]true[/code].
+ If [code]true[/code], the object draws on top of its parent.
</member>
- <member name="use_parent_material" type="bool" setter="set_use_parent_material" getter="get_use_parent_material">
- If [code]true[/code], the parent [CanvasItem]'s [member material] property is used as this one's material. Default value: [code]false[/code].
+ <member name="use_parent_material" type="bool" setter="set_use_parent_material" getter="get_use_parent_material" default="false">
+ If [code]true[/code], the parent [CanvasItem]'s [member material] property is used as this one's material.
</member>
- <member name="visible" type="bool" setter="set_visible" getter="is_visible">
- If [code]true[/code], this [CanvasItem] is drawn. Default value: [code]true[/code]. For controls that inherit [Popup], the correct way to make them visible is to call one of the multiple [code]popup*()[/code] functions instead.
+ <member name="visible" type="bool" setter="set_visible" getter="is_visible" default="true">
+ If [code]true[/code], this [CanvasItem] is drawn. For controls that inherit [Popup], the correct way to make them visible is to call one of the multiple [code]popup*()[/code] functions instead.
</member>
</members>
<signals>
@@ -575,7 +575,7 @@
Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
</constant>
<constant name="BLEND_MODE_DISABLED" value="5" enum="BlendMode">
- Disable blending mode. Colors including alpha are written as-is. Only applicable for render targets with a transparent background. No lighting will be applied.
+ Disables blending mode. Colors including alpha are written as-is. Only applicable for render targets with a transparent background. No lighting will be applied.
</constant>
<constant name="NOTIFICATION_TRANSFORM_CHANGED" value="2000">
The CanvasItem's transform has changed. This notification is only received if enabled by [method set_notify_transform] or [method set_notify_local_transform].
diff --git a/doc/classes/CanvasItemMaterial.xml b/doc/classes/CanvasItemMaterial.xml
index f125c2be0d..5963e00d9e 100644
--- a/doc/classes/CanvasItemMaterial.xml
+++ b/doc/classes/CanvasItemMaterial.xml
@@ -11,10 +11,10 @@
<methods>
</methods>
<members>
- <member name="blend_mode" type="int" setter="set_blend_mode" getter="get_blend_mode" enum="CanvasItemMaterial.BlendMode">
+ <member name="blend_mode" type="int" setter="set_blend_mode" getter="get_blend_mode" enum="CanvasItemMaterial.BlendMode" default="0">
The manner in which a material's rendering is applied to underlying textures.
</member>
- <member name="light_mode" type="int" setter="set_light_mode" getter="get_light_mode" enum="CanvasItemMaterial.LightMode">
+ <member name="light_mode" type="int" setter="set_light_mode" getter="get_light_mode" enum="CanvasItemMaterial.LightMode" default="0">
The manner in which material reacts to lighting.
</member>
<member name="particles_anim_h_frames" type="int" setter="set_particles_anim_h_frames" getter="get_particles_anim_h_frames">
@@ -23,7 +23,7 @@
</member>
<member name="particles_anim_v_frames" type="int" setter="set_particles_anim_v_frames" getter="get_particles_anim_v_frames">
</member>
- <member name="particles_animation" type="bool" setter="set_particles_animation" getter="get_particles_animation">
+ <member name="particles_animation" type="bool" setter="set_particles_animation" getter="get_particles_animation" default="false">
</member>
</members>
<constants>
diff --git a/doc/classes/CanvasLayer.xml b/doc/classes/CanvasLayer.xml
index d152442b85..2e56009f50 100644
--- a/doc/classes/CanvasLayer.xml
+++ b/doc/classes/CanvasLayer.xml
@@ -21,28 +21,28 @@
</methods>
<members>
<member name="custom_viewport" type="Node" setter="set_custom_viewport" getter="get_custom_viewport">
- The custom [Viewport] node assigned to the [CanvasLayer]. If null, uses the default viewport instead.
+ The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/code], uses the default viewport instead.
</member>
- <member name="follow_viewport_enable" type="bool" setter="set_follow_viewport" getter="is_following_viewport">
+ <member name="follow_viewport_enable" type="bool" setter="set_follow_viewport" getter="is_following_viewport" default="false">
</member>
- <member name="follow_viewport_scale" type="float" setter="set_follow_viewport_scale" getter="get_follow_viewport_scale">
+ <member name="follow_viewport_scale" type="float" setter="set_follow_viewport_scale" getter="get_follow_viewport_scale" default="1.0">
</member>
- <member name="layer" type="int" setter="set_layer" getter="get_layer">
- Layer index for draw order. Lower values are drawn first. Default value: [code]1[/code].
+ <member name="layer" type="int" setter="set_layer" getter="get_layer" default="1">
+ Layer index for draw order. Lower values are drawn first.
</member>
- <member name="offset" type="Vector2" setter="set_offset" getter="get_offset">
+ <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
The layer's base offset.
</member>
- <member name="rotation" type="float" setter="set_rotation" getter="get_rotation">
+ <member name="rotation" type="float" setter="set_rotation" getter="get_rotation" default="0.0">
The layer's rotation in radians.
</member>
- <member name="rotation_degrees" type="float" setter="set_rotation_degrees" getter="get_rotation_degrees">
+ <member name="rotation_degrees" type="float" setter="set_rotation_degrees" getter="get_rotation_degrees" default="0.0">
The layer's rotation in degrees.
</member>
- <member name="scale" type="Vector2" setter="set_scale" getter="get_scale">
+ <member name="scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2( 1, 1 )">
The layer's scale.
</member>
- <member name="transform" type="Transform2D" setter="set_transform" getter="get_transform">
+ <member name="transform" type="Transform2D" setter="set_transform" getter="get_transform" default="Transform2D( 1, 0, 0, 1, 0, 0 )">
The layer's transform.
</member>
</members>
diff --git a/doc/classes/CanvasModulate.xml b/doc/classes/CanvasModulate.xml
index c409b690e7..95214b8c6a 100644
--- a/doc/classes/CanvasModulate.xml
+++ b/doc/classes/CanvasModulate.xml
@@ -4,14 +4,14 @@
Tint the entire canvas.
</brief_description>
<description>
- [CanvasModulate] tints the canvas elements using its assigned [code]color[/code].
+ [CanvasModulate] tints the canvas elements using its assigned [member color].
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="color" type="Color" setter="set_color" getter="get_color">
+ <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )">
The tint color to apply.
</member>
</members>
diff --git a/doc/classes/CapsuleMesh.xml b/doc/classes/CapsuleMesh.xml
index eba440a84e..3cdb9b3e22 100644
--- a/doc/classes/CapsuleMesh.xml
+++ b/doc/classes/CapsuleMesh.xml
@@ -11,17 +11,17 @@
<methods>
</methods>
<members>
- <member name="mid_height" type="float" setter="set_mid_height" getter="get_mid_height">
- Height of the capsule mesh from the center point. Defaults to 1.0.
+ <member name="mid_height" type="float" setter="set_mid_height" getter="get_mid_height" default="1.0">
+ Height of the capsule mesh from the center point.
</member>
- <member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments">
- Number of radial segments on the capsule mesh. Defaults to 64.
+ <member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments" default="64">
+ Number of radial segments on the capsule mesh.
</member>
- <member name="radius" type="float" setter="set_radius" getter="get_radius">
- Radius of the capsule mesh. Defaults to 1.0.
+ <member name="radius" type="float" setter="set_radius" getter="get_radius" default="1.0">
+ Radius of the capsule mesh.
</member>
- <member name="rings" type="int" setter="set_rings" getter="get_rings">
- Number of rings along the height of the capsule. Defaults to 8.
+ <member name="rings" type="int" setter="set_rings" getter="get_rings" default="8">
+ Number of rings along the height of the capsule.
</member>
</members>
<constants>
diff --git a/doc/classes/CapsuleShape.xml b/doc/classes/CapsuleShape.xml
index c867dcf326..0b55ca3472 100644
--- a/doc/classes/CapsuleShape.xml
+++ b/doc/classes/CapsuleShape.xml
@@ -11,10 +11,10 @@
<methods>
</methods>
<members>
- <member name="height" type="float" setter="set_height" getter="get_height">
+ <member name="height" type="float" setter="set_height" getter="get_height" default="1.0">
The capsule's height.
</member>
- <member name="radius" type="float" setter="set_radius" getter="get_radius">
+ <member name="radius" type="float" setter="set_radius" getter="get_radius" default="1.0">
The capsule's radius.
</member>
</members>
diff --git a/doc/classes/CapsuleShape2D.xml b/doc/classes/CapsuleShape2D.xml
index c7724314d6..a13abadf36 100644
--- a/doc/classes/CapsuleShape2D.xml
+++ b/doc/classes/CapsuleShape2D.xml
@@ -11,10 +11,10 @@
<methods>
</methods>
<members>
- <member name="height" type="float" setter="set_height" getter="get_height">
+ <member name="height" type="float" setter="set_height" getter="get_height" default="20.0">
The capsule's height.
</member>
- <member name="radius" type="float" setter="set_radius" getter="get_radius">
+ <member name="radius" type="float" setter="set_radius" getter="get_radius" default="10.0">
The capsule's radius.
</member>
</members>
diff --git a/doc/classes/CenterContainer.xml b/doc/classes/CenterContainer.xml
index 5460831ce3..d792b1b180 100644
--- a/doc/classes/CenterContainer.xml
+++ b/doc/classes/CenterContainer.xml
@@ -4,15 +4,15 @@
Keeps children controls centered.
</brief_description>
<description>
- CenterContainer Keeps children controls centered. This container keeps all children to their minimum size, in the center.
+ CenterContainer keeps children controls centered. This container keeps all children to their minimum size, in the center.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="use_top_left" type="bool" setter="set_use_top_left" getter="is_using_top_left">
- If [code]true[/code], centers children relative to the [CenterContainer]'s top left corner. Default value: [code]false[/code].
+ <member name="use_top_left" type="bool" setter="set_use_top_left" getter="is_using_top_left" default="false">
+ If [code]true[/code], centers children relative to the [CenterContainer]'s top left corner.
</member>
</members>
<constants>
diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml
index d486b5fad2..5583775f95 100644
--- a/doc/classes/CheckBox.xml
+++ b/doc/classes/CheckBox.xml
@@ -4,7 +4,7 @@
Binary choice user interface widget.
</brief_description>
<description>
- A checkbox allows the user to make a binary choice (choosing only one of two possible options), for example Answer 'yes' or 'no'.
+ A checkbox allows the user to make a binary choice (choosing only one of two possible options).
</description>
<tutorials>
</tutorials>
@@ -13,7 +13,7 @@
<constants>
</constants>
<theme_items>
- <theme_item name="check_vadjust" type="int">
+ <theme_item name="check_vadjust" type="int" default="0">
</theme_item>
<theme_item name="checked" type="Texture">
</theme_item>
@@ -23,21 +23,21 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.2 )">
</theme_item>
- <theme_item name="font_color_hover" type="Color">
+ <theme_item name="font_color_hover" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="font_color_hover_pressed" type="Color">
+ <theme_item name="font_color_hover_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="font_color_pressed" type="Color">
+ <theme_item name="font_color_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hover_pressed" type="StyleBox">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="4">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml
index 04344c1834..daed9128a9 100644
--- a/doc/classes/CheckButton.xml
+++ b/doc/classes/CheckButton.xml
@@ -13,7 +13,7 @@
<constants>
</constants>
<theme_items>
- <theme_item name="check_vadjust" type="int">
+ <theme_item name="check_vadjust" type="int" default="0">
</theme_item>
<theme_item name="disabled" type="StyleBox">
</theme_item>
@@ -21,21 +21,21 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.2 )">
</theme_item>
- <theme_item name="font_color_hover" type="Color">
+ <theme_item name="font_color_hover" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="font_color_hover_pressed" type="Color">
+ <theme_item name="font_color_hover_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="font_color_pressed" type="Color">
+ <theme_item name="font_color_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hover_pressed" type="StyleBox">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="4">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
diff --git a/doc/classes/CircleShape2D.xml b/doc/classes/CircleShape2D.xml
index 7c8bf923f4..4cff7b5cd4 100644
--- a/doc/classes/CircleShape2D.xml
+++ b/doc/classes/CircleShape2D.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="radius" type="float" setter="set_radius" getter="get_radius">
+ <member name="radius" type="float" setter="set_radius" getter="get_radius" default="10.0">
The circle's radius.
</member>
</members>
diff --git a/doc/classes/ClassDB.xml b/doc/classes/ClassDB.xml
index ddbe66380a..b7b77bc02a 100644
--- a/doc/classes/ClassDB.xml
+++ b/doc/classes/ClassDB.xml
@@ -15,7 +15,7 @@
<argument index="0" name="class" type="String">
</argument>
<description>
- Returns [code]true[/code] if you can instance objects from the specified 'class', [code]false[/code] in other case.
+ Returns [code]true[/code] if you can instance objects from the specified [code]class[/code], [code]false[/code] in other case.
</description>
</method>
<method name="class_exists" qualifiers="const">
@@ -24,7 +24,7 @@
<argument index="0" name="class" type="String">
</argument>
<description>
- Returns whether the specified 'class' is available or not.
+ Returns whether the specified [code]class[/code] is available or not.
</description>
</method>
<method name="class_get_category" qualifiers="const">
@@ -44,7 +44,7 @@
<argument index="1" name="name" type="String">
</argument>
<description>
- Returns the value of the integer constant 'name' of 'class' or its ancestry. Always returns 0 when the constant could not be found.
+ Returns the value of the integer constant [code]name[/code] of [code]class[/code] or its ancestry. Always returns 0 when the constant could not be found.
</description>
</method>
<method name="class_get_integer_constant_list" qualifiers="const">
@@ -55,7 +55,7 @@
<argument index="1" name="no_inheritance" type="bool" default="false">
</argument>
<description>
- Returns an array with the names all the integer constants of 'class' or its ancestry.
+ Returns an array with the names all the integer constants of [code]class[/code] or its ancestry.
</description>
</method>
<method name="class_get_method_list" qualifiers="const">
@@ -66,7 +66,7 @@
<argument index="1" name="no_inheritance" type="bool" default="false">
</argument>
<description>
- Returns an array with all the methods of 'class' or its ancestry if 'no_inheritance' is [code]false[/code]. Every element of the array is a [Dictionary] with the following keys: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).
+ Returns an array with all the methods of [code]class[/code] or its ancestry if [code]no_inheritance[/code] is [code]false[/code]. Every element of the array is a [Dictionary] with the following keys: [code]args[/code], [code]default_args[/code], [code]flags[/code], [code]id[/code], [code]name[/code], [code]return: (class_name, hint, hint_string, name, type, usage)[/code].
</description>
</method>
<method name="class_get_property" qualifiers="const">
@@ -77,7 +77,7 @@
<argument index="1" name="property" type="String">
</argument>
<description>
- Returns the value of 'property' of 'class' or its ancestry.
+ Returns the value of [code]property[/code] of [code]class[/code] or its ancestry.
</description>
</method>
<method name="class_get_property_list" qualifiers="const">
@@ -88,7 +88,7 @@
<argument index="1" name="no_inheritance" type="bool" default="false">
</argument>
<description>
- Returns an array with all the properties of 'class' or its ancestry if 'no_inheritance' is [code]false[/code].
+ Returns an array with all the properties of [code]class[/code] or its ancestry if [code]no_inheritance[/code] is [code]false[/code].
</description>
</method>
<method name="class_get_signal" qualifiers="const">
@@ -99,7 +99,7 @@
<argument index="1" name="signal" type="String">
</argument>
<description>
- Returns the 'signal' data of 'class' or its ancestry. The returned value is a [Dictionary] with the following keys: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).
+ Returns the [code]signal[/code] data of [code]class[/code] or its ancestry. The returned value is a [Dictionary] with the following keys: [code]args[/code], [code]default_args[/code], [code]flags[/code], [code]id[/code], [code]name[/code], [code]return: (class_name, hint, hint_string, name, type, usage)[/code].
</description>
</method>
<method name="class_get_signal_list" qualifiers="const">
@@ -110,7 +110,7 @@
<argument index="1" name="no_inheritance" type="bool" default="false">
</argument>
<description>
- Returns an array with all the signals of 'class' or its ancestry if 'no_inheritance' is [code]false[/code]. Every element of the array is a [Dictionary] as described in [method class_get_signal].
+ Returns an array with all the signals of [code]class[/code] or its ancestry if [code]no_inheritance[/code] is [code]false[/code]. Every element of the array is a [Dictionary] as described in [method class_get_signal].
</description>
</method>
<method name="class_has_integer_constant" qualifiers="const">
@@ -121,7 +121,7 @@
<argument index="1" name="name" type="String">
</argument>
<description>
- Returns whether 'class' or its ancestry has an integer constant called 'name' or not.
+ Returns whether [code]class[/code] or its ancestry has an integer constant called [code]name[/code] or not.
</description>
</method>
<method name="class_has_method" qualifiers="const">
@@ -134,7 +134,7 @@
<argument index="2" name="no_inheritance" type="bool" default="false">
</argument>
<description>
- Returns whether 'class' (or its ancestry if 'no_inheritance' is false) has a method called 'method' or not.
+ Returns whether [code]class[/code] (or its ancestry if [code]no_inheritance[/code] is false) has a method called [code]method[/code] or not.
</description>
</method>
<method name="class_has_signal" qualifiers="const">
@@ -145,7 +145,7 @@
<argument index="1" name="signal" type="String">
</argument>
<description>
- Returns whether 'class' or its ancestry has a signal called 'signal' or not.
+ Returns whether [code]class[/code] or its ancestry has a signal called [code]signal[/code] or not.
</description>
</method>
<method name="class_set_property" qualifiers="const">
@@ -158,7 +158,7 @@
<argument index="2" name="value" type="Variant">
</argument>
<description>
- Sets 'property' value of 'class' to 'value'.
+ Sets [code]property[/code] value of [code]class[/code] to [code]value[/code].
</description>
</method>
<method name="get_class_list" qualifiers="const">
@@ -174,7 +174,7 @@
<argument index="0" name="class" type="String">
</argument>
<description>
- Returns the names of all the classes that directly or indirectly inherit from 'class'.
+ Returns the names of all the classes that directly or indirectly inherit from [code]class[/code].
</description>
</method>
<method name="get_parent_class" qualifiers="const">
@@ -183,7 +183,7 @@
<argument index="0" name="class" type="String">
</argument>
<description>
- Returns the parent class of 'class'.
+ Returns the parent class of [code]class[/code].
</description>
</method>
<method name="instance" qualifiers="const">
@@ -192,7 +192,7 @@
<argument index="0" name="class" type="String">
</argument>
<description>
- Creates an instance of 'class'.
+ Creates an instance of [code]class[/code].
</description>
</method>
<method name="is_class_enabled" qualifiers="const">
@@ -212,7 +212,7 @@
<argument index="1" name="inherits" type="String">
</argument>
<description>
- Returns whether 'inherits' is an ancestor of 'class' or not.
+ Returns whether [code]inherits[/code] is an ancestor of [code]class[/code] or not.
</description>
</method>
</methods>
diff --git a/doc/classes/ClippedCamera.xml b/doc/classes/ClippedCamera.xml
index c6dcd6cd96..f6a2a3bc11 100644
--- a/doc/classes/ClippedCamera.xml
+++ b/doc/classes/ClippedCamera.xml
@@ -71,15 +71,15 @@
</method>
</methods>
<members>
- <member name="clip_to_areas" type="bool" setter="set_clip_to_areas" getter="is_clip_to_areas_enabled">
+ <member name="clip_to_areas" type="bool" setter="set_clip_to_areas" getter="is_clip_to_areas_enabled" default="false">
</member>
- <member name="clip_to_bodies" type="bool" setter="set_clip_to_bodies" getter="is_clip_to_bodies_enabled">
+ <member name="clip_to_bodies" type="bool" setter="set_clip_to_bodies" getter="is_clip_to_bodies_enabled" default="true">
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
</member>
- <member name="margin" type="float" setter="set_margin" getter="get_margin">
+ <member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.0">
</member>
- <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="ClippedCamera.ProcessMode">
+ <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="ClippedCamera.ProcessMode" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/CollisionObject.xml b/doc/classes/CollisionObject.xml
index cb10530006..c30aeafcf3 100644
--- a/doc/classes/CollisionObject.xml
+++ b/doc/classes/CollisionObject.xml
@@ -180,11 +180,11 @@
</method>
</methods>
<members>
- <member name="input_capture_on_drag" type="bool" setter="set_capture_input_on_drag" getter="get_capture_input_on_drag">
- If [code]true[/code], the [CollisionObject] will continue to receive input events as the mouse is dragged across its shapes. Default value: [code]false[/code].
+ <member name="input_capture_on_drag" type="bool" setter="set_capture_input_on_drag" getter="get_capture_input_on_drag" default="false">
+ If [code]true[/code], the [CollisionObject] will continue to receive input events as the mouse is dragged across its shapes.
</member>
- <member name="input_ray_pickable" type="bool" setter="set_ray_pickable" getter="is_ray_pickable">
- If [code]true[/code], the [CollisionObject]'s shapes will respond to [RayCast]s. Default value: [code]true[/code].
+ <member name="input_ray_pickable" type="bool" setter="set_ray_pickable" getter="is_ray_pickable" default="true">
+ If [code]true[/code], the [CollisionObject]'s shapes will respond to [RayCast]s.
</member>
</members>
<signals>
diff --git a/doc/classes/CollisionObject2D.xml b/doc/classes/CollisionObject2D.xml
index f847893a39..eb69a4aed4 100644
--- a/doc/classes/CollisionObject2D.xml
+++ b/doc/classes/CollisionObject2D.xml
@@ -214,7 +214,7 @@
</method>
</methods>
<members>
- <member name="input_pickable" type="bool" setter="set_pickable" getter="is_pickable">
+ <member name="input_pickable" type="bool" setter="set_pickable" getter="is_pickable" default="true">
If [code]true[/code], this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one [code]collision_layer[/code] bit to be set.
</member>
</members>
diff --git a/doc/classes/CollisionPolygon.xml b/doc/classes/CollisionPolygon.xml
index 85eb17cae7..994f589190 100644
--- a/doc/classes/CollisionPolygon.xml
+++ b/doc/classes/CollisionPolygon.xml
@@ -4,21 +4,22 @@
Editor-only class for defining a collision polygon in 3D space.
</brief_description>
<description>
- Allows editing a collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at runtime. Creates a [Shape] for gameplay. Properties modified during gameplay will have no effect.
+ Allows editing a collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates a [Shape] for gameplay. Properties modified during gameplay will have no effect.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="depth" type="float" setter="set_depth" getter="get_depth">
+ <member name="depth" type="float" setter="set_depth" getter="get_depth" default="1.0">
Length that the resulting collision extends in either direction perpendicular to its polygon.
</member>
- <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
+ <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
If [code]true[/code], no collision will be produced.
</member>
- <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon">
- Array of vertices which define the polygon. Note that the returned value is a copy of the original. Methods which mutate the size or properties of the return value will not impact the original polygon. To change properties of the polygon, assign it to a temporary variable and make changes before reassigning the [code]polygon[/code] member.
+ <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon" default="PoolVector2Array( )">
+ Array of vertices which define the polygon.
+ [b]Note:[/b] The returned value is a copy of the original. Methods which mutate the size or properties of the return value will not impact the original polygon. To change properties of the polygon, assign it to a temporary variable and make changes before reassigning the [code]polygon[/code] member.
</member>
</members>
<constants>
diff --git a/doc/classes/CollisionPolygon2D.xml b/doc/classes/CollisionPolygon2D.xml
index 3d609fa965..fe46d45f71 100644
--- a/doc/classes/CollisionPolygon2D.xml
+++ b/doc/classes/CollisionPolygon2D.xml
@@ -11,18 +11,18 @@
<methods>
</methods>
<members>
- <member name="build_mode" type="int" setter="set_build_mode" getter="get_build_mode" enum="CollisionPolygon2D.BuildMode">
- Collision build mode. Use one of the [code]BUILD_*[/code] constants. Default value: [code]BUILD_SOLIDS[/code].
+ <member name="build_mode" type="int" setter="set_build_mode" getter="get_build_mode" enum="CollisionPolygon2D.BuildMode" default="0">
+ Collision build mode. Use one of the [code]BUILD_*[/code] constants.
</member>
- <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
+ <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
If [code]true[/code], no collisions will be detected.
</member>
- <member name="one_way_collision" type="bool" setter="set_one_way_collision" getter="is_one_way_collision_enabled">
+ <member name="one_way_collision" type="bool" setter="set_one_way_collision" getter="is_one_way_collision_enabled" default="false">
If [code]true[/code], only edges that face up, relative to CollisionPolygon2D's rotation, will collide with other objects.
</member>
- <member name="one_way_collision_margin" type="float" setter="set_one_way_collision_margin" getter="get_one_way_collision_margin">
+ <member name="one_way_collision_margin" type="float" setter="set_one_way_collision_margin" getter="get_one_way_collision_margin" default="1.0">
</member>
- <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon">
+ <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon" default="PoolVector2Array( )">
The polygon's list of vertices. The final point will be connected to the first. The returned value is a clone of the PoolVector2Array, not a reference.
</member>
</members>
diff --git a/doc/classes/CollisionShape.xml b/doc/classes/CollisionShape.xml
index 3f2e550e83..bbbc07e6d3 100644
--- a/doc/classes/CollisionShape.xml
+++ b/doc/classes/CollisionShape.xml
@@ -28,10 +28,10 @@
</method>
</methods>
<members>
- <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
+ <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
A disabled collision shape has no effect in the world.
</member>
- <member name="shape" type="Shape" setter="set_shape" getter="get_shape">
+ <member name="shape" type="Shape" setter="set_shape" getter="get_shape" default="null">
The actual shape owned by this collision shape.
</member>
</members>
diff --git a/doc/classes/CollisionShape2D.xml b/doc/classes/CollisionShape2D.xml
index 97dc230f22..fa002bc881 100644
--- a/doc/classes/CollisionShape2D.xml
+++ b/doc/classes/CollisionShape2D.xml
@@ -12,15 +12,15 @@
<methods>
</methods>
<members>
- <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
+ <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
A disabled collision shape has no effect in the world.
</member>
- <member name="one_way_collision" type="bool" setter="set_one_way_collision" getter="is_one_way_collision_enabled">
+ <member name="one_way_collision" type="bool" setter="set_one_way_collision" getter="is_one_way_collision_enabled" default="false">
Sets whether this collision shape should only detect collision on one side (top or bottom).
</member>
- <member name="one_way_collision_margin" type="float" setter="set_one_way_collision_margin" getter="get_one_way_collision_margin">
+ <member name="one_way_collision_margin" type="float" setter="set_one_way_collision_margin" getter="get_one_way_collision_margin" default="1.0">
</member>
- <member name="shape" type="Shape2D" setter="set_shape" getter="get_shape">
+ <member name="shape" type="Shape2D" setter="set_shape" getter="get_shape" default="null">
The actual shape owned by this collision shape.
</member>
</members>
diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml
index 30e80fa512..46499ed349 100644
--- a/doc/classes/Color.xml
+++ b/doc/classes/Color.xml
@@ -4,7 +4,7 @@
Color in RGBA format with some support for ARGB format.
</brief_description>
<description>
- A color is represented by red, green, and blue [code](r, g, b)[/code] components. Additionally, [code]a[/code] represents the alpha component, often used for transparency. Values are in floating point and usually range from 0 to 1. Some properties (such as [member CanvasItem.modulate]) may accept values &gt; 1.
+ A color is represented by red, green, and blue [code](r, g, b)[/code] components. Additionally, [code]a[/code] represents the alpha component, often used for transparency. Values are in floating-point and usually range from 0 to 1. Some properties (such as [member CanvasItem.modulate]) may accept values greater than 1.
You can also create a color from standardized color names by using [method @GDScript.ColorN].
</description>
<tutorials>
@@ -19,9 +19,9 @@
Constructs a color from an HTML hexadecimal color string in ARGB or RGB format. See also [method @GDScript.ColorN].
[codeblock]
# Each of the following creates the same color RGBA(178, 217, 10, 255)
- var c1 = Color("#ffb2d90a") # ARGB format with '#'
+ var c1 = Color("#ffb2d90a") # ARGB format with "#"
var c2 = Color("ffb2d90a") # ARGB format
- var c3 = Color("#b2d90a") # RGB format with '#'
+ var c3 = Color("#b2d90a") # RGB format with "#"
var c4 = Color("b2d90a") # RGB format
[/codeblock]
</description>
@@ -136,7 +136,7 @@
The gray value is calculated as [code](r + g + b) / 3[/code].
[codeblock]
var c = Color(0.2, 0.45, 0.82)
- var gray = c.gray() # a value of 0.466667
+ var gray = c.gray() # A value of 0.466667
[/codeblock]
</description>
</method>
@@ -147,7 +147,7 @@
Returns the inverted color [code](1 - r, 1 - g, 1 - b, a)[/code].
[codeblock]
var c = Color(0.3, 0.4, 0.9)
- var inverted_color = c.inverted() # a color of an RGBA(178, 153, 26, 255)
+ var inverted_color = c.inverted() # A color of an RGBA(178, 153, 26, 255)
[/codeblock]
</description>
</method>
@@ -176,7 +176,7 @@
[codeblock]
var c1 = Color(1.0, 0.0, 0.0)
var c2 = Color(0.0, 1.0, 0.0)
- var li_c = c1.linear_interpolate(c2, 0.5) # a color of an RGBA(128, 128, 0, 255)
+ var li_c = c1.linear_interpolate(c2, 0.5) # A color of an RGBA(128, 128, 0, 255)
[/codeblock]
</description>
</method>
@@ -234,8 +234,8 @@
Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from the hexadecimal string.
[codeblock]
var c = Color(1, 1, 1, 0.5)
- var s1 = c.to_html() # Results "7fffffff"
- var s2 = c.to_html(false) # Results 'ffffff'
+ var s1 = c.to_html() # Returns "7fffffff"
+ var s2 = c.to_html(false) # Returns "ffffff"
[/codeblock]
</description>
</method>
@@ -263,37 +263,37 @@
</method>
</methods>
<members>
- <member name="a" type="float" setter="" getter="">
+ <member name="a" type="float" setter="" getter="" default="1.0">
Alpha value (range 0 to 1).
</member>
- <member name="a8" type="int" setter="" getter="">
+ <member name="a8" type="int" setter="" getter="" default="255">
Alpha value (range 0 to 255).
</member>
- <member name="b" type="float" setter="" getter="">
+ <member name="b" type="float" setter="" getter="" default="0.0">
Blue value (range 0 to 1).
</member>
- <member name="b8" type="int" setter="" getter="">
+ <member name="b8" type="int" setter="" getter="" default="0">
Blue value (range 0 to 255).
</member>
- <member name="g" type="float" setter="" getter="">
+ <member name="g" type="float" setter="" getter="" default="0.0">
Green value (range 0 to 1).
</member>
- <member name="g8" type="int" setter="" getter="">
+ <member name="g8" type="int" setter="" getter="" default="0">
Green value (range 0 to 255).
</member>
- <member name="h" type="float" setter="" getter="">
+ <member name="h" type="float" setter="" getter="" default="0.0">
HSV hue value (range 0 to 1).
</member>
- <member name="r" type="float" setter="" getter="">
+ <member name="r" type="float" setter="" getter="" default="0.0">
Red value (range 0 to 1).
</member>
- <member name="r8" type="int" setter="" getter="">
+ <member name="r8" type="int" setter="" getter="" default="0">
Red value (range 0 to 255).
</member>
- <member name="s" type="float" setter="" getter="">
+ <member name="s" type="float" setter="" getter="" default="0.0">
HSV saturation value (range 0 to 1).
</member>
- <member name="v" type="float" setter="" getter="">
+ <member name="v" type="float" setter="" getter="" default="0.0">
HSV value (range 0 to 1).
</member>
</members>
diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml
index 1fefc719b7..b62eb443d9 100644
--- a/doc/classes/ColorPicker.xml
+++ b/doc/classes/ColorPicker.xml
@@ -15,7 +15,8 @@
<argument index="0" name="color" type="Color">
</argument>
<description>
- Adds the given color to a list of color presets. The presets are displayed in the color picker and the user will be able to select them. Note: the presets list is only for [i]this[/i] color picker.
+ Adds the given color to a list of color presets. The presets are displayed in the color picker and the user will be able to select them.
+ [b]Note:[/b] the presets list is only for [i]this[/i] color picker.
</description>
</method>
<method name="erase_preset">
@@ -24,7 +25,7 @@
<argument index="0" name="color" type="Color">
</argument>
<description>
- Remove the given color from the list of color presets of this color picker.
+ Removes the given color from the list of color presets of this color picker.
</description>
</method>
<method name="get_presets" qualifiers="const">
@@ -36,26 +37,26 @@
</method>
</methods>
<members>
- <member name="color" type="Color" setter="set_pick_color" getter="get_pick_color">
+ <member name="color" type="Color" setter="set_pick_color" getter="get_pick_color" default="Color( 1, 1, 1, 1 )">
The currently selected color.
</member>
- <member name="deferred_mode" type="bool" setter="set_deferred_mode" getter="is_deferred_mode">
+ <member name="deferred_mode" type="bool" setter="set_deferred_mode" getter="is_deferred_mode" default="false">
If [code]true[/code], the color will apply only after the user releases the mouse button, otherwise it will apply immediately even in mouse motion event (which can cause performance issues).
</member>
- <member name="edit_alpha" type="bool" setter="set_edit_alpha" getter="is_editing_alpha">
+ <member name="edit_alpha" type="bool" setter="set_edit_alpha" getter="is_editing_alpha" default="true">
If [code]true[/code], shows an alpha channel slider (transparency).
</member>
- <member name="presets_enabled" type="bool" setter="set_presets_enabled" getter="are_presets_enabled">
+ <member name="hsv_mode" type="bool" setter="set_hsv_mode" getter="is_hsv_mode" default="false">
+ If [code]true[/code], allows editing the color with Hue/Saturation/Value sliders.
+ [b]Note:[/b] Cannot be enabled if raw mode is on.
</member>
- <member name="presets_visible" type="bool" setter="set_presets_visible" getter="are_presets_visible">
+ <member name="presets_enabled" type="bool" setter="set_presets_enabled" getter="are_presets_enabled" default="true">
</member>
- <member name="hsv_mode" type="bool" setter="set_hsv_mode" getter="is_hsv_mode">
- If [code]true[/code], allows to edit color with Hue/Saturation/Value sliders.
- [b]Note:[/b] Cannot be enabled if raw mode is on.
+ <member name="presets_visible" type="bool" setter="set_presets_visible" getter="are_presets_visible" default="true">
</member>
- <member name="raw_mode" type="bool" setter="set_raw_mode" getter="is_raw_mode">
+ <member name="raw_mode" type="bool" setter="set_raw_mode" getter="is_raw_mode" default="false">
If [code]true[/code], allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).
- [b]Note:[/b] Cannot be enabled if hsv mode is on.
+ [b]Note:[/b] Cannot be enabled if HSV mode is on.
</member>
</members>
<signals>
@@ -90,19 +91,19 @@
</theme_item>
<theme_item name="color_sample" type="Texture">
</theme_item>
- <theme_item name="h_width" type="int">
+ <theme_item name="h_width" type="int" default="30">
</theme_item>
- <theme_item name="label_width" type="int">
+ <theme_item name="label_width" type="int" default="10">
</theme_item>
- <theme_item name="margin" type="int">
+ <theme_item name="margin" type="int" default="4">
</theme_item>
<theme_item name="preset_bg" type="Texture">
</theme_item>
<theme_item name="screen_picker" type="Texture">
</theme_item>
- <theme_item name="sv_height" type="int">
+ <theme_item name="sv_height" type="int" default="256">
</theme_item>
- <theme_item name="sv_width" type="int">
+ <theme_item name="sv_width" type="int" default="256">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml
index 3e4911cac3..7aeae61ebf 100644
--- a/doc/classes/ColorPickerButton.xml
+++ b/doc/classes/ColorPickerButton.xml
@@ -25,11 +25,11 @@
</method>
</methods>
<members>
- <member name="color" type="Color" setter="set_pick_color" getter="get_pick_color">
+ <member name="color" type="Color" setter="set_pick_color" getter="get_pick_color" default="Color( 0, 0, 0, 1 )">
The currently selected color.
</member>
- <member name="edit_alpha" type="bool" setter="set_edit_alpha" getter="is_editing_alpha">
- If [code]true[/code], the alpha channel in the displayed [ColorPicker] will be visible. Default value: [code]true[/code].
+ <member name="edit_alpha" type="bool" setter="set_edit_alpha" getter="is_editing_alpha" default="true">
+ If [code]true[/code], the alpha channel in the displayed [ColorPicker] will be visible.
</member>
</members>
<signals>
@@ -56,17 +56,17 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.3 )">
</theme_item>
- <theme_item name="font_color_hover" type="Color">
+ <theme_item name="font_color_hover" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="font_color_pressed" type="Color">
+ <theme_item name="font_color_pressed" type="Color" default="Color( 0.8, 0.8, 0.8, 1 )">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="2">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
diff --git a/doc/classes/ColorRect.xml b/doc/classes/ColorRect.xml
index d659ebdfcd..2ff0a7eee3 100644
--- a/doc/classes/ColorRect.xml
+++ b/doc/classes/ColorRect.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="color" type="Color" setter="set_frame_color" getter="get_frame_color">
+ <member name="color" type="Color" setter="set_frame_color" getter="get_frame_color" default="Color( 1, 1, 1, 1 )">
The fill color.
[codeblock]
$ColorRect.color = Color(1, 0, 0, 1) # Set ColorRect's color to red.
diff --git a/doc/classes/ConcavePolygonShape.xml b/doc/classes/ConcavePolygonShape.xml
index 62d42f4eb4..a09b5005b9 100644
--- a/doc/classes/ConcavePolygonShape.xml
+++ b/doc/classes/ConcavePolygonShape.xml
@@ -22,7 +22,7 @@
<argument index="0" name="faces" type="PoolVector3Array">
</argument>
<description>
- Set the faces (an array of triangles).
+ Sets the faces (an array of triangles).
</description>
</method>
</methods>
diff --git a/doc/classes/ConcavePolygonShape2D.xml b/doc/classes/ConcavePolygonShape2D.xml
index 5414fe42c5..a6fe2486ea 100644
--- a/doc/classes/ConcavePolygonShape2D.xml
+++ b/doc/classes/ConcavePolygonShape2D.xml
@@ -4,7 +4,7 @@
Concave polygon 2D shape resource for physics.
</brief_description>
<description>
- Concave polygon 2D shape resource for physics. It is made out of segments and is very optimal for complex polygonal concave collisions. It is really not advised to use for [RigidBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
+ Concave polygon 2D shape resource for physics. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
</description>
<tutorials>
@@ -12,7 +12,7 @@
<methods>
</methods>
<members>
- <member name="segments" type="PoolVector2Array" setter="set_segments" getter="get_segments">
+ <member name="segments" type="PoolVector2Array" setter="set_segments" getter="get_segments" default="PoolVector2Array( )">
The array of points that make up the [ConcavePolygonShape2D]'s line segments.
</member>
</members>
diff --git a/doc/classes/ConeTwistJoint.xml b/doc/classes/ConeTwistJoint.xml
index cd2289d715..ad9c2b3a35 100644
--- a/doc/classes/ConeTwistJoint.xml
+++ b/doc/classes/ConeTwistJoint.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
The joint can rotate the bodies across an axis defined by the local x-axes of the [Joint].
- The twist axis is initiated as the x-axis of the [Joint].
+ The twist axis is initiated as the X axis of the [Joint].
Once the Bodies swing, the twist axis is calculated as the middle of the x-axes of the Joint in the local space of the two Bodies.
</description>
<tutorials>
@@ -13,23 +13,23 @@
<methods>
</methods>
<members>
- <member name="bias" type="float" setter="set_param" getter="get_param">
+ <member name="bias" type="float" setter="set_param" getter="get_param" default="0.3">
The speed with which the swing or twist will take place.
The higher, the faster.
</member>
- <member name="relaxation" type="float" setter="set_param" getter="get_param">
+ <member name="relaxation" type="float" setter="set_param" getter="get_param" default="1.0">
Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
</member>
- <member name="softness" type="float" setter="set_param" getter="get_param">
+ <member name="softness" type="float" setter="set_param" getter="get_param" default="0.8">
The ease with which the joint starts to twist. If it's too low, it takes more force to start twisting the joint.
</member>
- <member name="swing_span" type="float" setter="_set_swing_span" getter="_get_swing_span">
+ <member name="swing_span" type="float" setter="_set_swing_span" getter="_get_swing_span" default="45.0">
Swing is rotation from side to side, around the axis perpendicular to the twist axis.
- The swing span defines, how much rotation will not get corrected allong the swing axis.
+ The swing span defines, how much rotation will not get corrected along the swing axis.
Could be defined as looseness in the [ConeTwistJoint].
- If below 0.05, this behaviour is locked. Default value: [code]PI/4[/code].
+ If below 0.05, this behavior is locked.
</member>
- <member name="twist_span" type="float" setter="_set_twist_span" getter="_get_twist_span">
+ <member name="twist_span" type="float" setter="_set_twist_span" getter="_get_twist_span" default="180.0">
Twist is the rotation around the twist axis, this value defined how far the joint can twist.
Twist is locked if below 0.05.
</member>
@@ -37,9 +37,9 @@
<constants>
<constant name="PARAM_SWING_SPAN" value="0" enum="Param">
Swing is rotation from side to side, around the axis perpendicular to the twist axis.
- The swing span defines, how much rotation will not get corrected allong the swing axis.
+ The swing span defines, how much rotation will not get corrected along the swing axis.
Could be defined as looseness in the [ConeTwistJoint].
- If below 0.05, this behaviour is locked. Default value: [code]PI/4[/code].
+ If below 0.05, this behavior is locked.
</constant>
<constant name="PARAM_TWIST_SPAN" value="1" enum="Param">
Twist is the rotation around the twist axis, this value defined how far the joint can twist.
@@ -56,7 +56,7 @@
Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
</constant>
<constant name="PARAM_MAX" value="5" enum="Param">
- End flag of PARAM_* constants, used internally.
+ Represents the size of the [enum Param] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/ConfigFile.xml b/doc/classes/ConfigFile.xml
index 68831a886a..775ad4c922 100644
--- a/doc/classes/ConfigFile.xml
+++ b/doc/classes/ConfigFile.xml
@@ -16,7 +16,7 @@
[codeblock]
var config = ConfigFile.new()
var err = config.load("user://settings.cfg")
- if err == OK: # if not, something went wrong with the file loading
+ if err == OK: # If not, something went wrong with the file loading
# Look for the display/width pair, and default to 1024 if missing
var screen_width = config.get_value("display", "width", 1024)
# Store a variable if and only if it hasn't been defined yet
@@ -94,7 +94,27 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Loads the config file specified as a parameter. The file's contents are parsed and loaded in the ConfigFile object which the method was called on. Returns one of the [code]OK[/code], [code]FAILED[/code] or [code]ERR_*[/code] constants listed in [@GlobalScope]. If the load was successful, the return value is [code]OK[/code].
+ Loads the config file specified as a parameter. The file's contents are parsed and loaded in the ConfigFile object which the method was called on. Returns one of the [constant OK], [constant FAILED] or [code]ERR_*[/code] constants listed in [@GlobalScope]. If the load was successful, the return value is [constant OK].
+ </description>
+ </method>
+ <method name="load_encrypted">
+ <return type="int" enum="Error">
+ </return>
+ <argument index="0" name="path" type="String">
+ </argument>
+ <argument index="1" name="key" type="PoolByteArray">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="load_encrypted_pass">
+ <return type="int" enum="Error">
+ </return>
+ <argument index="0" name="path" type="String">
+ </argument>
+ <argument index="1" name="pass" type="String">
+ </argument>
+ <description>
</description>
</method>
<method name="save">
@@ -103,7 +123,27 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Saves the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure. Returns one of the [code]OK[/code], [code]FAILED[/code] or [code]ERR_*[/code] constants listed in [@GlobalScope]. If the load was successful, the return value is [code]OK[/code].
+ Saves the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure. Returns one of the [constant OK], [constant FAILED] or [code]ERR_*[/code] constants listed in [@GlobalScope]. If the load was successful, the return value is [constant OK].
+ </description>
+ </method>
+ <method name="save_encrypted">
+ <return type="int" enum="Error">
+ </return>
+ <argument index="0" name="path" type="String">
+ </argument>
+ <argument index="1" name="key" type="PoolByteArray">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="save_encrypted_pass">
+ <return type="int" enum="Error">
+ </return>
+ <argument index="0" name="path" type="String">
+ </argument>
+ <argument index="1" name="pass" type="String">
+ </argument>
+ <description>
</description>
</method>
<method name="set_value">
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index fea706987c..d25c2b31ee 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -4,12 +4,12 @@
All User Interface nodes inherit from Control. A control's anchors and margins adapt its position and size relative to its parent.
</brief_description>
<description>
- Base class for all User Interface or [i]UI[/i] related nodes. [Control] features a bounding rectangle that defines its extents, an anchor position relative to its parent control or the current viewport, and margins that represent an offset to the anchor. The margins update automatically when the node, any of its parents, or the screen size change.
+ Base class for all UI-related nodes. [Control] features a bounding rectangle that defines its extents, an anchor position relative to its parent control or the current viewport, and margins that represent an offset to the anchor. The margins update automatically when the node, any of its parents, or the screen size change.
For more information on Godot's UI system, anchors, margins, and containers, see the related tutorials in the manual. To build flexible UIs, you'll need a mix of UI elements that inherit from [Control] and [Container] nodes.
[b]User Interface nodes and input[/b]
Godot sends input events to the scene's root node first, by calling [method Node._input]. [method Node._input] forwards the event down the node tree to the nodes under the mouse cursor, or on keyboard focus. To do so, it calls [method MainLoop._input_event]. Call [method accept_event] so no other node receives the event. Once you accepted an input, it becomes handled so [method Node._unhandled_input] will not process it.
Only one [Control] node can be in keyboard focus. Only the node in focus will receive keyboard events. To get the focus, call [method grab_focus]. [Control] nodes lose focus when another node grabs it, or if you hide the node in focus.
- Set [member mouse_filter] to [constant MOUSE_FILTER_IGNORE] to tell a [Control] node to ignore mouse or touch events. You'll need it if you place an icon on top of a button.
+ Sets [member mouse_filter] to [constant MOUSE_FILTER_IGNORE] to tell a [Control] node to ignore mouse or touch events. You'll need it if you place an icon on top of a button.
[Theme] resources change the Control's appearance. If you change the [Theme] on a [Control] node, it affects all of its children. To override some of the theme's parameters, call one of the [code]add_*_override[/code] methods, like [method add_font_override]. You can override the theme with the inspector.
</description>
<tutorials>
@@ -135,9 +135,9 @@
extends Control
func can_drop_data(position, data):
- # check position if it is relevant to you
- # otherwise just check data
- return typeof(data) == TYPE_DICTIONARY and data.has('expected')
+ # Check position if it is relevant to you
+ # Otherwise, just check data
+ return typeof(data) == TYPE_DICTIONARY and data.has("expected")
[/codeblock]
</description>
</method>
@@ -154,10 +154,10 @@
extends ColorRect
func can_drop_data(position, data):
- return typeof(data) == TYPE_DICTIONARY and data.has('color')
+ return typeof(data) == TYPE_DICTIONARY and data.has("color")
func drop_data(position, data):
- color = data['color']
+ color = data["color"]
[/codeblock]
</description>
</method>
@@ -221,7 +221,7 @@
<argument index="0" name="position" type="Vector2">
</argument>
<description>
- Godot calls this method to get data that can be dragged and dropped onto controls that expect drop data. Returns null if there is no data to drag. Controls that want to receive drop data should implement [method can_drop_data] and [method drop_data]. [code]position[/code] is local to this control. Drag may be forced with [method force_drag].
+ Godot calls this method to get data that can be dragged and dropped onto controls that expect drop data. Returns [code]null[/code] if there is no data to drag. Controls that want to receive drop data should implement [method can_drop_data] and [method drop_data]. [code]position[/code] is local to this control. Drag may be forced with [method force_drag].
A preview that will follow the mouse that should represent the data can be set with [method set_drag_preview]. A good time to set the preview is in this method.
[codeblock]
extends Control
@@ -644,107 +644,107 @@
</method>
</methods>
<members>
- <member name="anchor_bottom" type="float" setter="_set_anchor" getter="get_anchor">
- Anchors the bottom edge of the node to the origin, the center, or the end of its parent control. It changes how the bottom margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience. Default value: [code]ANCHOR_BEGIN[/code].
+ <member name="anchor_bottom" type="float" setter="_set_anchor" getter="get_anchor" default="0.0">
+ Anchors the bottom edge of the node to the origin, the center, or the end of its parent control. It changes how the bottom margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience.
</member>
- <member name="anchor_left" type="float" setter="_set_anchor" getter="get_anchor">
- Anchors the left edge of the node to the origin, the center or the end of its parent control. It changes how the left margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience.Default value: [code]ANCHOR_BEGIN[/code].
+ <member name="anchor_left" type="float" setter="_set_anchor" getter="get_anchor" default="0.0">
+ Anchors the left edge of the node to the origin, the center or the end of its parent control. It changes how the left margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience.
</member>
- <member name="anchor_right" type="float" setter="_set_anchor" getter="get_anchor">
- Anchors the right edge of the node to the origin, the center or the end of its parent control. It changes how the right margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience. Default value: [code]ANCHOR_BEGIN[/code].
+ <member name="anchor_right" type="float" setter="_set_anchor" getter="get_anchor" default="0.0">
+ Anchors the right edge of the node to the origin, the center or the end of its parent control. It changes how the right margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience.
</member>
- <member name="anchor_top" type="float" setter="_set_anchor" getter="get_anchor">
- Anchors the top edge of the node to the origin, the center or the end of its parent control. It changes how the top margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience. Default value: [code]ANCHOR_BEGIN[/code].
+ <member name="anchor_top" type="float" setter="_set_anchor" getter="get_anchor" default="0.0">
+ Anchors the top edge of the node to the origin, the center or the end of its parent control. It changes how the top margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience.
</member>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode">
+ <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode" default="0">
The focus access mode for the control (None, Click or All). Only one Control can be focused at the same time, and it will receive keyboard signals.
</member>
- <member name="focus_neighbour_bottom" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour">
+ <member name="focus_neighbour_bottom" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour" default="NodePath(&quot;&quot;)">
Tells Godot which node it should give keyboard focus to if the user presses the down arrow on the keyboard or down on a gamepad by default. You can change the key by editing the [code]ui_down[/code] input action. The node must be a [Control]. If this property is not set, Godot will give focus to the closest [Control] to the bottom of this one.
</member>
- <member name="focus_neighbour_left" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour">
+ <member name="focus_neighbour_left" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour" default="NodePath(&quot;&quot;)">
Tells Godot which node it should give keyboard focus to if the user presses the left arrow on the keyboard or left on a gamepad by default. You can change the key by editing the [code]ui_left[/code] input action. The node must be a [Control]. If this property is not set, Godot will give focus to the closest [Control] to the left of this one.
</member>
- <member name="focus_neighbour_right" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour">
+ <member name="focus_neighbour_right" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour" default="NodePath(&quot;&quot;)">
Tells Godot which node it should give keyboard focus to if the user presses the right arrow on the keyboard or right on a gamepad by default. You can change the key by editing the [code]ui_right[/code] input action. The node must be a [Control]. If this property is not set, Godot will give focus to the closest [Control] to the bottom of this one.
</member>
- <member name="focus_neighbour_top" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour">
+ <member name="focus_neighbour_top" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour" default="NodePath(&quot;&quot;)">
Tells Godot which node it should give keyboard focus to if the user presses the top arrow on the keyboard or top on a gamepad by default. You can change the key by editing the [code]ui_top[/code] input action. The node must be a [Control]. If this property is not set, Godot will give focus to the closest [Control] to the bottom of this one.
</member>
- <member name="focus_next" type="NodePath" setter="set_focus_next" getter="get_focus_next">
+ <member name="focus_next" type="NodePath" setter="set_focus_next" getter="get_focus_next" default="NodePath(&quot;&quot;)">
Tells Godot which node it should give keyboard focus to if the user presses Tab on a keyboard by default. You can change the key by editing the [code]ui_focus_next[/code] input action.
If this property is not set, Godot will select a "best guess" based on surrounding nodes in the scene tree.
</member>
- <member name="focus_previous" type="NodePath" setter="set_focus_previous" getter="get_focus_previous">
+ <member name="focus_previous" type="NodePath" setter="set_focus_previous" getter="get_focus_previous" default="NodePath(&quot;&quot;)">
Tells Godot which node it should give keyboard focus to if the user presses Shift+Tab on a keyboard by default. You can change the key by editing the [code]ui_focus_prev[/code] input action.
If this property is not set, Godot will select a "best guess" based on surrounding nodes in the scene tree.
</member>
- <member name="grow_horizontal" type="int" setter="set_h_grow_direction" getter="get_h_grow_direction" enum="Control.GrowDirection">
+ <member name="grow_horizontal" type="int" setter="set_h_grow_direction" getter="get_h_grow_direction" enum="Control.GrowDirection" default="1">
Controls the direction on the horizontal axis in which the control should grow if its horizontal minimum size is changed to be greater than its current size, as the control always has to be at least the minimum size.
</member>
- <member name="grow_vertical" type="int" setter="set_v_grow_direction" getter="get_v_grow_direction" enum="Control.GrowDirection">
+ <member name="grow_vertical" type="int" setter="set_v_grow_direction" getter="get_v_grow_direction" enum="Control.GrowDirection" default="1">
Controls the direction on the vertical axis in which the control should grow if its vertical minimum size is changed to be greater than its current size, as the control always has to be at least the minimum size.
</member>
- <member name="hint_tooltip" type="String" setter="set_tooltip" getter="_get_tooltip">
+ <member name="hint_tooltip" type="String" setter="set_tooltip" getter="_get_tooltip" default="&quot;&quot;">
Changes the tooltip text. The tooltip appears when the user's mouse cursor stays idle over this control for a few moments, provided that the [member mouse_filter] property is not [constant MOUSE_FILTER_IGNORE].
</member>
- <member name="margin_bottom" type="float" setter="set_margin" getter="get_margin">
+ <member name="margin_bottom" type="float" setter="set_margin" getter="get_margin" default="0.0">
Distance between the node's bottom edge and its parent control, based on [member anchor_bottom].
Margins are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Margins update automatically when you move or resize the node.
</member>
- <member name="margin_left" type="float" setter="set_margin" getter="get_margin">
+ <member name="margin_left" type="float" setter="set_margin" getter="get_margin" default="0.0">
Distance between the node's left edge and its parent control, based on [member anchor_left].
Margins are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Margins update automatically when you move or resize the node.
</member>
- <member name="margin_right" type="float" setter="set_margin" getter="get_margin">
+ <member name="margin_right" type="float" setter="set_margin" getter="get_margin" default="0.0">
Distance between the node's right edge and its parent control, based on [member anchor_right].
Margins are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Margins update automatically when you move or resize the node.
</member>
- <member name="margin_top" type="float" setter="set_margin" getter="get_margin">
+ <member name="margin_top" type="float" setter="set_margin" getter="get_margin" default="0.0">
Distance between the node's top edge and its parent control, based on [member anchor_top].
Margins are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Margins update automatically when you move or resize the node.
</member>
- <member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" enum="Control.CursorShape">
+ <member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" enum="Control.CursorShape" default="0">
The default cursor shape for this control. Useful for Godot plugins and applications or games that use the system's mouse cursors.
[b]Note:[/b] On Linux, shapes may vary depending on the cursor theme of the system.
</member>
- <member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" enum="Control.MouseFilter">
+ <member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" enum="Control.MouseFilter" default="0">
Controls whether the control will be able to receive mouse button input events through [method _gui_input] and how these events should be handled. Also controls whether the control can receive the [signal mouse_entered], and [signal mouse_exited] signals. See the constants to learn what each does.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents">
+ <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" default="false">
Enables whether rendering of children should be clipped to this control's rectangle. If [code]true[/code], parts of a child which would be visibly outside of this control's rectangle will not be rendered.
</member>
<member name="rect_global_position" type="Vector2" setter="_set_global_position" getter="get_global_position">
The node's global position, relative to the world (usually to the top-left corner of the window).
</member>
- <member name="rect_min_size" type="Vector2" setter="set_custom_minimum_size" getter="get_custom_minimum_size">
+ <member name="rect_min_size" type="Vector2" setter="set_custom_minimum_size" getter="get_custom_minimum_size" default="Vector2( 0, 0 )">
The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
</member>
- <member name="rect_pivot_offset" type="Vector2" setter="set_pivot_offset" getter="get_pivot_offset">
+ <member name="rect_pivot_offset" type="Vector2" setter="set_pivot_offset" getter="get_pivot_offset" default="Vector2( 0, 0 )">
By default, the node's pivot is its top-left corner. When you change its [member rect_scale], it will scale around this pivot. Set this property to [member rect_size] / 2 to center the pivot in the node's rectangle.
</member>
- <member name="rect_position" type="Vector2" setter="_set_position" getter="get_position">
+ <member name="rect_position" type="Vector2" setter="_set_position" getter="get_position" default="Vector2( 0, 0 )">
The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by [member rect_pivot_offset].
</member>
- <member name="rect_rotation" type="float" setter="set_rotation_degrees" getter="get_rotation_degrees">
+ <member name="rect_rotation" type="float" setter="set_rotation_degrees" getter="get_rotation_degrees" default="0.0">
The node's rotation around its pivot, in degrees. See [member rect_pivot_offset] to change the pivot's position.
</member>
- <member name="rect_scale" type="Vector2" setter="set_scale" getter="get_scale">
+ <member name="rect_scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2( 1, 1 )">
The node's scale, relative to its [member rect_size]. Change this property to scale the node around its [member rect_pivot_offset].
</member>
- <member name="rect_size" type="Vector2" setter="_set_size" getter="get_size">
+ <member name="rect_size" type="Vector2" setter="_set_size" getter="get_size" default="Vector2( 0, 0 )">
The size of the node's bounding rectangle, in pixels. [Container] nodes update this property automatically.
</member>
- <member name="size_flags_horizontal" type="int" setter="set_h_size_flags" getter="get_h_size_flags">
+ <member name="size_flags_horizontal" type="int" setter="set_h_size_flags" getter="get_h_size_flags" default="1">
Tells the parent [Container] nodes how they should resize and place the node on the X axis. Use one of the [code]SIZE_*[/code] constants to change the flags. See the constants to learn what each does.
</member>
- <member name="size_flags_stretch_ratio" type="float" setter="set_stretch_ratio" getter="get_stretch_ratio">
- If the node and at least one of its neighbours uses the [code]SIZE_EXPAND[/code] size flag, the parent [Container] will let it take more or less space depending on this property. If this node has a stretch ratio of 2 and its neighbour a ratio of 1, this node will take two thirds of the available space.
+ <member name="size_flags_stretch_ratio" type="float" setter="set_stretch_ratio" getter="get_stretch_ratio" default="1.0">
+ If the node and at least one of its neighbours uses the [constant SIZE_EXPAND] size flag, the parent [Container] will let it take more or less space depending on this property. If this node has a stretch ratio of 2 and its neighbour a ratio of 1, this node will take two thirds of the available space.
</member>
- <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags">
+ <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" default="1">
Tells the parent [Container] nodes how they should resize and place the node on the Y axis. Use one of the [code]SIZE_*[/code] constants to change the flags. See the constants to learn what each does.
</member>
- <member name="theme" type="Theme" setter="set_theme" getter="get_theme">
+ <member name="theme" type="Theme" setter="set_theme" getter="get_theme" default="null">
Changing this property replaces the current [Theme] resource this node and all its [Control] children use.
</member>
</members>
@@ -862,25 +862,25 @@
Show the system's forbidden mouse cursor when the user hovers the node. Often a crossed circle.
</constant>
<constant name="CURSOR_VSIZE" value="9" enum="CursorShape">
- Show the system's vertical resize mouse cursor when the user hovers the node. A double headed vertical arrow. It tells the user they can resize the window or the panel vertically.
+ Show the system's vertical resize mouse cursor when the user hovers the node. A double-headed vertical arrow. It tells the user they can resize the window or the panel vertically.
</constant>
<constant name="CURSOR_HSIZE" value="10" enum="CursorShape">
- Show the system's horizontal resize mouse cursor when the user hovers the node. A double headed horizontal arrow. It tells the user they can resize the window or the panel horizontally.
+ Show the system's horizontal resize mouse cursor when the user hovers the node. A double-headed horizontal arrow. It tells the user they can resize the window or the panel horizontally.
</constant>
<constant name="CURSOR_BDIAGSIZE" value="11" enum="CursorShape">
- Show the system's window resize mouse cursor when the user hovers the node. The cursor is a double headed arrow that goes from the bottom left to the top right. It tells the user they can resize the window or the panel both horizontally and vertically.
+ Show the system's window resize mouse cursor when the user hovers the node. The cursor is a double-headed arrow that goes from the bottom left to the top right. It tells the user they can resize the window or the panel both horizontally and vertically.
</constant>
<constant name="CURSOR_FDIAGSIZE" value="12" enum="CursorShape">
- Show the system's window resize mouse cursor when the user hovers the node. The cursor is a double headed arrow that goes from the top left to the bottom right, the opposite of [code]CURSOR_BDIAGSIZE[/code]. It tells the user they can resize the window or the panel both horizontally and vertically.
+ Show the system's window resize mouse cursor when the user hovers the node. The cursor is a double-headed arrow that goes from the top left to the bottom right, the opposite of [constant CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel both horizontally and vertically.
</constant>
<constant name="CURSOR_MOVE" value="13" enum="CursorShape">
Show the system's move mouse cursor when the user hovers the node. It shows 2 double-headed arrows at a 90 degree angle. It tells the user they can move a UI element freely.
</constant>
<constant name="CURSOR_VSPLIT" value="14" enum="CursorShape">
- Show the system's vertical split mouse cursor when the user hovers the node. On Windows, it's the same as [code]CURSOR_VSIZE[/code].
+ Show the system's vertical split mouse cursor when the user hovers the node. On Windows, it's the same as [constant CURSOR_VSIZE].
</constant>
<constant name="CURSOR_HSPLIT" value="15" enum="CursorShape">
- Show the system's horizontal split mouse cursor when the user hovers the node. On Windows, it's the same as [code]CURSOR_HSIZE[/code].
+ Show the system's horizontal split mouse cursor when the user hovers the node. On Windows, it's the same as [constant CURSOR_HSIZE].
</constant>
<constant name="CURSOR_HELP" value="16" enum="CursorShape">
Show the system's help mouse cursor when the user hovers the node, a question mark.
@@ -931,7 +931,7 @@
Snap all 4 anchors to a horizontal line that cuts the parent control in half. Use with [method set_anchors_preset].
</constant>
<constant name="PRESET_WIDE" value="15" enum="LayoutPreset">
- Snap all 4 anchors to the respective corners of the parent control. Set all 4 margins to 0 after you applied this preset and the [Control] will fit its parent control. This is equivalent to to the "Full Rect" layout option in the editor. Use with [method set_anchors_preset].
+ Snap all 4 anchors to the respective corners of the parent control. Set all 4 margins to 0 after you applied this preset and the [Control] will fit its parent control. This is equivalent to the "Full Rect" layout option in the editor. Use with [method set_anchors_preset].
</constant>
<constant name="PRESET_MODE_MINSIZE" value="0" enum="LayoutPresetMode">
</constant>
@@ -957,13 +957,13 @@
Tells the parent [Container] to align the node with its end, either the bottom or the right edge. It doesn't work with the fill or expand size flags. Use with [member size_flags_horizontal] and [member size_flags_vertical].
</constant>
<constant name="MOUSE_FILTER_STOP" value="0" enum="MouseFilter">
- The control will receive mouse button input events through [method _gui_input] if clicked on. And the control will receive the [signal mouse_entered] and [signal mouse_exited] signals. These events are automatically marked as handled and they will not propagate further to other controls. This also results in blocking signals in other controls.
+ The control will receive mouse button input events through [method _gui_input] if clicked on. And the control will receive the [signal mouse_entered] and [signal mouse_exited] signals. These events are automatically marked as handled, and they will not propagate further to other controls. This also results in blocking signals in other controls.
</constant>
<constant name="MOUSE_FILTER_PASS" value="1" enum="MouseFilter">
The control will receive mouse button input events through [method _gui_input] if clicked on. And the control will receive the [signal mouse_entered] and [signal mouse_exited] signals. If this control does not handle the event, the parent control (if any) will be considered, and so on until there is no more parent control to potentially handle it. This also allows signals to fire in other controls. Even if no control handled it at all, the event will still be handled automatically, so unhandled input will not be fired.
</constant>
<constant name="MOUSE_FILTER_IGNORE" value="2" enum="MouseFilter">
- The control will not receive mouse button input events through [method _gui_input]. Also the control will not receive the [signal mouse_entered] nor [signal mouse_exited] signals. This will not block other controls from receiving these events or firing the signals. Ignored events will not be handled automatically.
+ The control will not receive mouse button input events through [method _gui_input]. The control will also not receive the [signal mouse_entered] nor [signal mouse_exited] signals. This will not block other controls from receiving these events or firing the signals. Ignored events will not be handled automatically.
</constant>
<constant name="GROW_DIRECTION_BEGIN" value="0" enum="GrowDirection">
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.
diff --git a/doc/classes/ConvexPolygonShape.xml b/doc/classes/ConvexPolygonShape.xml
index 31b4d08213..d15a0a7336 100644
--- a/doc/classes/ConvexPolygonShape.xml
+++ b/doc/classes/ConvexPolygonShape.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="points" type="PoolVector3Array" setter="set_points" getter="get_points">
+ <member name="points" type="PoolVector3Array" setter="set_points" getter="get_points" default="PoolVector3Array( )">
The list of 3D points forming the convex polygon shape.
</member>
</members>
diff --git a/doc/classes/ConvexPolygonShape2D.xml b/doc/classes/ConvexPolygonShape2D.xml
index 7add252481..050ca23e05 100644
--- a/doc/classes/ConvexPolygonShape2D.xml
+++ b/doc/classes/ConvexPolygonShape2D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConvexPolygonShape2D" inherits="Shape2D" category="Core" version="3.2">
<brief_description>
- Convex Polygon Shape for 2D physics.
+ Convex polygon shape for 2D physics.
</brief_description>
<description>
- Convex Polygon Shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check).
+ Convex polygon shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check).
The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
</description>
<tutorials>
@@ -21,7 +21,7 @@
</method>
</methods>
<members>
- <member name="points" type="PoolVector2Array" setter="set_points" getter="get_points">
+ <member name="points" type="PoolVector2Array" setter="set_points" getter="get_points" default="PoolVector2Array( )">
The polygon's list of vertices. Can be in either clockwise or counterclockwise order.
</member>
</members>
diff --git a/doc/classes/CubeMap.xml b/doc/classes/CubeMap.xml
index f5d2823115..2cedc78499 100644
--- a/doc/classes/CubeMap.xml
+++ b/doc/classes/CubeMap.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CubeMap" inherits="Resource" category="Core" version="3.2">
<brief_description>
- A CubeMap is a 6 sided 3D texture.
+ A CubeMap is a 6-sided 3D texture.
</brief_description>
<description>
A 6-sided 3D texture typically used for faking reflections. It can be used to make an object look as if it's reflecting its surroundings. This usually delivers much better performance than other reflection methods.
@@ -45,13 +45,13 @@
</method>
</methods>
<members>
- <member name="flags" type="int" setter="set_flags" getter="get_flags">
+ <member name="flags" type="int" setter="set_flags" getter="get_flags" default="7">
The render flags for the [CubeMap]. See the [code]FLAG_*[/code] constants for details.
</member>
- <member name="lossy_storage_quality" type="float" setter="set_lossy_storage_quality" getter="get_lossy_storage_quality">
+ <member name="lossy_storage_quality" type="float" setter="set_lossy_storage_quality" getter="get_lossy_storage_quality" default="0.7">
The lossy storage quality of the [CubeMap] if the storage mode is set to STORAGE_COMPRESS_LOSSY.
</member>
- <member name="storage_mode" type="int" setter="set_storage" getter="get_storage" enum="CubeMap.Storage">
+ <member name="storage_mode" type="int" setter="set_storage" getter="get_storage" enum="CubeMap.Storage" default="0">
The [CubeMap]'s storage mode. See [code]STORAGE_*[/code] constants.
</member>
</members>
diff --git a/doc/classes/CubeMesh.xml b/doc/classes/CubeMesh.xml
index 6162474ed1..67e559ab07 100644
--- a/doc/classes/CubeMesh.xml
+++ b/doc/classes/CubeMesh.xml
@@ -12,17 +12,17 @@
<methods>
</methods>
<members>
- <member name="size" type="Vector3" setter="set_size" getter="get_size">
- Size of the cuboid mesh. Defaults to (2, 2, 2).
+ <member name="size" type="Vector3" setter="set_size" getter="get_size" default="Vector3( 2, 2, 2 )">
+ Size of the cuboid mesh.
</member>
- <member name="subdivide_depth" type="int" setter="set_subdivide_depth" getter="get_subdivide_depth">
- Number of extra edge loops inserted along the z-axis. Defaults to 0.
+ <member name="subdivide_depth" type="int" setter="set_subdivide_depth" getter="get_subdivide_depth" default="0">
+ Number of extra edge loops inserted along the Z axis.
</member>
- <member name="subdivide_height" type="int" setter="set_subdivide_height" getter="get_subdivide_height">
- Number of extra edge loops inserted along the y-axis. Defaults to 0.
+ <member name="subdivide_height" type="int" setter="set_subdivide_height" getter="get_subdivide_height" default="0">
+ Number of extra edge loops inserted along the Y axis.
</member>
- <member name="subdivide_width" type="int" setter="set_subdivide_width" getter="get_subdivide_width">
- Number of extra edge loops inserted along the x-axis. Defaults to 0.
+ <member name="subdivide_width" type="int" setter="set_subdivide_width" getter="get_subdivide_width" default="0">
+ Number of extra edge loops inserted along the X axis.
</member>
</members>
<constants>
diff --git a/doc/classes/Curve.xml b/doc/classes/Curve.xml
index 20afb03048..0fb559296e 100644
--- a/doc/classes/Curve.xml
+++ b/doc/classes/Curve.xml
@@ -4,7 +4,7 @@
A mathematic curve.
</brief_description>
<description>
- A curve that can be saved and re-used for other objects. By default it ranges between [code]0[/code] and [code]1[/code] on the y-axis and positions points relative to the [code]0.5[/code] y-position.
+ A curve that can be saved and re-used for other objects. By default, it ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions points relative to the [code]0.5[/code] Y position.
</description>
<tutorials>
</tutorials>
@@ -23,7 +23,7 @@
<argument index="4" name="right_mode" type="int" enum="Curve.TangentMode" default="0">
</argument>
<description>
- Adds a point to the curve. For each side, if the [code]*_mode[/code] is [code]TANGENT_LINEAR[/code], the [code]*_tangent[/code] angle (in degrees) uses the slope of the curve halfway to the adjacent point. Allows custom assignments to the [code]*_tangent[/code] angle if [code]*_mode[/code] is set to [code]TANGENT_FREE[/code].
+ Adds a point to the curve. For each side, if the [code]*_mode[/code] is [constant TANGENT_LINEAR], the [code]*_tangent[/code] angle (in degrees) uses the slope of the curve halfway to the adjacent point. Allows custom assignments to the [code]*_tangent[/code] angle if [code]*_mode[/code] is set to [constant TANGENT_FREE].
</description>
</method>
<method name="bake">
@@ -60,7 +60,7 @@
<argument index="0" name="index" type="int">
</argument>
<description>
- Returns the left [code]TangentMode[/code] for the point at [code]index[/code].
+ Returns the left [enum TangentMode] for the point at [code]index[/code].
</description>
</method>
<method name="get_point_left_tangent" qualifiers="const">
@@ -87,7 +87,7 @@
<argument index="0" name="index" type="int">
</argument>
<description>
- Returns the right [code]TangentMode[/code] for the point at [code]index[/code].
+ Returns the right [enum TangentMode] for the point at [code]index[/code].
</description>
</method>
<method name="get_point_right_tangent" qualifiers="const">
@@ -105,7 +105,7 @@
<argument index="0" name="offset" type="float">
</argument>
<description>
- Returns the y value for the point that would exist at x-position [code]offset[/code] along the curve.
+ Returns the Y value for the point that would exist at the X position [code]offset[/code] along the curve.
</description>
</method>
<method name="interpolate_baked">
@@ -114,7 +114,7 @@
<argument index="0" name="offset" type="float">
</argument>
<description>
- Returns the y value for the point that would exist at x-position [code]offset[/code] along the curve using the baked cache. Bakes the curve's points if not already baked.
+ Returns the Y value for the point that would exist at the X position [code]offset[/code] along the curve using the baked cache. Bakes the curve's points if not already baked.
</description>
</method>
<method name="remove_point">
@@ -134,7 +134,7 @@
<argument index="1" name="mode" type="int" enum="Curve.TangentMode">
</argument>
<description>
- Sets the left [code]TangentMode[/code] for the point at [code]index[/code] to [code]mode[/code].
+ Sets the left [enum TangentMode] for the point at [code]index[/code] to [code]mode[/code].
</description>
</method>
<method name="set_point_left_tangent">
@@ -156,7 +156,7 @@
<argument index="1" name="offset" type="float">
</argument>
<description>
- Sets the offset from [code]0.5[/code]
+ Sets the offset from [code]0.5[/code].
</description>
</method>
<method name="set_point_right_mode">
@@ -167,7 +167,7 @@
<argument index="1" name="mode" type="int" enum="Curve.TangentMode">
</argument>
<description>
- Sets the right [code]TangentMode[/code] for the point at [code]index[/code] to [code]mode[/code].
+ Sets the right [enum TangentMode] for the point at [code]index[/code] to [code]mode[/code].
</description>
</method>
<method name="set_point_right_tangent">
@@ -194,14 +194,14 @@
</method>
</methods>
<members>
- <member name="bake_resolution" type="int" setter="set_bake_resolution" getter="get_bake_resolution">
+ <member name="bake_resolution" type="int" setter="set_bake_resolution" getter="get_bake_resolution" default="100">
The number of points to include in the baked (i.e. cached) curve data.
</member>
- <member name="max_value" type="float" setter="set_max_value" getter="get_max_value">
- The maximum value the curve can reach. Default value: [code]1[/code].
+ <member name="max_value" type="float" setter="set_max_value" getter="get_max_value" default="1.0">
+ The maximum value the curve can reach.
</member>
- <member name="min_value" type="float" setter="set_min_value" getter="get_min_value">
- The minimum value the curve can reach. Default value: [code]0[/code].
+ <member name="min_value" type="float" setter="set_min_value" getter="get_min_value" default="0.0">
+ The minimum value the curve can reach.
</member>
</members>
<signals>
diff --git a/doc/classes/Curve2D.xml b/doc/classes/Curve2D.xml
index 3631711a8f..4e449a2032 100644
--- a/doc/classes/Curve2D.xml
+++ b/doc/classes/Curve2D.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Curve2D" inherits="Resource" category="Core" version="3.2">
<brief_description>
- Describes a Bezier curve in 2D space.
+ Describes a Bézier curve in 2D space.
</brief_description>
<description>
- This class describes a Bezier curve in 2D space. It is mainly used to give a shape to a [Path2D], but can be manually sampled for other purposes.
- It keeps a cache of precalculated points along the curve, to speed further calculations up.
+ This class describes a Bézier curve in 2D space. It is mainly used to give a shape to a [Path2D], but can be manually sampled for other purposes.
+ It keeps a cache of precalculated points along the curve, to speed up further calculations.
</description>
<tutorials>
</tutorials>
@@ -22,7 +22,7 @@
<argument index="3" name="at_position" type="int" default="-1">
</argument>
<description>
- Adds a point to a curve, at [code]position[/code], with control points [code]in[/code] and [code]out[/code].
+ Adds a point to a curve at [code]position[/code], with control points [code]in[/code] and [code]out[/code].
If [code]at_position[/code] is given, the point is inserted before the point number [code]at_position[/code], moving that point (and every point after) after the inserted point. If [code]at_position[/code] is not given, or is an illegal value ([code]at_position &lt;0[/code] or [code]at_position &gt;= [method get_point_count][/code]), the point will be appended at the end of the point list.
</description>
</method>
@@ -193,7 +193,7 @@
</method>
</methods>
<members>
- <member name="bake_interval" type="float" setter="set_bake_interval" getter="get_bake_interval">
+ <member name="bake_interval" type="float" setter="set_bake_interval" getter="get_bake_interval" default="5.0">
The distance in pixels between two adjacent cached points. Changing it forces the cache to be recomputed the next time the [method get_baked_points] or [method get_baked_length] function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care.
</member>
</members>
diff --git a/doc/classes/Curve3D.xml b/doc/classes/Curve3D.xml
index 7fda8aaa93..4a0873a986 100644
--- a/doc/classes/Curve3D.xml
+++ b/doc/classes/Curve3D.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Curve3D" inherits="Resource" category="Core" version="3.2">
<brief_description>
- Describes a Bezier curve in 3D space.
+ Describes a Bézier curve in 3D space.
</brief_description>
<description>
- This class describes a Bezier curve in 3D space. It is mainly used to give a shape to a [Path], but can be manually sampled for other purposes.
- It keeps a cache of precalculated points along the curve, to speed further calculations up.
+ This class describes a Bézier curve in 3D space. It is mainly used to give a shape to a [Path], but can be manually sampled for other purposes.
+ It keeps a cache of precalculated points along the curve, to speed up further calculations.
</description>
<tutorials>
</tutorials>
@@ -22,7 +22,7 @@
<argument index="3" name="at_position" type="int" default="-1">
</argument>
<description>
- Adds a point to a curve, at [code]position[/code], with control points [code]in[/code] and [code]out[/code].
+ Adds a point to a curve at [code]position[/code], with control points [code]in[/code] and [code]out[/code].
If [code]at_position[/code] is given, the point is inserted before the point number [code]at_position[/code], moving that point (and every point after) after the inserted point. If [code]at_position[/code] is not given, or is an illegal value ([code]at_position &lt;0[/code] or [code]at_position &gt;= [method get_point_count][/code]), the point will be appended at the end of the point list.
</description>
</method>
@@ -242,11 +242,11 @@
</method>
</methods>
<members>
- <member name="bake_interval" type="float" setter="set_bake_interval" getter="get_bake_interval">
+ <member name="bake_interval" type="float" setter="set_bake_interval" getter="get_bake_interval" default="0.2">
The distance in meters between two adjacent cached points. Changing it forces the cache to be recomputed the next time the [method get_baked_points] or [method get_baked_length] function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care.
</member>
- <member name="up_vector_enabled" type="bool" setter="set_up_vector_enabled" getter="is_up_vector_enabled">
- If [code]true[/code], the curve will bake up vectors used for orientation. This is used when a [member PathFollow.rotation_mode] is set to [code]ROTATION_ORIENTED[/code], see [PathFollow] for details. Changing it forces the cache to be recomputed.
+ <member name="up_vector_enabled" type="bool" setter="set_up_vector_enabled" getter="is_up_vector_enabled" default="true">
+ If [code]true[/code], the curve will bake up vectors used for orientation. This is used when [member PathFollow.rotation_mode] is set to [constant PathFollow.ROTATION_ORIENTED]. Changing it forces the cache to be recomputed.
</member>
</members>
<constants>
diff --git a/doc/classes/CurveTexture.xml b/doc/classes/CurveTexture.xml
index 0184e1e6b6..666284138b 100644
--- a/doc/classes/CurveTexture.xml
+++ b/doc/classes/CurveTexture.xml
@@ -11,10 +11,10 @@
<methods>
</methods>
<members>
- <member name="curve" type="Curve" setter="set_curve" getter="get_curve">
+ <member name="curve" type="Curve" setter="set_curve" getter="get_curve" default="null">
The [code]curve[/code] rendered onto the texture.
</member>
- <member name="width" type="int" setter="set_width" getter="get_width">
+ <member name="width" type="int" setter="set_width" getter="get_width" default="2048">
The width of the texture.
</member>
</members>
diff --git a/doc/classes/CylinderMesh.xml b/doc/classes/CylinderMesh.xml
index dbdc7aeb92..8e9397791a 100644
--- a/doc/classes/CylinderMesh.xml
+++ b/doc/classes/CylinderMesh.xml
@@ -11,20 +11,20 @@
<methods>
</methods>
<members>
- <member name="bottom_radius" type="float" setter="set_bottom_radius" getter="get_bottom_radius">
- Bottom radius of the cylinder. Defaults to 1.0.
+ <member name="bottom_radius" type="float" setter="set_bottom_radius" getter="get_bottom_radius" default="1.0">
+ Bottom radius of the cylinder.
</member>
- <member name="height" type="float" setter="set_height" getter="get_height">
- Full height of the cylinder. Defaults to 2.0.
+ <member name="height" type="float" setter="set_height" getter="get_height" default="2.0">
+ Full height of the cylinder.
</member>
- <member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments">
- Number of radial segments on the cylinder. Defaults to 64.
+ <member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments" default="64">
+ Number of radial segments on the cylinder.
</member>
- <member name="rings" type="int" setter="set_rings" getter="get_rings">
- Number of edge rings along the height of the cylinder. Defaults to 4.
+ <member name="rings" type="int" setter="set_rings" getter="get_rings" default="4">
+ Number of edge rings along the height of the cylinder.
</member>
- <member name="top_radius" type="float" setter="set_top_radius" getter="get_top_radius">
- Top radius of the cylinder. Defaults to 1.0.
+ <member name="top_radius" type="float" setter="set_top_radius" getter="get_top_radius" default="1.0">
+ Top radius of the cylinder.
</member>
</members>
<constants>
diff --git a/doc/classes/CylinderShape.xml b/doc/classes/CylinderShape.xml
index 847265ef25..5dff156775 100644
--- a/doc/classes/CylinderShape.xml
+++ b/doc/classes/CylinderShape.xml
@@ -11,10 +11,10 @@
<methods>
</methods>
<members>
- <member name="height" type="float" setter="set_height" getter="get_height">
+ <member name="height" type="float" setter="set_height" getter="get_height" default="2.0">
The cylinder's height.
</member>
- <member name="radius" type="float" setter="set_radius" getter="get_radius">
+ <member name="radius" type="float" setter="set_radius" getter="get_radius" default="1.0">
The cylinder's radius.
</member>
</members>
diff --git a/doc/classes/DampedSpringJoint2D.xml b/doc/classes/DampedSpringJoint2D.xml
index d6973848e2..270d948f5e 100644
--- a/doc/classes/DampedSpringJoint2D.xml
+++ b/doc/classes/DampedSpringJoint2D.xml
@@ -11,17 +11,17 @@
<methods>
</methods>
<members>
- <member name="damping" type="float" setter="set_damping" getter="get_damping">
- The spring joint's damping ratio. A value between [code]0[/code] and [code]1[/code]. When the two bodies move into different directions the system tries to align them to the spring axis again. A high [code]damping[/code] value forces the attached bodies to align faster. Default value: [code]1[/code]
+ <member name="damping" type="float" setter="set_damping" getter="get_damping" default="1.0">
+ The spring joint's damping ratio. A value between [code]0[/code] and [code]1[/code]. When the two bodies move into different directions the system tries to align them to the spring axis again. A high [code]damping[/code] value forces the attached bodies to align faster.
</member>
- <member name="length" type="float" setter="set_length" getter="get_length">
- The spring joint's maximum length. The two attached bodies cannot stretch it past this value. Default value: [code]50[/code]
+ <member name="length" type="float" setter="set_length" getter="get_length" default="50.0">
+ The spring joint's maximum length. The two attached bodies cannot stretch it past this value.
</member>
- <member name="rest_length" type="float" setter="set_rest_length" getter="get_rest_length">
- When the bodies attached to the spring joint move they stretch or squash it. The joint always tries to resize towards this length. Default value: [code]0[/code]
+ <member name="rest_length" type="float" setter="set_rest_length" getter="get_rest_length" default="0.0">
+ When the bodies attached to the spring joint move they stretch or squash it. The joint always tries to resize towards this length.
</member>
- <member name="stiffness" type="float" setter="set_stiffness" getter="get_stiffness">
- The higher the value, the less the bodies attached to the joint will deform it. The joint applies an opposing force to the bodies, the product of the stiffness multiplied by the size difference from its resting length. Default value: [code]20[/code]
+ <member name="stiffness" type="float" setter="set_stiffness" getter="get_stiffness" default="20.0">
+ The higher the value, the less the bodies attached to the joint will deform it. The joint applies an opposing force to the bodies, the product of the stiffness multiplied by the size difference from its resting length.
</member>
</members>
<constants>
diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml
index ec70fd311b..831a0bb02f 100644
--- a/doc/classes/Dictionary.xml
+++ b/doc/classes/Dictionary.xml
@@ -47,7 +47,7 @@
<argument index="0" name="key" type="Variant">
</argument>
<description>
- Erase a dictionary key/value pair by key. Returns [code]true[/code] if the given key was present in the dictionary, [code]false[/code] otherwise. Do not erase elements while iterating over the dictionary.
+ Erase a dictionary key/value pair by key. Returns [code]true[/code] if the given key was present in the dictionary, [code]false[/code] otherwise. Does not erase elements while iterating over the dictionary.
</description>
</method>
<method name="get">
@@ -58,7 +58,7 @@
<argument index="1" name="default" type="Variant" default="Null">
</argument>
<description>
- Returns the current value for the specified key in the [Dictionary]. If the key does not exist, the method returns the value of the optional default argument, or Null if it is omitted.
+ Returns the current value for the specified key in the [Dictionary]. If the key does not exist, the method returns the value of the optional default argument, or [code]null[/code] if it is omitted.
</description>
</method>
<method name="has">
diff --git a/doc/classes/DirectionalLight.xml b/doc/classes/DirectionalLight.xml
index c6650a1641..4d0ff7f13b 100644
--- a/doc/classes/DirectionalLight.xml
+++ b/doc/classes/DirectionalLight.xml
@@ -4,7 +4,7 @@
Directional light from a distance, as from the Sun.
</brief_description>
<description>
- A directional light is a type of [Light] node that models an infinite number of parallel rays covering the entire scene. It is used for lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored. Only the basis is used do determine light direction.
+ A directional light is a type of [Light] node that models an infinite number of parallel rays covering the entire scene. It is used for lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored. Only the basis is used to determine light direction.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/3d/lights_and_shadows.html</link>
@@ -12,31 +12,31 @@
<methods>
</methods>
<members>
- <member name="directional_shadow_bias_split_scale" type="float" setter="set_param" getter="get_param">
- Amount of extra bias for shadow splits that are far away. If self shadowing occurs only on the splits far away, this value can fix them.
+ <member name="directional_shadow_bias_split_scale" type="float" setter="set_param" getter="get_param" default="0.25">
+ Amount of extra bias for shadow splits that are far away. If self-shadowing occurs only on the splits far away, increasing this value can fix them.
</member>
- <member name="directional_shadow_blend_splits" type="bool" setter="set_blend_splits" getter="is_blend_splits_enabled">
- If [code]true[/code], shadow detail is sacrificed in exchange for smoother transitions between splits. Default value:[code]false[/code].
+ <member name="directional_shadow_blend_splits" type="bool" setter="set_blend_splits" getter="is_blend_splits_enabled" default="false">
+ If [code]true[/code], shadow detail is sacrificed in exchange for smoother transitions between splits.
</member>
- <member name="directional_shadow_depth_range" type="int" setter="set_shadow_depth_range" getter="get_shadow_depth_range" enum="DirectionalLight.ShadowDepthRange">
+ <member name="directional_shadow_depth_range" type="int" setter="set_shadow_depth_range" getter="get_shadow_depth_range" enum="DirectionalLight.ShadowDepthRange" default="0">
Optimizes shadow rendering for detail versus movement. See [enum ShadowDepthRange].
</member>
- <member name="directional_shadow_max_distance" type="float" setter="set_param" getter="get_param">
+ <member name="directional_shadow_max_distance" type="float" setter="set_param" getter="get_param" default="200.0">
The maximum distance for shadow splits.
</member>
- <member name="directional_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="DirectionalLight.ShadowMode">
+ <member name="directional_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="DirectionalLight.ShadowMode" default="2">
The light's shadow rendering algorithm. See [enum ShadowMode].
</member>
- <member name="directional_shadow_normal_bias" type="float" setter="set_param" getter="get_param">
+ <member name="directional_shadow_normal_bias" type="float" setter="set_param" getter="get_param" default="0.8">
Can be used to fix special cases of self shadowing when objects are perpendicular to the light.
</member>
- <member name="directional_shadow_split_1" type="float" setter="set_param" getter="get_param">
- The distance from camera to shadow split 1. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is one of the [code]SHADOW_PARALLEL_*_SPLITS[/code] constants.
+ <member name="directional_shadow_split_1" type="float" setter="set_param" getter="get_param" default="0.1">
+ The distance from camera to shadow split 1. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [code]SHADOW_PARALLEL_2_SPLITS[/code] or [code]SHADOW_PARALLEL_4_SPLITS[/code].
</member>
- <member name="directional_shadow_split_2" type="float" setter="set_param" getter="get_param">
- The distance from shadow split 1 to split 2. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [code]SHADOW_PARALLEL_3_SPLITS[/code] or [code]SHADOW_PARALLEL_4_SPLITS[/code].
+ <member name="directional_shadow_split_2" type="float" setter="set_param" getter="get_param" default="0.2">
+ The distance from shadow split 1 to split 2. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [code]SHADOW_PARALLEL_2_SPLITS[/code] or [code]SHADOW_PARALLEL_4_SPLITS[/code].
</member>
- <member name="directional_shadow_split_3" type="float" setter="set_param" getter="get_param">
+ <member name="directional_shadow_split_3" type="float" setter="set_param" getter="get_param" default="0.5">
The distance from shadow split 2 to split 3. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [code]SHADOW_PARALLEL_4_SPLITS[/code].
</member>
</members>
@@ -51,7 +51,7 @@
Splits the view frustum in 4 areas, each with its own shadow map.
</constant>
<constant name="SHADOW_DEPTH_RANGE_STABLE" value="0" enum="ShadowDepthRange">
- Keeps the shadow stable when the camera moves, at the cost of lower effective shadow resolution. Default value.
+ Keeps the shadow stable when the camera moves, at the cost of lower effective shadow resolution.
</constant>
<constant name="SHADOW_DEPTH_RANGE_OPTIMIZED" value="1" enum="ShadowDepthRange">
Tries to achieve maximum shadow resolution. May result in saw effect on shadow edges.
diff --git a/doc/classes/Directory.xml b/doc/classes/Directory.xml
index 54aac33652..9294a515d2 100644
--- a/doc/classes/Directory.xml
+++ b/doc/classes/Directory.xml
@@ -32,8 +32,8 @@
<argument index="0" name="todir" type="String">
</argument>
<description>
- Change the currently opened directory to the one passed as an argument. The argument can be relative to the current directory (e.g. [code]newdir[/code] or [code]../newdir[/code]), or an absolute path (e.g. [code]/tmp/newdir[/code] or [code]res://somedir/newdir[/code]).
- The method returns one of the error code constants defined in [@GlobalScope] (OK or ERR_*).
+ Changes the currently opened directory to the one passed as an argument. The argument can be relative to the current directory (e.g. [code]newdir[/code] or [code]../newdir[/code]), or an absolute path (e.g. [code]/tmp/newdir[/code] or [code]res://somedir/newdir[/code]).
+ The method returns one of the error code constants defined in [@GlobalScope] ([code]OK[/code] or [code]ERR_*[/code]).
</description>
</method>
<method name="copy">
@@ -44,8 +44,8 @@
<argument index="1" name="to" type="String">
</argument>
<description>
- Copy the [i]from[/i] file to the [i]to[/i] destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
- Returns one of the error code constants defined in [@GlobalScope] (OK, FAILED or ERR_*).
+ Copies the [code]from[/code] file to the [code]to[/code] destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
+ Returns one of the error code constants defined in [@GlobalScope] ([code]OK[/code], [code]FAILED[/code] or [code]ERR_*[/code]).
</description>
</method>
<method name="current_is_dir" qualifiers="const">
@@ -93,14 +93,14 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- On Windows, return the name of the drive (partition) passed as an argument (e.g. [code]C:[/code]). On other platforms, or if the requested drive does not existed, the method returns an empty String.
+ On Windows, returns the name of the drive (partition) passed as an argument (e.g. [code]C:[/code]). On other platforms, or if the requested drive does not existed, the method returns an empty String.
</description>
</method>
<method name="get_drive_count">
<return type="int">
</return>
<description>
- On Windows, return the number of drives (partitions) mounted on the current filesystem. On other platforms, the method returns 0.
+ On Windows, returns the number of drives (partitions) mounted on the current filesystem. On other platforms, the method returns 0.
</description>
</method>
<method name="get_next">
@@ -115,7 +115,7 @@
<return type="int">
</return>
<description>
- On Unix desktop systems, return the available space on the current directory's disk. On other platforms, this information is not available and the method returns 0 or -1.
+ On UNIX desktop systems, returns the available space on the current directory's disk. On other platforms, this information is not available and the method returns 0 or -1.
</description>
</method>
<method name="list_dir_begin">
@@ -126,7 +126,7 @@
<argument index="1" name="skip_hidden" type="bool" default="false">
</argument>
<description>
- Initialise the stream used to list all files and directories using the [method get_next] function, closing the current opened stream if needed. Once the stream has been processed, it should typically be closed with [method list_dir_end].
+ Initializes the stream used to list all files and directories using the [method get_next] function, closing the current opened stream if needed. Once the stream has been processed, it should typically be closed with [method list_dir_end].
If you pass [code]skip_navigational[/code], then [code].[/code] and [code]..[/code] would be filtered out.
If you pass [code]skip_hidden[/code], then hidden files would be filtered out.
</description>
@@ -135,7 +135,7 @@
<return type="void">
</return>
<description>
- Close the current stream opened with [method list_dir_begin] (whether it has been fully processed with [method get_next] or not does not matter).
+ Closes the current stream opened with [method list_dir_begin] (whether it has been fully processed with [method get_next] or not does not matter).
</description>
</method>
<method name="make_dir">
@@ -144,8 +144,8 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Create a directory. The argument can be relative to the current directory, or an absolute path. The target directory should be placed in an already existing directory (to create the full path recursively, see [method make_dir_recursive]).
- The method returns one of the error code constants defined in [@GlobalScope] (OK, FAILED or ERR_*).
+ Creates a directory. The argument can be relative to the current directory, or an absolute path. The target directory should be placed in an already existing directory (to create the full path recursively, see [method make_dir_recursive]).
+ The method returns one of the error code constants defined in [@GlobalScope] ([code]OK[/code], [code]FAILED[/code] or [code]ERR_*[/code]).
</description>
</method>
<method name="make_dir_recursive">
@@ -154,8 +154,8 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Create a target directory and all necessary intermediate directories in its path, by calling [method make_dir] recursively. The argument can be relative to the current directory, or an absolute path.
- Returns one of the error code constants defined in [@GlobalScope] (OK, FAILED or ERR_*).
+ Creates a target directory and all necessary intermediate directories in its path, by calling [method make_dir] recursively. The argument can be relative to the current directory, or an absolute path.
+ Returns one of the error code constants defined in [@GlobalScope] ([code]0K[/code], [code]FAILED[/code] or [code]ERR_*[/code]).
</description>
</method>
<method name="open">
@@ -164,8 +164,8 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Open an existing directory of the filesystem. The [i]path[/i] argument can be within the project tree ([code]res://folder[/code]), the user directory ([code]user://folder[/code]) or an absolute path of the user filesystem (e.g. [code]/tmp/folder[/code] or [code]C:\tmp\folder[/code]).
- The method returns one of the error code constants defined in [@GlobalScope] (OK or ERR_*).
+ Opens an existing directory of the filesystem. The [code]path[/code] argument can be within the project tree ([code]res://folder[/code]), the user directory ([code]user://folder[/code]) or an absolute path of the user filesystem (e.g. [code]/tmp/folder[/code] or [code]C:\tmp\folder[/code]).
+ The method returns one of the error code constants defined in [@GlobalScope] ([code]OK[/code] or [code]ERR_*[/code]).
</description>
</method>
<method name="remove">
@@ -174,8 +174,8 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Delete the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail.
- Returns one of the error code constants defined in [@GlobalScope] (OK or FAILED).
+ Deletes the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail.
+ Returns one of the error code constants defined in [@GlobalScope] ([code]OK[/code] or [code]FAILED[/code]).
</description>
</method>
<method name="rename">
@@ -186,8 +186,8 @@
<argument index="1" name="to" type="String">
</argument>
<description>
- Rename (move) the [i]from[/i] file to the [i]to[/i] destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
- Returns one of the error code constants defined in [@GlobalScope] (OK or FAILED).
+ Renames (move) the [code]from[/code] file to the [code]to[/code] destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
+ Returns one of the error code constants defined in [@GlobalScope] ([code]OK[/code] or [code]FAILED[/code]).
</description>
</method>
</methods>
diff --git a/doc/classes/DynamicFont.xml b/doc/classes/DynamicFont.xml
index 5fdc1ebb75..b7710068a6 100644
--- a/doc/classes/DynamicFont.xml
+++ b/doc/classes/DynamicFont.xml
@@ -62,32 +62,32 @@
</method>
</methods>
<members>
- <member name="extra_spacing_bottom" type="int" setter="set_spacing" getter="get_spacing">
+ <member name="extra_spacing_bottom" type="int" setter="set_spacing" getter="get_spacing" default="0">
Extra spacing at the bottom in pixels.
</member>
- <member name="extra_spacing_char" type="int" setter="set_spacing" getter="get_spacing">
+ <member name="extra_spacing_char" type="int" setter="set_spacing" getter="get_spacing" default="0">
Extra character spacing in pixels.
</member>
- <member name="extra_spacing_space" type="int" setter="set_spacing" getter="get_spacing">
+ <member name="extra_spacing_space" type="int" setter="set_spacing" getter="get_spacing" default="0">
Extra space spacing in pixels.
</member>
- <member name="extra_spacing_top" type="int" setter="set_spacing" getter="get_spacing">
+ <member name="extra_spacing_top" type="int" setter="set_spacing" getter="get_spacing" default="0">
Extra spacing at the top in pixels.
</member>
- <member name="font_data" type="DynamicFontData" setter="set_font_data" getter="get_font_data">
+ <member name="font_data" type="DynamicFontData" setter="set_font_data" getter="get_font_data" default="null">
The font data.
</member>
- <member name="outline_color" type="Color" setter="set_outline_color" getter="get_outline_color">
+ <member name="outline_color" type="Color" setter="set_outline_color" getter="get_outline_color" default="Color( 1, 1, 1, 1 )">
</member>
- <member name="outline_size" type="int" setter="set_outline_size" getter="get_outline_size">
+ <member name="outline_size" type="int" setter="set_outline_size" getter="get_outline_size" default="0">
</member>
- <member name="size" type="int" setter="set_size" getter="get_size">
+ <member name="size" type="int" setter="set_size" getter="get_size" default="16">
The font size.
</member>
- <member name="use_filter" type="bool" setter="set_use_filter" getter="get_use_filter">
+ <member name="use_filter" type="bool" setter="set_use_filter" getter="get_use_filter" default="false">
If [code]true[/code], filtering is used.
</member>
- <member name="use_mipmaps" type="bool" setter="set_use_mipmaps" getter="get_use_mipmaps">
+ <member name="use_mipmaps" type="bool" setter="set_use_mipmaps" getter="get_use_mipmaps" default="false">
If [code]true[/code], mipmapping is used.
</member>
</members>
diff --git a/doc/classes/DynamicFontData.xml b/doc/classes/DynamicFontData.xml
index 8eff5fb993..ecdab32e80 100644
--- a/doc/classes/DynamicFontData.xml
+++ b/doc/classes/DynamicFontData.xml
@@ -11,19 +11,19 @@
<methods>
</methods>
<members>
- <member name="antialiased" type="bool" setter="set_antialiased" getter="is_antialiased">
+ <member name="antialiased" type="bool" setter="set_antialiased" getter="is_antialiased" default="true">
Controls whether the font should be rendered with anti-aliasing.
</member>
- <member name="font_path" type="String" setter="set_font_path" getter="get_font_path">
+ <member name="font_path" type="String" setter="set_font_path" getter="get_font_path" default="&quot;&quot;">
The path to the vector font file.
</member>
- <member name="hinting" type="int" setter="set_hinting" getter="get_hinting" enum="DynamicFontData.Hinting">
+ <member name="hinting" type="int" setter="set_hinting" getter="get_hinting" enum="DynamicFontData.Hinting" default="2">
The font hinting mode used by FreeType.
</member>
</members>
<constants>
<constant name="HINTING_NONE" value="0" enum="Hinting">
- Disable font hinting (smoother but less crisp).
+ Disables font hinting (smoother but less crisp).
</constant>
<constant name="HINTING_LIGHT" value="1" enum="Hinting">
Use the light font hinting mode.
diff --git a/doc/classes/EditorFeatureProfile.xml b/doc/classes/EditorFeatureProfile.xml
index 410b71a43e..21da9fd454 100644
--- a/doc/classes/EditorFeatureProfile.xml
+++ b/doc/classes/EditorFeatureProfile.xml
@@ -124,6 +124,7 @@
<constant name="FEATURE_FILESYSTEM_DOCK" value="6" enum="Feature">
</constant>
<constant name="FEATURE_MAX" value="7" enum="Feature">
+ Represents the size of the [enum Feature] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/EditorFileDialog.xml b/doc/classes/EditorFileDialog.xml
index 15271b8050..c9f55afbaf 100644
--- a/doc/classes/EditorFileDialog.xml
+++ b/doc/classes/EditorFileDialog.xml
@@ -14,7 +14,7 @@
</argument>
<description>
Adds a comma-delimited file extension filter option to the [EditorFileDialog] with an optional semi-colon-delimited label.
- Example: "*.tscn, *.scn; Scenes", results in filter text "Scenes (*.tscn, *.scn)".
+ For example, [code]"*.tscn, *.scn; Scenes"[/code] results in filter text "Scenes (*.tscn, *.scn)".
</description>
</method>
<method name="clear_filters">
@@ -40,28 +40,28 @@
</method>
</methods>
<members>
- <member name="access" type="int" setter="set_access" getter="get_access" enum="EditorFileDialog.Access">
+ <member name="access" type="int" setter="set_access" getter="get_access" enum="EditorFileDialog.Access" default="0">
The location from which the user may select a file, including [code]res://[/code], [code]user://[/code], and the local file system.
</member>
- <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir">
+ <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir" default="&quot;res://&quot;">
The currently occupied directory.
</member>
- <member name="current_file" type="String" setter="set_current_file" getter="get_current_file">
+ <member name="current_file" type="String" setter="set_current_file" getter="get_current_file" default="&quot;&quot;">
The currently selected file.
</member>
- <member name="current_path" type="String" setter="set_current_path" getter="get_current_path">
+ <member name="current_path" type="String" setter="set_current_path" getter="get_current_path" default="&quot;res://&quot;">
The file system path in the address bar.
</member>
- <member name="disable_overwrite_warning" type="bool" setter="set_disable_overwrite_warning" getter="is_overwrite_warning_disabled">
+ <member name="disable_overwrite_warning" type="bool" setter="set_disable_overwrite_warning" getter="is_overwrite_warning_disabled" default="false">
If [code]true[/code], the [EditorFileDialog] will not warn the user before overwriting files.
</member>
- <member name="display_mode" type="int" setter="set_display_mode" getter="get_display_mode" enum="EditorFileDialog.DisplayMode">
+ <member name="display_mode" type="int" setter="set_display_mode" getter="get_display_mode" enum="EditorFileDialog.DisplayMode" default="0">
The view format in which the [EditorFileDialog] displays resources to the user.
</member>
- <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="EditorFileDialog.Mode">
- The purpose of the [EditorFileDialog]. Changes allowed behaviors.
+ <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="EditorFileDialog.Mode" default="4">
+ The purpose of the [EditorFileDialog], which defines the allowed behaviors.
</member>
- <member name="show_hidden_files" type="bool" setter="set_show_hidden_files" getter="is_showing_hidden_files">
+ <member name="show_hidden_files" type="bool" setter="set_show_hidden_files" getter="is_showing_hidden_files" default="false">
If [code]true[/code], hidden files and directories will be visible in the [EditorFileDialog].
</member>
</members>
diff --git a/doc/classes/EditorFileSystem.xml b/doc/classes/EditorFileSystem.xml
index 1c7a68fc0b..798658c8d0 100644
--- a/doc/classes/EditorFileSystem.xml
+++ b/doc/classes/EditorFileSystem.xml
@@ -15,14 +15,14 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Get the type of the file, given the full path.
+ Gets the type of the file, given the full path.
</description>
</method>
<method name="get_filesystem">
<return type="EditorFileSystemDirectory">
</return>
<description>
- Get the root directory object.
+ Gets the root directory object.
</description>
</method>
<method name="get_filesystem_path">
diff --git a/doc/classes/EditorFileSystemDirectory.xml b/doc/classes/EditorFileSystemDirectory.xml
index c7920c6ed6..cb2ed28b38 100644
--- a/doc/classes/EditorFileSystemDirectory.xml
+++ b/doc/classes/EditorFileSystemDirectory.xml
@@ -97,7 +97,7 @@
<return type="EditorFileSystemDirectory">
</return>
<description>
- Returns the parent directory for this directory or null if called on a directory at [code]res://[/code] or [code]user://[/code].
+ Returns the parent directory for this directory or [code]null[/code] if called on a directory at [code]res://[/code] or [code]user://[/code].
</description>
</method>
<method name="get_path" qualifiers="const">
diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml
index c3f38e9e20..0da87a9371 100644
--- a/doc/classes/EditorImportPlugin.xml
+++ b/doc/classes/EditorImportPlugin.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="EditorImportPlugin" inherits="Reference" category="Core" version="3.2">
+<class name="EditorImportPlugin" inherits="ResourceImporter" category="Core" version="3.2">
<brief_description>
Registers a custom resource importer in the editor. Use the class to parse any file and import it as a new resource type.
</brief_description>
<description>
EditorImportPlugins provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers. Register your [EditorPlugin] with [method EditorPlugin.add_import_plugin].
- EditorImportPlugins work by associating with specific file extensions and a resource type. See [method get_recognized_extensions] and [method get_resource_type]). They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].import[/code] directory.
+ EditorImportPlugins work by associating with specific file extensions and a resource type. See [method get_recognized_extensions] and [method get_resource_type]. They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].import[/code] directory.
Below is an example EditorImportPlugin that imports a [Mesh] from a file with the extension ".special" or ".spec":
[codeblock]
tool
@@ -41,7 +41,7 @@
return FAILED
var mesh = Mesh.new()
- # Fill the Mesh with data read in 'file', left as exercise to the reader
+ # Fill the Mesh with data read in "file", left as an exercise to the reader
var filename = save_path + "." + get_save_extension()
ResourceSaver.save(filename, mesh)
@@ -58,21 +58,21 @@
<argument index="0" name="preset" type="int">
</argument>
<description>
- Get the options and default values for the preset at this index. Returns an Array of Dictionaries with the following keys: [code]name[/code], [code]default_value[/code], [code]property_hint[/code] (optional), [code]hint_string[/code] (optional), [code]usage[/code] (optional).
+ Gets the options and default values for the preset at this index. Returns an Array of Dictionaries with the following keys: [code]name[/code], [code]default_value[/code], [code]property_hint[/code] (optional), [code]hint_string[/code] (optional), [code]usage[/code] (optional).
</description>
</method>
<method name="get_import_order" qualifiers="virtual">
<return type="int">
</return>
<description>
- Get the order of this importer to be run when importing resources. Higher values will be called later. Use this to ensure the importer runs after the dependencies are already imported.
+ Gets the order of this importer to be run when importing resources. Higher values will be called later. Use this to ensure the importer runs after the dependencies are already imported.
</description>
</method>
<method name="get_importer_name" qualifiers="virtual">
<return type="String">
</return>
<description>
- Get the unique name of the importer.
+ Gets the unique name of the importer.
</description>
</method>
<method name="get_option_visibility" qualifiers="virtual">
@@ -89,7 +89,7 @@
<return type="int">
</return>
<description>
- Get the number of initial presets defined by the plugin. Use [method get_import_options] to get the default options for the preset and [method get_preset_name] to get the name of the preset.
+ Gets the number of initial presets defined by the plugin. Use [method get_import_options] to get the default options for the preset and [method get_preset_name] to get the name of the preset.
</description>
</method>
<method name="get_preset_name" qualifiers="virtual">
@@ -98,42 +98,42 @@
<argument index="0" name="preset" type="int">
</argument>
<description>
- Get the name of the options preset at this index.
+ Gets the name of the options preset at this index.
</description>
</method>
<method name="get_priority" qualifiers="virtual">
<return type="float">
</return>
<description>
- Get the priority of this plugin for the recognized extension. Higher priority plugins will be preferred. Default value is 1.0.
+ Gets the priority of this plugin for the recognized extension. Higher priority plugins will be preferred. The default priority is [code]1.0[/code].
</description>
</method>
<method name="get_recognized_extensions" qualifiers="virtual">
<return type="Array">
</return>
<description>
- Get the list of file extensions to associate with this loader (case insensitive). e.g. [code]["obj"][/code].
+ Gets the list of file extensions to associate with this loader (case-insensitive). e.g. [code]["obj"][/code].
</description>
</method>
<method name="get_resource_type" qualifiers="virtual">
<return type="String">
</return>
<description>
- Get the Godot resource type associated with this loader. e.g. [code]"Mesh"[/code] or [code]"Animation"[/code].
+ Gets the Godot resource type associated with this loader. e.g. [code]"Mesh"[/code] or [code]"Animation"[/code].
</description>
</method>
<method name="get_save_extension" qualifiers="virtual">
<return type="String">
</return>
<description>
- Get the extension used to save this resource in the [code].import[/code] directory.
+ Gets the extension used to save this resource in the [code].import[/code] directory.
</description>
</method>
<method name="get_visible_name" qualifiers="virtual">
<return type="String">
</return>
<description>
- Get the name to display in the import window.
+ Gets the name to display in the import window.
</description>
</method>
<method name="import" qualifiers="virtual">
diff --git a/doc/classes/EditorInspectorPlugin.xml b/doc/classes/EditorInspectorPlugin.xml
index c2b13ff89e..cab5af3985 100644
--- a/doc/classes/EditorInspectorPlugin.xml
+++ b/doc/classes/EditorInspectorPlugin.xml
@@ -21,7 +21,7 @@
<argument index="0" name="control" type="Control">
</argument>
<description>
- Add a custom control, not necessarily a property editor.
+ Adds a custom control, not necessarily a property editor.
</description>
</method>
<method name="add_property_editor">
@@ -32,7 +32,7 @@
<argument index="1" name="editor" type="Control">
</argument>
<description>
- Add a property editor, this must inherit [EditorProperty].
+ Adds a property editor, this must inherit [EditorProperty].
</description>
</method>
<method name="add_property_editor_for_multiple_properties">
@@ -45,7 +45,7 @@
<argument index="2" name="editor" type="Control">
</argument>
<description>
- Add am editor that allows modifying multiple properties, this must inherit [EditorProperty].
+ Adds an editor that allows modifying multiple properties, this must inherit [EditorProperty].
</description>
</method>
<method name="can_handle" qualifiers="virtual">
diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml
index ecbb5da10c..6f07682b04 100644
--- a/doc/classes/EditorInterface.xml
+++ b/doc/classes/EditorInterface.xml
@@ -146,7 +146,7 @@
<return type="int" enum="Error">
</return>
<description>
- Saves the scene. Returns either OK or ERR_CANT_CREATE. See [@GlobalScope] constants.
+ Saves the scene. Returns either [code]OK[/code] or [code]ERR_CANT_CREATE[/code] (see [@GlobalScope] constants).
</description>
</method>
<method name="save_scene_as">
diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml
index 3d91bff0aa..bd9a100267 100644
--- a/doc/classes/EditorPlugin.xml
+++ b/doc/classes/EditorPlugin.xml
@@ -4,7 +4,7 @@
Used by the editor to extend its functionality.
</brief_description>
<description>
- Plugins are used by the editor to extend functionality. The most common types of plugins are those which edit a given node or resource type, import plugins and export plugins. Also see [EditorScript] to add functions to the editor.
+ Plugins are used by the editor to extend functionality. The most common types of plugins are those which edit a given node or resource type, import plugins and export plugins. See also [EditorScript] to add functions to the editor.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/plugins/editor/index.html</link>
@@ -18,7 +18,7 @@
<argument index="1" name="path" type="String">
</argument>
<description>
- Add a script at [code]path[/code] to the Autoload list as [code]name[/code].
+ Adds a script at [code]path[/code] to the Autoload list as [code]name[/code].
</description>
</method>
<method name="add_control_to_bottom_panel">
@@ -29,7 +29,7 @@
<argument index="1" name="title" type="String">
</argument>
<description>
- Add a control to the bottom panel (together with Output, Debug, Animation, etc). Returns a reference to the button added. It's up to you to hide/show the button when needed. When your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_bottom_panel] and free it with [code]queue_free()[/code].
+ Adds a control to the bottom panel (together with Output, Debug, Animation, etc). Returns a reference to the button added. It's up to you to hide/show the button when needed. When your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_bottom_panel] and free it with [code]queue_free()[/code].
</description>
</method>
<method name="add_control_to_container">
@@ -40,7 +40,7 @@
<argument index="1" name="control" type="Control">
</argument>
<description>
- Add a custom control to a container (see CONTAINER_* enum). There are many locations where custom controls can be added in the editor UI.
+ Adds a custom control to a container (see [code]CONTAINER_*[/code] enum). There are many locations where custom controls can be added in the editor UI.
Please remember that you have to manage the visibility of your custom controls yourself (and likely hide it after adding it).
When your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_container] and free it with [code]queue_free()[/code].
</description>
@@ -53,7 +53,7 @@
<argument index="1" name="control" type="Control">
</argument>
<description>
- Add the control to a specific dock slot (see DOCK_* enum for options).
+ Adds the control to a specific dock slot (see [code]DOCK_*[/code] enum for options).
If the dock is repositioned and as long as the plugin is active, the editor will save the dock position on further sessions.
When your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_docks] and free it with [code]queue_free()[/code].
</description>
@@ -70,9 +70,9 @@
<argument index="3" name="icon" type="Texture">
</argument>
<description>
- Add a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed.
+ Adds a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed.
When given node or resource is selected, the base type will be instanced (ie, "Spatial", "Control", "Resource"), then the script will be loaded and set to this object.
- You can use the virtual method [method handles] to check if your custom object is being edited by checking the script or using 'is' keyword.
+ You can use the virtual method [method handles] to check if your custom object is being edited by checking the script or using the [code]is[/code] keyword.
During run-time, this will be a simple object with a script so this function does not need to be called then.
</description>
</method>
@@ -128,7 +128,7 @@
<argument index="3" name="ud" type="Variant" default="null">
</argument>
<description>
- Add a custom menu to 'Project &gt; Tools' as [code]name[/code] that calls [code]callback[/code] on an instance of [code]handler[/code] with a parameter [code]ud[/code] when user activates it.
+ Adds a custom menu to [b]Project &gt; Tools[/b] as [code]name[/code] that calls [code]callback[/code] on an instance of [code]handler[/code] with a parameter [code]ud[/code] when user activates it.
</description>
</method>
<method name="add_tool_submenu_item">
@@ -234,7 +234,7 @@
<return type="PoolStringArray">
</return>
<description>
- This is for editors that edit script based objects. You can return a list of breakpoints in the format (script:line), for example: res://path_to_script.gd:25
+ This is for editors that edit script-based objects. You can return a list of breakpoints in the format ([code]script:line[/code]), for example: [code]res://path_to_script.gd:25[/code].
</description>
</method>
<method name="get_editor_interface">
@@ -260,21 +260,22 @@
<return type="ScriptCreateDialog">
</return>
<description>
- Gets the Editor's dialogue used for making scripts. Note that users can configure it before use.
+ Gets the Editor's dialogue used for making scripts.
+ [b]Note:[/b] Users can configure it before use.
</description>
</method>
<method name="get_state" qualifiers="virtual">
<return type="Dictionary">
</return>
<description>
- Get the state of your plugin editor. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns).
+ Gets the state of your plugin editor. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns).
</description>
</method>
<method name="get_undo_redo">
<return type="UndoRedo">
</return>
<description>
- Get the undo/redo object. Most actions in the editor can be undoable, so use this object to make sure this happens when it's worth it.
+ Gets the undo/redo object. Most actions in the editor can be undoable, so use this object to make sure this happens when it's worth it.
</description>
</method>
<method name="get_window_layout" qualifiers="virtual">
@@ -283,7 +284,7 @@
<argument index="0" name="layout" type="ConfigFile">
</argument>
<description>
- Get the GUI layout of the plugin. This is used to save the project's editor layout when [method queue_save_layout] is called or the editor layout was changed(For example changing the position of a dock).
+ Gets the GUI layout of the plugin. This is used to save the project's editor layout when [method queue_save_layout] is called or the editor layout was changed(For example changing the position of a dock).
</description>
</method>
<method name="handles" qualifiers="virtual">
@@ -292,14 +293,14 @@
<argument index="0" name="object" type="Object">
</argument>
<description>
- Implement this function if your plugin edits a specific type of object (Resource or Node). If you return [code]true[/code], then you will get the functions [method EditorPlugin.edit] and [method EditorPlugin.make_visible] called when the editor requests them. If you have declared the methods [method forward_canvas_gui_input] and [method forward_spatial_gui_input] these will be called too.
+ Implement this function if your plugin edits a specific type of object (Resource or Node). If you return [code]true[/code], then you will get the functions [method edit] and [method make_visible] called when the editor requests them. If you have declared the methods [method forward_canvas_gui_input] and [method forward_spatial_gui_input] these will be called too.
</description>
</method>
<method name="has_main_screen" qualifiers="virtual">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if this is a main screen editor plugin (it goes in the workspaces selector together with '2D', '3D', and 'Script').
+ Returns [code]true[/code] if this is a main screen editor plugin (it goes in the workspace selector together with [b]2D[/b], [b]3D[/b], [b]Script[/b] and [b]AssetLib[/b]).
</description>
</method>
<method name="hide_bottom_panel">
@@ -339,7 +340,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Remove an Autoload [code]name[/code] from the list.
+ Removes an Autoload [code]name[/code] from the list.
</description>
</method>
<method name="remove_control_from_bottom_panel">
@@ -348,7 +349,7 @@
<argument index="0" name="control" type="Control">
</argument>
<description>
- Remove the control from the bottom panel. You have to manually [code]queue_free()[/code] the control.
+ Removes the control from the bottom panel. You have to manually [code]queue_free()[/code] the control.
</description>
</method>
<method name="remove_control_from_container">
@@ -359,7 +360,7 @@
<argument index="1" name="control" type="Control">
</argument>
<description>
- Remove the control from the specified container. You have to manually [code]queue_free()[/code] the control.
+ Removes the control from the specified container. You have to manually [code]queue_free()[/code] the control.
</description>
</method>
<method name="remove_control_from_docks">
@@ -368,7 +369,7 @@
<argument index="0" name="control" type="Control">
</argument>
<description>
- Remove the control from the dock. You have to manually [code]queue_free()[/code] the control.
+ Removes the control from the dock. You have to manually [code]queue_free()[/code] the control.
</description>
</method>
<method name="remove_custom_type">
@@ -377,7 +378,7 @@
<argument index="0" name="type" type="String">
</argument>
<description>
- Remove a custom type added by [method add_custom_type]
+ Removes a custom type added by [method add_custom_type].
</description>
</method>
<method name="remove_export_plugin">
@@ -426,7 +427,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Removes a menu [code]name[/code] from 'Project &gt; Tools'.
+ Removes a menu [code]name[/code] from [b]Project &gt; Tools[/b].
</description>
</method>
<method name="save_external_data" qualifiers="virtual">
@@ -455,7 +456,7 @@
<argument index="0" name="state" type="Dictionary">
</argument>
<description>
- Restore the state saved by [method EditorPlugin.get_state].
+ Restore the state saved by [method get_state].
</description>
</method>
<method name="set_window_layout" qualifiers="virtual">
@@ -464,7 +465,7 @@
<argument index="0" name="layout" type="ConfigFile">
</argument>
<description>
- Restore the plugin GUI layout saved by [method EditorPlugin.get_window_layout].
+ Restore the plugin GUI layout saved by [method get_window_layout].
</description>
</method>
<method name="update_overlays" qualifiers="const">
@@ -480,7 +481,7 @@
<argument index="0" name="screen_name" type="String">
</argument>
<description>
- Emitted when user changes the workspace (2D, 3D, Script, AssetLib). Also works with custom screens defined by plugins.
+ Emitted when user changes the workspace ([b]2D[/b], [b]3D[/b], [b]Script[/b], [b]AssetLib[/b]). Also works with custom screens defined by plugins.
</description>
</signal>
<signal name="resource_saved">
@@ -493,7 +494,7 @@
<argument index="0" name="scene_root" type="Node">
</argument>
<description>
- Emitted when the scene is changed in the editor. The argument will return the root node of the scene that has just become active. If this scene is new and empty, the argument will be null.
+ Emitted when the scene is changed in the editor. The argument will return the root node of the scene that has just become active. If this scene is new and empty, the argument will be [code]null[/code].
</description>
</signal>
<signal name="scene_closed">
@@ -546,6 +547,7 @@
<constant name="DOCK_SLOT_RIGHT_BR" value="7" enum="DockSlot">
</constant>
<constant name="DOCK_SLOT_MAX" value="8" enum="DockSlot">
+ Represents the size of the [enum DockSlot] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/EditorProperty.xml b/doc/classes/EditorProperty.xml
index 735c270279..5c24f0bebc 100644
--- a/doc/classes/EditorProperty.xml
+++ b/doc/classes/EditorProperty.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorProperty" inherits="Container" category="Core" version="3.2">
<brief_description>
- Custom control to edit properties for adding into the inspector
+ Custom control to edit properties for adding into the inspector.
</brief_description>
<description>
This control allows property editing for one or multiple properties into [EditorInspector]. It is added via [EditorInspectorPlugin].
@@ -30,21 +30,21 @@
<argument index="3" name="changing" type="bool" default="false">
</argument>
<description>
- If one (or many properties) changed, this must be called. "Field" is used in case your editor can modify fields separately (as an example, Vector3.x). The "changing" argument avoids the editor requesting this property to be refreshed (leave as false if unsure).
+ If one or several properties have changed, this must be called. [code]field[/code] is used in case your editor can modify fields separately (as an example, Vector3.x). The [code]changing[/code] argument avoids the editor requesting this property to be refreshed (leave as [code]false[/code] if unsure).
</description>
</method>
<method name="get_edited_object">
<return type="Object">
</return>
<description>
- Get the edited object.
+ Gets the edited object.
</description>
</method>
<method name="get_edited_property">
<return type="String">
</return>
<description>
- Get the edited property. If your editor is for a single property (added via [method EditorInspectorPlugin.parse_property]), then this will return it..
+ Gets the edited property. If your editor is for a single property (added via [method EditorInspectorPlugin.parse_property]), then this will return the property.
</description>
</method>
<method name="get_tooltip_text" qualifiers="const">
@@ -60,7 +60,7 @@
<argument index="0" name="editor" type="Control">
</argument>
<description>
- Add controls with this function if you want them on the bottom (below the label).
+ Adds controls with this function if you want them on the bottom (below the label).
</description>
</method>
<method name="update_property" qualifiers="virtual">
@@ -72,22 +72,22 @@
</method>
</methods>
<members>
- <member name="checkable" type="bool" setter="set_checkable" getter="is_checkable">
+ <member name="checkable" type="bool" setter="set_checkable" getter="is_checkable" default="false">
Used by the inspector, set when property is checkable.
</member>
- <member name="checked" type="bool" setter="set_checked" getter="is_checked">
+ <member name="checked" type="bool" setter="set_checked" getter="is_checked" default="false">
Used by the inspector, when the property is checked.
</member>
- <member name="draw_red" type="bool" setter="set_draw_red" getter="is_draw_red">
+ <member name="draw_red" type="bool" setter="set_draw_red" getter="is_draw_red" default="false">
Used by the inspector, when the property must draw with error color.
</member>
- <member name="keying" type="bool" setter="set_keying" getter="is_keying">
- Used by the inspector, when the property can add keys for animation/
+ <member name="keying" type="bool" setter="set_keying" getter="is_keying" default="false">
+ Used by the inspector, when the property can add keys for animation.
</member>
- <member name="label" type="String" setter="set_label" getter="get_label">
- Set this property to change the label (if you want to show one)
+ <member name="label" type="String" setter="set_label" getter="get_label" default="&quot;&quot;">
+ Sets this property to change the label (if you want to show one).
</member>
- <member name="read_only" type="bool" setter="set_read_only" getter="is_read_only">
+ <member name="read_only" type="bool" setter="set_read_only" getter="is_read_only" default="false">
Used by the inspector, when the property is read-only.
</member>
</members>
@@ -98,7 +98,7 @@
<argument index="1" name="value" type="Array">
</argument>
<description>
- Emit yourself if you want multiple properties modified at the same time. Do not use if added via [method EditorInspectorPlugin.parse_property]
+ Emit it if you want multiple properties modified at the same time. Do not use if added via [method EditorInspectorPlugin.parse_property].
</description>
</signal>
<signal name="object_id_selected">
@@ -107,7 +107,7 @@
<argument index="1" name="id" type="int">
</argument>
<description>
- Used by sub-inspectors. Emit if what was selected was an Object ID.
+ Used by sub-inspectors. Emit it if what was selected was an Object ID.
</description>
</signal>
<signal name="property_changed">
@@ -125,14 +125,14 @@
<argument index="1" name="bool" type="String">
</argument>
<description>
- Used internally, when a property was checked.
+ Emitted when a property was checked. Used internally.
</description>
</signal>
<signal name="property_keyed">
<argument index="0" name="property" type="String">
</argument>
<description>
- Emit if you want to add this value as an animation key (check keying being enabled first).
+ Emit it if you want to add this value as an animation key (check for keying being enabled first).
</description>
</signal>
<signal name="property_keyed_with_value">
@@ -141,7 +141,7 @@
<argument index="1" name="value" type="Nil">
</argument>
<description>
- Emit if you want to key a property with a single value.
+ Emit it if you want to key a property with a single value.
</description>
</signal>
<signal name="resource_selected">
@@ -159,7 +159,7 @@
<argument index="1" name="focusable_idx" type="int">
</argument>
<description>
- Internal, used when selected.
+ Emitted when selected. Used internally.
</description>
</signal>
</signals>
diff --git a/doc/classes/EditorResourcePreview.xml b/doc/classes/EditorResourcePreview.xml
index 8de905e710..9d3f4b0b12 100644
--- a/doc/classes/EditorResourcePreview.xml
+++ b/doc/classes/EditorResourcePreview.xml
@@ -24,7 +24,7 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Check if the resource changed, if so it will be invalidated and the corresponding signal emitted.
+ Check if the resource changed, if so, it will be invalidated and the corresponding signal emitted.
</description>
</method>
<method name="queue_edited_resource_preview">
@@ -63,7 +63,7 @@
<argument index="0" name="generator" type="EditorResourcePreviewGenerator">
</argument>
<description>
- Remove a custom preview generator.
+ Removes a custom preview generator.
</description>
</method>
</methods>
@@ -72,7 +72,7 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- If a preview was invalidated (changed) this signal will emit (using the path of the preview)
+ Emitted if a preview was invalidated (changed). [code]path[/code] corresponds to the path of the preview.
</description>
</signal>
</signals>
diff --git a/doc/classes/EditorResourcePreviewGenerator.xml b/doc/classes/EditorResourcePreviewGenerator.xml
index 156cc62941..4e61943c8f 100644
--- a/doc/classes/EditorResourcePreviewGenerator.xml
+++ b/doc/classes/EditorResourcePreviewGenerator.xml
@@ -4,7 +4,7 @@
Custom generator of previews.
</brief_description>
<description>
- Custom code to generate previews. Please check "file_dialog/thumbnail_size" in EditorSettings to find out the right size to do previews at.
+ Custom code to generate previews. Please check [code]file_dialog/thumbnail_size[/code] in [EditorSettings] to find out the right size to do previews at.
</description>
<tutorials>
</tutorials>
@@ -13,8 +13,8 @@
<return type="bool">
</return>
<description>
- If this function returns true the generator will call [method generate] or [method generate_from_path] for small previews too.
- By default it returns false.
+ If this function returns [code]true[/code], the generator will call [method generate] or [method generate_from_path] for small previews as well.
+ By default, it returns [code]false[/code].
</description>
</method>
<method name="generate" qualifiers="virtual">
@@ -47,8 +47,8 @@
<return type="bool">
</return>
<description>
- If this function returns true the generator will automatically generate the small previews from the normal preview texture generated by the methods [method generate] or [method generate_from_path].
- By default it returns false.
+ If this function returns [code]true[/code], the generator will automatically generate the small previews from the normal preview texture generated by the methods [method generate] or [method generate_from_path].
+ By default, it returns [code]false[/code].
</description>
</method>
<method name="handles" qualifiers="virtual">
@@ -57,7 +57,7 @@
<argument index="0" name="type" type="String">
</argument>
<description>
- Returns if your generator supports this resource type.
+ Returns [code]true[/code] if your generator supports the resource of type [code]type[/code].
</description>
</method>
</methods>
diff --git a/doc/classes/EditorSceneImporterAssimp.xml b/doc/classes/EditorSceneImporterAssimp.xml
index b1f397e2b9..e2d73be870 100644
--- a/doc/classes/EditorSceneImporterAssimp.xml
+++ b/doc/classes/EditorSceneImporterAssimp.xml
@@ -1,30 +1,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorSceneImporterAssimp" inherits="EditorSceneImporter" category="Core" version="3.2">
<brief_description>
- This is a multi-format 3d asset importer.
+ Multi-format 3D asset importer based on [url=http://assimp.org/]Assimp[/url].
</brief_description>
<description>
- This is a multi-format 3d asset importer.
- Use these FBX export settings from Autodesk Maya.
+ This is a multi-format 3D asset importer based on [url=http://assimp.org/]Assimp[/url]. See [url=https://assimp-docs.readthedocs.io/en/latest/about/intoduction.html#installation]this page[/url] for a full list of supported formats.
+ If exporting a FBX scene from Autodesk Maya, use these FBX export settings:
[codeblock]
- * Smoothing Groups
- * Smooth Mesh
- * Triangluate (For mesh with blendshapes)
- * Bake Animation
- * Resample All
- * Deformed Models
- * Skins
- * Blend Shapes
- * Curve Filters
- * Constant Key Reducer
- * Auto Tangents Only
- * DO NOT CHECK Constraints (Will Break File)
- * Can check Embed Media (Embeds textures into FBX file to import)
- -- Note: When importing embed media, texture and mesh will be a un-alterable file.
- -- Reimport of fbx with updated texture is need if texture is updated.
- * Units: Centimeters
- * Up Axis: Y
- * Binary format in FBX 2017
+ - Smoothing Groups
+ - Smooth Mesh
+ - Triangluate (for meshes with blend shapes)
+ - Bake Animation
+ - Resample All
+ - Deformed Models
+ - Skins
+ - Blend Shapes
+ - Curve Filters
+ - Constant Key Reducer
+ - Auto Tangents Only
+ - *Do not check* Constraints (as it will break the file)
+ - Can check Embed Media (embeds textures into the exported FBX file)
+ - Note that when importing embedded media, the texture and mesh will be a single immutable file.
+ - You will have to re-export then re-import the FBX if the texture has changed.
+ - Units: Centimeters
+ - Up Axis: Y
+ - Binary format in FBX 2017
[/codeblock]
</description>
<tutorials>
diff --git a/doc/classes/EditorScenePostImport.xml b/doc/classes/EditorScenePostImport.xml
index 3b0590f78c..df6cdd4b35 100644
--- a/doc/classes/EditorScenePostImport.xml
+++ b/doc/classes/EditorScenePostImport.xml
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorScenePostImport" inherits="Reference" category="Core" version="3.2">
<brief_description>
- Post process scenes after import
+ Post-processes scenes after import.
</brief_description>
<description>
- Imported scenes can be automatically modified right after import by setting their [i]Custom Script[/i] Import property to a [code]tool[/code] script that inherits from this class.
+ Imported scenes can be automatically modified right after import by setting their [b]Custom Script[/b] Import property to a [code]tool[/code] script that inherits from this class.
The [method post_import] callback receives the imported scene's root node and returns the modified version of the scene. Usage example:
[codeblock]
- tool # needed so it runs in editor
+ tool # Needed so it runs in editor
extends EditorScenePostImport
# This sample changes all node names
# Called right after the scene is imported and gets the root node
func post_import(scene):
- # change all node names to "modified_[oldnodename]"
+ # Change all node names to "modified_[oldnodename]"
iterate(scene)
- return scene # remember to return the imported scene
+ return scene # Remember to return the imported scene
func iterate(node):
if node != null:
@@ -49,7 +49,7 @@
<argument index="0" name="scene" type="Object">
</argument>
<description>
- Gets called after the scene got imported and has to return the modified version of the scene.
+ Called after the scene was imported. This method must return the modified version of the scene.
</description>
</method>
</methods>
diff --git a/doc/classes/EditorScript.xml b/doc/classes/EditorScript.xml
index 52d7ce3f17..5c49e227be 100644
--- a/doc/classes/EditorScript.xml
+++ b/doc/classes/EditorScript.xml
@@ -4,8 +4,9 @@
Base script that can be used to add extension functions to the editor.
</brief_description>
<description>
- Scripts extending this class and implementing its [code]_run()[/code] method can be executed from the Script Editor's [code]File -&gt; Run[/code] menu option (or by pressing [code]CTRL+Shift+X[/code]) while the editor is running. This is useful for adding custom in-editor functionality to Godot. For more complex additions, consider using [EditorPlugin]s instead. Note that extending scripts need to have [code]tool mode[/code] enabled.
- Example script:
+ Scripts extending this class and implementing its [method _run] method can be executed from the Script Editor's [b]File &gt; Run[/b] menu option (or by pressing [code]Ctrl+Shift+X[/code]) while the editor is running. This is useful for adding custom in-editor functionality to Godot. For more complex additions, consider using [EditorPlugin]s instead.
+ [b]Note:[/b] Extending scripts need to have [code]tool mode[/code] enabled.
+ [b]Example script:[/b]
[codeblock]
tool
extends EditorScript
@@ -13,7 +14,7 @@
func _run():
print("Hello from the Godot Editor!")
[/codeblock]
- Note that the script is run in the Editor context, which means the output is visible in the console window started with the Editor (STDOUT) instead of the usual Godot [i]Output[/i] dock.
+ [b]Note:[/b] The script is run in the Editor context, which means the output is visible in the console window started with the Editor (stdout) instead of the usual Godot [b]Output[/b] dock.
</description>
<tutorials>
</tutorials>
@@ -22,7 +23,7 @@
<return type="void">
</return>
<description>
- This method is executed by the Editor when [code]File -&gt; Run[/code] is used.
+ This method is executed by the Editor when [b]File &gt; Run[/b] is used.
</description>
</method>
<method name="add_root_node">
@@ -32,7 +33,7 @@
</argument>
<description>
Adds [code]node[/code] as a child of the root node in the editor context.
- WARNING: The implementation of this method is currently disabled.
+ [b]Warning:[/b] The implementation of this method is currently disabled.
</description>
</method>
<method name="get_editor_interface">
diff --git a/doc/classes/EditorSelection.xml b/doc/classes/EditorSelection.xml
index 336390b2b1..57df71ab01 100644
--- a/doc/classes/EditorSelection.xml
+++ b/doc/classes/EditorSelection.xml
@@ -15,7 +15,7 @@
<argument index="0" name="node" type="Node">
</argument>
<description>
- Add a node to the selection.
+ Adds a node to the selection.
</description>
</method>
<method name="clear">
@@ -29,14 +29,14 @@
<return type="Array">
</return>
<description>
- Get the list of selected nodes.
+ Gets the list of selected nodes.
</description>
</method>
<method name="get_transformable_selected_nodes">
<return type="Array">
</return>
<description>
- Get the list of selected nodes, optimized for transform operations (ie, moving them, rotating, etc). This list avoids situations where a node is selected and also chid/grandchild.
+ Gets the list of selected nodes, optimized for transform operations (i.e. moving them, rotating, etc). This list avoids situations where a node is selected and also child/grandchild.
</description>
</method>
<method name="remove_node">
@@ -45,7 +45,7 @@
<argument index="0" name="node" type="Node">
</argument>
<description>
- Remove a node from the selection.
+ Removes a node from the selection.
</description>
</method>
</methods>
diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml
index 7d38031a4c..3719ad67de 100644
--- a/doc/classes/EditorSettings.xml
+++ b/doc/classes/EditorSettings.xml
@@ -4,7 +4,7 @@
Object that holds the project-independent editor settings.
</brief_description>
<description>
- Object that holds the project-independent editor settings. These settings are generally visible in the Editor Settings menu.
+ Object that holds the project-independent editor settings. These settings are generally visible in the [b]Editor &gt; Editor Settings[/b] menu.
Accessing the settings is done by using the regular [Object] API, such as:
[codeblock]
settings.set(prop,value)
@@ -21,8 +21,8 @@
<argument index="0" name="info" type="Dictionary">
</argument>
<description>
- Add a custom property info to a property. The dictionary must contain: name:[String](the name of the property) and type:[int](see TYPE_* in [@GlobalScope]), and optionally hint:[int](see PROPERTY_HINT_* in [@GlobalScope]), hint_string:[String].
- Example:
+ Adds a custom property info to a property. The dictionary must contain: name:[String](the name of the property) and type:[int](see [code]TYPE_*[/code] in [@GlobalScope]), and optionally hint:[int](see [code]PROPERTY_HINT_*[/code] in [@GlobalScope]), hint_string:[String].
+ [b]Example:[/b]
[codeblock]
editor_settings.set("category/property_name", 0)
@@ -50,7 +50,7 @@
<return type="PoolStringArray">
</return>
<description>
- Get the list of favorite files and directories for this project.
+ Gets the list of favorite files and directories for this project.
</description>
</method>
<method name="get_project_metadata" qualifiers="const">
@@ -69,14 +69,14 @@
<return type="String">
</return>
<description>
- Get the specific project settings path. Projects all have a unique sub-directory inside the settings path where project specific settings are saved.
+ Gets the specific project settings path. Projects all have a unique sub-directory inside the settings path where project specific settings are saved.
</description>
</method>
<method name="get_recent_dirs" qualifiers="const">
<return type="PoolStringArray">
</return>
<description>
- Get the list of recently visited folders in the file dialog for this project.
+ Gets the list of recently visited folders in the file dialog for this project.
</description>
</method>
<method name="get_setting" qualifiers="const">
@@ -91,9 +91,9 @@
<return type="String">
</return>
<description>
- Get the global settings path for the engine. Inside this path you can find some standard paths such as:
- settings/tmp - used for temporary storage of files
- settings/templates - where export templates are located
+ Gets the global settings path for the engine. Inside this path, you can find some standard paths such as:
+ [code]settings/tmp[/code] - Used for temporary storage of files
+ [code]settings/templates[/code] - Where export templates are located
</description>
</method>
<method name="has_setting" qualifiers="const">
@@ -126,7 +126,7 @@
<argument index="0" name="dirs" type="PoolStringArray">
</argument>
<description>
- Set the list of favorite files and directories for this project.
+ Sets the list of favorite files and directories for this project.
</description>
</method>
<method name="set_initial_value">
@@ -159,7 +159,7 @@
<argument index="0" name="dirs" type="PoolStringArray">
</argument>
<description>
- Set the list of recently visited folders in the file dialog for this project.
+ Sets the list of recently visited folders in the file dialog for this project.
</description>
</method>
<method name="set_setting">
diff --git a/doc/classes/EditorSpatialGizmo.xml b/doc/classes/EditorSpatialGizmo.xml
index 5d5c37b212..03a274e23e 100644
--- a/doc/classes/EditorSpatialGizmo.xml
+++ b/doc/classes/EditorSpatialGizmo.xml
@@ -23,7 +23,7 @@
<argument index="0" name="triangles" type="TriangleMesh">
</argument>
<description>
- Add collision triangles to the gizmo for picking. A [TriangleMesh] can be generated from a regular [Mesh] too. Call this function during [method redraw].
+ Adds collision triangles to the gizmo for picking. A [TriangleMesh] can be generated from a regular [Mesh] too. Call this function during [method redraw].
</description>
</method>
<method name="add_handles">
@@ -38,7 +38,7 @@
<argument index="3" name="secondary" type="bool" default="false">
</argument>
<description>
- Add a list of handles (points) which can be used to deform the object being edited.
+ Adds a list of handles (points) which can be used to deform the object being edited.
There are virtual functions which will be called upon editing of these handles. Call this function during [method redraw].
</description>
</method>
@@ -52,7 +52,7 @@
<argument index="2" name="billboard" type="bool" default="false">
</argument>
<description>
- Add lines to the gizmo (as sets of 2 points), with a given material. The lines are used for visualizing the gizmo. Call this function during [method redraw].
+ Adds lines to the gizmo (as sets of 2 points), with a given material. The lines are used for visualizing the gizmo. Call this function during [method redraw].
</description>
</method>
<method name="add_mesh">
@@ -77,7 +77,7 @@
<argument index="1" name="default_scale" type="float" default="1">
</argument>
<description>
- Add an unscaled billboard for visualization. Call this function during [method redraw].
+ Adds an unscaled billboard for visualization. Call this function during [method redraw].
</description>
</method>
<method name="clear">
@@ -97,7 +97,7 @@
</argument>
<description>
Commit a handle being edited (handles must have been previously added by [method add_handles]).
- If the cancel parameter is [code]true[/code], an option to restore the edited value to the original is provided.
+ If the [code]cancel[/code] parameter is [code]true[/code], an option to restore the edited value to the original is provided.
</description>
</method>
<method name="get_handle_name" qualifiers="virtual">
@@ -106,7 +106,7 @@
<argument index="0" name="index" type="int">
</argument>
<description>
- Get the name of an edited handle (handles must have been previously added by [method add_handles]).
+ Gets the name of an edited handle (handles must have been previously added by [method add_handles]).
Handles can be named for reference to the user when editing.
</description>
</method>
@@ -116,7 +116,7 @@
<argument index="0" name="index" type="int">
</argument>
<description>
- Get actual value of a handle. This value can be anything and used for eventually undoing the motion when calling [method commit_handle].
+ Gets actual value of a handle. This value can be anything and used for eventually undoing the motion when calling [method commit_handle].
</description>
</method>
<method name="get_plugin" qualifiers="const">
@@ -139,7 +139,7 @@
<argument index="0" name="index" type="int">
</argument>
<description>
- Get whether a handle is highlighted or not.
+ Gets whether a handle is highlighted or not.
</description>
</method>
<method name="redraw" qualifiers="virtual">
diff --git a/doc/classes/EditorSpatialGizmoPlugin.xml b/doc/classes/EditorSpatialGizmoPlugin.xml
index 40d6376ca3..777d558a8e 100644
--- a/doc/classes/EditorSpatialGizmoPlugin.xml
+++ b/doc/classes/EditorSpatialGizmoPlugin.xml
@@ -25,7 +25,7 @@
<return type="bool">
</return>
<description>
- Override this method to define whether the gizmo can be hidden or not. Defaults to [code]true[/code].
+ Override this method to define whether the gizmo can be hidden or not. Returns [code]true[/code] if not overridden.
</description>
</method>
<method name="commit_handle" qualifiers="virtual">
@@ -114,7 +114,7 @@
<argument index="1" name="index" type="int">
</argument>
<description>
- Get actual value of a handle from gizmo. Called for this plugin's active gizmos.
+ Gets actual value of a handle from gizmo. Called for this plugin's active gizmos.
</description>
</method>
<method name="get_material">
@@ -125,7 +125,7 @@
<argument index="1" name="gizmo" type="EditorSpatialGizmo">
</argument>
<description>
- Get material from the internal list of materials. If an [EditorSpatialGizmo] is provided it will try to get the corresponding variant (selected and/or editable).
+ Gets material from the internal list of materials. If an [EditorSpatialGizmo] is provided, it will try to get the corresponding variant (selected and/or editable).
</description>
</method>
<method name="get_name" qualifiers="virtual">
@@ -158,7 +158,7 @@
<argument index="1" name="index" type="int">
</argument>
<description>
- Get whether a handle is highlighted or not. Called for this plugin's active gizmos.
+ Gets whether a handle is highlighted or not. Called for this plugin's active gizmos.
</description>
</method>
<method name="is_selectable_when_hidden" qualifiers="virtual">
diff --git a/doc/classes/EncodedObjectAsID.xml b/doc/classes/EncodedObjectAsID.xml
index 1822f6c199..7221aa845b 100644
--- a/doc/classes/EncodedObjectAsID.xml
+++ b/doc/classes/EncodedObjectAsID.xml
@@ -1,27 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="EncodedObjectAsID" inherits="Reference" category="Core" version="3.2">
<brief_description>
+ Holds a reference to an [Object]'s instance ID.
</brief_description>
<description>
+ Utility class which holds a reference to the internal identifier of an [Object] instance, as given by [method Object.get_instance_id]. This ID can then be used to retrieve the object instance with [method @GDScript.instance_from_id].
+ This class is used internally by the editor inspector and script debugger, but can also be used in plugins to pass and display objects as their IDs.
</description>
<tutorials>
</tutorials>
<methods>
- <method name="get_object_id" qualifiers="const">
- <return type="int">
- </return>
- <description>
- </description>
- </method>
- <method name="set_object_id">
- <return type="void">
- </return>
- <argument index="0" name="id" type="int">
- </argument>
- <description>
- </description>
- </method>
</methods>
+ <members>
+ <member name="object_id" type="int" setter="set_object_id" getter="get_object_id" default="0">
+ The [Object] identifier stored in this [EncodedObjectAsID] instance. The object instance can be retrieved with [method @GDScript.instance_from_id].
+ </member>
+ </members>
<constants>
</constants>
</class>
diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml
index d446363a83..60a807c304 100644
--- a/doc/classes/Engine.xml
+++ b/doc/classes/Engine.xml
@@ -4,7 +4,7 @@
Access to basic engine properties.
</brief_description>
<description>
- The [Engine] class allows you to query and modify the game's run-time parameters, such as frames per second, time scale, and others.
+ The [Engine] class allows you to query and modify the project's run-time parameters, such as frames per second, time scale, and others.
</description>
<tutorials>
</tutorials>
@@ -14,10 +14,10 @@
</return>
<description>
Returns engine author information in a Dictionary.
- "lead_developers" - Array of Strings, lead developer names
- "founders" - Array of Strings, founder names
- "project_managers" - Array of Strings, project manager names
- "developers" - Array of Strings, developer names
+ [code]lead_developers[/code] - Array of Strings, lead developer names
+ [code]founders[/code] - Array of Strings, founder names
+ [code]project_managers[/code] - Array of Strings, project manager names
+ [code]developers[/code] - Array of Strings, developer names
</description>
</method>
<method name="get_copyright_info" qualifiers="const">
@@ -25,8 +25,8 @@
</return>
<description>
Returns an Array of copyright information Dictionaries.
- "name" - String, component name
- "parts" - Array of Dictionaries {"files", "copyright", "license"} describing subsections of the component
+ [code]name[/code] - String, component name
+ [code]parts[/code] - Array of Dictionaries {[code]files[/code], [code]copyright[/code], [code]license[/code]} describing subsections of the component
</description>
</method>
<method name="get_donor_info" qualifiers="const">
@@ -34,7 +34,7 @@
</return>
<description>
Returns a Dictionary of Arrays of donor names.
- {"platinum_sponsors", "gold_sponsors", "mini_sponsors", "gold_donors", "silver_donors", "bronze_donors"}
+ {[code]platinum_sponsors[/code], [code]gold_sponsors[/code], [code]mini_sponsors[/code], [code]gold_donors[/code], [code]silver_donors[/code], [code]bronze_donors[/code]}
</description>
</method>
<method name="get_frames_drawn">
@@ -88,18 +88,18 @@
[code]major[/code] - Holds the major version number as an int
[code]minor[/code] - Holds the minor version number as an int
[code]patch[/code] - Holds the patch version number as an int
- [code]hex[/code] - Holds the full version number encoded as an hexadecimal int with one byte (2 places) per number (see example below)
+ [code]hex[/code] - Holds the full version number encoded as a hexadecimal int with one byte (2 places) per number (see example below)
[code]status[/code] - Holds the status (e.g. "beta", "rc1", "rc2", ... "stable") as a String
[code]build[/code] - Holds the build name (e.g. "custom_build") as a String
[code]hash[/code] - Holds the full Git commit hash as a String
[code]year[/code] - Holds the year the version was released in as an int
[code]string[/code] - [code]major[/code] + [code]minor[/code] + [code]patch[/code] + [code]status[/code] + [code]build[/code] in a single String
- The [code]hex[/code] 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:
+ The [code]hex[/code] 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]. [b]Note:[/b] 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 &gt;= 0x030200:
- # do things specific to version 3.2 or later
+ # Do things specific to version 3.2 or later
else:
- # do things specific to versions before 3.2
+ # Do things specific to versions before 3.2
[/codeblock]
</description>
</method>
@@ -120,18 +120,18 @@
</method>
</methods>
<members>
- <member name="editor_hint" type="bool" setter="set_editor_hint" getter="is_editor_hint">
+ <member name="editor_hint" type="bool" setter="set_editor_hint" getter="is_editor_hint" default="true">
If [code]true[/code], it is running inside the editor. Useful for tool scripts.
</member>
- <member name="iterations_per_second" type="int" setter="set_iterations_per_second" getter="get_iterations_per_second">
+ <member name="iterations_per_second" type="int" setter="set_iterations_per_second" getter="get_iterations_per_second" default="60">
The number of fixed iterations per second (for fixed process and physics).
</member>
- <member name="physics_jitter_fix" type="float" setter="set_physics_jitter_fix" getter="get_physics_jitter_fix">
+ <member name="physics_jitter_fix" type="float" setter="set_physics_jitter_fix" getter="get_physics_jitter_fix" default="0.5">
</member>
- <member name="target_fps" type="int" setter="set_target_fps" getter="get_target_fps">
- The desired frames per second. If the hardware cannot keep up, this setting may not be respected. Defaults to 0, which indicates no limit.
+ <member name="target_fps" type="int" setter="set_target_fps" getter="get_target_fps" default="0">
+ The desired frames per second. If the hardware cannot keep up, this setting may not be respected. A value of 0 means no limit.
</member>
- <member name="time_scale" type="float" setter="set_time_scale" getter="get_time_scale">
+ <member name="time_scale" type="float" setter="set_time_scale" getter="get_time_scale" default="1.0">
Controls how fast or slow the in-game clock ticks versus the real life one. It defaults to 1.0. A value of 2.0 means the game moves twice as fast as real life, whilst a value of 0.5 means the game moves at half the regular speed.
</member>
</members>
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index eb94447529..9df8ae1aa5 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -5,10 +5,9 @@
</brief_description>
<description>
Resource for environment nodes (like [WorldEnvironment]) that define multiple environment operations (such as background [Sky] or [Color], ambient light, fog, depth-of-field...). These parameters affect the final render of the scene. The order of these operations is:
- - DOF Blur
- - Motion Blur
- - Bloom
- - Tonemap (auto exposure)
+ - Depth of Field Blur
+ - Glow
+ - Tonemap (Auto Exposure)
- Adjustments
</description>
<tutorials>
@@ -18,235 +17,235 @@
<methods>
</methods>
<members>
- <member name="adjustment_brightness" type="float" setter="set_adjustment_brightness" getter="get_adjustment_brightness">
+ <member name="adjustment_brightness" type="float" setter="set_adjustment_brightness" getter="get_adjustment_brightness" default="1.0">
Global brightness value of the rendered scene (default value is 1).
</member>
- <member name="adjustment_color_correction" type="Texture" setter="set_adjustment_color_correction" getter="get_adjustment_color_correction">
+ <member name="adjustment_color_correction" type="Texture" setter="set_adjustment_color_correction" getter="get_adjustment_color_correction" default="null">
Applies the provided [Texture] resource to affect the global color aspect of the rendered scene.
</member>
- <member name="adjustment_contrast" type="float" setter="set_adjustment_contrast" getter="get_adjustment_contrast">
+ <member name="adjustment_contrast" type="float" setter="set_adjustment_contrast" getter="get_adjustment_contrast" default="1.0">
Global contrast value of the rendered scene (default value is 1).
</member>
- <member name="adjustment_enabled" type="bool" setter="set_adjustment_enable" getter="is_adjustment_enabled">
+ <member name="adjustment_enabled" type="bool" setter="set_adjustment_enable" getter="is_adjustment_enabled" default="false">
Enables the adjustment_* options provided by this resource. If [code]false[/code], adjustments modifications will have no effect on the rendered scene.
</member>
- <member name="adjustment_saturation" type="float" setter="set_adjustment_saturation" getter="get_adjustment_saturation">
+ <member name="adjustment_saturation" type="float" setter="set_adjustment_saturation" getter="get_adjustment_saturation" default="1.0">
Global color saturation value of the rendered scene (default value is 1).
</member>
- <member name="ambient_light_color" type="Color" setter="set_ambient_light_color" getter="get_ambient_light_color">
+ <member name="ambient_light_color" type="Color" setter="set_ambient_light_color" getter="get_ambient_light_color" default="Color( 0, 0, 0, 1 )">
[Color] of the ambient light.
</member>
- <member name="ambient_light_energy" type="float" setter="set_ambient_light_energy" getter="get_ambient_light_energy">
+ <member name="ambient_light_energy" type="float" setter="set_ambient_light_energy" getter="get_ambient_light_energy" default="1.0">
Energy of the ambient light. The higher the value, the stronger the light.
</member>
- <member name="ambient_light_sky_contribution" type="float" setter="set_ambient_light_sky_contribution" getter="get_ambient_light_sky_contribution">
+ <member name="ambient_light_sky_contribution" type="float" setter="set_ambient_light_sky_contribution" getter="get_ambient_light_sky_contribution" default="1.0">
Defines the amount of light that the sky brings on the scene. A value of 0 means that the sky's light emission has no effect on the scene illumination, thus all ambient illumination is provided by the ambient light. On the contrary, a value of 1 means that all the light that affects the scene is provided by the sky, thus the ambient light parameter has no effect on the scene.
</member>
- <member name="auto_exposure_enabled" type="bool" setter="set_tonemap_auto_exposure" getter="get_tonemap_auto_exposure">
+ <member name="auto_exposure_enabled" type="bool" setter="set_tonemap_auto_exposure" getter="get_tonemap_auto_exposure" default="false">
Enables the tonemapping auto exposure mode of the scene renderer. If activated, the renderer will automatically determine the exposure setting to adapt to the illumination of the scene and the observed light.
</member>
- <member name="auto_exposure_max_luma" type="float" setter="set_tonemap_auto_exposure_max" getter="get_tonemap_auto_exposure_max">
+ <member name="auto_exposure_max_luma" type="float" setter="set_tonemap_auto_exposure_max" getter="get_tonemap_auto_exposure_max" default="8.0">
Maximum luminance value for the auto exposure.
</member>
- <member name="auto_exposure_min_luma" type="float" setter="set_tonemap_auto_exposure_min" getter="get_tonemap_auto_exposure_min">
+ <member name="auto_exposure_min_luma" type="float" setter="set_tonemap_auto_exposure_min" getter="get_tonemap_auto_exposure_min" default="0.05">
Minimum luminance value for the auto exposure.
</member>
- <member name="auto_exposure_scale" type="float" setter="set_tonemap_auto_exposure_grey" getter="get_tonemap_auto_exposure_grey">
+ <member name="auto_exposure_scale" type="float" setter="set_tonemap_auto_exposure_grey" getter="get_tonemap_auto_exposure_grey" default="0.4">
Scale of the auto exposure effect. Affects the intensity of auto exposure.
</member>
- <member name="auto_exposure_speed" type="float" setter="set_tonemap_auto_exposure_speed" getter="get_tonemap_auto_exposure_speed">
+ <member name="auto_exposure_speed" type="float" setter="set_tonemap_auto_exposure_speed" getter="get_tonemap_auto_exposure_speed" default="0.5">
Speed of the auto exposure effect. Affects the time needed for the camera to perform auto exposure.
</member>
- <member name="background_camera_feed_id" type="int" setter="set_camera_feed_id" getter="get_camera_feed_id">
+ <member name="background_camera_feed_id" type="int" setter="set_camera_feed_id" getter="get_camera_feed_id" default="1">
The id of the camera feed to show in the background.
</member>
- <member name="background_canvas_max_layer" type="int" setter="set_canvas_max_layer" getter="get_canvas_max_layer">
+ <member name="background_canvas_max_layer" type="int" setter="set_canvas_max_layer" getter="get_canvas_max_layer" default="0">
Maximum layer id (if using Layer background mode).
</member>
- <member name="background_color" type="Color" setter="set_bg_color" getter="get_bg_color">
+ <member name="background_color" type="Color" setter="set_bg_color" getter="get_bg_color" default="Color( 0, 0, 0, 1 )">
Color displayed for clear areas of the scene (if using Custom color or Color+Sky background modes).
</member>
- <member name="background_energy" type="float" setter="set_bg_energy" getter="get_bg_energy">
+ <member name="background_energy" type="float" setter="set_bg_energy" getter="get_bg_energy" default="1.0">
Power of light emitted by the background.
</member>
- <member name="background_mode" type="int" setter="set_background" getter="get_background" enum="Environment.BGMode">
+ <member name="background_mode" type="int" setter="set_background" getter="get_background" enum="Environment.BGMode" default="0">
Defines the mode of background.
</member>
- <member name="background_sky" type="Sky" setter="set_sky" getter="get_sky">
+ <member name="background_sky" type="Sky" setter="set_sky" getter="get_sky" default="null">
[Sky] resource defined as background.
</member>
- <member name="background_sky_custom_fov" type="float" setter="set_sky_custom_fov" getter="get_sky_custom_fov">
+ <member name="background_sky_custom_fov" type="float" setter="set_sky_custom_fov" getter="get_sky_custom_fov" default="0.0">
[Sky] resource's custom field of view.
</member>
- <member name="background_sky_orientation" type="Basis" setter="set_sky_orientation" getter="get_sky_orientation">
+ <member name="background_sky_orientation" type="Basis" setter="set_sky_orientation" getter="get_sky_orientation" default="Basis( 1, 0, 0, 0, 1, 0, 0, 0, 1 )">
[Sky] resource's rotation expressed as a [Basis]
</member>
- <member name="background_sky_rotation" type="Vector3" setter="set_sky_rotation" getter="get_sky_rotation">
+ <member name="background_sky_rotation" type="Vector3" setter="set_sky_rotation" getter="get_sky_rotation" default="Vector3( 0, 0, 0 )">
[Sky] resource's rotation expressed as euler angles in radians
</member>
- <member name="background_sky_rotation_degrees" type="Vector3" setter="set_sky_rotation_degrees" getter="get_sky_rotation_degrees">
+ <member name="background_sky_rotation_degrees" type="Vector3" setter="set_sky_rotation_degrees" getter="get_sky_rotation_degrees" default="Vector3( 0, 0, 0 )">
[Sky] resource's rotation expressed as euler angles in degrees
</member>
- <member name="dof_blur_far_amount" type="float" setter="set_dof_blur_far_amount" getter="get_dof_blur_far_amount">
+ <member name="dof_blur_far_amount" type="float" setter="set_dof_blur_far_amount" getter="get_dof_blur_far_amount" default="0.1">
Amount of far blur.
</member>
- <member name="dof_blur_far_distance" type="float" setter="set_dof_blur_far_distance" getter="get_dof_blur_far_distance">
+ <member name="dof_blur_far_distance" type="float" setter="set_dof_blur_far_distance" getter="get_dof_blur_far_distance" default="10.0">
Distance from the camera where the far blur effect affects the rendering.
</member>
- <member name="dof_blur_far_enabled" type="bool" setter="set_dof_blur_far_enabled" getter="is_dof_blur_far_enabled">
+ <member name="dof_blur_far_enabled" type="bool" setter="set_dof_blur_far_enabled" getter="is_dof_blur_far_enabled" default="false">
Enables the far blur effect.
</member>
- <member name="dof_blur_far_quality" type="int" setter="set_dof_blur_far_quality" getter="get_dof_blur_far_quality" enum="Environment.DOFBlurQuality">
+ <member name="dof_blur_far_quality" type="int" setter="set_dof_blur_far_quality" getter="get_dof_blur_far_quality" enum="Environment.DOFBlurQuality" default="1">
Quality of the far blur quality.
</member>
- <member name="dof_blur_far_transition" type="float" setter="set_dof_blur_far_transition" getter="get_dof_blur_far_transition">
+ <member name="dof_blur_far_transition" type="float" setter="set_dof_blur_far_transition" getter="get_dof_blur_far_transition" default="5.0">
Transition between no-blur area and far blur.
</member>
- <member name="dof_blur_near_amount" type="float" setter="set_dof_blur_near_amount" getter="get_dof_blur_near_amount">
+ <member name="dof_blur_near_amount" type="float" setter="set_dof_blur_near_amount" getter="get_dof_blur_near_amount" default="0.1">
Amount of near blur.
</member>
- <member name="dof_blur_near_distance" type="float" setter="set_dof_blur_near_distance" getter="get_dof_blur_near_distance">
+ <member name="dof_blur_near_distance" type="float" setter="set_dof_blur_near_distance" getter="get_dof_blur_near_distance" default="2.0">
Distance from the camera where the near blur effect affects the rendering.
</member>
- <member name="dof_blur_near_enabled" type="bool" setter="set_dof_blur_near_enabled" getter="is_dof_blur_near_enabled">
+ <member name="dof_blur_near_enabled" type="bool" setter="set_dof_blur_near_enabled" getter="is_dof_blur_near_enabled" default="false">
Enables the near blur effect.
</member>
- <member name="dof_blur_near_quality" type="int" setter="set_dof_blur_near_quality" getter="get_dof_blur_near_quality" enum="Environment.DOFBlurQuality">
+ <member name="dof_blur_near_quality" type="int" setter="set_dof_blur_near_quality" getter="get_dof_blur_near_quality" enum="Environment.DOFBlurQuality" default="1">
Quality of the near blur quality.
</member>
- <member name="dof_blur_near_transition" type="float" setter="set_dof_blur_near_transition" getter="get_dof_blur_near_transition">
+ <member name="dof_blur_near_transition" type="float" setter="set_dof_blur_near_transition" getter="get_dof_blur_near_transition" default="1.0">
Transition between near blur and no-blur area.
</member>
- <member name="fog_color" type="Color" setter="set_fog_color" getter="get_fog_color">
+ <member name="fog_color" type="Color" setter="set_fog_color" getter="get_fog_color" default="Color( 0.5, 0.6, 0.7, 1 )">
Fog's [Color].
</member>
- <member name="fog_depth_begin" type="float" setter="set_fog_depth_begin" getter="get_fog_depth_begin">
+ <member name="fog_depth_begin" type="float" setter="set_fog_depth_begin" getter="get_fog_depth_begin" default="10.0">
Fog's depth starting distance from the camera.
</member>
- <member name="fog_depth_curve" type="float" setter="set_fog_depth_curve" getter="get_fog_depth_curve">
+ <member name="fog_depth_curve" type="float" setter="set_fog_depth_curve" getter="get_fog_depth_curve" default="1.0">
Value defining the fog depth intensity.
</member>
- <member name="fog_depth_enabled" type="bool" setter="set_fog_depth_enabled" getter="is_fog_depth_enabled">
+ <member name="fog_depth_enabled" type="bool" setter="set_fog_depth_enabled" getter="is_fog_depth_enabled" default="true">
Enables the fog depth.
</member>
- <member name="fog_depth_end" type="float" setter="set_fog_depth_end" getter="get_fog_depth_end">
+ <member name="fog_depth_end" type="float" setter="set_fog_depth_end" getter="get_fog_depth_end" default="0.0">
</member>
- <member name="fog_enabled" type="bool" setter="set_fog_enabled" getter="is_fog_enabled">
+ <member name="fog_enabled" type="bool" setter="set_fog_enabled" getter="is_fog_enabled" default="false">
Enables the fog. Needs fog_height_enabled and/or for_depth_enabled to actually display fog.
</member>
- <member name="fog_height_curve" type="float" setter="set_fog_height_curve" getter="get_fog_height_curve">
+ <member name="fog_height_curve" type="float" setter="set_fog_height_curve" getter="get_fog_height_curve" default="1.0">
Value defining the fog height intensity.
</member>
- <member name="fog_height_enabled" type="bool" setter="set_fog_height_enabled" getter="is_fog_height_enabled">
+ <member name="fog_height_enabled" type="bool" setter="set_fog_height_enabled" getter="is_fog_height_enabled" default="false">
Enables the fog height.
</member>
- <member name="fog_height_max" type="float" setter="set_fog_height_max" getter="get_fog_height_max">
+ <member name="fog_height_max" type="float" setter="set_fog_height_max" getter="get_fog_height_max" default="100.0">
Maximum height of fog.
</member>
- <member name="fog_height_min" type="float" setter="set_fog_height_min" getter="get_fog_height_min">
+ <member name="fog_height_min" type="float" setter="set_fog_height_min" getter="get_fog_height_min" default="0.0">
Minimum height of fog.
</member>
- <member name="fog_sun_amount" type="float" setter="set_fog_sun_amount" getter="get_fog_sun_amount">
+ <member name="fog_sun_amount" type="float" setter="set_fog_sun_amount" getter="get_fog_sun_amount" default="0.0">
Amount of sun that affects the fog rendering.
</member>
- <member name="fog_sun_color" type="Color" setter="set_fog_sun_color" getter="get_fog_sun_color">
+ <member name="fog_sun_color" type="Color" setter="set_fog_sun_color" getter="get_fog_sun_color" default="Color( 1, 0.9, 0.7, 1 )">
Sun [Color].
</member>
- <member name="fog_transmit_curve" type="float" setter="set_fog_transmit_curve" getter="get_fog_transmit_curve">
+ <member name="fog_transmit_curve" type="float" setter="set_fog_transmit_curve" getter="get_fog_transmit_curve" default="1.0">
Amount of light that the fog transmits.
</member>
- <member name="fog_transmit_enabled" type="bool" setter="set_fog_transmit_enabled" getter="is_fog_transmit_enabled">
+ <member name="fog_transmit_enabled" type="bool" setter="set_fog_transmit_enabled" getter="is_fog_transmit_enabled" default="false">
Enables fog's light transmission. If enabled, lets reflections light to be transmitted by the fog.
</member>
- <member name="glow_bicubic_upscale" type="bool" setter="set_glow_bicubic_upscale" getter="is_glow_bicubic_upscale_enabled">
+ <member name="glow_bicubic_upscale" type="bool" setter="set_glow_bicubic_upscale" getter="is_glow_bicubic_upscale_enabled" default="false">
</member>
- <member name="glow_blend_mode" type="int" setter="set_glow_blend_mode" getter="get_glow_blend_mode" enum="Environment.GlowBlendMode">
+ <member name="glow_blend_mode" type="int" setter="set_glow_blend_mode" getter="get_glow_blend_mode" enum="Environment.GlowBlendMode" default="2">
Glow blending mode.
</member>
- <member name="glow_bloom" type="float" setter="set_glow_bloom" getter="get_glow_bloom">
+ <member name="glow_bloom" type="float" setter="set_glow_bloom" getter="get_glow_bloom" default="0.0">
Bloom value (global glow).
</member>
- <member name="glow_enabled" type="bool" setter="set_glow_enabled" getter="is_glow_enabled">
+ <member name="glow_enabled" type="bool" setter="set_glow_enabled" getter="is_glow_enabled" default="false">
Enables glow rendering.
</member>
- <member name="glow_hdr_luminance_cap" type="float" setter="set_glow_hdr_luminance_cap" getter="get_glow_hdr_luminance_cap">
+ <member name="glow_hdr_luminance_cap" type="float" setter="set_glow_hdr_luminance_cap" getter="get_glow_hdr_luminance_cap" default="12.0">
</member>
- <member name="glow_hdr_scale" type="float" setter="set_glow_hdr_bleed_scale" getter="get_glow_hdr_bleed_scale">
+ <member name="glow_hdr_scale" type="float" setter="set_glow_hdr_bleed_scale" getter="get_glow_hdr_bleed_scale" default="2.0">
Bleed scale of the HDR glow.
</member>
- <member name="glow_hdr_threshold" type="float" setter="set_glow_hdr_bleed_threshold" getter="get_glow_hdr_bleed_threshold">
+ <member name="glow_hdr_threshold" type="float" setter="set_glow_hdr_bleed_threshold" getter="get_glow_hdr_bleed_threshold" default="1.0">
Bleed threshold of the HDR glow.
</member>
- <member name="glow_intensity" type="float" setter="set_glow_intensity" getter="get_glow_intensity">
+ <member name="glow_intensity" type="float" setter="set_glow_intensity" getter="get_glow_intensity" default="0.8">
Glow intensity.
</member>
- <member name="glow_levels/1" type="bool" setter="set_glow_level" getter="is_glow_level_enabled">
+ <member name="glow_levels/1" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
First level of glow (most local).
</member>
- <member name="glow_levels/2" type="bool" setter="set_glow_level" getter="is_glow_level_enabled">
+ <member name="glow_levels/2" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
Second level of glow.
</member>
- <member name="glow_levels/3" type="bool" setter="set_glow_level" getter="is_glow_level_enabled">
+ <member name="glow_levels/3" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="true">
Third level of glow.
</member>
- <member name="glow_levels/4" type="bool" setter="set_glow_level" getter="is_glow_level_enabled">
+ <member name="glow_levels/4" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
Fourth level of glow.
</member>
- <member name="glow_levels/5" type="bool" setter="set_glow_level" getter="is_glow_level_enabled">
+ <member name="glow_levels/5" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="true">
Fifth level of glow.
</member>
- <member name="glow_levels/6" type="bool" setter="set_glow_level" getter="is_glow_level_enabled">
+ <member name="glow_levels/6" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
Sixth level of glow.
</member>
- <member name="glow_levels/7" type="bool" setter="set_glow_level" getter="is_glow_level_enabled">
+ <member name="glow_levels/7" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
Seventh level of glow (most global).
</member>
- <member name="glow_strength" type="float" setter="set_glow_strength" getter="get_glow_strength">
+ <member name="glow_strength" type="float" setter="set_glow_strength" getter="get_glow_strength" default="1.0">
Glow strength.
</member>
- <member name="ss_reflections_depth_tolerance" type="float" setter="set_ssr_depth_tolerance" getter="get_ssr_depth_tolerance">
+ <member name="ss_reflections_depth_tolerance" type="float" setter="set_ssr_depth_tolerance" getter="get_ssr_depth_tolerance" default="0.2">
</member>
- <member name="ss_reflections_enabled" type="bool" setter="set_ssr_enabled" getter="is_ssr_enabled">
+ <member name="ss_reflections_enabled" type="bool" setter="set_ssr_enabled" getter="is_ssr_enabled" default="false">
</member>
- <member name="ss_reflections_fade_in" type="float" setter="set_ssr_fade_in" getter="get_ssr_fade_in">
+ <member name="ss_reflections_fade_in" type="float" setter="set_ssr_fade_in" getter="get_ssr_fade_in" default="0.15">
</member>
- <member name="ss_reflections_fade_out" type="float" setter="set_ssr_fade_out" getter="get_ssr_fade_out">
+ <member name="ss_reflections_fade_out" type="float" setter="set_ssr_fade_out" getter="get_ssr_fade_out" default="2.0">
</member>
- <member name="ss_reflections_max_steps" type="int" setter="set_ssr_max_steps" getter="get_ssr_max_steps">
+ <member name="ss_reflections_max_steps" type="int" setter="set_ssr_max_steps" getter="get_ssr_max_steps" default="64">
</member>
- <member name="ss_reflections_roughness" type="bool" setter="set_ssr_rough" getter="is_ssr_rough">
+ <member name="ss_reflections_roughness" type="bool" setter="set_ssr_rough" getter="is_ssr_rough" default="true">
</member>
- <member name="ssao_ao_channel_affect" type="float" setter="set_ssao_ao_channel_affect" getter="get_ssao_ao_channel_affect">
+ <member name="ssao_ao_channel_affect" type="float" setter="set_ssao_ao_channel_affect" getter="get_ssao_ao_channel_affect" default="0.0">
</member>
- <member name="ssao_bias" type="float" setter="set_ssao_bias" getter="get_ssao_bias">
+ <member name="ssao_bias" type="float" setter="set_ssao_bias" getter="get_ssao_bias" default="0.01">
</member>
- <member name="ssao_blur" type="int" setter="set_ssao_blur" getter="get_ssao_blur" enum="Environment.SSAOBlur">
+ <member name="ssao_blur" type="int" setter="set_ssao_blur" getter="get_ssao_blur" enum="Environment.SSAOBlur" default="3">
</member>
- <member name="ssao_color" type="Color" setter="set_ssao_color" getter="get_ssao_color">
+ <member name="ssao_color" type="Color" setter="set_ssao_color" getter="get_ssao_color" default="Color( 0, 0, 0, 1 )">
</member>
- <member name="ssao_edge_sharpness" type="float" setter="set_ssao_edge_sharpness" getter="get_ssao_edge_sharpness">
+ <member name="ssao_edge_sharpness" type="float" setter="set_ssao_edge_sharpness" getter="get_ssao_edge_sharpness" default="4.0">
</member>
- <member name="ssao_enabled" type="bool" setter="set_ssao_enabled" getter="is_ssao_enabled">
+ <member name="ssao_enabled" type="bool" setter="set_ssao_enabled" getter="is_ssao_enabled" default="false">
</member>
- <member name="ssao_intensity" type="float" setter="set_ssao_intensity" getter="get_ssao_intensity">
+ <member name="ssao_intensity" type="float" setter="set_ssao_intensity" getter="get_ssao_intensity" default="1.0">
</member>
- <member name="ssao_intensity2" type="float" setter="set_ssao_intensity2" getter="get_ssao_intensity2">
+ <member name="ssao_intensity2" type="float" setter="set_ssao_intensity2" getter="get_ssao_intensity2" default="1.0">
</member>
- <member name="ssao_light_affect" type="float" setter="set_ssao_direct_light_affect" getter="get_ssao_direct_light_affect">
+ <member name="ssao_light_affect" type="float" setter="set_ssao_direct_light_affect" getter="get_ssao_direct_light_affect" default="0.0">
</member>
- <member name="ssao_quality" type="int" setter="set_ssao_quality" getter="get_ssao_quality" enum="Environment.SSAOQuality">
+ <member name="ssao_quality" type="int" setter="set_ssao_quality" getter="get_ssao_quality" enum="Environment.SSAOQuality" default="1">
</member>
- <member name="ssao_radius" type="float" setter="set_ssao_radius" getter="get_ssao_radius">
+ <member name="ssao_radius" type="float" setter="set_ssao_radius" getter="get_ssao_radius" default="1.0">
</member>
- <member name="ssao_radius2" type="float" setter="set_ssao_radius2" getter="get_ssao_radius2">
+ <member name="ssao_radius2" type="float" setter="set_ssao_radius2" getter="get_ssao_radius2" default="0.0">
</member>
- <member name="tonemap_exposure" type="float" setter="set_tonemap_exposure" getter="get_tonemap_exposure">
+ <member name="tonemap_exposure" type="float" setter="set_tonemap_exposure" getter="get_tonemap_exposure" default="1.0">
Default exposure for tonemap.
</member>
- <member name="tonemap_mode" type="int" setter="set_tonemapper" getter="get_tonemapper" enum="Environment.ToneMapper">
+ <member name="tonemap_mode" type="int" setter="set_tonemapper" getter="get_tonemapper" enum="Environment.ToneMapper" default="0">
Tonemapping mode.
</member>
- <member name="tonemap_white" type="float" setter="set_tonemap_white" getter="get_tonemap_white">
+ <member name="tonemap_white" type="float" setter="set_tonemap_white" getter="get_tonemap_white" default="1.0">
White reference value for tonemap.
</member>
</members>
@@ -273,7 +272,7 @@
Display a camera feed in the background.
</constant>
<constant name="BG_MAX" value="7" enum="BGMode">
- Helper constant keeping track of the enum's size, has no direct usage in API calls.
+ Represents the size of the [enum BGMode] enum.
</constant>
<constant name="GLOW_BLEND_MODE_ADDITIVE" value="0" enum="GlowBlendMode">
Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources.
@@ -282,7 +281,7 @@
Screen glow blending mode. Increases brightness, used frequently with bloom.
</constant>
<constant name="GLOW_BLEND_MODE_SOFTLIGHT" value="2" enum="GlowBlendMode">
- Softlight glow blending mode. Modifies contrast, exposes shadows and highlights, vivid bloom.
+ Soft light glow blending mode. Modifies contrast, exposes shadows and highlights, vivid bloom.
</constant>
<constant name="GLOW_BLEND_MODE_REPLACE" value="3" enum="GlowBlendMode">
Replace glow blending mode. Replaces all pixels' color by the glow value.
@@ -291,7 +290,7 @@
Linear tonemapper operator. Reads the linear data and performs an exposure adjustment.
</constant>
<constant name="TONE_MAPPER_REINHARDT" value="1" enum="ToneMapper">
- Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: color = color / (1 + color).
+ Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: [code]color = color / (1 + color)[/code].
</constant>
<constant name="TONE_MAPPER_FILMIC" value="2" enum="ToneMapper">
Filmic tonemapper operator.
diff --git a/doc/classes/Expression.xml b/doc/classes/Expression.xml
index 464ed44ecd..f85413b8b4 100644
--- a/doc/classes/Expression.xml
+++ b/doc/classes/Expression.xml
@@ -62,7 +62,7 @@
<argument index="1" name="input_names" type="PoolStringArray" default="PoolStringArray( )">
</argument>
<description>
- Parses the expression and returns a [enum @GlobalScope.Error].
+ Parses the expression and returns an [enum Error] code.
You can optionally specify names of variables that may appear in the expression with [code]input_names[/code], so that you can bind them when it gets executed.
</description>
</method>
diff --git a/doc/classes/File.xml b/doc/classes/File.xml
index 32fa628bbf..9eff0a4d27 100644
--- a/doc/classes/File.xml
+++ b/doc/classes/File.xml
@@ -36,7 +36,8 @@
<return type="bool">
</return>
<description>
- 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.
+ Returns [code]true[/code] if the file cursor has read past the end of the file.
+ [b]Note:[/b] 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">
@@ -46,7 +47,7 @@
</argument>
<description>
Returns [code]true[/code] if the file exists in the given path.
- Note that many resources types are imported (e.g. textures or sound files), and that their source asset will not be included in the exported game, as only the imported version is used (in the [code]res://.import[/code] folder). To check for the existence of such resources while taking into account the remapping to their imported location, use [method ResourceLoader.exists]. Typically, using [code]File.file_exists[/code] on an imported resource would work while you are developing in the editor (the source asset is present in [code]res://[/code], but fail when exported).
+ [b]Note:[/b] Many resources types are imported (e.g. textures or sound files), and that their source asset will not be included in the exported game, as only the imported version is used (in the [code]res://.import[/code] folder). To check for the existence of such resources while taking into account the remapping to their imported location, use [method ResourceLoader.exists]. Typically, using [code]File.file_exists[/code] on an imported resource would work while you are developing in the editor (the source asset is present in [code]res://[/code], but fail when exported).
</description>
</method>
<method name="get_16" qualifiers="const">
@@ -100,7 +101,7 @@
<argument index="0" name="delim" type="String" default="&quot;,&quot;">
</argument>
<description>
- Returns the next value of the file in CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma), it should be one character long.
+ Returns the next value of the file in CSV (Comma-Separated Values) format. You can pass a different delimiter [code]delim[/code] to use other than the default [code]","[/code] (comma). This delimiter must be one-character long.
Text is interpreted as being UTF-8 encoded.
</description>
</method>
@@ -108,21 +109,21 @@
<return type="float">
</return>
<description>
- Returns the next 64 bits from the file as a floating point number.
+ Returns the next 64 bits from the file as a floating-point number.
</description>
</method>
<method name="get_error" qualifiers="const">
<return type="int" enum="Error">
</return>
<description>
- Returns the last error that happened when trying to perform operations. Compare with the [code]ERR_FILE_*[/code] constants from [enum @GlobalScope.Error].
+ Returns the last error that happened when trying to perform operations. Compare with the [code]ERR_FILE_*[/code] constants from [enum Error].
</description>
</method>
<method name="get_float" qualifiers="const">
<return type="float">
</return>
<description>
- Returns the next 32 bits from the file as a floating point number.
+ Returns the next 32 bits from the file as a floating-point number.
</description>
</method>
<method name="get_len" qualifiers="const">
@@ -191,7 +192,7 @@
<return type="float">
</return>
<description>
- Returns the next bits from the file as a floating point number.
+ Returns the next bits from the file as a floating-point number.
</description>
</method>
<method name="get_sha256" qualifiers="const">
@@ -209,8 +210,8 @@
<argument index="0" name="allow_objects" type="bool" default="false">
</argument>
<description>
- Returns the next [Variant] value from the file. When [code]allow_objects[/code] is [code]true[/code] decoding objects is allowed.
- [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
+ Returns the next [Variant] value from the file. If [code]allow_objects[/code] is [code]true[/code], decoding objects is allowed.
+ [b]Warning:[/b] Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
</description>
</method>
<method name="is_open" qualifiers="const">
@@ -241,7 +242,7 @@
<argument index="2" name="compression_mode" type="int" enum="File.CompressionMode" default="0">
</argument>
<description>
- Opens a compressed file for reading or writing. Use [enum CompressionMode] constants to set [code]compression_mode[/code].
+ Opens a compressed file for reading or writing.
</description>
</method>
<method name="open_encrypted">
@@ -276,7 +277,7 @@
<argument index="0" name="position" type="int">
</argument>
<description>
- Change the file reading/writing cursor to the specified position (in bytes from the beginning of the file).
+ Changes the file reading/writing cursor to the specified position (in bytes from the beginning of the file).
</description>
</method>
<method name="seek_end">
@@ -285,7 +286,8 @@
<argument index="0" name="position" type="int" default="0">
</argument>
<description>
- Changes the file reading/writing cursor to the specified position (in bytes from the end of the file). Note that this is an offset, so you should use negative numbers or the cursor will be at the end of the file.
+ Changes the file reading/writing cursor to the specified position (in bytes from the end of the file).
+ [b]Note:[/b] This is an offset, so you should use negative numbers or the cursor will be at the end of the file.
</description>
</method>
<method name="store_16">
@@ -341,7 +343,7 @@
<argument index="1" name="delim" type="String" default="&quot;,&quot;">
</argument>
<description>
- Store the given [PoolStringArray] in the file as a line formatted in the CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma), it should be one character long.
+ Store the given [PoolStringArray] in the file as a line formatted in the CSV (Comma-Separated Values) format. You can pass a different delimiter [code]delim[/code] to use other than the default [code]","[/code] (comma). This delimiter must be one-character long.
Text will be encoded as UTF-8.
</description>
</method>
@@ -351,7 +353,7 @@
<argument index="0" name="value" type="float">
</argument>
<description>
- Stores a floating point number as 64 bits in the file.
+ Stores a floating-point number as 64 bits in the file.
</description>
</method>
<method name="store_float">
@@ -360,7 +362,7 @@
<argument index="0" name="value" type="float">
</argument>
<description>
- Stores a floating point number as 32 bits in the file.
+ Stores a floating-point number as 32 bits in the file.
</description>
</method>
<method name="store_line">
@@ -389,7 +391,7 @@
<argument index="0" name="value" type="float">
</argument>
<description>
- Stores a floating point number in the file.
+ Stores a floating-point number in the file.
</description>
</method>
<method name="store_string">
@@ -410,14 +412,14 @@
<argument index="1" name="full_objects" type="bool" default="false">
</argument>
<description>
- Stores any Variant value in the file. When [code]full_objects[/code] is [code]true[/code] encoding objects is allowed (and can potentially include code).
+ Stores any Variant value in the file. If [code]full_objects[/code] is [code]true[/code], encoding objects is allowed (and can potentially include code).
</description>
</method>
</methods>
<members>
- <member name="endian_swap" type="bool" setter="set_endian_swap" getter="get_endian_swap">
- If [code]true[/code], the file's endianness is swapped. Use this if you're dealing with files written in big endian machines.
- Note that this is about the file format, not CPU type. This is always reset to [code]false[/code] whenever you open the file.
+ <member name="endian_swap" type="bool" setter="set_endian_swap" getter="get_endian_swap" default="false">
+ If [code]true[/code], the file's endianness is swapped. Use this if you're dealing with files written on big-endian machines.
+ [b]Note:[/b] This is about the file format, not CPU type. This is always reset to [code]false[/code] whenever you open the file.
</member>
</members>
<constants>
@@ -434,16 +436,16 @@
Opens the file for read and write operations. Create it if the file does not exist and truncate if it exists.
</constant>
<constant name="COMPRESSION_FASTLZ" value="0" enum="CompressionMode">
- Uses the FastLZ compression method.
+ Uses the [url=http://fastlz.org/]FastLZ[/url] compression method.
</constant>
<constant name="COMPRESSION_DEFLATE" value="1" enum="CompressionMode">
- Uses the Deflate compression method.
+ Uses the [url=https://en.wikipedia.org/wiki/DEFLATE]DEFLATE[/url] compression method.
</constant>
<constant name="COMPRESSION_ZSTD" value="2" enum="CompressionMode">
- Uses the Zstd compression method.
+ Uses the [url=https://facebook.github.io/zstd/]Zstandard[/url] compression method.
</constant>
<constant name="COMPRESSION_GZIP" value="3" enum="CompressionMode">
- Uses the gzip compression method.
+ Uses the [url=https://www.gzip.org/]gzip[/url] compression method.
</constant>
</constants>
</class>
diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml
index 908c017ac9..e78f21b274 100644
--- a/doc/classes/FileDialog.xml
+++ b/doc/classes/FileDialog.xml
@@ -15,7 +15,7 @@
<argument index="0" name="filter" type="String">
</argument>
<description>
- Add a custom filter. Example: [code]add_filter("*.png ; PNG Images")[/code]
+ Adds [code]filter[/code] as a custom filter; [code]filter[/code] should be of the form [code]"filename.extension ; Description"[/code]. For example, [code]"*.png ; PNG Images"[/code].
</description>
</method>
<method name="clear_filters">
@@ -55,28 +55,28 @@
</method>
</methods>
<members>
- <member name="access" type="int" setter="set_access" getter="get_access" enum="FileDialog.Access">
+ <member name="access" type="int" setter="set_access" getter="get_access" enum="FileDialog.Access" default="0">
The file system access scope. See enum [code]Access[/code] constants.
</member>
- <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir">
+ <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir" default="&quot;res://&quot;">
The current working directory of the file dialog.
</member>
- <member name="current_file" type="String" setter="set_current_file" getter="get_current_file">
+ <member name="current_file" type="String" setter="set_current_file" getter="get_current_file" default="&quot;&quot;">
The currently selected file of the file dialog.
</member>
- <member name="current_path" type="String" setter="set_current_path" getter="get_current_path">
+ <member name="current_path" type="String" setter="set_current_path" getter="get_current_path" default="&quot;res://&quot;">
The currently selected file path of the file dialog.
</member>
- <member name="filters" type="PoolStringArray" setter="set_filters" getter="get_filters">
- Set file type filters. This example shows only .png and .gd files [code]set_filters(PoolStringArray(["*.png ; PNG Images","*.gd ; GD Script"]))[/code].
+ <member name="filters" type="PoolStringArray" setter="set_filters" getter="get_filters" default="PoolStringArray( )">
+ The available file type filters. For example, this shows only [code].png[/code] and [code].gd[/code] files: [code]set_filters(PoolStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"]))[/code].
</member>
- <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="FileDialog.Mode">
- Set dialog to open or save mode, changes selection behavior. See enum [code]Mode[/code] constants.
+ <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="FileDialog.Mode" default="4">
+ The dialog's open or save mode, which affects the selection behavior. See enum [code]Mode[/code] constants.
</member>
- <member name="mode_overrides_title" type="bool" setter="set_mode_overrides_title" getter="is_mode_overriding_title">
- If [code]true[/code], changing the [code]Mode[/code] property will set the window title accordingly (e.g. setting mode to [code]MODE_OPEN_FILE[/code] will change the window title to "Open a File").
+ <member name="mode_overrides_title" type="bool" setter="set_mode_overrides_title" getter="is_mode_overriding_title" default="true">
+ If [code]true[/code], changing the [code]Mode[/code] property will set the window title accordingly (e.g. setting mode to [constant MODE_OPEN_FILE] will change the window title to "Open a File").
</member>
- <member name="show_hidden_files" type="bool" setter="set_show_hidden_files" getter="is_showing_hidden_files">
+ <member name="show_hidden_files" type="bool" setter="set_show_hidden_files" getter="is_showing_hidden_files" default="false">
If [code]true[/code], the dialog will show hidden files.
</member>
</members>
@@ -85,52 +85,52 @@
<argument index="0" name="dir" type="String">
</argument>
<description>
- Event emitted when the user selects a directory.
+ Emitted when the user selects a directory.
</description>
</signal>
<signal name="file_selected">
<argument index="0" name="path" type="String">
</argument>
<description>
- Event emitted when the user selects a file (double clicks it or presses the OK button).
+ Emitted when the user selects a file by double-clicking it or pressing the [b]OK[/b] button.
</description>
</signal>
<signal name="files_selected">
<argument index="0" name="paths" type="PoolStringArray">
</argument>
<description>
- Event emitted when the user selects multiple files.
+ Emitted when the user selects multiple files.
</description>
</signal>
</signals>
<constants>
<constant name="MODE_OPEN_FILE" value="0" enum="Mode">
- The dialog allows the selection of one, and only one file.
+ The dialog allows selecting one, and only one file.
</constant>
<constant name="MODE_OPEN_FILES" value="1" enum="Mode">
- The dialog allows the selection of multiple files.
+ The dialog allows selecting multiple files.
</constant>
<constant name="MODE_OPEN_DIR" value="2" enum="Mode">
- The dialog functions as a folder selector, disallowing the selection of any file.
+ The dialog only allows selecting a directory, disallowing the selection of any file.
</constant>
<constant name="MODE_OPEN_ANY" value="3" enum="Mode">
- The dialog allows the selection of a file or a directory.
+ The dialog allows selecting one file or directory.
</constant>
<constant name="MODE_SAVE_FILE" value="4" enum="Mode">
The dialog will warn when a file exists.
</constant>
<constant name="ACCESS_RESOURCES" value="0" enum="Access">
- The dialog allows the selection of file and directory.
+ The dialog only allows accessing files under the [Resource] path ([code]res://[/code]).
</constant>
<constant name="ACCESS_USERDATA" value="1" enum="Access">
- The dialog allows access files under [Resource] path(res://) .
+ The dialog only allows accessing files under user data path ([code]user://[/code]).
</constant>
<constant name="ACCESS_FILESYSTEM" value="2" enum="Access">
- The dialog allows access files in whole file system.
+ The dialog allows accessing files on the whole file system.
</constant>
</constants>
<theme_items>
- <theme_item name="files_disabled" type="Color">
+ <theme_item name="files_disabled" type="Color" default="Color( 0, 0, 0, 0.7 )">
</theme_item>
<theme_item name="folder" type="Texture">
</theme_item>
diff --git a/doc/classes/Font.xml b/doc/classes/Font.xml
index d65dad9fe1..6ec1545bc7 100644
--- a/doc/classes/Font.xml
+++ b/doc/classes/Font.xml
@@ -4,7 +4,7 @@
Internationalized font and text drawing support.
</brief_description>
<description>
- Font contains a unicode compatible character set, as well as the ability to draw it with variable width, ascent, descent and kerning. For creating fonts from TTF files (or other font formats), see the editor support for fonts.
+ Font contains a Unicode-compatible character set, as well as the ability to draw it with variable width, ascent, descent and kerning. For creating fonts from TTF files (or other font formats), see the editor support for fonts.
</description>
<tutorials>
</tutorials>
@@ -25,7 +25,7 @@
<argument index="5" name="outline_modulate" type="Color" default="Color( 1, 1, 1, 1 )">
</argument>
<description>
- Draw "string" into a canvas item using the font at a given position, with "modulate" color, and optionally clipping the width. "position" specifies the baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis.
+ Draw [code]string[/code] into a canvas item using the font at a given position, with [code]modulate[/code] color, and optionally clipping the width. [code]position[/code] specifies the baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis.
</description>
</method>
<method name="draw_char" qualifiers="const">
@@ -44,7 +44,7 @@
<argument index="5" name="outline" type="bool" default="false">
</argument>
<description>
- Draw character "char" into a canvas item using the font at a given position, with "modulate" color, and optionally kerning if "next" is passed. clipping the width. "position" specifies the baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis. The width used by the character is returned, making this function useful for drawing strings character by character.
+ Draw character [code]char[/code] into a canvas item using the font at a given position, with [code]modulate[/code] color, and optionally kerning if [code]next[/code] is passed. clipping the width. [code]position[/code] specifies the baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis. The width used by the character is returned, making this function useful for drawing strings character by character.
</description>
</method>
<method name="get_ascent" qualifiers="const">
diff --git a/doc/classes/GIProbe.xml b/doc/classes/GIProbe.xml
index e42d3ed2c4..6f672bd01a 100644
--- a/doc/classes/GIProbe.xml
+++ b/doc/classes/GIProbe.xml
@@ -26,25 +26,25 @@
</method>
</methods>
<members>
- <member name="bias" type="float" setter="set_bias" getter="get_bias">
+ <member name="bias" type="float" setter="set_bias" getter="get_bias" default="1.5">
</member>
- <member name="compress" type="bool" setter="set_compress" getter="is_compressed">
+ <member name="compress" type="bool" setter="set_compress" getter="is_compressed" default="false">
</member>
- <member name="data" type="GIProbeData" setter="set_probe_data" getter="get_probe_data">
+ <member name="data" type="GIProbeData" setter="set_probe_data" getter="get_probe_data" default="null">
</member>
- <member name="dynamic_range" type="int" setter="set_dynamic_range" getter="get_dynamic_range">
+ <member name="dynamic_range" type="int" setter="set_dynamic_range" getter="get_dynamic_range" default="4">
</member>
- <member name="energy" type="float" setter="set_energy" getter="get_energy">
+ <member name="energy" type="float" setter="set_energy" getter="get_energy" default="1.0">
</member>
- <member name="extents" type="Vector3" setter="set_extents" getter="get_extents">
+ <member name="extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3( 10, 10, 10 )">
</member>
- <member name="interior" type="bool" setter="set_interior" getter="is_interior">
+ <member name="interior" type="bool" setter="set_interior" getter="is_interior" default="false">
</member>
- <member name="normal_bias" type="float" setter="set_normal_bias" getter="get_normal_bias">
+ <member name="normal_bias" type="float" setter="set_normal_bias" getter="get_normal_bias" default="0.0">
</member>
- <member name="propagation" type="float" setter="set_propagation" getter="get_propagation">
+ <member name="propagation" type="float" setter="set_propagation" getter="get_propagation" default="0.7">
</member>
- <member name="subdiv" type="int" setter="set_subdiv" getter="get_subdiv" enum="GIProbe.Subdiv">
+ <member name="subdiv" type="int" setter="set_subdiv" getter="get_subdiv" enum="GIProbe.Subdiv" default="1">
</member>
</members>
<constants>
@@ -57,6 +57,7 @@
<constant name="SUBDIV_512" value="3" enum="Subdiv">
</constant>
<constant name="SUBDIV_MAX" value="4" enum="Subdiv">
+ Represents the size of the [enum Subdiv] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/GIProbeData.xml b/doc/classes/GIProbeData.xml
index 94b86dee74..84bd695f43 100644
--- a/doc/classes/GIProbeData.xml
+++ b/doc/classes/GIProbeData.xml
@@ -9,27 +9,27 @@
<methods>
</methods>
<members>
- <member name="bias" type="float" setter="set_bias" getter="get_bias">
+ <member name="bias" type="float" setter="set_bias" getter="get_bias" default="0.4">
</member>
- <member name="bounds" type="AABB" setter="set_bounds" getter="get_bounds">
+ <member name="bounds" type="AABB" setter="set_bounds" getter="get_bounds" default="AABB( 0, 0, 0, 1, 1, 1 )">
</member>
- <member name="cell_size" type="float" setter="set_cell_size" getter="get_cell_size">
+ <member name="cell_size" type="float" setter="set_cell_size" getter="get_cell_size" default="1.0">
</member>
- <member name="compress" type="bool" setter="set_compress" getter="is_compressed">
+ <member name="compress" type="bool" setter="set_compress" getter="is_compressed" default="false">
</member>
- <member name="dynamic_data" type="PoolIntArray" setter="set_dynamic_data" getter="get_dynamic_data">
+ <member name="dynamic_data" type="PoolIntArray" setter="set_dynamic_data" getter="get_dynamic_data" default="PoolIntArray( )">
</member>
- <member name="dynamic_range" type="int" setter="set_dynamic_range" getter="get_dynamic_range">
+ <member name="dynamic_range" type="int" setter="set_dynamic_range" getter="get_dynamic_range" default="1">
</member>
- <member name="energy" type="float" setter="set_energy" getter="get_energy">
+ <member name="energy" type="float" setter="set_energy" getter="get_energy" default="1.0">
</member>
- <member name="interior" type="bool" setter="set_interior" getter="is_interior">
+ <member name="interior" type="bool" setter="set_interior" getter="is_interior" default="false">
</member>
- <member name="normal_bias" type="float" setter="set_normal_bias" getter="get_normal_bias">
+ <member name="normal_bias" type="float" setter="set_normal_bias" getter="get_normal_bias" default="0.4">
</member>
- <member name="propagation" type="float" setter="set_propagation" getter="get_propagation">
+ <member name="propagation" type="float" setter="set_propagation" getter="get_propagation" default="1.0">
</member>
- <member name="to_cell_xform" type="Transform" setter="set_to_cell_xform" getter="get_to_cell_xform">
+ <member name="to_cell_xform" type="Transform" setter="set_to_cell_xform" getter="get_to_cell_xform" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
</member>
</members>
<constants>
diff --git a/doc/classes/Generic6DOFJoint.xml b/doc/classes/Generic6DOFJoint.xml
index 53cece21fa..91a1cb1cd4 100644
--- a/doc/classes/Generic6DOFJoint.xml
+++ b/doc/classes/Generic6DOFJoint.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Generic6DOFJoint" inherits="Joint" category="Core" version="3.2">
<brief_description>
- The generic 6 degrees of freedom joint can implement a variety of joint-types by locking certain axes' rotation or translation.
+ The generic 6-degrees-of-freedom joint can implement a variety of joint types by locking certain axes' rotation or translation.
</brief_description>
<description>
The first 3 DOF axes are linear axes, which represent translation of Bodies, and the latter 3 DOF axes represent the angular motion. Each axis can be either locked, or limited.
@@ -11,236 +11,236 @@
<methods>
</methods>
<members>
- <member name="angular_limit_x/damping" type="float" setter="set_param_x" getter="get_param_x">
- The amount of rotational damping across the x-axis.
+ <member name="angular_limit_x/damping" type="float" setter="set_param_x" getter="get_param_x" default="1.0">
+ The amount of rotational damping across the X axis.
The lower, the longer an impulse from one side takes to travel to the other side.
</member>
- <member name="angular_limit_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x">
- If [code]true[/code], rotation across the x-axis is limited.
+ <member name="angular_limit_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x" default="true">
+ If [code]true[/code], rotation across the X axis is limited.
</member>
- <member name="angular_limit_x/erp" type="float" setter="set_param_x" getter="get_param_x">
- When rotating across x-axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
+ <member name="angular_limit_x/erp" type="float" setter="set_param_x" getter="get_param_x" default="0.5">
+ When rotating across the X axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
</member>
- <member name="angular_limit_x/force_limit" type="float" setter="set_param_x" getter="get_param_x">
- The maximum amount of force that can occur, when rotating around x-axis.
+ <member name="angular_limit_x/force_limit" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
+ The maximum amount of force that can occur, when rotating around the X axis.
</member>
- <member name="angular_limit_x/lower_angle" type="float" setter="_set_angular_lo_limit_x" getter="_get_angular_lo_limit_x">
- The minimum rotation in negative direction to break loose and rotate around the x-axis.
+ <member name="angular_limit_x/lower_angle" type="float" setter="_set_angular_lo_limit_x" getter="_get_angular_lo_limit_x" default="0.0">
+ The minimum rotation in negative direction to break loose and rotate around the X axis.
</member>
- <member name="angular_limit_x/restitution" type="float" setter="set_param_x" getter="get_param_x">
- The amount of rotational restitution across the x-axis. The lower, the more restitution occurs.
+ <member name="angular_limit_x/restitution" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
+ The amount of rotational restitution across the X axis. The lower, the more restitution occurs.
</member>
- <member name="angular_limit_x/softness" type="float" setter="set_param_x" getter="get_param_x">
- The speed of all rotations across the x-axis.
+ <member name="angular_limit_x/softness" type="float" setter="set_param_x" getter="get_param_x" default="0.5">
+ The speed of all rotations across the X axis.
</member>
- <member name="angular_limit_x/upper_angle" type="float" setter="_set_angular_hi_limit_x" getter="_get_angular_hi_limit_x">
- The minimum rotation in positive direction to break loose and rotate around the x-axis.
+ <member name="angular_limit_x/upper_angle" type="float" setter="_set_angular_hi_limit_x" getter="_get_angular_hi_limit_x" default="0.0">
+ The minimum rotation in positive direction to break loose and rotate around the X axis.
</member>
- <member name="angular_limit_y/damping" type="float" setter="set_param_y" getter="get_param_y">
- The amount of rotational damping across the y-axis. The lower, the more dampening occurs.
+ <member name="angular_limit_y/damping" type="float" setter="set_param_y" getter="get_param_y" default="1.0">
+ The amount of rotational damping across the Y axis. The lower, the more dampening occurs.
</member>
- <member name="angular_limit_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y">
- If [code]true[/code], rotation across the y-axis is limited.
+ <member name="angular_limit_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y" default="true">
+ If [code]true[/code], rotation across the Y axis is limited.
</member>
- <member name="angular_limit_y/erp" type="float" setter="set_param_y" getter="get_param_y">
- When rotating across y-axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
+ <member name="angular_limit_y/erp" type="float" setter="set_param_y" getter="get_param_y" default="0.5">
+ When rotating across the Y axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
</member>
- <member name="angular_limit_y/force_limit" type="float" setter="set_param_y" getter="get_param_y">
- The maximum amount of force that can occur, when rotating around y-axis.
+ <member name="angular_limit_y/force_limit" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
+ The maximum amount of force that can occur, when rotating around the Y axis.
</member>
- <member name="angular_limit_y/lower_angle" type="float" setter="_set_angular_lo_limit_y" getter="_get_angular_lo_limit_y">
- The minimum rotation in negative direction to break loose and rotate around the y-axis.
+ <member name="angular_limit_y/lower_angle" type="float" setter="_set_angular_lo_limit_y" getter="_get_angular_lo_limit_y" default="0.0">
+ The minimum rotation in negative direction to break loose and rotate around the Y axis.
</member>
- <member name="angular_limit_y/restitution" type="float" setter="set_param_y" getter="get_param_y">
- The amount of rotational restitution across the y-axis. The lower, the more restitution occurs.
+ <member name="angular_limit_y/restitution" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
+ The amount of rotational restitution across the Y axis. The lower, the more restitution occurs.
</member>
- <member name="angular_limit_y/softness" type="float" setter="set_param_y" getter="get_param_y">
- The speed of all rotations across the y-axis.
+ <member name="angular_limit_y/softness" type="float" setter="set_param_y" getter="get_param_y" default="0.5">
+ The speed of all rotations across the Y axis.
</member>
- <member name="angular_limit_y/upper_angle" type="float" setter="_set_angular_hi_limit_y" getter="_get_angular_hi_limit_y">
- The minimum rotation in positive direction to break loose and rotate around the y-axis.
+ <member name="angular_limit_y/upper_angle" type="float" setter="_set_angular_hi_limit_y" getter="_get_angular_hi_limit_y" default="0.0">
+ The minimum rotation in positive direction to break loose and rotate around the Y axis.
</member>
- <member name="angular_limit_z/damping" type="float" setter="set_param_z" getter="get_param_z">
- The amount of rotational damping across the z-axis. The lower, the more dampening occurs.
+ <member name="angular_limit_z/damping" type="float" setter="set_param_z" getter="get_param_z" default="1.0">
+ The amount of rotational damping across the Z axis. The lower, the more dampening occurs.
</member>
- <member name="angular_limit_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z">
- If [code]true[/code], rotation across the z-axis is limited.
+ <member name="angular_limit_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z" default="true">
+ If [code]true[/code], rotation across the Z axis is limited.
</member>
- <member name="angular_limit_z/erp" type="float" setter="set_param_z" getter="get_param_z">
- When rotating across z-axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
+ <member name="angular_limit_z/erp" type="float" setter="set_param_z" getter="get_param_z" default="0.5">
+ When rotating across the Z axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
</member>
- <member name="angular_limit_z/force_limit" type="float" setter="set_param_z" getter="get_param_z">
- The maximum amount of force that can occur, when rotating around z-axis.
+ <member name="angular_limit_z/force_limit" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
+ The maximum amount of force that can occur, when rotating around the Z axis.
</member>
- <member name="angular_limit_z/lower_angle" type="float" setter="_set_angular_lo_limit_z" getter="_get_angular_lo_limit_z">
- The minimum rotation in negative direction to break loose and rotate around the z-axis.
+ <member name="angular_limit_z/lower_angle" type="float" setter="_set_angular_lo_limit_z" getter="_get_angular_lo_limit_z" default="0.0">
+ The minimum rotation in negative direction to break loose and rotate around the Z axis.
</member>
- <member name="angular_limit_z/restitution" type="float" setter="set_param_z" getter="get_param_z">
- The amount of rotational restitution across the z-axis. The lower, the more restitution occurs.
+ <member name="angular_limit_z/restitution" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
+ The amount of rotational restitution across the Z axis. The lower, the more restitution occurs.
</member>
- <member name="angular_limit_z/softness" type="float" setter="set_param_z" getter="get_param_z">
- The speed of all rotations across the z-axis.
+ <member name="angular_limit_z/softness" type="float" setter="set_param_z" getter="get_param_z" default="0.5">
+ The speed of all rotations across the Z axis.
</member>
- <member name="angular_limit_z/upper_angle" type="float" setter="_set_angular_hi_limit_z" getter="_get_angular_hi_limit_z">
- The minimum rotation in positive direction to break loose and rotate around the z-axis.
+ <member name="angular_limit_z/upper_angle" type="float" setter="_set_angular_hi_limit_z" getter="_get_angular_hi_limit_z" default="0.0">
+ The minimum rotation in positive direction to break loose and rotate around the Z axis.
</member>
- <member name="angular_motor_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x">
- If [code]true[/code], a rotating motor at the x-axis is enabled.
+ <member name="angular_motor_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x" default="false">
+ If [code]true[/code], a rotating motor at the X axis is enabled.
</member>
- <member name="angular_motor_x/force_limit" type="float" setter="set_param_x" getter="get_param_x">
- Maximum acceleration for the motor at the x-axis.
+ <member name="angular_motor_x/force_limit" type="float" setter="set_param_x" getter="get_param_x" default="300.0">
+ Maximum acceleration for the motor at the X axis.
</member>
- <member name="angular_motor_x/target_velocity" type="float" setter="set_param_x" getter="get_param_x">
- Target speed for the motor at the x-axis.
+ <member name="angular_motor_x/target_velocity" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
+ Target speed for the motor at the X axis.
</member>
- <member name="angular_motor_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y">
- If [code]true[/code], a rotating motor at the y-axis is enabled.
+ <member name="angular_motor_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y" default="false">
+ If [code]true[/code], a rotating motor at the Y axis is enabled.
</member>
- <member name="angular_motor_y/force_limit" type="float" setter="set_param_y" getter="get_param_y">
- Maximum acceleration for the motor at the y-axis.
+ <member name="angular_motor_y/force_limit" type="float" setter="set_param_y" getter="get_param_y" default="300.0">
+ Maximum acceleration for the motor at the Y axis.
</member>
- <member name="angular_motor_y/target_velocity" type="float" setter="set_param_y" getter="get_param_y">
- Target speed for the motor at the y-axis.
+ <member name="angular_motor_y/target_velocity" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
+ Target speed for the motor at the Y axis.
</member>
- <member name="angular_motor_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z">
- If [code]true[/code], a rotating motor at the z-axis is enabled.
+ <member name="angular_motor_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z" default="false">
+ If [code]true[/code], a rotating motor at the Z axis is enabled.
</member>
- <member name="angular_motor_z/force_limit" type="float" setter="set_param_z" getter="get_param_z">
- Maximum acceleration for the motor at the z-axis.
+ <member name="angular_motor_z/force_limit" type="float" setter="set_param_z" getter="get_param_z" default="300.0">
+ Maximum acceleration for the motor at the Z axis.
</member>
- <member name="angular_motor_z/target_velocity" type="float" setter="set_param_z" getter="get_param_z">
- Target speed for the motor at the z-axis.
+ <member name="angular_motor_z/target_velocity" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
+ Target speed for the motor at the Z axis.
</member>
- <member name="angular_spring_x/damping" type="float" setter="set_param_x" getter="get_param_x">
+ <member name="angular_spring_x/damping" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
</member>
- <member name="angular_spring_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x">
+ <member name="angular_spring_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x" default="false">
</member>
- <member name="angular_spring_x/equilibrium_point" type="float" setter="set_param_x" getter="get_param_x">
+ <member name="angular_spring_x/equilibrium_point" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
</member>
- <member name="angular_spring_x/stiffness" type="float" setter="set_param_x" getter="get_param_x">
+ <member name="angular_spring_x/stiffness" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
</member>
- <member name="angular_spring_y/damping" type="float" setter="set_param_y" getter="get_param_y">
+ <member name="angular_spring_y/damping" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
</member>
- <member name="angular_spring_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y">
+ <member name="angular_spring_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y" default="false">
</member>
- <member name="angular_spring_y/equilibrium_point" type="float" setter="set_param_y" getter="get_param_y">
+ <member name="angular_spring_y/equilibrium_point" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
</member>
- <member name="angular_spring_y/stiffness" type="float" setter="set_param_y" getter="get_param_y">
+ <member name="angular_spring_y/stiffness" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
</member>
- <member name="angular_spring_z/damping" type="float" setter="set_param_z" getter="get_param_z">
+ <member name="angular_spring_z/damping" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
</member>
- <member name="angular_spring_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z">
+ <member name="angular_spring_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z" default="false">
</member>
- <member name="angular_spring_z/equilibrium_point" type="float" setter="set_param_z" getter="get_param_z">
+ <member name="angular_spring_z/equilibrium_point" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
</member>
- <member name="angular_spring_z/stiffness" type="float" setter="set_param_z" getter="get_param_z">
+ <member name="angular_spring_z/stiffness" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
</member>
- <member name="linear_limit_x/damping" type="float" setter="set_param_x" getter="get_param_x">
- The amount of damping that happens at the x-motion.
+ <member name="linear_limit_x/damping" type="float" setter="set_param_x" getter="get_param_x" default="1.0">
+ The amount of damping that happens at the X motion.
</member>
- <member name="linear_limit_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x">
- If [code]true[/code], the linear motion across the x-axis is limited.
+ <member name="linear_limit_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x" default="true">
+ If [code]true[/code], the linear motion across the X axis is limited.
</member>
- <member name="linear_limit_x/lower_distance" type="float" setter="set_param_x" getter="get_param_x">
- The minimum difference between the pivot points' x-axis.
+ <member name="linear_limit_x/lower_distance" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
+ The minimum difference between the pivot points' X axis.
</member>
- <member name="linear_limit_x/restitution" type="float" setter="set_param_x" getter="get_param_x">
- The amount of restitution on the x-axis movement The lower, the more momentum gets lost.
+ <member name="linear_limit_x/restitution" type="float" setter="set_param_x" getter="get_param_x" default="0.5">
+ The amount of restitution on the X axis movement. The lower, the more momentum gets lost.
</member>
- <member name="linear_limit_x/softness" type="float" setter="set_param_x" getter="get_param_x">
- A factor applied to the movement across the x-axis The lower, the slower the movement.
+ <member name="linear_limit_x/softness" type="float" setter="set_param_x" getter="get_param_x" default="0.7">
+ A factor applied to the movement across the X axis. The lower, the slower the movement.
</member>
- <member name="linear_limit_x/upper_distance" type="float" setter="set_param_x" getter="get_param_x">
- The maximum difference between the pivot points' x-axis.
+ <member name="linear_limit_x/upper_distance" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
+ The maximum difference between the pivot points' X axis.
</member>
- <member name="linear_limit_y/damping" type="float" setter="set_param_y" getter="get_param_y">
- The amount of damping that happens at the y-motion.
+ <member name="linear_limit_y/damping" type="float" setter="set_param_y" getter="get_param_y" default="1.0">
+ The amount of damping that happens at the Y motion.
</member>
- <member name="linear_limit_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y">
- If [code]true[/code], the linear motion across the y-axis is limited.
+ <member name="linear_limit_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y" default="true">
+ If [code]true[/code], the linear motion across the Y axis is limited.
</member>
- <member name="linear_limit_y/lower_distance" type="float" setter="set_param_y" getter="get_param_y">
- The minimum difference between the pivot points' y-axis.
+ <member name="linear_limit_y/lower_distance" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
+ The minimum difference between the pivot points' Y axis.
</member>
- <member name="linear_limit_y/restitution" type="float" setter="set_param_y" getter="get_param_y">
- The amount of restitution on the y-axis movement The lower, the more momentum gets lost.
+ <member name="linear_limit_y/restitution" type="float" setter="set_param_y" getter="get_param_y" default="0.5">
+ The amount of restitution on the Y axis movement. The lower, the more momentum gets lost.
</member>
- <member name="linear_limit_y/softness" type="float" setter="set_param_y" getter="get_param_y">
- A factor applied to the movement across the y-axis The lower, the slower the movement.
+ <member name="linear_limit_y/softness" type="float" setter="set_param_y" getter="get_param_y" default="0.7">
+ A factor applied to the movement across the Y axis. The lower, the slower the movement.
</member>
- <member name="linear_limit_y/upper_distance" type="float" setter="set_param_y" getter="get_param_y">
- The maximum difference between the pivot points' y-axis.
+ <member name="linear_limit_y/upper_distance" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
+ The maximum difference between the pivot points' Y axis.
</member>
- <member name="linear_limit_z/damping" type="float" setter="set_param_z" getter="get_param_z">
- The amount of damping that happens at the z-motion.
+ <member name="linear_limit_z/damping" type="float" setter="set_param_z" getter="get_param_z" default="1.0">
+ The amount of damping that happens at the Z motion.
</member>
- <member name="linear_limit_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z">
- If [code]true[/code], the linear motion across the z-axis is limited.
+ <member name="linear_limit_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z" default="true">
+ If [code]true[/code], the linear motion across the Z axis is limited.
</member>
- <member name="linear_limit_z/lower_distance" type="float" setter="set_param_z" getter="get_param_z">
- The minimum difference between the pivot points' z-axis.
+ <member name="linear_limit_z/lower_distance" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
+ The minimum difference between the pivot points' Z axis.
</member>
- <member name="linear_limit_z/restitution" type="float" setter="set_param_z" getter="get_param_z">
- The amount of restitution on the z-axis movement The lower, the more momentum gets lost.
+ <member name="linear_limit_z/restitution" type="float" setter="set_param_z" getter="get_param_z" default="0.5">
+ The amount of restitution on the Z axis movement. The lower, the more momentum gets lost.
</member>
- <member name="linear_limit_z/softness" type="float" setter="set_param_z" getter="get_param_z">
- A factor applied to the movement across the z-axis The lower, the slower the movement.
+ <member name="linear_limit_z/softness" type="float" setter="set_param_z" getter="get_param_z" default="0.7">
+ A factor applied to the movement across the Z axis. The lower, the slower the movement.
</member>
- <member name="linear_limit_z/upper_distance" type="float" setter="set_param_z" getter="get_param_z">
- The maximum difference between the pivot points' z-axis.
+ <member name="linear_limit_z/upper_distance" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
+ The maximum difference between the pivot points' Z axis.
</member>
- <member name="linear_motor_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x">
- If [code]true[/code], then there is a linear motor on the x-axis. It will attempt to reach the target velocity while staying within the force limits.
+ <member name="linear_motor_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x" default="false">
+ If [code]true[/code], then there is a linear motor on the X axis. It will attempt to reach the target velocity while staying within the force limits.
</member>
- <member name="linear_motor_x/force_limit" type="float" setter="set_param_x" getter="get_param_x">
- The maximum force the linear motor can apply on the x-axis while trying to reach the target velocity.
+ <member name="linear_motor_x/force_limit" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
+ The maximum force the linear motor can apply on the X axis while trying to reach the target velocity.
</member>
- <member name="linear_motor_x/target_velocity" type="float" setter="set_param_x" getter="get_param_x">
- The speed that the linear motor will attempt to reach on the x-axis.
+ <member name="linear_motor_x/target_velocity" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
+ The speed that the linear motor will attempt to reach on the X axis.
</member>
- <member name="linear_motor_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y">
- If [code]true[/code], then there is a linear motor on the y-axis. It will attempt to reach the target velocity while staying within the force limits.
+ <member name="linear_motor_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y" default="false">
+ If [code]true[/code], then there is a linear motor on the Y axis. It will attempt to reach the target velocity while staying within the force limits.
</member>
- <member name="linear_motor_y/force_limit" type="float" setter="set_param_y" getter="get_param_y">
- The maximum force the linear motor can apply on the y-axis while trying to reach the target velocity.
+ <member name="linear_motor_y/force_limit" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
+ The maximum force the linear motor can apply on the Y axis while trying to reach the target velocity.
</member>
- <member name="linear_motor_y/target_velocity" type="float" setter="set_param_y" getter="get_param_y">
- The speed that the linear motor will attempt to reach on the y-axis.
+ <member name="linear_motor_y/target_velocity" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
+ The speed that the linear motor will attempt to reach on the Y axis.
</member>
- <member name="linear_motor_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z">
- If [code]true[/code], then there is a linear motor on the z-axis. It will attempt to reach the target velocity while staying within the force limits.
+ <member name="linear_motor_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z" default="false">
+ If [code]true[/code], then there is a linear motor on the Z axis. It will attempt to reach the target velocity while staying within the force limits.
</member>
- <member name="linear_motor_z/force_limit" type="float" setter="set_param_z" getter="get_param_z">
- The maximum force the linear motor can apply on the z-axis while trying to reach the target velocity.
+ <member name="linear_motor_z/force_limit" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
+ The maximum force the linear motor can apply on the Z axis while trying to reach the target velocity.
</member>
- <member name="linear_motor_z/target_velocity" type="float" setter="set_param_z" getter="get_param_z">
- The speed that the linear motor will attempt to reach on the z-axis.
+ <member name="linear_motor_z/target_velocity" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
+ The speed that the linear motor will attempt to reach on the Z axis.
</member>
- <member name="linear_spring_x/damping" type="float" setter="set_param_x" getter="get_param_x">
+ <member name="linear_spring_x/damping" type="float" setter="set_param_x" getter="get_param_x" default="0.01">
</member>
- <member name="linear_spring_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x">
+ <member name="linear_spring_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x" default="false">
</member>
- <member name="linear_spring_x/equilibrium_point" type="float" setter="set_param_x" getter="get_param_x">
+ <member name="linear_spring_x/equilibrium_point" type="float" setter="set_param_x" getter="get_param_x" default="0.0">
</member>
- <member name="linear_spring_x/stiffness" type="float" setter="set_param_x" getter="get_param_x">
+ <member name="linear_spring_x/stiffness" type="float" setter="set_param_x" getter="get_param_x" default="0.01">
</member>
- <member name="linear_spring_y/damping" type="float" setter="set_param_y" getter="get_param_y">
+ <member name="linear_spring_y/damping" type="float" setter="set_param_y" getter="get_param_y" default="0.01">
</member>
- <member name="linear_spring_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y">
+ <member name="linear_spring_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y" default="false">
</member>
- <member name="linear_spring_y/equilibrium_point" type="float" setter="set_param_y" getter="get_param_y">
+ <member name="linear_spring_y/equilibrium_point" type="float" setter="set_param_y" getter="get_param_y" default="0.0">
</member>
- <member name="linear_spring_y/stiffness" type="float" setter="set_param_y" getter="get_param_y">
+ <member name="linear_spring_y/stiffness" type="float" setter="set_param_y" getter="get_param_y" default="0.01">
</member>
- <member name="linear_spring_z/damping" type="float" setter="set_param_z" getter="get_param_z">
+ <member name="linear_spring_z/damping" type="float" setter="set_param_z" getter="get_param_z" default="0.01">
</member>
- <member name="linear_spring_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z">
+ <member name="linear_spring_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z" default="false">
</member>
- <member name="linear_spring_z/equilibrium_point" type="float" setter="set_param_z" getter="get_param_z">
+ <member name="linear_spring_z/equilibrium_point" type="float" setter="set_param_z" getter="get_param_z" default="0.0">
</member>
- <member name="linear_spring_z/stiffness" type="float" setter="set_param_z" getter="get_param_z">
+ <member name="linear_spring_z/stiffness" type="float" setter="set_param_z" getter="get_param_z" default="0.01">
</member>
- <member name="precision" type="int" setter="set_precision" getter="get_precision">
+ <member name="precision" type="int" setter="set_precision" getter="get_precision" default="1">
</member>
</members>
<constants>
@@ -251,10 +251,10 @@
The maximum difference between the pivot points' axes.
</constant>
<constant name="PARAM_LINEAR_LIMIT_SOFTNESS" value="2" enum="Param">
- A factor applied to the movement across the axes The lower, the slower the movement.
+ A factor applied to the movement across the axes. The lower, the slower the movement.
</constant>
<constant name="PARAM_LINEAR_RESTITUTION" value="3" enum="Param">
- The amount of restitution on the axes movement The lower, the more momentum gets lost.
+ The amount of restitution on the axes' movement. The lower, the more momentum gets lost.
</constant>
<constant name="PARAM_LINEAR_DAMPING" value="4" enum="Param">
The amount of damping that happens at the linear motion across the axes.
@@ -293,25 +293,26 @@
Maximum acceleration for the motor at the axes.
</constant>
<constant name="PARAM_MAX" value="22" enum="Param">
- End flag of PARAM_* constants, used internally.
+ Represents the size of the [enum Param] enum.
</constant>
<constant name="FLAG_ENABLE_LINEAR_LIMIT" value="0" enum="Flag">
- If [code]set[/code] there is linear motion possible within the given limits.
+ If enabled, linear motion is possible within the given limits.
</constant>
<constant name="FLAG_ENABLE_ANGULAR_LIMIT" value="1" enum="Flag">
- If [code]set[/code] there is rotational motion possible.
+ If enabled, rotational motion is possible within the given limits.
</constant>
<constant name="FLAG_ENABLE_LINEAR_SPRING" value="3" enum="Flag">
</constant>
<constant name="FLAG_ENABLE_ANGULAR_SPRING" value="2" enum="Flag">
</constant>
<constant name="FLAG_ENABLE_MOTOR" value="4" enum="Flag">
- If [code]set[/code] there is a rotational motor across these axes.
+ If enabled, there is a rotational motor across these axes.
</constant>
<constant name="FLAG_ENABLE_LINEAR_MOTOR" value="5" enum="Flag">
+ If enabled, there is a linear motor across these axes.
</constant>
<constant name="FLAG_MAX" value="6" enum="Flag">
- End flag of FLAG_* constants, used internally.
+ Represents the size of the [enum Flag] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/Geometry.xml b/doc/classes/Geometry.xml
index e2ba3fb7b0..3cbbe6da56 100644
--- a/doc/classes/Geometry.xml
+++ b/doc/classes/Geometry.xml
@@ -67,7 +67,7 @@
<argument index="1" name="polygon_b" type="PoolVector2Array">
</argument>
<description>
- Clips [code]polygon_a[/code] against [code]polygon_b[/code] and returns an array of clipped polygons. This performs [code]OPERATION_DIFFERENCE[/code] between polygons. Returns an empty array if [code]polygon_b[/code] completely overlaps [code]polygon_a[/code].
+ Clips [code]polygon_a[/code] against [code]polygon_b[/code] and returns an array of clipped polygons. This performs [constant OPERATION_DIFFERENCE] between polygons. Returns an empty array if [code]polygon_b[/code] completely overlaps [code]polygon_a[/code].
If [code]polygon_b[/code] is enclosed by [code]polygon_a[/code], returns an outer polygon (boundary) and inner polygon (hole) which could be distiguished by calling [method is_polygon_clockwise].
</description>
</method>
@@ -79,7 +79,7 @@
<argument index="1" name="polygon" type="PoolVector2Array">
</argument>
<description>
- Clips [code]polyline[/code] against [code]polygon[/code] and returns an array of clipped polylines. This performs [code]OPERATION_DIFFERENCE[/code] between the polyline and the polygon. This operation can be thought of as cutting a line with a closed shape.
+ Clips [code]polyline[/code] against [code]polygon[/code] and returns an array of clipped polylines. This performs [constant OPERATION_DIFFERENCE] between the polyline and the polygon. This operation can be thought of as cutting a line with a closed shape.
</description>
</method>
<method name="convex_hull_2d">
@@ -88,7 +88,7 @@
<argument index="0" name="points" type="PoolVector2Array">
</argument>
<description>
- Given an array of [Vector2]s, returns the convex hull as a list of points in counter-clockwise order. The last point is the same as the first one.
+ Given an array of [Vector2]s, returns the convex hull as a list of points in counterclockwise order. The last point is the same as the first one.
</description>
</method>
<method name="exclude_polygons_2d">
@@ -99,7 +99,7 @@
<argument index="1" name="polygon_b" type="PoolVector2Array">
</argument>
<description>
- Mutually excludes common area defined by intersection of [code]polygon_a[/code] and [code]polygon_b[/code] (see [method intersect_polygons_2d]) and returns an array of excluded polygons. This performs [code]OPERATION_XOR[/code] between polygons. In other words, returns all but common area between polygons.
+ Mutually excludes common area defined by intersection of [code]polygon_a[/code] and [code]polygon_b[/code] (see [method intersect_polygons_2d]) and returns an array of excluded polygons. This performs [constant OPERATION_XOR] between polygons. In other words, returns all but common area between polygons.
The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise].
</description>
</method>
@@ -201,8 +201,8 @@
<argument index="1" name="polygon_b" type="PoolVector2Array">
</argument>
<description>
- Intersects [code]polygon_a[/code] with [code]polygon_b[/code] and returns an array of intersected polygons. This performs [code]OPERATION_INTERSECTION[/code] between polygons. In other words, returns common area shared by polygons. Returns an empty array if no intersection occurs.
- The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise].
+ Intersects [code]polygon_a[/code] with [code]polygon_b[/code] and returns an array of intersected polygons. This performs [constant OPERATION_INTERSECTION] between polygons. In other words, returns common area shared by polygons. Returns an empty array if no intersection occurs.
+ The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise].
</description>
</method>
<method name="intersect_polyline_with_polygon_2d">
@@ -213,7 +213,18 @@
<argument index="1" name="polygon" type="PoolVector2Array">
</argument>
<description>
- Intersects [code]polyline[/code] with [code]polygon[/code] and returns an array of intersected polylines. This performs [code]OPERATION_INTERSECTION[/code] between the polyline and the polygon. This operation can be thought of as chopping a line with a closed shape.
+ Intersects [code]polyline[/code] with [code]polygon[/code] and returns an array of intersected polylines. This performs [constant OPERATION_INTERSECTION] between the polyline and the polygon. This operation can be thought of as chopping a line with a closed shape.
+ </description>
+ </method>
+ <method name="is_point_in_polygon">
+ <return type="bool">
+ </return>
+ <argument index="0" name="point" type="Vector2">
+ </argument>
+ <argument index="1" name="polygon" type="PoolVector2Array">
+ </argument>
+ <description>
+ Returns [code]true[/code] if [code]point[/code] is inside [code]polygon[/code] or if it's located exactly [i]on[/i] polygon's boundary, otherwise returns [code]false[/code].
</description>
</method>
<method name="is_polygon_clockwise">
@@ -237,7 +248,8 @@
<argument index="3" name="dir_b" type="Vector2">
</argument>
<description>
- Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and ([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the point of intersection as [Vector2]. If no intersection takes place, returns an empty [Variant]. Note that the lines are specified using direction vectors, not end points.
+ Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and ([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the point of intersection as [Vector2]. If no intersection takes place, returns an empty [Variant].
+ [b]Note:[/b] The lines are specified using direction vectors, not end points.
</description>
</method>
<method name="make_atlas">
@@ -257,8 +269,8 @@
<argument index="1" name="polygon_b" type="PoolVector2Array">
</argument>
<description>
- Merges (combines) [code]polygon_a[/code] and [code]polygon_b[/code] and returns an array of merged polygons. This performs [code]OPERATION_UNION[/code] between polygons.
- The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise].
+ Merges (combines) [code]polygon_a[/code] and [code]polygon_b[/code] and returns an array of merged polygons. This performs [constant OPERATION_UNION] between polygons.
+ The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise].
</description>
</method>
<method name="offset_polygon_2d">
@@ -272,8 +284,8 @@
</argument>
<description>
Inflates or deflates [code]polygon[/code] by [code]delta[/code] units (pixels). If [code]delta[/code] is positive, makes the polygon grow outward. If [code]delta[/code] is negative, shrinks the polygon inward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. Returns an empty array if [code]delta[/code] is negative and the absolute value of it approximately exceeds the minimum bounding rectangle dimensions of the polygon.
- Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum Geometry.PolyJoinType].
- The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise].
+ Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum PolyJoinType].
+ The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise].
</description>
</method>
<method name="offset_polyline_2d">
@@ -289,9 +301,9 @@
</argument>
<description>
Inflates or deflates [code]polyline[/code] by [code]delta[/code] units (pixels), producing polygons. If [code]delta[/code] is positive, makes the polyline grow outward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. If [code]delta[/code] is negative, returns an empty array.
- Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum Geometry.PolyJoinType].
- Each polygon's endpoints will be rounded as determined by [code]end_type[/code], see [enum Geometry.PolyEndType].
- The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise].
+ Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum PolyJoinType].
+ Each polygon's endpoints will be rounded as determined by [code]end_type[/code], see [enum PolyEndType].
+ The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise].
</description>
</method>
<method name="point_is_inside_triangle" qualifiers="const">
@@ -424,8 +436,8 @@
<argument index="1" name="transform" type="Transform2D">
</argument>
<description>
- Transforms an array of points by [code]transform[/code] and returns the result.
- Can be useful in conjuction with performing polygon boolean operations in CSG manner, see [method merge_polygons_2d], [method clip_polygons_2d], [method intersect_polygons_2d], [method exclude_polygons_2d].
+ Transforms an array of points by [code]transform[/code] and returns the result.
+ Can be useful in conjunction with performing polygon boolean operations in a CSG-like manner, see [method merge_polygons_2d], [method clip_polygons_2d], [method intersect_polygons_2d], [method exclude_polygons_2d].
</description>
</method>
<method name="triangulate_delaunay_2d">
@@ -467,7 +479,7 @@
While flattened paths can never perfectly trace an arc, they are approximated by a series of arc chords.
</constant>
<constant name="JOIN_MITER" value="2" enum="PolyJoinType">
- There's a necessary limit to mitered joins since offsetting edges that join at very acute angles will produce excessively long and narrow 'spikes'. For any given edge join, when miter offsetting would exceed that maximum distance, 'square' joining is applied.
+ There's a necessary limit to mitered joins since offsetting edges that join at very acute angles will produce excessively long and narrow "spikes". For any given edge join, when miter offsetting would exceed that maximum distance, "square" joining is applied.
</constant>
<constant name="END_POLYGON" value="0" enum="PolyEndType">
Endpoints are joined using the [enum PolyJoinType] value and the path filled as a polygon.
diff --git a/doc/classes/GeometryInstance.xml b/doc/classes/GeometryInstance.xml
index 674f786149..eb1847a055 100644
--- a/doc/classes/GeometryInstance.xml
+++ b/doc/classes/GeometryInstance.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="GeometryInstance" inherits="VisualInstance" category="Core" version="3.2">
<brief_description>
- Base node for geometry based visual instances.
+ Base node for geometry-based visual instances.
</brief_description>
<description>
- Base node for geometry based visual instances. Shares some common functionality like visibility and custom materials.
+ Base node for geometry-based visual instances. Shares some common functionality like visibility and custom materials.
</description>
<tutorials>
</tutorials>
@@ -15,34 +15,34 @@
<argument index="0" name="aabb" type="AABB">
</argument>
<description>
- Overrides the bounding box of this node with a custom one. To remove it, set an AABB with all fields set to zero.
+ Overrides the bounding box of this node with a custom one. To remove it, set an [AABB] with all fields set to zero.
</description>
</method>
</methods>
<members>
- <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance.ShadowCastingSetting">
- The selected shadow casting flag. See SHADOW_CASTING_SETTING_* constants for values.
+ <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance.ShadowCastingSetting" default="1">
+ The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values.
</member>
- <member name="extra_cull_margin" type="float" setter="set_extra_cull_margin" getter="get_extra_cull_margin">
+ <member name="extra_cull_margin" type="float" setter="set_extra_cull_margin" getter="get_extra_cull_margin" default="0.0">
The extra distance added to the GeometryInstance's bounding box ([AABB]) to increase its cull box.
</member>
- <member name="lod_max_distance" type="float" setter="set_lod_max_distance" getter="get_lod_max_distance">
+ <member name="lod_max_distance" type="float" setter="set_lod_max_distance" getter="get_lod_max_distance" default="0.0">
The GeometryInstance's max LOD distance.
</member>
- <member name="lod_max_hysteresis" type="float" setter="set_lod_max_hysteresis" getter="get_lod_max_hysteresis">
+ <member name="lod_max_hysteresis" type="float" setter="set_lod_max_hysteresis" getter="get_lod_max_hysteresis" default="0.0">
The GeometryInstance's max LOD margin.
</member>
- <member name="lod_min_distance" type="float" setter="set_lod_min_distance" getter="get_lod_min_distance">
+ <member name="lod_min_distance" type="float" setter="set_lod_min_distance" getter="get_lod_min_distance" default="0.0">
The GeometryInstance's min LOD distance.
</member>
- <member name="lod_min_hysteresis" type="float" setter="set_lod_min_hysteresis" getter="get_lod_min_hysteresis">
+ <member name="lod_min_hysteresis" type="float" setter="set_lod_min_hysteresis" getter="get_lod_min_hysteresis" default="0.0">
The GeometryInstance's min LOD margin.
</member>
- <member name="material_override" type="Material" setter="set_material_override" getter="get_material_override">
+ <member name="material_override" type="Material" setter="set_material_override" getter="get_material_override" default="null">
The material override for the whole geometry.
- If there is a material in material_override, it will be used instead of any material set in any material slot of the mesh.
+ If there is a material in [code]material_override[/code], it will be used instead of any material set in any material slot of the mesh.
</member>
- <member name="use_in_baked_light" type="bool" setter="set_flag" getter="get_flag">
+ <member name="use_in_baked_light" type="bool" setter="set_flag" getter="get_flag" default="false">
If [code]true[/code], this GeometryInstance will be used when baking lights using a [GIProbe] and/or any other form of baked lighting.
</member>
</members>
@@ -64,9 +64,12 @@
</constant>
<constant name="FLAG_USE_BAKED_LIGHT" value="0" enum="Flags">
Will allow the GeometryInstance to be used when baking lights using a [GIProbe] and/or any other form of baked lighting.
- Added documentation for GeometryInstance and VisualInstance
+ </constant>
+ <constant name="FLAG_DRAW_NEXT_FRAME_IF_VISIBLE" value="1" enum="Flags">
+ Unused in this class, exposed for consistency with [enum VisualServer.InstanceFlags].
</constant>
<constant name="FLAG_MAX" value="2" enum="Flags">
+ Represents the size of the [enum Flags] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/Gradient.xml b/doc/classes/Gradient.xml
index d80fed204e..247a7afe85 100644
--- a/doc/classes/Gradient.xml
+++ b/doc/classes/Gradient.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Gradient" inherits="Resource" category="Core" version="3.2">
<brief_description>
- Color interpolator node.
+ A color interpolator resource which can be used to generate colors between user-defined color points.
</brief_description>
<description>
- Given a set of colors, this node will interpolate them in order, meaning, that if you have color 1, color 2 and color 3, the ramp will interpolate (generate the colors between two colors) from color 1 to color 2 and from color 2 to color 3. Initially the ramp will have 2 colors (black and white), one (black) at ramp lower offset 0 and the other (white) at the ramp higher offset 1.
+ Given a set of colors, this resource will interpolate them in order. This means that if you have color 1, color 2 and color 3, the ramp will interpolate from color 1 to color 2 and from color 2 to color 3. The ramp will initially have 2 colors (black and white), one (black) at ramp lower offset 0 and the other (white) at the ramp higher offset 1.
</description>
<tutorials>
</tutorials>
@@ -17,7 +17,7 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
- Adds the specified color to the end of the ramp, with the specified offset
+ Adds the specified color to the end of the ramp, with the specified offset.
</description>
</method>
<method name="get_color" qualifiers="const">
@@ -26,7 +26,7 @@
<argument index="0" name="point" type="int">
</argument>
<description>
- Returns the color of the ramp color at index [i]point[/i]
+ Returns the color of the ramp color at index [code]point[/code].
</description>
</method>
<method name="get_offset" qualifiers="const">
@@ -35,14 +35,14 @@
<argument index="0" name="point" type="int">
</argument>
<description>
- Returns the offset of the ramp color at index [i]point[/i]
+ Returns the offset of the ramp color at index [code]point[/code].
</description>
</method>
<method name="get_point_count" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the number of colors in the ramp
+ Returns the number of colors in the ramp.
</description>
</method>
<method name="interpolate">
@@ -51,7 +51,7 @@
<argument index="0" name="offset" type="float">
</argument>
<description>
- Returns the interpolated color specified by [i]offset[/i]
+ Returns the interpolated color specified by [code]offset[/code].
</description>
</method>
<method name="remove_point">
@@ -60,7 +60,7 @@
<argument index="0" name="offset" type="int">
</argument>
<description>
- Removes the color at the index [i]offset[/i]
+ Removes the color at the index [code]offset[/code].
</description>
</method>
<method name="set_color">
@@ -71,7 +71,7 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
- Sets the color of the ramp color at index [i]point[/i]
+ Sets the color of the ramp color at index [code]point[/code].
</description>
</method>
<method name="set_offset">
@@ -82,15 +82,15 @@
<argument index="1" name="offset" type="float">
</argument>
<description>
- Sets the offset for the ramp color at index [i]point[/i]
+ Sets the offset for the ramp color at index [code]point[/code].
</description>
</method>
</methods>
<members>
- <member name="colors" type="PoolColorArray" setter="set_colors" getter="get_colors">
+ <member name="colors" type="PoolColorArray" setter="set_colors" getter="get_colors" default="PoolColorArray( 0, 0, 0, 1, 1, 1, 1, 1 )">
Gradient's colors returned as a [PoolColorArray].
</member>
- <member name="offsets" type="PoolRealArray" setter="set_offsets" getter="get_offsets">
+ <member name="offsets" type="PoolRealArray" setter="set_offsets" getter="get_offsets" default="PoolRealArray( 0, 1 )">
Gradient's offsets returned as a [PoolRealArray].
</member>
</members>
diff --git a/doc/classes/GradientTexture.xml b/doc/classes/GradientTexture.xml
index fc952346ad..ef46491e02 100644
--- a/doc/classes/GradientTexture.xml
+++ b/doc/classes/GradientTexture.xml
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="GradientTexture" inherits="Texture" category="Core" version="3.2">
<brief_description>
- Gradient filled texture.
+ Gradient-filled texture.
</brief_description>
<description>
- Uses a [Gradient] to fill the texture data, the gradient will be filled from left to right using colors obtained from the gradient, this means that the texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see [member width]).
+ GradientTexture uses a [Gradient] to fill the texture data. The gradient will be filled from left to right using colors obtained from the gradient. This means the texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see [member width]).
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="gradient" type="Gradient" setter="set_gradient" getter="get_gradient">
+ <member name="gradient" type="Gradient" setter="set_gradient" getter="get_gradient" default="null">
The [Gradient] that will be used to fill the texture.
</member>
- <member name="width" type="int" setter="set_width" getter="get_width">
+ <member name="width" type="int" setter="set_width" getter="get_width" default="2048">
The number of color samples that will be obtained from the [Gradient].
</member>
</members>
diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml
index db186eab35..111bf2109e 100644
--- a/doc/classes/GraphEdit.xml
+++ b/doc/classes/GraphEdit.xml
@@ -4,8 +4,8 @@
GraphEdit is an area capable of showing various GraphNodes. It manages connection events between them.
</brief_description>
<description>
- GraphEdit manages the showing of GraphNodes it contains, as well as connections and disconnections between them. Signals are sent for each of these two events. Disconnection between GraphNodes slots is disabled by default.
- It is greatly advised to enable low processor usage mode (see [member OS.low_processor_usage_mode]) when using GraphEdits.
+ GraphEdit manages the showing of GraphNodes it contains, as well as connections and disconnections between them. Signals are sent for each of these two events. Disconnection between GraphNode slots is disabled by default.
+ It is greatly advised to enable low-processor usage mode (see [member OS.low_processor_usage_mode]) when using GraphEdits.
</description>
<tutorials>
</tutorials>
@@ -43,7 +43,7 @@
<return type="void">
</return>
<description>
- Remove all connections between nodes.
+ Removes all connections between nodes.
</description>
</method>
<method name="connect_node">
@@ -58,7 +58,7 @@
<argument index="3" name="to_port" type="int">
</argument>
<description>
- Create a connection between 'from_port' slot of 'from' GraphNode and 'to_port' slot of 'to' GraphNode. If the connection already exists, no connection is created.
+ Create a connection between the [code]from_port[/code] slot of the [code]from[/code] GraphNode and the [code]to_port[/code] slot of the [code]to[/code] GraphNode. If the connection already exists, no connection is created.
</description>
</method>
<method name="disconnect_node">
@@ -73,14 +73,14 @@
<argument index="3" name="to_port" type="int">
</argument>
<description>
- Remove the connection between 'from_port' slot of 'from' GraphNode and 'to_port' slot of 'to' GraphNode, if connection exists.
+ Removes the connection between the [code]from_port[/code] slot of the [code]from[/code] GraphNode and the [code]to_port[/code] slot of the [code]to[/code] GraphNode. If the connection does not exist, no connection is removed.
</description>
</method>
<method name="get_connection_list" qualifiers="const">
<return type="Array">
</return>
<description>
- Returns an Array containing the list of connections. A connection consists in a structure of the form {from_port: 0, from: "GraphNode name 0", to_port: 1, to: "GraphNode name 1" }
+ Returns an Array containing the list of connections. A connection consists in a structure of the form [code]{ from_port: 0, from: "GraphNode name 0", to_port: 1, to: "GraphNode name 1" }[/code].
</description>
</method>
<method name="get_zoom_hbox">
@@ -101,7 +101,7 @@
<argument index="3" name="to_port" type="int">
</argument>
<description>
- Returns [code]true[/code] if the 'from_port' slot of 'from' GraphNode is connected to the 'to_port' slot of 'to' GraphNode.
+ Returns [code]true[/code] if the [code]from_port[/code] slot of the [code]from[/code] GraphNode is connected to the [code]to_port[/code] slot of the [code]to[/code] GraphNode.
</description>
</method>
<method name="is_valid_connection_type" qualifiers="const">
@@ -171,19 +171,19 @@
</method>
</methods>
<members>
- <member name="right_disconnects" type="bool" setter="set_right_disconnects" getter="is_right_disconnects_enabled">
+ <member name="right_disconnects" type="bool" setter="set_right_disconnects" getter="is_right_disconnects_enabled" default="false">
If [code]true[/code], enables disconnection of existing connections in the GraphEdit by dragging the right end.
</member>
- <member name="scroll_offset" type="Vector2" setter="set_scroll_ofs" getter="get_scroll_ofs">
+ <member name="scroll_offset" type="Vector2" setter="set_scroll_ofs" getter="get_scroll_ofs" default="Vector2( 0, 0 )">
The scroll offset.
</member>
- <member name="snap_distance" type="int" setter="set_snap" getter="get_snap">
+ <member name="snap_distance" type="int" setter="set_snap" getter="get_snap" default="20">
The snapping distance in pixels.
</member>
- <member name="use_snap" type="bool" setter="set_use_snap" getter="is_using_snap">
+ <member name="use_snap" type="bool" setter="set_use_snap" getter="is_using_snap" default="true">
If [code]true[/code], enables snapping.
</member>
- <member name="zoom" type="float" setter="set_zoom" getter="get_zoom">
+ <member name="zoom" type="float" setter="set_zoom" getter="get_zoom" default="1.0">
The current zoom value.
</member>
</members>
@@ -198,6 +198,17 @@
Signal sent at the end of a GraphNode movement.
</description>
</signal>
+ <signal name="connection_from_empty">
+ <argument index="0" name="to" type="String">
+ </argument>
+ <argument index="1" name="to_slot" type="int">
+ </argument>
+ <argument index="2" name="release_position" type="Vector2">
+ </argument>
+ <description>
+ Signal sent when user dragging connection from input port into empty space of the graph.
+ </description>
+ </signal>
<signal name="connection_request">
<argument index="0" name="from" type="String">
</argument>
@@ -208,7 +219,7 @@
<argument index="3" name="to_slot" type="int">
</argument>
<description>
- Signal sent to the GraphEdit when the connection between 'from_slot' slot of 'from' GraphNode and 'to_slot' slot of 'to' GraphNode is attempted to be created.
+ Signal sent to the GraphEdit when the connection between the [code]from_slot[/code] slot of the [code]from[/code] GraphNode and the [code]to_slot[/code] slot of the [code]to[/code] GraphNode is attempted to be created.
</description>
</signal>
<signal name="connection_to_empty">
@@ -219,6 +230,7 @@
<argument index="2" name="release_position" type="Vector2">
</argument>
<description>
+ Signal sent when user dragging connection from output port into empty space of the graph.
</description>
</signal>
<signal name="delete_nodes_request">
@@ -236,12 +248,12 @@
<argument index="3" name="to_slot" type="int">
</argument>
<description>
- Signal sent to the GraphEdit when the connection between 'from_slot' slot of 'from' GraphNode and 'to_slot' slot of 'to' GraphNode is attempted to be removed.
+ Emitted to the GraphEdit when the connection between [code]from_slot[/code] slot of [code]from[/code] GraphNode and [code]to_slot[/code] slot of [code]to[/code] GraphNode is attempted to be removed.
</description>
</signal>
<signal name="duplicate_nodes_request">
<description>
- Signal sent when a GraphNode is attempted to be duplicated in the GraphEdit.
+ Emitted when a GraphNode is attempted to be duplicated in the GraphEdit.
</description>
</signal>
<signal name="node_selected">
@@ -255,7 +267,7 @@
<argument index="0" name="position" type="Vector2">
</argument>
<description>
- Signal sent when a popup is requested. Happens on right-clicking in the GraphEdit. 'p_position' is the position of the mouse pointer when the signal is sent.
+ Emitted when a popup is requested. Happens on right-clicking in the GraphEdit. [code]position[/code] is the position of the mouse pointer when the signal is sent.
</description>
</signal>
<signal name="scroll_offset_changed">
@@ -268,25 +280,25 @@
<constants>
</constants>
<theme_items>
- <theme_item name="activity" type="Color">
+ <theme_item name="activity" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="bezier_len_neg" type="int">
+ <theme_item name="bezier_len_neg" type="int" default="160">
</theme_item>
- <theme_item name="bezier_len_pos" type="int">
+ <theme_item name="bezier_len_pos" type="int" default="80">
</theme_item>
<theme_item name="bg" type="StyleBox">
</theme_item>
- <theme_item name="grid_major" type="Color">
+ <theme_item name="grid_major" type="Color" default="Color( 1, 1, 1, 0.2 )">
</theme_item>
- <theme_item name="grid_minor" type="Color">
+ <theme_item name="grid_minor" type="Color" default="Color( 1, 1, 1, 0.05 )">
</theme_item>
<theme_item name="minus" type="Texture">
</theme_item>
<theme_item name="more" type="Texture">
</theme_item>
- <theme_item name="port_grab_distance_horizontal" type="int">
+ <theme_item name="port_grab_distance_horizontal" type="int" default="48">
</theme_item>
- <theme_item name="port_grab_distance_vertical" type="int">
+ <theme_item name="port_grab_distance_vertical" type="int" default="6">
</theme_item>
<theme_item name="reset" type="Texture">
</theme_item>
diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml
index a19676798b..6bc09e5289 100644
--- a/doc/classes/GraphNode.xml
+++ b/doc/classes/GraphNode.xml
@@ -4,7 +4,7 @@
A GraphNode is a container with several input and output slots allowing connections between GraphNodes. Slots can have different, incompatible types.
</brief_description>
<description>
- A GraphNode is a container defined by a title. It can have 1 or more input and output slots, which can be enabled (shown) or disabled (not shown) and have different (incompatible) types. Colors can also be assigned to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input and output connections are left and right slots, but only enabled slots are counted as connections.
+ A GraphNode is a container defined by a title. It can have one or more input and output slots, which can be enabled (shown) or disabled (not shown) and have different (incompatible) types. Colors can also be assigned to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input and output connections are left and right slots, but only enabled slots are counted as connections.
</description>
<tutorials>
</tutorials>
@@ -13,7 +13,7 @@
<return type="void">
</return>
<description>
- Disable all input and output slots of the GraphNode.
+ Disables all input and output slots of the GraphNode.
</description>
</method>
<method name="clear_slot">
@@ -22,7 +22,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Disable input and output slot whose index is 'idx'.
+ Disables input and output slot whose index is [code]idx[/code].
</description>
</method>
<method name="get_connection_input_color">
@@ -31,7 +31,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the color of the input connection 'idx'.
+ Returns the color of the input connection [code]idx[/code].
</description>
</method>
<method name="get_connection_input_count">
@@ -47,7 +47,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the position of the input connection 'idx'.
+ Returns the position of the input connection [code]idx[/code].
</description>
</method>
<method name="get_connection_input_type">
@@ -56,7 +56,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the type of the input connection 'idx'.
+ Returns the type of the input connection [code]idx[/code].
</description>
</method>
<method name="get_connection_output_color">
@@ -65,7 +65,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the color of the output connection 'idx'.
+ Returns the color of the output connection [code]idx[/code].
</description>
</method>
<method name="get_connection_output_count">
@@ -81,7 +81,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the position of the output connection 'idx'.
+ Returns the position of the output connection [code]idx[/code].
</description>
</method>
<method name="get_connection_output_type">
@@ -90,7 +90,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the type of the output connection 'idx'.
+ Returns the type of the output connection [code]idx[/code].
</description>
</method>
<method name="get_slot_color_left" qualifiers="const">
@@ -99,7 +99,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the color set to 'idx' left (input) slot.
+ Returns the color set to [code]idx[/code] left (input) slot.
</description>
</method>
<method name="get_slot_color_right" qualifiers="const">
@@ -108,7 +108,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the color set to 'idx' right (output) slot.
+ Returns the color set to [code]idx[/code] right (output) slot.
</description>
</method>
<method name="get_slot_type_left" qualifiers="const">
@@ -117,7 +117,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the (integer) type of left (input) 'idx' slot.
+ Returns the (integer) type of left (input) [code]idx[/code] slot.
</description>
</method>
<method name="get_slot_type_right" qualifiers="const">
@@ -126,7 +126,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the (integer) type of right (output) 'idx' slot.
+ Returns the (integer) type of right (output) [code]idx[/code] slot.
</description>
</method>
<method name="is_slot_enabled_left" qualifiers="const">
@@ -135,7 +135,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns [code]true[/code] if left (input) slot 'idx' is enabled, [code]false[/code] otherwise.
+ Returns [code]true[/code] if left (input) slot [code]idx[/code] is enabled, [code]false[/code] otherwise.
</description>
</method>
<method name="is_slot_enabled_right" qualifiers="const">
@@ -144,7 +144,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns [code]true[/code] if right (output) slot 'idx' is enabled, [code]false[/code] otherwise.
+ Returns [code]true[/code] if right (output) slot [code]idx[/code] is enabled, [code]false[/code] otherwise.
</description>
</method>
<method name="set_slot">
@@ -173,20 +173,21 @@
</method>
</methods>
<members>
- <member name="comment" type="bool" setter="set_comment" getter="is_comment">
+ <member name="comment" type="bool" setter="set_comment" getter="is_comment" default="false">
</member>
- <member name="offset" type="Vector2" setter="set_offset" getter="get_offset">
- The offset of the GraphNode, relative to the scroll offset of the [GraphEdit]. Note that you cannot use position directly, as [GraphEdit] is a [Container].
+ <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
+ The offset of the GraphNode, relative to the scroll offset of the [GraphEdit].
+ [b]Note:[/b] You cannot use position directly, as [GraphEdit] is a [Container].
</member>
- <member name="overlay" type="int" setter="set_overlay" getter="get_overlay" enum="GraphNode.Overlay">
+ <member name="overlay" type="int" setter="set_overlay" getter="get_overlay" enum="GraphNode.Overlay" default="0">
</member>
- <member name="resizable" type="bool" setter="set_resizable" getter="is_resizable">
+ <member name="resizable" type="bool" setter="set_resizable" getter="is_resizable" default="false">
</member>
- <member name="selected" type="bool" setter="set_selected" getter="is_selected">
+ <member name="selected" type="bool" setter="set_selected" getter="is_selected" default="false">
</member>
- <member name="show_close" type="bool" setter="set_show_close_button" getter="is_close_button_visible">
+ <member name="show_close" type="bool" setter="set_show_close_button" getter="is_close_button_visible" default="false">
</member>
- <member name="title" type="String" setter="set_title" getter="get_title">
+ <member name="title" type="String" setter="set_title" getter="get_title" default="&quot;&quot;">
</member>
</members>
<signals>
@@ -234,9 +235,9 @@
</theme_item>
<theme_item name="close" type="Texture">
</theme_item>
- <theme_item name="close_color" type="Color">
+ <theme_item name="close_color" type="Color" default="Color( 0, 0, 0, 1 )">
</theme_item>
- <theme_item name="close_offset" type="int">
+ <theme_item name="close_offset" type="int" default="18">
</theme_item>
<theme_item name="comment" type="StyleBox">
</theme_item>
@@ -250,7 +251,7 @@
</theme_item>
<theme_item name="port" type="Texture">
</theme_item>
- <theme_item name="port_offset" type="int">
+ <theme_item name="port_offset" type="int" default="3">
</theme_item>
<theme_item name="position" type="StyleBox">
</theme_item>
@@ -258,13 +259,13 @@
</theme_item>
<theme_item name="selectedframe" type="StyleBox">
</theme_item>
- <theme_item name="separation" type="int">
+ <theme_item name="separation" type="int" default="1">
</theme_item>
- <theme_item name="title_color" type="Color">
+ <theme_item name="title_color" type="Color" default="Color( 0, 0, 0, 1 )">
</theme_item>
<theme_item name="title_font" type="Font">
</theme_item>
- <theme_item name="title_offset" type="int">
+ <theme_item name="title_offset" type="int" default="20">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml
index 94d805e3f6..08832c08b4 100644
--- a/doc/classes/GridContainer.xml
+++ b/doc/classes/GridContainer.xml
@@ -4,23 +4,23 @@
Grid container used to arrange elements in a grid like layout.
</brief_description>
<description>
- Grid container will arrange its children in a grid like structure, the grid columns are specified using the [member columns] property and the number of rows will be equal to the number of children in the container divided by the number of columns, for example: if the container has 5 children, and 2 columns, there will be 3 rows in the container. Notice that grid layout will preserve the columns and rows for every size of the container.
+ Grid container will arrange its children in a grid like structure, the grid columns are specified using the [member columns] property and the number of rows will be equal to the number of children in the container divided by the number of columns. For example, if the container has 5 children, and 2 columns, there will be 3 rows in the container. Notice that grid layout will preserve the columns and rows for every size of the container.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="columns" type="int" setter="set_columns" getter="get_columns">
+ <member name="columns" type="int" setter="set_columns" getter="get_columns" default="1">
The number of columns in the [GridContainer]. If modified, [GridContainer] reorders its children to accommodate the new layout.
</member>
</members>
<constants>
</constants>
<theme_items>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="4">
</theme_item>
- <theme_item name="vseparation" type="int">
+ <theme_item name="vseparation" type="int" default="4">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/GrooveJoint2D.xml b/doc/classes/GrooveJoint2D.xml
index dd758d0bd3..6b87fa5cfe 100644
--- a/doc/classes/GrooveJoint2D.xml
+++ b/doc/classes/GrooveJoint2D.xml
@@ -11,11 +11,11 @@
<methods>
</methods>
<members>
- <member name="initial_offset" type="float" setter="set_initial_offset" getter="get_initial_offset">
- The body B's initial anchor position defined by the joint's origin and a local offset [member initial_offset] along the joint's y axis (along the groove). Default value: [code]25[/code]
+ <member name="initial_offset" type="float" setter="set_initial_offset" getter="get_initial_offset" default="25.0">
+ The body B's initial anchor position defined by the joint's origin and a local offset [member initial_offset] along the joint's Y axis (along the groove).
</member>
- <member name="length" type="float" setter="set_length" getter="get_length">
- The groove's length. The groove is from the joint's origin towards [member length] along the joint's local y axis. Default value: [code]50[/code]
+ <member name="length" type="float" setter="set_length" getter="get_length" default="50.0">
+ The groove's length. The groove is from the joint's origin towards [member length] along the joint's local Y axis.
</member>
</members>
<constants>
diff --git a/doc/classes/HBoxContainer.xml b/doc/classes/HBoxContainer.xml
index fce030a260..e2abbe16cc 100644
--- a/doc/classes/HBoxContainer.xml
+++ b/doc/classes/HBoxContainer.xml
@@ -13,7 +13,7 @@
<constants>
</constants>
<theme_items>
- <theme_item name="separation" type="int">
+ <theme_item name="separation" type="int" default="4">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/HSeparator.xml b/doc/classes/HSeparator.xml
index c2c22d3bcd..c34364c573 100644
--- a/doc/classes/HSeparator.xml
+++ b/doc/classes/HSeparator.xml
@@ -4,7 +4,7 @@
Horizontal separator.
</brief_description>
<description>
- Horizontal separator. See [Separator]. It is used to separate objects vertically, though (but it looks horizontal!).
+ Horizontal separator. See [Separator]. Even though it looks horizontal, it is used to separate objects vertically.
</description>
<tutorials>
</tutorials>
@@ -13,7 +13,7 @@
<constants>
</constants>
<theme_items>
- <theme_item name="separation" type="int">
+ <theme_item name="separation" type="int" default="4">
</theme_item>
<theme_item name="separator" type="StyleBox">
</theme_item>
diff --git a/doc/classes/HSplitContainer.xml b/doc/classes/HSplitContainer.xml
index accc09d190..3a425705c6 100644
--- a/doc/classes/HSplitContainer.xml
+++ b/doc/classes/HSplitContainer.xml
@@ -13,13 +13,13 @@
<constants>
</constants>
<theme_items>
- <theme_item name="autohide" type="int">
+ <theme_item name="autohide" type="int" default="1">
</theme_item>
<theme_item name="bg" type="StyleBox">
</theme_item>
<theme_item name="grabber" type="Texture">
</theme_item>
- <theme_item name="separation" type="int">
+ <theme_item name="separation" type="int" default="12">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml
index 8ae0120a34..c91ddccaa4 100644
--- a/doc/classes/HTTPClient.xml
+++ b/doc/classes/HTTPClient.xml
@@ -4,8 +4,8 @@
Hyper-text transfer protocol client.
</brief_description>
<description>
- Hyper-text transfer protocol client (sometimes called "User Agent"). Used to make HTTP requests to download web content, upload files and other data or to communicate with various services, among other use cases.
- Note that this client only needs to connect to a host once (see [method connect_to_host]) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See [method request] for a full example and to get started.
+ Hyper-text transfer protocol client (sometimes called "User Agent"). Used to make HTTP requests to download web content, upload files and other data or to communicate with various services, among other use cases. See [HTTPRequest] for an higher-level alternative.
+ [b]Note:[/b] This client only needs to connect to a host once (see [method connect_to_host]) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See [method request] for a full example and to get started.
A [HTTPClient] should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports SSL and SSL server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side.
For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616).
</description>
@@ -33,7 +33,7 @@
<argument index="3" name="verify_host" type="bool" default="true">
</argument>
<description>
- Connect to a host. This needs to be done before any requests are sent.
+ Connects to a host. This needs to be done before any requests are sent.
The host should not have http:// prepended but will strip the protocol identifier if provided.
If no [code]port[/code] is specified (or [code]-1[/code] is used), it is automatically set to 80 for HTTP and 443 for HTTPS (if [code]use_ssl[/code] is enabled).
[code]verify_host[/code] will check the SSL identity of the host if set to [code]true[/code].
@@ -64,16 +64,21 @@
<return type="Dictionary">
</return>
<description>
- Returns all response headers as dictionary where the case-sensitivity of the keys and values is kept like the server delivers it. A value is a simple String, this string can have more than one value where "; " is used as separator.
- Structure: ("key":"value1; value2")
- Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
+ Returns all response headers as a Dictionary of structure [code]{ "key": "value1; value2" }[/code] where the case-sensitivity of the keys and values is kept like the server delivers it. A value is a simple String, this string can have more than one value where "; " is used as separator.
+ [b]Example:[/b]
+ [codeblock]
+ {
+ "content-length": 12,
+ "Content-Type": "application/json; charset=UTF-8",
+ }
+ [/codeblock]
</description>
</method>
<method name="get_status" qualifiers="const">
<return type="int" enum="HTTPClient.Status">
</return>
<description>
- Returns a STATUS_* enum constant. Need to call [method poll] in order to get status updates.
+ Returns a [code]STATUS_*[/code] enum constant. Need to call [method poll] in order to get status updates.
</description>
</method>
<method name="has_response" qualifiers="const">
@@ -107,13 +112,13 @@
[codeblock]
var fields = {"username": "user", "password": "pass"}
String query_string = http_client.query_string_from_dict(fields)
- # returns: "username=user&amp;password=pass"
+ # Returns "username=user&amp;password=pass"
[/codeblock]
- Furthermore, if a key has a null value, only the key itself is added, without equal sign and value. If the value is an array, for each value in it a pair with the same key is added.
+ Furthermore, if a key has a [code]null[/code] value, only the key itself is added, without equal sign and value. If the value is an array, for each value in it a pair with the same key is added.
[codeblock]
var fields = {"single": 123, "not_valued": null, "multiple": [22, 33, 44]}
String query_string = http_client.query_string_from_dict(fields)
- # returns: "single=123&amp;not_valued&amp;multiple=22&amp;multiple=33&amp;multiple=44"
+ # Returns "single=123&amp;not_valued&amp;multiple=22&amp;multiple=33&amp;multiple=44"
[/codeblock]
</description>
</method>
@@ -175,7 +180,7 @@
</method>
</methods>
<members>
- <member name="blocking_mode_enabled" type="bool" setter="set_blocking_mode" getter="is_blocking_mode_enabled">
+ <member name="blocking_mode_enabled" type="bool" setter="set_blocking_mode" getter="is_blocking_mode_enabled" default="false">
If [code]true[/code], execution will block until all data is read from the response.
</member>
<member name="connection" type="StreamPeer" setter="set_connection" getter="get_connection">
@@ -193,7 +198,7 @@
HTTP POST method. The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server. This is often used for forms and submitting data or uploading files.
</constant>
<constant name="METHOD_PUT" value="3" enum="Method">
- HTTP PUT method. The PUT method asks to replace all current representations of the target resource with the request payload. (You can think of [code]POST[/code] as "create or update" and [code]PUT[/code] as "update", although many services tend to not make a clear distinction or change their meaning).
+ HTTP PUT method. The PUT method asks to replace all current representations of the target resource with the request payload. (You can think of POST as "create or update" and PUT as "update", although many services tend to not make a clear distinction or change their meaning).
</constant>
<constant name="METHOD_DELETE" value="4" enum="Method">
HTTP DELETE method. The DELETE method requests to delete the specified resource.
@@ -211,7 +216,7 @@
HTTP PATCH method. The PATCH method is used to apply partial modifications to a resource.
</constant>
<constant name="METHOD_MAX" value="9" enum="Method">
- Marker for end of [code]METHOD_*[/code] enum. Not used.
+ Represents the size of the [enum Method] enum.
</constant>
<constant name="STATUS_DISCONNECTED" value="0" enum="Status">
Status: Disconnected from the server.
@@ -298,10 +303,10 @@
HTTP status code [code]304 Not Modified[/code]. A conditional GET or HEAD request has been received and would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to [code]false[/code].
</constant>
<constant name="RESPONSE_USE_PROXY" value="305" enum="ResponseCode">
- HTTP status code [code]305 Use Proxy[/code]. Deprecated. Do not use.
+ HTTP status code [code]305 Use Proxy[/code]. [i]Deprecated. Do not use.[/i]
</constant>
<constant name="RESPONSE_SWITCH_PROXY" value="306" enum="ResponseCode">
- HTTP status code [code]306 Switch Proxy[/code]. Deprecated. Do not use.
+ HTTP status code [code]306 Switch Proxy[/code]. [i]Deprecated. Do not use.[/i]
</constant>
<constant name="RESPONSE_TEMPORARY_REDIRECT" value="307" enum="ResponseCode">
HTTP status code [code]307 Temporary Redirect[/code]. The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method if it performs an automatic redirection to that URI.
diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml
index 3dccc8e741..306f17ea44 100644
--- a/doc/classes/HTTPRequest.xml
+++ b/doc/classes/HTTPRequest.xml
@@ -54,21 +54,21 @@
</argument>
<description>
Creates request on the underlying [HTTPClient]. If there is no configuration errors, it tries to connect using [method HTTPClient.connect_to_host] and passes parameters onto [method HTTPClient.request].
- Returns [code]OK[/code] if request is successfully created. (Does not imply that the server has responded), [code]ERR_UNCONFIGURED[/code] if not in the tree, [code]ERR_BUSY[/code] if still processing previous request, [code]ERR_INVALID_PARAMETER[/code] if given string is not a valid URL format, or [code]ERR_CANT_CONNECT[/code] if not using thread and the [HTTPClient] cannot connect to host.
+ Returns [constant OK] if request is successfully created. (Does not imply that the server has responded), [constant ERR_UNCONFIGURED] if not in the tree, [constant ERR_BUSY] if still processing previous request, [constant ERR_INVALID_PARAMETER] if given string is not a valid URL format, or [constant ERR_CANT_CONNECT] if not using thread and the [HTTPClient] cannot connect to host.
</description>
</method>
</methods>
<members>
- <member name="body_size_limit" type="int" setter="set_body_size_limit" getter="get_body_size_limit">
+ <member name="body_size_limit" type="int" setter="set_body_size_limit" getter="get_body_size_limit" default="-1">
Maximum allowed size for response bodies.
</member>
- <member name="download_file" type="String" setter="set_download_file" getter="get_download_file">
+ <member name="download_file" type="String" setter="set_download_file" getter="get_download_file" default="&quot;&quot;">
The file to download into. Will output any received file into it.
</member>
- <member name="max_redirects" type="int" setter="set_max_redirects" getter="get_max_redirects">
+ <member name="max_redirects" type="int" setter="set_max_redirects" getter="get_max_redirects" default="8">
Maximum number of allowed redirects.
</member>
- <member name="use_threads" type="bool" setter="set_use_threads" getter="is_using_threads">
+ <member name="use_threads" type="bool" setter="set_use_threads" getter="is_using_threads" default="false">
If [code]true[/code], multithreading is used to improve performance.
</member>
</members>
@@ -83,7 +83,7 @@
<argument index="3" name="body" type="PoolByteArray">
</argument>
<description>
- This signal is emitted upon request completion.
+ Emitted when a request is completed.
</description>
</signal>
</signals>
diff --git a/doc/classes/HeightMapShape.xml b/doc/classes/HeightMapShape.xml
index 22896535b9..cb7da8af26 100644
--- a/doc/classes/HeightMapShape.xml
+++ b/doc/classes/HeightMapShape.xml
@@ -11,13 +11,13 @@
<methods>
</methods>
<members>
- <member name="map_data" type="PoolRealArray" setter="set_map_data" getter="get_map_data">
+ <member name="map_data" type="PoolRealArray" setter="set_map_data" getter="get_map_data" default="PoolRealArray( 0, 0, 0, 0 )">
Height map data, pool array must be of [member map_width] * [member map_depth] size.
</member>
- <member name="map_depth" type="int" setter="set_map_depth" getter="get_map_depth">
+ <member name="map_depth" type="int" setter="set_map_depth" getter="get_map_depth" default="2">
Depth of the height map data. Changing this will resize the [member map_data].
</member>
- <member name="map_width" type="int" setter="set_map_width" getter="get_map_width">
+ <member name="map_width" type="int" setter="set_map_width" getter="get_map_width" default="2">
Width of the height map data. Changing this will resize the [member map_data].
</member>
</members>
diff --git a/doc/classes/HingeJoint.xml b/doc/classes/HingeJoint.xml
index 79df64f226..0ac67be96c 100644
--- a/doc/classes/HingeJoint.xml
+++ b/doc/classes/HingeJoint.xml
@@ -4,40 +4,40 @@
A hinge between two 3D bodies.
</brief_description>
<description>
- Normally uses the z-axis of body A as the hinge axis, another axis can be specified when adding it manually though.
+ A HingeJoint normally uses the Z axis of body A as the hinge axis, another axis can be specified when adding it manually though.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="angular_limit/bias" type="float" setter="set_param" getter="get_param">
+ <member name="angular_limit/bias" type="float" setter="set_param" getter="get_param" default="0.3">
The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
</member>
- <member name="angular_limit/enable" type="bool" setter="set_flag" getter="get_flag">
+ <member name="angular_limit/enable" type="bool" setter="set_flag" getter="get_flag" default="false">
If [code]true[/code], the hinges maximum and minimum rotation, defined by [member angular_limit/lower] and [member angular_limit/upper] has effects.
</member>
- <member name="angular_limit/lower" type="float" setter="_set_lower_limit" getter="_get_lower_limit">
- The minimum rotation. only active if [member angular_limit/enable] is [code]true[/code].
+ <member name="angular_limit/lower" type="float" setter="_set_lower_limit" getter="_get_lower_limit" default="-90.0">
+ The minimum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
</member>
- <member name="angular_limit/relaxation" type="float" setter="set_param" getter="get_param">
+ <member name="angular_limit/relaxation" type="float" setter="set_param" getter="get_param" default="1.0">
The lower this value, the more the rotation gets slowed down.
</member>
- <member name="angular_limit/softness" type="float" setter="set_param" getter="get_param">
+ <member name="angular_limit/softness" type="float" setter="set_param" getter="get_param" default="0.9">
</member>
- <member name="angular_limit/upper" type="float" setter="_set_upper_limit" getter="_get_upper_limit">
- The maximum rotation. only active if [member angular_limit/enable] is [code]true[/code].
+ <member name="angular_limit/upper" type="float" setter="_set_upper_limit" getter="_get_upper_limit" default="90.0">
+ The maximum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
</member>
- <member name="motor/enable" type="bool" setter="set_flag" getter="get_flag">
+ <member name="motor/enable" type="bool" setter="set_flag" getter="get_flag" default="false">
When activated, a motor turns the hinge.
</member>
- <member name="motor/max_impulse" type="float" setter="set_param" getter="get_param">
+ <member name="motor/max_impulse" type="float" setter="set_param" getter="get_param" default="1.0">
Maximum acceleration for the motor.
</member>
- <member name="motor/target_velocity" type="float" setter="set_param" getter="get_param">
+ <member name="motor/target_velocity" type="float" setter="set_param" getter="get_param" default="1.0">
Target speed for the motor.
</member>
- <member name="params/bias" type="float" setter="set_param" getter="get_param">
+ <member name="params/bias" type="float" setter="set_param" getter="get_param" default="0.3">
The speed with which the two bodies get pulled together when they move in different directions.
</member>
</members>
@@ -46,10 +46,10 @@
The speed with which the two bodies get pulled together when they move in different directions.
</constant>
<constant name="PARAM_LIMIT_UPPER" value="1" enum="Param">
- The maximum rotation. only active if [member angular_limit/enable] is [code]true[/code].
+ The maximum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
</constant>
<constant name="PARAM_LIMIT_LOWER" value="2" enum="Param">
- The minimum rotation. only active if [member angular_limit/enable] is [code]true[/code].
+ The minimum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
</constant>
<constant name="PARAM_LIMIT_BIAS" value="3" enum="Param">
The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
@@ -66,7 +66,7 @@
Maximum acceleration for the motor.
</constant>
<constant name="PARAM_MAX" value="8" enum="Param">
- End flag of PARAM_* constants, used internally.
+ Represents the size of the [enum Param] enum.
</constant>
<constant name="FLAG_USE_LIMIT" value="0" enum="Flag">
If [code]true[/code], the hinges maximum and minimum rotation, defined by [member angular_limit/lower] and [member angular_limit/upper] has effects.
@@ -75,7 +75,7 @@
When activated, a motor turns the hinge.
</constant>
<constant name="FLAG_MAX" value="2" enum="Flag">
- End flag of FLAG_* constants, used internally.
+ Represents the size of the [enum Flag] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/IP.xml b/doc/classes/IP.xml
index 65b1700333..b8b5f0bd39 100644
--- a/doc/classes/IP.xml
+++ b/doc/classes/IP.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="IP" inherits="Object" category="Core" version="3.2">
<brief_description>
- Internet protocol (IP) support functions like DNS resolution.
+ Internet protocol (IP) support functions such as DNS resolution.
</brief_description>
<description>
IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see [StreamPeerTCP] and [TCP_Server]). IP provides DNS hostname resolution support, both blocking and threaded.
@@ -15,7 +15,7 @@
<argument index="0" name="hostname" type="String" default="&quot;&quot;">
</argument>
<description>
- Removes all of a "hostname"'s cached references. If no "hostname" is given then all cached IP addresses are removed.
+ Removes all of a [code]hostname[/code]'s cached references. If no [code]hostname[/code] is given, all cached IP addresses are removed.
</description>
</method>
<method name="erase_resolve_item">
@@ -24,7 +24,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Removes a given item "id" from the queue. This should be used to free a queue after it has completed to enable more queries to happen.
+ Removes a given item [code]id[/code] from the queue. This should be used to free a queue after it has completed to enable more queries to happen.
</description>
</method>
<method name="get_local_addresses" qualifiers="const">
@@ -56,7 +56,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns a queued hostname's IP address, given its queue "id". Returns an empty string on error or if resolution hasn't happened yet (see [method get_resolve_item_status]).
+ Returns a queued hostname's IP address, given its queue [code]id[/code]. Returns an empty string on error or if resolution hasn't happened yet (see [method get_resolve_item_status]).
</description>
</method>
<method name="get_resolve_item_status" qualifiers="const">
@@ -65,7 +65,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns a queued hostname's status as a RESOLVER_STATUS_* constant, given its queue "id".
+ Returns a queued hostname's status as a [code]RESOLVER_STATUS_*[/code] constant, given its queue [code]id[/code].
</description>
</method>
<method name="resolve_hostname">
@@ -76,7 +76,7 @@
<argument index="1" name="ip_type" type="int" enum="IP.Type" default="3">
</argument>
<description>
- Returns a given hostname's IPv4 or IPv6 address when resolved (blocking-type method). The address type returned depends on the TYPE_* constant given as "ip_type".
+ Returns a given hostname's IPv4 or IPv6 address when resolved (blocking-type method). The address type returned depends on the [code]TYPE_*[/code] constant given as [code]ip_type[/code].
</description>
</method>
<method name="resolve_hostname_queue_item">
@@ -87,7 +87,7 @@
<argument index="1" name="ip_type" type="int" enum="IP.Type" default="3">
</argument>
<description>
- Creates a queue item to resolve a hostname to an IPv4 or IPv6 address depending on the TYPE_* constant given as "ip_type". Returns the queue ID if successful, or RESOLVER_INVALID_ID on error.
+ Creates a queue item to resolve a hostname to an IPv4 or IPv6 address depending on the [code]TYPE_*[/code] constant given as [code]ip_type[/code]. Returns the queue ID if successful, or [constant RESOLVER_INVALID_ID] on error.
</description>
</method>
</methods>
@@ -105,10 +105,10 @@
DNS hostname resolver status: Error.
</constant>
<constant name="RESOLVER_MAX_QUERIES" value="32">
- Maximum number of concurrent DNS resolver queries allowed, [code]RESOLVER_INVALID_ID[/code] is returned if exceeded.
+ Maximum number of concurrent DNS resolver queries allowed, [constant RESOLVER_INVALID_ID] is returned if exceeded.
</constant>
<constant name="RESOLVER_INVALID_ID" value="-1">
- Invalid ID constant. Returned if [code]RESOLVER_MAX_QUERIES[/code] is exceeded.
+ Invalid ID constant. Returned if [constant RESOLVER_MAX_QUERIES] is exceeded.
</constant>
<constant name="TYPE_NONE" value="0" enum="Type">
Address type: None.
diff --git a/doc/classes/IP_Unix.xml b/doc/classes/IP_Unix.xml
index 4e09bf5dc0..2a97c40ef8 100644
--- a/doc/classes/IP_Unix.xml
+++ b/doc/classes/IP_Unix.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="IP_Unix" inherits="IP" category="Core" version="3.2">
<brief_description>
- Unix IP support. See [IP].
+ UNIX IP support. See [IP].
</brief_description>
<description>
- Unix-specific implementation of IP support functions. See [IP].
+ UNIX-specific implementation of IP support functions. See [IP].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml
index 75434b031e..65d5fbedc3 100644
--- a/doc/classes/Image.xml
+++ b/doc/classes/Image.xml
@@ -123,7 +123,7 @@
<argument index="3" name="format" type="int" enum="Image.Format">
</argument>
<description>
- Creates an empty image of given size and format. See [code]FORMAT_*[/code] constants. If [code]use_mipmaps[/code] is [code]true[/code] then generate mipmaps for this image. See the [code]generate_mipmaps[/code] method.
+ Creates an empty image of given size and format. See [code]FORMAT_*[/code] constants. If [code]use_mipmaps[/code] is [code]true[/code] then generate mipmaps for this image. See the [method generate_mipmaps].
</description>
</method>
<method name="create_from_data">
@@ -140,7 +140,7 @@
<argument index="4" name="data" type="PoolByteArray">
</argument>
<description>
- Creates a new image of given size and format. See [code]FORMAT_*[/code] constants. Fills the image with the given raw data. If [code]use_mipmaps[/code] is [code]true[/code] then generate mipmaps for this image. See the [code]generate_mipmaps[/code] method.
+ Creates a new image of given size and format. See [code]FORMAT_*[/code] constants. Fills the image with the given raw data. If [code]use_mipmaps[/code] is [code]true[/code] then generate mipmaps for this image. See the [method generate_mipmaps].
</description>
</method>
<method name="crop">
@@ -469,7 +469,13 @@
</method>
</methods>
<members>
- <member name="data" type="Dictionary" setter="_set_data" getter="_get_data">
+ <member name="data" type="Dictionary" setter="_set_data" getter="_get_data" default="{
+&quot;data&quot;: PoolByteArray( ),
+&quot;format&quot;: &quot;Lum8&quot;,
+&quot;height&quot;: 0,
+&quot;mipmaps&quot;: false,
+&quot;width&quot;: 0
+}">
Holds all of the image's color data in a given format. See [code]FORMAT_*[/code] constants.
</member>
</members>
@@ -485,125 +491,141 @@
<constant name="FORMAT_LA8" value="1" enum="Format">
</constant>
<constant name="FORMAT_R8" value="2" enum="Format">
- OpenGL texture format RED with a single component and a bitdepth of 8.
+ OpenGL texture format [code]RED[/code] with a single component and a bitdepth of 8.
</constant>
<constant name="FORMAT_RG8" value="3" enum="Format">
- OpenGL texture format RG with two components and a bitdepth of 8 for each.
+ OpenGL texture format [code]RG[/code] with two components and a bitdepth of 8 for each.
</constant>
<constant name="FORMAT_RGB8" value="4" enum="Format">
- OpenGL texture format RGB with three components, each with a bitdepth of 8. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ OpenGL texture format [code]RGB[/code] with three components, each with a bitdepth of 8.
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_RGBA8" value="5" enum="Format">
- OpenGL texture format RGBA with four components, each with a bitdepth of 8. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ OpenGL texture format [code]RGBA[/code] with four components, each with a bitdepth of 8.
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_RGBA4444" value="6" enum="Format">
- OpenGL texture format RGBA with four components, each with a bitdepth of 4.
+ OpenGL texture format [code]RGBA[/code] with four components, each with a bitdepth of 4.
</constant>
<constant name="FORMAT_RGBA5551" value="7" enum="Format">
- OpenGL texture format GL_RGB5_A1 where 5 bits of depth for each component of RGB and one bit for alpha.
+ OpenGL texture format [code]GL_RGB5_A1[/code] where 5 bits of depth for each component of RGB and one bit for alpha.
</constant>
<constant name="FORMAT_RF" value="8" enum="Format">
- OpenGL texture format GL_R32F where there's one component, a 32-bit floating-point value.
+ OpenGL texture format [code]GL_R32F[/code] where there's one component, a 32-bit floating-point value.
</constant>
<constant name="FORMAT_RGF" value="9" enum="Format">
- OpenGL texture format GL_RG32F where there are two components, each a 32-bit floating-point values.
+ OpenGL texture format [code]GL_RG32F[/code] where there are two components, each a 32-bit floating-point values.
</constant>
<constant name="FORMAT_RGBF" value="10" enum="Format">
- OpenGL texture format GL_RGB32F where there are three components, each a 32-bit floating-point values.
+ OpenGL texture format [code]GL_RGB32F[/code] where there are three components, each a 32-bit floating-point values.
</constant>
<constant name="FORMAT_RGBAF" value="11" enum="Format">
- OpenGL texture format GL_RGBA32F where there are four components, each a 32-bit floating-point values.
+ OpenGL texture format [code]GL_RGBA32F[/code] where there are four components, each a 32-bit floating-point values.
</constant>
<constant name="FORMAT_RH" value="12" enum="Format">
- OpenGL texture format GL_R32F where there's one component, a 16-bit "half-precision" floating-point value.
+ OpenGL texture format [code]GL_R32F[/code] where there's one component, a 16-bit "half-precision" floating-point value.
</constant>
<constant name="FORMAT_RGH" value="13" enum="Format">
- OpenGL texture format GL_RG32F where there's two components, each a 16-bit "half-precision" floating-point value.
+ OpenGL texture format [code]GL_RG32F[/code] where there are two components, each a 16-bit "half-precision" floating-point value.
</constant>
<constant name="FORMAT_RGBH" value="14" enum="Format">
- OpenGL texture format GL_RGB32F where there's three components, each a 16-bit "half-precision" floating-point value.
+ OpenGL texture format [code]GL_RGB32F[/code] where there are three components, each a 16-bit "half-precision" floating-point value.
</constant>
<constant name="FORMAT_RGBAH" value="15" enum="Format">
- OpenGL texture format GL_RGBA32F where there's four components, each a 16-bit "half-precision" floating-point value.
+ OpenGL texture format [code]GL_RGBA32F[/code] where there are four components, each a 16-bit "half-precision" floating-point value.
</constant>
<constant name="FORMAT_RGBE9995" value="16" enum="Format">
- A special OpenGL texture format where the three color components have 9 bits of precision and all three share a single exponent.
+ A special OpenGL texture format where the three color components have 9 bits of precision and all three share a single 5-bit exponent.
</constant>
<constant name="FORMAT_DXT1" value="17" enum="Format">
- The S3TC texture format that uses Block Compression 1, and is the smallest variation of S3TC, only providing 1 bit of alpha and color data being premultiplied with alpha. More information can be found at https://www.khronos.org/opengl/wiki/S3_Texture_Compression. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] texture format that uses Block Compression 1, and is the smallest variation of S3TC, only providing 1 bit of alpha and color data being premultiplied with alpha.
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_DXT3" value="18" enum="Format">
- The S3TC texture format that uses Block Compression 2, and color data is interpreted as not having been premultiplied by alpha. Well suited for images with sharp alpha transitions between translucent and opaque areas. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] texture format that uses Block Compression 2, and color data is interpreted as not having been premultiplied by alpha. Well suited for images with sharp alpha transitions between translucent and opaque areas.
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_DXT5" value="19" enum="Format">
- The S3TC texture format also known as Block Compression 3 or BC3 that contains 64 bits of alpha channel data followed by 64 bits of DXT1-encoded color data. Color data is not premultiplied by alpha, same as DXT3. DXT5 generally produces superior results for transparency gradients than DXT3. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] texture format also known as Block Compression 3 or BC3 that contains 64 bits of alpha channel data followed by 64 bits of DXT1-encoded color data. Color data is not premultiplied by alpha, same as DXT3. DXT5 generally produces superior results for transparent gradients compared to DXT3.
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_RGTC_R" value="20" enum="Format">
- Texture format that uses Red Green Texture Compression, normalizing the red channel data using the same compression algorithm that DXT5 uses for the alpha channel. More information can be found here https://www.khronos.org/opengl/wiki/Red_Green_Texture_Compression.
+ Texture format that uses [url=https://www.khronos.org/opengl/wiki/Red_Green_Texture_Compression]Red Green Texture Compression[/url], normalizing the red channel data using the same compression algorithm that DXT5 uses for the alpha channel.
</constant>
<constant name="FORMAT_RGTC_RG" value="21" enum="Format">
- Texture format that uses Red Green Texture Compression, normalizing the red and green channel data using the same compression algorithm that DXT5 uses for the alpha channel.
+ Texture format that uses [url=https://www.khronos.org/opengl/wiki/Red_Green_Texture_Compression]Red Green Texture Compression[/url], normalizing the red and green channel data using the same compression algorithm that DXT5 uses for the alpha channel.
</constant>
<constant name="FORMAT_BPTC_RGBA" value="22" enum="Format">
- Texture format that uses BPTC compression with unsigned normalized RGBA components. More information can be found at https://www.khronos.org/opengl/wiki/BPTC_Texture_Compression. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ Texture format that uses [url=https://www.khronos.org/opengl/wiki/BPTC_Texture_Compression]BPTC[/url] compression with unsigned normalized RGBA components.
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_BPTC_RGBF" value="23" enum="Format">
- Texture format that uses BPTC compression with signed floating-point RGB components.
+ Texture format that uses [url=https://www.khronos.org/opengl/wiki/BPTC_Texture_Compression]BPTC[/url] compression with signed floating-point RGB components.
</constant>
<constant name="FORMAT_BPTC_RGBFU" value="24" enum="Format">
- Texture format that uses BPTC compression with unsigned floating-point RGB components.
+ Texture format that uses [url=https://www.khronos.org/opengl/wiki/BPTC_Texture_Compression]BPTC[/url] compression with unsigned floating-point RGB components.
</constant>
<constant name="FORMAT_PVRTC2" value="25" enum="Format">
- Texture format used on PowerVR-supported mobile platforms, uses 2 bit color depth with no alpha. More information on PVRTC can be found here https://en.wikipedia.org/wiki/PVRTC. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ Texture format used on PowerVR-supported mobile platforms, uses 2-bit color depth with no alpha. More information can be found [url=https://en.wikipedia.org/wiki/PVRTC]here[/url].
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_PVRTC2A" value="26" enum="Format">
- Same as PVRTC2, but with an alpha component.
+ Same as [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC2[/url], but with an alpha component.
</constant>
<constant name="FORMAT_PVRTC4" value="27" enum="Format">
- Similar to PVRTC2, but with 4 bit color depth and no alpha.
+ Similar to [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC2[/url], but with 4-bit color depth and no alpha.
</constant>
<constant name="FORMAT_PVRTC4A" value="28" enum="Format">
- Same as PVRTC4, but with an alpha component.
+ Same as [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC4[/url], but with an alpha component.
</constant>
<constant name="FORMAT_ETC" value="29" enum="Format">
- Ericsson Texture Compression format, also referred to as 'ETC1', and is part of the OpenGL ES graphics standard. An overview of the format is given at https://en.wikipedia.org/wiki/Ericsson_Texture_Compression#ETC1.
+ [url=https://en.wikipedia.org/wiki/Ericsson_Texture_Compression#ETC1]Ericsson Texture Compression format 1[/url], also referred to as "ETC1", and is part of the OpenGL ES graphics standard. This format cannot store an alpha channel.
</constant>
<constant name="FORMAT_ETC2_R11" value="30" enum="Format">
- Ericsson Texture Compression format 2 variant R11_EAC, which provides one channel of unsigned data.
+ [url=https://en.wikipedia.org/wiki/Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression format 2[/url] ([code]R11_EAC[/code] variant), which provides one channel of unsigned data.
</constant>
<constant name="FORMAT_ETC2_R11S" value="31" enum="Format">
- Ericsson Texture Compression format 2 variant SIGNED_R11_EAC, which provides one channel of signed data.
+ [url=https://en.wikipedia.org/wiki/Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression format 2[/url] ([code]SIGNED_R11_EAC[/code] variant), which provides one channel of signed data.
</constant>
<constant name="FORMAT_ETC2_RG11" value="32" enum="Format">
- Ericsson Texture Compression format 2 variant RG11_EAC, which provides two channels of unsigned data.
+ [url=https://en.wikipedia.org/wiki/Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression format 2[/url] ([code]RG11_EAC[/code] variant), which provides two channels of unsigned data.
</constant>
<constant name="FORMAT_ETC2_RG11S" value="33" enum="Format">
- Ericsson Texture Compression format 2 variant SIGNED_RG11_EAC, which provides two channels of signed data.
+ [url=https://en.wikipedia.org/wiki/Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression format 2[/url] ([code]SIGNED_RG11_EAC[/code] variant), which provides two channels of signed data.
</constant>
<constant name="FORMAT_ETC2_RGB8" value="34" enum="Format">
- Ericsson Texture Compression format 2 variant RGB8, which is a followup of ETC1 and compresses RGB888 data. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ [url=https://en.wikipedia.org/wiki/Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression format 2[/url] ([code]RGB8[/code] variant), which is a follow-up of ETC1 and compresses RGB888 data.
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_ETC2_RGBA8" value="35" enum="Format">
- Ericsson Texture Compression format 2 variant RGBA8, which compresses RGBA8888 data with full alpha support. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ [url=https://en.wikipedia.org/wiki/Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression format 2[/url] ([code]RGBA8[/code]variant), which compresses RGBA8888 data with full alpha support.
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_ETC2_RGB8A1" value="36" enum="Format">
- Ericsson Texture Compression format 2 variant RGB8_PUNCHTHROUGH_ALPHA1, which compresses RGBA data to make alpha either fully transparent or fully opaque. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed.
+ [url=https://en.wikipedia.org/wiki/Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression format 2[/url] ([code]RGB8_PUNCHTHROUGH_ALPHA1[/code] variant), which compresses RGBA data to make alpha either fully transparent or fully opaque.
+ [b]Note:[/b] When creating an [ImageTexture], an sRGB to linear color space conversion is performed.
</constant>
<constant name="FORMAT_MAX" value="37" enum="Format">
+ Represents the size of the [enum Format] enum.
</constant>
<constant name="INTERPOLATE_NEAREST" value="0" enum="Interpolation">
+ Performs nearest-neighbor interpolation. If the image is resized, it will be pixelated.
</constant>
<constant name="INTERPOLATE_BILINEAR" value="1" enum="Interpolation">
+ Performs bilinear interpolation. If the image is resized, it will be blurry. This mode is faster than [constant INTERPOLATE_CUBIC], but it results in lower quality.
</constant>
<constant name="INTERPOLATE_CUBIC" value="2" enum="Interpolation">
+ Performs cubic interpolation. If the image is resized, it will be blurry. This mode often gives better results compared to [constant INTERPOLATE_BILINEAR], at the cost of being slower.
</constant>
<constant name="INTERPOLATE_TRILINEAR" value="3" enum="Interpolation">
- Performs bilinear separately on the two most suited mipmap levels, then linearly interpolates between them.
- It's slower than [code]INTERPOLATE_BILINEAR[/code], but produces higher quality results, with much less aliasing artifacts.
- If the image does not have mipmaps, they will be generated and used internally, but no mipmaps will be generated on the resulting image. (Note that if you intend to scale multiple copies of the original image, it's better to call [code]generate_mipmaps[/code] on it in advance, to avoid wasting processing power in generating them again and again.)
+ Performs bilinear separately on the two most-suited mipmap levels, then linearly interpolates between them.
+ It's slower than [constant INTERPOLATE_BILINEAR], but produces higher-quality results with much less aliasing artifacts.
+ If the image does not have mipmaps, they will be generated and used internally, but no mipmaps will be generated on the resulting image.
+ [b]Note:[/b] If you intend to scale multiple copies of the original image, it's better to call [method generate_mipmaps]] on it in advance, to avoid wasting processing power in generating them again and again.
On the other hand, if the image already has mipmaps, they will be used, and a new set will be generated for the resulting image.
</constant>
<constant name="INTERPOLATE_LANCZOS" value="4" enum="Interpolation">
+ Performs Lanczos interpolation. This is the slowest image resizing mode, but it typically gives the best results, especially when downscalng images.
</constant>
<constant name="ALPHA_NONE" value="0" enum="AlphaMode">
</constant>
diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml
index e5a8fee767..0a09b96ba7 100644
--- a/doc/classes/ImageTexture.xml
+++ b/doc/classes/ImageTexture.xml
@@ -58,7 +58,7 @@
<argument index="0" name="image" type="Image">
</argument>
<description>
- Set the [Image] of this [ImageTexture].
+ Sets the [Image] of this [ImageTexture].
</description>
</method>
<method name="set_size_override">
@@ -72,10 +72,10 @@
</method>
</methods>
<members>
- <member name="lossy_quality" type="float" setter="set_lossy_storage_quality" getter="get_lossy_storage_quality">
- The storage quality for [code]STORAGE_COMPRESS_LOSSY[/code].
+ <member name="lossy_quality" type="float" setter="set_lossy_storage_quality" getter="get_lossy_storage_quality" default="0.7">
+ The storage quality for [constant STORAGE_COMPRESS_LOSSY].
</member>
- <member name="storage" type="int" setter="set_storage" getter="get_storage" enum="ImageTexture.Storage">
+ <member name="storage" type="int" setter="set_storage" getter="get_storage" enum="ImageTexture.Storage" default="0">
The storage type (raw, lossy, or compressed).
</member>
</members>
diff --git a/doc/classes/ImmediateGeometry.xml b/doc/classes/ImmediateGeometry.xml
index ca45fc5f9e..ddfd3d74d5 100644
--- a/doc/classes/ImmediateGeometry.xml
+++ b/doc/classes/ImmediateGeometry.xml
@@ -21,7 +21,7 @@
<argument index="3" name="add_uv" type="bool" default="true">
</argument>
<description>
- Simple helper to draw a uvsphere, with given latitudes, longitude and radius.
+ Simple helper to draw an UV sphere with given latitude, longitude and radius.
</description>
</method>
<method name="add_vertex">
@@ -42,7 +42,7 @@
</argument>
<description>
Begin drawing (And optionally pass a texture override). When done call end(). For more information on how this works, search for glBegin() glEnd() references.
- For the type of primitive, use the [Mesh].PRIMITIVE_* enumerations.
+ For the type of primitive, use the [Mesh].[code]PRIMITIVE_*[/code] enumerations.
</description>
</method>
<method name="clear">
diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml
index 9c41e4bf1d..efd8d33faf 100644
--- a/doc/classes/Input.xml
+++ b/doc/classes/Input.xml
@@ -4,7 +4,7 @@
A Singleton that deals with inputs.
</brief_description>
<description>
- A Singleton that deals with inputs. This includes key presses, mouse buttons and movement, joypads, and input actions. Actions and their events can be set in the Project Settings / Input Map tab. Or be set with [InputMap].
+ A Singleton that deals with inputs. This includes key presses, mouse buttons and movement, joypads, and input actions. Actions and their events can be set in the [b]Input Map[/b] tab in the [b]Project &gt; Project Settings[/b], or with the [InputMap] class.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/inputs/index.html</link>
@@ -39,7 +39,7 @@
<argument index="1" name="update_existing" type="bool" default="false">
</argument>
<description>
- Add a new mapping entry (in SDL2 format) to the mapping database. Optionally update already connected devices.
+ Adds a new mapping entry (in SDL2 format) to the mapping database. Optionally update already connected devices.
</description>
</method>
<method name="get_accelerometer" qualifiers="const">
@@ -83,7 +83,7 @@
<return type="Vector3">
</return>
<description>
- If the device has a gyroscope, this will return the rate of rotation in rad/s around a device's x, y, and z axis. Otherwise, it returns an empty [Vector3].
+ If the device has a gyroscope, this will return the rate of rotation in rad/s around a device's X, Y, and Z axes. Otherwise, it returns an empty [Vector3].
</description>
</method>
<method name="get_joy_axis" qualifiers="const">
@@ -130,7 +130,7 @@
<argument index="0" name="button_index" type="int">
</argument>
<description>
- Receives a joy button from [enum JoystickList] and returns its equivalent name as a string.
+ Receives a gamepad button from [enum JoystickList] and returns its equivalent name as a string.
</description>
</method>
<method name="get_joy_guid" qualifiers="const">
@@ -139,7 +139,7 @@
<argument index="0" name="device" type="int">
</argument>
<description>
- Returns a SDL2 compatible device guid on platforms that use gamepad remapping. Returns "Default Gamepad" otherwise.
+ Returns a SDL2-compatible device GUID on platforms that use gamepad remapping. Returns [code]"Default Gamepad"[/code] otherwise.
</description>
</method>
<method name="get_joy_name">
@@ -148,7 +148,7 @@
<argument index="0" name="device" type="int">
</argument>
<description>
- Returns the name of the joypad at the specified device index
+ Returns the name of the joypad at the specified device index.
</description>
</method>
<method name="get_joy_vibration_duration">
@@ -187,7 +187,7 @@
<return type="int">
</return>
<description>
- Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at the same time the bits are added together.
+ Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at the same time, the bits are added together.
</description>
</method>
<method name="get_mouse_mode" qualifiers="const">
@@ -292,7 +292,7 @@
<argument index="0" name="guid" type="String">
</argument>
<description>
- Removes all mappings from the internal db that match the given uid.
+ Removes all mappings from the internal database that match the given GUID.
</description>
</method>
<method name="set_custom_mouse_cursor">
@@ -306,7 +306,7 @@
</argument>
<description>
Sets a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified. Passing [code]null[/code] to the image parameter resets to the system cursor. See enum [code]CURSOR_*[/code] for the list of shapes.
- [code]image[/code]'s size must be lower than 256x256.
+ [code]image[/code]'s size must be lower than 256×256.
[code]hotspot[/code] must be within [code]image[/code]'s size.
</description>
</method>
@@ -316,8 +316,8 @@
<argument index="0" name="shape" type="int" enum="Input.CursorShape" default="0">
</argument>
<description>
- Sets the default cursor shape to be used in the viewport instead of [code]CURSOR_ARROW[/code].
- Note that if you want to change the default cursor shape for [Control]'s nodes, use [member Control.mouse_default_cursor_shape] instead.
+ Sets the default cursor shape to be used in the viewport instead of [constant CURSOR_ARROW].
+ [b]Note:[/b] If you want to change the default cursor shape for [Control]'s nodes, use [member Control.mouse_default_cursor_shape] instead.
</description>
</method>
<method name="set_mouse_mode">
@@ -326,7 +326,7 @@
<argument index="0" name="mode" type="int" enum="Input.MouseMode">
</argument>
<description>
- Set the mouse mode. See the constants for more information.
+ Sets the mouse mode. See the constants for more information.
</description>
</method>
<method name="set_use_accumulated_input">
@@ -335,7 +335,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
- Whether to accumulate similar input events sent by the operating system. Defaults to [code]true[/code].
+ Whether to accumulate similar input events sent by the operating system. Enabled by default.
</description>
</method>
<method name="start_joy_vibration">
@@ -350,8 +350,8 @@
<argument index="3" name="duration" type="float" default="0">
</argument>
<description>
- Starts to vibrate the joypad. Joypads usually come with two rumble motors, a strong and a weak one. weak_magnitude is the strength of the weak motor (between 0 and 1) and strong_magnitude is the strength of the strong motor (between 0 and 1). duration is the duration of the effect in seconds (a duration of 0 will try to play the vibration indefinitely).
- Note that not every hardware is compatible with long effect durations, it is recommended to restart an effect if in need to play it for more than a few seconds.
+ Starts to vibrate the joypad. Joypads usually come with two rumble motors, a strong and a weak one. [code]weak_magnitude[/code] is the strength of the weak motor (between 0 and 1) and [code]strong_magnitude[/code] is the strength of the strong motor (between 0 and 1). [code]duration[/code] is the duration of the effect in seconds (a duration of 0 will try to play the vibration indefinitely).
+ [b]Note:[/b] Not every hardware is compatible with long effect durations; it is recommended to restart an effect if it has to be played for more than a few seconds.
</description>
</method>
<method name="stop_joy_vibration">
@@ -392,7 +392,7 @@
Makes the mouse cursor hidden if it is visible.
</constant>
<constant name="MOUSE_MODE_CAPTURED" value="2" enum="MouseMode">
- Captures the mouse. The mouse will be hidden and unable to leave the game window. But it will still register movement and mouse button presses.
+ Captures the mouse. The mouse will be hidden and unable to leave the game window, but it will still register movement and mouse button presses.
</constant>
<constant name="MOUSE_MODE_CONFINED" value="3" enum="MouseMode">
Makes the mouse cursor visible but confines it to the game window.
@@ -410,10 +410,10 @@
Cross cursor. Typically appears over regions in which a drawing operation can be performed or for selections.
</constant>
<constant name="CURSOR_WAIT" value="4" enum="CursorShape">
- Wait cursor. Indicates that the application is busy performing an operation.
+ Wait cursor. Indicates that the application is busy performing an operation. This cursor shape denotes that the application is still usable during the operation.
</constant>
<constant name="CURSOR_BUSY" value="5" enum="CursorShape">
- Busy cursor. See [code]CURSOR_WAIT[/code].
+ Busy cursor. Indicates that the application is busy performing an operation. This cursor shape denotes that the application isn't usable during the operation (e.g. something is blocking its main thread).
</constant>
<constant name="CURSOR_DRAG" value="6" enum="CursorShape">
Drag cursor. Usually displayed when dragging something.
@@ -425,25 +425,25 @@
Forbidden cursor. Indicates that the current action is forbidden (for example, when dragging something) or that the control at a position is disabled.
</constant>
<constant name="CURSOR_VSIZE" value="9" enum="CursorShape">
- Vertical resize mouse cursor. A double headed vertical arrow. It tells the user they can resize the window or the panel vertically.
+ Vertical resize mouse cursor. A double-headed vertical arrow. It tells the user they can resize the window or the panel vertically.
</constant>
<constant name="CURSOR_HSIZE" value="10" enum="CursorShape">
- Horizontal resize mouse cursor. A double headed horizontal arrow. It tells the user they can resize the window or the panel horizontally.
+ Horizontal resize mouse cursor. A double-headed horizontal arrow. It tells the user they can resize the window or the panel horizontally.
</constant>
<constant name="CURSOR_BDIAGSIZE" value="11" enum="CursorShape">
- Window resize mouse cursor. The cursor is a double headed arrow that goes from the bottom left to the top right. It tells the user they can resize the window or the panel both horizontally and vertically.
+ Window resize mouse cursor. The cursor is a double-headed arrow that goes from the bottom left to the top right. It tells the user they can resize the window or the panel both horizontally and vertically.
</constant>
<constant name="CURSOR_FDIAGSIZE" value="12" enum="CursorShape">
- Window resize mouse cursor. The cursor is a double headed arrow that goes from the top left to the bottom right, the opposite of [code]CURSOR_BDIAGSIZE[/code]. It tells the user they can resize the window or the panel both horizontally and vertically.
+ Window resize mouse cursor. The cursor is a double-headed arrow that goes from the top left to the bottom right, the opposite of [constant CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel both horizontally and vertically.
</constant>
<constant name="CURSOR_MOVE" value="13" enum="CursorShape">
Move cursor. Indicates that something can be moved.
</constant>
<constant name="CURSOR_VSPLIT" value="14" enum="CursorShape">
- Vertical split mouse cursor. On Windows, it's the same as [code]CURSOR_VSIZE[/code].
+ Vertical split mouse cursor. On Windows, it's the same as [constant CURSOR_VSIZE].
</constant>
<constant name="CURSOR_HSPLIT" value="15" enum="CursorShape">
- Horizontal split mouse cursor. On Windows, it's the same as [code]CURSOR_HSIZE[/code].
+ Horizontal split mouse cursor. On Windows, it's the same as [constant CURSOR_HSIZE].
</constant>
<constant name="CURSOR_HELP" value="16" enum="CursorShape">
Help cursor. Usually a question mark.
diff --git a/doc/classes/InputEvent.xml b/doc/classes/InputEvent.xml
index 934597d0c6..f2c00908f6 100644
--- a/doc/classes/InputEvent.xml
+++ b/doc/classes/InputEvent.xml
@@ -49,7 +49,7 @@
<argument index="0" name="action" type="String">
</argument>
<description>
- Returns [code]true[/code] if the given action is being pressed (and is not an echo event for KEY events). Not relevant for the event types [code]MOUSE_MOTION[/code], [code]SCREEN_DRAG[/code] or [code]NONE[/code].
+ Returns [code]true[/code] if the given action is being pressed (and is not an echo event for [InputEventKey] events). Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag].
</description>
</method>
<method name="is_action_released" qualifiers="const">
@@ -58,28 +58,28 @@
<argument index="0" name="action" type="String">
</argument>
<description>
- Returns [code]true[/code] if the given action is released (i.e. not pressed). Not relevant for the event types [code]MOUSE_MOTION[/code], [code]SCREEN_DRAG[/code] or [code]NONE[/code].
+ Returns [code]true[/code] if the given action is released (i.e. not pressed). Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag].
</description>
</method>
<method name="is_action_type" qualifiers="const">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if this input event's type is one of the [InputEvent] constants.
+ Returns [code]true[/code] if this input event's type is one that can be assigned to an input action.
</description>
</method>
<method name="is_echo" qualifiers="const">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if this input event is an echo event (only for events of type KEY).
+ Returns [code]true[/code] if this input event is an echo event (only for events of type [InputEventKey]).
</description>
</method>
<method name="is_pressed" qualifiers="const">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if this input event is pressed. Not relevant for the event types [code]MOUSE_MOTION[/code], [code]SCREEN_DRAG[/code] or [code]NONE[/code].
+ Returns [code]true[/code] if this input event is pressed. Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag].
</description>
</method>
<method name="shortcut_match" qualifiers="const">
@@ -102,7 +102,7 @@
</method>
</methods>
<members>
- <member name="device" type="int" setter="set_device" getter="get_device">
+ <member name="device" type="int" setter="set_device" getter="get_device" default="0">
The event's device ID.
</member>
</members>
diff --git a/doc/classes/InputEventAction.xml b/doc/classes/InputEventAction.xml
index 9df7bbca74..46c47e357f 100644
--- a/doc/classes/InputEventAction.xml
+++ b/doc/classes/InputEventAction.xml
@@ -4,7 +4,7 @@
Input event type for actions.
</brief_description>
<description>
- Contains a generic action which can be targeted from several type of inputs. Actions can be created from the project settings menu [code]Project &gt; Project Settings &gt; Input Map[/code]. See [method Node._input].
+ Contains a generic action which can be targeted from several types of inputs. Actions can be created from the [b]Input Map[/b] tab in the [b]Project &gt; Project Settings[/b] menu. See [method Node._input].
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/inputs/inputevent.html#actions</link>
@@ -12,14 +12,14 @@
<methods>
</methods>
<members>
- <member name="action" type="String" setter="set_action" getter="get_action">
+ <member name="action" type="String" setter="set_action" getter="get_action" default="&quot;&quot;">
The action's name. Actions are accessed via this [String].
</member>
- <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed">
+ <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
If [code]true[/code], the action's state is pressed. If [code]false[/code], the action's state is released.
</member>
- <member name="strength" type="float" setter="set_strength" getter="get_strength">
- The action's strength between 0 and 1. This value is consired as equal to 0 if pressed is [code]false[/code]. The event strength allows faking analog joypad motion events, by precising how strongly is the joypad axis bent or pressed.
+ <member name="strength" type="float" setter="set_strength" getter="get_strength" default="1.0">
+ The action's strength between 0 and 1. This value is considered as equal to 0 if pressed is [code]false[/code]. The event strength allows faking analog joypad motion events, by precising how strongly is the joypad axis bent or pressed.
</member>
</members>
<constants>
diff --git a/doc/classes/InputEventGesture.xml b/doc/classes/InputEventGesture.xml
index b1abf04b51..59750a0902 100644
--- a/doc/classes/InputEventGesture.xml
+++ b/doc/classes/InputEventGesture.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="position" type="Vector2" setter="set_position" getter="get_position">
+ <member name="position" type="Vector2" setter="set_position" getter="get_position" default="Vector2( 0, 0 )">
</member>
</members>
<constants>
diff --git a/doc/classes/InputEventJoypadButton.xml b/doc/classes/InputEventJoypadButton.xml
index 78cd55b79a..dcdda83681 100644
--- a/doc/classes/InputEventJoypadButton.xml
+++ b/doc/classes/InputEventJoypadButton.xml
@@ -4,7 +4,7 @@
Input event for gamepad buttons.
</brief_description>
<description>
- Input event type for gamepad buttons. For joysticks see [InputEventJoypadMotion].
+ Input event type for gamepad buttons. For gamepad analog sticks and joysticks, see [InputEventJoypadMotion].
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/inputs/inputevent.html</link>
@@ -12,13 +12,13 @@
<methods>
</methods>
<members>
- <member name="button_index" type="int" setter="set_button_index" getter="get_button_index">
+ <member name="button_index" type="int" setter="set_button_index" getter="get_button_index" default="0">
Button identifier. One of the [enum JoystickList] button constants.
</member>
- <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed">
+ <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
If [code]true[/code], the button's state is pressed. If [code]false[/code], the button's state is released.
</member>
- <member name="pressure" type="float" setter="set_pressure" getter="get_pressure">
+ <member name="pressure" type="float" setter="set_pressure" getter="get_pressure" default="0.0">
Represents the pressure the user puts on the button with his finger, if the controller supports it. Ranges from [code]0[/code] to [code]1[/code].
</member>
</members>
diff --git a/doc/classes/InputEventJoypadMotion.xml b/doc/classes/InputEventJoypadMotion.xml
index 5330b2a6e0..eb05cd2f99 100644
--- a/doc/classes/InputEventJoypadMotion.xml
+++ b/doc/classes/InputEventJoypadMotion.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="InputEventJoypadMotion" inherits="InputEvent" category="Core" version="3.2">
<brief_description>
- Input event type for gamepad joysticks and other motions. For buttons see [code]InputEventJoypadButton[/code].
+ Input event type for gamepad joysticks and other motions. For buttons, see [code]InputEventJoypadButton[/code].
</brief_description>
<description>
Stores information about joystick motions. One [InputEventJoypadMotion] represents one axis at a time.
@@ -12,10 +12,10 @@
<methods>
</methods>
<members>
- <member name="axis" type="int" setter="set_axis" getter="get_axis">
+ <member name="axis" type="int" setter="set_axis" getter="get_axis" default="0">
Axis identifier. Use one of the [enum JoystickList] axis constants.
</member>
- <member name="axis_value" type="float" setter="set_axis_value" getter="get_axis_value">
+ <member name="axis_value" type="float" setter="set_axis_value" getter="get_axis_value" default="0.0">
Current position of the joystick on the given axis. The value ranges from [code]-1.0[/code] to [code]1.0[/code]. A value of [code]0[/code] means the axis is in its resting position.
</member>
</members>
diff --git a/doc/classes/InputEventKey.xml b/doc/classes/InputEventKey.xml
index 53b1f74bd4..cf9faaa26d 100644
--- a/doc/classes/InputEventKey.xml
+++ b/doc/classes/InputEventKey.xml
@@ -19,17 +19,17 @@
</method>
</methods>
<members>
- <member name="echo" type="bool" setter="set_echo" getter="is_echo">
+ <member name="echo" type="bool" setter="set_echo" getter="is_echo" default="false">
If [code]true[/code], the key was already pressed before this event. It means the user is holding the key down.
</member>
- <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed">
+ <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
If [code]true[/code], the key's state is pressed. If [code]false[/code], the key's state is released.
</member>
- <member name="scancode" type="int" setter="set_scancode" getter="get_scancode">
+ <member name="scancode" type="int" setter="set_scancode" getter="get_scancode" default="0">
Key scancode, one of the [enum KeyList] constants.
</member>
- <member name="unicode" type="int" setter="set_unicode" getter="get_unicode">
- Key unicode identifier when relevant. Unicode identifiers for the composite characters and complex scripts may not be available unless IME input mode is active. See [method OS.set_ime_active] for more information.
+ <member name="unicode" type="int" setter="set_unicode" getter="get_unicode" default="0">
+ Key Unicode identifier when relevant. Unicode identifiers for the composite characters and complex scripts may not be available unless IME input mode is active. See [method OS.set_ime_active] for more information.
</member>
</members>
<constants>
diff --git a/doc/classes/InputEventMIDI.xml b/doc/classes/InputEventMIDI.xml
index 5ded362bc7..fe77e46c6c 100644
--- a/doc/classes/InputEventMIDI.xml
+++ b/doc/classes/InputEventMIDI.xml
@@ -9,21 +9,21 @@
<methods>
</methods>
<members>
- <member name="channel" type="int" setter="set_channel" getter="get_channel">
+ <member name="channel" type="int" setter="set_channel" getter="get_channel" default="0">
</member>
- <member name="controller_number" type="int" setter="set_controller_number" getter="get_controller_number">
+ <member name="controller_number" type="int" setter="set_controller_number" getter="get_controller_number" default="0">
</member>
- <member name="controller_value" type="int" setter="set_controller_value" getter="get_controller_value">
+ <member name="controller_value" type="int" setter="set_controller_value" getter="get_controller_value" default="0">
</member>
- <member name="instrument" type="int" setter="set_instrument" getter="get_instrument">
+ <member name="instrument" type="int" setter="set_instrument" getter="get_instrument" default="0">
</member>
- <member name="message" type="int" setter="set_message" getter="get_message">
+ <member name="message" type="int" setter="set_message" getter="get_message" default="0">
</member>
- <member name="pitch" type="int" setter="set_pitch" getter="get_pitch">
+ <member name="pitch" type="int" setter="set_pitch" getter="get_pitch" default="0">
</member>
- <member name="pressure" type="int" setter="set_pressure" getter="get_pressure">
+ <member name="pressure" type="int" setter="set_pressure" getter="get_pressure" default="0">
</member>
- <member name="velocity" type="int" setter="set_velocity" getter="get_velocity">
+ <member name="velocity" type="int" setter="set_velocity" getter="get_velocity" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/InputEventMagnifyGesture.xml b/doc/classes/InputEventMagnifyGesture.xml
index 8f01f6f486..f5add435f5 100644
--- a/doc/classes/InputEventMagnifyGesture.xml
+++ b/doc/classes/InputEventMagnifyGesture.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="factor" type="float" setter="set_factor" getter="get_factor">
+ <member name="factor" type="float" setter="set_factor" getter="get_factor" default="1.0">
</member>
</members>
<constants>
diff --git a/doc/classes/InputEventMouse.xml b/doc/classes/InputEventMouse.xml
index 8ba272d470..56ba33702b 100644
--- a/doc/classes/InputEventMouse.xml
+++ b/doc/classes/InputEventMouse.xml
@@ -12,14 +12,14 @@
<methods>
</methods>
<members>
- <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask">
- Mouse button mask identifier, one of or a bitwise combination of the [enum ButtonList] button masks.
+ <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" default="0">
+ The mouse button mask identifier, one of or a bitwise combination of the [enum ButtonList] button masks.
</member>
- <member name="global_position" type="Vector2" setter="set_global_position" getter="get_global_position">
- Mouse position relative to the current [Viewport] when used in [method Control._gui_input], otherwise is at 0,0.
+ <member name="global_position" type="Vector2" setter="set_global_position" getter="get_global_position" default="Vector2( 0, 0 )">
+ The global mouse position relative to the current [Viewport] when used in [method Control._gui_input], otherwise is at 0,0.
</member>
- <member name="position" type="Vector2" setter="set_position" getter="get_position">
- Mouse local position relative to the [Viewport]. If used in [method Control._gui_input] the position is relative to the current [Control] which is under the mouse.
+ <member name="position" type="Vector2" setter="set_position" getter="get_position" default="Vector2( 0, 0 )">
+ The local mouse position relative to the [Viewport]. If used in [method Control._gui_input], the position is relative to the current [Control] which is under the mouse.
</member>
</members>
<constants>
diff --git a/doc/classes/InputEventMouseButton.xml b/doc/classes/InputEventMouseButton.xml
index 99e25d2c6f..4cf7174ab1 100644
--- a/doc/classes/InputEventMouseButton.xml
+++ b/doc/classes/InputEventMouseButton.xml
@@ -12,16 +12,16 @@
<methods>
</methods>
<members>
- <member name="button_index" type="int" setter="set_button_index" getter="get_button_index">
- Mouse button identifier, one of the [enum ButtonList] button or button wheel constants.
+ <member name="button_index" type="int" setter="set_button_index" getter="get_button_index" default="0">
+ The mouse button identifier, one of the [enum ButtonList] button or button wheel constants.
</member>
- <member name="doubleclick" type="bool" setter="set_doubleclick" getter="is_doubleclick">
+ <member name="doubleclick" type="bool" setter="set_doubleclick" getter="is_doubleclick" default="false">
If [code]true[/code], the mouse button's state is a double-click.
</member>
- <member name="factor" type="float" setter="set_factor" getter="get_factor">
- Magnitude. Amount (or delta) of the event. Used for scroll events, indicates scroll amount (vertically or horizontally). Only supported on some platforms, sensitivity varies by platform. May be 0 if not supported.
+ <member name="factor" type="float" setter="set_factor" getter="get_factor" default="1.0">
+ The amount (or delta) of the event. When used for high-precision scroll events, this indicates the scroll amount (vertical or horizontal). This is only supported on some platforms; the reported sensitivity varies depending on the platform. May be [code]0[/code] if not supported.
</member>
- <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed">
+ <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
If [code]true[/code], the mouse button's state is pressed. If [code]false[/code], the mouse button's state is released.
</member>
</members>
diff --git a/doc/classes/InputEventMouseMotion.xml b/doc/classes/InputEventMouseMotion.xml
index 3df47177dc..fab4cc0fb9 100644
--- a/doc/classes/InputEventMouseMotion.xml
+++ b/doc/classes/InputEventMouseMotion.xml
@@ -12,11 +12,11 @@
<methods>
</methods>
<members>
- <member name="relative" type="Vector2" setter="set_relative" getter="get_relative">
- Mouse position relative to the previous position (position at the last frame).
+ <member name="relative" type="Vector2" setter="set_relative" getter="get_relative" default="Vector2( 0, 0 )">
+ The mouse position relative to the previous position (position at the last frame).
</member>
- <member name="speed" type="Vector2" setter="set_speed" getter="get_speed">
- Mouse speed.
+ <member name="speed" type="Vector2" setter="set_speed" getter="get_speed" default="Vector2( 0, 0 )">
+ The mouse speed in pixels per second.
</member>
</members>
<constants>
diff --git a/doc/classes/InputEventPanGesture.xml b/doc/classes/InputEventPanGesture.xml
index 8a2fa74597..dab2c74543 100644
--- a/doc/classes/InputEventPanGesture.xml
+++ b/doc/classes/InputEventPanGesture.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="delta" type="Vector2" setter="set_delta" getter="get_delta">
+ <member name="delta" type="Vector2" setter="set_delta" getter="get_delta" default="Vector2( 0, 0 )">
</member>
</members>
<constants>
diff --git a/doc/classes/InputEventScreenDrag.xml b/doc/classes/InputEventScreenDrag.xml
index 36e47ee51a..be2eafbe7c 100644
--- a/doc/classes/InputEventScreenDrag.xml
+++ b/doc/classes/InputEventScreenDrag.xml
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="InputEventScreenDrag" inherits="InputEvent" category="Core" version="3.2">
<brief_description>
- Input event type for screen drag events.
- (only available on mobile devices)
+ Input event type for screen drag events. Only available on mobile devices.
</brief_description>
<description>
Contains screen drag information. See [method Node._input].
@@ -13,17 +12,17 @@
<methods>
</methods>
<members>
- <member name="index" type="int" setter="set_index" getter="get_index">
- Drag event index in the case of a multi-drag event.
+ <member name="index" type="int" setter="set_index" getter="get_index" default="0">
+ The drag event index in the case of a multi-drag event.
</member>
- <member name="position" type="Vector2" setter="set_position" getter="get_position">
- Drag position.
+ <member name="position" type="Vector2" setter="set_position" getter="get_position" default="Vector2( 0, 0 )">
+ The drag position.
</member>
- <member name="relative" type="Vector2" setter="set_relative" getter="get_relative">
- Drag position relative to its start position.
+ <member name="relative" type="Vector2" setter="set_relative" getter="get_relative" default="Vector2( 0, 0 )">
+ The drag position relative to its start position.
</member>
- <member name="speed" type="Vector2" setter="set_speed" getter="get_speed">
- Drag speed.
+ <member name="speed" type="Vector2" setter="set_speed" getter="get_speed" default="Vector2( 0, 0 )">
+ The drag speed.
</member>
</members>
<constants>
diff --git a/doc/classes/InputEventScreenTouch.xml b/doc/classes/InputEventScreenTouch.xml
index 8f537f12bc..6239fbc949 100644
--- a/doc/classes/InputEventScreenTouch.xml
+++ b/doc/classes/InputEventScreenTouch.xml
@@ -13,13 +13,13 @@
<methods>
</methods>
<members>
- <member name="index" type="int" setter="set_index" getter="get_index">
- Touch index in the case of a multi-touch event. One index = one finger.
+ <member name="index" type="int" setter="set_index" getter="get_index" default="0">
+ The touch index in the case of a multi-touch event. One index = one finger.
</member>
- <member name="position" type="Vector2" setter="set_position" getter="get_position">
- Touch position.
+ <member name="position" type="Vector2" setter="set_position" getter="get_position" default="Vector2( 0, 0 )">
+ The touch position.
</member>
- <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed">
+ <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
If [code]true[/code], the touch's state is pressed. If [code]false[/code], the touch's state is released.
</member>
</members>
diff --git a/doc/classes/InputEventWithModifiers.xml b/doc/classes/InputEventWithModifiers.xml
index de120446fb..9b31dd4639 100644
--- a/doc/classes/InputEventWithModifiers.xml
+++ b/doc/classes/InputEventWithModifiers.xml
@@ -4,7 +4,7 @@
Base class for keys events with modifiers.
</brief_description>
<description>
- Contains keys events information with modifiers support like [code]SHIFT[/code] or [code]ALT[/code]. See [method Node._input].
+ Contains keys events information with modifiers support like [code]Shift[/code] or [code]Alt[/code]. See [method Node._input].
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/inputs/inputevent.html</link>
@@ -12,20 +12,20 @@
<methods>
</methods>
<members>
- <member name="alt" type="bool" setter="set_alt" getter="get_alt">
- State of the Alt modifier.
+ <member name="alt" type="bool" setter="set_alt" getter="get_alt" default="false">
+ State of the [code]Alt[/code] modifier.
</member>
- <member name="command" type="bool" setter="set_command" getter="get_command">
- State of the Command modifier.
+ <member name="command" type="bool" setter="set_command" getter="get_command" default="false">
+ State of the [code]Command[/code] modifier.
</member>
- <member name="control" type="bool" setter="set_control" getter="get_control">
- State of the Ctrl modifier.
+ <member name="control" type="bool" setter="set_control" getter="get_control" default="false">
+ State of the [code]Ctrl[/code] modifier.
</member>
- <member name="meta" type="bool" setter="set_metakey" getter="get_metakey">
- State of the Meta modifier.
+ <member name="meta" type="bool" setter="set_metakey" getter="get_metakey" default="false">
+ State of the [code]Meta[/code] modifier.
</member>
- <member name="shift" type="bool" setter="set_shift" getter="get_shift">
- State of the Shift modifier.
+ <member name="shift" type="bool" setter="set_shift" getter="get_shift" default="false">
+ State of the [code]Shift[/code] modifier.
</member>
</members>
<constants>
diff --git a/doc/classes/InputMap.xml b/doc/classes/InputMap.xml
index bb29a09d22..6bbb402b15 100644
--- a/doc/classes/InputMap.xml
+++ b/doc/classes/InputMap.xml
@@ -4,7 +4,7 @@
Singleton that manages [InputEventAction].
</brief_description>
<description>
- Manages all [InputEventAction] which can be created/modified from the project settings menu [code]Project &gt; Project Settings &gt; Input Map[/code] or in code with [method add_action] and [method action_add_event]. See [method Node._input].
+ Manages all [InputEventAction] which can be created/modified from the project settings menu [b]Project &gt; Project Settings &gt; Input Map[/b] or in code with [method add_action] and [method action_add_event]. See [method Node._input].
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/inputs/inputevent.html#inputmap</link>
diff --git a/doc/classes/InstancePlaceholder.xml b/doc/classes/InstancePlaceholder.xml
index c4752c735d..4b98166ef2 100644
--- a/doc/classes/InstancePlaceholder.xml
+++ b/doc/classes/InstancePlaceholder.xml
@@ -24,7 +24,7 @@
<return type="String">
</return>
<description>
- Retrieve the path to the [PackedScene] resource file that is loaded by default when calling [method replace_by_instance].
+ Gets the path to the [PackedScene] resource file that is loaded by default when calling [method replace_by_instance].
</description>
</method>
<method name="get_stored_values">
@@ -41,7 +41,7 @@
<argument index="0" name="custom_scene" type="PackedScene" default="null">
</argument>
<description>
- Replace this placeholder by the scene handed as an argument, or the original scene if no argument is given. As for all resources, the scene is loaded only if it's not loaded already. By manually loading the scene beforehand, delays caused by this function can be avoided.
+ Replaces this placeholder by the scene handed as an argument, or the original scene if no argument is given. As for all resources, the scene is loaded only if it's not loaded already. By manually loading the scene beforehand, delays caused by this function can be avoided.
</description>
</method>
</methods>
diff --git a/doc/classes/InterpolatedCamera.xml b/doc/classes/InterpolatedCamera.xml
index d124ea707a..ca3a5d0733 100644
--- a/doc/classes/InterpolatedCamera.xml
+++ b/doc/classes/InterpolatedCamera.xml
@@ -21,13 +21,13 @@
</method>
</methods>
<members>
- <member name="enabled" type="bool" setter="set_interpolation_enabled" getter="is_interpolation_enabled">
+ <member name="enabled" type="bool" setter="set_interpolation_enabled" getter="is_interpolation_enabled" default="false">
If [code]true[/code], and a target is set, the camera will move automatically.
</member>
- <member name="speed" type="float" setter="set_speed" getter="get_speed">
+ <member name="speed" type="float" setter="set_speed" getter="get_speed" default="1.0">
How quickly the camera moves toward its target. Higher values will result in tighter camera motion.
</member>
- <member name="target" type="NodePath" setter="set_target_path" getter="get_target_path">
+ <member name="target" type="NodePath" setter="set_target_path" getter="get_target_path" default="NodePath(&quot;&quot;)">
The target's [NodePath].
</member>
</members>
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index d78c930351..95c0e663ce 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
This control provides a selectable list of items that may be in a single (or multiple columns) with option of text, icons, or both text and icon. Tooltips are supported and may be different for every item in the list.
- Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be 'activated' with a double click (or Enter key).
+ Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be "activated" by double-clicking them or by pressing Enter.
</description>
<tutorials>
</tutorials>
@@ -31,15 +31,15 @@
<argument index="2" name="selectable" type="bool" default="true">
</argument>
<description>
- Adds an item to the item list with specified text. Specify an icon of null for a list item with no icon.
- If selectable is [code]true[/code] the list item will be selectable.
+ Adds an item to the item list with specified text. Specify an [code]icon[/code], or use [code]null[/code] as the [code]icon[/code] for a list item with no icon.
+ If selectable is [code]true[/code], the list item will be selectable.
</description>
</method>
<method name="clear">
<return type="void">
</return>
<description>
- Remove all items from the list.
+ Removes all items from the list.
</description>
</method>
<method name="ensure_current_is_visible">
@@ -73,7 +73,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the custom background color of the item specified by [code]idx[/code] index. Default value is [code]Color(0, 0, 0, 0)[/code].
+ Returns the custom background color of the item specified by [code]idx[/code] index.
</description>
</method>
<method name="get_item_custom_fg_color" qualifiers="const">
@@ -82,7 +82,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the custom foreground color of the item specified by [code]idx[/code] index. Default value is [code]Color(0, 0, 0, 0)[/code].
+ Returns the custom foreground color of the item specified by [code]idx[/code] index.
</description>
</method>
<method name="get_item_icon" qualifiers="const">
@@ -91,7 +91,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the icon associated with the specified index. Default value is [code]null[/code]
+ Returns the icon associated with the specified index.
</description>
</method>
<method name="get_item_icon_modulate" qualifiers="const">
@@ -165,7 +165,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns whether or not the item at the specified index is disabled.
+ Returns [code]true[/code] if the item at the specified index is disabled.
</description>
</method>
<method name="is_item_icon_transposed" qualifiers="const">
@@ -182,7 +182,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns whether or not the item at the specified index is selectable.
+ Returns [code]true[/code] if the item at the specified index is selectable.
</description>
</method>
<method name="is_item_tooltip_enabled" qualifiers="const">
@@ -191,7 +191,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns whether the tooltip is enabled for specified item index.
+ Returns [code]true[/code] if the tooltip is enabled for specified item index.
</description>
</method>
<method name="is_selected" qualifiers="const">
@@ -200,7 +200,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns whether or not item at the specified index is currently selected.
+ Returns [code]true[/code] if the item at the specified index is currently selected.
</description>
</method>
<method name="move_item">
@@ -232,7 +232,7 @@
</argument>
<description>
Select the item at the specified index.
- Note: This method does not trigger the item selection signal.
+ [b]Note:[/b] This method does not trigger the item selection signal.
</description>
</method>
<method name="set_item_custom_bg_color">
@@ -273,8 +273,8 @@
<argument index="1" name="disabled" type="bool">
</argument>
<description>
- Disable (or enable) item at the specified index.
- Disabled items are not be selectable and do not trigger activation (Enter or double-click) signals.
+ Disables (or enables) the item at the specified index.
+ Disabled items cannot be selected and do not trigger activation signals (when double-clicking or pressing Enter).
</description>
</method>
<method name="set_item_icon">
@@ -285,7 +285,7 @@
<argument index="1" name="icon" type="Texture">
</argument>
<description>
- Set (or replace) the icon's [Texture] associated with the specified index.
+ Sets (or replaces) the icon's [Texture] associated with the specified index.
</description>
</method>
<method name="set_item_icon_modulate">
@@ -338,7 +338,7 @@
<argument index="1" name="selectable" type="bool">
</argument>
<description>
- Allow or disallow selection of the item associated with the specified index.
+ Allows or disallows selection of the item associated with the specified index.
</description>
</method>
<method name="set_item_text">
@@ -360,7 +360,7 @@
<argument index="1" name="tooltip" type="String">
</argument>
<description>
- Sets tooltip hint for the item associated with the specified index.
+ Sets the tooltip hint for the item associated with the specified index.
</description>
</method>
<method name="set_item_tooltip_enabled">
@@ -387,51 +387,49 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Ensure the item associated with the specified index is not selected.
+ Ensures the item associated with the specified index is not selected.
</description>
</method>
<method name="unselect_all">
<return type="void">
</return>
<description>
- Ensure there are no items selected.
+ Ensures there are no items selected.
</description>
</method>
</methods>
<members>
- <member name="allow_reselect" type="bool" setter="set_allow_reselect" getter="get_allow_reselect">
+ <member name="allow_reselect" type="bool" setter="set_allow_reselect" getter="get_allow_reselect" default="false">
If [code]true[/code], the currently selected item can be selected again.
</member>
- <member name="allow_rmb_select" type="bool" setter="set_allow_rmb_select" getter="get_allow_rmb_select">
+ <member name="allow_rmb_select" type="bool" setter="set_allow_rmb_select" getter="get_allow_rmb_select" default="false">
If [code]true[/code], right mouse button click can select items.
</member>
- <member name="auto_height" type="bool" setter="set_auto_height" getter="has_auto_height">
+ <member name="auto_height" type="bool" setter="set_auto_height" getter="has_auto_height" default="false">
If [code]true[/code], the control will automatically resize the height to fit its content.
</member>
- <member name="fixed_column_width" type="int" setter="set_fixed_column_width" getter="get_fixed_column_width">
- Sets the default column width in pixels.
- If left to default value, each item will have a width equal to the width of its content and the columns will have an uneven width.
+ <member name="fixed_column_width" type="int" setter="set_fixed_column_width" getter="get_fixed_column_width" default="0">
+ Sets the default column width in pixels. If left to default value, each item will have a width equal to the width of its content and the columns will have an uneven width.
</member>
- <member name="fixed_icon_size" type="Vector2" setter="set_fixed_icon_size" getter="get_fixed_icon_size">
+ <member name="fixed_icon_size" type="Vector2" setter="set_fixed_icon_size" getter="get_fixed_icon_size" default="Vector2( 0, 0 )">
Sets the default icon size in pixels.
</member>
- <member name="icon_mode" type="int" setter="set_icon_mode" getter="get_icon_mode" enum="ItemList.IconMode">
+ <member name="icon_mode" type="int" setter="set_icon_mode" getter="get_icon_mode" enum="ItemList.IconMode" default="1">
Sets the default position of the icon to either [constant ICON_MODE_LEFT] or [constant ICON_MODE_TOP].
</member>
- <member name="icon_scale" type="float" setter="set_icon_scale" getter="get_icon_scale">
- Sets the icon size to its initial size multiplied by the specified scale. Default value is 1.0.
+ <member name="icon_scale" type="float" setter="set_icon_scale" getter="get_icon_scale" default="1.0">
+ Sets the icon size to its initial size multiplied by the specified scale.
</member>
- <member name="max_columns" type="int" setter="set_max_columns" getter="get_max_columns">
- Sets the maximum columns the list will have.
- If set to anything other than the default, the content will be split among the specified columns.
+ <member name="max_columns" type="int" setter="set_max_columns" getter="get_max_columns" default="1">
+ Sets the maximum columns the list will have. If set to anything other than the default, the content will be split among the specified columns.
</member>
- <member name="max_text_lines" type="int" setter="set_max_text_lines" getter="get_max_text_lines">
+ <member name="max_text_lines" type="int" setter="set_max_text_lines" getter="get_max_text_lines" default="1">
</member>
- <member name="same_column_width" type="bool" setter="set_same_column_width" getter="is_same_column_width">
+ <member name="same_column_width" type="bool" setter="set_same_column_width" getter="is_same_column_width" default="false">
If set to [code]true[/code], all columns will have the same width specified by [member fixed_column_width].
</member>
- <member name="select_mode" type="int" setter="set_select_mode" getter="get_select_mode" enum="ItemList.SelectMode">
- Allow single or multiple item selection. See the [enum SelectMode] constants.
+ <member name="select_mode" type="int" setter="set_select_mode" getter="get_select_mode" enum="ItemList.SelectMode" default="0">
+ Allows single or multiple item selection. See the [enum SelectMode] constants.
</member>
</members>
<signals>
@@ -439,7 +437,7 @@
<argument index="0" name="index" type="int">
</argument>
<description>
- Triggered when specified list item is activated via double click or Enter.
+ Triggered when specified list item is activated via double-clicking or by pressing Enter.
</description>
</signal>
<signal name="item_rmb_selected">
@@ -449,8 +447,7 @@
</argument>
<description>
Triggered when specified list item has been selected via right mouse clicking.
- The click position is also provided to allow appropriate popup of context menus
- at the correct location.
+ The click position is also provided to allow appropriate popup of context menus at the correct location.
[member allow_rmb_select] must be enabled.
</description>
</signal>
@@ -491,8 +488,10 @@
<constant name="ICON_MODE_LEFT" value="1" enum="IconMode">
</constant>
<constant name="SELECT_SINGLE" value="0" enum="SelectMode">
+ Only allow selecting a single item.
</constant>
<constant name="SELECT_MULTI" value="1" enum="SelectMode">
+ Allows selecting multiple items by holding Ctrl or Shift.
</constant>
</constants>
<theme_items>
@@ -506,23 +505,23 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.627451, 0.627451, 0.627451, 1 )">
</theme_item>
- <theme_item name="font_color_selected" type="Color">
+ <theme_item name="font_color_selected" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="guide_color" type="Color">
+ <theme_item name="guide_color" type="Color" default="Color( 0, 0, 0, 0.1 )">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="4">
</theme_item>
- <theme_item name="icon_margin" type="int">
+ <theme_item name="icon_margin" type="int" default="4">
</theme_item>
- <theme_item name="line_separation" type="int">
+ <theme_item name="line_separation" type="int" default="2">
</theme_item>
<theme_item name="selected" type="StyleBox">
</theme_item>
<theme_item name="selected_focus" type="StyleBox">
</theme_item>
- <theme_item name="vseparation" type="int">
+ <theme_item name="vseparation" type="int" default="2">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/JSON.xml b/doc/classes/JSON.xml
index cb62a1e88e..e834f5cb39 100644
--- a/doc/classes/JSON.xml
+++ b/doc/classes/JSON.xml
@@ -28,7 +28,7 @@
<argument index="2" name="sort_keys" type="bool" default="false">
</argument>
<description>
- Converts a Variant var to JSON text and returns the result. Useful for serializing data to store or send over the network.
+ Converts a [Variant] var to JSON text and returns the result. Useful for serializing data to store or send over the network.
</description>
</method>
</methods>
diff --git a/doc/classes/JSONParseResult.xml b/doc/classes/JSONParseResult.xml
index c9caa5c5d4..98db123f5b 100644
--- a/doc/classes/JSONParseResult.xml
+++ b/doc/classes/JSONParseResult.xml
@@ -4,7 +4,7 @@
Data class wrapper for decoded JSON.
</brief_description>
<description>
- Returned by [method JSON.parse], [JSONParseResult] contains decoded JSON or error information if JSON source not successfully parsed. You can check if JSON source was successfully parsed with [code]if json_result.error == OK[/code].
+ Returned by [method JSON.parse], [JSONParseResult] contains the decoded JSON or error information if the JSON source wasn't successfully parsed. You can check if the JSON source was successfully parsed with [code]if json_result.error == OK[/code].
</description>
<tutorials>
</tutorials>
@@ -12,22 +12,22 @@
</methods>
<members>
<member name="error" type="int" setter="set_error" getter="get_error" enum="Error">
- The error type if JSON source was not successfully parsed. See [@GlobalScope] ERR_* constants.
+ The error type if the JSON source was not successfully parsed. See the [@GlobalScope] [code]ERR_*[/code] constants.
</member>
- <member name="error_line" type="int" setter="set_error_line" getter="get_error_line">
+ <member name="error_line" type="int" setter="set_error_line" getter="get_error_line" default="-1">
The line number where the error occurred if JSON source was not successfully parsed.
</member>
- <member name="error_string" type="String" setter="set_error_string" getter="get_error_string">
- The error message if JSON source was not successfully parsed. See [@GlobalScope] ERR_* constants.
+ <member name="error_string" type="String" setter="set_error_string" getter="get_error_string" default="&quot;&quot;">
+ The error message if JSON source was not successfully parsed. See the [@GlobalScope] [code]ERR_*[/code] constants.
</member>
<member name="result" type="Variant" setter="set_result" getter="get_result">
- A [Variant] containing the parsed JSON. Use typeof() to check if it is what you expect. For example, if JSON source starts with curly braces ([code]{}[/code]) a [Dictionary] will be returned, if JSON source starts with braces ([code][][/code]) an [Array] will be returned.
- [i]Be aware that the JSON specification does not define integer or float types, but only a number type. Therefore, parsing a JSON text will convert all numerical values to float types.[/i]
- Note that JSON objects do not preserve key order like Godot dictionaries, thus you should not rely on keys being in a certain order if a dictionary is constructed from JSON. In contrast, JSON arrays retain the order of their elements:[/i]
+ A [Variant] containing the parsed JSON. Use [method @GDScript.typeof] or the [code]is[/code] keyword to check if it is what you expect. For example, if the JSON source starts with curly braces ([code]{}[/code]), a [Dictionary] will be returned. If the JSON source starts with braces ([code][][/code]), an [Array] will be returned.
+ [b]Note:[/b] The JSON specification does not define integer or float types, but only a number type. Therefore, parsing a JSON text will convert all numerical values to float types.
+ [b]Note:[/b] JSON objects do not preserve key order like Godot dictionaries, thus, you should not rely on keys being in a certain order if a dictionary is constructed from JSON. In contrast, JSON arrays retain the order of their elements:
[codeblock]
var p = JSON.parse('["hello", "world", "!"]')
if typeof(p.result) == TYPE_ARRAY:
- print(p.result[0]) # prints 'hello'
+ print(p.result[0]) # Prints "hello"
else:
print("unexpected results")
[/codeblock]
diff --git a/doc/classes/JavaScript.xml b/doc/classes/JavaScript.xml
index 68b6831103..7737001a6c 100644
--- a/doc/classes/JavaScript.xml
+++ b/doc/classes/JavaScript.xml
@@ -4,7 +4,7 @@
Singleton that connects the engine with the browser's JavaScript context in HTML5 export.
</brief_description>
<description>
- The JavaScript singleton is implemented only in HTML5 export. It's used to access the browser's JavaScript context. This allows interaction with embedding pages or calling third-party JavaScript APIs.
+ The JavaScript singleton is implemented only in the HTML5 export. It's used to access the browser's JavaScript context. This allows interaction with embedding pages or calling third-party JavaScript APIs.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/getting_started/workflow/export/exporting_for_web.html#calling-javascript-from-script</link>
diff --git a/doc/classes/Joint.xml b/doc/classes/Joint.xml
index 5cd59852df..fe50cdac10 100644
--- a/doc/classes/Joint.xml
+++ b/doc/classes/Joint.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Joint" inherits="Spatial" category="Core" version="3.2">
<brief_description>
- Base class for all 3D joints
+ Base class for all 3D joints.
</brief_description>
<description>
Joints are used to bind together two physics bodies. They have a solver priority and can define if the bodies of the two attached nodes should be able to collide with each other.
@@ -11,16 +11,16 @@
<methods>
</methods>
<members>
- <member name="collision/exclude_nodes" type="bool" setter="set_exclude_nodes_from_collision" getter="get_exclude_nodes_from_collision">
+ <member name="collision/exclude_nodes" type="bool" setter="set_exclude_nodes_from_collision" getter="get_exclude_nodes_from_collision" default="true">
If [code]true[/code], the two bodies of the nodes are not able to collide with each other.
</member>
- <member name="nodes/node_a" type="NodePath" setter="set_node_a" getter="get_node_a">
+ <member name="nodes/node_a" type="NodePath" setter="set_node_a" getter="get_node_a" default="NodePath(&quot;&quot;)">
The node attached to the first side (A) of the joint.
</member>
- <member name="nodes/node_b" type="NodePath" setter="set_node_b" getter="get_node_b">
+ <member name="nodes/node_b" type="NodePath" setter="set_node_b" getter="get_node_b" default="NodePath(&quot;&quot;)">
The node attached to the second side (B) of the joint.
</member>
- <member name="solver/priority" type="int" setter="set_solver_priority" getter="get_solver_priority">
+ <member name="solver/priority" type="int" setter="set_solver_priority" getter="get_solver_priority" default="1">
The priority used to define which solver is executed first for multiple joints. The lower the value, the higher the priority.
</member>
</members>
diff --git a/doc/classes/Joint2D.xml b/doc/classes/Joint2D.xml
index b700bbd991..63d083d470 100644
--- a/doc/classes/Joint2D.xml
+++ b/doc/classes/Joint2D.xml
@@ -11,16 +11,16 @@
<methods>
</methods>
<members>
- <member name="bias" type="float" setter="set_bias" getter="get_bias">
- When [member node_a] and [member node_b] move in different directions the [code]bias[/code] controls how fast the joint pulls them back to their original position. The lower the [code]bias[/code] the more the two bodies can pull on the joint. Default value: [code]0[/code]
+ <member name="bias" type="float" setter="set_bias" getter="get_bias" default="0.0">
+ When [member node_a] and [member node_b] move in different directions the [code]bias[/code] controls how fast the joint pulls them back to their original position. The lower the [code]bias[/code] the more the two bodies can pull on the joint.
</member>
- <member name="disable_collision" type="bool" setter="set_exclude_nodes_from_collision" getter="get_exclude_nodes_from_collision">
- If [code]true[/code], [member node_a] and [member node_b] can collide. Default value: [code]false[/code].
+ <member name="disable_collision" type="bool" setter="set_exclude_nodes_from_collision" getter="get_exclude_nodes_from_collision" default="true">
+ If [code]true[/code], [member node_a] and [member node_b] can collide.
</member>
- <member name="node_a" type="NodePath" setter="set_node_a" getter="get_node_a">
+ <member name="node_a" type="NodePath" setter="set_node_a" getter="get_node_a" default="NodePath(&quot;&quot;)">
The first body attached to the joint. Must derive from [PhysicsBody2D].
</member>
- <member name="node_b" type="NodePath" setter="set_node_b" getter="get_node_b">
+ <member name="node_b" type="NodePath" setter="set_node_b" getter="get_node_b" default="NodePath(&quot;&quot;)">
The second body attached to the joint. Must derive from [PhysicsBody2D].
</member>
</members>
diff --git a/doc/classes/KinematicBody.xml b/doc/classes/KinematicBody.xml
index 8ea3d8c188..b4e6b0abab 100644
--- a/doc/classes/KinematicBody.xml
+++ b/doc/classes/KinematicBody.xml
@@ -4,9 +4,9 @@
Kinematic body 3D node.
</brief_description>
<description>
- Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all (to other types of bodies, such a character or a rigid body, these are the same as a static body). They have however, two main uses:
- Simulated Motion: When these bodies are moved manually, either from code or from an AnimationPlayer (with process mode set to fixed), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
- Kinematic Characters: KinematicBody also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics.
+ Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a character or a rigid body, these are the same as a static body. However, they have two main uses:
+ [b]Simulated motion:[/b] When these bodies are moved manually, either from code or from an AnimationPlayer (with process mode set to fixed), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
+ [b]Kinematic characters:[/b] KinematicBody also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/physics/kinematic_character_2d.html</link>
@@ -94,7 +94,7 @@
If [code]stop_on_slope[/code] is [code]true[/code], body will not slide on slopes if you include gravity in [code]linear_velocity[/code].
If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops.
[code]floor_max_angle[/code] is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
- If [code]infinite_inertia[/code] is [code]true[/code], body will be able to push [RigidBody] nodes, but it won't also detect any collisions with them. If [code]false[/code] it will interact with [RigidBody] nodes like with [StaticBody].
+ If [code]infinite_inertia[/code] is [code]true[/code], body will be able to push [RigidBody] nodes, but it won't also detect any collisions with them. If [code]false[/code], it will interact with [RigidBody] nodes like with [StaticBody].
Returns the [code]linear_velocity[/code] vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use [method get_slide_collision].
</description>
</method>
@@ -135,17 +135,17 @@
</method>
</methods>
<members>
- <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin">
+ <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin" default="0.001">
If the body is at least this close to another body, this body will consider them to be colliding.
</member>
- <member name="move_lock_x" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- Lock the body's movement in the x-axis.
+ <member name="move_lock_x" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false">
+ Lock the body's X axis movement.
</member>
- <member name="move_lock_y" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- Lock the body's movement in the y-axis.
+ <member name="move_lock_y" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false">
+ Lock the body's Y axis movement.
</member>
- <member name="move_lock_z" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- Lock the body's movement in the z-axis.
+ <member name="move_lock_z" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false">
+ Lock the body's Z axis movement.
</member>
</members>
<constants>
diff --git a/doc/classes/KinematicBody2D.xml b/doc/classes/KinematicBody2D.xml
index b7ff4bac84..39d84c6e31 100644
--- a/doc/classes/KinematicBody2D.xml
+++ b/doc/classes/KinematicBody2D.xml
@@ -4,9 +4,9 @@
Kinematic body 2D node.
</brief_description>
<description>
- Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all (to other types of bodies, such a character or a rigid body, these are the same as a static body). They have however, two main uses:
- Simulated Motion: When these bodies are moved manually, either from code or from an AnimationPlayer (with process mode set to fixed), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
- Kinematic Characters: KinematicBody2D also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics.
+ Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a character or a rigid body, these are the same as a static body. However, they have two main uses:
+ [b]Simulated motion:[/b] When these bodies are moved manually, either from code or from an AnimationPlayer (with process mode set to fixed), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
+ [b]Kinematic characters:[/b] KinematicBody2D also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/physics/kinematic_character_2d.html</link>
@@ -27,7 +27,7 @@
</argument>
<description>
Returns a [KinematicCollision2D], which contains information about a collision that occurred during the last [method move_and_slide] call. Since the body can collide several times in a single call to [method move_and_slide], you must specify the index of the collision in the range 0 to ([method get_slide_count] - 1).
- Example usage:
+ [b]Example usage:[/b]
[codeblock]
for i in get_slide_count():
var collision = get_slide_collision(i)
@@ -100,7 +100,7 @@
If [code]stop_on_slope[/code] is [code]true[/code], body will not slide on slopes when you include gravity in [code]linear_velocity[/code] and the body is standing still.
If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops.
[code]floor_max_angle[/code] is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
- If [code]infinite_inertia[/code] is [code]true[/code], body will be able to push [RigidBody2D] nodes, but it won't also detect any collisions with them. If [code]false[/code] it will interact with [RigidBody2D] nodes like with [StaticBody2D].
+ If [code]infinite_inertia[/code] is [code]true[/code], body will be able to push [RigidBody2D] nodes, but it won't also detect any collisions with them. If [code]false[/code], it will interact with [RigidBody2D] nodes like with [StaticBody2D].
Returns the [code]linear_velocity[/code] vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use [method get_slide_collision].
</description>
</method>
@@ -141,10 +141,10 @@
</method>
</methods>
<members>
- <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin">
+ <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin" default="0.08">
If the body is at least this close to another body, this body will consider them to be colliding.
</member>
- <member name="motion/sync_to_physics" type="bool" setter="set_sync_to_physics" getter="is_sync_to_physics_enabled">
+ <member name="motion/sync_to_physics" type="bool" setter="set_sync_to_physics" getter="is_sync_to_physics_enabled" default="false">
If [code]true[/code], the body's movement will be synchronized to the physics frame. This is useful when animating movement via [AnimationPlayer], for example on moving platforms. Do [b]not[/b] use together with [method move_and_slide] or [method move_and_collide] functions.
</member>
</members>
diff --git a/doc/classes/KinematicCollision.xml b/doc/classes/KinematicCollision.xml
index 4ce74df767..4ce28b25c9 100644
--- a/doc/classes/KinematicCollision.xml
+++ b/doc/classes/KinematicCollision.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="KinematicCollision" inherits="Reference" category="Core" version="3.2">
<brief_description>
- Collision data for KinematicBody collisions.
+ Collision data for [KinematicBody] collisions.
</brief_description>
<description>
- Contains collision data for KinematicBody collisions. When a [KinematicBody] is moved using [method KinematicBody.move_and_collide], it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision object is returned.
+ Contains collision data for [KinematicBody] collisions. When a [KinematicBody] is moved using [method KinematicBody.move_and_collide], it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision object is returned.
This object contains information about the collision, including the colliding object, the remaining motion, and the collision position. This information can be used to calculate a collision response.
</description>
<tutorials>
@@ -12,37 +12,37 @@
<methods>
</methods>
<members>
- <member name="collider" type="Object" setter="" getter="get_collider">
+ <member name="collider" type="Object" setter="" getter="get_collider" default="null">
The colliding body.
</member>
- <member name="collider_id" type="int" setter="" getter="get_collider_id">
+ <member name="collider_id" type="int" setter="" getter="get_collider_id" default="0">
The colliding body's unique [RID].
</member>
<member name="collider_metadata" type="Variant" setter="" getter="get_collider_metadata">
The colliding body's metadata. See [Object].
</member>
- <member name="collider_shape" type="Object" setter="" getter="get_collider_shape">
+ <member name="collider_shape" type="Object" setter="" getter="get_collider_shape" default="null">
The colliding body's shape.
</member>
- <member name="collider_shape_index" type="int" setter="" getter="get_collider_shape_index">
+ <member name="collider_shape_index" type="int" setter="" getter="get_collider_shape_index" default="0">
The colliding shape's index. See [CollisionObject].
</member>
- <member name="collider_velocity" type="Vector3" setter="" getter="get_collider_velocity">
+ <member name="collider_velocity" type="Vector3" setter="" getter="get_collider_velocity" default="Vector3( 0, 0, 0 )">
The colliding object's velocity.
</member>
- <member name="local_shape" type="Object" setter="" getter="get_local_shape">
+ <member name="local_shape" type="Object" setter="" getter="get_local_shape" default="null">
The moving object's colliding shape.
</member>
- <member name="normal" type="Vector3" setter="" getter="get_normal">
+ <member name="normal" type="Vector3" setter="" getter="get_normal" default="Vector3( 0, 0, 0 )">
The colliding body's shape's normal at the point of collision.
</member>
- <member name="position" type="Vector3" setter="" getter="get_position">
+ <member name="position" type="Vector3" setter="" getter="get_position" default="Vector3( 0, 0, 0 )">
The point of collision.
</member>
- <member name="remainder" type="Vector3" setter="" getter="get_remainder">
+ <member name="remainder" type="Vector3" setter="" getter="get_remainder" default="Vector3( 0, 0, 0 )">
The moving object's remaining movement vector.
</member>
- <member name="travel" type="Vector3" setter="" getter="get_travel">
+ <member name="travel" type="Vector3" setter="" getter="get_travel" default="Vector3( 0, 0, 0 )">
The distance the moving object traveled before collision.
</member>
</members>
diff --git a/doc/classes/KinematicCollision2D.xml b/doc/classes/KinematicCollision2D.xml
index 5a0303b7ba..91cee3d05a 100644
--- a/doc/classes/KinematicCollision2D.xml
+++ b/doc/classes/KinematicCollision2D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="KinematicCollision2D" inherits="Reference" category="Core" version="3.2">
<brief_description>
- Collision data for KinematicBody2D collisions.
+ Collision data for [KinematicBody2D] collisions.
</brief_description>
<description>
- Contains collision data for KinematicBody2D collisions. When a [KinematicBody2D] is moved using [method KinematicBody2D.move_and_collide], it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision2D object is returned.
+ Contains collision data for [KinematicBody2D] collisions. When a [KinematicBody2D] is moved using [method KinematicBody2D.move_and_collide], it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision2D object is returned.
This object contains information about the collision, including the colliding object, the remaining motion, and the collision position. This information can be used to calculate a collision response.
</description>
<tutorials>
@@ -12,37 +12,37 @@
<methods>
</methods>
<members>
- <member name="collider" type="Object" setter="" getter="get_collider">
+ <member name="collider" type="Object" setter="" getter="get_collider" default="null">
The colliding body.
</member>
- <member name="collider_id" type="int" setter="" getter="get_collider_id">
+ <member name="collider_id" type="int" setter="" getter="get_collider_id" default="0">
The colliding body's unique [RID].
</member>
<member name="collider_metadata" type="Variant" setter="" getter="get_collider_metadata">
The colliding body's metadata. See [Object].
</member>
- <member name="collider_shape" type="Object" setter="" getter="get_collider_shape">
+ <member name="collider_shape" type="Object" setter="" getter="get_collider_shape" default="null">
The colliding body's shape.
</member>
- <member name="collider_shape_index" type="int" setter="" getter="get_collider_shape_index">
+ <member name="collider_shape_index" type="int" setter="" getter="get_collider_shape_index" default="0">
The colliding shape's index. See [CollisionObject2D].
</member>
- <member name="collider_velocity" type="Vector2" setter="" getter="get_collider_velocity">
+ <member name="collider_velocity" type="Vector2" setter="" getter="get_collider_velocity" default="Vector2( 0, 0 )">
The colliding object's velocity.
</member>
- <member name="local_shape" type="Object" setter="" getter="get_local_shape">
+ <member name="local_shape" type="Object" setter="" getter="get_local_shape" default="null">
The moving object's colliding shape.
</member>
- <member name="normal" type="Vector2" setter="" getter="get_normal">
+ <member name="normal" type="Vector2" setter="" getter="get_normal" default="Vector2( 0, 0 )">
The colliding body's shape's normal at the point of collision.
</member>
- <member name="position" type="Vector2" setter="" getter="get_position">
+ <member name="position" type="Vector2" setter="" getter="get_position" default="Vector2( 0, 0 )">
The point of collision.
</member>
- <member name="remainder" type="Vector2" setter="" getter="get_remainder">
+ <member name="remainder" type="Vector2" setter="" getter="get_remainder" default="Vector2( 0, 0 )">
The moving object's remaining movement vector.
</member>
- <member name="travel" type="Vector2" setter="" getter="get_travel">
+ <member name="travel" type="Vector2" setter="" getter="get_travel" default="Vector2( 0, 0 )">
The distance the moving object traveled before collision.
</member>
</members>
diff --git a/doc/classes/Label.xml b/doc/classes/Label.xml
index 8d52cae186..72e640adb6 100644
--- a/doc/classes/Label.xml
+++ b/doc/classes/Label.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
Label displays plain text on the screen. It gives you control over the horizontal and vertical alignment, and can wrap the text inside the node's bounding rectangle. It doesn't support bold, italics or other formatting. For that, use [RichTextLabel] instead.
- Note that contrarily to most other [Control]s, Label's [member Control.mouse_filter] defaults to MOUSE_FILTER_IGNORE (i.e. it doesn't react to mouse input events). This implies that a label won't display any configured [member Control.hint_tooltip], unless you change its mouse filter.
+ [b]Note:[/b] Contrarily to most other [Control]s, Label's [member Control.mouse_filter] defaults to [constant Control.MOUSE_FILTER_IGNORE] (i.e. it doesn't react to mouse input events). This implies that a label won't display any configured [member Control.hint_tooltip], unless you change its mouse filter.
</description>
<tutorials>
</tutorials>
@@ -35,39 +35,39 @@
<return type="int">
</return>
<description>
- Returns the number of lines shown. Useful if the [Label] 's height cannot currently display all lines.
+ Returns the number of lines shown. Useful if the [Label]'s height cannot currently display all lines.
</description>
</method>
</methods>
<members>
- <member name="align" type="int" setter="set_align" getter="get_align" enum="Label.Align">
+ <member name="align" type="int" setter="set_align" getter="get_align" enum="Label.Align" default="0">
Controls the text's horizontal align. Supports left, center, right, and fill, or justify. Set it to one of the [code]ALIGN_*[/code] constants.
</member>
- <member name="autowrap" type="bool" setter="set_autowrap" getter="has_autowrap">
- If [code]true[/code], wraps the text inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text. Default: [code]false[/code].
+ <member name="autowrap" type="bool" setter="set_autowrap" getter="has_autowrap" default="false">
+ If [code]true[/code], wraps the text inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text.
</member>
- <member name="clip_text" type="bool" setter="set_clip_text" getter="is_clipping_text">
+ <member name="clip_text" type="bool" setter="set_clip_text" getter="is_clipping_text" default="false">
If [code]true[/code], the Label only shows the text that fits inside its bounding rectangle. It also lets you scale the node down freely.
</member>
- <member name="lines_skipped" type="int" setter="set_lines_skipped" getter="get_lines_skipped">
+ <member name="lines_skipped" type="int" setter="set_lines_skipped" getter="get_lines_skipped" default="0">
The node ignores the first [code]lines_skipped[/code] lines before it starts to display text.
</member>
- <member name="max_lines_visible" type="int" setter="set_max_lines_visible" getter="get_max_lines_visible">
+ <member name="max_lines_visible" type="int" setter="set_max_lines_visible" getter="get_max_lines_visible" default="-1">
Limits the lines of text the node shows on screen.
</member>
- <member name="percent_visible" type="float" setter="set_percent_visible" getter="get_percent_visible">
+ <member name="percent_visible" type="float" setter="set_percent_visible" getter="get_percent_visible" default="1.0">
Limits the count of visible characters. If you set [code]percent_visible[/code] to 50, only up to half of the text's characters will display on screen. Useful to animate the text in a dialog box.
</member>
- <member name="text" type="String" setter="set_text" getter="get_text">
+ <member name="text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
The text to display on screen.
</member>
- <member name="uppercase" type="bool" setter="set_uppercase" getter="is_uppercase">
+ <member name="uppercase" type="bool" setter="set_uppercase" getter="is_uppercase" default="false">
If [code]true[/code], all the text displays as UPPERCASE.
</member>
- <member name="valign" type="int" setter="set_valign" getter="get_valign" enum="Label.VAlign">
+ <member name="valign" type="int" setter="set_valign" getter="get_valign" enum="Label.VAlign" default="0">
Controls the text's vertical align. Supports top, center, bottom, and fill. Set it to one of the [code]VALIGN_*[/code] constants.
</member>
- <member name="visible_characters" type="int" setter="set_visible_characters" getter="get_visible_characters">
+ <member name="visible_characters" type="int" setter="set_visible_characters" getter="get_visible_characters" default="-1">
Restricts the number of characters to display. Set to -1 to disable.
</member>
</members>
@@ -79,7 +79,7 @@
Align rows centered.
</constant>
<constant name="ALIGN_RIGHT" value="2" enum="Align">
- Align rows to the right (default).
+ Align rows to the right.
</constant>
<constant name="ALIGN_FILL" value="3" enum="Align">
Expand row whitespaces to fit the width.
@@ -100,21 +100,21 @@
<theme_items>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="font_color_shadow" type="Color">
+ <theme_item name="font_color_shadow" type="Color" default="Color( 0, 0, 0, 0 )">
</theme_item>
- <theme_item name="font_outline_modulate" type="Color">
+ <theme_item name="font_outline_modulate" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="line_spacing" type="int">
+ <theme_item name="line_spacing" type="int" default="3">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
- <theme_item name="shadow_as_outline" type="int">
+ <theme_item name="shadow_as_outline" type="int" default="0">
</theme_item>
- <theme_item name="shadow_offset_x" type="int">
+ <theme_item name="shadow_offset_x" type="int" default="1">
</theme_item>
- <theme_item name="shadow_offset_y" type="int">
+ <theme_item name="shadow_offset_y" type="int" default="1">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/LargeTexture.xml b/doc/classes/LargeTexture.xml
index 4611bc228e..b4267f55f0 100644
--- a/doc/classes/LargeTexture.xml
+++ b/doc/classes/LargeTexture.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="LargeTexture" inherits="Texture" category="Core" version="3.2">
<brief_description>
- A Texture capable of storing many smaller Textures with offsets.
+ A [Texture] capable of storing many smaller textures with offsets.
</brief_description>
<description>
- A Texture capable of storing many smaller Textures with offsets.
- You can dynamically add pieces([Texture]) to this [LargeTexture] using different offsets.
+ A [Texture] capable of storing many smaller textures with offsets.
+ You can dynamically add pieces ([Texture]s) to this [LargeTexture] using different offsets.
</description>
<tutorials>
</tutorials>
@@ -18,7 +18,7 @@
<argument index="1" name="texture" type="Texture">
</argument>
<description>
- Add another [Texture] to this [LargeTexture], starting on offset "ofs".
+ Adds [code]texture[/code] to this [LargeTexture], starting on offset [code]ofs[/code].
</description>
</method>
<method name="clear">
@@ -41,7 +41,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the offset of the piece with index "idx".
+ Returns the offset of the piece with the index [code]idx[/code].
</description>
</method>
<method name="get_piece_texture" qualifiers="const">
@@ -50,7 +50,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the [Texture] of the piece with index "idx".
+ Returns the [Texture] of the piece with the index [code]idx[/code].
</description>
</method>
<method name="set_piece_offset">
@@ -61,7 +61,7 @@
<argument index="1" name="ofs" type="Vector2">
</argument>
<description>
- Sets the offset of the piece with index "idx" to "ofs".
+ Sets the offset of the piece with the index [code]idx[/code] to [code]ofs[/code].
</description>
</method>
<method name="set_piece_texture">
@@ -72,7 +72,7 @@
<argument index="1" name="texture" type="Texture">
</argument>
<description>
- Sets the [Texture] of the piece with index "idx" to "texture".
+ Sets the [Texture] of the piece with index [code]idx[/code] to [code]texture[/code].
</description>
</method>
<method name="set_size">
diff --git a/doc/classes/Light.xml b/doc/classes/Light.xml
index ecbc07ba72..64d8442180 100644
--- a/doc/classes/Light.xml
+++ b/doc/classes/Light.xml
@@ -4,7 +4,7 @@
Provides a base class for different kinds of light nodes.
</brief_description>
<description>
- Light is the abstract base class for light nodes, so it shouldn't be used directly (It can't be instanced). Other types of light nodes inherit from it. Light contains the common variables and parameters used for lighting.
+ Light is the abstract base class for light nodes, so it shouldn't be used directly (it can't be instanced). Other types of light nodes inherit from it. Light contains the common variables and parameters used for lighting.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/3d/lights_and_shadows.html</link>
@@ -12,43 +12,43 @@
<methods>
</methods>
<members>
- <member name="editor_only" type="bool" setter="set_editor_only" getter="is_editor_only">
- If [code]true[/code], the light only appears in the editor and will not be visible at runtime. Default value:[code]false[/code].
+ <member name="editor_only" type="bool" setter="set_editor_only" getter="is_editor_only" default="false">
+ If [code]true[/code], the light only appears in the editor and will not be visible at runtime.
</member>
- <member name="light_bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="Light.BakeMode">
+ <member name="light_bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="Light.BakeMode" default="1">
The light's bake mode. See [enum BakeMode].
</member>
- <member name="light_color" type="Color" setter="set_color" getter="get_color">
+ <member name="light_color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )">
The light's color.
</member>
- <member name="light_cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask">
+ <member name="light_cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask" default="4294967295">
The light will affect objects in the selected layers.
</member>
- <member name="light_energy" type="float" setter="set_param" getter="get_param">
+ <member name="light_energy" type="float" setter="set_param" getter="get_param" default="1.0">
The light's strength multiplier.
</member>
- <member name="light_indirect_energy" type="float" setter="set_param" getter="get_param">
- Secondary multiplier used with indirect light (light bounces). This works in baked light or GIProbe.
+ <member name="light_indirect_energy" type="float" setter="set_param" getter="get_param" default="1.0">
+ Secondary multiplier used with indirect light (light bounces). This works on both [BakedLightmap] and [GIProbe].
</member>
- <member name="light_negative" type="bool" setter="set_negative" getter="is_negative">
- If [code]true[/code], the light's effect is reversed, darkening areas and casting bright shadows. Default value: [code]false[/code].
+ <member name="light_negative" type="bool" setter="set_negative" getter="is_negative" default="false">
+ If [code]true[/code], the light's effect is reversed, darkening areas and casting bright shadows.
</member>
- <member name="light_specular" type="float" setter="set_param" getter="get_param">
+ <member name="light_specular" type="float" setter="set_param" getter="get_param" default="0.5">
The intensity of the specular blob in objects affected by the light. At [code]0[/code] the light becomes a pure diffuse light.
</member>
- <member name="shadow_bias" type="float" setter="set_param" getter="get_param">
- Used to adjust shadow appearance. Too small a value results in self shadowing, while too large a value causes shadows to separate from casters. Adjust as needed.
+ <member name="shadow_bias" type="float" setter="set_param" getter="get_param" default="0.15">
+ Used to adjust shadow appearance. Too small a value results in self-shadowing, while too large a value causes shadows to separate from casters. Adjust as needed.
</member>
- <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color">
+ <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color( 0, 0, 0, 1 )">
The color of shadows cast by this light.
</member>
- <member name="shadow_contact" type="float" setter="set_param" getter="get_param">
+ <member name="shadow_contact" type="float" setter="set_param" getter="get_param" default="0.0">
Attempts to reduce [member shadow_bias] gap.
</member>
- <member name="shadow_enabled" type="bool" setter="set_shadow" getter="has_shadow">
- If [code]true[/code], the light will cast shadows. Default value: [code]false[/code].
+ <member name="shadow_enabled" type="bool" setter="set_shadow" getter="has_shadow" default="false">
+ If [code]true[/code], the light will cast shadows.
</member>
- <member name="shadow_reverse_cull_face" type="bool" setter="set_shadow_reverse_cull_face" getter="get_shadow_reverse_cull_face">
+ <member name="shadow_reverse_cull_face" type="bool" setter="set_shadow_reverse_cull_face" getter="get_shadow_reverse_cull_face" default="false">
</member>
</members>
<constants>
@@ -83,15 +83,18 @@
<constant name="PARAM_SHADOW_BIAS_SPLIT_SCALE" value="14" enum="Param">
</constant>
<constant name="PARAM_MAX" value="15" enum="Param">
+ Represents the size of the [enum Param] enum.
</constant>
<constant name="BAKE_DISABLED" value="0" enum="BakeMode">
- Light is ignored when baking. Note: hiding a light does [i]not[/i] affect baking.
+ Light is ignored when baking.
+ [b]Note:[/b] Hiding a light does [i]not[/i] affect baking.
</constant>
<constant name="BAKE_INDIRECT" value="1" enum="BakeMode">
- Only indirect lighting will be baked. Default value.
+ Only indirect lighting will be baked (default).
</constant>
<constant name="BAKE_ALL" value="2" enum="BakeMode">
- Both direct and indirect light will be baked. Note: you should hide the light if you don't want it to appear twice (dynamic and baked).
+ Both direct and indirect light will be baked.
+ [b]Note:[/b] You should hide the light if you don't want it to appear twice (dynamic and baked).
</constant>
</constants>
</class>
diff --git a/doc/classes/Light2D.xml b/doc/classes/Light2D.xml
index a487fdf2fe..88ad371983 100644
--- a/doc/classes/Light2D.xml
+++ b/doc/classes/Light2D.xml
@@ -4,7 +4,8 @@
Casts light in a 2D environment.
</brief_description>
<description>
- Casts light in a 2D environment. Light is defined by a (usually grayscale) texture, a color, an energy value, a mode (see constants), and various other parameters (range and shadows-related). Note that Light2D can be used as a mask.
+ Casts light in a 2D environment. Light is defined by a (usually grayscale) texture, a color, an energy value, a mode (see constants), and various other parameters (range and shadows-related).
+ [b]Note:[/b] Light2D can also be used as a mask.
</description>
<tutorials>
<link>http://docs.godotengine.org/en/latest/tutorials/2d/2d_lights_and_shadows.html</link>
@@ -12,73 +13,73 @@
<methods>
</methods>
<members>
- <member name="color" type="Color" setter="set_color" getter="get_color">
+ <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )">
The Light2D's [Color].
</member>
- <member name="editor_only" type="bool" setter="set_editor_only" getter="is_editor_only">
- If [code]true[/code], Light2D will only appear when editing the scene. Default value: [code]false[/code].
+ <member name="editor_only" type="bool" setter="set_editor_only" getter="is_editor_only" default="false">
+ If [code]true[/code], Light2D will only appear when editing the scene.
</member>
- <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled">
- If [code]true[/code], Light2D will emit light. Default value: [code]true[/code].
+ <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
+ If [code]true[/code], Light2D will emit light.
</member>
- <member name="energy" type="float" setter="set_energy" getter="get_energy">
+ <member name="energy" type="float" setter="set_energy" getter="get_energy" default="1.0">
The Light2D's energy value. The larger the value, the stronger the light.
</member>
- <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="Light2D.Mode">
- The Light2D's mode. See MODE_* constants for values.
+ <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="Light2D.Mode" default="0">
+ The Light2D's mode. See [code]MODE_*[/code] constants for values.
</member>
- <member name="offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset">
+ <member name="offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset" default="Vector2( 0, 0 )">
The offset of the Light2D's [code]texture[/code].
</member>
- <member name="range_height" type="float" setter="set_height" getter="get_height">
+ <member name="range_height" type="float" setter="set_height" getter="get_height" default="0.0">
The height of the Light2D. Used with 2D normal mapping.
</member>
- <member name="range_item_cull_mask" type="int" setter="set_item_cull_mask" getter="get_item_cull_mask">
+ <member name="range_item_cull_mask" type="int" setter="set_item_cull_mask" getter="get_item_cull_mask" default="1">
The layer mask. Only objects with a matching mask will be affected by the Light2D.
</member>
- <member name="range_layer_max" type="int" setter="set_layer_range_max" getter="get_layer_range_max">
- Maximum layer value of objects that are affected by the Light2D. Default value: [code]0[/code].
+ <member name="range_layer_max" type="int" setter="set_layer_range_max" getter="get_layer_range_max" default="0">
+ Maximum layer value of objects that are affected by the Light2D.
</member>
- <member name="range_layer_min" type="int" setter="set_layer_range_min" getter="get_layer_range_min">
- Minimum layer value of objects that are affected by the Light2D. Default value: [code]0[/code].
+ <member name="range_layer_min" type="int" setter="set_layer_range_min" getter="get_layer_range_min" default="0">
+ Minimum layer value of objects that are affected by the Light2D.
</member>
- <member name="range_z_max" type="int" setter="set_z_range_max" getter="get_z_range_max">
- Maximum [code]Z[/code] value of objects that are affected by the Light2D. Default value: [code]1024[/code].
+ <member name="range_z_max" type="int" setter="set_z_range_max" getter="get_z_range_max" default="1024">
+ Maximum [code]z[/code] value of objects that are affected by the Light2D.
</member>
- <member name="range_z_min" type="int" setter="set_z_range_min" getter="get_z_range_min">
- Minimum [code]z[/code] value of objects that are affected by the Light2D. Default value: [code]-1024[/code].
+ <member name="range_z_min" type="int" setter="set_z_range_min" getter="get_z_range_min" default="-1024">
+ Minimum [code]z[/code] value of objects that are affected by the Light2D.
</member>
- <member name="shadow_buffer_size" type="int" setter="set_shadow_buffer_size" getter="get_shadow_buffer_size">
- Shadow buffer size. Default value: [code]2048[/code].
+ <member name="shadow_buffer_size" type="int" setter="set_shadow_buffer_size" getter="get_shadow_buffer_size" default="2048">
+ Shadow buffer size.
</member>
- <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color">
+ <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color( 0, 0, 0, 0 )">
[Color] of shadows cast by the Light2D.
</member>
- <member name="shadow_enabled" type="bool" setter="set_shadow_enabled" getter="is_shadow_enabled">
- If [code]true[/code], the Light2D will cast shadows. Default value: [code]false[/code].
+ <member name="shadow_enabled" type="bool" setter="set_shadow_enabled" getter="is_shadow_enabled" default="false">
+ If [code]true[/code], the Light2D will cast shadows.
</member>
- <member name="shadow_filter" type="int" setter="set_shadow_filter" getter="get_shadow_filter" enum="Light2D.ShadowFilter">
- Shadow filter type. Use [enum Light2D.ShadowFilter] constants as values. Default value: [code]SHADOW_FILTER_NONE[/code].
+ <member name="shadow_filter" type="int" setter="set_shadow_filter" getter="get_shadow_filter" enum="Light2D.ShadowFilter" default="0">
+ Shadow filter type. See [enum ShadowFilter] for possible values.
</member>
- <member name="shadow_filter_smooth" type="float" setter="set_shadow_smooth" getter="get_shadow_smooth">
+ <member name="shadow_filter_smooth" type="float" setter="set_shadow_smooth" getter="get_shadow_smooth" default="0.0">
Smoothing value for shadows.
</member>
- <member name="shadow_gradient_length" type="float" setter="set_shadow_gradient_length" getter="get_shadow_gradient_length">
+ <member name="shadow_gradient_length" type="float" setter="set_shadow_gradient_length" getter="get_shadow_gradient_length" default="0.0">
Smooth shadow gradient length.
</member>
- <member name="shadow_item_cull_mask" type="int" setter="set_item_shadow_cull_mask" getter="get_item_shadow_cull_mask">
+ <member name="shadow_item_cull_mask" type="int" setter="set_item_shadow_cull_mask" getter="get_item_shadow_cull_mask" default="1">
The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders with a matching shadow mask will cast shadows.
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
[Texture] used for the Light2D's appearance.
</member>
- <member name="texture_scale" type="float" setter="set_texture_scale" getter="get_texture_scale">
+ <member name="texture_scale" type="float" setter="set_texture_scale" getter="get_texture_scale" default="1.0">
The [code]texture[/code]'s scale factor.
</member>
</members>
<constants>
<constant name="MODE_ADD" value="0" enum="Mode">
- Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behaviour of a light.
+ Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behavior of a light.
</constant>
<constant name="MODE_SUB" value="1" enum="Mode">
Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect.
diff --git a/doc/classes/LightOccluder2D.xml b/doc/classes/LightOccluder2D.xml
index a621937eb3..55978aa0a1 100644
--- a/doc/classes/LightOccluder2D.xml
+++ b/doc/classes/LightOccluder2D.xml
@@ -12,10 +12,10 @@
<methods>
</methods>
<members>
- <member name="light_mask" type="int" setter="set_occluder_light_mask" getter="get_occluder_light_mask">
+ <member name="light_mask" type="int" setter="set_occluder_light_mask" getter="get_occluder_light_mask" default="1">
The LightOccluder2D's light mask. The LightOccluder2D will cast shadows only from Light2D(s) that have the same light mask(s).
</member>
- <member name="occluder" type="OccluderPolygon2D" setter="set_occluder_polygon" getter="get_occluder_polygon">
+ <member name="occluder" type="OccluderPolygon2D" setter="set_occluder_polygon" getter="get_occluder_polygon" default="null">
The [OccluderPolygon2D] used to compute the shadow.
</member>
</members>
diff --git a/doc/classes/Line2D.xml b/doc/classes/Line2D.xml
index c55760767a..106c736147 100644
--- a/doc/classes/Line2D.xml
+++ b/doc/classes/Line2D.xml
@@ -17,7 +17,7 @@
<argument index="1" name="at_position" type="int" default="-1">
</argument>
<description>
- Add a point at the [code]position[/code]. Appends the point at the end of the line.
+ Adds a point at the [code]position[/code]. Appends the point at the end of the line.
If [code]at_position[/code] is given, the point is inserted before the point number [code]at_position[/code], moving that point (and every point after) after the inserted point. If [code]at_position[/code] is not given, or is an illegal value ([code]at_position &lt; 0[/code] or [code]at_position &gt;= [method get_point_count][/code]), the point will be appended at the end of the point list.
</description>
</method>
@@ -50,7 +50,7 @@
<argument index="0" name="i" type="int">
</argument>
<description>
- Remove the point at index [code]i[/code] from the line.
+ Removes the point at index [code]i[/code] from the line.
</description>
</method>
<method name="set_point_position">
@@ -66,39 +66,42 @@
</method>
</methods>
<members>
- <member name="begin_cap_mode" type="int" setter="set_begin_cap_mode" getter="get_begin_cap_mode" enum="Line2D.LineCapMode">
- Controls the style of the line's first point. Use [code]LINE_CAP_*[/code] constants. Default value: [code]LINE_CAP_NONE[/code].
+ <member name="begin_cap_mode" type="int" setter="set_begin_cap_mode" getter="get_begin_cap_mode" enum="Line2D.LineCapMode" default="0">
+ Controls the style of the line's first point. Use [code]LINE_CAP_*[/code] constants.
</member>
- <member name="default_color" type="Color" setter="set_default_color" getter="get_default_color">
+ <member name="default_color" type="Color" setter="set_default_color" getter="get_default_color" default="Color( 0.4, 0.5, 1, 1 )">
The line's color. Will not be used if a gradient is set.
</member>
- <member name="end_cap_mode" type="int" setter="set_end_cap_mode" getter="get_end_cap_mode" enum="Line2D.LineCapMode">
- Controls the style of the line's last point. Use [code]LINE_CAP_*[/code] constants. Default value: [code]LINE_CAP_NONE[/code].
+ <member name="end_cap_mode" type="int" setter="set_end_cap_mode" getter="get_end_cap_mode" enum="Line2D.LineCapMode" default="0">
+ Controls the style of the line's last point. Use [code]LINE_CAP_*[/code] constants.
</member>
- <member name="gradient" type="Gradient" setter="set_gradient" getter="get_gradient">
+ <member name="gradient" type="Gradient" setter="set_gradient" getter="get_gradient" default="null">
The gradient is drawn through the whole line from start to finish. The default color will not be used if a gradient is set.
</member>
- <member name="joint_mode" type="int" setter="set_joint_mode" getter="get_joint_mode" enum="Line2D.LineJointMode">
+ <member name="joint_mode" type="int" setter="set_joint_mode" getter="get_joint_mode" enum="Line2D.LineJointMode" default="0">
The style for the points between the start and the end.
</member>
- <member name="points" type="PoolVector2Array" setter="set_points" getter="get_points">
+ <member name="points" type="PoolVector2Array" setter="set_points" getter="get_points" default="PoolVector2Array( )">
The points that form the lines. The line is drawn between every point set in this array.
</member>
- <member name="round_precision" type="int" setter="set_round_precision" getter="get_round_precision">
+ <member name="round_precision" type="int" setter="set_round_precision" getter="get_round_precision" default="8">
The smoothness of the rounded joints and caps. This is only used if a cap or joint is set as round.
</member>
- <member name="sharp_limit" type="float" setter="set_sharp_limit" getter="get_sharp_limit">
- The direction difference in radians between vector points. This value is only used if [code]joint mode[/code] is set to [code]LINE_JOINT_SHARP[/code].
+ <member name="sharp_limit" type="float" setter="set_sharp_limit" getter="get_sharp_limit" default="2.0">
+ The direction difference in radians between vector points. This value is only used if [code]joint mode[/code] is set to [constant LINE_JOINT_SHARP].
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
The texture used for the line's texture. Uses [code]texture_mode[/code] for drawing style.
</member>
- <member name="texture_mode" type="int" setter="set_texture_mode" getter="get_texture_mode" enum="Line2D.LineTextureMode">
- The style to render the [code]texture[/code] on the line. Use [code]LINE_TEXTURE_*[/code] constants. Default value: [code]LINE_TEXTURE_NONE[/code].
+ <member name="texture_mode" type="int" setter="set_texture_mode" getter="get_texture_mode" enum="Line2D.LineTextureMode" default="0">
+ The style to render the [code]texture[/code] on the line. Use [code]LINE_TEXTURE_*[/code] constants.
</member>
- <member name="width" type="float" setter="set_width" getter="get_width">
+ <member name="width" type="float" setter="set_width" getter="get_width" default="10.0">
The line's width.
</member>
+ <member name="width_curve" type="Curve" setter="set_curve" getter="get_curve" default="null">
+ The line's width varies with the curve. The original width is simply multiply by the value of the Curve.
+ </member>
</members>
<constants>
<constant name="LINE_JOINT_SHARP" value="0" enum="LineJointMode">
@@ -111,7 +114,7 @@
The line's joints will be rounded.
</constant>
<constant name="LINE_CAP_NONE" value="0" enum="LineCapMode">
- Don't have a line cap.
+ Don't draw a line cap.
</constant>
<constant name="LINE_CAP_BOX" value="1" enum="LineCapMode">
Draws the line cap as a box.
@@ -123,10 +126,10 @@
Takes the left pixels of the texture and renders it over the whole line.
</constant>
<constant name="LINE_TEXTURE_TILE" value="1" enum="LineTextureMode">
- Tiles the texture over the line. The texture need to be imported with Repeat Enabled for it to work properly.
+ Tiles the texture over the line. The texture must be imported with [b]Repeat[/b] enabled for it to work properly.
</constant>
<constant name="LINE_TEXTURE_STRETCH" value="2" enum="LineTextureMode">
- Stretches the texture across the line. Import the texture with Repeat Disabled for best results.
+ Stretches the texture across the line. Import the texture with [b]Repeat[/b] disabled for best results.
</constant>
</constants>
</class>
diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml
index 184987d2dd..482ec28c56 100644
--- a/doc/classes/LineEdit.xml
+++ b/doc/classes/LineEdit.xml
@@ -54,7 +54,7 @@
<argument index="0" name="option" type="int">
</argument>
<description>
- Executes a given action as defined in the MENU_* enum.
+ Executes a given action as defined in the[code]MENU_*[/code] enum.
</description>
</method>
<method name="select">
@@ -65,12 +65,12 @@
<argument index="1" name="to" type="int" default="-1">
</argument>
<description>
- Selects characters inside [LineEdit] between [code]from[/code] and [code]to[/code]. By default [code]from[/code] is at the beginning and [code]to[/code] at the end.
+ Selects characters inside [LineEdit] between [code]from[/code] and [code]to[/code]. By default, [code]from[/code] is at the beginning and [code]to[/code] at the end.
[codeblock]
text = "Welcome"
- select() # Welcome
- select(4) # ome
- select(2, 5) # lco
+ select() # Will select "Welcome"
+ select(4) # Will select "ome"
+ select(2, 5) # Will select "lco"
[/codeblock]
</description>
</method>
@@ -83,49 +83,49 @@
</method>
</methods>
<members>
- <member name="align" type="int" setter="set_align" getter="get_align" enum="LineEdit.Align">
- Text alignment as defined in the ALIGN_* enum.
+ <member name="align" type="int" setter="set_align" getter="get_align" enum="LineEdit.Align" default="0">
+ Text alignment as defined in the [code]ALIGN_*[/code] enum.
</member>
- <member name="caret_blink" type="bool" setter="cursor_set_blink_enabled" getter="cursor_get_blink_enabled">
+ <member name="caret_blink" type="bool" setter="cursor_set_blink_enabled" getter="cursor_get_blink_enabled" default="false">
If [code]true[/code], the caret (visual cursor) blinks.
</member>
- <member name="caret_blink_speed" type="float" setter="cursor_set_blink_speed" getter="cursor_get_blink_speed">
+ <member name="caret_blink_speed" type="float" setter="cursor_set_blink_speed" getter="cursor_get_blink_speed" default="0.65">
Duration (in seconds) of a caret's blinking cycle.
</member>
- <member name="caret_position" type="int" setter="set_cursor_position" getter="get_cursor_position">
+ <member name="caret_position" type="int" setter="set_cursor_position" getter="get_cursor_position" default="0">
The cursor's position inside the [LineEdit]. When set, the text may scroll to accommodate it.
</member>
- <member name="clear_button_enabled" type="bool" setter="set_clear_button_enabled" getter="is_clear_button_enabled">
+ <member name="clear_button_enabled" type="bool" setter="set_clear_button_enabled" getter="is_clear_button_enabled" default="false">
If [code]true[/code], the [LineEdit] will show a clear button if [code]text[/code] is not empty.
</member>
- <member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled">
- If [code]true[/code], the context menu will appear when right clicked.
+ <member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled" default="true">
+ If [code]true[/code], the context menu will appear when right-clicked.
</member>
- <member name="editable" type="bool" setter="set_editable" getter="is_editable">
+ <member name="editable" type="bool" setter="set_editable" getter="is_editable" default="true">
If [code]false[/code], existing text cannot be modified and new text cannot be added.
</member>
- <member name="expand_to_text_length" type="bool" setter="set_expand_to_text_length" getter="get_expand_to_text_length">
+ <member name="expand_to_text_length" type="bool" setter="set_expand_to_text_length" getter="get_expand_to_text_length" default="false">
If [code]true[/code], the [LineEdit] width will increase to stay longer than the [member text]. It will [b]not[/b] compress if the [member text] is shortened.
</member>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode">
- Defines how the [LineEdit] can grab focus (Keyboard and mouse, only keyboard, or none). See [enum Control.FocusMode] in [Control] for details.
+ <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode" default="2">
+ Defines how the [LineEdit] can grab focus (Keyboard and mouse, only keyboard, or none). See [enum Control.FocusMode] for details.
</member>
- <member name="max_length" type="int" setter="set_max_length" getter="get_max_length">
+ <member name="max_length" type="int" setter="set_max_length" getter="get_max_length" default="0">
Maximum amount of characters that can be entered inside the [LineEdit]. If [code]0[/code], there is no limit.
</member>
- <member name="placeholder_alpha" type="float" setter="set_placeholder_alpha" getter="get_placeholder_alpha">
+ <member name="placeholder_alpha" type="float" setter="set_placeholder_alpha" getter="get_placeholder_alpha" default="0.6">
Opacity of the [member placeholder_text]. From [code]0[/code] to [code]1[/code].
</member>
- <member name="placeholder_text" type="String" setter="set_placeholder" getter="get_placeholder">
+ <member name="placeholder_text" type="String" setter="set_placeholder" getter="get_placeholder" default="&quot;&quot;">
Text shown when the [LineEdit] is empty. It is [b]not[/b] the [LineEdit]'s default value (see [member text]).
</member>
- <member name="secret" type="bool" setter="set_secret" getter="is_secret">
+ <member name="secret" type="bool" setter="set_secret" getter="is_secret" default="false">
If [code]true[/code], every character is replaced with the secret character (see [member secret_character]).
</member>
- <member name="secret_character" type="String" setter="set_secret_character" getter="get_secret_character">
+ <member name="secret_character" type="String" setter="set_secret_character" getter="get_secret_character" default="&quot;*&quot;">
The character to use to mask secret input (defaults to "*"). Only a single character can be used as the secret character.
</member>
- <member name="text" type="String" setter="set_text" getter="get_text">
+ <member name="text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
String value of the [LineEdit].
</member>
</members>
@@ -147,13 +147,13 @@
</signals>
<constants>
<constant name="ALIGN_LEFT" value="0" enum="Align">
- Aligns the text on the left hand side of the [LineEdit].
+ Aligns the text on the left-hand side of the [LineEdit].
</constant>
<constant name="ALIGN_CENTER" value="1" enum="Align">
Centers the text in the middle of the [LineEdit].
</constant>
<constant name="ALIGN_RIGHT" value="2" enum="Align">
- Aligns the text on the right hand side of the [LineEdit].
+ Aligns the text on the right-hand side of the [LineEdit].
</constant>
<constant name="ALIGN_FILL" value="3" enum="Align">
Stretches whitespaces to fit the [LineEdit]'s width.
@@ -181,32 +181,35 @@
Reverse the last undo action.
</constant>
<constant name="MENU_MAX" value="7" enum="MenuItems">
+ Represents the size of the [enum MenuItems] enum.
</constant>
</constants>
<theme_items>
<theme_item name="clear" type="Texture">
</theme_item>
- <theme_item name="clear_button_color" type="Color">
+ <theme_item name="clear_button_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="clear_button_color_pressed" type="Color">
+ <theme_item name="clear_button_color_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="cursor_color" type="Color">
+ <theme_item name="cursor_color" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="font_color_selected" type="Color">
+ <theme_item name="font_color_selected" type="Color" default="Color( 0, 0, 0, 1 )">
</theme_item>
- <theme_item name="minimum_spaces" type="int">
+ <theme_item name="font_color_uneditable" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 0.5 )">
+ </theme_item>
+ <theme_item name="minimum_spaces" type="int" default="12">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="read_only" type="StyleBox">
</theme_item>
- <theme_item name="selection_color" type="Color">
+ <theme_item name="selection_color" type="Color" default="Color( 0.490196, 0.490196, 0.490196, 1 )">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/LineShape2D.xml b/doc/classes/LineShape2D.xml
index 94409cbd83..fbab1dbe3c 100644
--- a/doc/classes/LineShape2D.xml
+++ b/doc/classes/LineShape2D.xml
@@ -4,17 +4,17 @@
Line shape for 2D collisions.
</brief_description>
<description>
- Line shape for 2D collisions. It works like a 2D plane and will not allow any body to go to the negative side. Not recommended for rigid bodies, and usually not recommended for static bodies either because it forces checks against it on every frame.
+ Line shape for 2D collisions. It works like a 2D plane and will not allow any physics body to go to the negative side. Not recommended for rigid bodies, and usually not recommended for static bodies either because it forces checks against it on every frame.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="d" type="float" setter="set_d" getter="get_d">
+ <member name="d" type="float" setter="set_d" getter="get_d" default="0.0">
The line's distance from the origin.
</member>
- <member name="normal" type="Vector2" setter="set_normal" getter="get_normal">
+ <member name="normal" type="Vector2" setter="set_normal" getter="get_normal" default="Vector2( 0, -1 )">
The line's normal.
</member>
</members>
diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml
index ef9f785f0f..5dfb55a8dd 100644
--- a/doc/classes/LinkButton.xml
+++ b/doc/classes/LinkButton.xml
@@ -4,21 +4,21 @@
Simple button used to represent a link to some resource.
</brief_description>
<description>
- This kind of buttons are primarily used when the interaction with the button causes a context change (like linking to a web page).
+ This kind of button is primarily used when the interaction with the button causes a context change (like linking to a web page).
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="text" type="String" setter="set_text" getter="get_text">
+ <member name="text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
</member>
- <member name="underline" type="int" setter="set_underline_mode" getter="get_underline_mode" enum="LinkButton.UnderlineMode">
+ <member name="underline" type="int" setter="set_underline_mode" getter="get_underline_mode" enum="LinkButton.UnderlineMode" default="0">
</member>
</members>
<constants>
<constant name="UNDERLINE_MODE_ALWAYS" value="0" enum="UnderlineMode">
- The LinkButton will always show an underline at the bottom of its text
+ The LinkButton will always show an underline at the bottom of its text.
</constant>
<constant name="UNDERLINE_MODE_ON_HOVER" value="1" enum="UnderlineMode">
The LinkButton will show an underline at the bottom of its text when the mouse cursor is over it.
@@ -32,13 +32,13 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="font_color_hover" type="Color">
+ <theme_item name="font_color_hover" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="font_color_pressed" type="Color">
+ <theme_item name="font_color_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="underline_spacing" type="int">
+ <theme_item name="underline_spacing" type="int" default="2">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/MainLoop.xml b/doc/classes/MainLoop.xml
index 324ee72b8e..f5bf12a876 100644
--- a/doc/classes/MainLoop.xml
+++ b/doc/classes/MainLoop.xml
@@ -1,10 +1,44 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="MainLoop" inherits="Object" category="Core" version="3.2">
<brief_description>
- Main loop is the abstract main loop base class.
+ Abstract base class for the game's main loop.
</brief_description>
<description>
- Main loop is the abstract main loop base class. All other main loop classes are derived from it. Upon application start, a [MainLoop] has to be provided to OS, else the application will exit. This happens automatically (and a [SceneTree] is created), unless a main [Script] is supplied, which may or not create and return a [MainLoop].
+ [MainLoop] is the abstract base class for a Godot project's game loop. It in inherited by [SceneTree], which is the default game loop implementation used in Godot projects, though it is also possible to write and use one's own [MainLoop] subclass instead of the scene tree.
+ Upon the application start, a [MainLoop] implementation must be provided to the OS; otherwise, the application will exit. This happens automatically (and a [SceneTree] is created) unless a main [Script] is provided from the command line (with e.g. [code]godot -s my_loop.gd[/code], which should then be a [MainLoop] implementation.
+ Here is an example script implementing a simple [MainLoop]:
+ [codeblock]
+ extends MainLoop
+
+ var time_elapsed = 0
+ var keys_typed = []
+ var quit = false
+
+ func _initialize():
+ print("Initialized:")
+ print(" Starting time: %s" % str(time_elapsed))
+
+ func _idle(delta):
+ time_elapsed += delta
+ # Return true to end the main loop
+ return quit
+
+ func _input_event(event):
+ # Record keys
+ if event is InputEventKey and event.pressed and !event.echo:
+ keys_typed.append(OS.get_scancode_string(event.scancode))
+ # Quit on Escape press
+ if event.scancode == KEY_ESCAPE:
+ quit = true
+ # Quit on any mouse click
+ if event is InputEventMouseButton:
+ quit = true
+
+ func _finalize():
+ print("Finalized:")
+ print(" End time: %s" % str(time_elapsed))
+ print(" Keys typed: %s" % var2str(keys_typed))
+ [/codeblock]
</description>
<tutorials>
</tutorials>
@@ -14,9 +48,10 @@
</return>
<argument index="0" name="files" type="PoolStringArray">
</argument>
- <argument index="1" name="screen" type="int">
+ <argument index="1" name="from_screen" type="int">
</argument>
<description>
+ Called when files are dragged from the OS file manager and dropped in the game window. The arguments are a list of file paths and the identifier of the screen where the drag originated.
</description>
</method>
<method name="_finalize" qualifiers="virtual">
@@ -27,12 +62,13 @@
</description>
</method>
<method name="_idle" qualifiers="virtual">
- <return type="void">
+ <return type="bool">
</return>
<argument index="0" name="delta" type="float">
</argument>
<description>
- Called each idle frame with time since last call as an only argument.
+ Called each idle frame with the time since the last idle frame as argument (in seconds). Equivalent to [method Node._process].
+ If implemented, the method must return a boolean value. [code]true[/code] ends the main loop, while [code]false[/code] lets it proceed to the next frame.
</description>
</method>
<method name="_initialize" qualifiers="virtual">
@@ -48,6 +84,7 @@
<argument index="0" name="event" type="InputEvent">
</argument>
<description>
+ Called whenever an [InputEvent] is received by the main loop.
</description>
</method>
<method name="_input_text" qualifiers="virtual">
@@ -56,20 +93,24 @@
<argument index="0" name="text" type="String">
</argument>
<description>
+ Deprecated callback, does not do anything. Use [method _input_event] to parse text input. Will be removed in Godot 4.0.
</description>
</method>
<method name="_iteration" qualifiers="virtual">
- <return type="void">
+ <return type="bool">
</return>
<argument index="0" name="delta" type="float">
</argument>
<description>
+ Called each physics frame with the time since the last physics frame as argument (in seconds). Equivalent to [method Node._physics_process].
+ If implemented, the method must return a boolean value. [code]true[/code] ends the main loop, while [code]false[/code] lets it proceed to the next frame.
</description>
</method>
<method name="finish">
<return type="void">
</return>
<description>
+ Should not be called manually, override [method _finalize] instead. Will be removed in Godot 4.0.
</description>
</method>
<method name="idle">
@@ -78,12 +119,14 @@
<argument index="0" name="delta" type="float">
</argument>
<description>
+ Should not be called manually, override [method _idle] instead. Will be removed in Godot 4.0.
</description>
</method>
<method name="init">
<return type="void">
</return>
<description>
+ Should not be called manually, override [method _initialize] instead. Will be removed in Godot 4.0.
</description>
</method>
<method name="input_event">
@@ -92,6 +135,7 @@
<argument index="0" name="event" type="InputEvent">
</argument>
<description>
+ Should not be called manually, override [method _input_event] instead. Will be removed in Godot 4.0.
</description>
</method>
<method name="input_text">
@@ -100,6 +144,7 @@
<argument index="0" name="text" type="String">
</argument>
<description>
+ Should not be called manually, override [method _input_text] instead. Will be removed in Godot 4.0.
</description>
</method>
<method name="iteration">
@@ -108,33 +153,57 @@
<argument index="0" name="delta" type="float">
</argument>
<description>
+ Should not be called manually, override [method _iteration] instead. Will be removed in Godot 4.0.
</description>
</method>
</methods>
<constants>
<constant name="NOTIFICATION_WM_MOUSE_ENTER" value="1002">
+ Notification received from the OS when the mouse enters the game window.
+ Implemented on desktop and web platforms.
</constant>
<constant name="NOTIFICATION_WM_MOUSE_EXIT" value="1003">
+ Notification received from the OS when the mouse leaves the game window.
+ Implemented on desktop and web platforms.
</constant>
<constant name="NOTIFICATION_WM_FOCUS_IN" value="1004">
+ Notification received from the OS when the game window is focused.
+ Implemented on all platforms.
</constant>
<constant name="NOTIFICATION_WM_FOCUS_OUT" value="1005">
+ Notification received from the OS when the game window is unfocused.
+ Implemented on all platforms.
</constant>
<constant name="NOTIFICATION_WM_QUIT_REQUEST" value="1006">
+ Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or Alt+F4).
+ Implemented on desktop platforms.
</constant>
<constant name="NOTIFICATION_WM_GO_BACK_REQUEST" value="1007">
+ Notification received from the OS when a go back request is sent (e.g. pressing the "Back" button on Android).
+ Specific to the Android platform.
</constant>
<constant name="NOTIFICATION_WM_UNFOCUS_REQUEST" value="1008">
+ Notification received from the OS when an unfocus request is sent (e.g. another OS window wants to take the focus).
+ No supported platforms currently send this notification.
</constant>
<constant name="NOTIFICATION_OS_MEMORY_WARNING" value="1009">
+ Notification received from the OS when the application is exceeding its allocated memory.
+ Specific to the iOS platform.
</constant>
<constant name="NOTIFICATION_TRANSLATION_CHANGED" value="1010">
+ Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like [method Object.tr].
</constant>
<constant name="NOTIFICATION_WM_ABOUT" value="1011">
+ Notification received from the OS when a request for "About" information is sent.
+ Specific to the macOS platform.
</constant>
<constant name="NOTIFICATION_CRASH" value="1012">
+ Notification received from Godot's crash handler when the engine is about to crash.
+ Implemented on desktop platforms if the crash handler is enabled.
</constant>
<constant name="NOTIFICATION_OS_IME_UPDATE" value="1013">
+ Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string).
+ Specific to the macOS platform.
</constant>
</constants>
</class>
diff --git a/doc/classes/MarginContainer.xml b/doc/classes/MarginContainer.xml
index 0993ed88ca..08e8098a75 100644
--- a/doc/classes/MarginContainer.xml
+++ b/doc/classes/MarginContainer.xml
@@ -4,7 +4,15 @@
Simple margin container.
</brief_description>
<description>
- Simple margin container. Adds a left margin to anything contained.
+ Adds a top, left, bottom, and right margin to all [Control] nodes that are direct children of the container. To control the [MarginContainer]'s margin, use the [code]margin_*[/code] theme properties listed below.
+ [b]Note:[/b] Be careful, [Control] margin values are different than the constant margin values. If you want to change the custom margin values of the [MarginContainer] by code, you should use the following examples:
+ [codeblock]
+ var margin_value = 100
+ set("custom_constants/margin_top", margin_value)
+ set("custom_constants/margin_left", margin_value)
+ set("custom_constants/margin_bottom", margin_value)
+ set("custom_constants/margin_right", margin_value)
+ [/codeblock]
</description>
<tutorials>
</tutorials>
@@ -13,13 +21,17 @@
<constants>
</constants>
<theme_items>
- <theme_item name="margin_bottom" type="int">
+ <theme_item name="margin_bottom" type="int" default="0">
+ All direct children of [MarginContainer] will have a bottom margin of [code]margin_bottom[/code] pixels.
</theme_item>
- <theme_item name="margin_left" type="int">
+ <theme_item name="margin_left" type="int" default="0">
+ All direct children of [MarginContainer] will have a left margin of [code]margin_left[/code] pixels.
</theme_item>
- <theme_item name="margin_right" type="int">
+ <theme_item name="margin_right" type="int" default="0">
+ All direct children of [MarginContainer] will have a right margin of [code]margin_right[/code] pixels.
</theme_item>
- <theme_item name="margin_top" type="int">
+ <theme_item name="margin_top" type="int" default="0">
+ All direct children of [MarginContainer] will have a top margin of [code]margin_top[/code] pixels.
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/Marshalls.xml b/doc/classes/Marshalls.xml
index c7118a4d9f..083a3163ce 100644
--- a/doc/classes/Marshalls.xml
+++ b/doc/classes/Marshalls.xml
@@ -15,7 +15,7 @@
<argument index="0" name="base64_str" type="String">
</argument>
<description>
- Returns [PoolByteArray] of a given base64 encoded String.
+ Returns a decoded [PoolByteArray] corresponding to the Base64-encoded string [code]base64_str[/code].
</description>
</method>
<method name="base64_to_utf8">
@@ -24,7 +24,7 @@
<argument index="0" name="base64_str" type="String">
</argument>
<description>
- Returns utf8 String of a given base64 encoded String.
+ Returns a decoded string corresponding to the Base64-encoded string [code]base64_str[/code].
</description>
</method>
<method name="base64_to_variant">
@@ -35,8 +35,8 @@
<argument index="1" name="allow_objects" type="bool" default="false">
</argument>
<description>
- Returns [Variant] of a given base64 encoded String. When [code]allow_objects[/code] is [code]true[/code] decoding objects is allowed.
- [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
+ Returns a decoded [Variant] corresponding to the Base64-encoded string [code]base64_str[/code]. If [code]allow_objects[/code] is [code]true[/code], decoding objects is allowed.
+ [b]Warning:[/b] Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
</description>
</method>
<method name="raw_to_base64">
@@ -45,7 +45,7 @@
<argument index="0" name="array" type="PoolByteArray">
</argument>
<description>
- Returns base64 encoded String of a given [PoolByteArray].
+ Returns a Base64-encoded string of a given [PoolByteArray].
</description>
</method>
<method name="utf8_to_base64">
@@ -54,7 +54,7 @@
<argument index="0" name="utf8_str" type="String">
</argument>
<description>
- Returns base64 encoded String of a given utf8 String.
+ Returns a Base64-encoded string of the UTF-8 string [code]utf8_str[/code].
</description>
</method>
<method name="variant_to_base64">
@@ -65,7 +65,7 @@
<argument index="1" name="full_objects" type="bool" default="false">
</argument>
<description>
- Returns base64 encoded String of a given [Variant]. When [code]full_objects[/code] is [code]true[/code] encoding objects is allowed (and can potentially include code).
+ Returns a Base64-encoded string of the [Variant] [code]variant[/code]. If [code]full_objects[/code] is [code]true[/code], encoding objects is allowed (and can potentially include code).
</description>
</method>
</methods>
diff --git a/doc/classes/Material.xml b/doc/classes/Material.xml
index 848a43e6c4..80d8b674f3 100644
--- a/doc/classes/Material.xml
+++ b/doc/classes/Material.xml
@@ -11,15 +11,17 @@
<methods>
</methods>
<members>
- <member name="next_pass" type="Material" setter="set_next_pass" getter="get_next_pass">
+ <member name="next_pass" type="Material" setter="set_next_pass" getter="get_next_pass" default="null">
</member>
- <member name="render_priority" type="int" setter="set_render_priority" getter="get_render_priority">
+ <member name="render_priority" type="int" setter="set_render_priority" getter="get_render_priority" default="0">
</member>
</members>
<constants>
<constant name="RENDER_PRIORITY_MAX" value="127">
+ Maximum value for the [member render_priority] parameter.
</constant>
<constant name="RENDER_PRIORITY_MIN" value="-128">
+ Minimum value for the [member render_priority] parameter.
</constant>
</constants>
</class>
diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml
index 1043aa1087..609bf6317a 100644
--- a/doc/classes/MenuButton.xml
+++ b/doc/classes/MenuButton.xml
@@ -26,7 +26,7 @@
</method>
</methods>
<members>
- <member name="switch_on_hover" type="bool" setter="set_switch_on_hover" getter="is_switch_on_hover">
+ <member name="switch_on_hover" type="bool" setter="set_switch_on_hover" getter="is_switch_on_hover" default="false">
If [code]true[/code], when the cursor hovers above another MenuButton within the same parent which also has [code]switch_on_hover[/code] enabled, it will close the current MenuButton and open the other one.
</member>
</members>
@@ -46,17 +46,17 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 1, 1, 1, 0.3 )">
</theme_item>
- <theme_item name="font_color_hover" type="Color">
+ <theme_item name="font_color_hover" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="font_color_pressed" type="Color">
+ <theme_item name="font_color_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="3">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml
index 048e7074f1..f7b3b0d7ea 100644
--- a/doc/classes/Mesh.xml
+++ b/doc/classes/Mesh.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Mesh" inherits="Resource" category="Core" version="3.2">
<brief_description>
- A [Resource] that contains vertex-array based geometry.
+ A [Resource] that contains vertex array-based geometry.
</brief_description>
<description>
- Mesh is a type of [Resource] that contains vertex-array based geometry, divided in [i]surfaces[/i]. Each surface contains a completely separate array and a material used to draw it. Design wise, a mesh with multiple surfaces is preferred to a single surface, because objects created in 3D editing software commonly contain multiple materials.
+ Mesh is a type of [Resource] that contains vertex array-based geometry, divided in [i]surfaces[/i]. Each surface contains a completely separate array and a material used to draw it. Design wise, a mesh with multiple surfaces is preferred to a single surface, because objects created in 3D editing software commonly contain multiple materials.
</description>
<tutorials>
</tutorials>
@@ -22,7 +22,8 @@
<argument index="0" name="margin" type="float">
</argument>
<description>
- Calculate an outline mesh at a defined offset (margin) from the original mesh. Note: Typically returns the vertices in reverse order (e.g. clockwise to anti-clockwise).
+ Calculate an outline mesh at a defined offset (margin) from the original mesh.
+ [b]Note:[/b] This method typically returns the vertices in reverse order (e.g. clockwise to counterclockwise).
</description>
</method>
<method name="create_trimesh_shape" qualifiers="const">
@@ -88,12 +89,12 @@
<argument index="1" name="material" type="Material">
</argument>
<description>
- Set a [Material] for a given surface. Surface will be rendered using this material.
+ Sets a [Material] for a given surface. Surface will be rendered using this material.
</description>
</method>
</methods>
<members>
- <member name="lightmap_size_hint" type="Vector2" setter="set_lightmap_size_hint" getter="get_lightmap_size_hint">
+ <member name="lightmap_size_hint" type="Vector2" setter="set_lightmap_size_hint" getter="get_lightmap_size_hint" default="Vector2( 0, 0 )">
</member>
</members>
<constants>
@@ -194,6 +195,7 @@
Array of indices.
</constant>
<constant name="ARRAY_MAX" value="9" enum="ArrayType">
+ Represents the size of the [enum ArrayType] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/MeshDataTool.xml b/doc/classes/MeshDataTool.xml
index eeb251c8c7..22c31306bf 100644
--- a/doc/classes/MeshDataTool.xml
+++ b/doc/classes/MeshDataTool.xml
@@ -4,9 +4,9 @@
Helper tool to access and edit [Mesh] data.
</brief_description>
<description>
- The MeshDataTool provides access to individual vertices in a [Mesh]. It allows users to read and edit vertex data of meshes. It also creates an array of faces and edges.
- To use the MeshDataTool, load a mesh with [method create_from_surface]. When you are finished editing the data commit the data to a mesh with [method commit_to_surface].
- Below is an example of how the MeshDataTool may be used.
+ MeshDataTool provides access to individual vertices in a [Mesh]. It allows users to read and edit vertex data of meshes. It also creates an array of faces and edges.
+ To use MeshDataTool, load a mesh with [method create_from_surface]. When you are finished editing the data commit the data to a mesh with [method commit_to_surface].
+ Below is an example of how MeshDataTool may be used.
[codeblock]
var mdt = MeshDataTool.new()
mdt.create_from_surface(mesh, 0)
@@ -46,7 +46,7 @@
</argument>
<description>
Uses specified surface of given [Mesh] to populate data for MeshDataTool.
- Requires [Mesh] with primitive type [code]PRIMITIVE_TRIANGLES[/code].
+ Requires [Mesh] with primitive type [constant Mesh.PRIMITIVE_TRIANGLES].
</description>
</method>
<method name="get_edge_count" qualifiers="const">
@@ -111,7 +111,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns meta data associated with given face.
+ Returns the metadata associated with the given face.
</description>
</method>
<method name="get_face_normal" qualifiers="const">
@@ -120,7 +120,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Calculates and returns face normal of given face.
+ Calculates and returns the face normal of the given face.
</description>
</method>
<method name="get_face_vertex" qualifiers="const">
@@ -131,7 +131,7 @@
<argument index="1" name="vertex" type="int">
</argument>
<description>
- Returns specified vertex of given face.
+ Returns the specified vertex of the given face.
Vertex argument must be 2 or less because faces contain three vertices.
</description>
</method>
@@ -139,15 +139,15 @@
<return type="int">
</return>
<description>
- Returns format of [Mesh]. Format is an integer made up of [Mesh] format flags combined together. For example, a mesh containing both vertices and normals would return a format of [code]3[/code] because [code]ARRAY_FORMAT_VERTEX[/code] is [code]1[/code] and [code]ARRAY_FORMAT_NORMAL[/code] is [code]2[/code].
- For list of format flags see [ArrayMesh].
+ Returns the [Mesh]'s format. Format is an integer made up of [Mesh] format flags combined together. For example, a mesh containing both vertices and normals would return a format of [code]3[/code] because [constant ArrayMesh.ARRAY_FORMAT_VERTEX] is [code]1[/code] and [constant ArrayMesh.ARRAY_FORMAT_NORMAL] is [code]2[/code].
+ See [enum ArrayMesh.ArrayFormat] for a list of format flags.
</description>
</method>
<method name="get_material" qualifiers="const">
<return type="Material">
</return>
<description>
- Returns material assigned to the [Mesh].
+ Returns the material assigned to the [Mesh].
</description>
</method>
<method name="get_vertex" qualifiers="const">
@@ -190,7 +190,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns array of edges that share given vertex.
+ Returns an array of edges that share the given vertex.
</description>
</method>
<method name="get_vertex_faces" qualifiers="const">
@@ -199,7 +199,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns array of faces that share given vertex.
+ Returns an array of faces that share the given vertex.
</description>
</method>
<method name="get_vertex_meta" qualifiers="const">
@@ -208,7 +208,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns meta data associated with given vertex.
+ Returns the metadata associated with the given vertex.
</description>
</method>
<method name="get_vertex_normal" qualifiers="const">
@@ -217,7 +217,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns normal of given vertex.
+ Returns the normal of the given vertex.
</description>
</method>
<method name="get_vertex_tangent" qualifiers="const">
@@ -226,7 +226,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns tangent of given vertex.
+ Returns the tangent of the given vertex.
</description>
</method>
<method name="get_vertex_uv" qualifiers="const">
@@ -235,7 +235,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns UV of given vertex.
+ Returns the UV of the given vertex.
</description>
</method>
<method name="get_vertex_uv2" qualifiers="const">
@@ -244,7 +244,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns UV2 of given vertex.
+ Returns the UV2 of the given vertex.
</description>
</method>
<method name="get_vertex_weights" qualifiers="const">
@@ -253,7 +253,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns bone weights of given vertex.
+ Returns bone weights of the given vertex.
</description>
</method>
<method name="set_edge_meta">
@@ -264,7 +264,7 @@
<argument index="1" name="meta" type="Variant">
</argument>
<description>
- Sets the meta data of given edge.
+ Sets the metadata of the given edge.
</description>
</method>
<method name="set_face_meta">
@@ -275,7 +275,7 @@
<argument index="1" name="meta" type="Variant">
</argument>
<description>
- Sets the meta data of given face.
+ Sets the metadata of the given face.
</description>
</method>
<method name="set_material">
@@ -284,7 +284,7 @@
<argument index="0" name="material" type="Material">
</argument>
<description>
- Sets the material to be used by newly constructed [Mesh].
+ Sets the material to be used by newly-constructed [Mesh].
</description>
</method>
<method name="set_vertex">
@@ -295,7 +295,7 @@
<argument index="1" name="vertex" type="Vector3">
</argument>
<description>
- Sets the position of given vertex.
+ Sets the position of the given vertex.
</description>
</method>
<method name="set_vertex_bones">
@@ -306,7 +306,7 @@
<argument index="1" name="bones" type="PoolIntArray">
</argument>
<description>
- Sets the bones of given vertex.
+ Sets the bones of the given vertex.
</description>
</method>
<method name="set_vertex_color">
@@ -317,7 +317,7 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
- Sets the color of given vertex.
+ Sets the color of the given vertex.
</description>
</method>
<method name="set_vertex_meta">
@@ -328,7 +328,7 @@
<argument index="1" name="meta" type="Variant">
</argument>
<description>
- Sets the meta data associated with given vertex.
+ Sets the metadata associated with the given vertex.
</description>
</method>
<method name="set_vertex_normal">
@@ -339,7 +339,7 @@
<argument index="1" name="normal" type="Vector3">
</argument>
<description>
- Sets the normal of given vertex.
+ Sets the normal of the given vertex.
</description>
</method>
<method name="set_vertex_tangent">
@@ -350,7 +350,7 @@
<argument index="1" name="tangent" type="Plane">
</argument>
<description>
- Sets the tangent of given vertex.
+ Sets the tangent of the given vertex.
</description>
</method>
<method name="set_vertex_uv">
@@ -361,7 +361,7 @@
<argument index="1" name="uv" type="Vector2">
</argument>
<description>
- Sets the UV of given vertex.
+ Sets the UV of the given vertex.
</description>
</method>
<method name="set_vertex_uv2">
@@ -372,7 +372,7 @@
<argument index="1" name="uv2" type="Vector2">
</argument>
<description>
- Sets the UV2 of given vertex.
+ Sets the UV2 of the given vertex.
</description>
</method>
<method name="set_vertex_weights">
@@ -383,7 +383,7 @@
<argument index="1" name="weights" type="PoolRealArray">
</argument>
<description>
- Sets the bone weights of given vertex.
+ Sets the bone weights of the given vertex.
</description>
</method>
</methods>
diff --git a/doc/classes/MeshInstance.xml b/doc/classes/MeshInstance.xml
index f5868f51cb..e7dbb8e017 100644
--- a/doc/classes/MeshInstance.xml
+++ b/doc/classes/MeshInstance.xml
@@ -59,10 +59,10 @@
</method>
</methods>
<members>
- <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
+ <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh" default="null">
The [Mesh] resource for the instance.
</member>
- <member name="skeleton" type="NodePath" setter="set_skeleton_path" getter="get_skeleton_path">
+ <member name="skeleton" type="NodePath" setter="set_skeleton_path" getter="get_skeleton_path" default="NodePath(&quot;..&quot;)">
[NodePath] to the [Skeleton] associated with the instance.
</member>
</members>
diff --git a/doc/classes/MeshInstance2D.xml b/doc/classes/MeshInstance2D.xml
index 4b38b9aa96..a44b009fb6 100644
--- a/doc/classes/MeshInstance2D.xml
+++ b/doc/classes/MeshInstance2D.xml
@@ -12,13 +12,13 @@
<methods>
</methods>
<members>
- <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
+ <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh" default="null">
The [Mesh] that will be drawn by the [MeshInstance2D].
</member>
- <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map">
+ <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map" default="null">
The normal map that will be used if using the default [CanvasItemMaterial].
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as [code]TEXTURE[/code] in CanvasItem shader.
</member>
</members>
diff --git a/doc/classes/MeshLibrary.xml b/doc/classes/MeshLibrary.xml
index ad5824640d..041d1fa80d 100644
--- a/doc/classes/MeshLibrary.xml
+++ b/doc/classes/MeshLibrary.xml
@@ -4,7 +4,7 @@
Library of meshes.
</brief_description>
<description>
- Library of meshes. Contains a list of [Mesh] resources, each with name and ID. Useful for GridMap or painting Terrain.
+ Library of meshes. Contains a list of [Mesh] resources, each with name and ID. This resource is used in [GridMap].
</description>
<tutorials>
</tutorials>
@@ -94,7 +94,7 @@
<return type="int">
</return>
<description>
- Get an unused id for a new item.
+ Gets an unused id for a new item.
</description>
</method>
<method name="remove_item">
@@ -103,7 +103,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Remove the item.
+ Removes the item.
</description>
</method>
<method name="set_item_mesh">
@@ -114,7 +114,7 @@
<argument index="1" name="mesh" type="Mesh">
</argument>
<description>
- Set the mesh of the item.
+ Sets the mesh of the item.
</description>
</method>
<method name="set_item_name">
@@ -125,7 +125,7 @@
<argument index="1" name="name" type="String">
</argument>
<description>
- Set the name of the item.
+ Sets the name of the item.
</description>
</method>
<method name="set_item_navmesh">
diff --git a/doc/classes/MeshTexture.xml b/doc/classes/MeshTexture.xml
index d305cca482..4ec8268cc5 100644
--- a/doc/classes/MeshTexture.xml
+++ b/doc/classes/MeshTexture.xml
@@ -11,14 +11,14 @@
<methods>
</methods>
<members>
- <member name="base_texture" type="Texture" setter="set_base_texture" getter="get_base_texture">
- Set the base texture that the Mesh will use to draw.
+ <member name="base_texture" type="Texture" setter="set_base_texture" getter="get_base_texture" default="null">
+ Sets the base texture that the Mesh will use to draw.
</member>
- <member name="image_size" type="Vector2" setter="set_image_size" getter="get_image_size">
- Set the size of the image, needed for reference.
+ <member name="image_size" type="Vector2" setter="set_image_size" getter="get_image_size" default="Vector2( 0, 0 )">
+ Sets the size of the image, needed for reference.
</member>
- <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
- Set the mesh used to draw. It must be a mesh using 2D vertices.
+ <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh" default="null">
+ Sets the mesh used to draw. It must be a mesh using 2D vertices.
</member>
</members>
<constants>
diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml
index 0784fc3a42..295f23a92c 100644
--- a/doc/classes/MultiMesh.xml
+++ b/doc/classes/MultiMesh.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="MultiMesh" inherits="Resource" category="Core" version="3.2">
<brief_description>
- Provides high performance mesh instancing.
+ Provides high-performance mesh instancing.
</brief_description>
<description>
- MultiMesh provides low level mesh instancing. Drawing thousands of [MeshInstance] nodes can be slow because each object is submitted to the GPU to be drawn individually.
- MultiMesh is much faster because it can draw thousands of instances with a single draw call, resulting in less API overhead.
+ MultiMesh provides low-level mesh instancing. Drawing thousands of [MeshInstance] nodes can be slow, since each object is submitted to the GPU then drawn individually.
+ MultiMesh is much faster as it can draw thousands of instances with a single draw call, resulting in less API overhead.
As a drawback, if the instances are too far away of each other, performance may be reduced as every single instance will always rendered (they are spatially indexed as one, for the whole object).
Since instances may have any behavior, the AABB used for visibility must be provided by the user.
</description>
@@ -17,7 +17,7 @@
<return type="AABB">
</return>
<description>
- Returns the visibility AABB.
+ Returns the visibility axis-aligned bounding box.
</description>
</method>
<method name="get_instance_color" qualifiers="const">
@@ -26,7 +26,7 @@
<argument index="0" name="instance" type="int">
</argument>
<description>
- Get the color of a specific instance.
+ Gets a specific instance's color.
</description>
</method>
<method name="get_instance_custom_data" qualifiers="const">
@@ -62,9 +62,9 @@
<argument index="0" name="array" type="PoolRealArray">
</argument>
<description>
- Set all data related to the instances in one go. This is especially useful when loading the data from disk or preparing the data from GDNative.
+ Sets all data related to the instances in one go. This is especially useful when loading the data from disk or preparing the data from GDNative.
All data is packed in one large float array. An array may look like this: Transform for instance 1, color data for instance 1, custom data for instance 1, transform for instance 2, color data for instance 2, etc...
- [Transform] is stored as 12 floats, [Transform2D] is stored as 8 floats, COLOR_8BIT / CUSTOM_DATA_8BIT is stored as 1 float (4 bytes as is) and COLOR_FLOAT / CUSTOM_DATA_FLOAT is stored as 4 floats.
+ [Transform] is stored as 12 floats, [Transform2D] is stored as 8 floats, [code]COLOR_8BIT[/code] / [code]CUSTOM_DATA_8BIT[/code] is stored as 1 float (4 bytes as is) and [code]COLOR_FLOAT[/code] / [code]CUSTOM_DATA_FLOAT[/code] is stored as 4 floats.
</description>
</method>
<method name="set_instance_color">
@@ -75,7 +75,7 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
- Set the color of a specific instance.
+ Sets the color of a specific instance.
For the color to take effect, ensure that [member color_format] is non-[code]null[/code] on the [MultiMesh] and [member SpatialMaterial.vertex_color_use_as_albedo] is [code]true[/code] on the material.
</description>
</method>
@@ -87,7 +87,7 @@
<argument index="1" name="custom_data" type="Color">
</argument>
<description>
- Set custom data for a specific instance. Although [Color] is used, it is just a container for 4 numbers.
+ Sets custom data for a specific instance. Although [Color] is used, it is just a container for 4 numbers.
</description>
</method>
<method name="set_instance_transform">
@@ -98,7 +98,7 @@
<argument index="1" name="transform" type="Transform">
</argument>
<description>
- Set the [Transform] for a specific instance.
+ Sets the [Transform] for a specific instance.
</description>
</method>
<method name="set_instance_transform_2d">
@@ -109,27 +109,27 @@
<argument index="1" name="transform" type="Transform2D">
</argument>
<description>
- Set the [Transform2D] for a specific instance.
+ Sets the [Transform2D] for a specific instance.
</description>
</method>
</methods>
<members>
- <member name="color_format" type="int" setter="set_color_format" getter="get_color_format" enum="MultiMesh.ColorFormat">
+ <member name="color_format" type="int" setter="set_color_format" getter="get_color_format" enum="MultiMesh.ColorFormat" default="0">
Format of colors in color array that gets passed to shader.
</member>
- <member name="custom_data_format" type="int" setter="set_custom_data_format" getter="get_custom_data_format" enum="MultiMesh.CustomDataFormat">
+ <member name="custom_data_format" type="int" setter="set_custom_data_format" getter="get_custom_data_format" enum="MultiMesh.CustomDataFormat" default="0">
Format of custom data in custom data array that gets passed to shader.
</member>
- <member name="instance_count" type="int" setter="set_instance_count" getter="get_instance_count">
- Number of instances that will get drawn. This clears and (re)sizes the buffers. By default all instances are drawn but you can limit this with [member visible_instance_count].
+ <member name="instance_count" type="int" setter="set_instance_count" getter="get_instance_count" default="0">
+ Number of instances that will get drawn. This clears and (re)sizes the buffers. By default, all instances are drawn but you can limit this with [member visible_instance_count].
</member>
- <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
+ <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh" default="null">
Mesh to be drawn.
</member>
- <member name="transform_format" type="int" setter="set_transform_format" getter="get_transform_format" enum="MultiMesh.TransformFormat">
+ <member name="transform_format" type="int" setter="set_transform_format" getter="get_transform_format" enum="MultiMesh.TransformFormat" default="0">
Format of transform used to transform mesh, either 2D or 3D.
</member>
- <member name="visible_instance_count" type="int" setter="set_visible_instance_count" getter="get_visible_instance_count">
+ <member name="visible_instance_count" type="int" setter="set_visible_instance_count" getter="get_visible_instance_count" default="-1">
Limits the number of instances drawn, -1 draws all instances. Changing this does not change the sizes of the buffers.
</member>
</members>
diff --git a/doc/classes/MultiMeshInstance.xml b/doc/classes/MultiMeshInstance.xml
index 70834d6085..5e8cb83a39 100644
--- a/doc/classes/MultiMeshInstance.xml
+++ b/doc/classes/MultiMeshInstance.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
[MultiMeshInstance] is a specialized node to instance [GeometryInstance]s based on a [MultiMesh] resource.
- This is useful to optimize the rendering of a high amount of instances of a given mesh (for example tree in a forest or grass strands).
+ This is useful to optimize the rendering of a high amount of instances of a given mesh (for example trees in a forest or grass strands).
</description>
<tutorials>
<link>http://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/animating_thousands_of_fish.html</link>
@@ -14,7 +14,7 @@
<methods>
</methods>
<members>
- <member name="multimesh" type="MultiMesh" setter="set_multimesh" getter="get_multimesh">
+ <member name="multimesh" type="MultiMesh" setter="set_multimesh" getter="get_multimesh" default="null">
The [MultiMesh] resource that will be used and shared among all instances of the [MultiMeshInstance].
</member>
</members>
diff --git a/doc/classes/MultiMeshInstance2D.xml b/doc/classes/MultiMeshInstance2D.xml
index 8509986c3c..28cee1aeba 100644
--- a/doc/classes/MultiMeshInstance2D.xml
+++ b/doc/classes/MultiMeshInstance2D.xml
@@ -12,13 +12,13 @@
<methods>
</methods>
<members>
- <member name="multimesh" type="MultiMesh" setter="set_multimesh" getter="get_multimesh">
+ <member name="multimesh" type="MultiMesh" setter="set_multimesh" getter="get_multimesh" default="null">
The [MultiMesh] that will be drawn by the [MultiMeshInstance2D].
</member>
- <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map">
+ <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map" default="null">
The normal map that will be used if using the default [CanvasItemMaterial].
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as [code]TEXTURE[/code] in CanvasItem shader.
</member>
</members>
diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml
index 7b5794bbfc..5f8c7ed120 100644
--- a/doc/classes/MultiplayerAPI.xml
+++ b/doc/classes/MultiplayerAPI.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="MultiplayerAPI" inherits="Reference" category="Core" version="3.2">
<brief_description>
- High Level Multiplayer API.
+ High-level multiplayer API.
</brief_description>
<description>
- This class implements most of the logic behind the high level multiplayer API.
+ This class implements most of the logic behind the high-level multiplayer API.
By default, [SceneTree] has a reference to this class that is used to provide multiplayer capabilities (i.e. RPC/RSET) across the whole scene.
It is possible to override the MultiplayerAPI instance used by specific Nodes by setting the [member Node.custom_multiplayer] property, effectively allowing to run both client and server in the same scene.
</description>
@@ -37,7 +37,7 @@
</return>
<description>
Returns the sender's peer ID for the RPC currently being executed.
- NOTE: If not inside an RPC this method will return 0.
+ [b]Note:[/b] If not inside an RPC this method will return 0.
</description>
</method>
<method name="has_network_peer" qualifiers="const">
@@ -58,8 +58,8 @@
<return type="void">
</return>
<description>
- Method used for polling the MultiplayerAPI. You only need to worry about this if you are using [member Node.custom_multiplayer] override or you set [member SceneTree.multiplayer_poll] to [code]false[/code]. By default [SceneTree] will poll its MultiplayerAPI for you.
- NOTE: This method results in RPCs and RSETs being called, so they will be executed in the same context of this function (e.g. [code]_process[/code], [code]physics[/code], [Thread]).
+ Method used for polling the MultiplayerAPI. You only need to worry about this if you are using [member Node.custom_multiplayer] override or you set [member SceneTree.multiplayer_poll] to [code]false[/code]. By default, [SceneTree] will poll its MultiplayerAPI for you.
+ [b]Note:[/b] This method results in RPCs and RSETs being called, so they will be executed in the same context of this function (e.g. [code]_process[/code], [code]physics[/code], [Thread]).
</description>
</method>
<method name="send_bytes">
@@ -87,40 +87,40 @@
</method>
</methods>
<members>
- <member name="allow_object_decoding" type="bool" setter="set_allow_object_decoding" getter="is_object_decoding_allowed">
- If [code]true[/code] (or if the [member network_peer] [member PacketPeer.allow_object_decoding] the MultiplayerAPI will allow encoding and decoding of object during RPCs/RSETs.
- [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
+ <member name="allow_object_decoding" type="bool" setter="set_allow_object_decoding" getter="is_object_decoding_allowed" default="false">
+ If [code]true[/code] (or if the [member network_peer] has [member PacketPeer.allow_object_decoding] set to [code]true[/code]), the MultiplayerAPI will allow encoding and decoding of object during RPCs/RSETs.
+ [b]Warning:[/b] Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
</member>
<member name="network_peer" type="NetworkedMultiplayerPeer" setter="set_network_peer" getter="get_network_peer">
- The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with [method is_network_server]) and will set root node's network mode to master (see NETWORK_MODE_* constants in [Node]), or it will become a regular peer with root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals.
+ The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with [method is_network_server]) and will set root node's network mode to master (see [code]NETWORK_MODE_*[/code] constants in [Node]), or it will become a regular peer with root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals.
</member>
- <member name="refuse_new_network_connections" type="bool" setter="set_refuse_new_network_connections" getter="is_refusing_new_network_connections">
+ <member name="refuse_new_network_connections" type="bool" setter="set_refuse_new_network_connections" getter="is_refusing_new_network_connections" default="false">
If [code]true[/code], the MultiplayerAPI's [member network_peer] refuses new incoming connections.
</member>
</members>
<signals>
<signal name="connected_to_server">
<description>
- Emitted whenever this MultiplayerAPI's [member network_peer] successfully connected to a server. Only emitted on clients.
+ Emitted when this MultiplayerAPI's [member network_peer] successfully connected to a server. Only emitted on clients.
</description>
</signal>
<signal name="connection_failed">
<description>
- Emitted whenever this MultiplayerAPI's [member network_peer] fails to establish a connection to a server. Only emitted on clients.
+ Emitted when this MultiplayerAPI's [member network_peer] fails to establish a connection to a server. Only emitted on clients.
</description>
</signal>
<signal name="network_peer_connected">
<argument index="0" name="id" type="int">
</argument>
<description>
- Emitted whenever this MultiplayerAPI's [member network_peer] connects with a new peer. ID is the peer ID of the new peer. Clients get notified when other clients connect to the same server. Upon connecting to a server, a client also receives this signal for the server (with ID being 1).
+ Emitted when this MultiplayerAPI's [member network_peer] connects with a new peer. ID is the peer ID of the new peer. Clients get notified when other clients connect to the same server. Upon connecting to a server, a client also receives this signal for the server (with ID being 1).
</description>
</signal>
<signal name="network_peer_disconnected">
<argument index="0" name="id" type="int">
</argument>
<description>
- Emitted whenever this MultiplayerAPI's [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server.
+ Emitted when this MultiplayerAPI's [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server.
</description>
</signal>
<signal name="network_peer_packet">
@@ -129,12 +129,12 @@
<argument index="1" name="packet" type="PoolByteArray">
</argument>
<description>
- Emitted whenever this MultiplayerAPI's [member network_peer] receive a [code]packet[/code] with custom data (see [method send_bytes]). ID is the peer ID of the peer that sent the packet.
+ Emitted when this MultiplayerAPI's [member network_peer] receive a [code]packet[/code] with custom data (see [method send_bytes]). ID is the peer ID of the peer that sent the packet.
</description>
</signal>
<signal name="server_disconnected">
<description>
- Emitted whenever this MultiplayerAPI's [member network_peer] disconnects from server. Only emitted on clients.
+ Emitted when this MultiplayerAPI's [member network_peer] disconnects from server. Only emitted on clients.
</description>
</signal>
</signals>
@@ -152,19 +152,19 @@
Used with [method Node.rpc_config] or [method Node.rset_config] to set a method to be called or a property to be changed only on puppets for this node. Analogous to the [code]puppet[/code] keyword. Only accepts calls or property changes from the node's network master, see [method Node.set_network_master].
</constant>
<constant name="RPC_MODE_SLAVE" value="3" enum="RPCMode">
- Deprecated. Use [code]RPC_MODE_PUPPET[/code] instead. Analogous to the [code]slave[/code] keyword.
+ [i]Deprecated.[/i] Use [constant RPC_MODE_PUPPET] instead. Analogous to the [code]slave[/code] keyword.
</constant>
<constant name="RPC_MODE_REMOTESYNC" value="4" enum="RPCMode">
- Behave like [code]RPC_MODE_REMOTE[/code] but also make the call or property change locally. Analogous to the [code]remotesync[/code] keyword.
+ Behave like [constant RPC_MODE_REMOTE] but also make the call or property change locally. Analogous to the [code]remotesync[/code] keyword.
</constant>
<constant name="RPC_MODE_SYNC" value="4" enum="RPCMode">
- Deprecated. Use [code]RPC_MODE_REMOTESYNC[/code] instead. Analogous to the [code]sync[/code] keyword.
+ [i]Deprecated.[/i] Use [constant RPC_MODE_REMOTESYNC] instead. Analogous to the [code]sync[/code] keyword.
</constant>
<constant name="RPC_MODE_MASTERSYNC" value="5" enum="RPCMode">
- Behave like [code]RPC_MODE_MASTER[/code] but also make the call or property change locally. Analogous to the [code]mastersync[/code] keyword.
+ Behave like [constant RPC_MODE_MASTER] but also make the call or property change locally. Analogous to the [code]mastersync[/code] keyword.
</constant>
<constant name="RPC_MODE_PUPPETSYNC" value="6" enum="RPCMode">
- Behave like [code]RPC_MODE_PUPPET[/code] but also make the call or property change locally. Analogous to the [code]puppetsync[/code] keyword.
+ Behave like [constant RPC_MODE_PUPPET] but also make the call or property change locally. Analogous to the [code]puppetsync[/code] keyword.
</constant>
</constants>
</class>
diff --git a/doc/classes/Mutex.xml b/doc/classes/Mutex.xml
index 73c0a53f59..793696321b 100644
--- a/doc/classes/Mutex.xml
+++ b/doc/classes/Mutex.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Mutex" inherits="Reference" category="Core" version="3.2">
<brief_description>
- A synchronization Mutex.
+ A synchronization mutex (mutual exclusion).
</brief_description>
<description>
- A synchronization Mutex. Element used to synchronize multiple [Thread]s. Basically a binary [Semaphore]. Guarantees that only one thread can ever acquire this lock at a time. Can be used to protect a critical section. Be careful to avoid deadlocks.
+ A synchronization mutex (mutual exclusion). This is used to synchronize multiple [Thread]s, and is equivalent to a binary [Semaphore]. It guarantees that only one thread can ever acquire the lock at a time. A mutex can be used to protect a critical section; however, be careful to avoid deadlocks.
</description>
<tutorials>
</tutorials>
@@ -13,21 +13,21 @@
<return type="void">
</return>
<description>
- Lock this [Mutex], blocks until it is unlocked by the current owner.
+ Locks this [Mutex], blocks until it is unlocked by the current owner.
</description>
</method>
<method name="try_lock">
<return type="int" enum="Error">
</return>
<description>
- Try locking this [Mutex], does not block. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise.
+ Tries locking this [Mutex], but does not block. Returns [constant OK] on success, [constant ERR_BUSY] otherwise.
</description>
</method>
<method name="unlock">
<return type="void">
</return>
<description>
- Unlock this [Mutex], leaving it to other threads.
+ Unlocks this [Mutex], leaving it to other threads.
</description>
</method>
</methods>
diff --git a/doc/classes/Navigation.xml b/doc/classes/Navigation.xml
index f0ae3fef99..58b7d1255e 100644
--- a/doc/classes/Navigation.xml
+++ b/doc/classes/Navigation.xml
@@ -4,7 +4,7 @@
Mesh-based navigation and pathfinding node.
</brief_description>
<description>
- Provides navigation and pathfinding within a collection of [NavigationMesh]es. By default these will be automatically collected from child [NavigationMeshInstance] nodes, but they can also be added on the fly with [method navmesh_add]. In addition to basic pathfinding, this class also assists with aligning navigation agents with the meshes they are navigating on.
+ Provides navigation and pathfinding within a collection of [NavigationMesh]es. By default, these will be automatically collected from child [NavigationMeshInstance] nodes, but they can also be added on the fly with [method navmesh_add]. In addition to basic pathfinding, this class also assists with aligning navigation agents with the meshes they are navigating on.
</description>
<tutorials>
</tutorials>
@@ -97,8 +97,8 @@
</method>
</methods>
<members>
- <member name="up_vector" type="Vector3" setter="set_up_vector" getter="get_up_vector">
- Defines which direction is up. By default this is [code](0, 1, 0)[/code], which is the world up direction.
+ <member name="up_vector" type="Vector3" setter="set_up_vector" getter="get_up_vector" default="Vector3( 0, 1, 0 )">
+ Defines which direction is up. By default, this is [code](0, 1, 0)[/code], which is the world's "up" direction.
</member>
</members>
<constants>
diff --git a/doc/classes/Navigation2D.xml b/doc/classes/Navigation2D.xml
index 67b5d72182..ea1b992d79 100644
--- a/doc/classes/Navigation2D.xml
+++ b/doc/classes/Navigation2D.xml
@@ -4,7 +4,7 @@
2D navigation and pathfinding node.
</brief_description>
<description>
- Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of [NavigationPolygon] resources. By default these are automatically collected from child [NavigationPolygonInstance] nodes, but they can also be added on the fly with [method navpoly_add].
+ Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of [NavigationPolygon] resources. By default, these are automatically collected from child [NavigationPolygonInstance] nodes, but they can also be added on the fly with [method navpoly_add].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/NavigationMesh.xml b/doc/classes/NavigationMesh.xml
index 79ad7f63ae..f6c7a7d1b5 100644
--- a/doc/classes/NavigationMesh.xml
+++ b/doc/classes/NavigationMesh.xml
@@ -77,43 +77,43 @@
</method>
</methods>
<members>
- <member name="agent/height" type="float" setter="set_agent_height" getter="get_agent_height">
+ <member name="agent/height" type="float" setter="set_agent_height" getter="get_agent_height" default="2.0">
</member>
- <member name="agent/max_climb" type="float" setter="set_agent_max_climb" getter="get_agent_max_climb">
+ <member name="agent/max_climb" type="float" setter="set_agent_max_climb" getter="get_agent_max_climb" default="0.9">
</member>
- <member name="agent/max_slope" type="float" setter="set_agent_max_slope" getter="get_agent_max_slope">
+ <member name="agent/max_slope" type="float" setter="set_agent_max_slope" getter="get_agent_max_slope" default="45.0">
</member>
- <member name="agent/radius" type="float" setter="set_agent_radius" getter="get_agent_radius">
+ <member name="agent/radius" type="float" setter="set_agent_radius" getter="get_agent_radius" default="0.6">
</member>
- <member name="cell/height" type="float" setter="set_cell_height" getter="get_cell_height">
+ <member name="cell/height" type="float" setter="set_cell_height" getter="get_cell_height" default="0.2">
</member>
- <member name="cell/size" type="float" setter="set_cell_size" getter="get_cell_size">
+ <member name="cell/size" type="float" setter="set_cell_size" getter="get_cell_size" default="0.3">
</member>
- <member name="detail/sample_distance" type="float" setter="set_detail_sample_distance" getter="get_detail_sample_distance">
+ <member name="detail/sample_distance" type="float" setter="set_detail_sample_distance" getter="get_detail_sample_distance" default="6.0">
</member>
- <member name="detail/sample_max_error" type="float" setter="set_detail_sample_max_error" getter="get_detail_sample_max_error">
+ <member name="detail/sample_max_error" type="float" setter="set_detail_sample_max_error" getter="get_detail_sample_max_error" default="1.0">
</member>
- <member name="edge/max_error" type="float" setter="set_edge_max_error" getter="get_edge_max_error">
+ <member name="edge/max_error" type="float" setter="set_edge_max_error" getter="get_edge_max_error" default="1.3">
</member>
- <member name="edge/max_length" type="float" setter="set_edge_max_length" getter="get_edge_max_length">
+ <member name="edge/max_length" type="float" setter="set_edge_max_length" getter="get_edge_max_length" default="12.0">
</member>
- <member name="filter/filter_walkable_low_height_spans" type="bool" setter="set_filter_walkable_low_height_spans" getter="get_filter_walkable_low_height_spans">
+ <member name="filter/filter_walkable_low_height_spans" type="bool" setter="set_filter_walkable_low_height_spans" getter="get_filter_walkable_low_height_spans" default="false">
</member>
- <member name="filter/ledge_spans" type="bool" setter="set_filter_ledge_spans" getter="get_filter_ledge_spans">
+ <member name="filter/ledge_spans" type="bool" setter="set_filter_ledge_spans" getter="get_filter_ledge_spans" default="false">
</member>
- <member name="filter/low_hanging_obstacles" type="bool" setter="set_filter_low_hanging_obstacles" getter="get_filter_low_hanging_obstacles">
+ <member name="filter/low_hanging_obstacles" type="bool" setter="set_filter_low_hanging_obstacles" getter="get_filter_low_hanging_obstacles" default="false">
</member>
<member name="geometry/collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
</member>
- <member name="geometry/parsed_geometry_type" type="int" setter="set_parsed_geometry_type" getter="get_parsed_geometry_type">
+ <member name="geometry/parsed_geometry_type" type="int" setter="set_parsed_geometry_type" getter="get_parsed_geometry_type" default="0">
</member>
- <member name="polygon/verts_per_poly" type="float" setter="set_verts_per_poly" getter="get_verts_per_poly">
+ <member name="polygon/verts_per_poly" type="float" setter="set_verts_per_poly" getter="get_verts_per_poly" default="6.0">
</member>
- <member name="region/merge_size" type="float" setter="set_region_merge_size" getter="get_region_merge_size">
+ <member name="region/merge_size" type="float" setter="set_region_merge_size" getter="get_region_merge_size" default="20.0">
</member>
- <member name="region/min_size" type="float" setter="set_region_min_size" getter="get_region_min_size">
+ <member name="region/min_size" type="float" setter="set_region_min_size" getter="get_region_min_size" default="8.0">
</member>
- <member name="sample_partition_type/sample_partition_type" type="int" setter="set_sample_partition_type" getter="get_sample_partition_type">
+ <member name="sample_partition_type/sample_partition_type" type="int" setter="set_sample_partition_type" getter="get_sample_partition_type" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/NavigationMeshInstance.xml b/doc/classes/NavigationMeshInstance.xml
index 3b11005e38..a6266aac0a 100644
--- a/doc/classes/NavigationMeshInstance.xml
+++ b/doc/classes/NavigationMeshInstance.xml
@@ -9,9 +9,9 @@
<methods>
</methods>
<members>
- <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled">
+ <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
</member>
- <member name="navmesh" type="NavigationMesh" setter="set_navigation_mesh" getter="get_navigation_mesh">
+ <member name="navmesh" type="NavigationMesh" setter="set_navigation_mesh" getter="get_navigation_mesh" default="null">
</member>
</members>
<constants>
diff --git a/doc/classes/NavigationPolygon.xml b/doc/classes/NavigationPolygon.xml
index 2630ae1377..555f308660 100644
--- a/doc/classes/NavigationPolygon.xml
+++ b/doc/classes/NavigationPolygon.xml
@@ -4,7 +4,7 @@
A node that has methods to draw outlines or use indices of vertices to create navigation polygons.
</brief_description>
<description>
- There are two ways to create polygons. Either by using the [method add_outline] method or using the [method add_polygon] method.
+ There are two ways to create polygons. Either by using the [method add_outline] method, or using the [method add_polygon] method.
Using [method add_outline]:
[codeblock]
var polygon = NavigationPolygon.new()
diff --git a/doc/classes/NavigationPolygonInstance.xml b/doc/classes/NavigationPolygonInstance.xml
index e566e25336..26cc7fbf31 100644
--- a/doc/classes/NavigationPolygonInstance.xml
+++ b/doc/classes/NavigationPolygonInstance.xml
@@ -9,9 +9,9 @@
<methods>
</methods>
<members>
- <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled">
+ <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
</member>
- <member name="navpoly" type="NavigationPolygon" setter="set_navigation_polygon" getter="get_navigation_polygon">
+ <member name="navpoly" type="NavigationPolygon" setter="set_navigation_polygon" getter="get_navigation_polygon" default="null">
</member>
</members>
<constants>
diff --git a/doc/classes/NetworkedMultiplayerPeer.xml b/doc/classes/NetworkedMultiplayerPeer.xml
index e5cadb6ffe..4f212cf392 100644
--- a/doc/classes/NetworkedMultiplayerPeer.xml
+++ b/doc/classes/NetworkedMultiplayerPeer.xml
@@ -45,15 +45,15 @@
</argument>
<description>
Sets the peer to which packets will be sent.
- The [code]id[/code] can be one of: [code]TARGET_PEER_BROADCAST[/code] to send to all connected peers, [code]TARGET_PEER_SERVER[/code] to send to the peer acting as server, a valid peer ID to send to that specific peer, a negative peer ID to send to all peers except that one. Default: [code]TARGET_PEER_BROADCAST[/code]
+ The [code]id[/code] can be one of: [constant TARGET_PEER_BROADCAST] to send to all connected peers, [constant TARGET_PEER_SERVER] to send to the peer acting as server, a valid peer ID to send to that specific peer, a negative peer ID to send to all peers except that one. By default, the target peer is [constant TARGET_PEER_BROADCAST].
</description>
</method>
</methods>
<members>
- <member name="refuse_new_connections" type="bool" setter="set_refuse_new_connections" getter="is_refusing_new_connections">
- If [code]true[/code], this [NetworkedMultiplayerPeer] refuses new connections. Default value: [code]false[/code].
+ <member name="refuse_new_connections" type="bool" setter="set_refuse_new_connections" getter="is_refusing_new_connections" default="true">
+ If [code]true[/code], this [NetworkedMultiplayerPeer] refuses new connections.
</member>
- <member name="transfer_mode" type="int" setter="set_transfer_mode" getter="get_transfer_mode" enum="NetworkedMultiplayerPeer.TransferMode">
+ <member name="transfer_mode" type="int" setter="set_transfer_mode" getter="get_transfer_mode" enum="NetworkedMultiplayerPeer.TransferMode" default="0">
The manner in which to send packets to the [code]target_peer[/code]. See [enum TransferMode].
</member>
</members>
@@ -90,13 +90,13 @@
</signals>
<constants>
<constant name="TRANSFER_MODE_UNRELIABLE" value="0" enum="TransferMode">
- Packets are not acknowledged, no resend attempts are made for lost packets. Packets may arrive in any order. Potentially faster than [code]TRANSFER_MODE_UNRELIABLE_ORDERED[/code]. Use for non-critical data, and always consider whether the order matters.
+ Packets are not acknowledged, no resend attempts are made for lost packets. Packets may arrive in any order. Potentially faster than [constant TRANSFER_MODE_UNRELIABLE_ORDERED]. Use for non-critical data, and always consider whether the order matters.
</constant>
<constant name="TRANSFER_MODE_UNRELIABLE_ORDERED" value="1" enum="TransferMode">
- Packets are not acknowledged, no resend attempts are made for lost packets. Packets are received in the order they were sent in. Potentially faster than [code]TRANSFER_MODE_RELIABLE[/code]. Use for non-critical data or data that would be outdated if received late due to resend attempt(s) anyway, for example movement and positional data.
+ Packets are not acknowledged, no resend attempts are made for lost packets. Packets are received in the order they were sent in. Potentially faster than [constant TRANSFER_MODE_RELIABLE]. Use for non-critical data or data that would be outdated if received late due to resend attempt(s) anyway, for example movement and positional data.
</constant>
<constant name="TRANSFER_MODE_RELIABLE" value="2" enum="TransferMode">
- Packets must be received and resend attempts should be made until the packets are acknowledged. Packets must be received in the order they were sent in. Most reliable transfer mode, but potentially slowest due to the overhead. Use for critical data that must be transmitted and arrive in order, for example an ability being triggered or a chat message. Consider carefully if the information really is critical, and use sparingly.
+ Packets must be received and resend attempts should be made until the packets are acknowledged. Packets must be received in the order they were sent in. Most reliable transfer mode, but potentially the slowest due to the overhead. Use for critical data that must be transmitted and arrive in order, for example an ability being triggered or a chat message. Consider carefully if the information really is critical, and use sparingly.
</constant>
<constant name="CONNECTION_DISCONNECTED" value="0" enum="ConnectionStatus">
The ongoing connection disconnected.
diff --git a/doc/classes/NinePatchRect.xml b/doc/classes/NinePatchRect.xml
index 3095da14be..0723d50ba1 100644
--- a/doc/classes/NinePatchRect.xml
+++ b/doc/classes/NinePatchRect.xml
@@ -4,38 +4,38 @@
Scalable texture-based frame that tiles the texture's centers and sides, but keeps the corners' original size. Perfect for panels and dialog boxes.
</brief_description>
<description>
- Better known as 9-slice panels, NinePatchRect produces clean panels of any size, based on a small texture. To do so, it splits the texture in a 3 by 3 grid. When you scale the node, it tiles the texture's sides horizontally or vertically, the center on both axes but it doesn't scale or tile the corners.
+ Also known as 9-slice panels, NinePatchRect produces clean panels of any size, based on a small texture. To do so, it splits the texture in a 3×3 grid. When you scale the node, it tiles the texture's sides horizontally or vertically, the center on both axes but it doesn't scale or tile the corners.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="axis_stretch_horizontal" type="int" setter="set_h_axis_stretch_mode" getter="get_h_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode">
+ <member name="axis_stretch_horizontal" type="int" setter="set_h_axis_stretch_mode" getter="get_h_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode" default="0">
Doesn't do anything at the time of writing.
</member>
- <member name="axis_stretch_vertical" type="int" setter="set_v_axis_stretch_mode" getter="get_v_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode">
+ <member name="axis_stretch_vertical" type="int" setter="set_v_axis_stretch_mode" getter="get_v_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode" default="0">
Doesn't do anything at the time of writing.
</member>
- <member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled">
- If [code]true[/code], draw the panel's center. Else, only draw the 9-slice's borders. Default value: [code]true[/code]
+ <member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled" default="true">
+ If [code]true[/code], draw the panel's center. Else, only draw the 9-slice's borders.
</member>
- <member name="patch_margin_bottom" type="int" setter="set_patch_margin" getter="get_patch_margin">
+ <member name="patch_margin_bottom" type="int" setter="set_patch_margin" getter="get_patch_margin" default="0">
The height of the 9-slice's bottom row. A margin of 16 means the 9-slice's bottom corners and side will have a height of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders.
</member>
- <member name="patch_margin_left" type="int" setter="set_patch_margin" getter="get_patch_margin">
+ <member name="patch_margin_left" type="int" setter="set_patch_margin" getter="get_patch_margin" default="0">
The height of the 9-slice's left column.
</member>
- <member name="patch_margin_right" type="int" setter="set_patch_margin" getter="get_patch_margin">
+ <member name="patch_margin_right" type="int" setter="set_patch_margin" getter="get_patch_margin" default="0">
The height of the 9-slice's right column.
</member>
- <member name="patch_margin_top" type="int" setter="set_patch_margin" getter="get_patch_margin">
+ <member name="patch_margin_top" type="int" setter="set_patch_margin" getter="get_patch_margin" default="0">
The height of the 9-slice's top row.
</member>
- <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect">
+ <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2( 0, 0, 0, 0 )">
Rectangular region of the texture to sample from. If you're working with an atlas, use this property to define the area the 9-slice should use. All other properties are relative to this one.
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
The node's texture resource.
</member>
</members>
@@ -48,7 +48,7 @@
</signals>
<constants>
<constant name="AXIS_STRETCH_MODE_STRETCH" value="0" enum="AxisStretchMode">
- Doesn't do anything at the time of writing. Default value for [code]axis_stretch_horizontal[/code] and [code]axis_stretch_vertical[/code].
+ Doesn't do anything at the time of writing.
</constant>
<constant name="AXIS_STRETCH_MODE_TILE" value="1" enum="AxisStretchMode">
Doesn't do anything at the time of writing.
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 1fb2e7350f..5a90354124 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -6,15 +6,15 @@
<description>
Nodes are Godot's building blocks. They can be assigned as the child of another node, resulting in a tree arrangement. A given node can contain any number of nodes as children with the requirement that all siblings (direct children of a node) should have unique names.
A tree of nodes is called a [i]scene[/i]. Scenes can be saved to the disk and then instanced into other scenes. This allows for very high flexibility in the architecture and data model of Godot projects.
- [b]Scene tree:[/b] The [SceneTree] contains the active tree of nodes. When a node is added to the scene tree, it receives the NOTIFICATION_ENTER_TREE notification and its [method _enter_tree] callback is triggered. Child nodes are always added [i]after[/i] their parent node, i.e. the [method _enter_tree] callback of a parent node will be triggered before its child's.
- Once all nodes have been added in the scene tree, they receive the NOTIFICATION_READY notification and their respective [method _ready] callbacks are triggered. For groups of nodes, the [method _ready] callback is called in reverse order, starting with the children and moving up to the parent nodes.
+ [b]Scene tree:[/b] The [SceneTree] contains the active tree of nodes. When a node is added to the scene tree, it receives the [constant NOTIFICATION_ENTER_TREE] notification and its [method _enter_tree] callback is triggered. Child nodes are always added [i]after[/i] their parent node, i.e. the [method _enter_tree] callback of a parent node will be triggered before its child's.
+ Once all nodes have been added in the scene tree, they receive the [constant NOTIFICATION_READY] notification and their respective [method _ready] callbacks are triggered. For groups of nodes, the [method _ready] callback is called in reverse order, starting with the children and moving up to the parent nodes.
This means that when adding a node to the scene tree, the following order will be used for the callbacks: [method _enter_tree] of the parent, [method _enter_tree] of the children, [method _ready] of the children and finally [method _ready] of the parent (recursively for the entire scene tree).
[b]Processing:[/b] Nodes can override the "process" state, so that they receive a callback on each frame requesting them to process (do something). Normal processing (callback [method _process], toggled with [method set_process]) happens as fast as possible and is dependent on the frame rate, so the processing time [i]delta[/i] is passed as an argument. Physics processing (callback [method _physics_process], toggled with [method set_physics_process]) happens a fixed number of times per second (60 by default) and is useful for code related to the physics engine.
Nodes can also process input events. When present, the [method _input] function will be called for each input that the program receives. In many cases, this can be overkill (unless used for simple projects), and the [method _unhandled_input] function might be preferred; it is called when the input event was not handled by anyone else (typically, GUI [Control] nodes), ensuring that the node only receives the events that were meant for it.
To keep track of the scene hierarchy (especially when instancing scenes into other scenes), an "owner" can be set for the node with the [member owner] property. This keeps track of who instanced what. This is mostly useful when writing editors and tools, though.
Finally, when a node is freed with [method Object.free] or [method queue_free], it will also free all its children.
[b]Groups:[/b] Nodes can be added to as many groups as you want to be easy to manage, you could create groups like "enemies" or "collectables" for example, depending on your game. See [method add_to_group], [method is_in_group] and [method remove_from_group]. You can then retrieve all nodes in these groups, iterate them and even call methods on groups via the methods on [SceneTree].
- [b]Networking with nodes:[/b] After connecting to a server (or making one, see [NetworkedMultiplayerENet]) it is possible to use the built-in RPC (remote procedure call) system to communicate over the network. By calling [method rpc] with a method name, it will be called locally and in all connected peers (peers = clients and the server that accepts connections). To identify which node receives the RPC call Godot will use its [NodePath] (make sure node names are the same on all peers). Also take a look at the high-level networking tutorial and corresponding demos.
+ [b]Networking with nodes:[/b] After connecting to a server (or making one, see [NetworkedMultiplayerENet]), it is possible to use the built-in RPC (remote procedure call) system to communicate over the network. By calling [method rpc] with a method name, it will be called locally and in all connected peers (peers = clients and the server that accepts connections). To identify which node receives the RPC call, Godot will use its [NodePath] (make sure node names are the same on all peers). Also, take a look at the high-level networking tutorial and corresponding demos.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/getting_started/step_by_step/scenes_and_nodes.html</link>
@@ -25,7 +25,7 @@
</return>
<description>
Called when the node enters the [SceneTree] (e.g. upon instancing, scene changing, or after calling [method add_child] in a script). If the node has children, its [method _enter_tree] callback will be called first, and then that of the children.
- Corresponds to the NOTIFICATION_ENTER_TREE notification in [method Object._notification].
+ Corresponds to the [constant NOTIFICATION_ENTER_TREE] notification in [method Object._notification].
</description>
</method>
<method name="_exit_tree" qualifiers="virtual">
@@ -33,7 +33,7 @@
</return>
<description>
Called when the node is about to leave the [SceneTree] (e.g. upon freeing, scene changing, or after calling [method remove_child] in a script). If the node has children, its [method _exit_tree] callback will be called last, after all its children have left the tree.
- Corresponds to the NOTIFICATION_EXIT_TREE notification in [method Object._notification] and signal [signal tree_exiting]. To get notified when the node has already left the active tree, connect to the [signal tree_exited]
+ Corresponds to the [constant NOTIFICATION_EXIT_TREE] notification in [method Object._notification] and signal [signal tree_exiting]. To get notified when the node has already left the active tree, connect to the [signal tree_exited]
</description>
</method>
<method name="_get_configuration_warning" qualifiers="virtual">
@@ -64,7 +64,7 @@
<description>
Called during the physics processing step of the main loop. Physics processing means that the frame rate is synced to the physics, i.e. the [code]delta[/code] variable should be constant.
It is only called if physics processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_physics_process].
- Corresponds to the NOTIFICATION_PHYSICS_PROCESS notification in [method Object._notification].
+ Corresponds to the [constant NOTIFICATION_PHYSICS_PROCESS] notification in [method Object._notification].
</description>
</method>
<method name="_process" qualifiers="virtual">
@@ -75,7 +75,7 @@
<description>
Called during the processing step of the main loop. Processing happens at every frame and as fast as possible, so the [code]delta[/code] time since the previous frame is not constant.
It is only called if processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process].
- Corresponds to the NOTIFICATION_PROCESS notification in [method Object._notification].
+ Corresponds to the [constant NOTIFICATION_PROCESS] notification in [method Object._notification].
</description>
</method>
<method name="_ready" qualifiers="virtual">
@@ -83,8 +83,9 @@
</return>
<description>
Called when the node is "ready", i.e. when both the node and its children have entered the scene tree. If the node has children, their [method _ready] callbacks get triggered first, and the parent node will receive the ready notification afterwards.
- Corresponds to the NOTIFICATION_READY notification in [method Object._notification]. See also the [code]onready[/code] keyword for variables.
- Usually used for initialization. For even earlier initialization, [method Object._init] may be used. Also see [method _enter_tree].
+ Corresponds to the [constant NOTIFICATION_READY] notification in [method Object._notification]. See also the [code]onready[/code] keyword for variables.
+ Usually used for initialization. For even earlier initialization, [method Object._init] may be used. See also [method _enter_tree].
+ [b]Note:[/b] [method _ready] may be called only once for each node. After removing a node from the scene tree and adding again, [code]_ready[/code] will not be called for the second time. This can be bypassed with requesting another call with [method request_ready], which may be called anywhere before adding the node again.
</description>
</method>
<method name="_unhandled_input" qualifiers="virtual">
@@ -120,7 +121,7 @@
</argument>
<description>
Adds a child node. Nodes can have any number of children, but every child must have a unique name. Child nodes are automatically deleted when the parent node is deleted, so an entire scene can be removed by deleting its topmost node.
- Setting "legible_unique_name" [code]true[/code] creates child nodes with human-readable names, based on the name of the node being instanced instead of its type.
+ If [code]legible_unique_name[/code] is [code]true[/code], the child node will have an human-readable name based on the name of the node being instanced instead of its type.
</description>
</method>
<method name="add_child_below_node">
@@ -134,7 +135,7 @@
</argument>
<description>
Adds a child node. The child is placed below the given node in the list of children.
- Setting "legible_unique_name" [code]true[/code] creates child nodes with human-readable names, based on the name of the node being instanced instead of its type.
+ If [code]legible_unique_name[/code] is [code]true[/code], the child node will have an human-readable name based on the name of the node being instanced instead of its type.
</description>
</method>
<method name="add_to_group">
@@ -146,7 +147,7 @@
</argument>
<description>
Adds the node to a group. Groups are helpers to name and organize a subset of nodes, for example "enemies" or "collectables". A node can be in any number of groups. Nodes can be assigned a group at any time, but will not be added until they are inside the scene tree (see [method is_inside_tree]). See notes in the description, and the group methods in [SceneTree].
- [code]persistent[/code] option is used when packing node to [PackedScene] and saving to file. Non-persistent groups aren't stored.
+ The [code]persistent[/code] option is used when packing node to [PackedScene] and saving to file. Non-persistent groups aren't stored.
</description>
</method>
<method name="can_process" qualifiers="const">
@@ -163,7 +164,7 @@
</argument>
<description>
Duplicates the node, returning a new node.
- You can fine-tune the behavior using the [code]flags[/code] (see [enum Node.DuplicateFlags]).
+ You can fine-tune the behavior using the [code]flags[/code] (see [enum DuplicateFlags]).
</description>
</method>
<method name="find_node" qualifiers="const">
@@ -176,8 +177,9 @@
<argument index="2" name="owned" type="bool" default="true">
</argument>
<description>
- Finds a descendant of this node whose name matches [code]mask[/code] as in [method String.match] (i.e. case sensitive, but '*' matches zero or more characters and '?' matches any single character except '.'). Note that it does not match against the full path, just against individual node names.
- If [code]owned[/code] is [code]true[/code], this method only finds nodes whose owner is this node. This is especially important for scenes instantiated through script, because those scenes don't have an owner.
+ Finds a descendant of this node whose name matches [code]mask[/code] as in [method String.match] (i.e. case-sensitive, but [code]"*"[/code] matches zero or more characters and [code]"?"[/code] matches any single character except [code]"."[/code]).
+ [b]Note:[/b] It does not match against the full path, just against individual node names.
+ If [code]owned[/code] is [code]true[/code], this method only finds nodes whose owner is this node. This is especially important for scenes instantiated through a script, because those scenes don't have an owner.
</description>
</method>
<method name="find_parent" qualifiers="const">
@@ -186,7 +188,8 @@
<argument index="0" name="mask" type="String">
</argument>
<description>
- Finds the first parent of the current node whose name matches [code]mask[/code] as in [method String.match] (i.e. case sensitive, but '*' matches zero or more characters and '?' matches any single character except '.'). Note that it does not match against the full path, just against individual node names.
+ Finds the first parent of the current node whose name matches [code]mask[/code] as in [method String.match] (i.e. case-sensitive, but [code]"*"[/code] matches zero or more characters and [code]"?"[/code] matches any single character except [code]"."[/code]).
+ [b]Note:[/b] It does not match against the full path, just against individual node names.
</description>
</method>
<method name="get_child" qualifiers="const">
@@ -268,6 +271,14 @@
<argument index="0" name="path" type="NodePath">
</argument>
<description>
+ Fetches a node and one of its resources as specified by the [NodePath]'s subname (e.g. [code]Area2D/CollisionShape2D:shape[/code]). If several nested resources are specified in the [NodePath], the last one will be fetched.
+ The return value is an array of size 3: the first index points to the [Node] (or [code]null[/code] if not found), the second index points to the [Resource] (or [code]null[/code] if not found), and the third index is the remaining [NodePath], if any.
+ For example, assuming that [code]Area2D/CollisionShape2D[/code] is a valid node and that its [code]shape[/code] property has been assigned a [RectangleShape2D] resource, one could have this kind of output:
+ [codeblock]
+ print(get_node_and_resource("Area2D/CollisionShape2D")) # [[CollisionShape2D:1161], Null, ]
+ print(get_node_and_resource("Area2D/CollisionShape2D:shape")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], ]
+ print(get_node_and_resource("Area2D/CollisionShape2D:shape:extents")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], :extents]
+ [/codeblock]
</description>
</method>
<method name="get_node_or_null" qualifiers="const">
@@ -276,7 +287,7 @@
<argument index="0" name="path" type="NodePath">
</argument>
<description>
- Similar to [method get_node], but does not raise an error when [code]path[/code] does not point to a valid [Node].
+ Similar to [method get_node], but does not raise an error if [code]path[/code] does not point to a valid [Node].
</description>
</method>
<method name="get_parent" qualifiers="const">
@@ -306,7 +317,7 @@
<return type="float">
</return>
<description>
- Returns the time elapsed since the last physics-bound frame (see [method _physics_process]). This is always a constant value in physics processing unless the frames per second is changed in [OS].
+ Returns the time elapsed since the last physics-bound frame (see [method _physics_process]). This is always a constant value in physics processing unless the frames per second is changed via [member Engine.target_fps].
</description>
</method>
<method name="get_position_in_parent" qualifiers="const">
@@ -359,6 +370,7 @@
<argument index="0" name="path" type="NodePath">
</argument>
<description>
+ Returns [code]true[/code] if the [NodePath] points to a valid node and its subname points to a valid resource, e.g. [code]Area2D/CollisionShape2D:shape[/code]. Properties with a non-[Resource] type (e.g. nodes or primitive math types) are not considered resources.
</description>
</method>
<method name="is_a_parent_of" qualifiers="const">
@@ -466,7 +478,7 @@
<argument index="1" name="to_position" type="int">
</argument>
<description>
- Moves a child node to a different position (order) amongst the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful.
+ Moves a child node to a different position (order) among the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful.
</description>
</method>
<method name="print_stray_nodes">
@@ -480,7 +492,8 @@
<return type="void">
</return>
<description>
- Prints the tree to stdout. Used mainly for debugging purposes. This version displays the path relative to the current node, and is good for copy/pasting into the [method get_node] function. Example output:
+ Prints the tree to stdout. Used mainly for debugging purposes. This version displays the path relative to the current node, and is good for copy/pasting into the [method get_node] function.
+ [b]Example output:[/b]
[codeblock]
TheGame
TheGame/Menu
@@ -495,7 +508,8 @@
<return type="void">
</return>
<description>
- Similar to [method print_tree], this prints the tree to stdout. This version displays a more graphical representation similar to what is displayed in the scene inspector. It is useful for inspecting larger trees. Example output:
+ Similar to [method print_tree], this prints the tree to stdout. This version displays a more graphical representation similar to what is displayed in the scene inspector. It is useful for inspecting larger trees.
+ [b]Example output:[/b]
[codeblock]
â”–â•´TheGame
â” â•´Menu
@@ -516,7 +530,7 @@
<argument index="2" name="parent_first" type="bool" default="false">
</argument>
<description>
- Calls the given method (if present) with the arguments given in [code]args[/code] on this node and recursively on all its children. If the parent_first argument is [code]true[/code] then the method will be called on the current node first, then on all children. If it is [code]false[/code] then the children will be called first.
+ Calls the given method (if present) with the arguments given in [code]args[/code] on this node and recursively on all its children. If the [code]parent_first[/code] argument is [code]true[/code], the method will be called on the current node first, then on all its children. If [code]parent_first[/code] is [code]false[/code], the children will be called first.
</description>
</method>
<method name="propagate_notification">
@@ -525,7 +539,7 @@
<argument index="0" name="what" type="int">
</argument>
<description>
- Notifies the current node and all its children recursively by calling notification() on all of them.
+ Notifies the current node and all its children recursively by calling [method Object.notification] on all of them.
</description>
</method>
<method name="queue_free">
@@ -582,7 +596,7 @@
<return type="void">
</return>
<description>
- Requests that [code]_ready[/code] be called again.
+ Requests that [code]_ready[/code] be called again. Note that the method won't be called immediately, but is scheduled for when the node is added to the scene tree again (see [method _ready]). [code]_ready[/code] is called only for the node which requested it, which means that you need to request ready for each child if you want them to call [code]_ready[/code] too (in which case, [code]_ready[/code] will be called in the same order as it would normally).
</description>
</method>
<method name="rpc" qualifiers="vararg">
@@ -591,7 +605,8 @@
<argument index="0" name="method" type="String">
</argument>
<description>
- Sends a remote procedure call request for the given [code]method[/code] to peers on the network (and locally), optionally sending all additional arguments as arguments to the method called by the RPC. The call request will only be received by nodes with the same [NodePath], including the exact same node name. Behaviour depends on the RPC configuration for the given method, see [method rpc_config]. Methods are not exposed to RPCs by default. Also see [method rset] and [method rset_config] for properties. Returns an empty [Variant]. Note that you can only safely use RPCs on clients after you received the [code]connected_to_server[/code] signal from the [SceneTree]. You also need to keep track of the connection state, either by the [SceneTree] signals like [code]server_disconnected[/code] or by checking [code]SceneTree.network_peer.get_connection_status() == CONNECTION_CONNECTED[/code].
+ Sends a remote procedure call request for the given [code]method[/code] to peers on the network (and locally), optionally sending all additional arguments as arguments to the method called by the RPC. The call request will only be received by nodes with the same [NodePath], including the exact same node name. Behaviour depends on the RPC configuration for the given method, see [method rpc_config]. Methods are not exposed to RPCs by default. See also [method rset] and [method rset_config] for properties. Returns an empty [Variant].
+ [b]Note:[/b] You can only safely use RPCs on clients after you received the [code]connected_to_server[/code] signal from the [SceneTree]. You also need to keep track of the connection state, either by the [SceneTree] signals like [code]server_disconnected[/code] or by checking [code]SceneTree.network_peer.get_connection_status() == CONNECTION_CONNECTED[/code].
</description>
</method>
<method name="rpc_config">
@@ -602,7 +617,7 @@
<argument index="1" name="mode" type="int" enum="MultiplayerAPI.RPCMode">
</argument>
<description>
- Changes the RPC mode for the given [code]method[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]master[/code], [code]puppet[/code], [code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code]). By default, methods are not exposed to networking (and RPCs). Also see [method rset] and [method rset_config] for properties.
+ Changes the RPC mode for the given [code]method[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]master[/code], [code]puppet[/code], [code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code]). By default, methods are not exposed to networking (and RPCs). See also [method rset] and [method rset_config] for properties.
</description>
</method>
<method name="rpc_id" qualifiers="vararg">
@@ -644,7 +659,7 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
- Remotely changes a property's value on other peers (and locally). Behaviour depends on the RPC configuration for the given property, see [method rset_config]. Also see [method rpc] for RPCs for methods, most information applies to this method as well.
+ Remotely changes a property's value on other peers (and locally). Behaviour depends on the RPC configuration for the given property, see [method rset_config]. See also [method rpc] for RPCs for methods, most information applies to this method as well.
</description>
</method>
<method name="rset_config">
@@ -655,7 +670,7 @@
<argument index="1" name="mode" type="int" enum="MultiplayerAPI.RPCMode">
</argument>
<description>
- Changes the RPC mode for the given [code]property[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]master[/code], [code]puppet[/code], [code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code]). By default, properties are not exposed to networking (and RPCs). Also see [method rpc] and [method rpc_config] for methods.
+ Changes the RPC mode for the given [code]property[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]master[/code], [code]puppet[/code], [code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code]). By default, properties are not exposed to networking (and RPCs). See also [method rpc] and [method rpc_config] for methods.
</description>
</method>
<method name="rset_id">
@@ -721,7 +736,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
- Enables or disables physics (i.e. fixed framerate) processing. When a node is being processed, it will receive a NOTIFICATION_PHYSICS_PROCESS at a fixed (usually 60 fps, see [OS] to change) interval (and the [method _physics_process] callback will be called if exists). Enabled automatically if [method _physics_process] is overridden. Any calls to this before [method _ready] will be ignored.
+ Enables or disables physics (i.e. fixed framerate) processing. When a node is being processed, it will receive a [constant NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine.target_fps] to change) interval (and the [method _physics_process] callback will be called if exists). Enabled automatically if [method _physics_process] is overridden. Any calls to this before [method _ready] will be ignored.
</description>
</method>
<method name="set_physics_process_internal">
@@ -730,7 +745,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
- Enables or disables internal physics for this node. Internal physics processing happens in isolation from the normal [method _physics_process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or physics processing is disabled for scripting ([method set_physics_process]). Only useful for advanced uses to manipulate built-in nodes behaviour.
+ Enables or disables internal physics for this node. Internal physics processing happens in isolation from the normal [method _physics_process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or physics processing is disabled for scripting ([method set_physics_process]). Only useful for advanced uses to manipulate built-in nodes' behaviour.
</description>
</method>
<method name="set_process">
@@ -739,7 +754,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
- Enables or disables processing. When a node is being processed, it will receive a NOTIFICATION_PROCESS on every drawn frame (and the [method _process] callback will be called if exists). Enabled automatically if [method _process] is overridden. Any calls to this before [method _ready] will be ignored.
+ Enables or disables processing. When a node is being processed, it will receive a [constant NOTIFICATION_PROCESS] on every drawn frame (and the [method _process] callback will be called if exists). Enabled automatically if [method _process] is overridden. Any calls to this before [method _ready] will be ignored.
</description>
</method>
<method name="set_process_input">
@@ -757,7 +772,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
- Enables or disabled internal processing for this node. Internal processing happens in isolation from the normal [method _process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or processing is disabled for scripting ([method set_process]). Only useful for advanced uses to manipulate built-in nodes behaviour.
+ Enables or disabled internal processing for this node. Internal processing happens in isolation from the normal [method _process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or processing is disabled for scripting ([method set_process]). Only useful for advanced uses to manipulate built-in nodes' behaviour.
</description>
</method>
<method name="set_process_priority">
@@ -766,6 +781,7 @@
<argument index="0" name="priority" type="int">
</argument>
<description>
+ Sets the node's priority in the execution order of the enabled processing callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant NOTIFICATION_PHYSICS_PROCESS] and their internal counterparts). Nodes with a higher process priority will have their processing callbacks executed first.
</description>
</method>
<method name="set_process_unhandled_input">
@@ -798,7 +814,7 @@
</methods>
<members>
<member name="custom_multiplayer" type="MultiplayerAPI" setter="set_custom_multiplayer" getter="get_custom_multiplayer">
- The override to the default [MultiplayerAPI]. Set to null to use the default SceneTree one.
+ The override to the default [MultiplayerAPI]. Set to [code]null[/code] to use the default [SceneTree] one.
</member>
<member name="filename" type="String" setter="set_filename" getter="get_filename">
When a scene is instanced from a file, its topmost node contains the filename from which it was loaded.
@@ -807,12 +823,12 @@
The [MultiplayerAPI] instance associated with this node. Either the [member custom_multiplayer], or the default SceneTree one (if inside tree).
</member>
<member name="name" type="String" setter="set_name" getter="get_name">
- The name of the node. This name is unique among the siblings (other child nodes from the same parent). When set to an existing name, the node will be automatically renamed
+ The name of the node. This name is unique among the siblings (other child nodes from the same parent). When set to an existing name, the node will be automatically renamed.
</member>
<member name="owner" type="Node" setter="set_owner" getter="get_owner">
- The node owner. A node can have any other node as owner (as long as it is a valid parent, grandparent, etc. ascending in the tree). When saving a node (using [PackedScene]) all the nodes it owns will be saved with it. This allows for the creation of complex [SceneTree]s, with instancing and subinstancing.
+ The node owner. A node can have any other node as owner (as long as it is a valid parent, grandparent, etc. ascending in the tree). When saving a node (using [PackedScene]), all the nodes it owns will be saved with it. This allows for the creation of complex [SceneTree]s, with instancing and subinstancing.
</member>
- <member name="pause_mode" type="int" setter="set_pause_mode" getter="get_pause_mode" enum="Node.PauseMode">
+ <member name="pause_mode" type="int" setter="set_pause_mode" getter="get_pause_mode" enum="Node.PauseMode" default="0">
Pause mode. How the node will behave if the [SceneTree] is paused.
</member>
</members>
@@ -869,7 +885,8 @@
Notification received every frame when the process flag is set (see [method set_process]).
</constant>
<constant name="NOTIFICATION_PARENTED" value="18">
- Notification received when a node is set as a child of another node. Note that this doesn't mean that a node entered the Scene Tree.
+ Notification received when a node is set as a child of another node.
+ [b]Note:[/b] This doesn't mean that a node entered the [SceneTree].
</constant>
<constant name="NOTIFICATION_UNPARENTED" value="19">
Notification received when a node is unparented (parent removed it from the list of children).
@@ -893,35 +910,57 @@
Notification received every frame when the internal physics process flag is set (see [method set_physics_process_internal]).
</constant>
<constant name="NOTIFICATION_WM_MOUSE_ENTER" value="1002">
+ Notification received from the OS when the mouse enters the game window.
+ Implemented on desktop and web platforms.
</constant>
<constant name="NOTIFICATION_WM_MOUSE_EXIT" value="1003">
+ Notification received from the OS when the mouse leaves the game window.
+ Implemented on desktop and web platforms.
</constant>
<constant name="NOTIFICATION_WM_FOCUS_IN" value="1004">
+ Notification received from the OS when the game window is focused.
+ Implemented on all platforms.
</constant>
<constant name="NOTIFICATION_WM_FOCUS_OUT" value="1005">
+ Notification received from the OS when the game window is unfocused.
+ Implemented on all platforms.
</constant>
<constant name="NOTIFICATION_WM_QUIT_REQUEST" value="1006">
+ Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or Alt+F4).
+ Implemented on desktop platforms.
</constant>
<constant name="NOTIFICATION_WM_GO_BACK_REQUEST" value="1007">
+ Notification received from the OS when a go back request is sent (e.g. pressing the "Back" button on Android).
+ Specific to the Android platform.
</constant>
<constant name="NOTIFICATION_WM_UNFOCUS_REQUEST" value="1008">
+ Notification received from the OS when an unfocus request is sent (e.g. another OS window wants to take the focus).
+ No supported platforms currently send this notification.
</constant>
<constant name="NOTIFICATION_OS_MEMORY_WARNING" value="1009">
+ Notification received from the OS when the application is exceeding its allocated memory.
+ Specific to the iOS platform.
</constant>
<constant name="NOTIFICATION_TRANSLATION_CHANGED" value="1010">
Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like [method Object.tr].
</constant>
<constant name="NOTIFICATION_WM_ABOUT" value="1011">
+ Notification received from the OS when a request for "About" information is sent.
+ Specific to the macOS platform.
</constant>
<constant name="NOTIFICATION_CRASH" value="1012">
+ Notification received from Godot's crash handler when the engine is about to crash.
+ Implemented on desktop platforms if the crash handler is enabled.
</constant>
<constant name="NOTIFICATION_OS_IME_UPDATE" value="1013">
+ Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string).
+ Specific to the macOS platform.
</constant>
<constant name="PAUSE_MODE_INHERIT" value="0" enum="PauseMode">
- Inherits pause mode from the node's parent. For the root node, it is equivalent to PAUSE_MODE_STOP. Default.
+ Inherits pause mode from the node's parent. For the root node, it is equivalent to [constant PAUSE_MODE_STOP]. Default.
</constant>
<constant name="PAUSE_MODE_STOP" value="1" enum="PauseMode">
- Stop processing when the [SceneTree] is paused.
+ Stops processing when the [SceneTree] is paused.
</constant>
<constant name="PAUSE_MODE_PROCESS" value="2" enum="PauseMode">
Continue to process regardless of the [SceneTree] pause state.
diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml
index 1b97f3267f..abdbfa09f7 100644
--- a/doc/classes/Node2D.xml
+++ b/doc/classes/Node2D.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Node2D" inherits="CanvasItem" category="Core" version="3.2">
<brief_description>
- A 2D game object, parent of all 2D related nodes. Has a position, rotation, scale and Z-index.
+ A 2D game object, parent of all 2D-related nodes. Has a position, rotation, scale and Z index.
</brief_description>
<description>
A 2D game object, with a position, rotation and scale. All 2D physics nodes and sprites inherit from Node2D. Use Node2D as a parent node to move, scale and rotate children in a 2D project. Also gives control on the node's render order.
@@ -16,7 +16,7 @@
<argument index="0" name="ratio" type="Vector2">
</argument>
<description>
- Multiplies the current scale by the 'ratio' vector.
+ Multiplies the current scale by the [code]ratio[/code] vector.
</description>
</method>
<method name="get_angle_to" qualifiers="const">
@@ -25,7 +25,7 @@
<argument index="0" name="point" type="Vector2">
</argument>
<description>
- Returns the angle between the node and the 'point' in radians.
+ Returns the angle between the node and the [code]point[/code] in radians.
</description>
</method>
<method name="get_relative_transform_to_parent" qualifiers="const">
@@ -43,7 +43,7 @@
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
- Adds the 'offset' vector to the node's global position.
+ Adds the [code]offset[/code] vector to the node's global position.
</description>
</method>
<method name="look_at">
@@ -52,7 +52,7 @@
<argument index="0" name="point" type="Vector2">
</argument>
<description>
- Rotates the node so it points towards the 'point'.
+ Rotates the node so it points towards the [code]point[/code].
</description>
</method>
<method name="move_local_x">
@@ -130,26 +130,26 @@
<member name="global_transform" type="Transform2D" setter="set_global_transform" getter="get_global_transform">
Global [Transform2D].
</member>
- <member name="position" type="Vector2" setter="set_position" getter="get_position">
+ <member name="position" type="Vector2" setter="set_position" getter="get_position" default="Vector2( 0, 0 )">
Position, relative to the node's parent.
</member>
- <member name="rotation" type="float" setter="set_rotation" getter="get_rotation">
+ <member name="rotation" type="float" setter="set_rotation" getter="get_rotation" default="0.0">
Rotation in radians, relative to the node's parent.
</member>
- <member name="rotation_degrees" type="float" setter="set_rotation_degrees" getter="get_rotation_degrees">
+ <member name="rotation_degrees" type="float" setter="set_rotation_degrees" getter="get_rotation_degrees" default="0.0">
Rotation in degrees, relative to the node's parent.
</member>
- <member name="scale" type="Vector2" setter="set_scale" getter="get_scale">
- The node's scale. Unscaled value: [code](1, 1)[/code]
+ <member name="scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2( 1, 1 )">
+ The node's scale. Unscaled value: [code](1, 1)[/code].
</member>
<member name="transform" type="Transform2D" setter="set_transform" getter="get_transform">
Local [Transform2D].
</member>
- <member name="z_as_relative" type="bool" setter="set_z_as_relative" getter="is_z_relative">
- If [code]true[/code], the node's Z-index is relative to its parent's Z-index. If this node's Z-index is 2 and its parent's effective Z-index is 3, then this node's effective Z-index will be 2 + 3 = 5.
+ <member name="z_as_relative" type="bool" setter="set_z_as_relative" getter="is_z_relative" default="true">
+ If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.
</member>
- <member name="z_index" type="int" setter="set_z_index" getter="get_z_index">
- Z-index. Controls the order in which the nodes render. A node with a higher Z-index will display in front of others.
+ <member name="z_index" type="int" setter="set_z_index" getter="get_z_index" default="0">
+ Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.
</member>
</members>
<constants>
diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml
index 554858d895..5deee941da 100644
--- a/doc/classes/NodePath.xml
+++ b/doc/classes/NodePath.xml
@@ -4,9 +4,9 @@
Pre-parsed scene tree path.
</brief_description>
<description>
- A pre-parsed relative or absolute path in a scene tree, for use with [method Node.get_node] and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, [code]"Path2D/PathFollow2D/Sprite:texture:size"[/code] would refer to the size property of the texture resource on the node named "Sprite" which is a child of the other named nodes in the path. Note that if you want to get a resource, you must end the path with a colon, otherwise the last element will be used as a property name.
+ A pre-parsed relative or absolute path in a scene tree, for use with [method Node.get_node] and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, [code]"Path2D/PathFollow2D/Sprite:texture:size"[/code] would refer to the [code]size[/code] property of the [code]texture[/code] resource on the node named [code]"Sprite"[/code] which is a child of the other named nodes in the path.
You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [NodePath] or the literal syntax [code]@"path"[/code]. Exporting a [NodePath] variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
- A [NodePath] is made up of a list of node names, a list of "subnode" (resource) names, and the name of a property in the final node or resource.
+ A [NodePath] is composed of a list of slash-separated node names (like a filesystem path) and an optional colon-separated list of "subnames" which can be resources or properties.
</description>
<tutorials>
</tutorials>
@@ -17,19 +17,48 @@
<argument index="0" name="from" type="String">
</argument>
<description>
- Create a NodePath from a string, e.g. "Path2D/PathFollow2D/Sprite:texture:size". A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, [code]"."[/code] and [code]".."[/code] indicate the current node and its parent.
+ Creates a NodePath from a string, e.g. [code]"Path2D/PathFollow2D/Sprite:texture:size"[/code]. A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, [code]"."[/code] and [code]".."[/code] indicate the current node and its parent.
+ The "subnames" optionally included after the path to the target node can point to resources or properties, and can also be nested.
+ Examples of valid NodePaths (assuming that those nodes exist and have the referenced resources or properties):
+ [codeblock]
+ # Points to the Sprite node
+ "Path2D/PathFollow2D/Sprite"
+ # Points to the Sprite node and its "texture" resource.
+ # get_node() would retrieve "Sprite", while get_node_and_resource()
+ # would retrieve both the Sprite node and the "texture" resource.
+ "Path2D/PathFollow2D/Sprite:texture"
+ # Points to the Sprite node and its "position" property.
+ "Path2D/PathFollow2D/Sprite:position"
+ # Points to the Sprite node and the "x" component of its "position" property.
+ "Path2D/PathFollow2D/Sprite:position:x"
+ # Absolute path (from "root")
+ "/root/Level/Path2D"
+ [/codeblock]
</description>
</method>
<method name="get_as_property_path">
<return type="NodePath">
</return>
<description>
+ Returns a node path with a colon character ([code]:[/code]) prepended, transforming it to a pure property path with no node name (defaults to resolving from the current node).
+ [codeblock]
+ # This will be parsed as a node path to the "x" property in the "position" node
+ var node_path = NodePath("position:x")
+ # This will be parsed as a node path to the "x" component of the "position" property in the current node
+ var property_path = node_path.get_as_property_path()
+ print(property_path) # :position:x
+ [/codeblock]
</description>
</method>
<method name="get_concatenated_subnames">
<return type="String">
</return>
<description>
+ Returns all subnames concatenated with a colon character ([code]:[/code]) as separator, i.e. the right side of the first colon in a node path.
+ [codeblock]
+ var nodepath = NodePath("Path2D/PathFollow2D/Sprite:texture:load_path")
+ print(nodepath.get_concatenated_subnames()) # texture:load_path
+ [/codeblock]
</description>
</method>
<method name="get_name">
@@ -38,14 +67,21 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the node name indicated by [code]idx[/code] (0 to [method get_name_count])
+ Gets the node name indicated by [code]idx[/code] (0 to [method get_name_count]).
+ [codeblock]
+ var node_path = NodePath("Path2D/PathFollow2D/Sprite")
+ print(node_path.get_name(0)) # Path2D
+ print(node_path.get_name(1)) # PathFollow2D
+ print(node_path.get_name(2)) # Sprite
+ [/codeblock]
</description>
</method>
<method name="get_name_count">
<return type="int">
</return>
<description>
- Get the number of node names which make up the path.
+ Gets the number of node names which make up the path. Subnames (see [method get_subname_count]) are not included.
+ For example, [code]"Path2D/PathFollow2D/Sprite"[/code] has 3 names.
</description>
</method>
<method name="get_subname">
@@ -54,21 +90,27 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the resource name indicated by [code]idx[/code] (0 to [method get_subname_count])
+ Gets the resource or property name indicated by [code]idx[/code] (0 to [method get_subname_count]).
+ [codeblock]
+ var node_path = NodePath("Path2D/PathFollow2D/Sprite:texture:load_path")
+ print(node_path.get_subname(0)) # texture
+ print(node_path.get_subname(1)) # load_path
+ [/codeblock]
</description>
</method>
<method name="get_subname_count">
<return type="int">
</return>
<description>
- Get the number of resource names in the path.
+ Gets the number of resource or property names ("subnames") in the path. Each subname is listed after a colon character ([code]:[/code]) in the node path.
+ For example, [code]"Path2D/PathFollow2D/Sprite:texture:load_path"[/code] has 2 subnames.
</description>
</method>
<method name="is_absolute">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if the node path is absolute (not relative).
+ Returns [code]true[/code] if the node path is absolute (as opposed to relative), which means that it starts with a slash character ([code]/[/code]). Absolute node paths can be used to access the root node ([code]"/root"[/code]) or autoloads (e.g. [code]"/global"[/code] if a "global" autoload was registered).
</description>
</method>
<method name="is_empty">
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index 7b50021284..d73c85a6d9 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -4,7 +4,7 @@
Operating System functions.
</brief_description>
<description>
- Operating System functions. OS Wraps the most common functionality to communicate with the host Operating System, such as: mouse grabbing, mouse cursors, clipboard, video mode, date and time, timers, environment variables, execution of binaries, command line, etc.
+ Operating System functions. OS wraps the most common functionality to communicate with the host operating system, such as the clipboard, video driver, date and time, timers, environment variables, execution of binaries, command line, etc.
</description>
<tutorials>
</tutorials>
@@ -17,7 +17,7 @@
<argument index="1" name="title" type="String" default="&quot;Alert!&quot;">
</argument>
<description>
- Displays a modal dialog box utilizing the host OS.
+ Displays a modal dialog box using the host OS' facilities. Execution is blocked until the dialog is closed.
</description>
</method>
<method name="can_draw" qualifiers="const">
@@ -53,7 +53,7 @@
<argument index="0" name="msec" type="int">
</argument>
<description>
- Delay execution of the current thread by given milliseconds.
+ Delay execution of the current thread by [code]msec[/code] milliseconds.
</description>
</method>
<method name="delay_usec" qualifiers="const">
@@ -62,7 +62,7 @@
<argument index="0" name="usec" type="int">
</argument>
<description>
- Delay execution of the current thread by given microseconds.
+ Delay execution of the current thread by [code]usec[/code] microseconds.
</description>
</method>
<method name="dump_memory_to_file">
@@ -101,15 +101,15 @@
</argument>
<description>
Execute the file at the given path with the arguments passed as an array of strings. Platform path resolution will take place. The resolved file must exist and be executable.
- The arguments are used in the given order and separated by a space, so [code]OS.execute('ping', ['-w', '3', 'godotengine.org'], false)[/code] will resolve to [code]ping -w 3 godotengine.org[/code] in the system's shell.
- This method has slightly different behaviour based on whether the [code]blocking[/code] mode is enabled.
- When [code]blocking[/code] is enabled, the Godot thread will pause its execution while waiting for the process to terminate. The shell output of the process will be written to the [code]output[/code] array as a single string. When the process terminates, the Godot thread will resume execution.
- When [code]blocking[/code] is disabled, the Godot thread will continue while the new process runs. It is not possible to retrieve the shell output in non-blocking mode, so [code]output[/code] will be empty.
- The return value also depends on the blocking mode. When blocking, the method will return -2 (no process ID information is available in blocking mode). When non-blocking, the method returns a process ID, which you can use to monitor the process (and potentially terminate it with [method kill]). If the process forking (non-blocking) or opening (blocking) fails, the method will return -1.
+ The arguments are used in the given order and separated by a space, so [code]OS.execute("ping", ["-w", "3", "godotengine.org"], false)[/code] will resolve to [code]ping -w 3 godotengine.org[/code] in the system's shell.
+ This method has slightly different behavior based on whether the [code]blocking[/code] mode is enabled.
+ If [code]blocking[/code] is [code]true[/code], the Godot thread will pause its execution while waiting for the process to terminate. The shell output of the process will be written to the [code]output[/code] array as a single string. When the process terminates, the Godot thread will resume execution.
+ If [code]blocking[/code] is [code]false[/code], the Godot thread will continue while the new process runs. It is not possible to retrieve the shell output in non-blocking mode, so [code]output[/code] will be empty.
+ The return value also depends on the blocking mode. When blocking, the method will return -2 (no process ID information is available in blocking mode). When non-blocking, the method returns a process ID, which you can use to monitor the process (and potentially terminate it with [method kill]). If the process forking (non-blocking) or opening (blocking) fails, the method will return [code]-1[/code].
Example of blocking mode and retrieving the shell output:
[codeblock]
var output = []
- OS.execute('ls', ['-l', '/tmp'], true, output)
+ OS.execute("ls", ["-l", "/tmp"], true, output)
[/codeblock]
Example of non-blocking mode, running another instance of the project and storing its process ID:
[codeblock]
@@ -117,7 +117,7 @@
[/codeblock]
If you wish to access a shell built-in or perform a composite command, a platform-specific shell can be invoked. For example:
[codeblock]
- OS.execute('CMD.exe', ['/C', 'cd %TEMP% &amp;&amp; dir'], true, output)
+ OS.execute("CMD.exe", ["/C", "cd %TEMP% &amp;&amp; dir"], true, output)
[/codeblock]
</description>
</method>
@@ -127,7 +127,7 @@
<argument index="0" name="string" type="String">
</argument>
<description>
- Returns the scancode of the given string (e.g. "Escape")
+ Returns the scancode of the given string (e.g. "Escape").
</description>
</method>
<method name="get_audio_driver_count" qualifiers="const">
@@ -163,7 +163,7 @@
<return type="int" enum="OS.VideoDriver">
</return>
<description>
- Returns the currently used video driver, using one of the values from [enum OS.VideoDriver].
+ Returns the currently used video driver, using one of the values from [enum VideoDriver].
</description>
</method>
<method name="get_date" qualifiers="const">
@@ -172,7 +172,7 @@
<argument index="0" name="utc" type="bool" default="false">
</argument>
<description>
- Returns current date as a dictionary of keys: year, month, day, weekday, dst (daylight savings time).
+ Returns current date as a dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]weekday[/code], [code]dst[/code] (Daylight Savings Time).
</description>
</method>
<method name="get_datetime" qualifiers="const">
@@ -181,7 +181,7 @@
<argument index="0" name="utc" type="bool" default="false">
</argument>
<description>
- Returns current datetime as a dictionary of keys: year, month, day, weekday, dst (daylight savings time), hour, minute, second.
+ Returns current datetime as a dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]weekday[/code], [code]dst[/code] (Daylight Savings Time), [code]hour[/code], [code]minute[/code], [code]second[/code].
</description>
</method>
<method name="get_datetime_from_unix_time" qualifiers="const">
@@ -190,8 +190,8 @@
<argument index="0" name="unix_time_val" type="int">
</argument>
<description>
- Get a dictionary of time values when given epoch time.
- Dictionary Time values will be a union of values from [method get_time] and [method get_date] dictionaries (with the exception of dst = day light standard time, as it cannot be determined from epoch).
+ Gets a dictionary of time values corresponding to the given UNIX epoch time (in seconds).
+ The returned Dictionary's values will be the same as [method get_datetime], with the exception of Daylight Savings Time as it cannot be determined from the epoch.
</description>
</method>
<method name="get_dynamic_memory_usage" qualifiers="const">
@@ -221,16 +221,16 @@
<return type="Vector2">
</return>
<description>
- Returns IME cursor position (currently edited portion of the string) relative to the characters in the composition string.
- [code]NOTIFICATION_OS_IME_UPDATE[/code] is sent to the application to notify it of changes to the IME cursor position.
+ Returns the IME cursor position (the currently-edited portion of the string) relative to the characters in the composition string.
+ [constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to notify it of changes to the IME cursor position.
</description>
</method>
<method name="get_ime_text" qualifiers="const">
<return type="String">
</return>
<description>
- Returns IME intermediate composition string.
- [code]NOTIFICATION_OS_IME_UPDATE[/code] is sent to the application to notify it of changes to the IME composition string.
+ Returns the IME intermediate composition string.
+ [constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to notify it of changes to the IME composition string.
</description>
</method>
<method name="get_latin_keyboard_variant" qualifiers="const">
@@ -238,7 +238,7 @@
</return>
<description>
Returns the current latin keyboard variant as a String.
- Possible return values are: "QWERTY", "AZERTY", "QZERTY", "DVORAK", "NEO", "COLEMAK" or "ERROR".
+ Possible return values are: [code]"QWERTY"[/code], [code]"AZERTY"[/code], [code]"QZERTY"[/code], [code]"DVORAK"[/code], [code]"NEO"[/code], [code]"COLEMAK"[/code] or [code]"ERROR"[/code].
</description>
</method>
<method name="get_locale" qualifiers="const">
@@ -259,7 +259,7 @@
<return type="String">
</return>
<description>
- Returns the name of the host OS. Possible values are: "Android", "Haiku", "iOS", "HTML5", "OSX", "Server", "Windows", "UWP", "X11".
+ Returns the name of the host OS. Possible values are: [code]"Android"[/code], [code]"Haiku"[/code], [code]"iOS"[/code], [code]"HTML5"[/code], [code]"OSX"[/code], [code]"Server"[/code], [code]"Windows"[/code], [code]"UWP"[/code], [code]"X11"[/code].
</description>
</method>
<method name="get_power_percent_left">
@@ -273,28 +273,28 @@
<return type="int">
</return>
<description>
- Returns the time in seconds before the device runs out of battery.
+ Returns an estimate of the time left in seconds before the device runs out of battery.
</description>
</method>
<method name="get_power_state">
<return type="int" enum="OS.PowerState">
</return>
<description>
- Returns the current state of the device regarding battery and power. See [code]POWERSTATE_*[/code] constants.
+ Returns the current state of the device regarding battery and power. See [enum PowerState] constants.
</description>
</method>
<method name="get_process_id" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the game process ID
+ Returns the project's process ID.
</description>
</method>
<method name="get_processor_count" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the number of cores available in the host machine.
+ Returns the number of threads available on the host machine.
</description>
</method>
<method name="get_real_window_size" qualifiers="const">
@@ -310,7 +310,7 @@
<argument index="0" name="code" type="int">
</argument>
<description>
- Returns the given scancode as a string (e.g. Return values: "Escape", "Shift+Escape").
+ Returns the given scancode as a string (e.g. Return values: [code]"Escape"[/code], [code]"Shift+Escape"[/code]).
</description>
</method>
<method name="get_screen_count" qualifiers="const">
@@ -327,13 +327,15 @@
</argument>
<description>
Returns the dots per inch density of the specified screen.
- On Android Devices, the actual screen densities are grouped into six generalized densities:
- ldpi - 120 dpi
- mdpi - 160 dpi
- hdpi - 240 dpi
- xhdpi - 320 dpi
- xxhdpi - 480 dpi
- xxxhdpi - 640 dpi
+ On Android devices, the actual screen densities are grouped into six generalized densities:
+ [codeblock]
+ ldpi - 120 dpi
+ mdpi - 160 dpi
+ hdpi - 240 dpi
+ xhdpi - 320 dpi
+ xxhdpi - 480 dpi
+ xxxhdpi - 640 dpi
+ [/codeblock]
</description>
</method>
<method name="get_screen_position" qualifiers="const">
@@ -358,13 +360,14 @@
<return type="int">
</return>
<description>
+ Returns the amount of time in milliseconds it took for the boot logo to appear.
</description>
</method>
<method name="get_static_memory_peak_usage" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the max amount of static memory used (only works in debug).
+ Returns the maximum amount of static memory used (only works in debug).
</description>
</method>
<method name="get_static_memory_usage" qualifiers="const">
@@ -380,7 +383,7 @@
<argument index="0" name="dir" type="int" enum="OS.SystemDir">
</argument>
<description>
- Returns the actual path to commonly used folders across different platforms. Available locations are specified in [enum OS.SystemDir].
+ Returns the actual path to commonly used folders across different platforms. Available locations are specified in [enum SystemDir].
</description>
</method>
<method name="get_system_time_msecs" qualifiers="const">
@@ -432,14 +435,14 @@
</return>
<description>
Returns a string that is unique to the device.
- Returns empty string on HTML5 and UWP which are not supported yet.
+ [b]Note:[/b] Returns an empty string on HTML5 and UWP, as this method isn't implemented on those platforms yet.
</description>
</method>
<method name="get_unix_time" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the current unix epoch timestamp.
+ Returns the current UNIX epoch timestamp.
</description>
</method>
<method name="get_unix_time_from_datetime" qualifiers="const">
@@ -448,9 +451,9 @@
<argument index="0" name="datetime" type="Dictionary">
</argument>
<description>
- Get an epoch time value from a dictionary of time values.
- [code]datetime[/code] must be populated with the following keys: year, month, day, hour, minute, second.
- You can pass the output from [method get_datetime_from_unix_time] directly into this function. Daylight savings time (dst), if present, is ignored.
+ Gets an epoch time value from a dictionary of time values.
+ [code]datetime[/code] must be populated with the following keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]hour[/code], [code]minute[/code], [code]second[/code].
+ You can pass the output from [method get_datetime_from_unix_time] directly into this function. Daylight Savings Time ([code]dst[/code]), if present, is ignored.
</description>
</method>
<method name="get_user_data_dir" qualifiers="const">
@@ -477,20 +480,21 @@
<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.
+ Returns the name of the video driver matching the given [code]driver[/code] index. This index is a value from [enum 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">
<return type="int">
</return>
<description>
- Returns the on-screen keyboard's height in pixels. Returns 0 if there is no keyboard or it is currently hidden.
+ Returns the on-screen keyboard's height in pixels. Returns 0 if there is no keyboard or if it is currently hidden.
</description>
</method>
<method name="get_window_safe_area" qualifiers="const">
<return type="Rect2">
</return>
<description>
+ Returns unobscured area of the window where interactive controls should be rendered.
</description>
</method>
<method name="has_environment" qualifiers="const">
@@ -509,7 +513,7 @@
</argument>
<description>
Returns [code]true[/code] if the feature for the given feature tag is supported in the currently running instance, depending on platform, build etc. Can be used to check whether you're currently running a debug build, on a certain platform or arch, etc. Refer to the [url=https://docs.godotengine.org/en/latest/getting_started/workflow/export/feature_tags.html]Feature Tags[/url] documentation for more details.
- Note that tag names are case-sensitive.
+ [b]Note:[/b] Tag names are case-sensitive.
</description>
</method>
<method name="has_touchscreen_ui_hint" qualifiers="const">
@@ -546,7 +550,7 @@
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if the "Okay" button should appear on the left and "Cancel" on the right.
+ Returns [code]true[/code] if the [b]OK[/b] button should appear on the left and [b]Cancel[/b] on the right.
</description>
</method>
<method name="is_scancode_unicode" qualifiers="const">
@@ -555,14 +559,14 @@
<argument index="0" name="code" type="int">
</argument>
<description>
- Returns [code]true[/code] if the input code has a unicode character.
+ Returns [code]true[/code] if the input scancode corresponds to a Unicode character.
</description>
</method>
<method name="is_stdout_verbose" qualifiers="const">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if the engine was executed with -v (verbose stdout).
+ Returns [code]true[/code] if the engine was executed with [code]-v[/code] (verbose stdout).
</description>
</method>
<method name="is_userfs_persistent" qualifiers="const">
@@ -586,7 +590,7 @@
</argument>
<description>
Kill (terminate) the process identified by the given process ID ([code]pid[/code]), e.g. the one returned by [method execute] in non-blocking mode.
- Note that this method can also be used to kill processes that were not spawned by the game.
+ [b]Note:[/b] This method can also be used to kill processes that were not spawned by the game.
</description>
</method>
<method name="move_window_to_foreground">
@@ -623,7 +627,7 @@
</argument>
<description>
Plays native video from the specified path, at the given volume and with audio and subtitle tracks.
- Note: This method is only implemented on Android and iOS, and the current Android implementation does not support the [code]volume[/code], [code]audio_track[/code] and [code]subtitle_track[/code] options.
+ [b]Note:[/b] This method is only implemented on Android and iOS, and the current Android implementation does not support the [code]volume[/code], [code]audio_track[/code] and [code]subtitle_track[/code] options.
</description>
</method>
<method name="native_video_stop">
@@ -652,7 +656,7 @@
<argument index="0" name="tofile" type="String" default="&quot;&quot;">
</argument>
<description>
- Shows all resources in the game. Optionally the list can be written to a file.
+ Shows all resources in the game. Optionally, the list can be written to a file by specifying a file path in [code]tofile[/code].
</description>
</method>
<method name="print_all_textures_by_size">
@@ -735,7 +739,7 @@
<description>
Sets the game's icon using a multi-size platform-specific icon file ([code]*.ico[/code] on Windows and [code]*.icns[/code] on macOS).
Appropriate size sub-icons are used for window caption, taskbar/dock and window selection dialog.
- Note: This method is only implemented on macOS and Windows.
+ [b]Note:[/b] This method is only implemented on macOS and Windows.
</description>
</method>
<method name="set_thread_name">
@@ -791,63 +795,63 @@
<argument index="0" name="existing_text" type="String" default="&quot;&quot;">
</argument>
<description>
- Shows the virtual keyboard if the platform has one. The [i]existing_text[/i] parameter is useful for implementing your own LineEdit, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions).
+ Shows the virtual keyboard if the platform has one. The [code]existing_text[/code] parameter is useful for implementing your own LineEdit, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions).
</description>
</method>
</methods>
<members>
- <member name="clipboard" type="String" setter="set_clipboard" getter="get_clipboard">
+ <member name="clipboard" type="String" setter="set_clipboard" getter="get_clipboard" default="&quot;&quot;">
The clipboard from the host OS. Might be unavailable on some platforms.
</member>
- <member name="current_screen" type="int" setter="set_current_screen" getter="get_current_screen">
+ <member name="current_screen" type="int" setter="set_current_screen" getter="get_current_screen" default="0">
The current screen index (starting from 0).
</member>
- <member name="exit_code" type="int" setter="set_exit_code" getter="get_exit_code">
+ <member name="exit_code" type="int" setter="set_exit_code" getter="get_exit_code" default="0">
The exit code passed to the OS when the main loop exits.
</member>
- <member name="keep_screen_on" type="bool" setter="set_keep_screen_on" getter="is_keep_screen_on">
+ <member name="keep_screen_on" type="bool" setter="set_keep_screen_on" getter="is_keep_screen_on" default="true">
If [code]true[/code], the engine tries to keep the screen on while the game is running. Useful on mobile.
</member>
- <member name="low_processor_usage_mode" type="bool" setter="set_low_processor_usage_mode" getter="is_in_low_processor_usage_mode">
+ <member name="low_processor_usage_mode" type="bool" setter="set_low_processor_usage_mode" getter="is_in_low_processor_usage_mode" default="false">
If [code]true[/code], the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile.
</member>
- <member name="max_window_size" type="Vector2" setter="set_max_window_size" getter="get_max_window_size">
+ <member name="max_window_size" type="Vector2" setter="set_max_window_size" getter="get_max_window_size" default="Vector2( 0, 0 )">
The maximum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to [code](0, 0)[/code] to reset to the system default value.
</member>
- <member name="min_window_size" type="Vector2" setter="set_min_window_size" getter="get_min_window_size">
+ <member name="min_window_size" type="Vector2" setter="set_min_window_size" getter="get_min_window_size" default="Vector2( 0, 0 )">
The minimum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to [code](0, 0)[/code] to reset to the system default value.
</member>
- <member name="screen_orientation" type="int" setter="set_screen_orientation" getter="get_screen_orientation" enum="_OS.ScreenOrientation">
+ <member name="screen_orientation" type="int" setter="set_screen_orientation" getter="get_screen_orientation" enum="_OS.ScreenOrientation" default="0">
The current screen orientation.
</member>
- <member name="vsync_enabled" type="bool" setter="set_use_vsync" getter="is_vsync_enabled">
+ <member name="vsync_enabled" type="bool" setter="set_use_vsync" getter="is_vsync_enabled" default="true">
If [code]true[/code], vertical synchronization (Vsync) is enabled.
</member>
- <member name="window_borderless" type="bool" setter="set_borderless_window" getter="get_borderless_window">
+ <member name="window_borderless" type="bool" setter="set_borderless_window" getter="get_borderless_window" default="false">
If [code]true[/code], removes the window frame.
- Note: Setting [code]window_borderless[/code] to [code]false[/code] disables per-pixel transparency.
+ [b]Note:[/b] Setting [code]window_borderless[/code] to [code]false[/code] disables per-pixel transparency.
</member>
- <member name="window_fullscreen" type="bool" setter="set_window_fullscreen" getter="is_window_fullscreen">
+ <member name="window_fullscreen" type="bool" setter="set_window_fullscreen" getter="is_window_fullscreen" default="false">
If [code]true[/code], the window is fullscreen.
</member>
- <member name="window_maximized" type="bool" setter="set_window_maximized" getter="is_window_maximized">
+ <member name="window_maximized" type="bool" setter="set_window_maximized" getter="is_window_maximized" default="false">
If [code]true[/code], the window is maximized.
</member>
- <member name="window_minimized" type="bool" setter="set_window_minimized" getter="is_window_minimized">
+ <member name="window_minimized" type="bool" setter="set_window_minimized" getter="is_window_minimized" default="false">
If [code]true[/code], the window is minimized.
</member>
- <member name="window_per_pixel_transparency_enabled" type="bool" setter="set_window_per_pixel_transparency_enabled" getter="get_window_per_pixel_transparency_enabled">
+ <member name="window_per_pixel_transparency_enabled" type="bool" setter="set_window_per_pixel_transparency_enabled" getter="get_window_per_pixel_transparency_enabled" default="false">
If [code]true[/code], the window background is transparent and window frame is removed.
Use [code]get_tree().get_root().set_transparent_background(true)[/code] to disable main viewport background rendering.
- Note: This property has no effect if "Project &gt; Project Settings &gt; Display &gt; Window &gt; Per-pixel transparency &gt; Allowed" setting is disabled.
+ [b]Note:[/b] This property has no effect if [b]Project &gt; Project Settings &gt; Display &gt; Window &gt; Per-pixel transparency &gt; Allowed[/b] setting is disabled.
</member>
- <member name="window_position" type="Vector2" setter="set_window_position" getter="get_window_position">
+ <member name="window_position" type="Vector2" setter="set_window_position" getter="get_window_position" default="Vector2( 0, 0 )">
The window position relative to the screen, the origin is the top left corner, +Y axis goes to the bottom and +X axis goes to the right.
</member>
- <member name="window_resizable" type="bool" setter="set_window_resizable" getter="is_window_resizable">
+ <member name="window_resizable" type="bool" setter="set_window_resizable" getter="is_window_resizable" default="true">
If [code]true[/code], the window is resizable by the user.
</member>
- <member name="window_size" type="Vector2" setter="set_window_size" getter="get_window_size">
+ <member name="window_size" type="Vector2" setter="set_window_size" getter="get_window_size" default="Vector2( 0, 0 )">
The size of the window (without counting window manager decorations).
</member>
</members>
diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml
index c9910360ed..b87e912b45 100644
--- a/doc/classes/Object.xml
+++ b/doc/classes/Object.xml
@@ -9,7 +9,7 @@
Objects do not manage memory. If a class inherits from Object, you will have to delete instances of it manually. To do so, call the [method free] method from your script or delete the instance from C++.
Some classes that extend Object add memory management. This is the case of [Reference], which counts references and deletes itself automatically when no longer referenced. [Node], another fundamental type, deletes all its children when freed from memory.
Objects export properties, which are mainly useful for storage and editing, but not really so much in programming. Properties are exported in [method _get_property_list] and handled in [method _get] and [method _set]. However, scripting languages and C++ have simpler means to export them.
- Objects also receive notifications. Notifications are a simple way to notify the object about simple events, so they can all be handled together. See [method _notification].
+ Objects also receive notifications. Notifications are a simple way to notify the object about different events, so they can all be handled together. See [method _notification].
</description>
<tutorials>
</tutorials>
@@ -20,6 +20,7 @@
<argument index="0" name="property" type="String">
</argument>
<description>
+ Virtual method which can be overridden to customize the return value of [method get].
Returns the given property. Returns [code]null[/code] if the [code]property[/code] does not exist.
</description>
</method>
@@ -27,14 +28,16 @@
<return type="Array">
</return>
<description>
- Returns the object's property list as an [Array] of dictionaries. Dictionaries must contain: name:String, type:int (see TYPE_* enum in [@GlobalScope]) and optionally: hint:int (see PROPERTY_HINT_* in [@GlobalScope]), hint_string:String, usage:int (see PROPERTY_USAGE_* in [@GlobalScope]).
+ Virtual method which can be overridden to customize the return value of [method get_property_list].
+ Returns the object's property list as an [Array] of dictionaries.
+ Each property's [Dictionary] must contain at least [code]name: String[/code] and [code]type: int[/code] (see [enum Variant.Type]) entries. Optionally, it can also include [code]hint: int[/code] (see [enum PropertyHint]), [code]hint_string: String[/code], and [code]usage: int[/code] (see [enum PropertyUsageFlags]).
</description>
</method>
<method name="_init" qualifiers="virtual">
<return type="void">
</return>
<description>
- The virtual method called upon initialization.
+ Called when the object is initialized.
</description>
</method>
<method name="_notification" qualifiers="virtual">
@@ -43,7 +46,7 @@
<argument index="0" name="what" type="int">
</argument>
<description>
- Notify the object internally using an ID.
+ Called whenever the object receives a notification, which is identified in [code]what[/code] by a constant. The base [Object] has two constants [constant NOTIFICATION_POSTINITIALIZE] and [constant NOTIFICATION_PREDELETE], but subclasses such as [Node] define a lot more notifications which are also received by this method.
</description>
</method>
<method name="_set" qualifiers="virtual">
@@ -54,6 +57,7 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
+ Virtual method which can be overridden to customize the return value of [method set].
Sets a property. Returns [code]true[/code] if the [code]property[/code] exists.
</description>
</method>
@@ -61,8 +65,8 @@
<return type="String">
</return>
<description>
- Returns a [String] representing the object. Default is [code]"[ClassName:RID]"[/code].
- Override this method to customize the [String] representation of the object when it's being converted to a string, for example: [code]print(obj)[/code].
+ Virtual method which can be overridden to customize the return value of [method to_string], and thus the object's representation where it is converted to a string, e.g. with [code]print(obj)[/code].
+ Returns a [String] representing the object. If not overridden, defaults to [code]"[ClassName:RID]"[/code].
</description>
</method>
<method name="add_user_signal">
@@ -73,7 +77,7 @@
<argument index="1" name="arguments" type="Array" default="[ ]">
</argument>
<description>
- Adds a user-defined [code]signal[/code]. Arguments are optional, but can be added as an [Array] of dictionaries, each containing "name" and "type" (from [@GlobalScope] TYPE_*).
+ Adds a user-defined [code]signal[/code]. Arguments are optional, but can be added as an [Array] of dictionaries, each containing [code]name: String[/code] and [code]type: int[/code] (see [enum Variant.Type]) entries.
</description>
</method>
<method name="call" qualifiers="vararg">
@@ -82,7 +86,10 @@
<argument index="0" name="method" type="String">
</argument>
<description>
- Calls the [code]method[/code] on the object and returns a result. Pass parameters as a comma separated list.
+ Calls the [code]method[/code] on the object and returns the result. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example:
+ [codeblock]
+ call("set", "position", Vector2(42.0, 0.0))
+ [/codeblock]
</description>
</method>
<method name="call_deferred" qualifiers="vararg">
@@ -91,7 +98,10 @@
<argument index="0" name="method" type="String">
</argument>
<description>
- Calls the [code]method[/code] on the object during idle time and returns a result. Pass parameters as a comma separated list.
+ Calls the [code]method[/code] on the object during idle time and returns the result. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example:
+ [codeblock]
+ call_deferred("set", "position", Vector2(42.0, 0.0))
+ [/codeblock]
</description>
</method>
<method name="callv">
@@ -102,14 +112,17 @@
<argument index="1" name="arg_array" type="Array">
</argument>
<description>
- Calls the [code]method[/code] on the object and returns a result. Pass parameters as an [Array].
+ Calls the [code]method[/code] on the object and returns the result. Contrarily to [method call], this method does not support a variable number of arguments but expected all parameters passed via a single [Array].
+ [codeblock]
+ callv("set", [ "position", Vector2(42.0, 0.0) ])
+ [/codeblock]
</description>
</method>
<method name="can_translate_messages" qualifiers="const">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if the object can translate strings.
+ Returns [code]true[/code] if the object can translate strings. See [method set_message_translation] and [method tr].
</description>
</method>
<method name="connect">
@@ -126,9 +139,15 @@
<argument index="4" name="flags" type="int" default="0">
</argument>
<description>
- Connects a [code]signal[/code] to a [code]method[/code] on a [code]target[/code] object. Pass optional [code]binds[/code] to the call. Use [code]flags[/code] to set deferred or one shot connections. See [code]CONNECT_*[/code] constants.
- A [code]signal[/code] can only be connected once to a [code]method[/code]. It will throw an error if already connected. To avoid this, first, use [method is_connected] to check for existing connections.
+ Connects a [code]signal[/code] to a [code]method[/code] on a [code]target[/code] object. Pass optional [code]binds[/code] to the call as an [Array] of parameters. Use [code]flags[/code] to set deferred or one-shot connections. See [enum ConnectFlags] constants.
+ A [code]signal[/code] can only be connected once to a [code]method[/code]. It will throw an error if already connected, unless the signal was connected with [constant CONNECT_REFERENCE_COUNTED]. To avoid this, first, use [method is_connected] to check for existing connections.
If the [code]target[/code] is destroyed in the game's lifecycle, the connection will be lost.
+ Examples:
+ [codeblock]
+ connect("pressed", self, "_on_Button_pressed") # BaseButton signal
+ connect("text_entered", self, "_on_LineEdit_text_entered") # LineEdit signal
+ connect("hit", self, "_on_Player_hit", [ weapon_type, damage ]) # User-defined signal
+ [/codeblock]
</description>
</method>
<method name="disconnect">
@@ -151,14 +170,18 @@
<argument index="0" name="signal" type="String">
</argument>
<description>
- Emits the given [code]signal[/code].
+ Emits the given [code]signal[/code]. The signal must exist, so it should be a built-in signal of this class or one of its parent classes, or a user-defined signal. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example:
+ [codeblock]
+ emit_signal("hit", weapon_type, damage)
+ emit_signal("game_over")
+ [/codeblock]
</description>
</method>
<method name="free">
<return type="void">
</return>
<description>
- Deletes the object from memory.
+ Deletes the object from memory. Any pre-existing reference to the freed object will now return [code]null[/code].
</description>
</method>
<method name="get" qualifiers="const">
@@ -167,7 +190,7 @@
<argument index="0" name="property" type="String">
</argument>
<description>
- Returns a [Variant] for a [code]property[/code].
+ Returns the [Variant] value of the given [code]property[/code].
</description>
</method>
<method name="get_class" qualifiers="const">
@@ -182,10 +205,10 @@
</return>
<description>
Returns an [Array] of dictionaries with information about signals that are connected to the object.
- Inside each [Dictionary] there are 3 fields:
- - "source" is a reference to signal emitter.
- - "signal_name" is name of connected signal.
- - "method_name" is a name of method to which signal is connected.
+ Each [Dictionary] contains three String entries:
+ - [code]source[/code] is a reference to the signal emitter.
+ - [code]signal_name[/code] is the name of the connected signal.
+ - [code]method_name[/code] is the name of the method to which the signal is connected.
</description>
</method>
<method name="get_indexed" qualifiers="const">
@@ -194,8 +217,7 @@
<argument index="0" name="property" type="NodePath">
</argument>
<description>
- Get indexed object property by String.
- Property indices get accessed with colon separation, for example: [code]position:x[/code]
+ Gets the object's property indexed by the given [NodePath]. The node path should be relative to the current object and can use the colon character ([code]:[/code]) to access nested properties. Examples: [code]"position:x"[/code] or [code]"material:next_pass:blend_mode"[/code].
</description>
</method>
<method name="get_instance_id" qualifiers="const">
@@ -203,6 +225,7 @@
</return>
<description>
Returns the object's unique instance ID.
+ This ID can be saved in [EncodedObjectAsID], and can be used to retrieve the object instance with [method @GDScript.instance_from_id].
</description>
</method>
<method name="get_meta" qualifiers="const">
@@ -211,7 +234,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Returns the object's metadata for the given [code]name[/code].
+ Returns the object's metadata entry for the given [code]name[/code].
</description>
</method>
<method name="get_meta_list" qualifiers="const">
@@ -232,14 +255,15 @@
<return type="Array">
</return>
<description>
- Returns the list of properties as an [Array] of dictionaries. Dictionaries contain: name:String, type:int (see TYPE_* enum in [@GlobalScope]) and optionally: hint:int (see PROPERTY_HINT_* in [@GlobalScope]), hint_string:String, usage:int (see PROPERTY_USAGE_* in [@GlobalScope]).
+ Returns the object's property list as an [Array] of dictionaries.
+ Each property's [Dictionary] contain at least [code]name: String[/code] and [code]type: int[/code] (see [enum Variant.Type]) entries. Optionally, it can also include [code]hint: int[/code] (see [enum PropertyHint]), [code]hint_string: String[/code], and [code]usage: int[/code] (see [enum PropertyUsageFlags]).
</description>
</method>
<method name="get_script" qualifiers="const">
<return type="Reference">
</return>
<description>
- Returns the object's [Script] or [code]null[/code] if one doesn't exist.
+ Returns the object's [Script] instance, or [code]null[/code] if none is assigned.
</description>
</method>
<method name="get_signal_connection_list" qualifiers="const">
@@ -264,7 +288,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Returns [code]true[/code] if a metadata is found with the given [code]name[/code].
+ Returns [code]true[/code] if a metadata entry is found with the given [code]name[/code].
</description>
</method>
<method name="has_method" qualifiers="const">
@@ -295,10 +319,10 @@
<method name="is_class" qualifiers="const">
<return type="bool">
</return>
- <argument index="0" name="type" type="String">
+ <argument index="0" name="class" type="String">
</argument>
<description>
- Returns [code]true[/code] if the object inherits from the given [code]type[/code].
+ Returns [code]true[/code] if the object inherits from the given [code]class[/code].
</description>
</method>
<method name="is_connected" qualifiers="const">
@@ -318,7 +342,7 @@
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if the [code]queue_free[/code] method was called for the object.
+ Returns [code]true[/code] if the [method Node.queue_free] method was called for the object.
</description>
</method>
<method name="notification">
@@ -329,13 +353,15 @@
<argument index="1" name="reversed" type="bool" default="false">
</argument>
<description>
- Notify the object of something.
+ Send a given notification to the object, which will also trigger a call to the [method _notification] method of all classes that the object inherits from.
+ If [code]reversed[/code] is [code]true[/code], [method _notification] is called first on the object's own class, and then up to its successive parent classes. If [code]reversed[/code] is [code]false[/code], [method _notification] is called first on the highest ancestor ([Object] itself), and then down to its successive inheriting classes.
</description>
</method>
<method name="property_list_changed_notify">
<return type="void">
</return>
<description>
+ Notify the editor that the property list has changed, so that editor plugins can take the new values into account. Does nothing on export builds.
</description>
</method>
<method name="remove_meta">
@@ -344,6 +370,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
+ Removes a given entry from the object's metadata.
</description>
</method>
<method name="set">
@@ -354,7 +381,7 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
- Set property into the object.
+ Assigns a new value to the given property. If the [code]property[/code] does not exist, nothing will happen.
</description>
</method>
<method name="set_block_signals">
@@ -374,6 +401,7 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
+ Assigns a new value to the given property, after the current frame's physics step. This is equivalent to calling [method set] via [method call_deferred], i.e. [code]call_deferred("set", property, value)[/code].
</description>
</method>
<method name="set_indexed">
@@ -384,6 +412,12 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
+ Assigns a new value to the property identified by the [NodePath]. The node path should be relative to the current object and can use the colon character ([code]:[/code]) to access nested properties. Example:
+ [codeblock]
+ set_indexed("position", Vector2(42, 0))
+ set_indexed("position:y", -10)
+ print(position) # (42, -10)
+ [/codeblock]
</description>
</method>
<method name="set_message_translation">
@@ -392,7 +426,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
- Define whether the object can translate strings (with calls to [method tr]). Default is [code]true[/code].
+ Defines whether the object can translate strings (with calls to [method tr]). Enabled by default.
</description>
</method>
<method name="set_meta">
@@ -403,7 +437,7 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
- Set a metadata into the object. Metadata is serialized. Metadata can be [i]anything[/i].
+ Adds or changes a given entry in the object's metadata. Metadata are serialized, and can take any [Variant] value.
</description>
</method>
<method name="set_script">
@@ -412,14 +446,14 @@
<argument index="0" name="script" type="Reference">
</argument>
<description>
- Set a script into the object, scripts extend the object functionality.
+ Assigns a script to the object. Each object can have a single script assigned to it, which are used to extend its functionality.
</description>
</method>
<method name="to_string">
<return type="String">
</return>
<description>
- Returns a [String] representing the object. Default is [code]"[ClassName:RID]"[/code].
+ Returns a [String] representing the object. If not overridden, defaults to [code]"[ClassName:RID]"[/code].
Override the method [method _to_string] to customize the [String] representation.
</description>
</method>
@@ -429,14 +463,15 @@
<argument index="0" name="message" type="String">
</argument>
<description>
- Translate a message. Only works if message translation is enabled (which it is by default). See [method set_message_translation].
+ Translates a message using translation catalogs configured in the Project Settings.
+ Only works if message translation is enabled (which it is by default), otherwise it returns the [code]message[/code] unchanged. See [method set_message_translation].
</description>
</method>
</methods>
<signals>
<signal name="script_changed">
<description>
- Emitted whenever the script of the Object is changed.
+ Emitted whenever the object's script is changed.
</description>
</signal>
</signals>
@@ -448,15 +483,16 @@
Called before the object is about to be deleted.
</constant>
<constant name="CONNECT_DEFERRED" value="1" enum="ConnectFlags">
- Connect a signal in deferred mode. This way, signal emissions are stored in a queue, then set on idle time.
+ Connects a signal in deferred mode. This way, signal emissions are stored in a queue, then set on idle time.
</constant>
<constant name="CONNECT_PERSIST" value="2" enum="ConnectFlags">
Persisting connections are saved when the object is serialized to file.
</constant>
<constant name="CONNECT_ONESHOT" value="4" enum="ConnectFlags">
- One shot connections disconnect themselves after emission.
+ One-shot connections disconnect themselves after emission.
</constant>
<constant name="CONNECT_REFERENCE_COUNTED" value="8" enum="ConnectFlags">
+ Connect a signal as reference counted. This means that a given signal can be connected several times to the same target, and will only be fully disconnected once no references are left.
</constant>
</constants>
</class>
diff --git a/doc/classes/OccluderPolygon2D.xml b/doc/classes/OccluderPolygon2D.xml
index f1d7d55cb9..f4fa6ac688 100644
--- a/doc/classes/OccluderPolygon2D.xml
+++ b/doc/classes/OccluderPolygon2D.xml
@@ -11,25 +11,26 @@
<methods>
</methods>
<members>
- <member name="closed" type="bool" setter="set_closed" getter="is_closed">
- If [code]true[/code], closes the polygon. A closed OccluderPolygon2D occludes the light coming from any direction. An opened OccluderPolygon2D occludes the light only at its outline's direction. Default value [code]true[/code].
+ <member name="closed" type="bool" setter="set_closed" getter="is_closed" default="true">
+ If [code]true[/code], closes the polygon. A closed OccluderPolygon2D occludes the light coming from any direction. An opened OccluderPolygon2D occludes the light only at its outline's direction.
</member>
- <member name="cull_mode" type="int" setter="set_cull_mode" getter="get_cull_mode" enum="OccluderPolygon2D.CullMode">
- Set the direction of the occlusion culling when not [code]CULL_DISABLED[/code]. Default value [code]DISABLED[/code].
+ <member name="cull_mode" type="int" setter="set_cull_mode" getter="get_cull_mode" enum="OccluderPolygon2D.CullMode" default="0">
+ The culling mode to use.
</member>
- <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon">
- A [Vector2] array with the index for polygon's vertices positions. Note that the returned value is a copy of the underlying array, rather than a reference.
+ <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon" default="PoolVector2Array( )">
+ A [Vector2] array with the index for polygon's vertices positions.
+ [b]Note:[/b] The returned value is a copy of the underlying array, rather than a reference.
</member>
</members>
<constants>
<constant name="CULL_DISABLED" value="0" enum="CullMode">
- Culling mode for the occlusion. Disabled means no culling. See [member cull_mode].
+ Culling is disabled. See [member cull_mode].
</constant>
<constant name="CULL_CLOCKWISE" value="1" enum="CullMode">
- Culling mode for the occlusion. Sets the culling to be in clockwise direction. See [member cull_mode].
+ Culling is performed in the clockwise direction. See [member cull_mode].
</constant>
<constant name="CULL_COUNTER_CLOCKWISE" value="2" enum="CullMode">
- Culling mode for the occlusion. Sets the culling to be in counter clockwise direction. See [member cull_mode].
+ Culling is performed in the counterclockwise direction. See [member cull_mode].
</constant>
</constants>
</class>
diff --git a/doc/classes/OmniLight.xml b/doc/classes/OmniLight.xml
index 408018fdcb..7189826385 100644
--- a/doc/classes/OmniLight.xml
+++ b/doc/classes/OmniLight.xml
@@ -12,23 +12,25 @@
<methods>
</methods>
<members>
- <member name="omni_attenuation" type="float" setter="set_param" getter="get_param">
- The light's attenuation (drop-off) curve. A number of presets are available in the Inspector.
+ <member name="omni_attenuation" type="float" setter="set_param" getter="get_param" default="1.0">
+ The light's attenuation (drop-off) curve. A number of presets are available in the [b]Inspector[/b] by right-clicking the curve.
</member>
- <member name="omni_range" type="float" setter="set_param" getter="get_param">
- Maximum distance the light affects.
+ <member name="omni_range" type="float" setter="set_param" getter="get_param" default="5.0">
+ The light's radius.
</member>
- <member name="omni_shadow_detail" type="int" setter="set_shadow_detail" getter="get_shadow_detail" enum="OmniLight.ShadowDetail">
+ <member name="omni_shadow_detail" type="int" setter="set_shadow_detail" getter="get_shadow_detail" enum="OmniLight.ShadowDetail" default="1">
See [enum ShadowDetail].
</member>
- <member name="omni_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="OmniLight.ShadowMode">
+ <member name="omni_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="OmniLight.ShadowMode" default="1">
See [enum ShadowMode].
</member>
</members>
<constants>
<constant name="SHADOW_DUAL_PARABOLOID" value="0" enum="ShadowMode">
+ Shadows are rendered to a dual-paraboloid texture. Faster than [constant SHADOW_CUBE], but lower-quality.
</constant>
<constant name="SHADOW_CUBE" value="1" enum="ShadowMode">
+ Shadows are rendered to a cubemap. Slower than [constant SHADOW_DUAL_PARABOLOID], but higher-quality.
</constant>
<constant name="SHADOW_DETAIL_VERTICAL" value="0" enum="ShadowDetail">
</constant>
diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml
index 1f714656de..c44495ead9 100644
--- a/doc/classes/OptionButton.xml
+++ b/doc/classes/OptionButton.xml
@@ -19,7 +19,7 @@
<argument index="2" name="id" type="int" default="-1">
</argument>
<description>
- Add an item, with a "texture" icon, text "label" and (optionally) id. If no "id" is passed, "id" becomes the item index. New items are appended at the end.
+ Adds an item, with a [code]texture[/code] icon, text [code]label[/code] and (optionally) [code]id[/code]. If no [code]id[/code] is passed, [code]id[/code] becomes the item index. New items are appended at the end.
</description>
</method>
<method name="add_item">
@@ -30,14 +30,14 @@
<argument index="1" name="id" type="int" default="-1">
</argument>
<description>
- Add an item, with text "label" and (optionally) id. If no "id" is passed, "id" becomes the item index. New items are appended at the end.
+ Adds an item, with text [code]label[/code] and (optionally) [code]id[/code]. If no [code]id[/code] is passed, [code]id[/code] becomes the item index. New items are appended at the end.
</description>
</method>
<method name="add_separator">
<return type="void">
</return>
<description>
- Add a separator to the list of items. Separators help to group items. Separator also takes up an index and is appended at the end.
+ Adds a separator to the list of items. Separators help to group items. Separator also takes up an index and is appended at the end.
</description>
</method>
<method name="clear">
@@ -60,7 +60,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the icon of the item at index "idx".
+ Returns the icon of the item at index [code]idx[/code].
</description>
</method>
<method name="get_item_id" qualifiers="const">
@@ -95,7 +95,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the text of the item at index "idx".
+ Returns the text of the item at index [code]idx[/code].
</description>
</method>
<method name="get_popup" qualifiers="const">
@@ -160,7 +160,7 @@
<argument index="1" name="texture" type="Texture">
</argument>
<description>
- Set the icon of an item at index "idx".
+ Sets the icon of an item at index [code]idx[/code].
</description>
</method>
<method name="set_item_id">
@@ -171,7 +171,7 @@
<argument index="1" name="id" type="int">
</argument>
<description>
- Set the ID of an item at index "idx".
+ Sets the ID of an item at index [code]idx[/code].
</description>
</method>
<method name="set_item_metadata">
@@ -192,12 +192,12 @@
<argument index="1" name="text" type="String">
</argument>
<description>
- Set the text of an item at index "idx".
+ Sets the text of an item at index [code]idx[/code].
</description>
</method>
</methods>
<members>
- <member name="selected" type="int" setter="_select_int" getter="get_selected">
+ <member name="selected" type="int" setter="_select_int" getter="get_selected" default="-1">
</member>
</members>
<signals>
@@ -205,14 +205,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.
+ Emitted the when user navigates to an item using the [code]ui_up[/code] or [code]ui_down[/code] actions. The index 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. Index of the item selected is passed as argument.
+ Emitted when the current item has been changed by the user. The index of the item selected is passed as argument.
</description>
</signal>
</signals>
@@ -221,7 +221,7 @@
<theme_items>
<theme_item name="arrow" type="Texture">
</theme_item>
- <theme_item name="arrow_margin" type="int">
+ <theme_item name="arrow_margin" type="int" default="2">
</theme_item>
<theme_item name="disabled" type="StyleBox">
</theme_item>
@@ -229,17 +229,17 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.2 )">
</theme_item>
- <theme_item name="font_color_hover" type="Color">
+ <theme_item name="font_color_hover" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="font_color_pressed" type="Color">
+ <theme_item name="font_color_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="2">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
diff --git a/doc/classes/PackedDataContainer.xml b/doc/classes/PackedDataContainer.xml
index f230953aac..fa6a00d65d 100644
--- a/doc/classes/PackedDataContainer.xml
+++ b/doc/classes/PackedDataContainer.xml
@@ -23,7 +23,7 @@
</method>
</methods>
<members>
- <member name="__data__" type="PoolByteArray" setter="_set_data" getter="_get_data">
+ <member name="__data__" type="PoolByteArray" setter="_set_data" getter="_get_data" default="PoolByteArray( )">
</member>
</members>
<constants>
diff --git a/doc/classes/PackedScene.xml b/doc/classes/PackedScene.xml
index 777e5221ed..f01ef78c02 100644
--- a/doc/classes/PackedScene.xml
+++ b/doc/classes/PackedScene.xml
@@ -5,26 +5,27 @@
</brief_description>
<description>
A simplified interface to a scene file. Provides access to operations and checks that can be performed on the scene resource itself.
- Can be used to save a node to a file. When saving, the node as well as all the node it owns get saved (see [code]owner[/code] property on [Node]). Note that the node doesn't need to own itself.
- Example of saving a node with different owners: The following example creates 3 objects: [code]Node2D[/code] ([code]node[/code]), [code]RigidBody2D[/code] ([code]rigid[/code]) and [code]CollisionObject2D[/code] ([code]collision[/code]). [code]collision[/code] is a child of [code]rigid[/code] which is a child of [code]node[/code]. Only [code]rigid[/code] is owned by [code]node[/code] and [code]pack[/code] will therefore only save those two nodes, but not [code]collision[/code].
+ Can be used to save a node to a file. When saving, the node as well as all the node it owns get saved (see [code]owner[/code] property on [Node]).
+ [b]Note:[/b] The node doesn't need to own itself.
+ [b]Example of saving a node with different owners:[/b] The following example creates 3 objects: [code]Node2D[/code] ([code]node[/code]), [code]RigidBody2D[/code] ([code]rigid[/code]) and [code]CollisionObject2D[/code] ([code]collision[/code]). [code]collision[/code] is a child of [code]rigid[/code] which is a child of [code]node[/code]. Only [code]rigid[/code] is owned by [code]node[/code] and [code]pack[/code] will therefore only save those two nodes, but not [code]collision[/code].
[codeblock]
- # create the objects
+ # Create the objects
var node = Node2D.new()
var rigid = RigidBody2D.new()
var collision = CollisionShape2D.new()
- # create the object hierarchy
+ # Create the object hierarchy
rigid.add_child(collision)
node.add_child(rigid)
- # change owner of rigid, but not of collision
+ # Change owner of rigid, but not of collision
rigid.owner = node
var scene = PackedScene.new()
- # only node and rigid are now packed
+ # Only node and rigid are now packed
var result = scene.pack(node)
if result == OK:
- ResourceSaver.save("res://path/name.scn", scene) # or user://...
+ ResourceSaver.save("res://path/name.scn", scene) # Or "user://..."
[/codeblock]
</description>
<tutorials>
@@ -50,7 +51,7 @@
<argument index="0" name="edit_state" type="int" enum="PackedScene.GenEditState" default="0">
</argument>
<description>
- Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers [Node]'s [code]NOTIFICATION_INSTANCED[/code] notification on the root node.
+ Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers a [constant Node.NOTIFICATION_INSTANCED] notification on the root node.
</description>
</method>
<method name="pack">
@@ -64,7 +65,17 @@
</method>
</methods>
<members>
- <member name="_bundled" type="Dictionary" setter="_set_bundled_scene" getter="_get_bundled_scene">
+ <member name="_bundled" type="Dictionary" setter="_set_bundled_scene" getter="_get_bundled_scene" default="{
+&quot;conn_count&quot;: 0,
+&quot;conns&quot;: PoolIntArray( ),
+&quot;editable_instances&quot;: [ ],
+&quot;names&quot;: PoolStringArray( ),
+&quot;node_count&quot;: 0,
+&quot;node_paths&quot;: [ ],
+&quot;nodes&quot;: PoolIntArray( ),
+&quot;variants&quot;: [ ],
+&quot;version&quot;: 2
+}">
A dictionary representation of the scene contents.
Available keys include "rnames" and "variants" for resources, "node_count", "nodes", "node_paths" for nodes, "editable_instances" for base scene children overrides, "conn_count" and "conns" for signal connections, and "version" for the format style of the PackedScene.
</member>
@@ -74,10 +85,12 @@
If passed to [method instance], blocks edits to the scene state.
</constant>
<constant name="GEN_EDIT_STATE_INSTANCE" value="1" enum="GenEditState">
- If passed to [method instance], provides local scene resources to the local scene. Requires tools compiled.
+ If passed to [method instance], provides local scene resources to the local scene.
+ [b]Note:[/b] Only available in editor builds.
</constant>
<constant name="GEN_EDIT_STATE_MAIN" value="2" enum="GenEditState">
- If passed to [method instance], provides local scene resources to the local scene. Only the main scene should receive the main edit state. Requires tools compiled.
+ If passed to [method instance], provides local scene resources to the local scene. Only the main scene should receive the main edit state.
+ [b]Note:[/b] Only available in editor builds.
</constant>
</constants>
</class>
diff --git a/doc/classes/PacketPeer.xml b/doc/classes/PacketPeer.xml
index 4109d9d462..d52bf4e3bb 100644
--- a/doc/classes/PacketPeer.xml
+++ b/doc/classes/PacketPeer.xml
@@ -4,7 +4,7 @@
Abstraction and base class for packet-based protocols.
</brief_description>
<description>
- PacketPeer is an abstraction and base class for packet-based protocols (such as UDP). It provides an API for sending and receiving packets both as raw data or variables. This makes it easy to transfer data over a protocol, without having to encode data as low level bytes or having to worry about network ordering.
+ PacketPeer is an abstraction and base class for packet-based protocols (such as UDP). It provides an API for sending and receiving packets both as raw data or variables. This makes it easy to transfer data over a protocol, without having to encode data as low-level bytes or having to worry about network ordering.
</description>
<tutorials>
</tutorials>
@@ -20,7 +20,7 @@
<return type="PoolByteArray">
</return>
<description>
- Get a raw packet.
+ Gets a raw packet.
</description>
</method>
<method name="get_packet_error" qualifiers="const">
@@ -36,8 +36,8 @@
<argument index="0" name="allow_objects" type="bool" default="false">
</argument>
<description>
- Get a Variant. When [code]allow_objects[/code] (or [member allow_object_decoding]) is [code]true[/code] decoding objects is allowed.
- [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
+ Gets a Variant. If [code]allow_objects[/code] (or [member allow_object_decoding]) is [code]true[/code], decoding objects is allowed.
+ [b]Warning:[/b] Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
</description>
</method>
<method name="put_packet">
@@ -46,7 +46,7 @@
<argument index="0" name="buffer" type="PoolByteArray">
</argument>
<description>
- Send a raw packet.
+ Sends a raw packet.
</description>
</method>
<method name="put_var">
@@ -57,15 +57,15 @@
<argument index="1" name="full_objects" type="bool" default="false">
</argument>
<description>
- Send a Variant as a packet. When [code]full_objects[/code] (or [member allow_object_decoding]) is [code]true[/code] encoding objects is allowed (and can potentially include code).
+ Sends a [Variant] as a packet. If [code]full_objects[/code] (or [member allow_object_decoding]) is [code]true[/code], encoding objects is allowed (and can potentially include code).
</description>
</method>
</methods>
<members>
- <member name="allow_object_decoding" type="bool" setter="set_allow_object_decoding" getter="is_object_decoding_allowed">
- Deprecated. Use [code]get_var[/code] and [code]put_var[/code] parameters instead.
- If [code]true[/code] the PacketPeer will allow encoding and decoding of object via [method get_var] and [method put_var].
- [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
+ <member name="allow_object_decoding" type="bool" setter="set_allow_object_decoding" getter="is_object_decoding_allowed" default="false">
+ [i]Deprecated.[/i] Use [code]get_var[/code] and [code]put_var[/code] parameters instead.
+ If [code]true[/code], the PacketPeer will allow encoding and decoding of object via [method get_var] and [method put_var].
+ [b]Warning:[/b] Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
</member>
</members>
<constants>
diff --git a/doc/classes/PacketPeerStream.xml b/doc/classes/PacketPeerStream.xml
index 20e5e570ac..0376fea592 100644
--- a/doc/classes/PacketPeerStream.xml
+++ b/doc/classes/PacketPeerStream.xml
@@ -11,9 +11,9 @@
<methods>
</methods>
<members>
- <member name="input_buffer_max_size" type="int" setter="set_input_buffer_max_size" getter="get_input_buffer_max_size">
+ <member name="input_buffer_max_size" type="int" setter="set_input_buffer_max_size" getter="get_input_buffer_max_size" default="65532">
</member>
- <member name="output_buffer_max_size" type="int" setter="set_output_buffer_max_size" getter="get_output_buffer_max_size">
+ <member name="output_buffer_max_size" type="int" setter="set_output_buffer_max_size" getter="get_output_buffer_max_size" default="65532">
</member>
<member name="stream_peer" type="StreamPeer" setter="set_stream_peer" getter="get_stream_peer">
The wrapped [StreamPeer] object.
diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml
index 376818fb86..260dbae8e2 100644
--- a/doc/classes/PacketPeerUDP.xml
+++ b/doc/classes/PacketPeerUDP.xml
@@ -13,7 +13,7 @@
<return type="void">
</return>
<description>
- Close the UDP socket the [PacketPeerUDP] is currently listening on.
+ Closes the UDP socket the [PacketPeerUDP] is currently listening on.
</description>
</method>
<method name="get_packet_ip" qualifiers="const">
@@ -45,7 +45,7 @@
<argument index="1" name="interface_name" type="String">
</argument>
<description>
- Join the multicast group specified by [code]multicast_address[/code] using the interface identified by [code]interface_name[/code].
+ Joins the multicast group specified by [code]multicast_address[/code] using the interface identified by [code]interface_name[/code].
You can join the same multicast group with multiple interfaces. Use [method IP.get_local_interfaces] to know which are available.
</description>
</method>
@@ -57,7 +57,7 @@
<argument index="1" name="interface_name" type="String">
</argument>
<description>
- Remove the interface identified by [code]interface_name[/code] from the multicast group specified by [code]multicast_address[/code].
+ Removes the interface identified by [code]interface_name[/code] from the multicast group specified by [code]multicast_address[/code].
</description>
</method>
<method name="listen">
@@ -70,10 +70,10 @@
<argument index="2" name="recv_buf_size" type="int" default="65536">
</argument>
<description>
- Make this [PacketPeerUDP] listen on the "port" binding to "bind_address" with a buffer size "recv_buf_size".
- If "bind_address" is set as "*" (default), the peer will listen on all available addresses (both IPv4 and IPv6).
- If "bind_address" is set as "0.0.0.0" (for IPv4) or "::" (for IPv6), the peer will listen on all available addresses matching that IP type.
- If "bind_address" is set to any valid address (e.g. "192.168.1.101", "::1", etc), the peer will only listen on the interface with that addresses (or fail if no interface with the given address exists).
+ Makes this [PacketPeerUDP] listen on the [code]port[/code] binding to [code]bind_address[/code] with a buffer size [code]recv_buf_size[/code].
+ If [code]bind_address[/code] is set to [code]"*"[/code] (default), the peer will listen on all available addresses (both IPv4 and IPv6).
+ If [code]bind_address[/code] is set to [code]"0.0.0.0"[/code] (for IPv4) or [code]"::"[/code] (for IPv6), the peer will listen on all available addresses matching that IP type.
+ If [code]bind_address[/code] is set to any valid address (e.g. [code]"192.168.1.101"[/code], [code]"::1"[/code], etc), the peer will only listen on the interface with that addresses (or fail if no interface with the given address exists).
</description>
</method>
<method name="set_dest_address">
@@ -84,14 +84,14 @@
<argument index="1" name="port" type="int">
</argument>
<description>
- Set the destination address and port for sending packets and variables, a hostname will be resolved using if valid.
+ Sets the destination address and port for sending packets and variables. A hostname will be resolved using DNS if needed.
</description>
</method>
<method name="wait">
<return type="int" enum="Error">
</return>
<description>
- Wait for a packet to arrive on the listening port, see [method listen].
+ Waits for a packet to arrive on the listening port. See [method listen].
</description>
</method>
</methods>
diff --git a/doc/classes/PanoramaSky.xml b/doc/classes/PanoramaSky.xml
index 30d15c030a..93a8bc6166 100644
--- a/doc/classes/PanoramaSky.xml
+++ b/doc/classes/PanoramaSky.xml
@@ -4,14 +4,14 @@
A type of [Sky] used to draw a background texture.
</brief_description>
<description>
- A resource referenced in an [Environment] that is used to draw a background. The Panorama sky functions similar to skyboxes in other engines except it uses a equirectangular sky map instead of a cube map.
+ A resource referenced in an [Environment] that is used to draw a background. The Panorama sky functions similar to skyboxes in other engines, except it uses an equirectangular sky map instead of a cube map.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="panorama" type="Texture" setter="set_panorama" getter="get_panorama">
+ <member name="panorama" type="Texture" setter="set_panorama" getter="get_panorama" default="null">
[Texture] to be applied to the PanoramaSky.
</member>
</members>
diff --git a/doc/classes/ParallaxBackground.xml b/doc/classes/ParallaxBackground.xml
index 6c9d5de945..2778707577 100644
--- a/doc/classes/ParallaxBackground.xml
+++ b/doc/classes/ParallaxBackground.xml
@@ -11,22 +11,22 @@
<methods>
</methods>
<members>
- <member name="scroll_base_offset" type="Vector2" setter="set_scroll_base_offset" getter="get_scroll_base_offset">
- Base position offset of all [ParallaxLayer] children.
+ <member name="scroll_base_offset" type="Vector2" setter="set_scroll_base_offset" getter="get_scroll_base_offset" default="Vector2( 0, 0 )">
+ The base position offset for all [ParallaxLayer] children.
</member>
- <member name="scroll_base_scale" type="Vector2" setter="set_scroll_base_scale" getter="get_scroll_base_scale">
- Base motion scale of all [ParallaxLayer] children.
+ <member name="scroll_base_scale" type="Vector2" setter="set_scroll_base_scale" getter="get_scroll_base_scale" default="Vector2( 1, 1 )">
+ The base motion scale for all [ParallaxLayer] children.
</member>
- <member name="scroll_ignore_camera_zoom" type="bool" setter="set_ignore_camera_zoom" getter="is_ignore_camera_zoom">
+ <member name="scroll_ignore_camera_zoom" type="bool" setter="set_ignore_camera_zoom" getter="is_ignore_camera_zoom" default="false">
If [code]true[/code], elements in [ParallaxLayer] child aren't affected by the zoom level of the camera.
</member>
- <member name="scroll_limit_begin" type="Vector2" setter="set_limit_begin" getter="get_limit_begin">
- Top left limits for scrolling to begin. If the camera is outside of this limit the background will stop scrolling. Must be lower than [member scroll_limit_end] to work.
+ <member name="scroll_limit_begin" type="Vector2" setter="set_limit_begin" getter="get_limit_begin" default="Vector2( 0, 0 )">
+ Top-left limits for scrolling to begin. If the camera is outside of this limit, the background will stop scrolling. Must be lower than [member scroll_limit_end] to work.
</member>
- <member name="scroll_limit_end" type="Vector2" setter="set_limit_end" getter="get_limit_end">
- Right bottom limits for scrolling to end. If the camera is outside of this limit the background will stop scrolling. Must be higher than [member scroll_limit_begin] to work.
+ <member name="scroll_limit_end" type="Vector2" setter="set_limit_end" getter="get_limit_end" default="Vector2( 0, 0 )">
+ Bottom-right limits for scrolling to end. If the camera is outside of this limit, the background will stop scrolling. Must be higher than [member scroll_limit_begin] to work.
</member>
- <member name="scroll_offset" type="Vector2" setter="set_scroll_offset" getter="get_scroll_offset">
+ <member name="scroll_offset" type="Vector2" setter="set_scroll_offset" getter="get_scroll_offset" default="Vector2( 0, 0 )">
The ParallaxBackground's scroll value. Calculated automatically when using a [Camera2D], but can be used to manually manage scrolling when no camera is present.
</member>
</members>
diff --git a/doc/classes/ParallaxLayer.xml b/doc/classes/ParallaxLayer.xml
index 993f38c31a..75c69cc4b1 100644
--- a/doc/classes/ParallaxLayer.xml
+++ b/doc/classes/ParallaxLayer.xml
@@ -6,21 +6,21 @@
<description>
A ParallaxLayer must be the child of a [ParallaxBackground] node. Each ParallaxLayer can be set to move at different speeds relative to the camera movement or the [member ParallaxBackground.scroll_offset] value.
This node's children will be affected by its scroll offset.
- Note that any changes to this node's position and scale made after it enters the scene will be ignored.
+ [b]Note:[/b] Any changes to this node's position and scale made after it enters the scene will be ignored.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="motion_mirroring" type="Vector2" setter="set_mirroring" getter="get_mirroring">
- The ParallaxLayer's [Texture] mirroring. Useful for creating an infinite scrolling background. If an axis is set to [code]0[/code] the [Texture] will not be mirrored. Default value: [code](0, 0)[/code].
+ <member name="motion_mirroring" type="Vector2" setter="set_mirroring" getter="get_mirroring" default="Vector2( 0, 0 )">
+ The ParallaxLayer's [Texture] mirroring. Useful for creating an infinite scrolling background. If an axis is set to [code]0[/code], the [Texture] will not be mirrored.
</member>
- <member name="motion_offset" type="Vector2" setter="set_motion_offset" getter="get_motion_offset">
+ <member name="motion_offset" type="Vector2" setter="set_motion_offset" getter="get_motion_offset" default="Vector2( 0, 0 )">
The ParallaxLayer's offset relative to the parent ParallaxBackground's [member ParallaxBackground.scroll_offset].
</member>
- <member name="motion_scale" type="Vector2" setter="set_motion_scale" getter="get_motion_scale">
- Multiplies the ParallaxLayer's motion. If an axis is set to [code]0[/code] it will not scroll.
+ <member name="motion_scale" type="Vector2" setter="set_motion_scale" getter="get_motion_scale" default="Vector2( 1, 1 )">
+ Multiplies the ParallaxLayer's motion. If an axis is set to [code]0[/code], it will not scroll.
</member>
</members>
<constants>
diff --git a/doc/classes/Particles.xml b/doc/classes/Particles.xml
index a29b621406..7ff99ebb73 100644
--- a/doc/classes/Particles.xml
+++ b/doc/classes/Particles.xml
@@ -15,7 +15,7 @@
<return type="AABB">
</return>
<description>
- Returns the bounding box that contains all the particles that are active in the current frame.
+ Returns the axis-aligned bounding box that contains all the particles that are active in the current frame.
</description>
</method>
<method name="restart">
@@ -27,13 +27,13 @@
</method>
</methods>
<members>
- <member name="amount" type="int" setter="set_amount" getter="get_amount">
+ <member name="amount" type="int" setter="set_amount" getter="get_amount" default="8">
Number of particles to emit.
</member>
- <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="Particles.DrawOrder">
- Particle draw order. Uses [code]DRAW_ORDER_*[/code] values. Default value: [code]DRAW_ORDER_INDEX[/code].
+ <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="Particles.DrawOrder" default="0">
+ Particle draw order. Uses [code]DRAW_ORDER_*[/code] values.
</member>
- <member name="draw_pass_1" type="Mesh" setter="set_draw_pass_mesh" getter="get_draw_pass_mesh">
+ <member name="draw_pass_1" type="Mesh" setter="set_draw_pass_mesh" getter="get_draw_pass_mesh" default="null">
[Mesh] that is drawn for the first draw pass.
</member>
<member name="draw_pass_2" type="Mesh" setter="set_draw_pass_mesh" getter="get_draw_pass_mesh">
@@ -45,43 +45,43 @@
<member name="draw_pass_4" type="Mesh" setter="set_draw_pass_mesh" getter="get_draw_pass_mesh">
[Mesh] that is drawn for the fourth draw pass.
</member>
- <member name="draw_passes" type="int" setter="set_draw_passes" getter="get_draw_passes">
+ <member name="draw_passes" type="int" setter="set_draw_passes" getter="get_draw_passes" default="1">
The number of draw passes when rendering particles.
</member>
- <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting">
- If [code]true[/code], particles are being emitted. Default value: [code]true[/code].
+ <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting" default="true">
+ If [code]true[/code], particles are being emitted.
</member>
- <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio">
- Time ratio between each emission. If [code]0[/code] particles are emitted continuously. If [code]1[/code] all particles are emitted simultaneously. Default value: [code]0[/code].
+ <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio" default="0.0">
+ Time ratio between each emission. If [code]0[/code], particles are emitted continuously. If [code]1[/code], all particles are emitted simultaneously.
</member>
- <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps">
+ <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="0">
The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
</member>
- <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta">
- If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. Default value: [code]true[/code].
+ <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true">
+ If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
</member>
- <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime">
- Amount of time each particle will exist. Default value: [code]1[/code].
+ <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime" default="1.0">
+ Amount of time each particle will exist.
</member>
- <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates">
- If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates. Default value: [code]true[/code].
+ <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates" default="true">
+ If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.
</member>
- <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot">
- If [code]true[/code], only [code]amount[/code] particles will be emitted. Default value: [code]false[/code].
+ <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false">
+ If [code]true[/code], only [code]amount[/code] particles will be emitted.
</member>
- <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time">
+ <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time" default="0.0">
Amount of time to preprocess the particles before animation starts. Lets you start the animation some time after particles have started emitting.
</member>
- <member name="process_material" type="Material" setter="set_process_material" getter="get_process_material">
+ <member name="process_material" type="Material" setter="set_process_material" getter="get_process_material" default="null">
[Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial].
</member>
- <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio">
- Emission randomness ratio. Default value: [code]0[/code].
+ <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio" default="0.0">
+ Emission randomness ratio.
</member>
- <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale">
- Speed scaling ratio. Default value: [code]1[/code]. A value of [code]0[/code] can be used to pause the particles.
+ <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
+ Speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.
</member>
- <member name="visibility_aabb" type="AABB" setter="set_visibility_aabb" getter="get_visibility_aabb">
+ <member name="visibility_aabb" type="AABB" setter="set_visibility_aabb" getter="get_visibility_aabb" default="AABB( -4, -4, -4, 8, 8, 8 )">
The [AABB] that determines the area of the world part of which needs to be visible on screen for the particle system to be active.
</member>
</members>
diff --git a/doc/classes/Particles2D.xml b/doc/classes/Particles2D.xml
index 78114e985d..52b0c846ca 100644
--- a/doc/classes/Particles2D.xml
+++ b/doc/classes/Particles2D.xml
@@ -27,52 +27,52 @@
</method>
</methods>
<members>
- <member name="amount" type="int" setter="set_amount" getter="get_amount">
+ <member name="amount" type="int" setter="set_amount" getter="get_amount" default="8">
Number of particles emitted in one emission cycle.
</member>
- <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="Particles2D.DrawOrder">
- Particle draw order. Uses [code]DRAW_ORDER_*[/code] values. Default value: [code]DRAW_ORDER_INDEX[/code].
+ <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="Particles2D.DrawOrder" default="0">
+ Particle draw order. Uses [code]DRAW_ORDER_*[/code] values.
</member>
- <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting">
- If [code]true[/code], particles are being emitted. Default value: [code]true[/code].
+ <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting" default="true">
+ If [code]true[/code], particles are being emitted.
</member>
- <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio">
- How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins. Default value: [code]0[/code].
+ <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio" default="0.0">
+ How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins.
</member>
- <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps">
+ <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="0">
The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
</member>
- <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta">
- If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. Default value: [code]true[/code]
+ <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true">
+ If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
</member>
- <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime">
- Amount of time each particle will exist. Default value: [code]1[/code].
+ <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime" default="1.0">
+ Amount of time each particle will exist.
</member>
- <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates">
- If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates. Default value: [code]true[/code].
+ <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates" default="true">
+ If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.
</member>
- <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map">
+ <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map" default="null">
Normal map to be used for the [member texture] property.
</member>
- <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot">
- If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end. Default value: [code]false[/code].
+ <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false">
+ If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end.
</member>
- <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time">
+ <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time" default="0.0">
Particle system starts as if it had already run for this many seconds.
</member>
- <member name="process_material" type="Material" setter="set_process_material" getter="get_process_material">
+ <member name="process_material" type="Material" setter="set_process_material" getter="get_process_material" default="null">
[Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial].
</member>
- <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio">
- Emission lifetime randomness ratio. Default value: [code]0[/code].
+ <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio" default="0.0">
+ Emission lifetime randomness ratio.
</member>
- <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale">
- Particle system's running speed scaling ratio. Default value: [code]1[/code]. A value of [code]0[/code] can be used to pause the particles.
+ <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
+ Particle system's running speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
- Particle texture. If [code]null[/code] particles will be squares.
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
+ Particle texture. If [code]null[/code], particles will be squares.
</member>
- <member name="visibility_rect" type="Rect2" setter="set_visibility_rect" getter="get_visibility_rect">
+ <member name="visibility_rect" type="Rect2" setter="set_visibility_rect" getter="get_visibility_rect" default="Rect2( -100, -100, 200, 200 )">
Editor visibility helper.
</member>
</members>
diff --git a/doc/classes/ParticlesMaterial.xml b/doc/classes/ParticlesMaterial.xml
index cb06593bc2..ff8e01c6c9 100644
--- a/doc/classes/ParticlesMaterial.xml
+++ b/doc/classes/ParticlesMaterial.xml
@@ -13,118 +13,121 @@
<methods>
</methods>
<members>
- <member name="angle" type="float" setter="set_param" getter="get_param">
+ <member name="angle" type="float" setter="set_param" getter="get_param" default="0.0">
Initial rotation applied to each particle, in degrees.
- Only applied when [member flag_disable_z] or [member flag_rotate_y] are [code]true[/code] or the [SpatialMaterial] being used to draw the particle is using [code]BillboardMode.BILLBOARD_PARTICLES[/code].
+ Only applied when [member flag_disable_z] or [member flag_rotate_y] are [code]true[/code] or the [SpatialMaterial] being used to draw the particle is using [constant SpatialMaterial.BILLBOARD_PARTICLES].
</member>
- <member name="angle_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="angle_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Each particle's rotation will be animated along this [CurveTexture].
</member>
- <member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Rotation randomness ratio. Default value: [code]0[/code].
+ <member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Rotation randomness ratio.
</member>
- <member name="angular_velocity" type="float" setter="set_param" getter="get_param">
+ <member name="angular_velocity" type="float" setter="set_param" getter="get_param" default="0.0">
Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.
- Only applied when [member flag_disable_z] or [member flag_rotate_y] are [code]true[/code] or the [SpatialMaterial] being used to draw the particle is using [code]BillboardMode.BILLBOARD_PARTICLES[/code].
+ Only applied when [member flag_disable_z] or [member flag_rotate_y] are [code]true[/code] or the [SpatialMaterial] being used to draw the particle is using [constant SpatialMaterial.BILLBOARD_PARTICLES].
</member>
- <member name="angular_velocity_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="angular_velocity_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Each particle's angular velocity will vary along this [CurveTexture].
</member>
- <member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Angular velocity randomness ratio. Default value: [code]0[/code].
+ <member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Angular velocity randomness ratio.
</member>
- <member name="anim_offset" type="float" setter="set_param" getter="get_param">
+ <member name="anim_offset" type="float" setter="set_param" getter="get_param" default="0.0">
Particle animation offset.
</member>
- <member name="anim_offset_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="anim_offset_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Each particle's animation offset will vary along this [CurveTexture].
</member>
- <member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Animation offset randomness ratio. Default value: [code]0[/code].
+ <member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Animation offset randomness ratio.
</member>
- <member name="anim_speed" type="float" setter="set_param" getter="get_param">
+ <member name="anim_speed" type="float" setter="set_param" getter="get_param" default="0.0">
Particle animation speed.
</member>
- <member name="anim_speed_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="anim_speed_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Each particle's animation speed will vary along this [CurveTexture].
</member>
- <member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Animation speed randomness ratio. Default value: [code]0[/code].
+ <member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Animation speed randomness ratio.
</member>
- <member name="color" type="Color" setter="set_color" getter="get_color">
+ <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )">
Each particle's initial color. If the [Particles2D]'s [code]texture[/code] is defined, it will be multiplied by this color. To have particle display color in a [SpatialMaterial] make sure to set [member SpatialMaterial.vertex_color_use_as_albedo] to [code]true[/code].
</member>
- <member name="color_ramp" type="Texture" setter="set_color_ramp" getter="get_color_ramp">
+ <member name="color_ramp" type="Texture" setter="set_color_ramp" getter="get_color_ramp" default="null">
Each particle's color will vary along this [GradientTexture].
</member>
- <member name="damping" type="float" setter="set_param" getter="get_param">
+ <member name="damping" type="float" setter="set_param" getter="get_param" default="0.0">
The rate at which particles lose velocity.
</member>
- <member name="damping_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="damping_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Damping will vary along this [CurveTexture].
</member>
- <member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Damping randomness ratio. Default value: [code]0[/code].
+ <member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Damping randomness ratio.
+ </member>
+ <member name="direction" type="Vector3" setter="set_direction" getter="get_direction" default="Vector3( 1, 0, 0 )">
+ Unit vector specifying the particles' emission direction.
</member>
<member name="emission_box_extents" type="Vector3" setter="set_emission_box_extents" getter="get_emission_box_extents">
- The box's extents if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_BOX[/code].
+ The box's extents if [code]emission_shape[/code] is set to [constant EMISSION_SHAPE_BOX].
</member>
<member name="emission_color_texture" type="Texture" setter="set_emission_color_texture" getter="get_emission_color_texture">
Particle color will be modulated by color determined by sampling this texture at the same point as the [member emission_point_texture].
</member>
<member name="emission_normal_texture" type="Texture" setter="set_emission_normal_texture" getter="get_emission_normal_texture">
- Particle velocity and rotation will be set by sampling this texture at the same point as the [member emission_point_texture]. Used only in [code]EMISSION_SHAPE_DIRECTED[/code]. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
+ Particle velocity and rotation will be set by sampling this texture at the same point as the [member emission_point_texture]. Used only in [constant EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
</member>
<member name="emission_point_count" type="int" setter="set_emission_point_count" getter="get_emission_point_count">
- The number of emission points if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_POINTS[/code] or [code]EMISSION_SHAPE_DIRECTED_POINTS[/code].
+ The number of emission points if [code]emission_shape[/code] is set to [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS].
</member>
<member name="emission_point_texture" type="Texture" setter="set_emission_point_texture" getter="get_emission_point_texture">
- Particles will be emitted at positions determined by sampling this texture at a random position. Used with [code]EMISSION_SHAPE_POINTS[/code] and [code]EMISSION_SHAPE_DIRECTED_POINTS[/code]. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
+ Particles will be emitted at positions determined by sampling this texture at a random position. Used with [constant EMISSION_SHAPE_POINTS] and [constant EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
</member>
- <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="ParticlesMaterial.EmissionShape">
- Particles will be emitted inside this region. Use [code]EMISSION_SHAPE_*[/code] constants for values. Default value: [code]EMISSION_SHAPE_POINT[/code].
+ <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="ParticlesMaterial.EmissionShape" default="0">
+ Particles will be emitted inside this region. Use [code]EMISSION_SHAPE_*[/code] constants for values.
</member>
<member name="emission_sphere_radius" type="float" setter="set_emission_sphere_radius" getter="get_emission_sphere_radius">
- The sphere's radius if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_SPHERE[/code].
+ The sphere's radius if [code]emission_shape[/code] is set to [constant EMISSION_SHAPE_SPHERE].
</member>
- <member name="flag_align_y" type="bool" setter="set_flag" getter="get_flag">
- Align y-axis of particle with the direction of its velocity.
+ <member name="flag_align_y" type="bool" setter="set_flag" getter="get_flag" default="false">
+ Align Y axis of particle with the direction of its velocity.
</member>
- <member name="flag_disable_z" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], particles will not move on the z axis. Default value: [code]true[/code] for [Particles2D], [code]false[/code] for [Particles].
+ <member name="flag_disable_z" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], particles will not move on the z axis.
</member>
- <member name="flag_rotate_y" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], particles rotate around y-axis by [member angle].
+ <member name="flag_rotate_y" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], particles rotate around Y axis by [member angle].
</member>
- <member name="flatness" type="float" setter="set_flatness" getter="get_flatness">
- Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane. Default [code]0[/code].
+ <member name="flatness" type="float" setter="set_flatness" getter="get_flatness" default="0.0">
+ Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane.
</member>
- <member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity">
- Gravity applied to every particle. Default value: [code](0, -9.8, 0)[/code].
+ <member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity" default="Vector3( 0, -9.8, 0 )">
+ Gravity applied to every particle.
</member>
- <member name="hue_variation" type="float" setter="set_param" getter="get_param">
+ <member name="hue_variation" type="float" setter="set_param" getter="get_param" default="0.0">
Initial hue variation applied to each particle.
</member>
- <member name="hue_variation_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="hue_variation_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Each particle's hue will vary along this [CurveTexture].
</member>
- <member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Hue variation randomness ratio. Default value: [code]0[/code].
+ <member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Hue variation randomness ratio.
</member>
- <member name="initial_velocity" type="float" setter="set_param" getter="get_param">
+ <member name="initial_velocity" type="float" setter="set_param" getter="get_param" default="0.0">
Initial velocity magnitude for each particle. Direction comes from [member spread] and the node's orientation.
</member>
- <member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Initial velocity randomness ratio. Default value: [code]0[/code].
+ <member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Initial velocity randomness ratio.
</member>
- <member name="linear_accel" type="float" setter="set_param" getter="get_param">
+ <member name="linear_accel" type="float" setter="set_param" getter="get_param" default="0.0">
Linear acceleration applied to each particle in the direction of motion.
</member>
- <member name="linear_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="linear_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Each particle's linear acceleration will vary along this [CurveTexture].
</member>
- <member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Linear acceleration randomness ratio. Default value: [code]0[/code].
+ <member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Linear acceleration randomness ratio.
</member>
<member name="orbit_velocity" type="float" setter="set_param" getter="get_param">
Orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
@@ -134,45 +137,45 @@
Each particle's orbital velocity will vary along this [CurveTexture].
</member>
<member name="orbit_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Orbital velocity randomness ratio. Default value: [code]0[/code].
+ Orbital velocity randomness ratio.
</member>
- <member name="radial_accel" type="float" setter="set_param" getter="get_param">
+ <member name="radial_accel" type="float" setter="set_param" getter="get_param" default="0.0">
Radial acceleration applied to each particle. Makes particle accelerate away from origin.
</member>
- <member name="radial_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="radial_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Each particle's radial acceleration will vary along this [CurveTexture].
</member>
- <member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Radial acceleration randomness ratio. Default value: [code]0[/code].
+ <member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Radial acceleration randomness ratio.
</member>
- <member name="scale" type="float" setter="set_param" getter="get_param">
+ <member name="scale" type="float" setter="set_param" getter="get_param" default="1.0">
Initial scale applied to each particle.
</member>
- <member name="scale_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="scale_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Each particle's scale will vary along this [CurveTexture].
</member>
- <member name="scale_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Scale randomness ratio. Default value: [code]0[/code].
+ <member name="scale_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Scale randomness ratio.
</member>
- <member name="spread" type="float" setter="set_spread" getter="get_spread">
- Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Default value: [code]45[/code]. Applied to X/Z plane and Y/Z planes.
+ <member name="spread" type="float" setter="set_spread" getter="get_spread" default="45.0">
+ Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Applied to X/Z plane and Y/Z planes.
</member>
- <member name="tangential_accel" type="float" setter="set_param" getter="get_param">
+ <member name="tangential_accel" type="float" setter="set_param" getter="get_param" default="0.0">
Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
</member>
- <member name="tangential_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
+ <member name="tangential_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture" default="null">
Each particle's tangential acceleration will vary along this [CurveTexture].
</member>
- <member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
- Tangential acceleration randomness ratio. Default value: [code]0[/code].
+ <member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness" default="0.0">
+ Tangential acceleration randomness ratio.
</member>
- <member name="trail_color_modifier" type="GradientTexture" setter="set_trail_color_modifier" getter="get_trail_color_modifier">
+ <member name="trail_color_modifier" type="GradientTexture" setter="set_trail_color_modifier" getter="get_trail_color_modifier" default="null">
Trail particles' color will vary along this [GradientTexture].
</member>
- <member name="trail_divisor" type="int" setter="set_trail_divisor" getter="get_trail_divisor">
+ <member name="trail_divisor" type="int" setter="set_trail_divisor" getter="get_trail_divisor" default="1">
Emitter will emit [code]amount[/code] divided by [code]trail_divisor[/code] particles. The remaining particles will be used as trail(s).
</member>
- <member name="trail_size_modifier" type="CurveTexture" setter="set_trail_size_modifier" getter="get_trail_size_modifier">
+ <member name="trail_size_modifier" type="CurveTexture" setter="set_trail_size_modifier" getter="get_trail_size_modifier" default="null">
Trail particles' size will vary along this [CurveTexture].
</member>
</members>
diff --git a/doc/classes/Path.xml b/doc/classes/Path.xml
index 1b553dbc02..5c1100e670 100644
--- a/doc/classes/Path.xml
+++ b/doc/classes/Path.xml
@@ -1,22 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Path" inherits="Spatial" category="Core" version="3.2">
<brief_description>
- Container for a [Curve3D].
+ Contains a [Curve3D] path for [PathFollow] nodes to follow.
</brief_description>
<description>
- This class is a container/Node-ification of a [Curve3D], so it can have [Spatial] properties and [Node] info.
+ Can have [PathFollow] child nodes moving along the [Curve3D]. See [PathFollow] for more information on the usage.
+ Note that the path is considered as relative to the moved nodes (children of [PathFollow]). As such, the curve should usually start with a zero vector [code](0, 0, 0)[/code].
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="curve" type="Curve3D" setter="set_curve" getter="get_curve">
+ <member name="curve" type="Curve3D" setter="set_curve" getter="get_curve" default="Object(Curve3D,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;bake_interval&quot;:0.2,&quot;_data&quot;:{
+&quot;points&quot;: PoolVector3Array( ),
+&quot;tilts&quot;: PoolRealArray( )
+},&quot;up_vector_enabled&quot;:true,&quot;script&quot;:null)
+">
+ A [Curve3D] describing the path.
</member>
</members>
<signals>
<signal name="curve_changed">
<description>
+ Emitted when the [member curve] changes.
</description>
</signal>
</signals>
diff --git a/doc/classes/Path2D.xml b/doc/classes/Path2D.xml
index ce15b3eab2..960cd5163d 100644
--- a/doc/classes/Path2D.xml
+++ b/doc/classes/Path2D.xml
@@ -4,15 +4,18 @@
Contains a [Curve2D] path for [PathFollow2D] nodes to follow.
</brief_description>
<description>
- Can have [PathFollow2D] child-nodes moving along the [Curve2D]. See [PathFollow2D] for more information on this usage.
- Note that the path is considered as relative to the moved nodes (children of [PathFollow2D]) - usually the curve should start with a zero vector (0, 0).
+ Can have [PathFollow2D] child nodes moving along the [Curve2D]. See [PathFollow2D] for more information on usage.
+ [b]Note:[/b] The path is considered as relative to the moved nodes (children of [PathFollow2D]). As such, the curve should usually start with a zero vector ([code](0, 0)[/code]).
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="curve" type="Curve2D" setter="set_curve" getter="get_curve">
+ <member name="curve" type="Curve2D" setter="set_curve" getter="get_curve" default="Object(Curve2D,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;bake_interval&quot;:5.0,&quot;_data&quot;:{
+&quot;points&quot;: PoolVector2Array( )
+},&quot;script&quot;:null)
+">
A [Curve2D] describing the path.
</member>
</members>
diff --git a/doc/classes/PathFollow.xml b/doc/classes/PathFollow.xml
index ba27ca04eb..0b4a781a7e 100644
--- a/doc/classes/PathFollow.xml
+++ b/doc/classes/PathFollow.xml
@@ -5,34 +5,34 @@
</brief_description>
<description>
This node takes its parent [Path], and returns the coordinates of a point within it, given a distance from the first vertex.
- It is useful for making other nodes follow a path, without coding the movement pattern. For that, the nodes must be descendants of this node. Then, when setting an offset in this node, the descendant nodes will move accordingly.
+ It is useful for making other nodes follow a path, without coding the movement pattern. For that, the nodes must be children of this node. The descendant nodes will then move accordingly when setting an offset in this node.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="cubic_interp" type="bool" setter="set_cubic_interpolation" getter="get_cubic_interpolation">
+ <member name="cubic_interp" type="bool" setter="set_cubic_interpolation" getter="get_cubic_interpolation" default="true">
If [code]true[/code], the position between two cached points is interpolated cubically, and linearly otherwise.
The points along the [Curve3D] of the [Path] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
- There are two answers to this problem: Either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations.
+ There are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations.
</member>
- <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset">
+ <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset" default="0.0">
The node's offset along the curve.
</member>
- <member name="loop" type="bool" setter="set_loop" getter="has_loop">
+ <member name="loop" type="bool" setter="set_loop" getter="has_loop" default="true">
If [code]true[/code], any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths.
</member>
- <member name="offset" type="float" setter="set_offset" getter="get_offset">
+ <member name="offset" type="float" setter="set_offset" getter="get_offset" default="0.0">
The distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path.
</member>
- <member name="rotation_mode" type="int" setter="set_rotation_mode" getter="get_rotation_mode" enum="PathFollow.RotationMode">
- Allows or forbids rotation on one or more axes, depending on the constants being used.
+ <member name="rotation_mode" type="int" setter="set_rotation_mode" getter="get_rotation_mode" enum="PathFollow.RotationMode" default="3">
+ Allows or forbids rotation on one or more axes, depending on the [enum RotationMode] constants being used.
</member>
- <member name="unit_offset" type="float" setter="set_unit_offset" getter="get_unit_offset">
+ <member name="unit_offset" type="float" setter="set_unit_offset" getter="get_unit_offset" default="0.0">
The distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length.
</member>
- <member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset">
+ <member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset" default="0.0">
The node's offset perpendicular to the curve.
</member>
</members>
diff --git a/doc/classes/PathFollow2D.xml b/doc/classes/PathFollow2D.xml
index 6f38b9f08d..9c4624dfee 100644
--- a/doc/classes/PathFollow2D.xml
+++ b/doc/classes/PathFollow2D.xml
@@ -5,37 +5,37 @@
</brief_description>
<description>
This node takes its parent [Path2D], and returns the coordinates of a point within it, given a distance from the first vertex.
- It is useful for making other nodes follow a path, without coding the movement pattern. For that, the nodes must be descendants of this node. Then, when setting an offset in this node, the descendant nodes will move accordingly.
+ It is useful for making other nodes follow a path, without coding the movement pattern. For that, the nodes must be children of this node. The descendant nodes will then move accordingly when setting an offset in this node.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="cubic_interp" type="bool" setter="set_cubic_interpolation" getter="get_cubic_interpolation">
+ <member name="cubic_interp" type="bool" setter="set_cubic_interpolation" getter="get_cubic_interpolation" default="true">
If [code]true[/code], the position between two cached points is interpolated cubically, and linearly otherwise.
The points along the [Curve2D] of the [Path2D] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
- There are two answers to this problem: Either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations.
+ There are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations.
</member>
- <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset">
+ <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset" default="0.0">
The node's offset along the curve.
</member>
- <member name="lookahead" type="float" setter="set_lookahead" getter="get_lookahead">
- How far to look ahead of the curve to calculate the tangent if the node is rotating. E.g. shorter lookaheads will lead to faster rotations. Default value: [code]4[/code].
+ <member name="lookahead" type="float" setter="set_lookahead" getter="get_lookahead" default="4.0">
+ How far to look ahead of the curve to calculate the tangent if the node is rotating. E.g. shorter lookaheads will lead to faster rotations.
</member>
- <member name="loop" type="bool" setter="set_loop" getter="has_loop">
+ <member name="loop" type="bool" setter="set_loop" getter="has_loop" default="true">
If [code]true[/code], any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths.
</member>
- <member name="offset" type="float" setter="set_offset" getter="get_offset">
+ <member name="offset" type="float" setter="set_offset" getter="get_offset" default="0.0">
The distance along the path in pixels.
</member>
- <member name="rotate" type="bool" setter="set_rotate" getter="is_rotating">
+ <member name="rotate" type="bool" setter="set_rotate" getter="is_rotating" default="true">
If [code]true[/code], this node rotates to follow the path, making its descendants rotate.
</member>
- <member name="unit_offset" type="float" setter="set_unit_offset" getter="get_unit_offset">
+ <member name="unit_offset" type="float" setter="set_unit_offset" getter="get_unit_offset" default="0.0">
The distance along the path as a number in the range 0.0 (for the first vertex) to 1.0 (for the last). This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length.
</member>
- <member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset">
+ <member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset" default="0.0">
The node's offset perpendicular to the curve.
</member>
</members>
diff --git a/doc/classes/Performance.xml b/doc/classes/Performance.xml
index 3860511615..a2b5856624 100644
--- a/doc/classes/Performance.xml
+++ b/doc/classes/Performance.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Performance" inherits="Object" category="Core" version="3.2">
<brief_description>
- Exposes performance related data.
+ Exposes performance-related data.
</brief_description>
<description>
- This class provides access to a number of different monitors related to performance, such as memory usage, draw calls, and FPS. These are the same as the values displayed in the [i]Monitor[/i] tab in the editor's [i]Debugger[/i] panel. By using the [method get_monitor] method of this class, you can access this data from your code. Note that a few of these monitors are only available in debug mode and will always return 0 when used in a release build.
- Many of these monitors are not updated in real-time, so there may be a short delay between changes.
+ This class provides access to a number of different monitors related to performance, such as memory usage, draw calls, and FPS. These are the same as the values displayed in the [b]Monitor[/b] tab in the editor's [b]Debugger[/b] panel. By using the [method get_monitor] method of this class, you can access this data from your code.
+ [b]Note:[/b] A few of these monitors are only available in debug mode and will always return 0 when used in a release build.
+ [b]Note:[/b] Many of these monitors are not updated in real-time, so there may be a short delay between changes.
</description>
<tutorials>
</tutorials>
@@ -16,7 +17,7 @@
<argument index="0" name="monitor" type="int" enum="Performance.Monitor">
</argument>
<description>
- Returns the value of one of the available monitors. You should provide one of this class's constants as the argument, like this:
+ Returns the value of one of the available monitors. You should provide one of the [enum Monitor] constants as the argument, like this:
[codeblock]
print(Performance.get_monitor(Performance.TIME_FPS)) # Prints the FPS to the console
[/codeblock]
@@ -25,13 +26,13 @@
</methods>
<constants>
<constant name="TIME_FPS" value="0" enum="Monitor">
- Frames per second.
+ Number of frames per second.
</constant>
<constant name="TIME_PROCESS" value="1" enum="Monitor">
- Time it took to complete one frame.
+ Time it took to complete one frame, in seconds.
</constant>
<constant name="TIME_PHYSICS_PROCESS" value="2" enum="Monitor">
- Time it took to complete one physics frame.
+ Time it took to complete one physics frame, in seconds.
</constant>
<constant name="MEMORY_STATIC" value="3" enum="Monitor">
Static memory currently used, in bytes. Not available in release builds.
@@ -58,6 +59,7 @@
Number of nodes currently instanced in the scene tree. This also includes the root node.
</constant>
<constant name="OBJECT_ORPHAN_NODE_COUNT" value="11" enum="Monitor">
+ Number of orphan nodes, i.e. nodes which are not parented to a node of the scene tree.
</constant>
<constant name="RENDER_OBJECTS_IN_FRAME" value="12" enum="Monitor">
3D objects drawn per frame.
@@ -66,7 +68,7 @@
Vertices drawn per frame. 3D only.
</constant>
<constant name="RENDER_MATERIAL_CHANGES_IN_FRAME" value="14" enum="Monitor">
- Material changes per frame. 3D only
+ Material changes per frame. 3D only.
</constant>
<constant name="RENDER_SHADER_CHANGES_IN_FRAME" value="15" enum="Monitor">
Shader changes per frame. 3D only.
@@ -78,15 +80,16 @@
Draw calls per frame. 3D only.
</constant>
<constant name="RENDER_VIDEO_MEM_USED" value="18" enum="Monitor">
- Video memory used. Includes both texture and vertex memory.
+ The amount of video memory used, i.e. texture and vertex memory combined.
</constant>
<constant name="RENDER_TEXTURE_MEM_USED" value="19" enum="Monitor">
- Texture memory used.
+ The amount of texture memory used.
</constant>
<constant name="RENDER_VERTEX_MEM_USED" value="20" enum="Monitor">
- Vertex memory used.
+ The amount of vertex memory used.
</constant>
<constant name="RENDER_USAGE_VIDEO_MEM_TOTAL" value="21" enum="Monitor">
+ Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0.
</constant>
<constant name="PHYSICS_2D_ACTIVE_OBJECTS" value="22" enum="Monitor">
Number of active [RigidBody2D] nodes in the game.
@@ -107,8 +110,10 @@
Number of islands in the 3D physics engine.
</constant>
<constant name="AUDIO_OUTPUT_LATENCY" value="28" enum="Monitor">
+ Output latency of the [AudioServer].
</constant>
<constant name="MONITOR_MAX" value="29" enum="Monitor">
+ Represents the size of the [enum Monitor] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/PhysicalBone.xml b/doc/classes/PhysicalBone.xml
index bf379afab8..583c24e2c0 100644
--- a/doc/classes/PhysicalBone.xml
+++ b/doc/classes/PhysicalBone.xml
@@ -33,21 +33,21 @@
</method>
</methods>
<members>
- <member name="body_offset" type="Transform" setter="set_body_offset" getter="get_body_offset">
+ <member name="body_offset" type="Transform" setter="set_body_offset" getter="get_body_offset" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
</member>
- <member name="bounce" type="float" setter="set_bounce" getter="get_bounce">
+ <member name="bounce" type="float" setter="set_bounce" getter="get_bounce" default="0.0">
</member>
- <member name="friction" type="float" setter="set_friction" getter="get_friction">
+ <member name="friction" type="float" setter="set_friction" getter="get_friction" default="1.0">
</member>
- <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale">
+ <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale" default="1.0">
</member>
- <member name="joint_offset" type="Transform" setter="set_joint_offset" getter="get_joint_offset">
+ <member name="joint_offset" type="Transform" setter="set_joint_offset" getter="get_joint_offset" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
</member>
- <member name="joint_type" type="int" setter="set_joint_type" getter="get_joint_type" enum="PhysicalBone.JointType">
+ <member name="joint_type" type="int" setter="set_joint_type" getter="get_joint_type" enum="PhysicalBone.JointType" default="0">
</member>
- <member name="mass" type="float" setter="set_mass" getter="get_mass">
+ <member name="mass" type="float" setter="set_mass" getter="get_mass" default="1.0">
</member>
- <member name="weight" type="float" setter="set_weight" getter="get_weight">
+ <member name="weight" type="float" setter="set_weight" getter="get_weight" default="9.8">
</member>
</members>
<constants>
diff --git a/doc/classes/Physics2DDirectBodyState.xml b/doc/classes/Physics2DDirectBodyState.xml
index 1fd578ecd8..af3bba9b86 100644
--- a/doc/classes/Physics2DDirectBodyState.xml
+++ b/doc/classes/Physics2DDirectBodyState.xml
@@ -56,7 +56,7 @@
<argument index="1" name="impulse" type="Vector2">
</argument>
<description>
- Applies a positioned impulse to the body. An impulse is time independent! Applying an impulse every frame would result in a framerate dependent force. For this reason it should only be used when simulating one-time impacts (use the "_force" functions otherwise). The offset uses the rotation of the global coordinate system, but is centered at the object's origin.
+ Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise). The offset uses the rotation of the global coordinate system, but is centered at the object's origin.
</description>
</method>
<method name="apply_torque_impulse">
@@ -135,7 +135,8 @@
<return type="int">
</return>
<description>
- Returns the number of contacts this body has with other bodies. Note that by default this returns 0 unless bodies are configured to log contacts. See [member RigidBody2D.contact_monitor].
+ Returns the number of contacts this body has with other bodies.
+ [b]Note:[/b] By default, this returns 0 unless bodies are configured to monitor contacts. See [member RigidBody2D.contact_monitor].
</description>
</method>
<method name="get_contact_local_normal" qualifiers="const">
diff --git a/doc/classes/Physics2DDirectSpaceState.xml b/doc/classes/Physics2DDirectSpaceState.xml
index 040d7d05c3..e11e8918cd 100644
--- a/doc/classes/Physics2DDirectSpaceState.xml
+++ b/doc/classes/Physics2DDirectSpaceState.xml
@@ -16,8 +16,8 @@
<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
</argument>
<description>
- Checks how far the shape can travel toward a point. Note that both the shape and the motion are supplied through a [Physics2DShapeQueryParameters] object. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [code][1, 1][/code].
- If the shape can not move, the array will be empty.
+ Checks how far the shape can travel toward a point. If the shape can not move, the array will be empty.
+ [b]Note:[/b] Both the shape and the motion are supplied through a [Physics2DShapeQueryParameters] object. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [code][1, 1][/code].
</description>
</method>
<method name="collide_shape">
@@ -37,7 +37,8 @@
<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
</argument>
<description>
- Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. If it collides with more than one shape, the nearest one is selected. Note that this method does not take into account the [code]motion[/code] property of the object. The returned object is a dictionary containing the following fields:
+ Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. If it collides with more than one shape, the nearest one is selected. If the shape did not intersect anything, then an empty dictionary is returned instead.
+ [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object. The returned object is a dictionary containing the following fields:
[code]collider_id[/code]: The colliding object's ID.
[code]linear_velocity[/code]: The colliding object's velocity [Vector2]. If the object is an [Area2D], the result is [code](0, 0)[/code].
[code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
@@ -45,7 +46,6 @@
[code]point[/code]: The intersection point.
[code]rid[/code]: The intersecting object's [RID].
[code]shape[/code]: The shape index of the colliding shape.
- If the shape did not intersect anything, then an empty dictionary is returned instead.
</description>
</method>
<method name="intersect_point">
@@ -129,7 +129,8 @@
<argument index="1" name="max_results" type="int" default="32">
</argument>
<description>
- Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. Note that this method does not take into account the [code]motion[/code] property of the object. The intersected shapes are returned in an array containing dictionaries with the following fields:
+ Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space.
+ [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object. The intersected shapes are returned in an array containing dictionaries with the following fields:
[code]collider[/code]: The colliding object.
[code]collider_id[/code]: The colliding object's ID.
[code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
diff --git a/doc/classes/Physics2DServer.xml b/doc/classes/Physics2DServer.xml
index 172420e4ca..ba00438ea1 100644
--- a/doc/classes/Physics2DServer.xml
+++ b/doc/classes/Physics2DServer.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Physics2DServer" inherits="Object" category="Core" version="3.2">
<brief_description>
- Physics 2D Server.
+ Server interface for low-level 2D physics access.
</brief_description>
<description>
- Physics 2D Server is the server responsible for all 2D physics. It can create many kinds of physics objects, but does not insert them on the node tree.
+ Physics2DServer is the server responsible for all 2D physics. It can create many kinds of physics objects, but does not insert them on the node tree.
</description>
<tutorials>
</tutorials>
@@ -86,7 +86,7 @@
<argument index="1" name="param" type="int" enum="Physics2DServer.AreaParameter">
</argument>
<description>
- Returns an area parameter value. A list of available parameters is on the AREA_PARAM_* constants.
+ Returns an area parameter value. See [enum AreaParameter] for a list of available parameters.
</description>
</method>
<method name="area_get_shape" qualifiers="const">
@@ -230,7 +230,7 @@
<argument index="2" name="value" type="Variant">
</argument>
<description>
- Sets the value for an area parameter. A list of available parameters is on the AREA_PARAM_* constants.
+ Sets the value for an area parameter. See [enum AreaParameter] for a list of available parameters.
</description>
</method>
<method name="area_set_shape">
@@ -291,7 +291,7 @@
<argument index="1" name="mode" type="int" enum="Physics2DServer.AreaSpaceOverrideMode">
</argument>
<description>
- Sets the space override mode for the area. The modes are described in the constants AREA_SPACE_OVERRIDE_*.
+ Sets the space override mode for the area. See [enum AreaSpaceOverrideMode] for a list of available modes.
</description>
</method>
<method name="area_set_transform">
@@ -431,7 +431,7 @@
<return type="RID">
</return>
<description>
- Creates a physics body. The first parameter can be any value from constants BODY_MODE*, for the type of body created. Additionally, the body can be created in sleeping state to save processing time.
+ Creates a physics body.
</description>
</method>
<method name="body_get_canvas_instance_id" qualifiers="const">
@@ -513,7 +513,7 @@
<argument index="1" name="param" type="int" enum="Physics2DServer.BodyParameter">
</argument>
<description>
- Returns the value of a body parameter. A list of available parameters is on the BODY_PARAM_* constants.
+ Returns the value of a body parameter. See [enum BodyParameter] for a list of available parameters.
</description>
</method>
<method name="body_get_shape" qualifiers="const">
@@ -650,7 +650,7 @@
<argument index="1" name="mode" type="int" enum="Physics2DServer.CCDMode">
</argument>
<description>
- Sets the continuous collision detection mode from any of the CCD_MODE_* constants.
+ Sets the continuous collision detection mode using one of the [enum CCDMode] constants.
Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
</description>
</method>
@@ -688,7 +688,7 @@
<argument index="1" name="mode" type="int" enum="Physics2DServer.BodyMode">
</argument>
<description>
- Sets the body mode, from one of the constants BODY_MODE*.
+ Sets the body mode using one of the [enum BodyMode] constants.
</description>
</method>
<method name="body_set_omit_force_integration">
@@ -712,7 +712,7 @@
<argument index="2" name="value" type="float">
</argument>
<description>
- Sets a body parameter. A list of available parameters is on the BODY_PARAM_* constants.
+ Sets a body parameter. See [enum BodyParameter] for a list of available parameters.
</description>
</method>
<method name="body_set_shape">
@@ -803,7 +803,7 @@
<argument index="2" name="value" type="Variant">
</argument>
<description>
- Sets a body state (see BODY_STATE* constants).
+ Sets a body state using one of the [enum BodyState] constants.
</description>
</method>
<method name="body_test_motion">
@@ -885,7 +885,7 @@
<argument index="2" name="value" type="float">
</argument>
<description>
- Sets a damped spring joint parameter. Parameters are explained in the DAMPED_STRING* constants.
+ Sets a damped spring joint parameter. See [enum DampedStringParam] for a list of available parameters.
</description>
</method>
<method name="free_rid">
@@ -903,7 +903,7 @@
<argument index="0" name="process_info" type="int" enum="Physics2DServer.ProcessInfo">
</argument>
<description>
- Returns information about the current state of the 2D physics engine. The states are listed under the INFO_* constants.
+ Returns information about the current state of the 2D physics engine. See [enum ProcessInfo] for a list of available states.
</description>
</method>
<method name="groove_joint_create">
@@ -920,7 +920,7 @@
<argument index="4" name="body_b" type="RID">
</argument>
<description>
- Creates a groove joint between two bodies. If not specified, the bodyies are assumed to be the joint itself.
+ Creates a groove joint between two bodies. If not specified, the bodies are assumed to be the joint itself.
</description>
</method>
<method name="joint_get_param" qualifiers="const">
@@ -940,7 +940,7 @@
<argument index="0" name="joint" type="RID">
</argument>
<description>
- Returns the type of a joint (see JOINT_* constants).
+ Returns a joint's type (see [enum JointType]).
</description>
</method>
<method name="joint_set_param">
@@ -953,7 +953,7 @@
<argument index="2" name="value" type="float">
</argument>
<description>
- Sets a joint parameter. Parameters are explained in the JOINT_PARAM* constants.
+ Sets a joint parameter. See [enum JointParam] for a list of available parameters.
</description>
</method>
<method name="line_shape_create">
@@ -1017,7 +1017,7 @@
<argument index="0" name="shape" type="RID">
</argument>
<description>
- Returns the type of shape (see SHAPE_* constants).
+ Returns a shape's type (see [enum ShapeType]).
</description>
</method>
<method name="shape_set_data">
@@ -1088,7 +1088,7 @@
<argument index="2" name="value" type="float">
</argument>
<description>
- Sets the value for a space parameter. A list of available parameters is on the SPACE_PARAM_* constants.
+ Sets the value for a space parameter. See [enum SpaceParameter] for a list of available parameters.
</description>
</method>
</methods>
@@ -1215,7 +1215,7 @@
Constant to set/get a body's angular dampening factor.
</constant>
<constant name="BODY_PARAM_MAX" value="7" enum="BodyParameter">
- This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0.
+ Represents the size of the [enum BodyParameter] enum.
</constant>
<constant name="BODY_STATE_TRANSFORM" value="0" enum="BodyState">
Constant to set/get the current transform matrix of the body.
@@ -1248,13 +1248,13 @@
<constant name="JOINT_PARAM_MAX_FORCE" value="2" enum="JointParam">
</constant>
<constant name="DAMPED_STRING_REST_LENGTH" value="0" enum="DampedStringParam">
- Set the resting length of the spring joint. The joint will always try to go to back this length when pulled apart.
+ Sets the resting length of the spring joint. The joint will always try to go to back this length when pulled apart.
</constant>
<constant name="DAMPED_STRING_STIFFNESS" value="1" enum="DampedStringParam">
- Set the stiffness of the spring joint. The joint applies a force equal to the stiffness times the distance from its resting length.
+ Sets the stiffness of the spring joint. The joint applies a force equal to the stiffness times the distance from its resting length.
</constant>
<constant name="DAMPED_STRING_DAMPING" value="2" enum="DampedStringParam">
- Set the damping ratio of the spring joint. A value of 0 indicates an undamped spring, while 1 causes the system to reach equilibrium as fast as possible (critical damping).
+ Sets the damping ratio of the spring joint. A value of 0 indicates an undamped spring, while 1 causes the system to reach equilibrium as fast as possible (critical damping).
</constant>
<constant name="CCD_MODE_DISABLED" value="0" enum="CCDMode">
Disables continuous collision detection. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
diff --git a/doc/classes/Physics2DShapeQueryParameters.xml b/doc/classes/Physics2DShapeQueryParameters.xml
index 43d9b71c94..7d46dd2876 100644
--- a/doc/classes/Physics2DShapeQueryParameters.xml
+++ b/doc/classes/Physics2DShapeQueryParameters.xml
@@ -15,31 +15,31 @@
<argument index="0" name="shape" type="Resource">
</argument>
<description>
- Set the [Shape2D] that will be used for collision/intersection queries.
+ Sets the [Shape2D] that will be used for collision/intersection queries.
</description>
</method>
</methods>
<members>
- <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled">
+ <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false">
</member>
- <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled">
+ <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled" default="true">
</member>
- <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer">
+ <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="2147483647">
The physics layer the query should be made on.
</member>
- <member name="exclude" type="Array" setter="set_exclude" getter="get_exclude">
+ <member name="exclude" type="Array" setter="set_exclude" getter="get_exclude" default="[ ]">
The list of objects or object [RID]s, that will be excluded from collisions.
</member>
- <member name="margin" type="float" setter="set_margin" getter="get_margin">
+ <member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.0">
The collision margin for the shape.
</member>
- <member name="motion" type="Vector2" setter="set_motion" getter="get_motion">
+ <member name="motion" type="Vector2" setter="set_motion" getter="get_motion" default="Vector2( 0, 0 )">
The motion of the shape being queried for.
</member>
<member name="shape_rid" type="RID" setter="set_shape_rid" getter="get_shape_rid">
- The [RID] of the queried shape. See [method set_shape] also.
+ The [RID] of the queried shape. See also [method set_shape].
</member>
- <member name="transform" type="Transform2D" setter="set_transform" getter="get_transform">
+ <member name="transform" type="Transform2D" setter="set_transform" getter="get_transform" default="Transform2D( 1, 0, 0, 1, 0, 0 )">
the transform matrix of the queried shape.
</member>
</members>
diff --git a/doc/classes/Physics2DTestMotionResult.xml b/doc/classes/Physics2DTestMotionResult.xml
index a0f8a1ca4c..410bffc0f0 100644
--- a/doc/classes/Physics2DTestMotionResult.xml
+++ b/doc/classes/Physics2DTestMotionResult.xml
@@ -9,23 +9,23 @@
<methods>
</methods>
<members>
- <member name="collider" type="Object" setter="" getter="get_collider">
+ <member name="collider" type="Object" setter="" getter="get_collider" default="null">
</member>
- <member name="collider_id" type="int" setter="" getter="get_collider_id">
+ <member name="collider_id" type="int" setter="" getter="get_collider_id" default="0">
</member>
<member name="collider_rid" type="RID" setter="" getter="get_collider_rid">
</member>
- <member name="collider_shape" type="int" setter="" getter="get_collider_shape">
+ <member name="collider_shape" type="int" setter="" getter="get_collider_shape" default="0">
</member>
- <member name="collider_velocity" type="Vector2" setter="" getter="get_collider_velocity">
+ <member name="collider_velocity" type="Vector2" setter="" getter="get_collider_velocity" default="Vector2( 0, 0 )">
</member>
- <member name="collision_normal" type="Vector2" setter="" getter="get_collision_normal">
+ <member name="collision_normal" type="Vector2" setter="" getter="get_collision_normal" default="Vector2( 0, 0 )">
</member>
- <member name="collision_point" type="Vector2" setter="" getter="get_collision_point">
+ <member name="collision_point" type="Vector2" setter="" getter="get_collision_point" default="Vector2( 0, 0 )">
</member>
- <member name="motion" type="Vector2" setter="" getter="get_motion">
+ <member name="motion" type="Vector2" setter="" getter="get_motion" default="Vector2( 0, 0 )">
</member>
- <member name="motion_remainder" type="Vector2" setter="" getter="get_motion_remainder">
+ <member name="motion_remainder" type="Vector2" setter="" getter="get_motion_remainder" default="Vector2( 0, 0 )">
</member>
</members>
<constants>
diff --git a/doc/classes/PhysicsBody.xml b/doc/classes/PhysicsBody.xml
index fc4f2e18fd..ee50f5a6c3 100644
--- a/doc/classes/PhysicsBody.xml
+++ b/doc/classes/PhysicsBody.xml
@@ -77,15 +77,13 @@
</method>
</methods>
<members>
- <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer">
+ <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1">
The physics layers this area is in.
Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the [member collision_mask] property.
A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A.
- Default value: 1 (the first layer/bit is enabled).
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The physics layers this area scans for collisions.
- Default value: 1 (the first layer/bit is enabled).
</member>
</members>
<constants>
diff --git a/doc/classes/PhysicsBody2D.xml b/doc/classes/PhysicsBody2D.xml
index a5024c2432..076131357b 100644
--- a/doc/classes/PhysicsBody2D.xml
+++ b/doc/classes/PhysicsBody2D.xml
@@ -77,15 +77,13 @@
</method>
</methods>
<members>
- <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer">
+ <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1">
The physics layers this area is in.
Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the [member collision_mask] property.
A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A.
- Default value: 1 (the first layer/bit is enabled).
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The physics layers this area scans for collisions.
- Default value: 1 (the first layer/bit is enabled).
</member>
<member name="layers" type="int" setter="_set_layers" getter="_get_layers">
Both [member collision_layer] and [member collision_mask]. Returns [member collision_layer] when accessed. Updates [member collision_layer] and [member collision_mask] when modified.
diff --git a/doc/classes/PhysicsDirectBodyState.xml b/doc/classes/PhysicsDirectBodyState.xml
index e556e8037a..e68d280cd1 100644
--- a/doc/classes/PhysicsDirectBodyState.xml
+++ b/doc/classes/PhysicsDirectBodyState.xml
@@ -57,7 +57,7 @@
<argument index="1" name="j" type="Vector3">
</argument>
<description>
- Applies a positioned impulse to the body. An impulse is time independent! Applying an impulse every frame would result in a framerate dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin.
+ Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin.
</description>
</method>
<method name="apply_torque_impulse">
@@ -66,7 +66,7 @@
<argument index="0" name="j" type="Vector3">
</argument>
<description>
- Apply a torque impulse (which will be affected by the body mass and shape). This will rotate the body around the passed in vector.
+ Apply a torque impulse (which will be affected by the body mass and shape). This will rotate the body around the vector [code]j[/code] passed as parameter.
</description>
</method>
<method name="get_contact_collider" qualifiers="const">
@@ -127,7 +127,8 @@
<return type="int">
</return>
<description>
- Returns the number of contacts this body has with other bodies. Note that by default this returns 0 unless bodies are configured to log contacts. See [member RigidBody.contact_monitor].
+ Returns the number of contacts this body has with other bodies.
+ [b]Note:[/b] By default, this returns 0 unless bodies are configured to monitor contacts. See [member RigidBody.contact_monitor].
</description>
</method>
<method name="get_contact_impulse" qualifiers="const">
diff --git a/doc/classes/PhysicsMaterial.xml b/doc/classes/PhysicsMaterial.xml
index b507b4f9f5..73f1416172 100644
--- a/doc/classes/PhysicsMaterial.xml
+++ b/doc/classes/PhysicsMaterial.xml
@@ -11,15 +11,15 @@
<methods>
</methods>
<members>
- <member name="absorbent" type="bool" setter="set_absorbent" getter="is_absorbent">
+ <member name="absorbent" type="bool" setter="set_absorbent" getter="is_absorbent" default="false">
</member>
- <member name="bounce" type="float" setter="set_bounce" getter="get_bounce">
- The body's bounciness. Default value: [code]0[/code].
+ <member name="bounce" type="float" setter="set_bounce" getter="get_bounce" default="0.0">
+ The body's bounciness. Values range from [code]0[/code] (no bounce) to [code]1[/code] (full bounciness).
</member>
- <member name="friction" type="float" setter="set_friction" getter="get_friction">
- The body's friction. Values range from [code]0[/code] (frictionless) to [code]1[/code] (maximum friction). Default value: [code]1[/code].
+ <member name="friction" type="float" setter="set_friction" getter="get_friction" default="1.0">
+ The body's friction. Values range from [code]0[/code] (frictionless) to [code]1[/code] (maximum friction).
</member>
- <member name="rough" type="bool" setter="set_rough" getter="is_rough">
+ <member name="rough" type="bool" setter="set_rough" getter="is_rough" default="false">
</member>
</members>
<constants>
diff --git a/doc/classes/PhysicsServer.xml b/doc/classes/PhysicsServer.xml
index 78a6ed8ac0..a779a34e6a 100644
--- a/doc/classes/PhysicsServer.xml
+++ b/doc/classes/PhysicsServer.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PhysicsServer" inherits="Object" category="Core" version="3.2">
<brief_description>
- Server interface for low level physics access.
+ Server interface for low-level physics access.
</brief_description>
<description>
- Everything related to physics in 3D.
+ PhysicsServer is the server responsible for all 3D physics. It can create many kinds of physics objects, but does not insert them on the node tree.
</description>
<tutorials>
</tutorials>
@@ -68,7 +68,7 @@
<argument index="1" name="param" type="int" enum="PhysicsServer.AreaParameter">
</argument>
<description>
- Returns an area parameter value. A list of available parameters is on the AREA_PARAM_* constants.
+ Returns an area parameter value. A list of available parameters is on the [code]AREA_PARAM_*[/code] constants.
</description>
</method>
<method name="area_get_shape" qualifiers="const">
@@ -221,7 +221,7 @@
<argument index="2" name="value" type="Variant">
</argument>
<description>
- Sets the value for an area parameter. A list of available parameters is on the AREA_PARAM_* constants.
+ Sets the value for an area parameter. A list of available parameters is on the [code]AREA_PARAM_*[/code] constants.
</description>
</method>
<method name="area_set_ray_pickable">
@@ -292,7 +292,7 @@
<argument index="1" name="mode" type="int" enum="PhysicsServer.AreaSpaceOverrideMode">
</argument>
<description>
- Sets the space override mode for the area. The modes are described in the constants AREA_SPACE_OVERRIDE_*.
+ Sets the space override mode for the area. The modes are described in the constants [code]AREA_SPACE_OVERRIDE_*[/code].
</description>
</method>
<method name="area_set_transform">
@@ -500,7 +500,7 @@
<argument index="1" name="param" type="int" enum="PhysicsServer.BodyParameter">
</argument>
<description>
- Returns the value of a body parameter. A list of available parameters is on the BODY_PARAM_* constants.
+ Returns the value of a body parameter. A list of available parameters is on the [code]BODY_PARAM_*[/code] constants.
</description>
</method>
<method name="body_get_shape" qualifiers="const">
@@ -588,7 +588,7 @@
<argument index="0" name="body" type="RID">
</argument>
<description>
- If [code]true[/code], the body can be detected by rays
+ If [code]true[/code], the body can be detected by rays.
</description>
</method>
<method name="body_remove_collision_exception">
@@ -739,7 +739,7 @@
<argument index="2" name="value" type="float">
</argument>
<description>
- Sets a body parameter. A list of available parameters is on the BODY_PARAM_* constants.
+ Sets a body parameter. A list of available parameters is on the [code]BODY_PARAM_*[/code] constants.
</description>
</method>
<method name="body_set_ray_pickable">
@@ -910,7 +910,7 @@
<argument index="0" name="process_info" type="int" enum="PhysicsServer.ProcessInfo">
</argument>
<description>
- Returns an Info defined by the [enum PhysicsServer.ProcessInfo] input given.
+ Returns an Info defined by the [enum ProcessInfo] input given.
</description>
</method>
<method name="hinge_joint_get_flag" qualifiers="const">
@@ -1144,7 +1144,7 @@
<argument index="0" name="type" type="int" enum="PhysicsServer.ShapeType">
</argument>
<description>
- Creates a shape of type SHAPE_*. Does not assign it to a body or an area. To do so, you must use [method area_set_shape] or [method body_set_shape].
+ Creates a shape of type [code]SHAPE_*[/code]. Does not assign it to a body or an area. To do so, you must use [method area_set_shape] or [method body_set_shape].
</description>
</method>
<method name="shape_get_data" qualifiers="const">
@@ -1162,7 +1162,7 @@
<argument index="0" name="shape" type="RID">
</argument>
<description>
- Returns the type of shape (see SHAPE_* constants).
+ Returns the type of shape (see [code]SHAPE_*[/code] constants).
</description>
</method>
<method name="shape_set_data">
@@ -1257,7 +1257,7 @@
<argument index="2" name="value" type="float">
</argument>
<description>
- Sets the value for a space parameter. A list of available parameters is on the SPACE_PARAM_* constants.
+ Sets the value for a space parameter. A list of available parameters is on the [code]SPACE_PARAM_*[/code] constants.
</description>
</method>
</methods>
@@ -1318,10 +1318,10 @@
If [code]true[/code], a motor turns the Hinge
</constant>
<constant name="SLIDER_JOINT_LINEAR_LIMIT_UPPER" value="0" enum="SliderJointParam">
- The maximum difference between the pivot points on their x-axis before damping happens.
+ The maximum difference between the pivot points on their X axis before damping happens.
</constant>
<constant name="SLIDER_JOINT_LINEAR_LIMIT_LOWER" value="1" enum="SliderJointParam">
- The minimum difference between the pivot points on their x-axis before damping happens.
+ The minimum difference between the pivot points on their X axis before damping happens.
</constant>
<constant name="SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS" value="2" enum="SliderJointParam">
A factor applied to the movement across the slider axis once the limits get surpassed. The lower, the slower the movement.
@@ -1384,13 +1384,13 @@
The amount of damping of the rotation across axes orthogonal to the slider.
</constant>
<constant name="SLIDER_JOINT_MAX" value="22" enum="SliderJointParam">
- End flag of SLIDER_JOINT_* constants, used internally.
+ Represents the size of the [enum SliderJointParam] enum.
</constant>
<constant name="CONE_TWIST_JOINT_SWING_SPAN" value="0" enum="ConeTwistJointParam">
Swing is rotation from side to side, around the axis perpendicular to the twist axis.
The swing span defines, how much rotation will not get corrected allong the swing axis.
Could be defined as looseness in the [ConeTwistJoint].
- If below 0.05, this behaviour is locked. Default value: [code]PI/4[/code].
+ If below 0.05, this behavior is locked.
</constant>
<constant name="CONE_TWIST_JOINT_TWIST_SPAN" value="1" enum="ConeTwistJointParam">
Twist is the rotation around the twist axis, this value defined how far the joint can twist.
@@ -1566,7 +1566,7 @@
Constant to set/get a body's angular dampening factor.
</constant>
<constant name="BODY_PARAM_MAX" value="6" enum="BodyParameter">
- This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0.
+ Represents the size of the [enum BodyParameter] enum.
</constant>
<constant name="BODY_STATE_TRANSFORM" value="0" enum="BodyState">
Constant to set/get the current transform matrix of the body.
diff --git a/doc/classes/PhysicsShapeQueryParameters.xml b/doc/classes/PhysicsShapeQueryParameters.xml
index c1f8b48d73..7d7307592e 100644
--- a/doc/classes/PhysicsShapeQueryParameters.xml
+++ b/doc/classes/PhysicsShapeQueryParameters.xml
@@ -17,19 +17,19 @@
</method>
</methods>
<members>
- <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled">
+ <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false">
</member>
- <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled">
+ <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled" default="true">
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="2147483647">
</member>
- <member name="exclude" type="Array" setter="set_exclude" getter="get_exclude">
+ <member name="exclude" type="Array" setter="set_exclude" getter="get_exclude" default="[ ]">
</member>
- <member name="margin" type="float" setter="set_margin" getter="get_margin">
+ <member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.0">
</member>
<member name="shape_rid" type="RID" setter="set_shape_rid" getter="get_shape_rid">
</member>
- <member name="transform" type="Transform" setter="set_transform" getter="get_transform">
+ <member name="transform" type="Transform" setter="set_transform" getter="get_transform" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
</member>
</members>
<constants>
diff --git a/doc/classes/PinJoint.xml b/doc/classes/PinJoint.xml
index 4546377171..10ae3d27d9 100644
--- a/doc/classes/PinJoint.xml
+++ b/doc/classes/PinJoint.xml
@@ -1,36 +1,32 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PinJoint" inherits="Joint" category="Core" version="3.2">
<brief_description>
- Pin Joint for 3D Shapes.
+ Pin joint for 3D shapes.
</brief_description>
<description>
- Pin Joint for 3D Rigid Bodies. It pins 2 bodies (rigid or static) together.
+ Pin joint for 3D rigid bodies. It pins 2 bodies (rigid or static) together.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="params/bias" type="float" setter="set_param" getter="get_param">
- The force with which the pinned objects stay in positional relation to each other.
- The higher, the stronger.
+ <member name="params/bias" type="float" setter="set_param" getter="get_param" default="0.3">
+ The force with which the pinned objects stay in positional relation to each other. The higher, the stronger.
</member>
- <member name="params/damping" type="float" setter="set_param" getter="get_param">
- The force with which the pinned objects stay in velocity relation to each other.
- The higher, the stronger.
+ <member name="params/damping" type="float" setter="set_param" getter="get_param" default="1.0">
+ The force with which the pinned objects stay in velocity relation to each other. The higher, the stronger.
</member>
- <member name="params/impulse_clamp" type="float" setter="set_param" getter="get_param">
+ <member name="params/impulse_clamp" type="float" setter="set_param" getter="get_param" default="0.0">
If above 0, this value is the maximum value for an impulse that this Joint produces.
</member>
</members>
<constants>
<constant name="PARAM_BIAS" value="0" enum="Param">
- The force with which the pinned objects stay in positional relation to each other.
- The higher, the stronger.
+ The force with which the pinned objects stay in positional relation to each other. The higher, the stronger.
</constant>
<constant name="PARAM_DAMPING" value="1" enum="Param">
- The force with which the pinned objects stay in velocity relation to each other.
- The higher, the stronger.
+ The force with which the pinned objects stay in velocity relation to each other. The higher, the stronger.
</constant>
<constant name="PARAM_IMPULSE_CLAMP" value="2" enum="Param">
If above 0, this value is the maximum value for an impulse that this Joint produces.
diff --git a/doc/classes/PinJoint2D.xml b/doc/classes/PinJoint2D.xml
index 4a11ce30e1..f65cb86b1c 100644
--- a/doc/classes/PinJoint2D.xml
+++ b/doc/classes/PinJoint2D.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PinJoint2D" inherits="Joint2D" category="Core" version="3.2">
<brief_description>
- Pin Joint for 2D Shapes.
+ Pin Joint for 2D shapes.
</brief_description>
<description>
- Pin Joint for 2D Rigid Bodies. It pins two bodies (rigid or static) together.
+ Pin Joint for 2D rigid bodies. It pins two bodies (rigid or static) together.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="softness" type="float" setter="set_softness" getter="get_softness">
+ <member name="softness" type="float" setter="set_softness" getter="get_softness" default="0.0">
The higher this value, the more the bond to the pinned partner can flex.
</member>
</members>
diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml
index a5e5c7022f..69dfe28ac4 100644
--- a/doc/classes/Plane.xml
+++ b/doc/classes/Plane.xml
@@ -22,7 +22,7 @@
<argument index="3" name="d" type="float">
</argument>
<description>
- Creates a plane from the four parameters "a", "b", "c" and "d".
+ Creates a plane from the four parameters [code]a[/code], [code]b[/code], [code]c[/code] and [code]d[/code].
</description>
</method>
<method name="Plane">
@@ -62,7 +62,7 @@
<argument index="0" name="point" type="Vector3">
</argument>
<description>
- Returns the shortest distance from the plane to the position "point".
+ Returns the shortest distance from the plane to the position [code]point[/code].
</description>
</method>
<method name="get_any_point">
@@ -80,7 +80,7 @@
<argument index="1" name="epsilon" type="float" default="0.00001">
</argument>
<description>
- Returns [code]true[/code] if "point" is inside the plane (by a very minimum threshold).
+ Returns [code]true[/code] if [code]point[/code] is inside the plane (by a very minimum [code]epsilon[/code] threshold).
</description>
</method>
<method name="intersect_3">
@@ -91,7 +91,7 @@
<argument index="1" name="c" type="Plane">
</argument>
<description>
- Returns the intersection point of the three planes "b", "c" and this plane. If no intersection is found null is returned.
+ Returns the intersection point of the three planes [code]b[/code], [code]c[/code] and this plane. If no intersection is found, [code]null[/code] is returned.
</description>
</method>
<method name="intersects_ray">
@@ -102,7 +102,7 @@
<argument index="1" name="dir" type="Vector3">
</argument>
<description>
- Returns the intersection point of a ray consisting of the position "from" and the direction normal "dir" with this plane. If no intersection is found null is returned.
+ Returns the intersection point of a ray consisting of the position [code]from[/code] and the direction normal [code]dir[/code] with this plane. If no intersection is found, [code]null[/code] is returned.
</description>
</method>
<method name="intersects_segment">
@@ -113,7 +113,7 @@
<argument index="1" name="end" type="Vector3">
</argument>
<description>
- Returns the intersection point of a segment from position "begin" to position "end" with this plane. If no intersection is found null is returned.
+ Returns the intersection point of a segment from position [code]begin[/code] to position [code]end[/code] with this plane. If no intersection is found, [code]null[/code] is returned.
</description>
</method>
<method name="is_point_over">
@@ -122,7 +122,7 @@
<argument index="0" name="point" type="Vector3">
</argument>
<description>
- Returns [code]true[/code] if "point" is located above the plane.
+ Returns [code]true[/code] if [code]point[/code] is located above the plane.
</description>
</method>
<method name="normalized">
@@ -138,20 +138,20 @@
<argument index="0" name="point" type="Vector3">
</argument>
<description>
- Returns the orthogonal projection of point "p" into a point in the plane.
+ Returns the orthogonal projection of point [code]p[/code] into a point in the plane.
</description>
</method>
</methods>
<members>
- <member name="d" type="float" setter="" getter="">
+ <member name="d" type="float" setter="" getter="" default="0.0">
</member>
- <member name="normal" type="Vector3" setter="" getter="">
+ <member name="normal" type="Vector3" setter="" getter="" default="Vector3( 0, 0, 0 )">
</member>
- <member name="x" type="float" setter="" getter="">
+ <member name="x" type="float" setter="" getter="" default="0.0">
</member>
- <member name="y" type="float" setter="" getter="">
+ <member name="y" type="float" setter="" getter="" default="0.0">
</member>
- <member name="z" type="float" setter="" getter="">
+ <member name="z" type="float" setter="" getter="" default="0.0">
</member>
</members>
<constants>
diff --git a/doc/classes/PlaneMesh.xml b/doc/classes/PlaneMesh.xml
index a507f9f145..01aee93dad 100644
--- a/doc/classes/PlaneMesh.xml
+++ b/doc/classes/PlaneMesh.xml
@@ -11,14 +11,14 @@
<methods>
</methods>
<members>
- <member name="size" type="Vector2" setter="set_size" getter="get_size">
- Size of the generated plane. Defaults to (2.0, 2.0).
+ <member name="size" type="Vector2" setter="set_size" getter="get_size" default="Vector2( 2, 2 )">
+ Size of the generated plane.
</member>
- <member name="subdivide_depth" type="int" setter="set_subdivide_depth" getter="get_subdivide_depth">
- Number of subdivision along the Z axis. Defaults to 0.
+ <member name="subdivide_depth" type="int" setter="set_subdivide_depth" getter="get_subdivide_depth" default="0">
+ Number of subdivision along the Z axis.
</member>
- <member name="subdivide_width" type="int" setter="set_subdivide_width" getter="get_subdivide_width">
- Number of subdivision along the X axis. Defaults to 0.
+ <member name="subdivide_width" type="int" setter="set_subdivide_width" getter="get_subdivide_width" default="0">
+ Number of subdivision along the X axis.
</member>
</members>
<constants>
diff --git a/doc/classes/PlaneShape.xml b/doc/classes/PlaneShape.xml
index 83d8b09280..b94bb8e613 100644
--- a/doc/classes/PlaneShape.xml
+++ b/doc/classes/PlaneShape.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="plane" type="Plane" setter="set_plane" getter="get_plane">
+ <member name="plane" type="Plane" setter="set_plane" getter="get_plane" default="Plane( 0, 1, 0, 0 )">
</member>
</members>
<constants>
diff --git a/doc/classes/Polygon2D.xml b/doc/classes/Polygon2D.xml
index 8f434e5499..6fc0d76d02 100644
--- a/doc/classes/Polygon2D.xml
+++ b/doc/classes/Polygon2D.xml
@@ -77,51 +77,52 @@
</method>
</methods>
<members>
- <member name="antialiased" type="bool" setter="set_antialiased" getter="get_antialiased">
- If [code]true[/code], polygon edges will be anti-aliased. Default value: [code]false[/code].
+ <member name="antialiased" type="bool" setter="set_antialiased" getter="get_antialiased" default="false">
+ If [code]true[/code], polygon edges will be anti-aliased.
</member>
- <member name="bones" type="Array" setter="_set_bones" getter="_get_bones">
+ <member name="bones" type="Array" setter="_set_bones" getter="_get_bones" default="[ ]">
</member>
- <member name="color" type="Color" setter="set_color" getter="get_color">
+ <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )">
The polygon's fill color. If [code]texture[/code] is defined, it will be multiplied by this color. It will also be the default color for vertices not set in [code]vertex_colors[/code].
</member>
- <member name="internal_vertex_count" type="int" setter="set_internal_vertex_count" getter="get_internal_vertex_count">
+ <member name="internal_vertex_count" type="int" setter="set_internal_vertex_count" getter="get_internal_vertex_count" default="0">
</member>
- <member name="invert_border" type="float" setter="set_invert_border" getter="get_invert_border">
- Added padding applied to the bounding box when using [code]invert[/code]. Setting this value too small may result in a "Bad Polygon" error. Default value: [code]100[/code].
+ <member name="invert_border" type="float" setter="set_invert_border" getter="get_invert_border" default="100.0">
+ Added padding applied to the bounding box when using [code]invert[/code]. Setting this value too small may result in a "Bad Polygon" error.
</member>
- <member name="invert_enable" type="bool" setter="set_invert" getter="get_invert">
- If [code]true[/code], polygon will be inverted, containing the area outside the defined points and extending to the [code]invert_border[/code]. Default value: [code]false[/code].
+ <member name="invert_enable" type="bool" setter="set_invert" getter="get_invert" default="false">
+ If [code]true[/code], polygon will be inverted, containing the area outside the defined points and extending to the [code]invert_border[/code].
</member>
- <member name="offset" type="Vector2" setter="set_offset" getter="get_offset">
+ <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
The offset applied to each vertex.
</member>
- <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon">
- The polygon's list of vertices. The final point will be connected to the first. Note that this returns a copy of the [PoolVector2Array] rather than a reference.
+ <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon" default="PoolVector2Array( )">
+ The polygon's list of vertices. The final point will be connected to the first.
+ [b]Note:[/b] This returns a copy of the [PoolVector2Array] rather than a reference.
</member>
- <member name="polygons" type="Array" setter="set_polygons" getter="get_polygons">
+ <member name="polygons" type="Array" setter="set_polygons" getter="get_polygons" default="[ ]">
</member>
- <member name="skeleton" type="NodePath" setter="set_skeleton" getter="get_skeleton">
+ <member name="skeleton" type="NodePath" setter="set_skeleton" getter="get_skeleton" default="NodePath(&quot;&quot;)">
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
The polygon's fill texture. Use [code]uv[/code] to set texture coordinates.
</member>
- <member name="texture_offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset">
+ <member name="texture_offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset" default="Vector2( 0, 0 )">
Amount to offset the polygon's [code]texture[/code]. If [code](0, 0)[/code] the texture's origin (its top-left corner) will be placed at the polygon's [code]position[/code].
</member>
<member name="texture_rotation" type="float" setter="set_texture_rotation" getter="get_texture_rotation">
The texture's rotation in radians.
</member>
- <member name="texture_rotation_degrees" type="float" setter="set_texture_rotation_degrees" getter="get_texture_rotation_degrees">
+ <member name="texture_rotation_degrees" type="float" setter="set_texture_rotation_degrees" getter="get_texture_rotation_degrees" default="0.0">
The texture's rotation in degrees.
</member>
- <member name="texture_scale" type="Vector2" setter="set_texture_scale" getter="get_texture_scale">
+ <member name="texture_scale" type="Vector2" setter="set_texture_scale" getter="get_texture_scale" default="Vector2( 1, 1 )">
Amount to multiply the [code]uv[/code] coordinates when using a [code]texture[/code]. Larger values make the texture smaller, and vice versa.
</member>
- <member name="uv" type="PoolVector2Array" setter="set_uv" getter="get_uv">
+ <member name="uv" type="PoolVector2Array" setter="set_uv" getter="get_uv" default="PoolVector2Array( )">
Texture coordinates for each vertex of the polygon. There should be one [code]uv[/code] per polygon vertex. If there are fewer, undefined vertices will use [code](0, 0)[/code].
</member>
- <member name="vertex_colors" type="PoolColorArray" setter="set_vertex_colors" getter="get_vertex_colors">
+ <member name="vertex_colors" type="PoolColorArray" setter="set_vertex_colors" getter="get_vertex_colors" default="PoolColorArray( )">
Color for each vertex. Colors are interpolated between vertices, resulting in smooth gradients. There should be one per polygon vertex. If there are fewer, undefined vertices will use [code]color[/code].
</member>
</members>
diff --git a/doc/classes/PoolByteArray.xml b/doc/classes/PoolByteArray.xml
index cb99b660ae..08848e789b 100644
--- a/doc/classes/PoolByteArray.xml
+++ b/doc/classes/PoolByteArray.xml
@@ -4,7 +4,8 @@
A pooled [Array] of bytes.
</brief_description>
<description>
- An [Array] specifically designed to hold bytes. Optimized for memory usage, does not fragment the memory. Note that this type is passed by value and not by reference.
+ An [Array] specifically designed to hold bytes. Optimized for memory usage, does not fragment the memory.
+ [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -15,21 +16,21 @@
<argument index="0" name="from" type="Array">
</argument>
<description>
- Construct a new [PoolByteArray]. Optionally, you can pass in a generic [Array] that will be converted.
+ Constructs a new [PoolByteArray]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
</method>
<method name="append">
<argument index="0" name="byte" type="int">
</argument>
<description>
- Append an element at the end of the array (alias of [method push_back]).
+ Appends an element at the end of the array (alias of [method push_back]).
</description>
</method>
<method name="append_array">
<argument index="0" name="array" type="PoolByteArray">
</argument>
<description>
- Append a [PoolByteArray] at the end of this array.
+ Appends a [PoolByteArray] at the end of this array.
</description>
</method>
<method name="compress">
@@ -74,33 +75,33 @@
<argument index="1" name="byte" type="int">
</argument>
<description>
- Insert a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
+ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
</description>
</method>
<method name="invert">
<description>
- Reverse the order of the elements in the array.
+ Reverses the order of the elements in the array.
</description>
</method>
<method name="push_back">
<argument index="0" name="byte" type="int">
</argument>
<description>
- Append an element at the end of the array.
+ Appends an element at the end of the array.
</description>
</method>
<method name="remove">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Remove an element from the array by index.
+ Removes an element from the array by index.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Set the size of the array. If the array is grown reserve elements at the end of the array. If the array is shrunk truncate the array to the new size.
+ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size.
</description>
</method>
<method name="set">
@@ -109,14 +110,14 @@
<argument index="1" name="byte" type="int">
</argument>
<description>
- Change the byte at the given index.
+ Changes the byte at the given index.
</description>
</method>
<method name="sha256_string">
<return type="String">
</return>
<description>
- Returns SHA256 string of the PoolByteArray.
+ Returns SHA-256 string of the PoolByteArray.
</description>
</method>
<method name="size">
diff --git a/doc/classes/PoolColorArray.xml b/doc/classes/PoolColorArray.xml
index efc3582ba4..a1fb868ef5 100644
--- a/doc/classes/PoolColorArray.xml
+++ b/doc/classes/PoolColorArray.xml
@@ -4,7 +4,8 @@
A pooled [Array] of [Color].
</brief_description>
<description>
- An [Array] specifically designed to hold [Color]. Optimized for memory usage, does not fragment the memory. Note that this type is passed by value and not by reference.
+ An [Array] specifically designed to hold [Color]. Optimized for memory usage, does not fragment the memory.
+ [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -15,21 +16,21 @@
<argument index="0" name="from" type="Array">
</argument>
<description>
- Construct a new [PoolColorArray]. Optionally, you can pass in a generic [Array] that will be converted.
+ Constructs a new [PoolColorArray]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
</method>
<method name="append">
<argument index="0" name="color" type="Color">
</argument>
<description>
- Append an element at the end of the array (alias of [method push_back]).
+ Appends an element at the end of the array (alias of [method push_back]).
</description>
</method>
<method name="append_array">
<argument index="0" name="array" type="PoolColorArray">
</argument>
<description>
- Append a [PoolColorArray] at the end of this array.
+ Appends a [PoolColorArray] at the end of this array.
</description>
</method>
<method name="insert">
@@ -40,33 +41,33 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
- Insert a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
+ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
</description>
</method>
<method name="invert">
<description>
- Reverse the order of the elements in the array.
+ Reverses the order of the elements in the array.
</description>
</method>
<method name="push_back">
<argument index="0" name="color" type="Color">
</argument>
<description>
- Append a value to the array.
+ Appends a value to the array.
</description>
</method>
<method name="remove">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Remove an element from the array by index.
+ Removes an element from the array by index.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Set the size of the array. If the array is grown reserve elements at the end of the array. If the array is shrunk truncate the array to the new size.
+ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size.
</description>
</method>
<method name="set">
@@ -75,7 +76,7 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
- Change the [Color] at the given index.
+ Changes the [Color] at the given index.
</description>
</method>
<method name="size">
diff --git a/doc/classes/PoolIntArray.xml b/doc/classes/PoolIntArray.xml
index fca1083c25..730833b097 100644
--- a/doc/classes/PoolIntArray.xml
+++ b/doc/classes/PoolIntArray.xml
@@ -4,7 +4,8 @@
A pooled [Array] of integers ([int]).
</brief_description>
<description>
- An [Array] specifically designed to hold integer values ([int]). Optimized for memory usage, does not fragment the memory. Note that this type is passed by value and not by reference.
+ An [Array] specifically designed to hold integer values ([int]). Optimized for memory usage, does not fragment the memory.
+ [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -15,21 +16,21 @@
<argument index="0" name="from" type="Array">
</argument>
<description>
- Construct a new [PoolIntArray]. Optionally, you can pass in a generic [Array] that will be converted.
+ Constructs a new [PoolIntArray]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
</method>
<method name="append">
<argument index="0" name="integer" type="int">
</argument>
<description>
- Append an element at the end of the array (alias of [method push_back]).
+ Appends an element at the end of the array (alias of [method push_back]).
</description>
</method>
<method name="append_array">
<argument index="0" name="array" type="PoolIntArray">
</argument>
<description>
- Append a [PoolIntArray] at the end of this array.
+ Appends a [PoolIntArray] at the end of this array.
</description>
</method>
<method name="insert">
@@ -40,33 +41,33 @@
<argument index="1" name="integer" type="int">
</argument>
<description>
- Insert a new int at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
+ Inserts a new int at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
</description>
</method>
<method name="invert">
<description>
- Reverse the order of the elements in the array.
+ Reverses the order of the elements in the array.
</description>
</method>
<method name="push_back">
<argument index="0" name="integer" type="int">
</argument>
<description>
- Append a value to the array.
+ Appends a value to the array.
</description>
</method>
<method name="remove">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Remove an element from the array by index.
+ Removes an element from the array by index.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Set the size of the array. If the array is grown reserve elements at the end of the array. If the array is shrunk truncate the array to the new size.
+ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size.
</description>
</method>
<method name="set">
@@ -75,7 +76,7 @@
<argument index="1" name="integer" type="int">
</argument>
<description>
- Change the int at the given index.
+ Changes the int at the given index.
</description>
</method>
<method name="size">
diff --git a/doc/classes/PoolRealArray.xml b/doc/classes/PoolRealArray.xml
index c5f6062175..7eaec82338 100644
--- a/doc/classes/PoolRealArray.xml
+++ b/doc/classes/PoolRealArray.xml
@@ -4,7 +4,8 @@
A pooled [Array] of reals ([float]).
</brief_description>
<description>
- An [Array] specifically designed to hold floating point values ([float]). Optimized for memory usage, does not fragment the memory. Note that this type is passed by value and not by reference.
+ An [Array] specifically designed to hold floating-point values ([float]). Optimized for memory usage, does not fragment the memory.
+ [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -15,21 +16,21 @@
<argument index="0" name="from" type="Array">
</argument>
<description>
- Construct a new [PoolRealArray]. Optionally, you can pass in a generic [Array] that will be converted.
+ Constructs a new [PoolRealArray]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
</method>
<method name="append">
<argument index="0" name="value" type="float">
</argument>
<description>
- Append an element at the end of the array (alias of [method push_back]).
+ Appends an element at the end of the array (alias of [method push_back]).
</description>
</method>
<method name="append_array">
<argument index="0" name="array" type="PoolRealArray">
</argument>
<description>
- Append a [PoolRealArray] at the end of this array.
+ Appends a [PoolRealArray] at the end of this array.
</description>
</method>
<method name="insert">
@@ -40,33 +41,33 @@
<argument index="1" name="value" type="float">
</argument>
<description>
- Insert a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
+ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
</description>
</method>
<method name="invert">
<description>
- Reverse the order of the elements in the array.
+ Reverses the order of the elements in the array.
</description>
</method>
<method name="push_back">
<argument index="0" name="value" type="float">
</argument>
<description>
- Append an element at the end of the array.
+ Appends an element at the end of the array.
</description>
</method>
<method name="remove">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Remove an element from the array by index.
+ Removes an element from the array by index.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Set the size of the array. If the array is grown reserve elements at the end of the array. If the array is shrunk truncate the array to the new size.
+ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size.
</description>
</method>
<method name="set">
@@ -75,7 +76,7 @@
<argument index="1" name="value" type="float">
</argument>
<description>
- Change the float at the given index.
+ Changes the float at the given index.
</description>
</method>
<method name="size">
diff --git a/doc/classes/PoolStringArray.xml b/doc/classes/PoolStringArray.xml
index 01dca93be3..a408a18b19 100644
--- a/doc/classes/PoolStringArray.xml
+++ b/doc/classes/PoolStringArray.xml
@@ -4,7 +4,8 @@
A pooled [Array] of [String].
</brief_description>
<description>
- An [Array] specifically designed to hold [String]. Optimized for memory usage, does not fragment the memory. Note that this type is passed by value and not by reference.
+ An [Array] specifically designed to hold [String]s. Optimized for memory usage, does not fragment the memory.
+ [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -15,21 +16,21 @@
<argument index="0" name="from" type="Array">
</argument>
<description>
- Construct a new [PoolStringArray]. Optionally, you can pass in a generic [Array] that will be converted.
+ Constructs a new [PoolStringArray]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
</method>
<method name="append">
<argument index="0" name="string" type="String">
</argument>
<description>
- Append an element at the end of the array (alias of [method push_back]).
+ Appends an element at the end of the array (alias of [method push_back]).
</description>
</method>
<method name="append_array">
<argument index="0" name="array" type="PoolStringArray">
</argument>
<description>
- Append a [PoolStringArray] at the end of this array.
+ Appends a [PoolStringArray] at the end of this array.
</description>
</method>
<method name="insert">
@@ -40,12 +41,12 @@
<argument index="1" name="string" type="String">
</argument>
<description>
- Insert a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
+ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
</description>
</method>
<method name="invert">
<description>
- Reverse the order of the elements in the array.
+ Reverses the order of the elements in the array.
</description>
</method>
<method name="join">
@@ -61,21 +62,21 @@
<argument index="0" name="string" type="String">
</argument>
<description>
- Append a string element at end of the array.
+ Appends a string element at end of the array.
</description>
</method>
<method name="remove">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Remove an element from the array by index.
+ Removes an element from the array by index.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Set the size of the array. If the array is grown reserve elements at the end of the array. If the array is shrunk truncate the array to the new size.
+ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size.
</description>
</method>
<method name="set">
@@ -84,7 +85,7 @@
<argument index="1" name="string" type="String">
</argument>
<description>
- Change the [String] at the given index.
+ Changes the [String] at the given index.
</description>
</method>
<method name="size">
diff --git a/doc/classes/PoolVector2Array.xml b/doc/classes/PoolVector2Array.xml
index 45f619dc5d..623247e639 100644
--- a/doc/classes/PoolVector2Array.xml
+++ b/doc/classes/PoolVector2Array.xml
@@ -4,7 +4,8 @@
A pooled [Array] of [Vector2].
</brief_description>
<description>
- An [Array] specifically designed to hold [Vector2]. Optimized for memory usage, does not fragment the memory. Note that this type is passed by value and not by reference.
+ An [Array] specifically designed to hold [Vector2]. Optimized for memory usage, does not fragment the memory.
+ [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -15,21 +16,21 @@
<argument index="0" name="from" type="Array">
</argument>
<description>
- Construct a new [PoolVector2Array]. Optionally, you can pass in a generic [Array] that will be converted.
+ Constructs a new [PoolVector2Array]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
</method>
<method name="append">
<argument index="0" name="vector2" type="Vector2">
</argument>
<description>
- Append an element at the end of the array (alias of [method push_back]).
+ Appends an element at the end of the array (alias of [method push_back]).
</description>
</method>
<method name="append_array">
<argument index="0" name="array" type="PoolVector2Array">
</argument>
<description>
- Append a [PoolVector2Array] at the end of this array.
+ Appends a [PoolVector2Array] at the end of this array.
</description>
</method>
<method name="insert">
@@ -40,33 +41,33 @@
<argument index="1" name="vector2" type="Vector2">
</argument>
<description>
- Insert a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
+ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
</description>
</method>
<method name="invert">
<description>
- Reverse the order of the elements in the array.
+ Reverses the order of the elements in the array.
</description>
</method>
<method name="push_back">
<argument index="0" name="vector2" type="Vector2">
</argument>
<description>
- Insert a [Vector2] at the end.
+ Inserts a [Vector2] at the end.
</description>
</method>
<method name="remove">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Remove an element from the array by index.
+ Removes an element from the array by index.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Set the size of the array. If the array is grown reserve elements at the end of the array. If the array is shrunk truncate the array to the new size.
+ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size.
</description>
</method>
<method name="set">
@@ -75,7 +76,7 @@
<argument index="1" name="vector2" type="Vector2">
</argument>
<description>
- Change the [Vector2] at the given index.
+ Changes the [Vector2] at the given index.
</description>
</method>
<method name="size">
diff --git a/doc/classes/PoolVector3Array.xml b/doc/classes/PoolVector3Array.xml
index 0a682e2baf..adc28b46cb 100644
--- a/doc/classes/PoolVector3Array.xml
+++ b/doc/classes/PoolVector3Array.xml
@@ -4,7 +4,8 @@
A pooled [Array] of [Vector3].
</brief_description>
<description>
- An [Array] specifically designed to hold [Vector3]. Optimized for memory usage, does not fragment the memory. Note that this type is passed by value and not by reference.
+ An [Array] specifically designed to hold [Vector3]. Optimized for memory usage, does not fragment the memory.
+ [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -15,21 +16,21 @@
<argument index="0" name="from" type="Array">
</argument>
<description>
- Construct a new [PoolVector3Array]. Optionally, you can pass in a generic [Array] that will be converted.
+ Constructs a new [PoolVector3Array]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
</method>
<method name="append">
<argument index="0" name="vector3" type="Vector3">
</argument>
<description>
- Append an element at the end of the array (alias of [method push_back]).
+ Appends an element at the end of the array (alias of [method push_back]).
</description>
</method>
<method name="append_array">
<argument index="0" name="array" type="PoolVector3Array">
</argument>
<description>
- Append a [PoolVector3Array] at the end of this array.
+ Appends a [PoolVector3Array] at the end of this array.
</description>
</method>
<method name="insert">
@@ -40,33 +41,33 @@
<argument index="1" name="vector3" type="Vector3">
</argument>
<description>
- Insert a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
+ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]).
</description>
</method>
<method name="invert">
<description>
- Reverse the order of the elements in the array.
+ Reverses the order of the elements in the array.
</description>
</method>
<method name="push_back">
<argument index="0" name="vector3" type="Vector3">
</argument>
<description>
- Insert a [Vector3] at the end.
+ Inserts a [Vector3] at the end.
</description>
</method>
<method name="remove">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Remove an element from the array by index.
+ Removes an element from the array by index.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Set the size of the array. If the array is grown reserve elements at the end of the array. If the array is shrunk truncate the array to the new size.
+ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size.
</description>
</method>
<method name="set">
@@ -75,7 +76,7 @@
<argument index="1" name="vector3" type="Vector3">
</argument>
<description>
- Change the [Vector3] at the given index.
+ Changes the [Vector3] at the given index.
</description>
</method>
<method name="size">
diff --git a/doc/classes/Popup.xml b/doc/classes/Popup.xml
index e1b51463b2..1e24aadfd9 100644
--- a/doc/classes/Popup.xml
+++ b/doc/classes/Popup.xml
@@ -24,7 +24,7 @@
<argument index="0" name="size" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
- Popup (show the control in modal form) in the center of the screen relative to its current canvas transform, at the current size, or at a size determined by "size".
+ Popup (show the control in modal form) in the center of the screen relative to its current canvas transform, at the current size, or at a size determined by [code]size[/code].
</description>
</method>
<method name="popup_centered_clamped">
@@ -58,19 +58,19 @@
</method>
</methods>
<members>
- <member name="popup_exclusive" type="bool" setter="set_exclusive" getter="is_exclusive">
+ <member name="popup_exclusive" type="bool" setter="set_exclusive" getter="is_exclusive" default="false">
If [code]true[/code], the popup will not be hidden when a click event occurs outside of it, or when it receives the [code]ui_cancel[/code] action event.
</member>
</members>
<signals>
<signal name="about_to_show">
<description>
- This signal is emitted when a popup is about to be shown. (often used in [PopupMenu] for clearing the list of options and creating a new one according to the current context).
+ Emitted when a popup is about to be shown. This is often used in [PopupMenu] to clear the list of options then create a new one according to the current context.
</description>
</signal>
<signal name="popup_hide">
<description>
- This signal is emitted when a popup is hidden.
+ Emitted when a popup is hidden.
</description>
</signal>
</signals>
diff --git a/doc/classes/PopupDialog.xml b/doc/classes/PopupDialog.xml
index b510208ae2..d85f568abf 100644
--- a/doc/classes/PopupDialog.xml
+++ b/doc/classes/PopupDialog.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PopupDialog" inherits="Popup" category="Core" version="3.2">
<brief_description>
- Base class for Popup Dialogs.
+ Base class for popup dialogs.
</brief_description>
<description>
PopupDialog is a base class for popup dialogs, along with [WindowDialog].
diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml
index d6249f73aa..a05aff9a59 100644
--- a/doc/classes/PopupMenu.xml
+++ b/doc/classes/PopupMenu.xml
@@ -4,7 +4,7 @@
PopupMenu displays a list of options.
</brief_description>
<description>
- PopupMenu is the typical Control that displays a list of options. They are popular in toolbars or context menus.
+ [PopupMenu] is a [Control] that displays a list of options. They are popular in toolbars or context menus.
</description>
<tutorials>
</tutorials>
@@ -19,7 +19,9 @@
<argument index="2" name="accel" type="int" default="0">
</argument>
<description>
- Add a new checkable item with text "label". An id can optionally be provided, as well as an accelerator. If no id is provided, one will be created from the index. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
+ Adds a new checkable item with text [code]label[/code].
+ An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
+ [b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_check_shortcut">
@@ -32,6 +34,9 @@
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
+ Adds a new checkable item and assigns the specified [ShortCut] to it. Sets the label of the checkbox to the [ShortCut]'s name.
+ An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
+ [b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_icon_check_item">
@@ -46,8 +51,9 @@
<argument index="3" name="accel" type="int" default="0">
</argument>
<description>
- Add a new checkable item with text "label" and icon "texture". An id can optionally be provided, as well as an accelerator. If no id is provided, one will be
- created from the index. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
+ Adds a new checkable item with text [code]label[/code] and icon [code]texture[/code].
+ An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
+ [b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_icon_check_shortcut">
@@ -62,6 +68,9 @@
<argument index="3" name="global" type="bool" default="false">
</argument>
<description>
+ Adds a new checkable item and assigns the specified [ShortCut] and icon [code]texture[/code] to it. Sets the label of the checkbox to the [ShortCut]'s name.
+ An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
+ [b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_icon_item">
@@ -76,7 +85,8 @@
<argument index="3" name="accel" type="int" default="0">
</argument>
<description>
- Add a new item with text "label" and icon "texture". An id can optionally be provided, as well as an accelerator keybinding. If no id is provided, one will be created from the index.
+ Adds a new item with text [code]label[/code] and icon [code]texture[/code].
+ An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
</description>
</method>
<method name="add_icon_shortcut">
@@ -91,6 +101,8 @@
<argument index="3" name="global" type="bool" default="false">
</argument>
<description>
+ Adds a new item and assigns the specified [ShortCut] and icon [code]texture[/code] to it. Sets the label of the checkbox to the [ShortCut]'s name.
+ An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
</description>
</method>
<method name="add_item">
@@ -103,7 +115,8 @@
<argument index="2" name="accel" type="int" default="0">
</argument>
<description>
- Add a new item with text "label". An id can optionally be provided, as well as an accelerator keybinding. If no id is provided, one will be created from the index.
+ Adds a new item with text [code]label[/code].
+ An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
</description>
</method>
<method name="add_radio_check_item">
@@ -116,7 +129,9 @@
<argument index="2" name="accel" type="int" default="0">
</argument>
<description>
- The same as [method add_check_item] but the inserted item will look as a radio button. Remember this is just cosmetic and you have to add the logic for checking/unchecking items in radio groups.
+ Adds a new radio button with text [code]label[/code].
+ An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
+ [b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_radio_check_shortcut">
@@ -129,6 +144,9 @@
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
+ Adds a new radio check button and assigns a [ShortCut] to it. Sets the label of the checkbox to the [ShortCut]'s name.
+ An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
+ [b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_separator">
@@ -137,7 +155,7 @@
<argument index="0" name="label" type="String" default="&quot;&quot;">
</argument>
<description>
- Add a separator between items. Separators also occupy an index.
+ Adds a separator between items. Separators also occupy an index.
</description>
</method>
<method name="add_shortcut">
@@ -150,6 +168,8 @@
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
+ Adds a [ShortCut].
+ An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
</description>
</method>
<method name="add_submenu_item">
@@ -162,14 +182,15 @@
<argument index="2" name="id" type="int" default="-1">
</argument>
<description>
- Adds an item with a submenu. The submenu is the name of a child PopupMenu node that would be shown when the item is clicked. An id can optionally be provided, but if is isn't provided, one will be created from the index.
+ Adds an item that will act as a submenu of the parent [PopupMenu] node when clicked. The [code]submenu[/code] argument is the name of the child [PopupMenu] node that will be shown when the item is clicked.
+ An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
</description>
</method>
<method name="clear">
<return type="void">
</return>
<description>
- Clear the popup menu, in effect removing all items.
+ Removes all items from the [PopupMenu].
</description>
</method>
<method name="get_item_accelerator" qualifiers="const">
@@ -178,14 +199,14 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is focused.
+ Returns the accelerator of the item at index [code]idx[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
</description>
</method>
<method name="get_item_count" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the amount of items.
+ Returns the number of items in the [PopupMenu].
</description>
</method>
<method name="get_item_icon" qualifiers="const">
@@ -194,7 +215,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the icon of the item at index "idx".
+ Returns the icon of the item at index [code]idx[/code].
</description>
</method>
<method name="get_item_id" qualifiers="const">
@@ -203,7 +224,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the id of the item at index "idx".
+ Returns the id of the item at index [code]idx[/code]. [code]id[/code] can be manually assigned, while index can not.
</description>
</method>
<method name="get_item_index" qualifiers="const">
@@ -212,7 +233,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Find and return the index of the item containing a given id.
+ Returns the index of the item containing the specified [code]id[/code]. Index is automatically assigned to each item by the engine. Index can not be set manualy.
</description>
</method>
<method name="get_item_metadata" qualifiers="const">
@@ -221,7 +242,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the metadata of an item, which might be of any type. You can set it with [method set_item_metadata], which provides a simple way of assigning context data to items.
+ Returns the metadata of the specified item, which might be of any type. You can set it with [method set_item_metadata], which provides a simple way of assigning context data to items.
</description>
</method>
<method name="get_item_shortcut" qualifiers="const">
@@ -230,6 +251,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
+ Returns the [ShortCut] associated with the specified [code]idx[/code] item.
</description>
</method>
<method name="get_item_submenu" qualifiers="const">
@@ -238,7 +260,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the submenu name of the item at index "idx".
+ Returns the submenu name of the item at index [code]idx[/code]. See [method add_submenu_item] for more info on how to add a submenu.
</description>
</method>
<method name="get_item_text" qualifiers="const">
@@ -247,7 +269,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the text of the item at index "idx".
+ Returns the text of the item at index [code]idx[/code].
</description>
</method>
<method name="get_item_tooltip" qualifiers="const">
@@ -256,12 +278,14 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
+ Returns the tooltip associated with the specified index index [code]idx[/code].
</description>
</method>
<method name="is_hide_on_window_lose_focus" qualifiers="const">
<return type="bool">
</return>
<description>
+ Returns whether the popup will be hidden when the window loses focus or not.
</description>
</method>
<method name="is_item_checkable" qualifiers="const">
@@ -270,7 +294,8 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns whether the item at index "idx" is checkable in some way, i.e., whether has a checkbox or radio button. Note that checkable items just display a checkmark or radio button, but don't have any built-in checking behavior and must be checked/unchecked manually.
+ Returns [code]true[/code] if the item at index [code]idx[/code] is checkable in some way, i.e. if it has a checkbox or radio button.
+ [b]Note:[/b] Checkable items just display a checkmark or radio button, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="is_item_checked" qualifiers="const">
@@ -279,7 +304,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns whether the item at index "idx" is checked.
+ Returns [code]true[/code] if the item at index [code]idx[/code] is checked.
</description>
</method>
<method name="is_item_disabled" qualifiers="const">
@@ -288,7 +313,8 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns whether the item at index "idx" is disabled. When it is disabled it can't be selected, or its action invoked.
+ Returns [code]true[/code] if the item at index [code]idx[/code] is disabled. When it is disabled it can't be selected, or its action invoked.
+ See [method set_item_disabled] for more info on how to disable an item.
</description>
</method>
<method name="is_item_radio_checkable" qualifiers="const">
@@ -297,7 +323,8 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns whether the item at index "idx" has radio-button-style checkability. Remember this is just cosmetic and you have to add the logic for checking/unchecking items in radio groups.
+ Returns [code]true[/code] if the item at index [code]idx[/code] has radio button-style checkability.
+ [b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
</description>
</method>
<method name="is_item_separator" qualifiers="const">
@@ -306,7 +333,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns whether the item is a separator. If it is, it would be displayed as a line.
+ Returns [code]true[/code] if the item is a separator. If it is, it will be displayed as a line. See [method add_separator] for more info on how to add a separator.
</description>
</method>
<method name="is_item_shortcut_disabled" qualifiers="const">
@@ -315,6 +342,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
+ Returns whether the shortcut of the specified item [code]idx[/code] is disabled or not.
</description>
</method>
<method name="remove_item">
@@ -323,7 +351,8 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Removes the item at index "idx" from the menu. Note that the indexes of items after the removed item are going to be shifted by one.
+ Removes the item at index [code]idx[/code] from the menu.
+ [b]Note:[/b] The indices of items after the removed item will be shifted by one.
</description>
</method>
<method name="set_hide_on_window_lose_focus">
@@ -332,6 +361,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
+ Hides the [PopupMenu] when the window loses focus.
</description>
</method>
<method name="set_item_accelerator">
@@ -342,7 +372,7 @@
<argument index="1" name="accel" type="int">
</argument>
<description>
- Set the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is focused.
+ Sets the accelerator of the item at index [code]idx[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
</description>
</method>
<method name="set_item_as_checkable">
@@ -353,7 +383,8 @@
<argument index="1" name="enable" type="bool">
</argument>
<description>
- Set whether the item at index "idx" has a checkbox. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
+ Sets whether the item at index [code]idx[/code] has a checkbox. If [code]false[/code], sets the type of the item to plain text.
+ [b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="set_item_as_radio_checkable">
@@ -364,8 +395,7 @@
<argument index="1" name="enable" type="bool">
</argument>
<description>
- The same as [method set_item_as_checkable] but placing a radio button in case of enabling. If used for disabling, it's the same.
- Remember this is just cosmetic and you have to add the logic for checking/unchecking items in radio groups.
+ Sets the type of the item at the specified index [code]idx[/code] to radio button. If false, sets the type of the item to plain text.
</description>
</method>
<method name="set_item_as_separator">
@@ -376,7 +406,7 @@
<argument index="1" name="enable" type="bool">
</argument>
<description>
- Mark the item at index "idx" as a separator, which means that it would be displayed as a line.
+ Mark the item at index [code]idx[/code] as a separator, which means that it would be displayed as a line. If [code]false[/code], sets the type of the item to plain text.
</description>
</method>
<method name="set_item_checked">
@@ -387,7 +417,7 @@
<argument index="1" name="checked" type="bool">
</argument>
<description>
- Set the checkstate status of the item at index "idx".
+ Sets the checkstate status of the item at index [code]idx[/code].
</description>
</method>
<method name="set_item_disabled">
@@ -398,7 +428,7 @@
<argument index="1" name="disabled" type="bool">
</argument>
<description>
- Sets whether the item at index "idx" is disabled or not. When it is disabled it can't be selected, or its action invoked.
+ Sets whether the item at index [code]idx[/code] is disabled or not. When it is disabled, it can't be selected and its action can't be invoked.
</description>
</method>
<method name="set_item_icon">
@@ -409,6 +439,7 @@
<argument index="1" name="icon" type="Texture">
</argument>
<description>
+ Replaces the [Texture] icon of the specified [code]idx[/code].
</description>
</method>
<method name="set_item_id">
@@ -419,7 +450,7 @@
<argument index="1" name="id" type="int">
</argument>
<description>
- Set the id of the item at index "idx".
+ Sets the [code]id[/code] of the item at index [code]idx[/code].
</description>
</method>
<method name="set_item_metadata">
@@ -430,7 +461,7 @@
<argument index="1" name="metadata" type="Variant">
</argument>
<description>
- Sets the metadata of an item, which might be of any type. You can later get it with [method get_item_metadata], which provides a simple way of assigning context data to items.
+ Sets the metadata of an item, which may be of any type. You can later get it with [method get_item_metadata], which provides a simple way of assigning context data to items.
</description>
</method>
<method name="set_item_multistate">
@@ -453,6 +484,7 @@
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
+ Sets a [ShortCut] for the specified item [code]idx[/code].
</description>
</method>
<method name="set_item_shortcut_disabled">
@@ -463,6 +495,7 @@
<argument index="1" name="disabled" type="bool">
</argument>
<description>
+ Disables the [ShortCut] of the specified index [code]idx[/code].
</description>
</method>
<method name="set_item_submenu">
@@ -473,7 +506,7 @@
<argument index="1" name="submenu" type="String">
</argument>
<description>
- Sets the submenu of the item at index "idx". The submenu is the name of a child PopupMenu node that would be shown when the item is clicked.
+ Sets the submenu of the item at index [code]idx[/code]. The submenu is the name of a child [PopupMenu] node that would be shown when the item is clicked.
</description>
</method>
<method name="set_item_text">
@@ -484,7 +517,7 @@
<argument index="1" name="text" type="String">
</argument>
<description>
- Set the text of the item at index "idx".
+ Sets the text of the item at index [code]idx[/code].
</description>
</method>
<method name="set_item_tooltip">
@@ -495,6 +528,7 @@
<argument index="1" name="tooltip" type="String">
</argument>
<description>
+ Sets the [String] tooltip of the item at the specified index [code]idx[/code].
</description>
</method>
<method name="toggle_item_checked">
@@ -503,6 +537,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
+ Toggles the check state of the item of the specified index [code]idx[/code].
</description>
</method>
<method name="toggle_item_multistate">
@@ -515,17 +550,20 @@
</method>
</methods>
<members>
- <member name="allow_search" type="bool" setter="set_allow_search" getter="get_allow_search">
- If [code]true[/code], allows to navigate [PopupMenu] with letter keys. Default value: [code]false[/code].
+ <member name="allow_search" type="bool" setter="set_allow_search" getter="get_allow_search" default="false">
+ If [code]true[/code], allows to navigate [PopupMenu] with letter keys.
</member>
- <member name="hide_on_checkable_item_selection" type="bool" setter="set_hide_on_checkable_item_selection" getter="is_hide_on_checkable_item_selection">
+ <member name="hide_on_checkable_item_selection" type="bool" setter="set_hide_on_checkable_item_selection" getter="is_hide_on_checkable_item_selection" default="true">
+ If [code]true[/code], hides the [PopupMenu] when a checkbox or radio button is selected.
</member>
- <member name="hide_on_item_selection" type="bool" setter="set_hide_on_item_selection" getter="is_hide_on_item_selection">
+ <member name="hide_on_item_selection" type="bool" setter="set_hide_on_item_selection" getter="is_hide_on_item_selection" default="true">
+ If [code]true[/code], hides the [PopupMenu] when an item is selected.
</member>
- <member name="hide_on_state_item_selection" type="bool" setter="set_hide_on_state_item_selection" getter="is_hide_on_state_item_selection">
+ <member name="hide_on_state_item_selection" type="bool" setter="set_hide_on_state_item_selection" getter="is_hide_on_state_item_selection" default="false">
+ If [code]true[/code], hides the [PopupMenu] when a state item is selected.
</member>
- <member name="submenu_popup_delay" type="float" setter="set_submenu_popup_delay" getter="get_submenu_popup_delay">
- Sets the delay time for the submenu item to popup on mouse hovering. If the popup menu is added as a child of another (acting as a submenu), it will inherit the delay time of the parent menu item. Default value: [code]0.3[/code] seconds.
+ <member name="submenu_popup_delay" type="float" setter="set_submenu_popup_delay" getter="get_submenu_popup_delay" default="0.3">
+ Sets the delay time in seconds for the submenu item to popup on mouse hovering. If the popup menu is added as a child of another (acting as a submenu), it will inherit the delay time of the parent menu item.
</member>
</members>
<signals>
@@ -533,21 +571,21 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- This event is emitted when user navigated to an item of some id using [code]ui_up[/code] or [code]ui_down[/code] action.
+ Emitted when user navigated to an item of some [code]id[/code] using [code]ui_up[/code] or [code]ui_down[/code] action.
</description>
</signal>
<signal name="id_pressed">
<argument index="0" name="id" type="int">
</argument>
<description>
- This event is emitted when an item of some id is pressed or its accelerator is activated.
+ Emitted when an item of some [code]id[/code] is pressed or its accelerator is activated.
</description>
</signal>
<signal name="index_pressed">
<argument index="0" name="index" type="int">
</argument>
<description>
- This event is emitted when an item of some index is pressed or its accelerator is activated.
+ Emitted when an item of some [code]index[/code] is pressed or its accelerator is activated.
</description>
</signal>
</signals>
@@ -555,40 +593,55 @@
</constants>
<theme_items>
<theme_item name="checked" type="Texture">
+ Sets a custom [Texture] icon for [code]checked[/code] state of checkbox items.
</theme_item>
<theme_item name="font" type="Font">
+ Sets a custom [Font].
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
+ Sets a custom [Color] for the [Font].
</theme_item>
- <theme_item name="font_color_accel" type="Color">
+ <theme_item name="font_color_accel" type="Color" default="Color( 0.7, 0.7, 0.7, 0.8 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 0.4, 0.4, 0.4, 0.8 )">
+ Sets a custom [Color] for disabled text.
</theme_item>
- <theme_item name="font_color_hover" type="Color">
+ <theme_item name="font_color_hover" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
+ Sets a custom [Color] for the hovered text.
</theme_item>
<theme_item name="hover" type="StyleBox">
+ Sets a custom [StyleBox] when the [PopupMenu] is hovered.
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="4">
+ Sets the horizontal space separation between each item.
</theme_item>
<theme_item name="labeled_separator_left" type="StyleBox">
</theme_item>
<theme_item name="labeled_separator_right" type="StyleBox">
</theme_item>
<theme_item name="panel" type="StyleBox">
+ Sets a custom [StyleBox] for the panel of the [PopupMenu].
</theme_item>
<theme_item name="panel_disabled" type="StyleBox">
+ Sets a custom [StyleBox] for the panel of the [PopupMenu], when the panel is disabled.
</theme_item>
<theme_item name="radio_checked" type="Texture">
+ Sets a custom [Texture] icon for [code]checked[/code] of radio button items.
</theme_item>
<theme_item name="radio_unchecked" type="Texture">
+ Sets a custom [Texture] icon for [code]unchecked[/code] of radio button items.
</theme_item>
<theme_item name="separator" type="StyleBox">
+ Sets a custom [StyleBox] for separator's.
</theme_item>
<theme_item name="submenu" type="Texture">
+ Sets a custom [Texture] for submenu's.
</theme_item>
<theme_item name="unchecked" type="Texture">
+ Sets a custom [Texture] icon for [code]unchecked[/code] of checkbox items.
</theme_item>
- <theme_item name="vseparation" type="int">
+ <theme_item name="vseparation" type="int" default="4">
+ Sets the vertical space separation between each item.
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/Position2D.xml b/doc/classes/Position2D.xml
index 916bd99131..ccadee6018 100644
--- a/doc/classes/Position2D.xml
+++ b/doc/classes/Position2D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Position2D" inherits="Node2D" category="Core" version="3.2">
<brief_description>
- Generic 2D Position hint for editing.
+ Generic 2D position hint for editing.
</brief_description>
<description>
- Generic 2D Position hint for editing. It's just like a plain [Node2D] but displays as a cross in the 2D-Editor at all times. You can set visual size of the cross by changing Gizmo Extents in the inspector.
+ Generic 2D position hint for editing. It's just like a plain [Node2D], but it displays as a cross in the 2D editor at all times. You can set cross' visual size by using the gizmo in the 2D editor while the node is selected.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Position3D.xml b/doc/classes/Position3D.xml
index 247f1fb6a3..4d43a6729d 100644
--- a/doc/classes/Position3D.xml
+++ b/doc/classes/Position3D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Position3D" inherits="Spatial" category="Core" version="3.2">
<brief_description>
- Generic 3D Position hint for editing.
+ Generic 3D position hint for editing.
</brief_description>
<description>
- Generic 3D Position hint for editing. It's just like a plain [Spatial] but displays as a cross in the 3D-Editor at all times.
+ Generic 3D position hint for editing. It's just like a plain [Spatial], but it displays as a cross in the 3D editor at all times.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/PrimitiveMesh.xml b/doc/classes/PrimitiveMesh.xml
index 2214357308..83d4dea5b1 100644
--- a/doc/classes/PrimitiveMesh.xml
+++ b/doc/classes/PrimitiveMesh.xml
@@ -13,18 +13,18 @@
<return type="Array">
</return>
<description>
- Returns mesh arrays used to constitute surface of [Mesh]. Mesh array can be used with [ArrayMesh] to create new surface.
+ Returns mesh arrays used to constitute surface of [Mesh]. Mesh arrays can be used with [ArrayMesh] to create new surfaces.
</description>
</method>
</methods>
<members>
- <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb">
+ <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb" default="AABB( 0, 0, 0, 0, 0, 0 )">
Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unnexpected culling when using a shader to offset vertices.
</member>
- <member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces">
- If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn. Result is the same as using *CULL_BACK* in [SpatialMaterial]. Default is false.
+ <member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces" default="false">
+ If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn. Result is the same as using *CULL_BACK* in [SpatialMaterial].
</member>
- <member name="material" type="Material" setter="set_material" getter="get_material">
+ <member name="material" type="Material" setter="set_material" getter="get_material" default="null">
The current [Material] of the primitive mesh.
</member>
</members>
diff --git a/doc/classes/PrismMesh.xml b/doc/classes/PrismMesh.xml
index 62f1278bba..1d4e5ddab7 100644
--- a/doc/classes/PrismMesh.xml
+++ b/doc/classes/PrismMesh.xml
@@ -11,20 +11,20 @@
<methods>
</methods>
<members>
- <member name="left_to_right" type="float" setter="set_left_to_right" getter="get_left_to_right">
- Displacement of the upper edge along the X axis. 0.0 positions edge straight above the bottom-left edge. Defaults to 0.5 (positioned on the midpoint).
+ <member name="left_to_right" type="float" setter="set_left_to_right" getter="get_left_to_right" default="0.5">
+ Displacement of the upper edge along the X axis. 0.0 positions edge straight above the bottom-left edge.
</member>
- <member name="size" type="Vector3" setter="set_size" getter="get_size">
- Size of the prism. Defaults to (2.0, 2.0, 2.0).
+ <member name="size" type="Vector3" setter="set_size" getter="get_size" default="Vector3( 2, 2, 2 )">
+ Size of the prism.
</member>
- <member name="subdivide_depth" type="int" setter="set_subdivide_depth" getter="get_subdivide_depth">
- Number of added edge loops along the Z axis. Defaults to 0.
+ <member name="subdivide_depth" type="int" setter="set_subdivide_depth" getter="get_subdivide_depth" default="0">
+ Number of added edge loops along the Z axis.
</member>
- <member name="subdivide_height" type="int" setter="set_subdivide_height" getter="get_subdivide_height">
- Number of added edge loops along the Y axis. Defaults to 0.
+ <member name="subdivide_height" type="int" setter="set_subdivide_height" getter="get_subdivide_height" default="0">
+ Number of added edge loops along the Y axis.
</member>
- <member name="subdivide_width" type="int" setter="set_subdivide_width" getter="get_subdivide_width">
- Number of added edge loops along the X axis. Defaults to 0.
+ <member name="subdivide_width" type="int" setter="set_subdivide_width" getter="get_subdivide_width" default="0">
+ Number of added edge loops along the X axis.
</member>
</members>
<constants>
diff --git a/doc/classes/ProceduralSky.xml b/doc/classes/ProceduralSky.xml
index 97ad1efa93..9ffca20081 100644
--- a/doc/classes/ProceduralSky.xml
+++ b/doc/classes/ProceduralSky.xml
@@ -4,61 +4,61 @@
Type of [Sky] that is generated procedurally based on user input parameters.
</brief_description>
<description>
- ProceduralSky provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky.
- The ProceduralSky is updated on the CPU after the parameters change and stored in a texture and then displayed as a background in the scene. This makes it relatively unsuitable for realtime updates during gameplay. But with a small texture size it is still feasible to update relatively frequently because it is updated on a background thread when multi-threading is available.
+ ProceduralSky provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly, the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky.
+ The ProceduralSky is updated on the CPU after the parameters change. It is stored in a texture and then displayed as a background in the scene. This makes it relatively unsuitable for real-time updates during gameplay. However, with a small enough texture size, it can still be updated relatively frequently, as it is updated on a background thread when multi-threading is available.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="ground_bottom_color" type="Color" setter="set_ground_bottom_color" getter="get_ground_bottom_color">
+ <member name="ground_bottom_color" type="Color" setter="set_ground_bottom_color" getter="get_ground_bottom_color" default="Color( 0.156863, 0.184314, 0.211765, 1 )">
Color of the ground at the bottom.
</member>
- <member name="ground_curve" type="float" setter="set_ground_curve" getter="get_ground_curve">
+ <member name="ground_curve" type="float" setter="set_ground_curve" getter="get_ground_curve" default="0.02">
How quickly the [member ground_horizon_color] fades into the [member ground_bottom_color].
</member>
- <member name="ground_energy" type="float" setter="set_ground_energy" getter="get_ground_energy">
+ <member name="ground_energy" type="float" setter="set_ground_energy" getter="get_ground_energy" default="1.0">
Amount of energy contribution from the ground.
</member>
- <member name="ground_horizon_color" type="Color" setter="set_ground_horizon_color" getter="get_ground_horizon_color">
+ <member name="ground_horizon_color" type="Color" setter="set_ground_horizon_color" getter="get_ground_horizon_color" default="Color( 0.423529, 0.396078, 0.372549, 1 )">
Color of the ground at the horizon.
</member>
- <member name="sky_curve" type="float" setter="set_sky_curve" getter="get_sky_curve">
+ <member name="sky_curve" type="float" setter="set_sky_curve" getter="get_sky_curve" default="0.09">
How quickly the [member sky_horizon_color] fades into the [member sky_top_color].
</member>
- <member name="sky_energy" type="float" setter="set_sky_energy" getter="get_sky_energy">
+ <member name="sky_energy" type="float" setter="set_sky_energy" getter="get_sky_energy" default="1.0">
Amount of energy contribution from the sky.
</member>
- <member name="sky_horizon_color" type="Color" setter="set_sky_horizon_color" getter="get_sky_horizon_color">
+ <member name="sky_horizon_color" type="Color" setter="set_sky_horizon_color" getter="get_sky_horizon_color" default="Color( 0.839216, 0.917647, 0.980392, 1 )">
Color of the sky at the horizon.
</member>
- <member name="sky_top_color" type="Color" setter="set_sky_top_color" getter="get_sky_top_color">
+ <member name="sky_top_color" type="Color" setter="set_sky_top_color" getter="get_sky_top_color" default="Color( 0.647059, 0.839216, 0.945098, 1 )">
Color of the sky at the top.
</member>
- <member name="sun_angle_max" type="float" setter="set_sun_angle_max" getter="get_sun_angle_max">
+ <member name="sun_angle_max" type="float" setter="set_sun_angle_max" getter="get_sun_angle_max" default="100.0">
Distance from center of sun where it fades out completely.
</member>
- <member name="sun_angle_min" type="float" setter="set_sun_angle_min" getter="get_sun_angle_min">
+ <member name="sun_angle_min" type="float" setter="set_sun_angle_min" getter="get_sun_angle_min" default="1.0">
Distance from sun where it goes from solid to starting to fade.
</member>
- <member name="sun_color" type="Color" setter="set_sun_color" getter="get_sun_color">
- Color of the sun.
+ <member name="sun_color" type="Color" setter="set_sun_color" getter="get_sun_color" default="Color( 1, 1, 1, 1 )">
+ The sun's color.
</member>
- <member name="sun_curve" type="float" setter="set_sun_curve" getter="get_sun_curve">
- How quickly the sun fades away between [member sun_angle_min] and [member sun_angle_max]
+ <member name="sun_curve" type="float" setter="set_sun_curve" getter="get_sun_curve" default="0.05">
+ How quickly the sun fades away between [member sun_angle_min] and [member sun_angle_max].
</member>
- <member name="sun_energy" type="float" setter="set_sun_energy" getter="get_sun_energy">
+ <member name="sun_energy" type="float" setter="set_sun_energy" getter="get_sun_energy" default="1.0">
Amount of energy contribution from the sun.
</member>
- <member name="sun_latitude" type="float" setter="set_sun_latitude" getter="get_sun_latitude">
- The suns height using polar coordinates.
+ <member name="sun_latitude" type="float" setter="set_sun_latitude" getter="get_sun_latitude" default="35.0">
+ The sun's height using polar coordinates.
</member>
- <member name="sun_longitude" type="float" setter="set_sun_longitude" getter="get_sun_longitude">
+ <member name="sun_longitude" type="float" setter="set_sun_longitude" getter="get_sun_longitude" default="0.0">
The direction of the sun using polar coordinates.
</member>
- <member name="texture_size" type="int" setter="set_texture_size" getter="get_texture_size" enum="ProceduralSky.TextureSize">
- Size of [Texture] that the ProceduralSky will generate.
+ <member name="texture_size" type="int" setter="set_texture_size" getter="get_texture_size" enum="ProceduralSky.TextureSize" default="2">
+ Size of [Texture] that the ProceduralSky will generate. The size is set using [enum TextureSize].
</member>
</members>
<constants>
@@ -73,6 +73,7 @@
<constant name="TEXTURE_SIZE_4096" value="4" enum="TextureSize">
</constant>
<constant name="TEXTURE_SIZE_MAX" value="5" enum="TextureSize">
+ Represents the size of the [enum TextureSize] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml
index 98d7e5c128..a8168958cf 100644
--- a/doc/classes/ProgressBar.xml
+++ b/doc/classes/ProgressBar.xml
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ProgressBar" inherits="Range" category="Core" version="3.2">
<brief_description>
- General purpose progress bar.
+ General-purpose progress bar.
</brief_description>
<description>
- General purpose progress bar. Shows fill percentage from right to left.
+ General-purpose progress bar. Shows fill percentage from right to left.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="percent_visible" type="bool" setter="set_percent_visible" getter="is_percent_visible">
- If [code]true[/code], the fill percentage is displayed on the bar. Default value: [code]true[/code].
+ <member name="percent_visible" type="bool" setter="set_percent_visible" getter="is_percent_visible" default="true">
+ If [code]true[/code], the fill percentage is displayed on the bar.
</member>
</members>
<constants>
@@ -24,9 +24,9 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="font_color_shadow" type="Color">
+ <theme_item name="font_color_shadow" type="Color" default="Color( 0, 0, 0, 1 )">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 316f948778..3e9e063c0c 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -15,8 +15,8 @@
<argument index="0" name="hint" type="Dictionary">
</argument>
<description>
- Adds a custom property info to a property. The dictionary must contain: name:[String](the property's name) and type:[int](see TYPE_* in [@GlobalScope]), and optionally hint:[int](see PROPERTY_HINT_* in [@GlobalScope]), hint_string:[String].
- Example:
+ Adds a custom property info to a property. The dictionary must contain: name:[String](the property's name) and type:[int](see [code]TYPE_*[/code] in [@GlobalScope]), and optionally hint:[int](see [code]PROPERTY_HINT_*[/code] in [@GlobalScope]), hint_string:[String].
+ [b]Example:[/b]
[codeblock]
ProjectSettings.set("category/property_name", 0)
@@ -82,7 +82,7 @@
</argument>
<description>
Loads the contents of the .pck or .zip file specified by [code]pack[/code] into the resource filesystem ([code]res://[/code]). Returns [code]true[/code] on success.
- Note: If a file from [code]pack[/code] shares the same path as a file already in the resource filesystem, any attempts to load that file will use the file from [code]pack[/code].
+ [b]Note:[/b] If a file from [code]pack[/code] shares the same path as a file already in the resource filesystem, any attempts to load that file will use the file from [code]pack[/code].
</description>
</method>
<method name="localize_path" qualifiers="const">
@@ -161,686 +161,751 @@
</method>
</methods>
<members>
- <member name="android/modules" type="String" setter="" getter="">
+ <member name="android/modules" type="String" setter="" getter="" default="&quot;&quot;">
Comma-separated list of custom Android modules (which must have been built in the Android export templates) using their Java package path, e.g. [code]org/godotengine/org/GodotPaymentV3,org/godotengine/godot/MyCustomSingleton"[/code].
</member>
- <member name="application/boot_splash/bg_color" type="Color" setter="" getter="">
+ <member name="application/boot_splash/bg_color" type="Color" setter="" getter="" default="Color( 0.137255, 0.137255, 0.137255, 1 )">
Background color for the boot splash.
</member>
- <member name="application/boot_splash/fullsize" type="bool" setter="" getter="">
+ <member name="application/boot_splash/fullsize" type="bool" setter="" getter="" default="true">
If [code]true[/code], scale the boot splash image to the full window length when engine starts. If [code]false[/code], the engine will leave it at the default pixel size.
</member>
- <member name="application/boot_splash/image" type="String" setter="" getter="">
+ <member name="application/boot_splash/image" type="String" setter="" getter="" default="&quot;&quot;">
Path to an image used as the boot splash.
</member>
- <member name="application/boot_splash/use_filter" type="bool" setter="" getter="">
+ <member name="application/boot_splash/use_filter" type="bool" setter="" getter="" default="true">
If [code]true[/code], applies linear filtering when scaling the image (recommended for high resolution artwork). If [code]false[/code], uses nearest-neighbor interpolation (recommended for pixel art).
</member>
- <member name="application/config/custom_user_dir_name" type="String" setter="" getter="">
+ <member name="application/config/custom_user_dir_name" type="String" setter="" getter="" default="&quot;&quot;">
This user directory is used for storing persistent data ([code]user://[/code] filesystem). If left empty, [code]user://[/code] resolves to a project-specific folder in Godot's own configuration folder (see [method OS.get_user_data_dir]). If a custom directory name is defined, this name will be used instead and appended to the system-specific user data directory (same parent folder as the Godot configuration folder documented in [method OS.get_user_data_dir]).
The [member application/config/use_custom_user_dir] setting must be enabled for this to take effect.
</member>
- <member name="application/config/icon" type="String" setter="" getter="">
+ <member name="application/config/icon" type="String" setter="" getter="" default="&quot;&quot;">
Icon used for the project, set when project loads. Exporters will also use this icon when possible.
</member>
- <member name="application/config/macos_native_icon" type="String" setter="" getter="">
+ <member name="application/config/macos_native_icon" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="application/config/name" type="String" setter="" getter="">
+ <member name="application/config/name" type="String" setter="" getter="" default="&quot;&quot;">
The project's name. It is used both by the Project Manager and by exporters. The project name can be translated by translating its value in localization files.
</member>
- <member name="application/config/project_settings_override" type="String" setter="" getter="">
+ <member name="application/config/project_settings_override" type="String" setter="" getter="" default="&quot;&quot;">
Specifies a file to override project settings. For example: [code]user://custom_settings.cfg[/code].
</member>
- <member name="application/config/use_custom_user_dir" type="bool" setter="" getter="">
+ <member name="application/config/use_custom_user_dir" type="bool" setter="" getter="" default="false">
If [code]true[/code], the project will save user data to its own user directory (see [member application/config/custom_user_dir_name]). This setting is only effective on desktop platforms. A name must be set in the [member application/config/custom_user_dir_name] setting for this to take effect. If [code]false[/code], the project will save user data to [code](OS user data directory)/Godot/app_userdata/(project name)[/code].
</member>
- <member name="application/config/windows_native_icon" type="String" setter="" getter="">
+ <member name="application/config/windows_native_icon" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="application/run/disable_stderr" type="bool" setter="" getter="">
+ <member name="application/run/disable_stderr" type="bool" setter="" getter="" default="false">
If [code]true[/code], disables printing to standard error in an exported build.
</member>
- <member name="application/run/disable_stdout" type="bool" setter="" getter="">
+ <member name="application/run/disable_stdout" type="bool" setter="" getter="" default="false">
If [code]true[/code], disables printing to standard output in an exported build.
</member>
- <member name="application/run/frame_delay_msec" type="int" setter="" getter="">
+ <member name="application/run/frame_delay_msec" type="int" setter="" getter="" default="0">
Forces a delay between frames in the main loop (in milliseconds). This may be useful if you plan to disable vertical synchronization.
</member>
- <member name="application/run/low_processor_mode" type="bool" setter="" getter="">
+ <member name="application/run/low_processor_mode" type="bool" setter="" getter="" default="false">
If [code]true[/code], enables low-processor usage mode. This setting only works on desktop platforms. The screen is not redrawn if nothing changes visually. This is meant for writing applications and editors, but is pretty useless (and can hurt performance) in most games.
</member>
- <member name="application/run/low_processor_mode_sleep_usec" type="int" setter="" getter="">
+ <member name="application/run/low_processor_mode_sleep_usec" type="int" setter="" getter="" default="6900">
Amount of sleeping between frames when the low-processor usage mode is enabled (in microseconds). Higher values will result in lower CPU usage.
</member>
- <member name="application/run/main_scene" type="String" setter="" getter="">
+ <member name="application/run/main_scene" type="String" setter="" getter="" default="&quot;&quot;">
Path to the main scene file that will be loaded when the project runs.
</member>
- <member name="audio/channel_disable_threshold_db" type="float" setter="" getter="">
+ <member name="audio/channel_disable_threshold_db" type="float" setter="" getter="" default="-60.0">
Audio buses will disable automatically when sound goes below a given dB threshold for a given time. This saves CPU as effects assigned to that bus will no longer do any processing.
</member>
- <member name="audio/channel_disable_time" type="float" setter="" getter="">
+ <member name="audio/channel_disable_time" type="float" setter="" getter="" default="2.0">
Audio buses will disable automatically when sound goes below a given dB threshold for a given time. This saves CPU as effects assigned to that bus will no longer do any processing.
</member>
- <member name="audio/default_bus_layout" type="String" setter="" getter="">
+ <member name="audio/default_bus_layout" type="String" setter="" getter="" default="&quot;res://default_bus_layout.tres&quot;">
</member>
- <member name="audio/driver" type="String" setter="" getter="">
+ <member name="audio/driver" type="String" setter="" getter="" default="&quot;PulseAudio&quot;">
Specifies the audio driver to use. This setting is platform-dependent as each platform supports different audio drivers. If left empty, the default audio driver will be used.
</member>
- <member name="audio/enable_audio_input" type="bool" setter="" getter="">
+ <member name="audio/enable_audio_input" type="bool" setter="" getter="" default="false">
If [code]true[/code], microphone input will be allowed. This requires appropriate permissions to be set when exporting to Android or iOS.
</member>
- <member name="audio/mix_rate" type="int" setter="" getter="">
+ <member name="audio/mix_rate" type="int" setter="" getter="" default="44100">
Mixing rate used for audio. In general, it's better to not touch this and leave it to the host operating system.
</member>
- <member name="audio/output_latency" type="int" setter="" getter="">
+ <member name="audio/output_latency" type="int" setter="" getter="" default="15">
Output latency in milliseconds for audio. Lower values will result in lower audio latency at the cost of increased CPU usage. Low values may result in audible cracking on slower hardware.
</member>
- <member name="audio/video_delay_compensation_ms" type="int" setter="" getter="">
+ <member name="audio/video_delay_compensation_ms" type="int" setter="" getter="" default="0">
Setting to hardcode audio delay when playing video. Best to leave this untouched unless you know what you are doing.
</member>
- <member name="compression/formats/gzip/compression_level" type="int" setter="" getter="">
+ <member name="compression/formats/gzip/compression_level" type="int" setter="" getter="" default="-1">
Default compression level for gzip. Affects compressed scenes and resources.
</member>
- <member name="compression/formats/zlib/compression_level" type="int" setter="" getter="">
+ <member name="compression/formats/zlib/compression_level" type="int" setter="" getter="" default="-1">
Default compression level for Zlib. Affects compressed scenes and resources.
</member>
- <member name="compression/formats/zstd/compression_level" type="int" setter="" getter="">
+ <member name="compression/formats/zstd/compression_level" type="int" setter="" getter="" default="3">
Default compression level for Zstandard. Affects compressed scenes and resources.
</member>
- <member name="compression/formats/zstd/long_distance_matching" type="bool" setter="" getter="">
+ <member name="compression/formats/zstd/long_distance_matching" type="bool" setter="" getter="" default="false">
Enables long-distance matching in Zstandard.
</member>
- <member name="compression/formats/zstd/window_log_size" type="int" setter="" getter="">
+ <member name="compression/formats/zstd/window_log_size" type="int" setter="" getter="" default="27">
</member>
- <member name="debug/gdscript/completion/autocomplete_setters_and_getters" type="bool" setter="" getter="">
+ <member name="debug/gdscript/completion/autocomplete_setters_and_getters" type="bool" setter="" getter="" default="false">
If [code]true[/code], displays getters and setters in autocompletion results in the script editor. This setting is meant to be used when porting old projects (Godot 2), as using member variables is the preferred style from Godot 3 onwards.
</member>
- <member name="debug/gdscript/warnings/constant_used_as_function" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/constant_used_as_function" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a constant is used as a function.
</member>
- <member name="debug/gdscript/warnings/deprecated_keyword" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/deprecated_keyword" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when deprecated keywords such as [code]slave[/code] are used.
</member>
- <member name="debug/gdscript/warnings/enable" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/enable" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables specific GDScript warnings (see [code]debug/gdscript/warnings/*[/code] settings). If [code]false[/code], disables all GDScript warnings.
</member>
- <member name="debug/gdscript/warnings/function_conflicts_constant" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/function_conflicts_constant" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a function is declared with the same name as a constant.
</member>
- <member name="debug/gdscript/warnings/function_conflicts_variable" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/function_conflicts_variable" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a function is declared with the same name as a variable. This will turn into an error in a future version when first-class functions become supported in GDScript.
</member>
- <member name="debug/gdscript/warnings/function_may_yield" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/function_may_yield" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a function assigned to a variable may yield and return a function state instead of a value.
</member>
- <member name="debug/gdscript/warnings/function_used_as_property" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/function_used_as_property" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when using a function as if it was a property.
</member>
- <member name="debug/gdscript/warnings/incompatible_ternary" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/incompatible_ternary" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a ternary operator may emit values with incompatible types.
</member>
- <member name="debug/gdscript/warnings/integer_division" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/integer_division" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when dividing an integer by another integer (the decimal part will be discarded).
</member>
- <member name="debug/gdscript/warnings/narrowing_conversion" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/narrowing_conversion" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when passing a floating-point value to a function that expects an integer (it will be converted and lose precision).
</member>
- <member name="debug/gdscript/warnings/property_used_as_function" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/property_used_as_function" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when using a property as if it was a function.
</member>
- <member name="debug/gdscript/warnings/return_value_discarded" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/return_value_discarded" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when calling a function without using its return value (by assigning it to a variable or using it as a function argument). Such return values are sometimes used to denote possible errors using the [enum Error] enum.
</member>
- <member name="debug/gdscript/warnings/shadowed_variable" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/shadowed_variable" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when defining a local or subclass member variable that would shadow a variable at an upper level (such as a member variable).
</member>
- <member name="debug/gdscript/warnings/standalone_expression" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/standalone_expression" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when calling an expression that has no effect on the surrounding code, such as writing [code]2 + 2[/code] as a statement.
</member>
- <member name="debug/gdscript/warnings/treat_warnings_as_errors" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/treat_warnings_as_errors" type="bool" setter="" getter="" default="false">
If [code]true[/code], all warnings will be reported as if they were errors.
</member>
- <member name="debug/gdscript/warnings/unassigned_variable" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unassigned_variable" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when using a variable that wasn't previously assigned.
</member>
- <member name="debug/gdscript/warnings/unassigned_variable_op_assign" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unassigned_variable_op_assign" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when assigning a variable using an assignment operator like [code]+=[/code] if the variable wasn't previously assigned.
</member>
- <member name="debug/gdscript/warnings/unreachable_code" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unreachable_code" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when unreachable code is detected (such as after a [code]return[/code] statement that will always be executed).
</member>
- <member name="debug/gdscript/warnings/unsafe_call_argument" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unsafe_call_argument" type="bool" setter="" getter="" default="false">
If [code]true[/code], enables warnings when using an expression whose type may not be compatible with the function parameter expected.
</member>
- <member name="debug/gdscript/warnings/unsafe_cast" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unsafe_cast" type="bool" setter="" getter="" default="false">
If [code]true[/code], enables warnings when performing an unsafe cast.
</member>
- <member name="debug/gdscript/warnings/unsafe_method_access" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unsafe_method_access" type="bool" setter="" getter="" default="false">
If [code]true[/code], enables warnings when calling a method whose presence is not guaranteed at compile-time in the class.
</member>
- <member name="debug/gdscript/warnings/unsafe_property_access" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unsafe_property_access" type="bool" setter="" getter="" default="false">
If [code]true[/code], enables warnings when accessing a property whose presence is not guaranteed at compile-time in the class.
</member>
- <member name="debug/gdscript/warnings/unused_argument" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unused_argument" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a function parameter is unused.
</member>
- <member name="debug/gdscript/warnings/unused_class_variable" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unused_class_variable" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a member variable is unused.
</member>
- <member name="debug/gdscript/warnings/unused_signal" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unused_signal" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a signal is unused.
</member>
- <member name="debug/gdscript/warnings/unused_variable" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/unused_variable" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a local variable is unused.
</member>
- <member name="debug/gdscript/warnings/variable_conflicts_function" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/variable_conflicts_function" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when a variable is declared with the same name as a function. This will turn into an error in a future version when first-class functions become supported in GDScript.
</member>
- <member name="debug/gdscript/warnings/void_assignment" type="bool" setter="" getter="">
+ <member name="debug/gdscript/warnings/void_assignment" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables warnings when assigning the result of a function that returns [code]void[/code] to a variable.
</member>
- <member name="debug/settings/crash_handler/message" type="String" setter="" getter="">
+ <member name="debug/settings/crash_handler/message" type="String" setter="" getter="" default="&quot;Please include this when reporting the bug on https://github.com/godotengine/godot/issues&quot;">
Message to be displayed before the backtrace when the engine crashes.
</member>
- <member name="debug/settings/fps/force_fps" type="int" setter="" getter="">
+ <member name="debug/settings/fps/force_fps" type="int" setter="" getter="" default="0">
</member>
- <member name="debug/settings/gdscript/max_call_stack" type="int" setter="" getter="">
+ <member name="debug/settings/gdscript/max_call_stack" type="int" setter="" getter="" default="1024">
Maximum call stack allowed for debugging GDScript.
</member>
- <member name="debug/settings/profiler/max_functions" type="int" setter="" getter="">
+ <member name="debug/settings/profiler/max_functions" type="int" setter="" getter="" default="16384">
Maximum amount of functions per frame allowed when profiling.
</member>
- <member name="debug/settings/stdout/print_fps" type="bool" setter="" getter="">
+ <member name="debug/settings/stdout/print_fps" type="bool" setter="" getter="" default="false">
Print frames per second to standard output every second.
</member>
- <member name="debug/settings/stdout/verbose_stdout" type="bool" setter="" getter="">
+ <member name="debug/settings/stdout/verbose_stdout" type="bool" setter="" getter="" default="false">
Print more information to standard output when running. It displays information such as memory leaks, which scenes and resources are being loaded, etc.
</member>
- <member name="debug/settings/visual_script/max_call_stack" type="int" setter="" getter="">
+ <member name="debug/settings/visual_script/max_call_stack" type="int" setter="" getter="" default="1024">
Maximum call stack in visual scripting, to avoid infinite recursion.
</member>
- <member name="display/mouse_cursor/custom_image" type="String" setter="" getter="">
- Custom image for the mouse cursor (limited to 256x256).
+ <member name="display/mouse_cursor/custom_image" type="String" setter="" getter="" default="&quot;&quot;">
+ Custom image for the mouse cursor (limited to 256×256).
</member>
- <member name="display/mouse_cursor/custom_image_hotspot" type="Vector2" setter="" getter="">
+ <member name="display/mouse_cursor/custom_image_hotspot" type="Vector2" setter="" getter="" default="Vector2( 0, 0 )">
Hotspot for the custom mouse cursor image.
</member>
- <member name="display/mouse_cursor/tooltip_position_offset" type="Vector2" setter="" getter="">
+ <member name="display/mouse_cursor/tooltip_position_offset" type="Vector2" setter="" getter="" default="Vector2( 10, 10 )">
Position offset for tooltips, relative to the mouse cursor's hotspot.
</member>
- <member name="display/window/dpi/allow_hidpi" type="bool" setter="" getter="">
+ <member name="display/window/dpi/allow_hidpi" type="bool" setter="" getter="" default="false">
If [code]true[/code], allows HiDPI display on Windows and macOS. This setting has no effect on desktop Linux, as DPI-awareness fallbacks are not supported there.
</member>
- <member name="display/window/energy_saving/keep_screen_on" type="bool" setter="" getter="">
+ <member name="display/window/energy_saving/keep_screen_on" type="bool" setter="" getter="" default="true">
If [code]true[/code], keeps the screen on (even in case of inactivity), so the screensaver does not take over. Works on desktop and mobile platforms.
</member>
- <member name="display/window/handheld/orientation" type="String" setter="" getter="">
+ <member name="display/window/handheld/orientation" type="String" setter="" getter="" default="&quot;landscape&quot;">
Default orientation on mobile devices.
</member>
- <member name="display/window/per_pixel_transparency/allowed" type="bool" setter="" getter="">
+ <member name="display/window/per_pixel_transparency/allowed" type="bool" setter="" getter="" default="false">
If [code]true[/code], allows per-pixel transparency in a desktop window. This affects performance, so leave it on [code]false[/code] unless you need it.
</member>
- <member name="display/window/per_pixel_transparency/enabled" type="bool" setter="" getter="">
- Set the window background to transparent when it starts.
+ <member name="display/window/per_pixel_transparency/enabled" type="bool" setter="" getter="" default="false">
+ Sets the window background to transparent when it starts.
</member>
- <member name="display/window/size/always_on_top" type="bool" setter="" getter="">
+ <member name="display/window/size/always_on_top" type="bool" setter="" getter="" default="false">
Force the window to be always on top.
</member>
- <member name="display/window/size/borderless" type="bool" setter="" getter="">
+ <member name="display/window/size/borderless" type="bool" setter="" getter="" default="false">
Force the window to be borderless.
</member>
- <member name="display/window/size/fullscreen" type="bool" setter="" getter="">
- Set the window to full screen when it starts.
+ <member name="display/window/size/fullscreen" type="bool" setter="" getter="" default="false">
+ Sets the window to full screen when it starts.
</member>
- <member name="display/window/size/height" type="int" setter="" getter="">
- Set the main window height. On desktop, this is the default window size. Stretch mode settings use this also as a reference when enabled.
+ <member name="display/window/size/height" type="int" setter="" getter="" default="600">
+ Sets the main window height. On desktop, this is the default window size. Stretch mode settings use this also as a reference when enabled.
</member>
- <member name="display/window/size/resizable" type="bool" setter="" getter="">
+ <member name="display/window/size/resizable" type="bool" setter="" getter="" default="true">
Allows the window to be resizable by default.
</member>
- <member name="display/window/size/test_height" type="int" setter="" getter="">
+ <member name="display/window/size/test_height" type="int" setter="" getter="" default="0">
If greater than zero, uses a different height for the window when running from the editor. The main use for this is to test with stretch modes.
</member>
- <member name="display/window/size/test_width" type="int" setter="" getter="">
+ <member name="display/window/size/test_width" type="int" setter="" getter="" default="0">
If greater than zero, uses a different width for the window when running from the editor. The main use for this is to test with stretch modes.
</member>
- <member name="display/window/size/width" type="int" setter="" getter="">
+ <member name="display/window/size/width" type="int" setter="" getter="" default="1024">
Sets the main window width. On desktop platforms, this is the default window size. Stretch mode settings use this also as a reference when enabled.
</member>
- <member name="display/window/vsync/use_vsync" type="bool" setter="" getter="">
+ <member name="display/window/vsync/use_vsync" type="bool" setter="" getter="" default="true">
If [code]true[/code], enables vertical synchronization. This eliminates tearing that may appear in moving scenes, at the cost of higher input latency and stuttering at lower framerates. If [code]false[/code], vertical synchronization will be disabled, however, many platforms will enforce it regardless (such as mobile platforms and HTML5).
</member>
- <member name="editor/active" type="bool" setter="" getter="">
+ <member name="editor/active" type="bool" setter="" getter="" default="false">
Internal editor setting, don't touch.
</member>
- <member name="editor/search_in_file_extensions" type="PoolStringArray" setter="" getter="">
+ <member name="editor/search_in_file_extensions" type="PoolStringArray" setter="" getter="" default="PoolStringArray( &quot;gd&quot;, &quot;shader&quot; )">
</member>
- <member name="gui/common/default_scroll_deadzone" type="int" setter="" getter="">
+ <member name="gui/common/default_scroll_deadzone" type="int" setter="" getter="" default="0">
</member>
- <member name="gui/common/swap_ok_cancel" type="bool" setter="" getter="">
+ <member name="gui/common/swap_ok_cancel" type="bool" setter="" getter="" default="false">
If [code]true[/code], swaps OK and Cancel buttons in dialogs on Windows and UWP to follow interface conventions.
</member>
- <member name="gui/theme/custom" type="String" setter="" getter="">
+ <member name="gui/theme/custom" type="String" setter="" getter="" default="&quot;&quot;">
Use a custom theme resource, set a path to it here.
</member>
- <member name="gui/theme/custom_font" type="String" setter="" getter="">
+ <member name="gui/theme/custom_font" type="String" setter="" getter="" default="&quot;&quot;">
Use a custom default font resource, set a path to it here.
</member>
- <member name="gui/theme/use_hidpi" type="bool" setter="" getter="">
+ <member name="gui/theme/use_hidpi" type="bool" setter="" getter="" default="false">
If [code]true[/code], makes sure the theme used works with HiDPI.
</member>
- <member name="gui/timers/incremental_search_max_interval_msec" type="int" setter="" getter="">
+ <member name="gui/timers/incremental_search_max_interval_msec" type="int" setter="" getter="" default="2000">
Timer setting for incremental search in Tree, IntemList, etc. controls (in milliseconds).
</member>
- <member name="gui/timers/text_edit_idle_detect_sec" type="float" setter="" getter="">
+ <member name="gui/timers/text_edit_idle_detect_sec" type="float" setter="" getter="" default="3">
Timer for detecting idle in the editor (in seconds).
</member>
- <member name="input/ui_accept" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_cancel" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_down" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_end" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_focus_next" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_focus_prev" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_home" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_left" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_page_down" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_page_up" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_right" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_select" type="Dictionary" setter="" getter="">
- </member>
- <member name="input/ui_up" type="Dictionary" setter="" getter="">
- </member>
- <member name="input_devices/pointing/emulate_mouse_from_touch" type="bool" setter="" getter="">
+ <member name="input/ui_accept" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777221,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+, Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777222,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+, Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:32,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+, Object(InputEventJoypadButton,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;button_index&quot;:0,&quot;pressure&quot;:0.0,&quot;pressed&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_cancel" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777217,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+, Object(InputEventJoypadButton,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;button_index&quot;:1,&quot;pressure&quot;:0.0,&quot;pressed&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_down" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777234,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+, Object(InputEventJoypadButton,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;button_index&quot;:13,&quot;pressure&quot;:0.0,&quot;pressed&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_end" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777230,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_focus_next" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777218,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_focus_prev" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:true,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777218,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_home" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777229,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_left" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777231,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+, Object(InputEventJoypadButton,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;button_index&quot;:14,&quot;pressure&quot;:0.0,&quot;pressed&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_page_down" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777236,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_page_up" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777235,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_right" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777233,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+, Object(InputEventJoypadButton,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;button_index&quot;:15,&quot;pressure&quot;:0.0,&quot;pressed&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_select" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:32,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+, Object(InputEventJoypadButton,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;button_index&quot;:3,&quot;pressure&quot;:0.0,&quot;pressed&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input/ui_up" type="Dictionary" setter="" getter="" default="{
+&quot;deadzone&quot;: 0.5,
+&quot;events&quot;: [ Object(InputEventKey,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;alt&quot;:false,&quot;shift&quot;:false,&quot;control&quot;:false,&quot;meta&quot;:false,&quot;command&quot;:false,&quot;pressed&quot;:false,&quot;scancode&quot;:16777232,&quot;unicode&quot;:0,&quot;echo&quot;:false,&quot;script&quot;:null)
+, Object(InputEventJoypadButton,&quot;resource_local_to_scene&quot;:false,&quot;resource_name&quot;:&quot;&quot;,&quot;device&quot;:0,&quot;button_index&quot;:12,&quot;pressure&quot;:0.0,&quot;pressed&quot;:false,&quot;script&quot;:null)
+ ]
+}">
+ </member>
+ <member name="input_devices/pointing/emulate_mouse_from_touch" type="bool" setter="" getter="" default="true">
If [code]true[/code], sends mouse input events when tapping or swiping on the touchscreen.
</member>
- <member name="input_devices/pointing/emulate_touch_from_mouse" type="bool" setter="" getter="">
+ <member name="input_devices/pointing/emulate_touch_from_mouse" type="bool" setter="" getter="" default="false">
If [code]true[/code], sends touch input events when clicking or dragging the mouse.
</member>
- <member name="layer_names/2d_physics/layer_1" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_1" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_10" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_10" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_11" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_11" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_12" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_12" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_13" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_13" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_14" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_14" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_15" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_15" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_16" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_16" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_17" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_17" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_18" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_18" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_19" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_19" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_2" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_2" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_20" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_20" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_3" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_3" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_4" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_4" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_5" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_5" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_6" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_6" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_7" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_7" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_8" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_8" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_physics/layer_9" type="String" setter="" getter="">
+ <member name="layer_names/2d_physics/layer_9" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_1" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_1" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_10" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_10" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_11" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_11" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_12" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_12" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_13" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_13" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_14" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_14" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_15" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_15" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_16" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_16" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_17" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_17" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_18" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_18" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_19" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_19" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_2" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_2" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_20" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_20" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_3" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_3" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_4" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_4" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_5" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_5" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_6" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_6" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_7" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_7" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_8" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_8" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/2d_render/layer_9" type="String" setter="" getter="">
+ <member name="layer_names/2d_render/layer_9" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_1" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_1" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_10" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_10" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_11" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_11" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_12" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_12" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_13" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_13" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_14" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_14" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_15" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_15" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_16" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_16" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_17" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_17" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_18" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_18" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_19" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_19" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_2" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_2" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_20" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_20" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_3" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_3" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_4" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_4" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_5" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_5" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_6" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_6" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_7" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_7" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_8" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_8" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_physics/layer_9" type="String" setter="" getter="">
+ <member name="layer_names/3d_physics/layer_9" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_1" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_1" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_10" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_10" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_11" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_11" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_12" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_12" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_13" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_13" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_14" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_14" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_15" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_15" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_16" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_16" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_17" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_17" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_18" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_18" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_19" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_19" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_2" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_2" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_20" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_20" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_3" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_3" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_4" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_4" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_5" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_5" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_6" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_6" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_7" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_7" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_8" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_8" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="layer_names/3d_render/layer_9" type="String" setter="" getter="">
+ <member name="layer_names/3d_render/layer_9" type="String" setter="" getter="" default="&quot;&quot;">
</member>
- <member name="locale/fallback" type="String" setter="" getter="">
+ <member name="locale/fallback" type="String" setter="" getter="" default="&quot;en&quot;">
The locale to fall back to if a translation isn't available in a given language. If left empty, [code]en[/code] (English) will be used.
</member>
- <member name="locale/test" type="String" setter="" getter="">
+ <member name="locale/test" type="String" setter="" getter="" default="&quot;&quot;">
If non-empty, this locale will be used when running the project from the editor.
</member>
- <member name="logging/file_logging/enable_file_logging" type="bool" setter="" getter="">
+ <member name="logging/file_logging/enable_file_logging" type="bool" setter="" getter="" default="false">
If [code]true[/code], logs all output to files.
</member>
- <member name="logging/file_logging/log_path" type="String" setter="" getter="">
+ <member name="logging/file_logging/log_path" type="String" setter="" getter="" default="&quot;user://logs/log.txt&quot;">
Path to logs within the project. Using an [code]user://[/code] path is recommended.
</member>
- <member name="logging/file_logging/max_log_files" type="int" setter="" getter="">
+ <member name="logging/file_logging/max_log_files" type="int" setter="" getter="" default="10">
Specifies the maximum amount of log files allowed (used for rotation).
</member>
- <member name="memory/limits/message_queue/max_size_kb" type="int" setter="" getter="">
+ <member name="memory/limits/message_queue/max_size_kb" type="int" setter="" getter="" default="1024">
Godot uses a message queue to defer some function calls. If you run out of space on it (you will see an error), you can increase the size here.
</member>
- <member name="memory/limits/multithreaded_server/rid_pool_prealloc" type="int" setter="" getter="">
+ <member name="memory/limits/multithreaded_server/rid_pool_prealloc" type="int" setter="" getter="" default="60">
This is used by servers when used in multi-threading mode (servers and visual). RIDs are preallocated to avoid stalling the server requesting them on threads. If servers get stalled too often when loading resources in a thread, increase this number.
</member>
- <member name="network/limits/debugger_stdout/max_chars_per_second" type="int" setter="" getter="">
+ <member name="network/limits/debugger_stdout/max_chars_per_second" type="int" setter="" getter="" default="2048">
Maximum amount of characters allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
</member>
- <member name="network/limits/debugger_stdout/max_errors_per_frame" type="int" setter="" getter="">
+ <member name="network/limits/debugger_stdout/max_errors_per_frame" type="int" setter="" getter="" default="10">
Maximum amount of errors allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
</member>
- <member name="network/limits/debugger_stdout/max_messages_per_frame" type="int" setter="" getter="">
+ <member name="network/limits/debugger_stdout/max_messages_per_frame" type="int" setter="" getter="" default="10">
Maximum amount of messages allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
</member>
- <member name="network/limits/packet_peer_stream/max_buffer_po2" type="int" setter="" getter="">
+ <member name="network/limits/packet_peer_stream/max_buffer_po2" type="int" setter="" getter="" default="16">
Default size of packet peer stream for deserializing Godot data. Over this size, data is dropped.
</member>
- <member name="network/limits/websocket_client/max_in_buffer_kb" type="int" setter="" getter="">
+ <member name="network/limits/websocket_client/max_in_buffer_kb" type="int" setter="" getter="" default="64">
</member>
- <member name="network/limits/websocket_client/max_in_packets" type="int" setter="" getter="">
+ <member name="network/limits/websocket_client/max_in_packets" type="int" setter="" getter="" default="1024">
</member>
- <member name="network/limits/websocket_client/max_out_buffer_kb" type="int" setter="" getter="">
+ <member name="network/limits/websocket_client/max_out_buffer_kb" type="int" setter="" getter="" default="64">
</member>
- <member name="network/limits/websocket_client/max_out_packets" type="int" setter="" getter="">
+ <member name="network/limits/websocket_client/max_out_packets" type="int" setter="" getter="" default="1024">
</member>
- <member name="network/limits/websocket_server/max_in_buffer_kb" type="int" setter="" getter="">
+ <member name="network/limits/websocket_server/max_in_buffer_kb" type="int" setter="" getter="" default="64">
</member>
- <member name="network/limits/websocket_server/max_in_packets" type="int" setter="" getter="">
+ <member name="network/limits/websocket_server/max_in_packets" type="int" setter="" getter="" default="1024">
</member>
- <member name="network/limits/websocket_server/max_out_buffer_kb" type="int" setter="" getter="">
+ <member name="network/limits/websocket_server/max_out_buffer_kb" type="int" setter="" getter="" default="64">
</member>
- <member name="network/limits/websocket_server/max_out_packets" type="int" setter="" getter="">
+ <member name="network/limits/websocket_server/max_out_packets" type="int" setter="" getter="" default="1024">
</member>
- <member name="network/remote_fs/page_read_ahead" type="int" setter="" getter="">
+ <member name="network/remote_fs/page_read_ahead" type="int" setter="" getter="" default="4">
Amount of read ahead used by remote filesystem. Higher values decrease the effects of latency at the cost of higher bandwidth usage.
</member>
- <member name="network/remote_fs/page_size" type="int" setter="" getter="">
+ <member name="network/remote_fs/page_size" type="int" setter="" getter="" default="65536">
Page size used by remote filesystem (in bytes).
</member>
- <member name="node/name_casing" type="int" setter="" getter="">
+ <member name="node/name_casing" type="int" setter="" getter="" default="0">
When creating node names automatically, set the type of casing in this project. This is mostly an editor setting.
</member>
- <member name="node/name_num_separator" type="int" setter="" getter="">
+ <member name="node/name_num_separator" type="int" setter="" getter="" default="0">
What to use to separate node name from number. This is mostly an editor setting.
</member>
- <member name="physics/2d/physics_engine" type="String" setter="" getter="">
+ <member name="physics/2d/default_gravity" type="int" setter="" getter="" default="98">
+ </member>
+ <member name="physics/2d/physics_engine" type="String" setter="" getter="" default="&quot;DEFAULT&quot;">
</member>
- <member name="physics/2d/thread_model" type="int" setter="" getter="">
+ <member name="physics/2d/thread_model" type="int" setter="" getter="" default="1">
Sets whether physics is run on the main thread or a separate one. Running the server on a thread increases performance, but restricts API access to only physics process.
</member>
- <member name="physics/3d/active_soft_world" type="bool" setter="" getter="">
+ <member name="physics/3d/active_soft_world" type="bool" setter="" getter="" default="true">
+ </member>
+ <member name="physics/3d/default_gravity" type="float" setter="" getter="" default="9.8">
</member>
- <member name="physics/3d/physics_engine" type="String" setter="" getter="">
+ <member name="physics/3d/physics_engine" type="String" setter="" getter="" default="&quot;DEFAULT&quot;">
Sets which physics engine to use.
</member>
- <member name="physics/common/physics_fps" type="int" setter="" getter="">
+ <member name="physics/common/physics_fps" type="int" setter="" getter="" default="60">
Frames per second used in the physics. Physics always needs a fixed amount of frames per second.
</member>
- <member name="physics/common/physics_jitter_fix" type="float" setter="" getter="">
+ <member name="physics/common/physics_jitter_fix" type="float" setter="" getter="" default="0.5">
Fix to improve physics jitter, specially on monitors where refresh rate is different than the physics FPS.
</member>
- <member name="rendering/environment/default_clear_color" type="Color" setter="" getter="">
+ <member name="rendering/environment/default_clear_color" type="Color" setter="" getter="" default="Color( 0.3, 0.3, 0.3, 1 )">
Default background clear color. Overriddable per [Viewport] using its [Environment]. See [member Environment.background_mode] and [member Environment.background_color] in particular. To change this default color programmatically, use [method VisualServer.set_default_clear_color].
</member>
- <member name="rendering/limits/buffers/blend_shape_max_buffer_size_kb" type="int" setter="" getter="">
+ <member name="rendering/limits/buffers/blend_shape_max_buffer_size_kb" type="int" setter="" getter="" default="4096">
Max buffer size for blend shapes. Any blend shape bigger than this will not work.
</member>
- <member name="rendering/limits/buffers/canvas_polygon_buffer_size_kb" type="int" setter="" getter="">
+ <member name="rendering/limits/buffers/canvas_polygon_buffer_size_kb" type="int" setter="" getter="" default="128">
Max buffer size for drawing polygons. Any polygon bigger than this will not work.
</member>
- <member name="rendering/limits/buffers/canvas_polygon_index_buffer_size_kb" type="int" setter="" getter="">
+ <member name="rendering/limits/buffers/canvas_polygon_index_buffer_size_kb" type="int" setter="" getter="" default="128">
Max index buffer size for drawing polygons. Any polygon bigger than this will not work.
</member>
- <member name="rendering/limits/buffers/immediate_buffer_size_kb" type="int" setter="" getter="">
+ <member name="rendering/limits/buffers/immediate_buffer_size_kb" type="int" setter="" getter="" default="2048">
Max buffer size for drawing immediate objects (ImmediateGeometry nodes). Nodes using more than this size will not work.
</member>
- <member name="rendering/limits/rendering/max_renderable_elements" type="int" setter="" getter="">
+ <member name="rendering/limits/rendering/max_renderable_elements" type="int" setter="" getter="" default="65536">
Max amount of elements renderable in a frame. If more than this are visible per frame, they will be dropped. Keep in mind elements refer to mesh surfaces and not meshes themselves.
</member>
- <member name="rendering/limits/time/time_rollover_secs" type="float" setter="" getter="">
+ <member name="rendering/limits/time/time_rollover_secs" type="float" setter="" getter="" default="3600">
Shaders have a time variable that constantly increases. At some point, it needs to be rolled back to zero to avoid precision errors on shader animations. This setting specifies when (in seconds).
</member>
- <member name="rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround" type="bool" setter="" getter="">
+ <member name="rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround" type="bool" setter="" getter="" default="false">
Some NVIDIA GPU drivers have a bug which produces flickering issues for the [code]draw_rect[/code] method, especially as used in [TileMap]. Refer to [url=https://github.com/godotengine/godot/issues/9913]GitHub issue 9913[/url] for details.
If [code]true[/code], this option enables a "safe" code path for such NVIDIA GPUs at the cost of performance. This option only impacts the GLES2 rendering backend (so the bug stays if you use GLES3), and only desktop platforms.
</member>
- <member name="rendering/quality/2d/use_pixel_snap" type="bool" setter="" getter="">
+ <member name="rendering/quality/2d/use_pixel_snap" type="bool" setter="" getter="" default="false">
If [code]true[/code], forces snapping of polygons to pixels in 2D rendering. May help in some pixel art styles.
</member>
- <member name="rendering/quality/depth_prepass/disable_for_vendors" type="String" setter="" getter="">
- Disable depth pre-pass for some GPU vendors (usually mobile), as their architecture already does this.
+ <member name="rendering/quality/depth_prepass/disable_for_vendors" type="String" setter="" getter="" default="&quot;PowerVR,Mali,Adreno,Apple&quot;">
+ Disables depth pre-pass for some GPU vendors (usually mobile), as their architecture already does this.
</member>
- <member name="rendering/quality/depth_prepass/enable" type="bool" setter="" getter="">
+ <member name="rendering/quality/depth_prepass/enable" type="bool" setter="" getter="" default="true">
If [code]true[/code], performs a previous depth pass before rendering materials. This increases performance in scenes with high overdraw, when complex materials and lighting are used.
</member>
- <member name="rendering/quality/directional_shadow/size" type="int" setter="" getter="">
+ <member name="rendering/quality/directional_shadow/size" type="int" setter="" getter="" default="4096">
The directional shadow's size in pixels. Higher values will result in sharper shadows, at the cost of performance.
</member>
- <member name="rendering/quality/directional_shadow/size.mobile" type="int" setter="" getter="">
+ <member name="rendering/quality/directional_shadow/size.mobile" type="int" setter="" getter="" default="2048">
</member>
- <member name="rendering/quality/driver/driver_name" type="String" setter="" getter="">
+ <member name="rendering/quality/driver/driver_name" type="String" setter="" getter="" default="&quot;GLES3&quot;">
The video driver to use ("GLES2" or "GLES3").
- Note that the backend in use can be overridden at runtime via the [code]--video-driver[/code] command line argument, or by the [member rendering/quality/driver/fallback_to_gles2] option if the target system does not support GLES3 and falls back to GLES2. In such cases, this property is not updated, so use [method OS.get_current_video_driver] to query it at run-time.
+ [b]Note:[/b] The backend in use can be overridden at runtime via the [code]--video-driver[/code] command line argument, or by the [member rendering/quality/driver/fallback_to_gles2] option if the target system does not support GLES3 and falls back to GLES2. In such cases, this property is not updated, so use [method OS.get_current_video_driver] to query it at run-time.
</member>
- <member name="rendering/quality/driver/fallback_to_gles2" type="bool" setter="" getter="">
+ <member name="rendering/quality/driver/fallback_to_gles2" type="bool" setter="" getter="" default="false">
If [code]true[/code], allows falling back to the GLES2 driver if the GLES3 driver is not supported.
- Note that the two video drivers are not drop-in replacements for each other, so a game designed for GLES3 might not work properly when falling back to GLES2. In particular, some features of the GLES3 backend are not available in GLES2. Enabling this setting also means that both ETC and ETC2 VRAM-compressed textures will be exported on Android and iOS, increasing the data pack's size.
+ [b]Note:[/b] The two video drivers are not drop-in replacements for each other, so a game designed for GLES3 might not work properly when falling back to GLES2. In particular, some features of the GLES3 backend are not available in GLES2. Enabling this setting also means that both ETC and ETC2 VRAM-compressed textures will be exported on Android and iOS, increasing the data pack's size.
</member>
- <member name="rendering/quality/filters/anisotropic_filter_level" type="int" setter="" getter="">
+ <member name="rendering/quality/filters/anisotropic_filter_level" type="int" setter="" getter="" default="4">
Maximum anisotropic filter level used for textures with anisotropy enabled. Higher values will result in sharper textures when viewed from oblique angles, at the cost of performance. Only power-of-two values are valid (2, 4, 8, 16).
</member>
- <member name="rendering/quality/filters/use_nearest_mipmap_filter" type="bool" setter="" getter="">
+ <member name="rendering/quality/filters/use_nearest_mipmap_filter" type="bool" setter="" getter="" default="false">
If [code]true[/code], uses nearest-neighbor mipmap filtering when using mipmaps (also called "bilinear filtering"), which will result in visible seams appearing between mipmap stages. This may increase performance in mobile as less memory bandwidth is used. If [code]false[/code], linear mipmap filtering (also called "trilinear filtering") is used.
</member>
- <member name="rendering/quality/intended_usage/framebuffer_allocation" type="int" setter="" getter="">
+ <member name="rendering/quality/intended_usage/framebuffer_allocation" type="int" setter="" getter="" default="2">
Strategy used for framebuffer allocation. The simpler it is, the less resources it uses (but the less features it supports).
</member>
- <member name="rendering/quality/intended_usage/framebuffer_allocation.mobile" type="int" setter="" getter="">
+ <member name="rendering/quality/intended_usage/framebuffer_allocation.mobile" type="int" setter="" getter="" default="3">
</member>
- <member name="rendering/quality/reflections/high_quality_ggx" type="bool" setter="" getter="">
+ <member name="rendering/quality/reflections/high_quality_ggx" type="bool" setter="" getter="" default="true">
If [code]true[/code], uses a high amount of samples to create blurred variants of reflection probes and panorama backgrounds (sky). Those blurred variants are used by rough materials.
</member>
- <member name="rendering/quality/reflections/high_quality_ggx.mobile" type="bool" setter="" getter="">
+ <member name="rendering/quality/reflections/high_quality_ggx.mobile" type="bool" setter="" getter="" default="false">
</member>
- <member name="rendering/quality/reflections/texture_array_reflections" type="bool" setter="" getter="">
+ <member name="rendering/quality/reflections/texture_array_reflections" type="bool" setter="" getter="" default="true">
If [code]true[/code], uses texture arrays instead of mipmaps for reflection probes and panorama backgrounds (sky). This reduces jitter noise on reflections, but costs more performance and memory.
</member>
- <member name="rendering/quality/reflections/texture_array_reflections.mobile" type="bool" setter="" getter="">
+ <member name="rendering/quality/reflections/texture_array_reflections.mobile" type="bool" setter="" getter="" default="false">
</member>
- <member name="rendering/quality/shading/force_blinn_over_ggx" type="bool" setter="" getter="">
+ <member name="rendering/quality/shading/force_blinn_over_ggx" type="bool" setter="" getter="" default="false">
If [code]true[/code], uses faster but lower-quality Blinn model to generate blurred reflections instead of the GGX model.
</member>
- <member name="rendering/quality/shading/force_blinn_over_ggx.mobile" type="bool" setter="" getter="">
+ <member name="rendering/quality/shading/force_blinn_over_ggx.mobile" type="bool" setter="" getter="" default="true">
</member>
- <member name="rendering/quality/shading/force_lambert_over_burley" type="bool" setter="" getter="">
+ <member name="rendering/quality/shading/force_lambert_over_burley" type="bool" setter="" getter="" default="false">
If [code]true[/code], uses faster but lower-quality Lambert material lighting model instead of Burley.
</member>
- <member name="rendering/quality/shading/force_lambert_over_burley.mobile" type="bool" setter="" getter="">
+ <member name="rendering/quality/shading/force_lambert_over_burley.mobile" type="bool" setter="" getter="" default="true">
</member>
- <member name="rendering/quality/shading/force_vertex_shading" type="bool" setter="" getter="">
+ <member name="rendering/quality/shading/force_vertex_shading" type="bool" setter="" getter="" default="false">
If [code]true[/code], forces vertex shading for all rendering. This can increase performance a lot, but also reduces quality immensely. Can be used to optimize performance on low-end mobile devices.
</member>
- <member name="rendering/quality/shading/force_vertex_shading.mobile" type="bool" setter="" getter="">
+ <member name="rendering/quality/shading/force_vertex_shading.mobile" type="bool" setter="" getter="" default="true">
</member>
- <member name="rendering/quality/shadow_atlas/quadrant_0_subdiv" type="int" setter="" getter="">
+ <member name="rendering/quality/shadow_atlas/quadrant_0_subdiv" type="int" setter="" getter="" default="1">
Subdivision quadrant size for shadow mapping. See shadow mapping documentation.
</member>
- <member name="rendering/quality/shadow_atlas/quadrant_1_subdiv" type="int" setter="" getter="">
+ <member name="rendering/quality/shadow_atlas/quadrant_1_subdiv" type="int" setter="" getter="" default="2">
Subdivision quadrant size for shadow mapping. See shadow mapping documentation.
</member>
- <member name="rendering/quality/shadow_atlas/quadrant_2_subdiv" type="int" setter="" getter="">
+ <member name="rendering/quality/shadow_atlas/quadrant_2_subdiv" type="int" setter="" getter="" default="3">
Subdivision quadrant size for shadow mapping. See shadow mapping documentation.
</member>
- <member name="rendering/quality/shadow_atlas/quadrant_3_subdiv" type="int" setter="" getter="">
+ <member name="rendering/quality/shadow_atlas/quadrant_3_subdiv" type="int" setter="" getter="" default="4">
Subdivision quadrant size for shadow mapping. See shadow mapping documentation.
</member>
- <member name="rendering/quality/shadow_atlas/size" type="int" setter="" getter="">
+ <member name="rendering/quality/shadow_atlas/size" type="int" setter="" getter="" default="4096">
Size for shadow atlas (used for OmniLights and SpotLights). See documentation.
</member>
- <member name="rendering/quality/shadow_atlas/size.mobile" type="int" setter="" getter="">
+ <member name="rendering/quality/shadow_atlas/size.mobile" type="int" setter="" getter="" default="2048">
</member>
- <member name="rendering/quality/shadows/filter_mode" type="int" setter="" getter="">
+ <member name="rendering/quality/shadows/filter_mode" type="int" setter="" getter="" default="1">
Shadow filter mode. Higher-quality settings result in smoother shadows that flicker less when moving. "Disabled" is the fastest option, but also has the lowest quality. "PCF5" is smoother but is also slower. "PCF13" is the smoothest option, but is also the slowest.
</member>
- <member name="rendering/quality/shadows/filter_mode.mobile" type="int" setter="" getter="">
+ <member name="rendering/quality/shadows/filter_mode.mobile" type="int" setter="" getter="" default="0">
</member>
- <member name="rendering/quality/subsurface_scattering/follow_surface" type="bool" setter="" getter="">
+ <member name="rendering/quality/subsurface_scattering/follow_surface" type="bool" setter="" getter="" default="false">
Improves quality of subsurface scattering, but cost significantly increases.
</member>
- <member name="rendering/quality/subsurface_scattering/quality" type="int" setter="" getter="">
+ <member name="rendering/quality/subsurface_scattering/quality" type="int" setter="" getter="" default="1">
Quality setting for subsurface scaterring (samples taken).
</member>
- <member name="rendering/quality/subsurface_scattering/scale" type="int" setter="" getter="">
+ <member name="rendering/quality/subsurface_scattering/scale" type="int" setter="" getter="" default="1.0">
</member>
- <member name="rendering/quality/subsurface_scattering/weight_samples" type="bool" setter="" getter="">
+ <member name="rendering/quality/subsurface_scattering/weight_samples" type="bool" setter="" getter="" default="true">
Weight subsurface scattering samples. Helps to avoid reading samples from unrelated parts of the screen.
</member>
- <member name="rendering/quality/voxel_cone_tracing/high_quality" type="bool" setter="" getter="">
+ <member name="rendering/quality/voxel_cone_tracing/high_quality" type="bool" setter="" getter="" default="true">
Use high-quality voxel cone tracing. This results in better-looking reflections, but is much more expensive on the GPU.
</member>
- <member name="rendering/threads/thread_model" type="int" setter="" getter="">
+ <member name="rendering/threads/thread_model" type="int" setter="" getter="" default="1">
Thread model for rendering. Rendering on a thread can vastly improve performance, but synchronizing to the main thread can cause a bit more jitter.
</member>
- <member name="rendering/vram_compression/import_bptc" type="bool" setter="" getter="">
+ <member name="rendering/vram_compression/import_bptc" type="bool" setter="" getter="" default="false">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the BPTC algorithm. This texture compression algorithm is only supported on desktop platforms, and only when using the GLES3 renderer.
</member>
- <member name="rendering/vram_compression/import_etc" type="bool" setter="" getter="">
+ <member name="rendering/vram_compression/import_etc" type="bool" setter="" getter="" default="false">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression algorithm. This algorithm doesn't support alpha channels in textures.
</member>
- <member name="rendering/vram_compression/import_etc2" type="bool" setter="" getter="">
+ <member name="rendering/vram_compression/import_etc2" type="bool" setter="" getter="" default="true">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression 2 algorithm. This texture compression algorithm is only supported when using the GLES3 renderer.
</member>
- <member name="rendering/vram_compression/import_pvrtc" type="bool" setter="" getter="">
+ <member name="rendering/vram_compression/import_pvrtc" type="bool" setter="" getter="" default="false">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the PowerVR Texture Compression algorithm. This texture compression algorithm is only supported on iOS.
</member>
- <member name="rendering/vram_compression/import_s3tc" type="bool" setter="" getter="">
+ <member name="rendering/vram_compression/import_s3tc" type="bool" setter="" getter="" default="true">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the S3 Texture Compression algorithm. This algorithm is only supported on desktop platforms and consoles.
</member>
- <member name="script" type="Script" setter="" getter="">
+ <member name="script" type="Script" setter="" getter="" default="null">
</member>
</members>
<constants>
diff --git a/doc/classes/ProximityGroup.xml b/doc/classes/ProximityGroup.xml
index ad4cb682cb..3c081bf91f 100644
--- a/doc/classes/ProximityGroup.xml
+++ b/doc/classes/ProximityGroup.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ProximityGroup" inherits="Spatial" category="Core" version="3.2">
<brief_description>
- General purpose proximity-detection node.
+ General-purpose proximity detection node.
</brief_description>
<description>
- General purpose proximity-detection node.
+ General-purpose proximity detection node.
</description>
<tutorials>
</tutorials>
@@ -21,11 +21,11 @@
</method>
</methods>
<members>
- <member name="dispatch_mode" type="int" setter="set_dispatch_mode" getter="get_dispatch_mode" enum="ProximityGroup.DispatchMode">
+ <member name="dispatch_mode" type="int" setter="set_dispatch_mode" getter="get_dispatch_mode" enum="ProximityGroup.DispatchMode" default="0">
</member>
- <member name="grid_radius" type="Vector3" setter="set_grid_radius" getter="get_grid_radius">
+ <member name="grid_radius" type="Vector3" setter="set_grid_radius" getter="get_grid_radius" default="Vector3( 1, 1, 1 )">
</member>
- <member name="group_name" type="String" setter="set_group_name" getter="get_group_name">
+ <member name="group_name" type="String" setter="set_group_name" getter="get_group_name" default="&quot;&quot;">
</member>
</members>
<signals>
diff --git a/doc/classes/ProxyTexture.xml b/doc/classes/ProxyTexture.xml
index a36f670c42..d403196022 100644
--- a/doc/classes/ProxyTexture.xml
+++ b/doc/classes/ProxyTexture.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="base" type="Texture" setter="set_base" getter="get_base">
+ <member name="base" type="Texture" setter="set_base" getter="get_base" default="null">
</member>
</members>
<constants>
diff --git a/doc/classes/QuadMesh.xml b/doc/classes/QuadMesh.xml
index cf7e56f895..209e91eef2 100644
--- a/doc/classes/QuadMesh.xml
+++ b/doc/classes/QuadMesh.xml
@@ -11,8 +11,8 @@
<methods>
</methods>
<members>
- <member name="size" type="Vector2" setter="set_size" getter="get_size">
- Size in the X and Y axes. Default is [code]Vector2(1, 1)[/code].
+ <member name="size" type="Vector2" setter="set_size" getter="get_size" default="Vector2( 1, 1 )">
+ Size on the X and Y axes.
</member>
</members>
<constants>
diff --git a/doc/classes/Quat.xml b/doc/classes/Quat.xml
index 3ef65e1edb..9d163e926c 100644
--- a/doc/classes/Quat.xml
+++ b/doc/classes/Quat.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
A unit quaternion used for representing 3D rotations.
- It is similar to [Basis], which implements matrix representation of rotations, and can be parametrized using both an axis-angle pair or Euler angles. But due to its compactness and the way it is stored in memory, certain operations (obtaining axis-angle and performing SLERP, in particular) are more efficient and robust against floating point errors.
+ It is similar to [Basis], which implements matrix representation of rotations, and can be parametrized using both an axis-angle pair or Euler angles. But due to its compactness and the way it is stored in memory, certain operations (obtaining axis-angle and performing SLERP, in particular) are more efficient and robust against floating-point errors.
Quaternions need to be (re)normalized.
</description>
<tutorials>
@@ -27,7 +27,7 @@
<argument index="0" name="euler" type="Vector3">
</argument>
<description>
- Returns a quaternion that will perform a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X-angle, Y-angle, Z-angle).
+ Returns a quaternion that will perform a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X angle, Y angle, Z angle).
</description>
</method>
<method name="Quat">
@@ -84,7 +84,7 @@
<return type="Vector3">
</return>
<description>
- Returns Euler angles (in the YXZ convention: first Z, then X, and Y last) corresponding to the rotation represented by the unit quaternion. Returned vector contains the rotation angles in the format (X-angle, Y-angle, Z-angle).
+ Returns Euler angles (in the YXZ convention: first Z, then X, and Y last) corresponding to the rotation represented by the unit quaternion. Returned vector contains the rotation angles in the format (X angle, Y angle, Z angle).
</description>
</method>
<method name="inverse">
@@ -128,14 +128,14 @@
<argument index="1" name="angle" type="float">
</argument>
<description>
- Set the quaternion to a rotation which rotates around axis by the specified angle, in radians. The axis must be a normalized vector.
+ Sets the quaternion to a rotation which rotates around axis by the specified angle, in radians. The axis must be a normalized vector.
</description>
</method>
<method name="set_euler">
<argument index="0" name="euler" type="Vector3">
</argument>
<description>
- Set the quaternion to a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X-angle, Y-angle, Z-angle).
+ Sets the quaternion to a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X angle, Y angle, Z angle).
</description>
</method>
<method name="slerp">
@@ -171,17 +171,17 @@
</method>
</methods>
<members>
- <member name="w" type="float" setter="" getter="">
- W component of the quaternion. Default value: [code]1[/code]
+ <member name="w" type="float" setter="" getter="" default="1.0">
+ W component of the quaternion.
</member>
- <member name="x" type="float" setter="" getter="">
- X component of the quaternion. Default value: [code]0[/code]
+ <member name="x" type="float" setter="" getter="" default="0.0">
+ X component of the quaternion.
</member>
- <member name="y" type="float" setter="" getter="">
- Y component of the quaternion. Default value: [code]0[/code]
+ <member name="y" type="float" setter="" getter="" default="0.0">
+ Y component of the quaternion.
</member>
- <member name="z" type="float" setter="" getter="">
- Z component of the quaternion. Default value: [code]0[/code]
+ <member name="z" type="float" setter="" getter="" default="0.0">
+ Z component of the quaternion.
</member>
</members>
<constants>
diff --git a/doc/classes/RID.xml b/doc/classes/RID.xml
index 89778e1c8b..5edef100c5 100644
--- a/doc/classes/RID.xml
+++ b/doc/classes/RID.xml
@@ -4,7 +4,7 @@
Handle for a [Resource]'s unique ID.
</brief_description>
<description>
- The RID type is used to access the unique integer ID of a resource. They are opaque, so they do not grant access to the associated resource by themselves. They are used by and with the low-level Server classes such as [VisualServer].
+ The RID type is used to access the unique integer ID of a resource. They are opaque, which means they do not grant access to the associated resource by themselves. They are used by and with the low-level Server classes such as [VisualServer].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/RandomNumberGenerator.xml b/doc/classes/RandomNumberGenerator.xml
index be7bcc9c35..9054e2fa88 100644
--- a/doc/classes/RandomNumberGenerator.xml
+++ b/doc/classes/RandomNumberGenerator.xml
@@ -4,7 +4,15 @@
A class for generating pseudo-random numbers.
</brief_description>
<description>
- RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses PCG32. The underlying algorithm is an implementation detail. As a result, it should not be depended upon for reproducible random streams across Godot versions.
+ RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses [url=http://www.pcg-random.org/]PCG32[/url].
+ [b]Note:[/b] The underlying algorithm is an implementation detail. As a result, it should not be depended upon for reproducible random streams across Godot versions.
+ To generate a random float number (within a given range) based on a time-dependant seed:
+ [codeblock]
+ var rng = RandomNumberGenerator.new()
+ func _ready():
+ rng.randomize()
+ var my_random_number = rng.randf_range(-10.0, 10.0)
+ [/codeblock]
</description>
<tutorials>
</tutorials>
@@ -13,7 +21,7 @@
<return type="float">
</return>
<description>
- Generates pseudo-random float between '0.0' and '1.0', inclusive.
+ Generates a pseudo-random float between [code]0.0[/code] and [code]1.0[/code] (inclusive).
</description>
</method>
<method name="randf_range">
@@ -24,7 +32,7 @@
<argument index="1" name="to" type="float">
</argument>
<description>
- Generates pseudo-random float between [code]from[/code] and [code]to[/code], inclusive.
+ Generates a pseudo-random float between [code]from[/code] and [code]to[/code] (inclusive).
</description>
</method>
<method name="randfn">
@@ -35,14 +43,14 @@
<argument index="1" name="deviation" type="float" default="1.0">
</argument>
<description>
- Generates normally(gaussian) distributed pseudo-random number, using Box-Muller transform with the specified [code]mean[/code] and a standard [code]deviation[/code].
+ Generates a [url=https://en.wikipedia.org/wiki/Normal_distribution]normally-distributed[/url] pseudo-random number, using Box-Muller transform with the specified [code]mean[/code] and a standard [code]deviation[/code]. This is also called Gaussian distribution.
</description>
</method>
<method name="randi">
<return type="int">
</return>
<description>
- Generates pseudo-random 32-bit unsigned integer between '0' and '4294967295', inclusive.
+ Generates a pseudo-random 32-bit unsigned integer between [code]0[/code] and [code]4294967295[/code] (inclusive).
</description>
</method>
<method name="randi_range">
@@ -53,7 +61,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 a pseudo-random 32-bit signed integer between [code]from[/code] and [code]to[/code] (inclusive).
</description>
</method>
<method name="randomize">
@@ -65,7 +73,7 @@
</method>
</methods>
<members>
- <member name="seed" type="int" setter="set_seed" getter="get_seed">
+ <member name="seed" type="int" setter="set_seed" getter="get_seed" default="-6398989897141750821">
The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers.
[b]Note:[/b] The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they're sourced externally.
</member>
diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml
index 3c7317bf85..82fffd0cb8 100644
--- a/doc/classes/Range.xml
+++ b/doc/classes/Range.xml
@@ -4,7 +4,7 @@
Abstract base class for range-based controls.
</brief_description>
<description>
- Range is a base class for [Control] nodes that change a floating point [i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/i] and [i]page[/i], for example a [ScrollBar].
+ Range is a base class for [Control] nodes that change a floating-point [i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/i] and [i]page[/i], for example a [ScrollBar].
</description>
<tutorials>
</tutorials>
@@ -22,39 +22,39 @@
<return type="void">
</return>
<description>
- Stop range from sharing its member variables with any other.
+ Stops range from sharing its member variables with any other.
</description>
</method>
</methods>
<members>
- <member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed">
- If [code]true[/code], [member value] may be greater than [member max_value]. Default value: [code]false[/code].
+ <member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed" default="false">
+ If [code]true[/code], [member value] may be greater than [member max_value].
</member>
- <member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed">
- If [code]true[/code], [member value] may be less than [member min_value]. Default value: [code]false[/code].
+ <member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed" default="false">
+ If [code]true[/code], [member value] may be less than [member min_value].
</member>
- <member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp">
+ <member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp" default="false">
If [code]true[/code], and [code]min_value[/code] is greater than 0, [code]value[/code] will be represented exponentially rather than linearly.
</member>
- <member name="max_value" type="float" setter="set_max" getter="get_max">
- Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code]. Default value: [code]100[/code].
+ <member name="max_value" type="float" setter="set_max" getter="get_max" default="100.0">
+ Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code].
</member>
- <member name="min_value" type="float" setter="set_min" getter="get_min">
- Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code]. Default value: [code]0[/code].
+ <member name="min_value" type="float" setter="set_min" getter="get_min" default="0.0">
+ Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code].
</member>
- <member name="page" type="float" setter="set_page" getter="get_page">
+ <member name="page" type="float" setter="set_page" getter="get_page" default="0.0">
Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size multiplied by [code]page[/code] over the difference between [code]min_value[/code] and [code]max_value[/code].
</member>
<member name="ratio" type="float" setter="set_as_ratio" getter="get_as_ratio">
The value mapped between 0 and 1.
</member>
- <member name="rounded" type="bool" setter="set_use_rounded_values" getter="is_using_rounded_values">
- If [code]true[/code], [code]value[/code] will always be rounded to the nearest integer. Default value: [code]false[/code].
+ <member name="rounded" type="bool" setter="set_use_rounded_values" getter="is_using_rounded_values" default="false">
+ If [code]true[/code], [code]value[/code] will always be rounded to the nearest integer.
</member>
- <member name="step" type="float" setter="set_step" getter="get_step">
+ <member name="step" type="float" setter="set_step" getter="get_step" default="1.0">
If greater than 0, [code]value[/code] will always be rounded to a multiple of [code]step[/code]. If [code]rounded[/code] is also [code]true[/code], [code]value[/code] will first be rounded to a multiple of [code]step[/code] then rounded to the nearest integer.
</member>
- <member name="value" type="float" setter="set_value" getter="get_value">
+ <member name="value" type="float" setter="set_value" getter="get_value" default="0.0">
Range's current value.
</member>
</members>
diff --git a/doc/classes/RayCast.xml b/doc/classes/RayCast.xml
index 1368143b67..19f62a57bd 100644
--- a/doc/classes/RayCast.xml
+++ b/doc/classes/RayCast.xml
@@ -43,7 +43,8 @@
</return>
<description>
Updates the collision information for the ray.
- Use this method to update the collision information immediately instead of waiting for the next [code]_physics_process[/code] call, for example if the ray or its parent has changed state. Note: [code]enabled == true[/code] is not required for this to work.
+ Use this method to update the collision information immediately instead of waiting for the next [code]_physics_process[/code] call, for example if the ray or its parent has changed state.
+ [b]Note:[/b] [code]enabled == true[/code] is not required for this to work.
</description>
</method>
<method name="get_collider" qualifiers="const">
@@ -66,7 +67,8 @@
<argument index="0" name="bit" type="int">
</argument>
<description>
- Returns [code]true[/code] if the bit index passed is turned on. Note that bit indexes range from 0-19.
+ Returns [code]true[/code] if the bit index passed is turned on.
+ [b]Note:[/b] Bit indices range from 0-19.
</description>
</method>
<method name="get_collision_normal" qualifiers="const">
@@ -80,7 +82,8 @@
<return type="Vector3">
</return>
<description>
- Returns the collision point at which the ray intersects the closest object. Note: this point is in the [b]global[/b] coordinate system.
+ Returns the collision point at which the ray intersects the closest object.
+ [b]Note:[/b] This point is in the [b]global[/b] coordinate system.
</description>
</method>
<method name="is_colliding" qualifiers="const">
@@ -116,28 +119,29 @@
<argument index="1" name="value" type="bool">
</argument>
<description>
- Sets the bit index passed to the [code]value[/code] passed. Note that bit indexes range from 0-19.
+ Sets the bit index passed to the [code]value[/code] passed.
+ [b]Note:[/b] Bit indexes range from 0-19.
</description>
</method>
</methods>
<members>
- <member name="cast_to" type="Vector3" setter="set_cast_to" getter="get_cast_to">
+ <member name="cast_to" type="Vector3" setter="set_cast_to" getter="get_cast_to" default="Vector3( 0, -1, 0 )">
The ray's destination point, relative to the RayCast's [code]position[/code].
</member>
- <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled">
- If [code]true[/code], collision with [Area]s will be reported. Default value: [code]false[/code].
+ <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false">
+ If [code]true[/code], collision with [Area]s will be reported.
</member>
- <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled">
- If [code]true[/code], collision with [PhysicsBody]s will be reported. Default value: [code]true[/code].
+ <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled" default="true">
+ If [code]true[/code], collision with [PhysicsBody]s will be reported.
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected.
</member>
- <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled">
- If [code]true[/code], collisions will be reported. Default value: [code]false[/code].
+ <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="false">
+ If [code]true[/code], collisions will be reported.
</member>
- <member name="exclude_parent" type="bool" setter="set_exclude_parent_body" getter="get_exclude_parent_body">
- If [code]true[/code], collisions will be ignored for this RayCast's immediate parent. Default value: [code]true[/code].
+ <member name="exclude_parent" type="bool" setter="set_exclude_parent_body" getter="get_exclude_parent_body" default="true">
+ If [code]true[/code], collisions will be ignored for this RayCast's immediate parent.
</member>
</members>
<constants>
diff --git a/doc/classes/RayCast2D.xml b/doc/classes/RayCast2D.xml
index 90e0178ddb..81d66ef496 100644
--- a/doc/classes/RayCast2D.xml
+++ b/doc/classes/RayCast2D.xml
@@ -42,7 +42,8 @@
<return type="void">
</return>
<description>
- Updates the collision information for the ray. Use this method to update the collision information immediately instead of waiting for the next [code]_physics_process[/code] call, for example if the ray or its parent has changed state. Note: [code]enabled == true[/code] is not required for this to work.
+ Updates the collision information for the ray. Use this method to update the collision information immediately instead of waiting for the next [code]_physics_process[/code] call, for example if the ray or its parent has changed state.
+ [b]Note:[/b] [code]enabled == true[/code] is not required for this to work.
</description>
</method>
<method name="get_collider" qualifiers="const">
@@ -79,7 +80,8 @@
<return type="Vector2">
</return>
<description>
- Returns the collision point at which the ray intersects the closest object. Note: this point is in the [b]global[/b] coordinate system.
+ Returns the collision point at which the ray intersects the closest object.
+ [b]Note:[/b] this point is in the [b]global[/b] coordinate system.
</description>
</method>
<method name="is_colliding" qualifiers="const">
@@ -115,28 +117,28 @@
<argument index="1" name="value" type="bool">
</argument>
<description>
- Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.
+ Sets or clears individual bits on the collision mask. This makes selecting the areas scanned easier.
</description>
</method>
</methods>
<members>
- <member name="cast_to" type="Vector2" setter="set_cast_to" getter="get_cast_to">
+ <member name="cast_to" type="Vector2" setter="set_cast_to" getter="get_cast_to" default="Vector2( 0, 50 )">
The ray's destination point, relative to the RayCast's [code]position[/code].
</member>
- <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled">
- If [code]true[/code], collision with [Area2D]s will be reported. Default value: [code]false[/code].
+ <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false">
+ If [code]true[/code], collision with [Area2D]s will be reported.
</member>
- <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled">
- If [code]true[/code], collision with [PhysicsBody2D]s will be reported. Default value: [code]true[/code].
+ <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled" default="true">
+ If [code]true[/code], collision with [PhysicsBody2D]s will be reported.
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected.
</member>
- <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled">
- If [code]true[/code], collisions will be reported. Default value: [code]false[/code].
+ <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="false">
+ If [code]true[/code], collisions will be reported.
</member>
- <member name="exclude_parent" type="bool" setter="set_exclude_parent_body" getter="get_exclude_parent_body">
- If [code]true[/code], the parent node will be excluded from collision detection. Default value: [code]true[/code].
+ <member name="exclude_parent" type="bool" setter="set_exclude_parent_body" getter="get_exclude_parent_body" default="true">
+ If [code]true[/code], the parent node will be excluded from collision detection.
</member>
</members>
<constants>
diff --git a/doc/classes/RayShape.xml b/doc/classes/RayShape.xml
index 69b159fa97..3f5859714e 100644
--- a/doc/classes/RayShape.xml
+++ b/doc/classes/RayShape.xml
@@ -4,18 +4,18 @@
Ray shape for 3D collisions.
</brief_description>
<description>
- Ray shape for 3D collisions, which can be set into a [PhysicsBody] or [Area]. A ray is not really a collision body, instead it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ Ray shape for 3D collisions, which can be set into a [PhysicsBody] or [Area]. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="length" type="float" setter="set_length" getter="get_length">
+ <member name="length" type="float" setter="set_length" getter="get_length" default="1.0">
The ray's length.
</member>
- <member name="slips_on_slope" type="bool" setter="set_slips_on_slope" getter="get_slips_on_slope">
- If [code]true[/code], allow the shape to return the correct normal. Default value: [code]false[/code].
+ <member name="slips_on_slope" type="bool" setter="set_slips_on_slope" getter="get_slips_on_slope" default="false">
+ If [code]true[/code], allow the shape to return the correct normal.
</member>
</members>
<constants>
diff --git a/doc/classes/RayShape2D.xml b/doc/classes/RayShape2D.xml
index e0ef01bd2a..377a19e8da 100644
--- a/doc/classes/RayShape2D.xml
+++ b/doc/classes/RayShape2D.xml
@@ -4,18 +4,18 @@
Ray shape for 2D collisions.
</brief_description>
<description>
- Ray shape for 2D collisions. A ray is not really a collision body, instead it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ Ray shape for 2D collisions. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="length" type="float" setter="set_length" getter="get_length">
+ <member name="length" type="float" setter="set_length" getter="get_length" default="20.0">
The ray's length.
</member>
- <member name="slips_on_slope" type="bool" setter="set_slips_on_slope" getter="get_slips_on_slope">
- If [code]true[/code], allow the shape to return the correct normal. Default value: [code]false[/code].
+ <member name="slips_on_slope" type="bool" setter="set_slips_on_slope" getter="get_slips_on_slope" default="false">
+ If [code]true[/code], allow the shape to return the correct normal.
</member>
</members>
<constants>
diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml
index c4f7844a03..9d6bfbf398 100644
--- a/doc/classes/Rect2.xml
+++ b/doc/classes/Rect2.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Rect2" category="Built-In Types" version="3.2">
<brief_description>
- 2D Axis-aligned bounding box.
+ 2D axis-aligned bounding box.
</brief_description>
<description>
Rect2 consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
@@ -148,13 +148,13 @@
</method>
</methods>
<members>
- <member name="end" type="Vector2" setter="" getter="">
+ <member name="end" type="Vector2" setter="" getter="" default="Vector2( 0, 0 )">
Ending corner.
</member>
- <member name="position" type="Vector2" setter="" getter="">
+ <member name="position" type="Vector2" setter="" getter="" default="Vector2( 0, 0 )">
Position (starting corner).
</member>
- <member name="size" type="Vector2" setter="" getter="">
+ <member name="size" type="Vector2" setter="" getter="" default="Vector2( 0, 0 )">
Size from position to end.
</member>
</members>
diff --git a/doc/classes/RectangleShape2D.xml b/doc/classes/RectangleShape2D.xml
index 62ead5598b..d55324c98f 100644
--- a/doc/classes/RectangleShape2D.xml
+++ b/doc/classes/RectangleShape2D.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="extents" type="Vector2" setter="set_extents" getter="get_extents">
+ <member name="extents" type="Vector2" setter="set_extents" getter="get_extents" default="Vector2( 10, 10 )">
The rectangle's half extents. The width and height of this shape is twice the half extents.
</member>
</members>
diff --git a/doc/classes/Reference.xml b/doc/classes/Reference.xml
index bc24483367..70d41b665a 100644
--- a/doc/classes/Reference.xml
+++ b/doc/classes/Reference.xml
@@ -1,10 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Reference" inherits="Object" category="Core" version="3.2">
<brief_description>
- Base class for anything that keeps a reference count.
+ Base class for reference-counted objects.
</brief_description>
<description>
- Base class for anything that keeps a reference count. Resource and many other helper objects inherit this. References keep an internal reference counter so they are only released when no longer in use.
+ Base class for any object that keeps a reference count. [Resource] and many other helper objects inherit this class.
+ References keep an internal reference counter so that they are automatically released when no longer in use, and only then. References therefore do not need to be freed manually with [method Object.free].
+ In the vast majority of use cases, instantiating and using [Reference]-derived types is all you need to do. The methods provided in this class are only for advanced users, and can cause issues if misused.
</description>
<tutorials>
</tutorials>
@@ -13,20 +15,24 @@
<return type="bool">
</return>
<description>
+ Initializes the internal reference counter. Use this only if you really know what you are doing.
+ Returns whether the initialization was successful.
</description>
</method>
<method name="reference">
<return type="bool">
</return>
<description>
- Increase the internal reference counter. Use this only if you really know what you are doing.
+ Increments the internal reference counter. Use this only if you really know what you are doing.
+ Returns [code]true[/code] if the increment was successful, [code]false[/code] otherwise.
</description>
</method>
<method name="unreference">
<return type="bool">
</return>
<description>
- Decrease the internal reference counter. Use this only if you really know what you are doing.
+ Decrements the internal reference counter. Use this only if you really know what you are doing.
+ Returns [code]true[/code] if the decrement was successful, [code]false[/code] otherwise.
</description>
</method>
</methods>
diff --git a/doc/classes/ReferenceRect.xml b/doc/classes/ReferenceRect.xml
index f6025fe2f9..393a72cf60 100644
--- a/doc/classes/ReferenceRect.xml
+++ b/doc/classes/ReferenceRect.xml
@@ -4,15 +4,18 @@
Reference frame for GUI.
</brief_description>
<description>
- Reference frame for GUI. It's just like an empty control, except an outline border [member border_color] is displayed while editing around its size at all times.
+ A rectangle box that displays only a [member border_color] border color around its rectangle. [ReferenceRect] has no fill [Color].
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="border_color" type="Color" setter="set_border_color" getter="get_border_color">
- Determines the border [Color] of the [ReferenceRect].
+ <member name="border_color" type="Color" setter="set_border_color" getter="get_border_color" default="Color( 1, 0, 0, 1 )">
+ Sets the border [Color] of the [ReferenceRect].
+ </member>
+ <member name="editor_only" type="bool" setter="set_editor_only" getter="get_editor_only" default="true">
+ If set to [code]true[/code], the [ReferenceRect] will only be visible while in editor. Otherwise, [ReferenceRect] will be visible in game.
</member>
</members>
<constants>
diff --git a/doc/classes/ReflectionProbe.xml b/doc/classes/ReflectionProbe.xml
index 3268e9f8e5..68b9110b50 100644
--- a/doc/classes/ReflectionProbe.xml
+++ b/doc/classes/ReflectionProbe.xml
@@ -10,29 +10,29 @@
<methods>
</methods>
<members>
- <member name="box_projection" type="bool" setter="set_enable_box_projection" getter="is_box_projection_enabled">
+ <member name="box_projection" type="bool" setter="set_enable_box_projection" getter="is_box_projection_enabled" default="false">
</member>
- <member name="cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask">
+ <member name="cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask" default="1048575">
</member>
- <member name="enable_shadows" type="bool" setter="set_enable_shadows" getter="are_shadows_enabled">
+ <member name="enable_shadows" type="bool" setter="set_enable_shadows" getter="are_shadows_enabled" default="false">
</member>
- <member name="extents" type="Vector3" setter="set_extents" getter="get_extents">
+ <member name="extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3( 1, 1, 1 )">
</member>
- <member name="intensity" type="float" setter="set_intensity" getter="get_intensity">
+ <member name="intensity" type="float" setter="set_intensity" getter="get_intensity" default="1.0">
</member>
- <member name="interior_ambient_color" type="Color" setter="set_interior_ambient" getter="get_interior_ambient">
+ <member name="interior_ambient_color" type="Color" setter="set_interior_ambient" getter="get_interior_ambient" default="Color( 0, 0, 0, 1 )">
</member>
- <member name="interior_ambient_contrib" type="float" setter="set_interior_ambient_probe_contribution" getter="get_interior_ambient_probe_contribution">
+ <member name="interior_ambient_contrib" type="float" setter="set_interior_ambient_probe_contribution" getter="get_interior_ambient_probe_contribution" default="0.0">
</member>
- <member name="interior_ambient_energy" type="float" setter="set_interior_ambient_energy" getter="get_interior_ambient_energy">
+ <member name="interior_ambient_energy" type="float" setter="set_interior_ambient_energy" getter="get_interior_ambient_energy" default="1.0">
</member>
- <member name="interior_enable" type="bool" setter="set_as_interior" getter="is_set_as_interior">
+ <member name="interior_enable" type="bool" setter="set_as_interior" getter="is_set_as_interior" default="false">
</member>
- <member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance">
+ <member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="0.0">
</member>
- <member name="origin_offset" type="Vector3" setter="set_origin_offset" getter="get_origin_offset">
+ <member name="origin_offset" type="Vector3" setter="set_origin_offset" getter="get_origin_offset" default="Vector3( 0, 0, 0 )">
</member>
- <member name="update_mode" type="int" setter="set_update_mode" getter="get_update_mode" enum="ReflectionProbe.UpdateMode">
+ <member name="update_mode" type="int" setter="set_update_mode" getter="get_update_mode" enum="ReflectionProbe.UpdateMode" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/RemoteTransform.xml b/doc/classes/RemoteTransform.xml
index 17ee7bf123..4628ef8519 100644
--- a/doc/classes/RemoteTransform.xml
+++ b/doc/classes/RemoteTransform.xml
@@ -12,20 +12,20 @@
<methods>
</methods>
<members>
- <member name="remote_path" type="NodePath" setter="set_remote_node" getter="get_remote_node">
+ <member name="remote_path" type="NodePath" setter="set_remote_node" getter="get_remote_node" default="NodePath(&quot;&quot;)">
The [NodePath] to the remote node, relative to the RemoteTransform's position in the scene.
</member>
- <member name="update_position" type="bool" setter="set_update_position" getter="get_update_position">
- If [code]true[/code], the remote node's position is updated. Default value: [code]true[/code].
+ <member name="update_position" type="bool" setter="set_update_position" getter="get_update_position" default="true">
+ If [code]true[/code], the remote node's position is updated.
</member>
- <member name="update_rotation" type="bool" setter="set_update_rotation" getter="get_update_rotation">
- If [code]true[/code], the remote node's rotation is updated. Default value: [code]true[/code].
+ <member name="update_rotation" type="bool" setter="set_update_rotation" getter="get_update_rotation" default="true">
+ If [code]true[/code], the remote node's rotation is updated.
</member>
- <member name="update_scale" type="bool" setter="set_update_scale" getter="get_update_scale">
- If [code]true[/code], the remote node's scale is updated. Default value: [code]true[/code].
+ <member name="update_scale" type="bool" setter="set_update_scale" getter="get_update_scale" default="true">
+ If [code]true[/code], the remote node's scale is updated.
</member>
- <member name="use_global_coordinates" type="bool" setter="set_use_global_coordinates" getter="get_use_global_coordinates">
- If [code]true[/code], global coordinates are used. If [code]false[/code], local coordinates are used. Default value: [code]true[/code].
+ <member name="use_global_coordinates" type="bool" setter="set_use_global_coordinates" getter="get_use_global_coordinates" default="true">
+ If [code]true[/code], global coordinates are used. If [code]false[/code], local coordinates are used.
</member>
</members>
<constants>
diff --git a/doc/classes/RemoteTransform2D.xml b/doc/classes/RemoteTransform2D.xml
index b8eb7c6f13..6a317724a0 100644
--- a/doc/classes/RemoteTransform2D.xml
+++ b/doc/classes/RemoteTransform2D.xml
@@ -12,20 +12,20 @@
<methods>
</methods>
<members>
- <member name="remote_path" type="NodePath" setter="set_remote_node" getter="get_remote_node">
+ <member name="remote_path" type="NodePath" setter="set_remote_node" getter="get_remote_node" default="NodePath(&quot;&quot;)">
The [NodePath] to the remote node, relative to the RemoteTransform2D's position in the scene.
</member>
- <member name="update_position" type="bool" setter="set_update_position" getter="get_update_position">
- If [code]true[/code], the remote node's position is updated. Default value: [code]true[/code].
+ <member name="update_position" type="bool" setter="set_update_position" getter="get_update_position" default="true">
+ If [code]true[/code], the remote node's position is updated.
</member>
- <member name="update_rotation" type="bool" setter="set_update_rotation" getter="get_update_rotation">
- If [code]true[/code], the remote node's rotation is updated. Default value: [code]true[/code].
+ <member name="update_rotation" type="bool" setter="set_update_rotation" getter="get_update_rotation" default="true">
+ If [code]true[/code], the remote node's rotation is updated.
</member>
- <member name="update_scale" type="bool" setter="set_update_scale" getter="get_update_scale">
- If [code]true[/code], the remote node's scale is updated. Default value: [code]true[/code].
+ <member name="update_scale" type="bool" setter="set_update_scale" getter="get_update_scale" default="true">
+ If [code]true[/code], the remote node's scale is updated.
</member>
- <member name="use_global_coordinates" type="bool" setter="set_use_global_coordinates" getter="get_use_global_coordinates">
- If [code]true[/code], global coordinates are used. If [code]false[/code], local coordinates are used. Default value: [code]true[/code].
+ <member name="use_global_coordinates" type="bool" setter="set_use_global_coordinates" getter="get_use_global_coordinates" default="true">
+ If [code]true[/code], global coordinates are used. If [code]false[/code], local coordinates are used.
</member>
</members>
<constants>
diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml
index acd608de6a..a50f5c97d1 100644
--- a/doc/classes/Resource.xml
+++ b/doc/classes/Resource.xml
@@ -37,7 +37,7 @@
<return type="RID">
</return>
<description>
- 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.
+ 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">
@@ -59,19 +59,20 @@
</method>
</methods>
<members>
- <member name="resource_local_to_scene" type="bool" setter="set_local_to_scene" getter="is_local_to_scene">
+ <member name="resource_local_to_scene" type="bool" setter="set_local_to_scene" getter="is_local_to_scene" default="false">
If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.
</member>
- <member name="resource_name" type="String" setter="set_name" getter="get_name">
+ <member name="resource_name" type="String" setter="set_name" getter="get_name" default="&quot;&quot;">
The name of the resource. This is an optional identifier.
</member>
- <member name="resource_path" type="String" setter="set_path" getter="get_path">
+ <member name="resource_path" type="String" setter="set_path" getter="get_path" default="&quot;&quot;">
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>
<signal name="changed">
<description>
+ Emitted whenever the resource changes.
</description>
</signal>
</signals>
diff --git a/doc/classes/ResourceFormatLoader.xml b/doc/classes/ResourceFormatLoader.xml
index f62191413a..ce37691e0a 100644
--- a/doc/classes/ResourceFormatLoader.xml
+++ b/doc/classes/ResourceFormatLoader.xml
@@ -6,7 +6,7 @@
<description>
Godot loads resources in the editor or in exported games using ResourceFormatLoaders. They are queried automatically via the [ResourceLoader] singleton, or when a resource with internal dependencies is loaded. Each file type may load as a different resource type, so multiple ResourceFormatLoaders are registered in the engine.
Extending this class allows you to define your own loader. Be sure to respect the documented return types and values. You should give it a global class name with [code]class_name[/code] for it to be registered. Like built-in ResourceFormatLoaders, it will be called automatically when loading resources of its handled type(s). You may also implement a [ResourceFormatSaver].
- Note: You can also extend [EditorImportPlugin] if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends if the format is suitable or not for the final exported game. For example, it's better to import [code].png[/code] textures as [code].stex[/code] ([StreamTexture]) first, so they can be loaded with better efficiency on the graphics card.
+ [b]Note:[/b] You can also extend [EditorImportPlugin] if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends if the format is suitable or not for the final exported game. For example, it's better to import [code].png[/code] textures as [code].stex[/code] ([StreamTexture]) first, so they can be loaded with better efficiency on the graphics card.
</description>
<tutorials>
</tutorials>
@@ -19,7 +19,8 @@
<argument index="1" name="add_types" type="String">
</argument>
<description>
- If implemented, gets the dependencies of a given resource. If [code]add_types[/code] is [code]true[/code], paths should be appended [code]::TypeName[/code], where [code]TypeName[/code] is the class name of the dependency. Note that custom resource types defined by scripts aren't known by the [ClassDB], so you might just return [code]"Resource"[/code] for them.
+ If implemented, gets the dependencies of a given resource. If [code]add_types[/code] is [code]true[/code], paths should be appended [code]::TypeName[/code], where [code]TypeName[/code] is the class name of the dependency.
+ [b]Note:[/b] Custom resource types defined by scripts aren't known by the [ClassDB], so you might just return [code]"Resource"[/code] for them.
</description>
</method>
<method name="get_recognized_extensions" qualifiers="virtual">
@@ -35,7 +36,8 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Gets the class name of the resource associated with the given path. If the loader cannot handle it, it should return [code]""[/code]. Note that custom resource types defined by scripts aren't known by the [ClassDB], so you might just return [code]"Resource"[/code] for them.
+ Gets the class name of the resource associated with the given path. If the loader cannot handle it, it should return [code]""[/code].
+ [b]Note:[/b] Custom resource types defined by scripts aren't known by the [ClassDB], so you might just return [code]"Resource"[/code] for them.
</description>
</method>
<method name="handles_type" qualifiers="virtual">
@@ -44,7 +46,8 @@
<argument index="0" name="typename" type="String">
</argument>
<description>
- Tells which resource class this loader can load. Note that custom resource types defined by scripts aren't known by the [ClassDB], so you might just handle [code]"Resource"[/code] for them.
+ Tells which resource class this loader can load.
+ [b]Note:[/b] Custom resource types defined by scripts aren't known by the [ClassDB], so you might just handle [code]"Resource"[/code] for them.
</description>
</method>
<method name="load" qualifiers="virtual">
@@ -55,7 +58,7 @@
<argument index="1" name="original_path" type="String">
</argument>
<description>
- Loads a resource when the engine finds this loader to be compatible. If the loaded resource is the result of an import, [code]original_path[/code] will target the source file. Returns a [Resource] object on success, or an [enum @GlobalScope.Error] constant in case of failure.
+ Loads a resource when the engine finds this loader to be compatible. If the loaded resource is the result of an import, [code]original_path[/code] will target the source file. Returns a [Resource] object on success, or an [enum Error] constant in case of failure.
</description>
</method>
<method name="rename_dependencies" qualifiers="virtual">
@@ -67,7 +70,7 @@
</argument>
<description>
If implemented, renames dependencies within the given resource and saves it. [code]renames[/code] is a dictionary [code]{ String =&gt; String }[/code] mapping old dependency paths to new paths.
- Returns [constant @GlobalScope.OK] on success, or an [enum @GlobalScope.Error] constant in case of failure.
+ Returns [constant OK] on success, or an [enum Error] constant in case of failure.
</description>
</method>
</methods>
diff --git a/doc/classes/ResourceFormatSaver.xml b/doc/classes/ResourceFormatSaver.xml
index c40f614aa2..5ad5ab49b1 100644
--- a/doc/classes/ResourceFormatSaver.xml
+++ b/doc/classes/ResourceFormatSaver.xml
@@ -39,7 +39,7 @@
</argument>
<description>
Saves the given resource object to a file at the target [code]path[/code]. [code]flags[/code] is a bitmask composed with [enum ResourceSaver.SaverFlags] constants.
- Returns [constant @GlobalScope.OK] on success, or an [enum @GlobalScope.Error] constant in case of failure.
+ Returns [constant OK] on success, or an [enum Error] constant in case of failure.
</description>
</method>
</methods>
diff --git a/doc/classes/ResourceImporter.xml b/doc/classes/ResourceImporter.xml
new file mode 100644
index 0000000000..e0c0aa9a47
--- /dev/null
+++ b/doc/classes/ResourceImporter.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="ResourceImporter" inherits="Reference" category="Core" version="3.2">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ </methods>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/ResourceInteractiveLoader.xml b/doc/classes/ResourceInteractiveLoader.xml
index 9d5a52deb2..df552d3656 100644
--- a/doc/classes/ResourceInteractiveLoader.xml
+++ b/doc/classes/ResourceInteractiveLoader.xml
@@ -4,7 +4,7 @@
Interactive [Resource] loader.
</brief_description>
<description>
- Interactive [Resource] loader. This object is returned by [ResourceLoader] when performing an interactive load. It allows to load with high granularity, so this is mainly useful for displaying loading bars/percentages.
+ Interactive [Resource] loader. This object is returned by [ResourceLoader] when performing an interactive load. It allows loading resources with high granularity, which makes it mainly useful for displaying loading bars or percentages.
</description>
<tutorials>
</tutorials>
@@ -35,9 +35,9 @@
</return>
<description>
Polls the loading operation, i.e. loads a data chunk up to the next stage.
- Returns [constant @GlobalScope.OK] if the poll is successful but the load operation has not finished yet (intermediate stage). This means [method poll] will have to be called again until the last stage is completed.
- Returns [constant @GlobalScope.ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource].
- Returns another [enum @GlobalScope.Error] code if the poll has failed.
+ Returns [constant OK] if the poll is successful but the load operation has not finished yet (intermediate stage). This means [method poll] will have to be called again until the last stage is completed.
+ Returns [constant ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource].
+ Returns another [enum Error] code if the poll has failed.
</description>
</method>
<method name="wait">
@@ -45,8 +45,8 @@
</return>
<description>
Polls the loading operation successively until the resource is completely loaded or a [method poll] fails.
- Returns [constant @GlobalScope.ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource].
- Returns another [enum @GlobalScope.Error] code if a poll has failed, aborting the operation.
+ Returns [constant ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource].
+ Returns another [enum Error] code if a poll has failed, aborting the operation.
</description>
</method>
</methods>
diff --git a/doc/classes/ResourceLoader.xml b/doc/classes/ResourceLoader.xml
index 558852704e..31bba18171 100644
--- a/doc/classes/ResourceLoader.xml
+++ b/doc/classes/ResourceLoader.xml
@@ -47,7 +47,7 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Deprecated method. Use [method has_cached] or [method exists] instead.
+ [i]Deprecated method.[/i] Use [method has_cached] or [method exists] instead.
</description>
</method>
<method name="has_cached">
@@ -95,7 +95,7 @@
<argument index="0" name="abort" type="bool">
</argument>
<description>
- Change the behavior on missing sub-resources. Default is to abort load.
+ Changes the behavior on missing sub-resources. The default behavior is to abort loading.
</description>
</method>
</methods>
diff --git a/doc/classes/ResourceSaver.xml b/doc/classes/ResourceSaver.xml
index 778ba4293f..f12d26d4b9 100644
--- a/doc/classes/ResourceSaver.xml
+++ b/doc/classes/ResourceSaver.xml
@@ -31,7 +31,7 @@
<description>
Saves a resource to disk to the given path, using a [ResourceFormatSaver] that recognizes the resource object.
The [code]flags[/code] bitmask can be specified to customize the save behavior.
- Returns [constant @GlobalScope.OK] on success.
+ Returns [constant OK] on success.
</description>
</method>
</methods>
@@ -43,7 +43,7 @@
Bundles external resources.
</constant>
<constant name="FLAG_CHANGE_PATH" value="4" enum="SaverFlags">
- Change the [member Resource.resource_path] of the saved resource to match its new location.
+ Changes the [member Resource.resource_path] of the saved resource to match its new location.
</constant>
<constant name="FLAG_OMIT_EDITOR_PROPERTIES" value="8" enum="SaverFlags">
Do not save editor-specific metadata (identified by their [code]__editor[/code] prefix).
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index c8dd7821a3..405eb59563 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
Rich text can contain custom text, fonts, images and some basic formatting. The label manages these as an internal tag stack. It also adapts itself to given width/heights.
- Note that assignments to [member bbcode_text] clear the tag stack and reconstruct it from the property's contents. Any edits made to [member bbcode_text] will erase previous edits made from other manual sources such as [method append_bbcode] and the [code]push_*[/code] / [method pop] methods.
+ [b]Note:[/b] Assignments to [member bbcode_text] clear the tag stack and reconstruct it from the property's contents. Any edits made to [member bbcode_text] will erase previous edits made from other manual sources such as [method append_bbcode] and the [code]push_*[/code] / [method pop] methods.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/gui/bbcode_in_richtextlabel.html</link>
@@ -26,7 +26,7 @@
<argument index="0" name="text" type="String">
</argument>
<description>
- Adds raw non-bbcode-parsed text to the tag stack.
+ Adds raw non-BBCode-parsed text to the tag stack.
</description>
</method>
<method name="append_bbcode">
@@ -35,7 +35,7 @@
<argument index="0" name="bbcode" type="String">
</argument>
<description>
- Parses [code]bbcode[/code] and adds tags to the tag stack as needed. Returns the result of the parsing, [code]OK[/code] if successful.
+ Parses [code]bbcode[/code] and adds tags to the tag stack as needed. Returns the result of the parsing, [constant OK] if successful.
</description>
</method>
<method name="clear">
@@ -63,7 +63,7 @@
<return type="int">
</return>
<description>
- Returns the total number of characters from text tags. Does not include bbcodes.
+ Returns the total number of characters from text tags. Does not include BBCodes.
</description>
</method>
<method name="get_v_scroll">
@@ -93,14 +93,14 @@
<argument index="0" name="bbcode" type="String">
</argument>
<description>
- The assignment version of [method append_bbcode]. Clears the tag stack and inserts the new content. Returns [code]OK[/code] if parses [code]bbcode[/code] successfully.
+ The assignment version of [method append_bbcode]. Clears the tag stack and inserts the new content. Returns [constant OK] if parses [code]bbcode[/code] successfully.
</description>
</method>
<method name="pop">
<return type="void">
</return>
<description>
- Terminates the current tag. Use after [code]push_*[/code] methods to close bbcodes manually. Does not need to follow [code]add_*[/code] methods.
+ Terminates the current tag. Use after [code]push_*[/code] methods to close BBCodes manually. Does not need to follow [code]add_*[/code] methods.
</description>
</method>
<method name="push_align">
@@ -109,7 +109,7 @@
<argument index="0" name="align" type="int" enum="RichTextLabel.Align">
</argument>
<description>
- Adds an alignment tag based on the given [code]align[/code] value. See [enum Align] for possible values.
+ Adds an [code][align][/code] tag based on the given [code]align[/code] value. See [enum Align] for possible values.
</description>
</method>
<method name="push_cell">
@@ -152,7 +152,7 @@
<argument index="0" name="type" type="int" enum="RichTextLabel.ListType">
</argument>
<description>
- Adds a list tag to the tag stack. Similar to the bbcodes [code][ol][/code] or [code][ul][/code], but supports more list types. Not fully implemented!
+ Adds a [code][list][/code] tag to the tag stack. Similar to the BBCodes [code][ol][/code] or [code][ul][/code], but supports more list types. Not fully implemented!
</description>
</method>
<method name="push_meta">
@@ -161,7 +161,7 @@
<argument index="0" name="data" type="Variant">
</argument>
<description>
- Adds a meta tag to the tag stack. Similar to the bbcode [code][url=something]{text}[/url][/code], but supports non-[String] metadata types.
+ Adds a [code][meta][/code] tag to the tag stack. Similar to the BBCode [code][url=something]{text}[/url][/code], but supports non-[String] metadata types.
</description>
</method>
<method name="push_strikethrough">
@@ -215,46 +215,46 @@
<argument index="2" name="ratio" type="int">
</argument>
<description>
- Edits the selected columns expansion options. If [code]expand[/code] is [code]true[/code], the column expands in proportion to its expansion ratio versus the other columns' ratios.
+ Edits the selected column's expansion options. If [code]expand[/code] is [code]true[/code], the column expands in proportion to its expansion ratio versus the other columns' ratios.
For example, 2 columns with ratios 3 and 4 plus 70 pixels in available width would expand 30 and 40 pixels, respectively.
- Columns with a [code]false[/code] expand will not contribute to the total ratio.
+ If [code]expand[/code] is [code]false[/code], the column will not contribute to the total ratio.
</description>
</method>
</methods>
<members>
- <member name="bbcode_enabled" type="bool" setter="set_use_bbcode" getter="is_using_bbcode">
- If [code]true[/code], the label uses BBCode formatting. Default value: [code]false[/code].
+ <member name="bbcode_enabled" type="bool" setter="set_use_bbcode" getter="is_using_bbcode" default="false">
+ If [code]true[/code], the label uses BBCode formatting.
</member>
- <member name="bbcode_text" type="String" setter="set_bbcode" getter="get_bbcode">
+ <member name="bbcode_text" type="String" setter="set_bbcode" getter="get_bbcode" default="&quot;&quot;">
The label's text in BBCode format. Is not representative of manual modifications to the internal tag stack. Erases changes made by other methods when edited.
</member>
- <member name="meta_underlined" type="bool" setter="set_meta_underline" getter="is_meta_underlined">
- If [code]true[/code], the label underlines meta tags such as [code][url]{text}[/url][/code]. Default value: [code]true[/code].
+ <member name="meta_underlined" type="bool" setter="set_meta_underline" getter="is_meta_underlined" default="true">
+ If [code]true[/code], the label underlines meta tags such as [code][url]{text}[/url][/code].
</member>
- <member name="override_selected_font_color" type="bool" setter="set_override_selected_font_color" getter="is_overriding_selected_font_color">
- If [code]true[/code], the label uses the custom font color. Default value: [code]false[/code].
+ <member name="override_selected_font_color" type="bool" setter="set_override_selected_font_color" getter="is_overriding_selected_font_color" default="false">
+ If [code]true[/code], the label uses the custom font color.
</member>
- <member name="percent_visible" type="float" setter="set_percent_visible" getter="get_percent_visible">
+ <member name="percent_visible" type="float" setter="set_percent_visible" getter="get_percent_visible" default="1.0">
The text's visibility, as a [float] between 0.0 and 1.0.
</member>
- <member name="scroll_active" type="bool" setter="set_scroll_active" getter="is_scroll_active">
- If [code]true[/code], the scrollbar is visible. Does not block scrolling completely. See [method scroll_to_line]. Default value: [code]true[/code].
+ <member name="scroll_active" type="bool" setter="set_scroll_active" getter="is_scroll_active" default="true">
+ If [code]true[/code], the scrollbar is visible. Does not block scrolling completely. See [method scroll_to_line].
</member>
- <member name="scroll_following" type="bool" setter="set_scroll_follow" getter="is_scroll_following">
- If [code]true[/code], the window scrolls down to display new content automatically. Default value: [code]false[/code].
+ <member name="scroll_following" type="bool" setter="set_scroll_follow" getter="is_scroll_following" default="false">
+ If [code]true[/code], the window scrolls down to display new content automatically.
</member>
- <member name="selection_enabled" type="bool" setter="set_selection_enabled" getter="is_selection_enabled">
+ <member name="selection_enabled" type="bool" setter="set_selection_enabled" getter="is_selection_enabled" default="false">
If [code]true[/code], the label allows text selection.
</member>
- <member name="tab_size" type="int" setter="set_tab_size" getter="get_tab_size">
- The number of spaces associated with a single tab length. Does not affect "\t" in text tags, only indent tags.
+ <member name="tab_size" type="int" setter="set_tab_size" getter="get_tab_size" default="4">
+ The number of spaces associated with a single tab length. Does not affect [code]\t[/code] in text tags, only indent tags.
</member>
- <member name="text" type="String" setter="set_text" getter="get_text">
+ <member name="text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
The raw text of the label.
- When set, clears the tag stack and adds a raw text tag to the top of it. Does not parse bbcodes. Does not modify [member bbcode_text].
+ When set, clears the tag stack and adds a raw text tag to the top of it. Does not parse BBCodes. Does not modify [member bbcode_text].
</member>
- <member name="visible_characters" type="int" setter="set_visible_characters" getter="get_visible_characters">
- The restricted number of characters to display in the label.
+ <member name="visible_characters" type="int" setter="set_visible_characters" getter="get_visible_characters" default="-1">
+ The restricted number of characters to display in the label. If [code]-1[/code], all characters will be displayed.
</member>
</members>
<signals>
@@ -327,17 +327,17 @@
</theme_item>
<theme_item name="bold_italics_font" type="Font">
</theme_item>
- <theme_item name="default_color" type="Color">
+ <theme_item name="default_color" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
- <theme_item name="font_color_selected" type="Color">
+ <theme_item name="font_color_selected" type="Color" default="Color( 0.490196, 0.490196, 0.490196, 1 )">
</theme_item>
- <theme_item name="font_color_shadow" type="Color">
+ <theme_item name="font_color_shadow" type="Color" default="Color( 0, 0, 0, 0 )">
</theme_item>
<theme_item name="italics_font" type="Font">
</theme_item>
- <theme_item name="line_separation" type="int">
+ <theme_item name="line_separation" type="int" default="1">
</theme_item>
<theme_item name="mono_font" type="Font">
</theme_item>
@@ -345,17 +345,17 @@
</theme_item>
<theme_item name="normal_font" type="Font">
</theme_item>
- <theme_item name="selection_color" type="Color">
+ <theme_item name="selection_color" type="Color" default="Color( 0.1, 0.1, 1, 0.8 )">
</theme_item>
- <theme_item name="shadow_as_outline" type="int">
+ <theme_item name="shadow_as_outline" type="int" default="0">
</theme_item>
- <theme_item name="shadow_offset_x" type="int">
+ <theme_item name="shadow_offset_x" type="int" default="1">
</theme_item>
- <theme_item name="shadow_offset_y" type="int">
+ <theme_item name="shadow_offset_y" type="int" default="1">
</theme_item>
- <theme_item name="table_hseparation" type="int">
+ <theme_item name="table_hseparation" type="int" default="3">
</theme_item>
- <theme_item name="table_vseparation" type="int">
+ <theme_item name="table_vseparation" type="int" default="3">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/RigidBody.xml b/doc/classes/RigidBody.xml
index 8dadca49e1..a705789413 100644
--- a/doc/classes/RigidBody.xml
+++ b/doc/classes/RigidBody.xml
@@ -4,10 +4,10 @@
Physics Body whose position is determined through physics simulation in 3D space.
</brief_description>
<description>
- This is the node that implements full 3D physics. This means that you do not control a RigidBody directly. Instead you can apply forces to it (gravity, impulses, etc.), and the physics simulation will calculate the resulting movement, collision, bouncing, rotating, etc.
+ This is the node that implements full 3D physics. This means that you do not control a RigidBody directly. Instead, you can apply forces to it (gravity, impulses, etc.), and the physics simulation will calculate the resulting movement, collision, bouncing, rotating, etc.
A RigidBody has 4 behavior [member mode]s: Rigid, Static, Character, and Kinematic.
- [b]Note:[/b] Don't change a RigidBody's position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop will yield strange behavior. If you need to directly affect the body's state, use [method _integrate_forces], which allows you to directly access the physics state.
- If you need to override the default physics behavior, you can write a custom force integration. See [member custom_integrator].
+ [b]Note:[/b] Don't change a RigidBody's position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed Hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop may result in strange behavior. If you need to directly affect the body's state, use [method _integrate_forces], which allows you to directly access the physics state.
+ If you need to override the default physics behavior, you can write a custom force integration function. See [member custom_integrator].
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html</link>
@@ -70,7 +70,7 @@
<argument index="1" name="impulse" type="Vector3">
</argument>
<description>
- Applies a positioned impulse to the body. An impulse is time independent! Applying an impulse every frame would result in a framerate dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin.
+ Applies a positioned impulse to the body. An impulse is time independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin.
</description>
</method>
<method name="apply_torque_impulse">
@@ -79,14 +79,15 @@
<argument index="0" name="impulse" type="Vector3">
</argument>
<description>
- Applies a torque impulse which will be affected by the body mass and shape. This will rotate the body around the passed in vector.
+ Applies a torque impulse which will be affected by the body mass and shape. This will rotate the body around the [code]impulse[/code] vector passed.
</description>
</method>
<method name="get_colliding_bodies" qualifiers="const">
<return type="Array">
</return>
<description>
- Returns a list of the bodies colliding with this one. By default, number of max contacts reported is at 0, see the [member contacts_reported] property to increase it. Note that the result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
+ Returns a list of the bodies colliding with this one. By default, number of max contacts reported is at 0, see the [member contacts_reported] property to increase it.
+ [b]Note:[/b] The result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
</description>
</method>
<method name="set_axis_velocity">
@@ -100,74 +101,76 @@
</method>
</methods>
<members>
- <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp">
+ <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="-1.0">
Damps RigidBody's rotational forces.
</member>
- <member name="angular_velocity" type="Vector3" setter="set_angular_velocity" getter="get_angular_velocity">
+ <member name="angular_velocity" type="Vector3" setter="set_angular_velocity" getter="get_angular_velocity" default="Vector3( 0, 0, 0 )">
RigidBody's rotational velocity.
</member>
- <member name="axis_lock_angular_x" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- Lock the body's rotation in the x-axis.
+ <member name="axis_lock_angular_x" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false">
+ Lock the body's rotation in the X axis.
</member>
- <member name="axis_lock_angular_y" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- Lock the body's rotation in the y-axis.
+ <member name="axis_lock_angular_y" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false">
+ Lock the body's rotation in the Y axis.
</member>
- <member name="axis_lock_angular_z" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- Lock the body's rotation in the z-axis.
+ <member name="axis_lock_angular_z" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false">
+ Lock the body's rotation in the Z axis.
</member>
- <member name="axis_lock_linear_x" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- Lock the body's movement in the x-axis.
+ <member name="axis_lock_linear_x" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false">
+ Lock the body's movement in the X axis.
</member>
- <member name="axis_lock_linear_y" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- Lock the body's movement in the y-axis.
+ <member name="axis_lock_linear_y" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false">
+ Lock the body's movement in the Y axis.
</member>
- <member name="axis_lock_linear_z" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- Lock the body's movement in the z-axis.
+ <member name="axis_lock_linear_z" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false">
+ Lock the body's movement in the Z axis.
</member>
<member name="bounce" type="float" setter="set_bounce" getter="get_bounce">
- RigidBody's bounciness.
+ The body's bounciness. Values range from [code]0[/code] (no bounce) to [code]1[/code] (full bounciness).
+ Deprecated, use [member PhysicsMaterial.bounce] instead via [member physics_material_override].
</member>
- <member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep">
+ <member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep" default="true">
If [code]true[/code], the RigidBody will not calculate forces and will act as a static body while there is no movement. It will wake up when forces are applied through other collisions or when the [code]apply_impulse[/code] method is used.
</member>
- <member name="contact_monitor" type="bool" setter="set_contact_monitor" getter="is_contact_monitor_enabled">
+ <member name="contact_monitor" type="bool" setter="set_contact_monitor" getter="is_contact_monitor_enabled" default="false">
If [code]true[/code], the RigidBody will emit signals when it collides with another RigidBody.
</member>
- <member name="contacts_reported" type="int" setter="set_max_contacts_reported" getter="get_max_contacts_reported">
+ <member name="contacts_reported" type="int" setter="set_max_contacts_reported" getter="get_max_contacts_reported" default="0">
The maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0.
</member>
- <member name="continuous_cd" type="bool" setter="set_use_continuous_collision_detection" getter="is_using_continuous_collision_detection">
+ <member name="continuous_cd" type="bool" setter="set_use_continuous_collision_detection" getter="is_using_continuous_collision_detection" default="false">
If [code]true[/code], continuous collision detection is used.
- Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided. Continuous collision detection is more precise, and misses less impacts by small, fast-moving objects. Not using continuous collision detection is faster to compute, but can miss small, fast-moving objects.
+ Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided. Continuous collision detection is more precise, and misses fewer impacts by small, fast-moving objects. Not using continuous collision detection is faster to compute, but can miss small, fast-moving objects.
</member>
- <member name="custom_integrator" type="bool" setter="set_use_custom_integrator" getter="is_using_custom_integrator">
+ <member name="custom_integrator" type="bool" setter="set_use_custom_integrator" getter="is_using_custom_integrator" default="false">
If [code]true[/code], internal force integration will be disabled (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the [method _integrate_forces] function, if defined.
</member>
<member name="friction" type="float" setter="set_friction" getter="get_friction">
The body's friction, from 0 (frictionless) to 1 (max friction).
+ Deprecated, use [member PhysicsMaterial.friction] instead via [member physics_material_override].
</member>
- <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale">
- This is multiplied by the global 3D gravity setting found in "Project &gt; Project Settings &gt; Physics &gt; 3d" to produce RigidBody's gravity. E.g. a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object.
+ <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale" default="1.0">
+ This is multiplied by the global 3D gravity setting found in [b]Project &gt; Project Settings &gt; Physics &gt; 3d[/b] to produce RigidBody's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object.
</member>
- <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp">
- The body's linear damp. Default value: -1, cannot be less than -1. If this value is different from -1, any linear damp derived from the world or areas will be overridden.
+ <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="-1.0">
+ The body's linear damp. Cannot be less than -1.0. If this value is different from -1.0, any linear damp derived from the world or areas will be overridden.
</member>
- <member name="linear_velocity" type="Vector3" setter="set_linear_velocity" getter="get_linear_velocity">
- The body's linear velocity. Can be used sporadically, but [b]DON'T SET THIS IN EVERY FRAME[/b], because physics may run in another thread and runs at a different granularity. Use [method _integrate_forces] as your process loop for precise control of the body state.
+ <member name="linear_velocity" type="Vector3" setter="set_linear_velocity" getter="get_linear_velocity" default="Vector3( 0, 0, 0 )">
+ The body's linear velocity. Can be used sporadically, but [b]don't set this every frame[/b], because physics may run in another thread and runs at a different granularity. Use [method _integrate_forces] as your process loop for precise control of the body state.
</member>
- <member name="mass" type="float" setter="set_mass" getter="get_mass">
+ <member name="mass" type="float" setter="set_mass" getter="get_mass" default="1.0">
The body's mass.
</member>
- <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="RigidBody.Mode">
- The body mode from the MODE_* enum. Modes include: MODE_STATIC, MODE_KINEMATIC, MODE_RIGID, and MODE_CHARACTER.
+ <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="RigidBody.Mode" default="0">
+ The body mode. See [enum Mode] for possible values.
</member>
- <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override">
+ <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override" default="null">
</member>
- <member name="sleeping" type="bool" setter="set_sleeping" getter="is_sleeping">
+ <member name="sleeping" type="bool" setter="set_sleeping" getter="is_sleeping" default="false">
If [code]true[/code], the body is sleeping and will not calculate forces until woken up by a collision or the [code]apply_impulse[/code] method.
</member>
- <member name="weight" type="float" setter="set_weight" getter="get_weight">
- The body's weight based on its mass and the global 3D gravity. Global values are set in "Project &gt; Project Settings &gt; Physics &gt; 3d".
+ <member name="weight" type="float" setter="set_weight" getter="get_weight" default="9.8">
+ The body's weight based on its mass and the global 3D gravity. Global values are set in [b]Project &gt; Project Settings &gt; Physics &gt; 3d[/b].
</member>
</members>
<signals>
@@ -196,7 +199,7 @@
</argument>
<description>
Emitted when a body enters into contact with this one. Contact monitor and contacts reported must be enabled for this to work.
- This signal not only receives the body that collided with this one, but also its [RID] (body_id), the shape index from the colliding body (body_shape), and the shape index from this body (local_shape) the other body collided with.
+ This signal not only receives the body that collided with this one, but also its [RID] ([code]body_id[/code]), the shape index from the colliding body ([code]body_shape[/code]), and the shape index from this body ([code]local_shape[/code]) the other body collided with.
</description>
</signal>
<signal name="body_shape_exited">
@@ -210,7 +213,7 @@
</argument>
<description>
Emitted when a body shape exits contact with this one. Contact monitor and contacts reported must be enabled for this to work.
- This signal not only receives the body that stopped colliding with this one, but also its [RID] (body_id), the shape index from the colliding body (body_shape), and the shape index from this body (local_shape) the other body stopped colliding with.
+ This signal not only receives the body that stopped colliding with this one, but also its [RID] ([code]body_id[/code]), the shape index from the colliding body ([code]body_shape[/code]), and the shape index from this body ([code]local_shape[/code]) the other body stopped colliding with.
</description>
</signal>
<signal name="sleeping_state_changed">
diff --git a/doc/classes/RigidBody2D.xml b/doc/classes/RigidBody2D.xml
index 9a1802b515..907a82d51d 100644
--- a/doc/classes/RigidBody2D.xml
+++ b/doc/classes/RigidBody2D.xml
@@ -68,7 +68,7 @@
<argument index="1" name="impulse" type="Vector2">
</argument>
<description>
- Applies a positioned impulse to the body. An impulse is time independent! Applying an impulse every frame would result in a framerate dependent force. For this reason it should only be used when simulating one-time impacts (use the "_force" functions otherwise). The position uses the rotation of the global coordinate system, but is centered at the object's origin.
+ Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts (use the "_force" functions otherwise). The position uses the rotation of the global coordinate system, but is centered at the object's origin.
</description>
</method>
<method name="apply_torque_impulse">
@@ -84,7 +84,8 @@
<return type="Array">
</return>
<description>
- Returns a list of the bodies colliding with this one. Use [member contacts_reported] to set the maximum number reported. You must also set [member contact_monitor] to [code]true[/code]. Note that the result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
+ Returns a list of the bodies colliding with this one. Use [member contacts_reported] to set the maximum number reported. You must also set [member contact_monitor] to [code]true[/code].
+ [b]Note:[/b] The result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
</description>
</method>
<method name="set_axis_velocity">
@@ -113,65 +114,67 @@
</method>
</methods>
<members>
- <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp">
- Damps the body's [member angular_velocity]. If [code]-1[/code] the body will use the "Default Angular Damp" in "Project &gt; Project Settings &gt; Physics &gt; 2d". Default value: [code]-1[/code].
+ <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="-1.0">
+ Damps the body's [member angular_velocity]. If [code]-1[/code], the body will use the [b]Default Angular Damp[/b] defined in [b]Project &gt; Project Settings &gt; Physics &gt; 2d[/b].
</member>
- <member name="angular_velocity" type="float" setter="set_angular_velocity" getter="get_angular_velocity">
+ <member name="angular_velocity" type="float" setter="set_angular_velocity" getter="get_angular_velocity" default="0.0">
The body's rotational velocity.
</member>
- <member name="applied_force" type="Vector2" setter="set_applied_force" getter="get_applied_force">
+ <member name="applied_force" type="Vector2" setter="set_applied_force" getter="get_applied_force" default="Vector2( 0, 0 )">
The body's total applied force.
</member>
- <member name="applied_torque" type="float" setter="set_applied_torque" getter="get_applied_torque">
+ <member name="applied_torque" type="float" setter="set_applied_torque" getter="get_applied_torque" default="0.0">
The body's total applied torque.
</member>
<member name="bounce" type="float" setter="set_bounce" getter="get_bounce">
- The body's bounciness. Default value: [code]0[/code].
+ The body's bounciness. Values range from [code]0[/code] (no bounce) to [code]1[/code] (full bounciness).
+ Deprecated, use [member PhysicsMaterial.bounce] instead via [member physics_material_override].
</member>
- <member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep">
- If [code]true[/code], the body will not calculate forces and will act as a static body if there is no movement. The body will wake up when other forces are applied via collisions or by using [method apply_impulse] or [method add_force]. Default value: [code]true[/code].
+ <member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep" default="true">
+ If [code]true[/code], the body will not calculate forces and will act as a static body if there is no movement. The body will wake up when other forces are applied via collisions or by using [method apply_impulse] or [method add_force].
</member>
- <member name="contact_monitor" type="bool" setter="set_contact_monitor" getter="is_contact_monitor_enabled">
- If [code]true[/code], the body will emit signals when it collides with another RigidBody2D. See also [member contacts_reported]. Default value: [code]false[/code].
+ <member name="contact_monitor" type="bool" setter="set_contact_monitor" getter="is_contact_monitor_enabled" default="false">
+ If [code]true[/code], the body will emit signals when it collides with another RigidBody2D. See also [member contacts_reported].
</member>
- <member name="contacts_reported" type="int" setter="set_max_contacts_reported" getter="get_max_contacts_reported">
- The maximum number of contacts to report. Default value: [code]0[/code].
+ <member name="contacts_reported" type="int" setter="set_max_contacts_reported" getter="get_max_contacts_reported" default="0">
+ The maximum number of contacts to report.
</member>
- <member name="continuous_cd" type="int" setter="set_continuous_collision_detection_mode" getter="get_continuous_collision_detection_mode" enum="RigidBody2D.CCDMode">
- Continuous collision detection mode. Default value: [code]CCD_MODE_DISABLED[/code].
- Continuous collision detection tries to predict where a moving body will collide instead of moving it and correcting its movement after collision. Continuous collision detection is slower, but more precise and misses fewer collisions with small, fast-moving objects. Raycasting and shapecasting methods are available. See [code]CCD_MODE_[/code] constants for details.
+ <member name="continuous_cd" type="int" setter="set_continuous_collision_detection_mode" getter="get_continuous_collision_detection_mode" enum="RigidBody2D.CCDMode" default="0">
+ Continuous collision detection mode.
+ Continuous collision detection tries to predict where a moving body will collide instead of moving it and correcting its movement after collision. Continuous collision detection is slower, but more precise and misses fewer collisions with small, fast-moving objects. Raycasting and shapecasting methods are available. See [enum CCDMode] for details.
</member>
- <member name="custom_integrator" type="bool" setter="set_use_custom_integrator" getter="is_using_custom_integrator">
+ <member name="custom_integrator" type="bool" setter="set_use_custom_integrator" getter="is_using_custom_integrator" default="false">
If [code]true[/code], internal force integration is disabled for this body. Aside from collision response, the body will only move as determined by the [method _integrate_forces] function.
</member>
<member name="friction" type="float" setter="set_friction" getter="get_friction">
- The body's friction. Values range from [code]0[/code] (frictionless) to [code]1[/code] (maximum friction). Default value: [code]1[/code].
+ The body's friction. Values range from [code]0[/code] (frictionless) to [code]1[/code] (maximum friction).
+ Deprecated, use [member PhysicsMaterial.friction] instead via [member physics_material_override].
</member>
- <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale">
- Multiplies the gravity applied to the body. The body's gravity is calculated from the "Default Gravity" value in "Project &gt; Project Settings &gt; Physics &gt; 2d" and/or any additional gravity vector applied by [Area2D]s. Default value: [code]1[/code].
+ <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale" default="1.0">
+ Multiplies the gravity applied to the body. The body's gravity is calculated from the [b]Default Gravity[/b] value in [b]Project &gt; Project Settings &gt; Physics &gt; 2d[/b] and/or any additional gravity vector applied by [Area2D]s.
</member>
<member name="inertia" type="float" setter="set_inertia" getter="get_inertia">
The body's moment of inertia. This is like mass, but for rotation: it determines how much torque it takes to rotate the body. The moment of inertia is usually computed automatically from the mass and the shapes, but this function allows you to set a custom value. Set 0 (or negative) inertia to return to automatically computing it.
</member>
- <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp">
- Damps the body's [member linear_velocity]. If [code]-1[/code] the body will use the "Default Linear Damp" in "Project &gt; Project Settings &gt; Physics &gt; 2d". Default value: [code]-1[/code].
+ <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="-1.0">
+ Damps the body's [member linear_velocity]. If [code]-1[/code], the body will use the [b]Default Linear Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 2d[/b].
</member>
- <member name="linear_velocity" type="Vector2" setter="set_linear_velocity" getter="get_linear_velocity">
+ <member name="linear_velocity" type="Vector2" setter="set_linear_velocity" getter="get_linear_velocity" default="Vector2( 0, 0 )">
The body's linear velocity.
</member>
- <member name="mass" type="float" setter="set_mass" getter="get_mass">
- The body's mass. Default value: [code]1[/code].
+ <member name="mass" type="float" setter="set_mass" getter="get_mass" default="1.0">
+ The body's mass.
</member>
- <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="RigidBody2D.Mode">
- The body's mode. See [code]MODE_*[/code] constants. Default value: [code]MODE_RIGID[/code].
+ <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="RigidBody2D.Mode" default="0">
+ The body's mode. See [enum Mode] for possible values.
</member>
- <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override">
+ <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override" default="null">
</member>
- <member name="sleeping" type="bool" setter="set_sleeping" getter="is_sleeping">
+ <member name="sleeping" type="bool" setter="set_sleeping" getter="is_sleeping" default="false">
If [code]true[/code], the body is sleeping and will not calculate forces until woken up by a collision or by using [method apply_impulse] or [method add_force].
</member>
- <member name="weight" type="float" setter="set_weight" getter="get_weight">
- The body's weight based on its mass and the "Default Gravity" value in "Project &gt; Project Settings &gt; Physics &gt; 2d".
+ <member name="weight" type="float" setter="set_weight" getter="get_weight" default="9.8">
+ The body's weight based on its mass and the [b]Default Gravity[/b] value in [b]Project &gt; Project Settings &gt; Physics &gt; 2d[/b].
</member>
</members>
<signals>
@@ -229,7 +232,7 @@
Static mode. The body behaves like a [StaticBody2D] and does not move.
</constant>
<constant name="MODE_CHARACTER" value="2" enum="Mode">
- Character mode. Similar to [code]MODE_RIGID[/code], but the body can not rotate.
+ Character mode. Similar to [constant MODE_RIGID], but the body can not rotate.
</constant>
<constant name="MODE_KINEMATIC" value="3" enum="Mode">
Kinematic mode. The body behaves like a [KinematicBody2D], and must be moved by code.
diff --git a/doc/classes/SceneState.xml b/doc/classes/SceneState.xml
index 34a28b5d1c..3bd958bfd4 100644
--- a/doc/classes/SceneState.xml
+++ b/doc/classes/SceneState.xml
@@ -5,6 +5,7 @@
</brief_description>
<description>
Maintains a list of resources, nodes, exported, and overridden properties, and built-in scripts associated with a scene.
+ This class cannot be instantiated directly, it is retrieved for a given scene as the result of [method PackedScene.get_state].
</description>
<tutorials>
</tutorials>
@@ -23,6 +24,7 @@
</return>
<description>
Returns the number of signal connections in the scene.
+ The [code]idx[/code] argument used to query connection metadata in other [code]get_connection_*[/code] methods in the interval [code][0, get_connection_count() - 1][/code].
</description>
</method>
<method name="get_connection_flags" qualifiers="const">
@@ -31,7 +33,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the flags for the signal at [code]idx[/code]. See [Object]'s [code]CONNECT_*[/code] flags.
+ Returns the connection flags for the signal at [code]idx[/code]. See [enum Object.ConnectFlags] constants.
</description>
</method>
<method name="get_connection_method" qualifiers="const">
@@ -75,6 +77,7 @@
</return>
<description>
Returns the number of nodes in the scene.
+ The [code]idx[/code] argument used to query node data in other [code]get_node_*[/code] methods in the interval [code][0, get_node_count() - 1][/code].
</description>
</method>
<method name="get_node_groups" qualifiers="const">
@@ -92,6 +95,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
+ Returns the node's index, which is its position relative to its siblings. This is only relevant and saved in scenes for cases where new nodes are added to an instanced or inherited scene among siblings from the base scene. Despite the name, this index is not related to the [code]idx[/code] argument used here and in other methods.
</description>
</method>
<method name="get_node_instance" qualifiers="const">
@@ -100,7 +104,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Returns the scene for the node at [code]idx[/code] or [code]null[/code] if the node is not an instance.
+ Returns a [PackedScene] for the node at [code]idx[/code] (i.e. the whole branch starting at this node, with its child nodes and resources), or [code]null[/code] if the node is not an instance.
</description>
</method>
<method name="get_node_instance_placeholder" qualifiers="const">
@@ -139,6 +143,7 @@
</argument>
<description>
Returns the path to the node at [code]idx[/code].
+ If [code]for_parent[/code] is [code]true[/code], returns the path of the [code]idx[/code] node's parent instead.
</description>
</method>
<method name="get_node_property_count" qualifiers="const">
@@ -148,6 +153,7 @@
</argument>
<description>
Returns the number of exported or overridden properties for the node at [code]idx[/code].
+ The [code]prop_idx[/code] argument used to query node property data in other [code]get_node_property_*[/code] methods in the interval [code][0, get_node_property_count() - 1][/code].
</description>
</method>
<method name="get_node_property_name" qualifiers="const">
@@ -196,10 +202,12 @@
If passed to [method PackedScene.instance], blocks edits to the scene state.
</constant>
<constant name="GEN_EDIT_STATE_INSTANCE" value="1" enum="GenEditState">
- If passed to [method PackedScene.instance], provides inherited scene resources to the local scene. Requires tools compiled.
+ If passed to [method PackedScene.instance], provides inherited scene resources to the local scene.
+ [b]Note:[/b] Only available in editor builds.
</constant>
<constant name="GEN_EDIT_STATE_MAIN" value="2" enum="GenEditState">
- If passed to [method PackedScene.instance], provides local scene resources to the local scene. Only the main scene should receive the main edit state. Requires tools compiled.
+ If passed to [method PackedScene.instance], provides local scene resources to the local scene. Only the main scene should receive the main edit state.
+ [b]Note:[/b] Only available in editor builds.
</constant>
</constants>
</class>
diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml
index a236d776c7..1302c1e6bf 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -1,10 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SceneTree" inherits="MainLoop" category="Core" version="3.2">
<brief_description>
- SceneTree manages a hierarchy of nodes.
+ Manages the game loop via a hierarchy of nodes.
</brief_description>
<description>
- As one of the most important classes, the [SceneTree] manages the hierarchy of nodes in a scene as well as scenes themselves. Nodes can be added, retrieved and removed. The whole scene tree (and thus the current scene) can be paused. Scenes can be loaded, switched and reloaded. You can also use the SceneTree to organize your nodes into groups: every node can be assigned as many groups as you want to create, e.g. a "enemy" group. You can then iterate these groups or even call methods and set properties on all the group's members at once.
+ As one of the most important classes, the [SceneTree] manages the hierarchy of nodes in a scene as well as scenes themselves. Nodes can be added, retrieved and removed. The whole scene tree (and thus the current scene) can be paused. Scenes can be loaded, switched and reloaded.
+ You can also use the [SceneTree] to organize your nodes into groups: every node can be assigned as many groups as you want to create, e.g. a "enemy" group. You can then iterate these groups or even call methods and set properties on all the group's members at once.
+ [SceneTree] is the default [MainLoop] implementation used by scenes, and is thus in charge of the game loop.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/getting_started/step_by_step/scene_tree.html</link>
@@ -41,7 +43,8 @@
<argument index="0" name="path" type="String">
</argument>
<description>
- Changes to the scene at the given [code]path[/code].
+ Changes the running scene to the one at the given [code]path[/code], after loading it into a [PackedScene] and creating a new instance.
+ Returns [constant OK] on success, [constant ERR_CANT_OPEN] if the [code]path[/code] cannot be loaded into a [PackedScene], or [constant ERR_CANT_CREATE] if that scene cannot be instantiated.
</description>
</method>
<method name="change_scene_to">
@@ -50,7 +53,8 @@
<argument index="0" name="packed_scene" type="PackedScene">
</argument>
<description>
- Changes to the given [PackedScene].
+ Changes the running scene to a new instance of the given [PackedScene].
+ Returns [constant OK] on success or [constant ERR_CANT_CREATE] if the scene cannot be instantiated.
</description>
</method>
<method name="create_timer">
@@ -61,7 +65,7 @@
<argument index="1" name="pause_mode_process" type="bool" default="true">
</argument>
<description>
- Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after the given time in seconds elapsed in this SceneTree. If [code]pause_mode_process[/code] is set to [code]false[/code], pausing the SceneTree will also pause the timer.
+ Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after the given time in seconds elapsed in this [SceneTree]. If [code]pause_mode_process[/code] is set to [code]false[/code], pausing the [SceneTree] will also pause the timer.
Commonly used to create a one-shot delay timer as in the following example:
[codeblock]
func some_function():
@@ -75,28 +79,28 @@
<return type="int">
</return>
<description>
- Returns the current frame, i.e. number of frames since the application started.
+ Returns the current frame number, i.e. the total frame count since the application started.
</description>
</method>
<method name="get_network_connected_peers" qualifiers="const">
<return type="PoolIntArray">
</return>
<description>
- Returns the peer IDs of all connected peers of this SceneTree's [member network_peer].
+ Returns the peer IDs of all connected peers of this [SceneTree]'s [member network_peer].
</description>
</method>
<method name="get_network_unique_id" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the unique peer ID of this SceneTree's [member network_peer].
+ Returns the unique peer ID of this [SceneTree]'s [member network_peer].
</description>
</method>
<method name="get_node_count" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the number of nodes in this SceneTree.
+ Returns the number of nodes in this [SceneTree].
</description>
</method>
<method name="get_nodes_in_group">
@@ -105,7 +109,7 @@
<argument index="0" name="group" type="String">
</argument>
<description>
- Returns all nodes assigned to the given group.
+ Returns a list of all nodes assigned to the given group.
</description>
</method>
<method name="get_rpc_sender_id" qualifiers="const">
@@ -135,14 +139,14 @@
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if the most recent InputEvent was marked as handled with [method set_input_as_handled].
+ Returns [code]true[/code] if the most recent [InputEvent] was marked as handled with [method set_input_as_handled].
</description>
</method>
<method name="is_network_server" qualifiers="const">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if this SceneTree's [member network_peer] is in server mode (listening for connections).
+ Returns [code]true[/code] if this [SceneTree]'s [member network_peer] is in server mode (listening for connections).
</description>
</method>
<method name="notify_group">
@@ -190,6 +194,7 @@
</return>
<description>
Reloads the currently active scene.
+ Returns an [enum Error] code as described in [method change_scene], with the addition of [constant ERR_UNCONFIGURED] if no [member current_scene] was defined yet.
</description>
</method>
<method name="set_auto_accept_quit">
@@ -198,7 +203,7 @@
<argument index="0" name="enabled" type="bool">
</argument>
<description>
- If [code]true[/code], the application automatically accepts quitting.
+ If [code]true[/code], the application automatically accepts quitting. Enabled by default.
</description>
</method>
<method name="set_group">
@@ -233,7 +238,7 @@
<return type="void">
</return>
<description>
- Marks the most recent input event as handled.
+ Marks the most recent [InputEvent] as handled.
</description>
</method>
<method name="set_quit_on_go_back">
@@ -242,7 +247,7 @@
<argument index="0" name="enabled" type="bool">
</argument>
<description>
- If [code]true[/code], the application quits automatically on going back (e.g. on Android).
+ If [code]true[/code], the application quits automatically on going back (e.g. on Android). Enabled by default.
</description>
</method>
<method name="set_screen_stretch">
@@ -257,7 +262,7 @@
<argument index="3" name="shrink" type="float" default="1">
</argument>
<description>
- Configures screen stretching to the given [enum StretchMode], [enum StretchAspect], minimum size and [code]shrink[/code].
+ Configures screen stretching to the given [enum StretchMode], [enum StretchAspect], minimum size and [code]shrink[/code] ratio.
</description>
</method>
</methods>
@@ -265,49 +270,49 @@
<member name="current_scene" type="Node" setter="set_current_scene" getter="get_current_scene">
The current scene.
</member>
- <member name="debug_collisions_hint" type="bool" setter="set_debug_collisions_hint" getter="is_debugging_collisions_hint">
+ <member name="debug_collisions_hint" type="bool" setter="set_debug_collisions_hint" getter="is_debugging_collisions_hint" default="false">
+ If [code]true[/code], collision shapes will be visible when running the game from the editor for debugging purposes.
</member>
- <member name="debug_navigation_hint" type="bool" setter="set_debug_navigation_hint" getter="is_debugging_navigation_hint">
+ <member name="debug_navigation_hint" type="bool" setter="set_debug_navigation_hint" getter="is_debugging_navigation_hint" default="false">
+ If [code]true[/code], navigation polygons will be visible when running the game from the editor for debugging purposes.
</member>
<member name="edited_scene_root" type="Node" setter="set_edited_scene_root" getter="get_edited_scene_root">
The root of the edited scene.
</member>
<member name="multiplayer" type="MultiplayerAPI" setter="set_multiplayer" getter="get_multiplayer">
- The default [MultiplayerAPI] instance for this SceneTree.
+ The default [MultiplayerAPI] instance for this [SceneTree].
</member>
- <member name="multiplayer_poll" type="bool" setter="set_multiplayer_poll_enabled" getter="is_multiplayer_poll_enabled">
- If [code]true[/code], (default) enable the automatic polling of the [MultiplayerAPI] for this SceneTree during [signal idle_frame].
- When [code]false[/code] you need to manually call [method MultiplayerAPI.poll] for processing network packets and delivering RPCs/RSETs. This allows to run RPCs/RSETs in a different loop (e.g. physics, thread, specific time step) and for manual [Mutex] protection when accessing the [MultiplayerAPI] from threads.
+ <member name="multiplayer_poll" type="bool" setter="set_multiplayer_poll_enabled" getter="is_multiplayer_poll_enabled" default="true">
+ If [code]true[/code] (default value), enables automatic polling of the [MultiplayerAPI] for this SceneTree during [signal idle_frame].
+ If [code]false[/code], you need to manually call [method MultiplayerAPI.poll] to process network packets and deliver RPCs/RSETs. This allows running RPCs/RSETs in a different loop (e.g. physics, thread, specific time step) and for manual [Mutex] protection when accessing the [MultiplayerAPI] from threads.
</member>
<member name="network_peer" type="NetworkedMultiplayerPeer" setter="set_network_peer" getter="get_network_peer">
- The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the SceneTree will become a network server (check with [method is_network_server]) and will set root node's network mode to master (see NETWORK_MODE_* constants in [Node]), or it will become a regular peer with root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to SceneTree's signals.
+ The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the [SceneTree] will become a network server (check with [method is_network_server]) and will set the root node's network mode to master (see [code]NETWORK_MODE_*[/code] constants in [Node]), or it will become a regular peer with the root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to [SceneTree]'s signals.
</member>
- <member name="paused" type="bool" setter="set_pause" getter="is_paused">
- If [code]true[/code], the SceneTree is paused.
- Doing so will have the following behavior:
- * 2D and 3D physics will be stopped.
- * _process and _physics_process will not be called anymore in nodes.
- * _input and _input_event will not be called anymore either.
+ <member name="paused" type="bool" setter="set_pause" getter="is_paused" default="false">
+ If [code]true[/code], the [SceneTree] is paused. Doing so will have the following behavior:
+ - 2D and 3D physics will be stopped.
+ - [method Node._process], [method Node._physics_process] and [method Node._input] will not be called anymore in nodes.
</member>
- <member name="refuse_new_network_connections" type="bool" setter="set_refuse_new_network_connections" getter="is_refusing_new_network_connections">
- If [code]true[/code], the SceneTree's [member network_peer] refuses new incoming connections.
+ <member name="refuse_new_network_connections" type="bool" setter="set_refuse_new_network_connections" getter="is_refusing_new_network_connections" default="false">
+ If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new incoming connections.
</member>
<member name="root" type="Viewport" setter="" getter="get_root">
- The SceneTree's [Viewport].
+ The [SceneTree]'s root [Viewport].
</member>
- <member name="use_font_oversampling" type="bool" setter="set_use_font_oversampling" getter="is_using_font_oversampling">
+ <member name="use_font_oversampling" type="bool" setter="set_use_font_oversampling" getter="is_using_font_oversampling" default="false">
If [code]true[/code], font oversampling is used.
</member>
</members>
<signals>
<signal name="connected_to_server">
<description>
- Emitted whenever this SceneTree's [member network_peer] successfully connected to a server. Only emitted on clients.
+ Emitted whenever this [SceneTree]'s [member network_peer] successfully connected to a server. Only emitted on clients.
</description>
</signal>
<signal name="connection_failed">
<description>
- Emitted whenever this SceneTree's [member network_peer] fails to establish a connection to a server. Only emitted on clients.
+ Emitted whenever this [SceneTree]'s [member network_peer] fails to establish a connection to a server. Only emitted on clients.
</description>
</signal>
<signal name="files_dropped">
@@ -316,73 +321,74 @@
<argument index="1" name="screen" type="int">
</argument>
<description>
- Emitted whenever files are drag-and-dropped onto the window.
+ Emitted when files are dragged from the OS file manager and dropped in the game window. The arguments are a list of file paths and the identifier of the screen where the drag originated.
</description>
</signal>
<signal name="idle_frame">
<description>
- Emitted immediately before [method Node._process] is called on every node in the SceneTree.
+ Emitted immediately before [method Node._process] is called on every node in the [SceneTree].
</description>
</signal>
<signal name="network_peer_connected">
<argument index="0" name="id" type="int">
</argument>
<description>
- Emitted whenever this SceneTree's [member network_peer] connects with a new peer. ID is the peer ID of the new peer. Clients get notified when other clients connect to the same server. Upon connecting to a server, a client also receives this signal for the server (with ID being 1).
+ Emitted whenever this [SceneTree]'s [member network_peer] connects with a new peer. ID is the peer ID of the new peer. Clients get notified when other clients connect to the same server. Upon connecting to a server, a client also receives this signal for the server (with ID being 1).
</description>
</signal>
<signal name="network_peer_disconnected">
<argument index="0" name="id" type="int">
</argument>
<description>
- Emitted whenever this SceneTree's [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server.
+ Emitted whenever this [SceneTree]'s [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server.
</description>
</signal>
<signal name="node_added">
<argument index="0" name="node" type="Node">
</argument>
<description>
- Emitted whenever a node is added to the SceneTree.
+ Emitted whenever a node is added to the [SceneTree].
</description>
</signal>
<signal name="node_configuration_warning_changed">
<argument index="0" name="node" type="Node">
</argument>
<description>
- Emitted when a node's configuration changed. Only emitted in tool mode.
+ Emitted when a node's configuration changed. Only emitted in [code]tool[/code] mode.
</description>
</signal>
<signal name="node_removed">
<argument index="0" name="node" type="Node">
</argument>
<description>
- Emitted whenever a node is removed from the SceneTree.
+ Emitted whenever a node is removed from the [SceneTree].
</description>
</signal>
<signal name="node_renamed">
<argument index="0" name="node" type="Node">
</argument>
<description>
+ Emitted whenever a node is renamed.
</description>
</signal>
<signal name="physics_frame">
<description>
- Emitted immediately before [method Node._physics_process] is called on every node in the SceneTree.
+ Emitted immediately before [method Node._physics_process] is called on every node in the [SceneTree].
</description>
</signal>
<signal name="screen_resized">
<description>
- Emitted whenever the screen resolution (fullscreen) or window size (windowed) changes.
+ Emitted when the screen resolution (fullscreen) or window size (windowed) changes.
</description>
</signal>
<signal name="server_disconnected">
<description>
- Emitted whenever this SceneTree's [member network_peer] disconnected from server. Only emitted on clients.
+ Emitted whenever this [SceneTree]'s [member network_peer] disconnected from server. Only emitted on clients.
</description>
</signal>
<signal name="tree_changed">
<description>
- Emitted whenever the SceneTree hierarchy changed (children being moved or renamed, etc.).
+ Emitted whenever the [SceneTree] hierarchy changed (children being moved or renamed, etc.).
</description>
</signal>
</signals>
@@ -409,10 +415,10 @@
Keep the specified display resolution. No interpolation. Content may appear pixelated.
</constant>
<constant name="STRETCH_ASPECT_IGNORE" value="0" enum="StretchAspect">
- Fill the window with the content stretched to cover excessive space. Content may appear elongated.
+ Fill the window with the content stretched to cover excessive space. Content may appear stretched.
</constant>
<constant name="STRETCH_ASPECT_KEEP" value="1" enum="StretchAspect">
- Retain the same aspect ratio by padding with black bars in either axes. No expansion of content.
+ Retain the same aspect ratio by padding with black bars on either axis. This prevents distortion.
</constant>
<constant name="STRETCH_ASPECT_KEEP_WIDTH" value="2" enum="StretchAspect">
Expand vertically. Left/right black bars may appear if the window is too wide.
@@ -421,7 +427,7 @@
Expand horizontally. Top/bottom black bars may appear if the window is too tall.
</constant>
<constant name="STRETCH_ASPECT_EXPAND" value="4" enum="StretchAspect">
- Expand in both directions, retaining the same aspect ratio. No black bars.
+ Expand in both directions, retaining the same aspect ratio. This prevents distortion while avoiding black bars.
</constant>
</constants>
</class>
diff --git a/doc/classes/ScriptCreateDialog.xml b/doc/classes/ScriptCreateDialog.xml
index b2c2d0f060..def2fa944a 100644
--- a/doc/classes/ScriptCreateDialog.xml
+++ b/doc/classes/ScriptCreateDialog.xml
@@ -7,8 +7,8 @@
The [ScriptCreateDialog] creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the [method Popup.popup] methods.
[codeblock]
func _ready():
- dialog.config("Node", "res://new_node.gd") # for in-engine types
- dialog.config("\"res://base_node.gd\"", "res://derived_node.gd") # for script types
+ dialog.config("Node", "res://new_node.gd") # For in-engine types
+ dialog.config("\"res://base_node.gd\"", "res://derived_node.gd") # For script types
dialog.popup_centered()
[/codeblock]
</description>
diff --git a/doc/classes/ScrollBar.xml b/doc/classes/ScrollBar.xml
index 8b8314d2c8..29bc85cc56 100644
--- a/doc/classes/ScrollBar.xml
+++ b/doc/classes/ScrollBar.xml
@@ -4,20 +4,20 @@
Base class for scroll bars.
</brief_description>
<description>
- Scrollbars are a [Range] based [Control], that display a draggable area (the size of the page). Horizontal ([HScrollBar]) and Vertical ([VScrollBar]) versions are available.
+ Scrollbars are a [Range]-based [Control], that display a draggable area (the size of the page). Horizontal ([HScrollBar]) and Vertical ([VScrollBar]) versions are available.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="custom_step" type="float" setter="set_custom_step" getter="get_custom_step">
+ <member name="custom_step" type="float" setter="set_custom_step" getter="get_custom_step" default="-1.0">
</member>
</members>
<signals>
<signal name="scrolling">
<description>
- Emitted whenever the scrollbar is being scrolled.
+ Emitted when the scrollbar is being scrolled.
</description>
</signal>
</signals>
diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml
index 7d7dfe167a..59e8d566cf 100644
--- a/doc/classes/ScrollContainer.xml
+++ b/doc/classes/ScrollContainer.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ScrollContainer" inherits="Container" category="Core" version="3.2">
<brief_description>
- A helper node for displaying scrollable elements (e.g. lists).
+ A helper node for displaying scrollable elements such as lists.
</brief_description>
<description>
- A ScrollContainer node meant to contain a [Control] child. ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the minimum_size of the Control relative to the ScrollContainer. Works great with a [Panel] control. You can set EXPAND on children size flags, so they will upscale to ScrollContainer size if ScrollContainer size is bigger (scroll is invisible for chosen dimension).
+ A ScrollContainer node meant to contain a [Control] child. ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.rect_min_size] of the Control relative to the ScrollContainer. Works great with a [Panel] control. You can set [code]EXPAND[/code] on the children's size flags, so they will upscale to the ScrollContainer's size if it's larger (scroll is invisible for the chosen dimension).
</description>
<tutorials>
</tutorials>
@@ -23,30 +23,30 @@
</method>
</methods>
<members>
- <member name="scroll_deadzone" type="int" setter="set_deadzone" getter="get_deadzone">
+ <member name="scroll_deadzone" type="int" setter="set_deadzone" getter="get_deadzone" default="0">
</member>
- <member name="scroll_horizontal" type="int" setter="set_h_scroll" getter="get_h_scroll">
+ <member name="scroll_horizontal" type="int" setter="set_h_scroll" getter="get_h_scroll" default="0">
The current horizontal scroll value.
</member>
- <member name="scroll_horizontal_enabled" type="bool" setter="set_enable_h_scroll" getter="is_h_scroll_enabled">
+ <member name="scroll_horizontal_enabled" type="bool" setter="set_enable_h_scroll" getter="is_h_scroll_enabled" default="true">
If [code]true[/code], enables horizontal scrolling.
</member>
- <member name="scroll_vertical" type="int" setter="set_v_scroll" getter="get_v_scroll">
+ <member name="scroll_vertical" type="int" setter="set_v_scroll" getter="get_v_scroll" default="0">
The current vertical scroll value.
</member>
- <member name="scroll_vertical_enabled" type="bool" setter="set_enable_v_scroll" getter="is_v_scroll_enabled">
+ <member name="scroll_vertical_enabled" type="bool" setter="set_enable_v_scroll" getter="is_v_scroll_enabled" default="true">
If [code]true[/code], enables vertical scrolling.
</member>
</members>
<signals>
<signal name="scroll_ended">
<description>
- Emitted whenever scrolling stops.
+ Emitted when scrolling stops.
</description>
</signal>
<signal name="scroll_started">
<description>
- Emitted whenever scrolling is started.
+ Emitted when scrolling is started.
</description>
</signal>
</signals>
diff --git a/doc/classes/SegmentShape2D.xml b/doc/classes/SegmentShape2D.xml
index af2392787c..e9e9d01a42 100644
--- a/doc/classes/SegmentShape2D.xml
+++ b/doc/classes/SegmentShape2D.xml
@@ -11,10 +11,10 @@
<methods>
</methods>
<members>
- <member name="a" type="Vector2" setter="set_a" getter="get_a">
+ <member name="a" type="Vector2" setter="set_a" getter="get_a" default="Vector2( 0, 0 )">
The segment's first point position.
</member>
- <member name="b" type="Vector2" setter="set_b" getter="get_b">
+ <member name="b" type="Vector2" setter="set_b" getter="get_b" default="Vector2( 0, 10 )">
The segment's second point position.
</member>
</members>
diff --git a/doc/classes/Semaphore.xml b/doc/classes/Semaphore.xml
index dadb445d4b..7aee5c2951 100644
--- a/doc/classes/Semaphore.xml
+++ b/doc/classes/Semaphore.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Semaphore" inherits="Reference" category="Core" version="3.2">
<brief_description>
- A synchronization Semaphore.
+ A synchronization semaphore.
</brief_description>
<description>
- A synchronization Semaphore. Element used to synchronize multiple [Thread]s. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see [Mutex].
+ A synchronization semaphore which can be used to synchronize multiple [Thread]s. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see [Mutex].
</description>
<tutorials>
</tutorials>
@@ -13,14 +13,14 @@
<return type="int" enum="Error">
</return>
<description>
- Lowers the [Semaphore], allowing one more thread in. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise.
+ Lowers the [Semaphore], allowing one more thread in. Returns [constant OK] on success, [constant ERR_BUSY] otherwise.
</description>
</method>
<method name="wait">
<return type="int" enum="Error">
</return>
<description>
- Tries to wait for the [Semaphore], if its value is zero, blocks until non-zero. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise.
+ Tries to wait for the [Semaphore], if its value is zero, blocks until non-zero. Returns [constant OK] on success, [constant ERR_BUSY] otherwise.
</description>
</method>
</methods>
diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml
index 668fb6bafa..be9509fda5 100644
--- a/doc/classes/Shader.xml
+++ b/doc/classes/Shader.xml
@@ -22,7 +22,7 @@
<return type="int" enum="Shader.Mode">
</return>
<description>
- Returns the shader mode for the shader, either [code]MODE_CANVAS_ITEM[/code], [code]MODE_SPATIAL[/code] or [code]MODE_PARTICLES[/code]
+ Returns the shader mode for the shader, either [constant MODE_CANVAS_ITEM], [constant MODE_SPATIAL] or [constant MODE_PARTICLES]
</description>
</method>
<method name="has_param" qualifiers="const">
@@ -45,7 +45,7 @@
</method>
</methods>
<members>
- <member name="code" type="String" setter="set_code" getter="get_code">
+ <member name="code" type="String" setter="set_code" getter="get_code" default="&quot;&quot;">
</member>
</members>
<constants>
diff --git a/doc/classes/ShaderMaterial.xml b/doc/classes/ShaderMaterial.xml
index ef355c4417..01d9055569 100644
--- a/doc/classes/ShaderMaterial.xml
+++ b/doc/classes/ShaderMaterial.xml
@@ -48,7 +48,7 @@
</method>
</methods>
<members>
- <member name="shader" type="Shader" setter="set_shader" getter="get_shader">
+ <member name="shader" type="Shader" setter="set_shader" getter="get_shader" default="null">
The [Shader] program used to render this material.
</member>
</members>
diff --git a/doc/classes/Shape.xml b/doc/classes/Shape.xml
index d622ff1cf2..ce5947bc06 100644
--- a/doc/classes/Shape.xml
+++ b/doc/classes/Shape.xml
@@ -12,7 +12,7 @@
<methods>
</methods>
<members>
- <member name="margin" type="float" setter="set_margin" getter="get_margin">
+ <member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.04">
</member>
</members>
<constants>
diff --git a/doc/classes/Shape2D.xml b/doc/classes/Shape2D.xml
index c887e23de0..2c3120f04d 100644
--- a/doc/classes/Shape2D.xml
+++ b/doc/classes/Shape2D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Shape2D" inherits="Resource" category="Core" version="3.2">
<brief_description>
- Base class for all 2D Shapes.
+ Base class for all 2D shapes.
</brief_description>
<description>
- Base class for all 2D Shapes. All 2D shape types inherit from this.
+ Base class for all 2D shapes. All 2D shape types inherit from this.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html</link>
@@ -76,7 +76,7 @@
</method>
</methods>
<members>
- <member name="custom_solver_bias" type="float" setter="set_custom_solver_bias" getter="get_custom_solver_bias">
+ <member name="custom_solver_bias" type="float" setter="set_custom_solver_bias" getter="get_custom_solver_bias" default="0.0">
</member>
</members>
<constants>
diff --git a/doc/classes/ShortCut.xml b/doc/classes/ShortCut.xml
index 4c5dc0e77b..44a10ba598 100644
--- a/doc/classes/ShortCut.xml
+++ b/doc/classes/ShortCut.xml
@@ -35,7 +35,7 @@
</method>
</methods>
<members>
- <member name="shortcut" type="InputEvent" setter="set_shortcut" getter="get_shortcut">
+ <member name="shortcut" type="InputEvent" setter="set_shortcut" getter="get_shortcut" default="null">
The shortcut's [InputEvent].
Generally the [InputEvent] is a keyboard key, though it can be any [InputEvent].
</member>
diff --git a/doc/classes/Skeleton.xml b/doc/classes/Skeleton.xml
index b693ee0a5e..b1e71ee924 100644
--- a/doc/classes/Skeleton.xml
+++ b/doc/classes/Skeleton.xml
@@ -17,7 +17,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Add a bone, with name "name". [method get_bone_count] will become the bone index.
+ Adds a bone, with name [code]name[/code]. [method get_bone_count] will become the bone index.
</description>
</method>
<method name="bind_child_node_to_bone">
@@ -28,7 +28,7 @@
<argument index="1" name="node" type="Node">
</argument>
<description>
- Deprecated soon.
+ [i]Deprecated soon.[/i]
</description>
</method>
<method name="clear_bones">
@@ -44,7 +44,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Returns the bone index that matches "name" as its name.
+ Returns the bone index that matches [code]name[/code] as its name.
</description>
</method>
<method name="get_bone_count" qualifiers="const">
@@ -78,7 +78,7 @@
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
- Returns the name of the bone at index "index".
+ Returns the name of the bone at index [code]index[/code].
</description>
</method>
<method name="get_bone_parent" qualifiers="const">
@@ -87,7 +87,8 @@
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
- Returns the bone index which is the parent of the bone at "bone_idx". If -1, then bone has no parent. Note that the parent bone returned will always be less than "bone_idx".
+ Returns the bone index which is the parent of the bone at [code]bone_idx[/code]. If -1, then bone has no parent.
+ [b]Note:[/b] The parent bone returned will always be less than [code]bone_idx[/code].
</description>
</method>
<method name="get_bone_pose" qualifiers="const">
@@ -105,7 +106,7 @@
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
- Returns the rest transform for a bone "bone_idx".
+ Returns the rest transform for a bone [code]bone_idx[/code].
</description>
</method>
<method name="get_bone_transform" qualifiers="const">
@@ -123,7 +124,7 @@
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
- Deprecated soon.
+ [i]Deprecated soon.[/i]
</description>
</method>
<method name="is_bone_rest_disabled" qualifiers="const">
@@ -218,7 +219,8 @@
<argument index="1" name="parent_idx" type="int">
</argument>
<description>
- Set the bone index "parent_idx" as the parent of the bone at "bone_idx". If -1, then bone has no parent. Note: "parent_idx" must be less than "bone_idx".
+ Sets the bone index [code]parent_idx[/code] as the parent of the bone at [code]bone_idx[/code]. If -1, then bone has no parent.
+ [b]Note:[/b] [code]parent_idx[/code] must be less than [code]bone_idx[/code].
</description>
</method>
<method name="set_bone_pose">
@@ -229,7 +231,7 @@
<argument index="1" name="pose" type="Transform">
</argument>
<description>
- Returns the pose transform for bone "bone_idx".
+ Returns the pose transform for bone [code]bone_idx[/code].
</description>
</method>
<method name="set_bone_rest">
@@ -240,7 +242,7 @@
<argument index="1" name="rest" type="Transform">
</argument>
<description>
- Set the rest transform for bone "bone_idx"
+ Sets the rest transform for bone [code]bone_idx[/code].
</description>
</method>
<method name="unbind_child_node_from_bone">
@@ -251,7 +253,7 @@
<argument index="1" name="node" type="Node">
</argument>
<description>
- Deprecated soon.
+ [i]Deprecated soon.[/i]
</description>
</method>
<method name="unparent_bone_and_rest">
@@ -264,7 +266,7 @@
</method>
</methods>
<members>
- <member name="bones_in_world_transform" type="bool" setter="set_use_bones_in_world_transform" getter="is_using_bones_in_world_transform">
+ <member name="bones_in_world_transform" type="bool" setter="set_use_bones_in_world_transform" getter="is_using_bones_in_world_transform" default="false">
</member>
</members>
<constants>
diff --git a/doc/classes/SkeletonIK.xml b/doc/classes/SkeletonIK.xml
index 42c7759c1f..2f35826cc7 100644
--- a/doc/classes/SkeletonIK.xml
+++ b/doc/classes/SkeletonIK.xml
@@ -35,25 +35,25 @@
</method>
</methods>
<members>
- <member name="interpolation" type="float" setter="set_interpolation" getter="get_interpolation">
+ <member name="interpolation" type="float" setter="set_interpolation" getter="get_interpolation" default="1.0">
</member>
- <member name="magnet" type="Vector3" setter="set_magnet_position" getter="get_magnet_position">
+ <member name="magnet" type="Vector3" setter="set_magnet_position" getter="get_magnet_position" default="Vector3( 0, 0, 0 )">
</member>
- <member name="max_iterations" type="int" setter="set_max_iterations" getter="get_max_iterations">
+ <member name="max_iterations" type="int" setter="set_max_iterations" getter="get_max_iterations" default="10">
</member>
- <member name="min_distance" type="float" setter="set_min_distance" getter="get_min_distance">
+ <member name="min_distance" type="float" setter="set_min_distance" getter="get_min_distance" default="0.01">
</member>
- <member name="override_tip_basis" type="bool" setter="set_override_tip_basis" getter="is_override_tip_basis">
+ <member name="override_tip_basis" type="bool" setter="set_override_tip_basis" getter="is_override_tip_basis" default="true">
</member>
- <member name="root_bone" type="String" setter="set_root_bone" getter="get_root_bone">
+ <member name="root_bone" type="String" setter="set_root_bone" getter="get_root_bone" default="&quot;&quot;">
</member>
- <member name="target" type="Transform" setter="set_target_transform" getter="get_target_transform">
+ <member name="target" type="Transform" setter="set_target_transform" getter="get_target_transform" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
</member>
- <member name="target_node" type="NodePath" setter="set_target_node" getter="get_target_node">
+ <member name="target_node" type="NodePath" setter="set_target_node" getter="get_target_node" default="NodePath(&quot;&quot;)">
</member>
- <member name="tip_bone" type="String" setter="set_tip_bone" getter="get_tip_bone">
+ <member name="tip_bone" type="String" setter="set_tip_bone" getter="get_tip_bone" default="&quot;&quot;">
</member>
- <member name="use_magnet" type="bool" setter="set_use_magnet" getter="is_using_magnet">
+ <member name="use_magnet" type="bool" setter="set_use_magnet" getter="is_using_magnet" default="false">
</member>
</members>
<constants>
diff --git a/doc/classes/Sky.xml b/doc/classes/Sky.xml
index ffd8c3fdee..398a988d9e 100644
--- a/doc/classes/Sky.xml
+++ b/doc/classes/Sky.xml
@@ -11,36 +11,35 @@
<methods>
</methods>
<members>
- <member name="radiance_size" type="int" setter="set_radiance_size" getter="get_radiance_size" enum="Sky.RadianceSize">
- The Sky's radiance map size.
- The higher the radiance map size, the more detailed the lighting from the Sky will be.
- See RADIANCE_SIZE_* constants for values. Default size is RADIANCE_SIZE_512.
+ <member name="radiance_size" type="int" setter="set_radiance_size" getter="get_radiance_size" enum="Sky.RadianceSize" default="2">
+ The [Sky]'s radiance map size. The higher the radiance map size, the more detailed the lighting from the [Sky] will be.
+ See [enum RadianceSize] constants for values.
</member>
</members>
<constants>
<constant name="RADIANCE_SIZE_32" value="0" enum="RadianceSize">
- Radiance texture size is 32x32 pixels.
+ Radiance texture size is 32×32 pixels.
</constant>
<constant name="RADIANCE_SIZE_64" value="1" enum="RadianceSize">
- Radiance texture size is 64x64 pixels.
+ Radiance texture size is 64×64 pixels.
</constant>
<constant name="RADIANCE_SIZE_128" value="2" enum="RadianceSize">
- Radiance texture size is 128x128 pixels.
+ Radiance texture size is 128×128 pixels.
</constant>
<constant name="RADIANCE_SIZE_256" value="3" enum="RadianceSize">
- Radiance texture size is 256x256 pixels.
+ Radiance texture size is 256×256 pixels.
</constant>
<constant name="RADIANCE_SIZE_512" value="4" enum="RadianceSize">
- Radiance texture size is 512x512 pixels.
+ Radiance texture size is 512×512 pixels.
</constant>
<constant name="RADIANCE_SIZE_1024" value="5" enum="RadianceSize">
- Radiance texture size is 1024x1024 pixels.
+ Radiance texture size is 1024×1024 pixels.
</constant>
<constant name="RADIANCE_SIZE_2048" value="6" enum="RadianceSize">
- Radiance texture size is 2048x2048 pixels.
+ Radiance texture size is 2048×2048 pixels.
</constant>
<constant name="RADIANCE_SIZE_MAX" value="7" enum="RadianceSize">
- Radiance texture size is the largest size it can be.
+ Represents the size of the [enum RadianceSize] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/Slider.xml b/doc/classes/Slider.xml
index 8fdf2bc848..24ddb95c96 100644
--- a/doc/classes/Slider.xml
+++ b/doc/classes/Slider.xml
@@ -1,28 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Slider" inherits="Range" category="Core" version="3.2">
<brief_description>
- Base class for GUI Sliders.
+ Base class for GUI sliders.
</brief_description>
<description>
- Base class for GUI Sliders.
+ Base class for GUI sliders.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="editable" type="bool" setter="set_editable" getter="is_editable">
+ <member name="editable" type="bool" setter="set_editable" getter="is_editable" default="true">
If [code]true[/code], the slider can be interacted with. If [code]false[/code], the value can be changed only by code.
</member>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode">
+ <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode" default="2">
</member>
- <member name="scrollable" type="bool" setter="set_scrollable" getter="is_scrollable">
+ <member name="scrollable" type="bool" setter="set_scrollable" getter="is_scrollable" default="true">
If [code]true[/code], the value can be changed using the mouse wheel.
</member>
- <member name="tick_count" type="int" setter="set_ticks" getter="get_ticks">
+ <member name="tick_count" type="int" setter="set_ticks" getter="get_ticks" default="0">
Number of ticks displayed on the slider, including border ticks. Ticks are uniformly-distributed value markers.
</member>
- <member name="ticks_on_borders" type="bool" setter="set_ticks_on_borders" getter="get_ticks_on_borders">
+ <member name="ticks_on_borders" type="bool" setter="set_ticks_on_borders" getter="get_ticks_on_borders" default="false">
If [code]true[/code], the slider will display ticks for minimum and maximum values.
</member>
</members>
diff --git a/doc/classes/SliderJoint.xml b/doc/classes/SliderJoint.xml
index 997930eaa3..a91f67f107 100644
--- a/doc/classes/SliderJoint.xml
+++ b/doc/classes/SliderJoint.xml
@@ -4,89 +4,89 @@
Piston kind of slider between two bodies in 3D.
</brief_description>
<description>
- Slides across the x-axis of the pivot object.
+ Slides across the X axis of the pivot object.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="angular_limit/damping" type="float" setter="set_param" getter="get_param">
+ <member name="angular_limit/damping" type="float" setter="set_param" getter="get_param" default="0.0">
The amount of damping of the rotation when the limit is surpassed.
A lower damping value allows a rotation initiated by body A to travel to body B slower.
</member>
- <member name="angular_limit/lower_angle" type="float" setter="_set_lower_limit_angular" getter="_get_lower_limit_angular">
+ <member name="angular_limit/lower_angle" type="float" setter="_set_lower_limit_angular" getter="_get_lower_limit_angular" default="0.0">
The lower limit of rotation in the slider.
</member>
- <member name="angular_limit/restitution" type="float" setter="set_param" getter="get_param">
+ <member name="angular_limit/restitution" type="float" setter="set_param" getter="get_param" default="0.7">
The amount of restitution of the rotation when the limit is surpassed.
Does not affect damping.
</member>
- <member name="angular_limit/softness" type="float" setter="set_param" getter="get_param">
+ <member name="angular_limit/softness" type="float" setter="set_param" getter="get_param" default="1.0">
A factor applied to the all rotation once the limit is surpassed.
Makes all rotation slower when between 0 and 1.
</member>
- <member name="angular_limit/upper_angle" type="float" setter="_set_upper_limit_angular" getter="_get_upper_limit_angular">
+ <member name="angular_limit/upper_angle" type="float" setter="_set_upper_limit_angular" getter="_get_upper_limit_angular" default="0.0">
The upper limit of rotation in the slider.
</member>
- <member name="angular_motion/damping" type="float" setter="set_param" getter="get_param">
+ <member name="angular_motion/damping" type="float" setter="set_param" getter="get_param" default="1.0">
The amount of damping of the rotation in the limits.
</member>
- <member name="angular_motion/restitution" type="float" setter="set_param" getter="get_param">
+ <member name="angular_motion/restitution" type="float" setter="set_param" getter="get_param" default="0.7">
The amount of restitution of the rotation in the limits.
</member>
- <member name="angular_motion/softness" type="float" setter="set_param" getter="get_param">
+ <member name="angular_motion/softness" type="float" setter="set_param" getter="get_param" default="1.0">
A factor applied to the all rotation in the limits.
</member>
- <member name="angular_ortho/damping" type="float" setter="set_param" getter="get_param">
+ <member name="angular_ortho/damping" type="float" setter="set_param" getter="get_param" default="1.0">
The amount of damping of the rotation across axes orthogonal to the slider.
</member>
- <member name="angular_ortho/restitution" type="float" setter="set_param" getter="get_param">
+ <member name="angular_ortho/restitution" type="float" setter="set_param" getter="get_param" default="0.7">
The amount of restitution of the rotation across axes orthogonal to the slider.
</member>
- <member name="angular_ortho/softness" type="float" setter="set_param" getter="get_param">
+ <member name="angular_ortho/softness" type="float" setter="set_param" getter="get_param" default="1.0">
A factor applied to the all rotation across axes orthogonal to the slider.
</member>
- <member name="linear_limit/damping" type="float" setter="set_param" getter="get_param">
+ <member name="linear_limit/damping" type="float" setter="set_param" getter="get_param" default="1.0">
The amount of damping that happens once the limit defined by [member linear_limit/lower_distance] and [member linear_limit/upper_distance] is surpassed.
</member>
- <member name="linear_limit/lower_distance" type="float" setter="set_param" getter="get_param">
- The minimum difference between the pivot points on their x-axis before damping happens.
+ <member name="linear_limit/lower_distance" type="float" setter="set_param" getter="get_param" default="-1.0">
+ The minimum difference between the pivot points on their X axis before damping happens.
</member>
- <member name="linear_limit/restitution" type="float" setter="set_param" getter="get_param">
+ <member name="linear_limit/restitution" type="float" setter="set_param" getter="get_param" default="0.7">
The amount of restitution once the limits are surpassed. The lower, the more velocity-energy gets lost.
</member>
- <member name="linear_limit/softness" type="float" setter="set_param" getter="get_param">
+ <member name="linear_limit/softness" type="float" setter="set_param" getter="get_param" default="1.0">
A factor applied to the movement across the slider axis once the limits get surpassed. The lower, the slower the movement.
</member>
- <member name="linear_limit/upper_distance" type="float" setter="set_param" getter="get_param">
- The maximum difference between the pivot points on their x-axis before damping happens.
+ <member name="linear_limit/upper_distance" type="float" setter="set_param" getter="get_param" default="1.0">
+ The maximum difference between the pivot points on their X axis before damping happens.
</member>
- <member name="linear_motion/damping" type="float" setter="set_param" getter="get_param">
+ <member name="linear_motion/damping" type="float" setter="set_param" getter="get_param" default="0.0">
The amount of damping inside the slider limits.
</member>
- <member name="linear_motion/restitution" type="float" setter="set_param" getter="get_param">
+ <member name="linear_motion/restitution" type="float" setter="set_param" getter="get_param" default="0.7">
The amount of restitution inside the slider limits.
</member>
- <member name="linear_motion/softness" type="float" setter="set_param" getter="get_param">
+ <member name="linear_motion/softness" type="float" setter="set_param" getter="get_param" default="1.0">
A factor applied to the movement across the slider axis as long as the slider is in the limits. The lower, the slower the movement.
</member>
- <member name="linear_ortho/damping" type="float" setter="set_param" getter="get_param">
+ <member name="linear_ortho/damping" type="float" setter="set_param" getter="get_param" default="1.0">
The amount of damping when movement is across axes orthogonal to the slider.
</member>
- <member name="linear_ortho/restitution" type="float" setter="set_param" getter="get_param">
+ <member name="linear_ortho/restitution" type="float" setter="set_param" getter="get_param" default="0.7">
The amount of restitution when movement is across axes orthogonal to the slider.
</member>
- <member name="linear_ortho/softness" type="float" setter="set_param" getter="get_param">
+ <member name="linear_ortho/softness" type="float" setter="set_param" getter="get_param" default="1.0">
A factor applied to the movement across axes orthogonal to the slider.
</member>
</members>
<constants>
<constant name="PARAM_LINEAR_LIMIT_UPPER" value="0" enum="Param">
- The maximum difference between the pivot points on their x-axis before damping happens.
+ The maximum difference between the pivot points on their X axis before damping happens.
</constant>
<constant name="PARAM_LINEAR_LIMIT_LOWER" value="1" enum="Param">
- The minimum difference between the pivot points on their x-axis before damping happens.
+ The minimum difference between the pivot points on their X axis before damping happens.
</constant>
<constant name="PARAM_LINEAR_LIMIT_SOFTNESS" value="2" enum="Param">
A factor applied to the movement across the slider axis once the limits get surpassed. The lower, the slower the movement.
@@ -149,7 +149,7 @@
The amount of damping of the rotation across axes orthogonal to the slider.
</constant>
<constant name="PARAM_MAX" value="22" enum="Param">
- End flag of PARAM_* constants, used internally.
+ Represents the size of the [enum Param] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/SoftBody.xml b/doc/classes/SoftBody.xml
index b235a26ad7..5cde31fa59 100644
--- a/doc/classes/SoftBody.xml
+++ b/doc/classes/SoftBody.xml
@@ -90,34 +90,34 @@
</method>
</methods>
<members>
- <member name="areaAngular_stiffness" type="float" setter="set_areaAngular_stiffness" getter="get_areaAngular_stiffness">
+ <member name="areaAngular_stiffness" type="float" setter="set_areaAngular_stiffness" getter="get_areaAngular_stiffness" default="0.5">
</member>
- <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer">
+ <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1">
The physics layers this area is in.
Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.
A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A.
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The physics layers this area scans for collisions.
</member>
- <member name="damping_coefficient" type="float" setter="set_damping_coefficient" getter="get_damping_coefficient">
+ <member name="damping_coefficient" type="float" setter="set_damping_coefficient" getter="get_damping_coefficient" default="0.01">
</member>
- <member name="drag_coefficient" type="float" setter="set_drag_coefficient" getter="get_drag_coefficient">
+ <member name="drag_coefficient" type="float" setter="set_drag_coefficient" getter="get_drag_coefficient" default="0.0">
</member>
- <member name="linear_stiffness" type="float" setter="set_linear_stiffness" getter="get_linear_stiffness">
+ <member name="linear_stiffness" type="float" setter="set_linear_stiffness" getter="get_linear_stiffness" default="0.5">
</member>
- <member name="parent_collision_ignore" type="NodePath" setter="set_parent_collision_ignore" getter="get_parent_collision_ignore">
+ <member name="parent_collision_ignore" type="NodePath" setter="set_parent_collision_ignore" getter="get_parent_collision_ignore" default="NodePath(&quot;&quot;)">
</member>
- <member name="pose_matching_coefficient" type="float" setter="set_pose_matching_coefficient" getter="get_pose_matching_coefficient">
+ <member name="pose_matching_coefficient" type="float" setter="set_pose_matching_coefficient" getter="get_pose_matching_coefficient" default="0.0">
</member>
- <member name="pressure_coefficient" type="float" setter="set_pressure_coefficient" getter="get_pressure_coefficient">
+ <member name="pressure_coefficient" type="float" setter="set_pressure_coefficient" getter="get_pressure_coefficient" default="0.0">
</member>
- <member name="simulation_precision" type="int" setter="set_simulation_precision" getter="get_simulation_precision">
+ <member name="simulation_precision" type="int" setter="set_simulation_precision" getter="get_simulation_precision" default="5">
Increasing this value will improve the resulting simulation, but can affect performance. Use with care.
</member>
- <member name="total_mass" type="float" setter="set_total_mass" getter="get_total_mass">
+ <member name="total_mass" type="float" setter="set_total_mass" getter="get_total_mass" default="1.0">
</member>
- <member name="volume_stiffness" type="float" setter="set_volume_stiffness" getter="get_volume_stiffness">
+ <member name="volume_stiffness" type="float" setter="set_volume_stiffness" getter="get_volume_stiffness" default="0.5">
</member>
</members>
<constants>
diff --git a/doc/classes/Spatial.xml b/doc/classes/Spatial.xml
index 9d1761ba9f..9f4118aa7b 100644
--- a/doc/classes/Spatial.xml
+++ b/doc/classes/Spatial.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Spatial" inherits="Node" category="Core" version="3.2">
<brief_description>
- Most basic 3D game object, parent of all 3D related nodes.
+ Most basic 3D game object, parent of all 3D-related nodes.
</brief_description>
<description>
Most basic 3D game object, with a 3D [Transform] and visibility settings. All other 3D game objects inherit from Spatial. Use [Spatial] as a parent node to move, scale, rotate and show/hide children in a 3D project.
- Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the [Spatial] object is set as top level. Affine operations in this coordinate system correspond to direct affine operations on the [Spatial]'s transform. The word local below refers to this coordinate system. The coordinate system that is attached to the [Spatial] object itself is referred to as object-local coordinate system.
+ Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the [Spatial] object is set as top-level. Affine operations in this coordinate system correspond to direct affine operations on the [Spatial]'s transform. The word local below refers to this coordinate system. The coordinate system that is attached to the [Spatial] object itself is referred to as object-local coordinate system.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/3d/introduction_to_3d.html</link>
@@ -161,7 +161,7 @@
<argument index="0" name="angle" type="float">
</argument>
<description>
- Rotates the local transformation around the X axis by angle in radians
+ Rotates the local transformation around the X axis by angle in radians.
</description>
</method>
<method name="rotate_y">
@@ -212,7 +212,7 @@
<return type="void">
</return>
<description>
- Reset all transformations for this node. Set its [Transform] to identity matrix.
+ Reset all transformations for this node (sets its [Transform] to the identity matrix).
</description>
</method>
<method name="set_ignore_transform_notification">
@@ -221,7 +221,7 @@
<argument index="0" name="enabled" type="bool">
</argument>
<description>
- Set whether the node ignores notification that its transformation (global or local) changed.
+ Sets whether the node ignores notification that its transformation (global or local) changed.
</description>
</method>
<method name="set_notify_local_transform">
@@ -230,7 +230,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
- Set whether the node notifies about its local transformation changes. [Spatial] will not propagate this by default.
+ Sets whether the node notifies about its local transformation changes. [Spatial] will not propagate this by default.
</description>
</method>
<method name="set_notify_transform">
@@ -239,7 +239,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
- Set whether the node notifies about its global and local transformation changes. [Spatial] will not propagate this by default.
+ Sets whether the node notifies about its global and local transformation changes. [Spatial] will not propagate this by default.
</description>
</method>
<method name="show">
@@ -255,7 +255,7 @@
<argument index="0" name="local_point" type="Vector3">
</argument>
<description>
- Transforms [Vector3] "local_point" from this node's local space to world space.
+ Transforms [code]local_point[/code] from this node's local space to world space.
</description>
</method>
<method name="to_local" qualifiers="const">
@@ -264,7 +264,7 @@
<argument index="0" name="global_point" type="Vector3">
</argument>
<description>
- Transforms [Vector3] "global_point" from world space to this node's local space.
+ Transforms [code]global_point[/code] from world space to this node's local space.
</description>
</method>
<method name="translate">
@@ -300,23 +300,23 @@
World space (global) [Transform] of this node.
</member>
<member name="rotation" type="Vector3" setter="set_rotation" getter="get_rotation">
- Rotation part of the local transformation in radians, specified in terms of YXZ-Euler angles in the format (X-angle, Y-angle, Z-angle).
- Note that in the mathematical sense, rotation is a matrix and not a vector. The three Euler angles, which are the three independent parameters of the Euler-angle parametrization of the rotation matrix, are stored in a [Vector3] data structure not because the rotation is a vector, but only because [Vector3] exists as a convenient data-structure to store 3 floating point numbers. Therefore, applying affine operations on the rotation "vector" is not meaningful.
+ Rotation part of the local transformation in radians, specified in terms of YXZ-Euler angles in the format (X angle, Y angle, Z angle).
+ [b]Note:[/b] In the mathematical sense, rotation is a matrix and not a vector. The three Euler angles, which are the three independent parameters of the Euler-angle parametrization of the rotation matrix, are stored in a [Vector3] data structure not because the rotation is a vector, but only because [Vector3] exists as a convenient data-structure to store 3 floating-point numbers. Therefore, applying affine operations on the rotation "vector" is not meaningful.
</member>
- <member name="rotation_degrees" type="Vector3" setter="set_rotation_degrees" getter="get_rotation_degrees">
- Rotation part of the local transformation in degrees, specified in terms of YXZ-Euler angles in the format (X-angle, Y-angle, Z-angle).
+ <member name="rotation_degrees" type="Vector3" setter="set_rotation_degrees" getter="get_rotation_degrees" default="Vector3( 0, 0, 0 )">
+ Rotation part of the local transformation in degrees, specified in terms of YXZ-Euler angles in the format (X angle, Y angle, Z angle).
</member>
- <member name="scale" type="Vector3" setter="set_scale" getter="get_scale">
+ <member name="scale" type="Vector3" setter="set_scale" getter="get_scale" default="Vector3( 1, 1, 1 )">
Scale part of the local transformation.
</member>
- <member name="transform" type="Transform" setter="set_transform" getter="get_transform">
+ <member name="transform" type="Transform" setter="set_transform" getter="get_transform" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
Local space [Transform] of this node, with respect to the parent node.
</member>
- <member name="translation" type="Vector3" setter="set_translation" getter="get_translation">
+ <member name="translation" type="Vector3" setter="set_translation" getter="get_translation" default="Vector3( 0, 0, 0 )">
Local translation of this node.
</member>
- <member name="visible" type="bool" setter="set_visible" getter="is_visible">
- If [code]true[/code], this node is drawn. Default value: [code]true[/code].
+ <member name="visible" type="bool" setter="set_visible" getter="is_visible" default="true">
+ If [code]true[/code], this node is drawn.
</member>
</members>
<signals>
@@ -329,7 +329,7 @@
<constants>
<constant name="NOTIFICATION_TRANSFORM_CHANGED" value="2000">
Spatial nodes receives this notification when their global transform changes. This means that either the current or a parent node changed its transform.
- In order for [code]NOTIFICATION_TRANSFORM_CHANGED[/code] to work, users first need to ask for it, with [method set_notify_transform].
+ In order for [constant NOTIFICATION_TRANSFORM_CHANGED] to work, users first need to ask for it, with [method set_notify_transform].
</constant>
<constant name="NOTIFICATION_ENTER_WORLD" value="41">
Spatial nodes receives this notification when they are registered to new [World] resource.
diff --git a/doc/classes/SpatialMaterial.xml b/doc/classes/SpatialMaterial.xml
index f0df5fac4a..5e18e72f90 100644
--- a/doc/classes/SpatialMaterial.xml
+++ b/doc/classes/SpatialMaterial.xml
@@ -12,20 +12,20 @@
<methods>
</methods>
<members>
- <member name="albedo_color" type="Color" setter="set_albedo" getter="get_albedo">
+ <member name="albedo_color" type="Color" setter="set_albedo" getter="get_albedo" default="Color( 1, 1, 1, 1 )">
The material's base color.
</member>
- <member name="albedo_texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="albedo_texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
</member>
<member name="anisotropy" type="float" setter="set_anisotropy" getter="get_anisotropy">
The strength of the anisotropy effect.
</member>
- <member name="anisotropy_enabled" type="bool" setter="set_feature" getter="get_feature">
- If [code]true[/code], anisotropy is enabled. Changes the shape of the specular blob and aligns it to tangent space. Default value: [code]false[/code].
+ <member name="anisotropy_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
+ If [code]true[/code], anisotropy is enabled. Changes the shape of the specular blob and aligns it to tangent space.
</member>
<member name="anisotropy_flowmap" type="Texture" setter="set_texture" getter="get_texture">
</member>
- <member name="ao_enabled" type="bool" setter="set_feature" getter="get_feature">
+ <member name="ao_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
If [code]true[/code], ambient occlusion is enabled.
</member>
<member name="ao_light_affect" type="float" setter="set_ao_light_affect" getter="get_ao_light_affect">
@@ -38,8 +38,8 @@
</member>
<member name="clearcoat" type="float" setter="set_clearcoat" getter="get_clearcoat">
</member>
- <member name="clearcoat_enabled" type="bool" setter="set_feature" getter="get_feature">
- If [code]true[/code], clearcoat rendering is enabled. Adds a secondary transparent pass to the material. Default value: [code]false[/code].
+ <member name="clearcoat_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
+ If [code]true[/code], clearcoat rendering is enabled. Adds a secondary transparent pass to the material.
</member>
<member name="clearcoat_gloss" type="float" setter="set_clearcoat_gloss" getter="get_clearcoat_gloss">
</member>
@@ -47,8 +47,8 @@
</member>
<member name="depth_deep_parallax" type="bool" setter="set_depth_deep_parallax" getter="is_depth_deep_parallax_enabled">
</member>
- <member name="depth_enabled" type="bool" setter="set_feature" getter="get_feature">
- If [code]true[/code], Depth mapping is enabled. See also [member normal_enabled].
+ <member name="depth_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
+ If [code]true[/code], depth mapping is enabled (also called "parallax mapping" or "height mapping"). See also [member normal_enabled].
</member>
<member name="depth_flip_binormal" type="bool" setter="set_depth_deep_parallax_flip_binormal" getter="get_depth_deep_parallax_flip_binormal">
</member>
@@ -66,7 +66,7 @@
</member>
<member name="detail_blend_mode" type="int" setter="set_detail_blend_mode" getter="get_detail_blend_mode" enum="SpatialMaterial.BlendMode">
</member>
- <member name="detail_enabled" type="bool" setter="set_feature" getter="get_feature">
+ <member name="detail_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
</member>
<member name="detail_mask" type="Texture" setter="set_texture" getter="get_texture">
</member>
@@ -78,12 +78,12 @@
</member>
<member name="distance_fade_min_distance" type="float" setter="set_distance_fade_min_distance" getter="get_distance_fade_min_distance">
</member>
- <member name="distance_fade_mode" type="int" setter="set_distance_fade" getter="get_distance_fade" enum="SpatialMaterial.DistanceFadeMode">
+ <member name="distance_fade_mode" type="int" setter="set_distance_fade" getter="get_distance_fade" enum="SpatialMaterial.DistanceFadeMode" default="0">
</member>
<member name="emission" type="Color" setter="set_emission" getter="get_emission">
The emitted light's color. See [member emission_enabled].
</member>
- <member name="emission_enabled" type="bool" setter="set_feature" getter="get_feature">
+ <member name="emission_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
If [code]true[/code], the body emits light.
</member>
<member name="emission_energy" type="float" setter="set_emission_energy" getter="get_emission_energy">
@@ -95,50 +95,52 @@
</member>
<member name="emission_texture" type="Texture" setter="set_texture" getter="get_texture">
</member>
- <member name="flags_albedo_tex_force_srgb" type="bool" setter="set_flag" getter="get_flag">
+ <member name="flags_albedo_tex_force_srgb" type="bool" setter="set_flag" getter="get_flag" default="false">
</member>
- <member name="flags_disable_ambient_light" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], the object receives no ambient light. Default value: [code]false[/code].
+ <member name="flags_disable_ambient_light" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], the object receives no ambient light.
</member>
- <member name="flags_do_not_receive_shadows" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], the object receives no shadow that would otherwise be cast onto it. Default value: [code]false[/code].
+ <member name="flags_do_not_receive_shadows" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], the object receives no shadow that would otherwise be cast onto it.
</member>
- <member name="flags_ensure_correct_normals" type="bool" setter="set_flag" getter="get_flag">
+ <member name="flags_ensure_correct_normals" type="bool" setter="set_flag" getter="get_flag" default="false">
</member>
- <member name="flags_fixed_size" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], the object is rendered at the same size regardless of distance. Default value: [code]false[/code].
+ <member name="flags_fixed_size" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], the object is rendered at the same size regardless of distance.
</member>
- <member name="flags_no_depth_test" type="bool" setter="set_flag" getter="get_flag">
+ <member name="flags_no_depth_test" type="bool" setter="set_flag" getter="get_flag" default="false">
If [code]true[/code], depth testing is disabled and the object will be drawn in render order.
</member>
- <member name="flags_transparent" type="bool" setter="set_feature" getter="get_feature">
- If [code]true[/code], transparency is enabled on the body. Default value: [code]false[/code]. See also [member params_blend_mode].
+ <member name="flags_transparent" type="bool" setter="set_feature" getter="get_feature" default="false">
+ If [code]true[/code], transparency is enabled on the body. See also [member params_blend_mode].
</member>
- <member name="flags_unshaded" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], the object is unaffected by lighting. Default value: [code]false[/code].
+ <member name="flags_unshaded" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], the object is unaffected by lighting.
</member>
- <member name="flags_use_point_size" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], render point size can be changed. Note: this is only effective for objects whose geometry is point-based rather than triangle-based. See also [member params_point_size].
+ <member name="flags_use_point_size" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], render point size can be changed.
+ [b]Note:[/b] this is only effective for objects whose geometry is point-based rather than triangle-based. See also [member params_point_size].
</member>
- <member name="flags_use_shadow_to_opacity" type="bool" setter="set_flag" getter="get_flag">
+ <member name="flags_use_shadow_to_opacity" type="bool" setter="set_flag" getter="get_flag" default="false">
</member>
- <member name="flags_vertex_lighting" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], lighting is calculated per vertex rather than per pixel. This may increase performance on low-end devices. Default value: [code]false[/code].
+ <member name="flags_vertex_lighting" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], lighting is calculated per vertex rather than per pixel. This may increase performance on low-end devices.
</member>
- <member name="flags_world_triplanar" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], triplanar mapping is calculated in world space rather than object local space. See also [member uv1_triplanar]. Default value: [code]false[/code].
+ <member name="flags_world_triplanar" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], triplanar mapping is calculated in world space rather than object local space. See also [member uv1_triplanar].
</member>
- <member name="metallic" type="float" setter="set_metallic" getter="get_metallic">
- The reflectivity of the object's surface. The higher the value the more light is reflected.
+ <member name="metallic" type="float" setter="set_metallic" getter="get_metallic" default="0.0">
+ The reflectivity of the object's surface. The higher the value, the more light is reflected.
</member>
- <member name="metallic_specular" type="float" setter="set_specular" getter="get_specular">
- General reflectivity amount. Note: unlike [member metallic], this is not energy-conserving, so it should be left at [code]0.5[/code] in most cases. See also [member roughness].
+ <member name="metallic_specular" type="float" setter="set_specular" getter="get_specular" default="0.5">
+ General reflectivity amount.
+ [b]Note:[/b] unlike [member metallic], this is not energy-conserving, so it should be left at [code]0.5[/code] in most cases. See also [member roughness].
</member>
- <member name="metallic_texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="metallic_texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
</member>
- <member name="metallic_texture_channel" type="int" setter="set_metallic_texture_channel" getter="get_metallic_texture_channel" enum="SpatialMaterial.TextureChannel">
+ <member name="metallic_texture_channel" type="int" setter="set_metallic_texture_channel" getter="get_metallic_texture_channel" enum="SpatialMaterial.TextureChannel" default="2">
</member>
- <member name="normal_enabled" type="bool" setter="set_feature" getter="get_feature">
+ <member name="normal_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
If [code]true[/code], normal mapping is enabled.
</member>
<member name="normal_scale" type="float" setter="set_normal_scale" getter="get_normal_scale">
@@ -148,55 +150,56 @@
</member>
<member name="params_alpha_scissor_threshold" type="float" setter="set_alpha_scissor_threshold" getter="get_alpha_scissor_threshold">
</member>
- <member name="params_billboard_keep_scale" type="bool" setter="set_flag" getter="get_flag">
+ <member name="params_billboard_keep_scale" type="bool" setter="set_flag" getter="get_flag" default="false">
</member>
- <member name="params_billboard_mode" type="int" setter="set_billboard_mode" getter="get_billboard_mode" enum="SpatialMaterial.BillboardMode">
+ <member name="params_billboard_mode" type="int" setter="set_billboard_mode" getter="get_billboard_mode" enum="SpatialMaterial.BillboardMode" default="0">
Controls how the object faces the camera. See [enum BillboardMode].
</member>
- <member name="params_blend_mode" type="int" setter="set_blend_mode" getter="get_blend_mode" enum="SpatialMaterial.BlendMode">
- The material's blend mode. Note that values other than [code]Mix[/code] force the object into the transparent pipeline. See [enum BlendMode].
+ <member name="params_blend_mode" type="int" setter="set_blend_mode" getter="get_blend_mode" enum="SpatialMaterial.BlendMode" default="0">
+ The material's blend mode.
+ [b]Note:[/b] Values other than [code]Mix[/code] force the object into the transparent pipeline. See [enum BlendMode].
</member>
- <member name="params_cull_mode" type="int" setter="set_cull_mode" getter="get_cull_mode" enum="SpatialMaterial.CullMode">
+ <member name="params_cull_mode" type="int" setter="set_cull_mode" getter="get_cull_mode" enum="SpatialMaterial.CullMode" default="0">
Which side of the object is not drawn when backfaces are rendered. See [enum CullMode].
</member>
- <member name="params_depth_draw_mode" type="int" setter="set_depth_draw_mode" getter="get_depth_draw_mode" enum="SpatialMaterial.DepthDrawMode">
+ <member name="params_depth_draw_mode" type="int" setter="set_depth_draw_mode" getter="get_depth_draw_mode" enum="SpatialMaterial.DepthDrawMode" default="0">
Determines when depth rendering takes place. See [enum DepthDrawMode]. See also [member flags_transparent].
</member>
- <member name="params_diffuse_mode" type="int" setter="set_diffuse_mode" getter="get_diffuse_mode" enum="SpatialMaterial.DiffuseMode">
+ <member name="params_diffuse_mode" type="int" setter="set_diffuse_mode" getter="get_diffuse_mode" enum="SpatialMaterial.DiffuseMode" default="0">
The algorithm used for diffuse light scattering. See [enum DiffuseMode].
</member>
- <member name="params_grow" type="bool" setter="set_grow_enabled" getter="is_grow_enabled">
+ <member name="params_grow" type="bool" setter="set_grow_enabled" getter="is_grow_enabled" default="false">
If [code]true[/code], enables the vertex grow setting. See [member params_grow_amount].
</member>
<member name="params_grow_amount" type="float" setter="set_grow" getter="get_grow">
Grows object vertices in the direction of their normals.
</member>
- <member name="params_line_width" type="float" setter="set_line_width" getter="get_line_width">
+ <member name="params_line_width" type="float" setter="set_line_width" getter="get_line_width" default="1.0">
</member>
- <member name="params_point_size" type="float" setter="set_point_size" getter="get_point_size">
+ <member name="params_point_size" type="float" setter="set_point_size" getter="get_point_size" default="1.0">
The point size in pixels. See [member flags_use_point_size].
</member>
- <member name="params_specular_mode" type="int" setter="set_specular_mode" getter="get_specular_mode" enum="SpatialMaterial.SpecularMode">
+ <member name="params_specular_mode" type="int" setter="set_specular_mode" getter="get_specular_mode" enum="SpatialMaterial.SpecularMode" default="0">
The method for rendering the specular blob. See [enum SpecularMode].
</member>
- <member name="params_use_alpha_scissor" type="bool" setter="set_flag" getter="get_flag">
+ <member name="params_use_alpha_scissor" type="bool" setter="set_flag" getter="get_flag" default="false">
</member>
<member name="particles_anim_h_frames" type="int" setter="set_particles_anim_h_frames" getter="get_particles_anim_h_frames">
- The number of horizontal frames in the particle spritesheet. Only enabled when using [code]BillboardMode.BILLBOARD_PARTICLES[/code]. See [member params_billboard_mode].
+ The number of horizontal frames in the particle sprite sheet. Only enabled when using [constant BILLBOARD_PARTICLES]. See [member params_billboard_mode].
</member>
<member name="particles_anim_loop" type="bool" setter="set_particles_anim_loop" getter="get_particles_anim_loop">
- If [code]true[/code], particle animations are looped. Only enabled when using [code]BillboardMode.BILLBOARD_PARTICLES[/code]. See [member params_billboard_mode].
+ If [code]true[/code], particle animations are looped. Only enabled when using [constant BILLBOARD_PARTICLES]. See [member params_billboard_mode].
</member>
<member name="particles_anim_v_frames" type="int" setter="set_particles_anim_v_frames" getter="get_particles_anim_v_frames">
- The number of vertical frames in the particle spritesheet. Only enabled when using [code]BillboardMode.BILLBOARD_PARTICLES[/code]. See [member params_billboard_mode].
+ The number of vertical frames in the particle sprite sheet. Only enabled when using [constant BILLBOARD_PARTICLES]. See [member params_billboard_mode].
</member>
<member name="proximity_fade_distance" type="float" setter="set_proximity_fade_distance" getter="get_proximity_fade_distance">
</member>
- <member name="proximity_fade_enable" type="bool" setter="set_proximity_fade" getter="is_proximity_fade_enabled">
- If [code]true[/code], the proximity and distance fade effect is enabled. Default value: [code]false[/code].
+ <member name="proximity_fade_enable" type="bool" setter="set_proximity_fade" getter="is_proximity_fade_enabled" default="false">
+ If [code]true[/code], the proximity and distance fade effect is enabled.
</member>
- <member name="refraction_enabled" type="bool" setter="set_feature" getter="get_feature">
- If [code]true[/code], the refraction effect is enabled. Distorts transparency based on light from behind the object. Default value: [code]false[/code].
+ <member name="refraction_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
+ If [code]true[/code], the refraction effect is enabled. Distorts transparency based on light from behind the object.
</member>
<member name="refraction_scale" type="float" setter="set_refraction" getter="get_refraction">
The strength of the refraction effect.
@@ -207,22 +210,22 @@
</member>
<member name="rim" type="float" setter="set_rim" getter="get_rim">
</member>
- <member name="rim_enabled" type="bool" setter="set_feature" getter="get_feature">
- If [code]true[/code], rim effect is enabled. Default value: [code]false[/code].
+ <member name="rim_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
+ If [code]true[/code], rim effect is enabled.
</member>
<member name="rim_texture" type="Texture" setter="set_texture" getter="get_texture">
</member>
<member name="rim_tint" type="float" setter="set_rim_tint" getter="get_rim_tint">
The amount of to blend light and albedo color when rendering rim effect. If [code]0[/code] the light color is used, while [code]1[/code] means albedo color is used. An intermediate value generally works best.
</member>
- <member name="roughness" type="float" setter="set_roughness" getter="get_roughness">
+ <member name="roughness" type="float" setter="set_roughness" getter="get_roughness" default="1.0">
Surface reflection. A value of [code]0[/code] represents a perfect mirror while a value of [code]1[/code] completely blurs the reflection. See also [member metallic].
</member>
- <member name="roughness_texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="roughness_texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
</member>
- <member name="roughness_texture_channel" type="int" setter="set_roughness_texture_channel" getter="get_roughness_texture_channel" enum="SpatialMaterial.TextureChannel">
+ <member name="roughness_texture_channel" type="int" setter="set_roughness_texture_channel" getter="get_roughness_texture_channel" enum="SpatialMaterial.TextureChannel" default="1">
</member>
- <member name="subsurf_scatter_enabled" type="bool" setter="set_feature" getter="get_feature">
+ <member name="subsurf_scatter_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
If [code]true[/code], subsurface scattering is enabled. Emulates light that penetrates an object's surface, is scattered, and then emerges.
</member>
<member name="subsurf_scatter_strength" type="float" setter="set_subsurface_scattering_strength" getter="get_subsurface_scattering_strength">
@@ -233,32 +236,32 @@
<member name="transmission" type="Color" setter="set_transmission" getter="get_transmission">
The color used by the transmission effect. Represents the light passing through an object.
</member>
- <member name="transmission_enabled" type="bool" setter="set_feature" getter="get_feature">
- If [code]true[/code], the transmission effect is enabled. Default value: [code]false[/code].
+ <member name="transmission_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
+ If [code]true[/code], the transmission effect is enabled.
</member>
<member name="transmission_texture" type="Texture" setter="set_texture" getter="get_texture">
</member>
- <member name="uv1_offset" type="Vector3" setter="set_uv1_offset" getter="get_uv1_offset">
+ <member name="uv1_offset" type="Vector3" setter="set_uv1_offset" getter="get_uv1_offset" default="Vector3( 0, 0, 0 )">
</member>
- <member name="uv1_scale" type="Vector3" setter="set_uv1_scale" getter="get_uv1_scale">
+ <member name="uv1_scale" type="Vector3" setter="set_uv1_scale" getter="get_uv1_scale" default="Vector3( 1, 1, 1 )">
</member>
- <member name="uv1_triplanar" type="bool" setter="set_flag" getter="get_flag">
+ <member name="uv1_triplanar" type="bool" setter="set_flag" getter="get_flag" default="false">
</member>
- <member name="uv1_triplanar_sharpness" type="float" setter="set_uv1_triplanar_blend_sharpness" getter="get_uv1_triplanar_blend_sharpness">
+ <member name="uv1_triplanar_sharpness" type="float" setter="set_uv1_triplanar_blend_sharpness" getter="get_uv1_triplanar_blend_sharpness" default="1.0">
</member>
- <member name="uv2_offset" type="Vector3" setter="set_uv2_offset" getter="get_uv2_offset">
+ <member name="uv2_offset" type="Vector3" setter="set_uv2_offset" getter="get_uv2_offset" default="Vector3( 0, 0, 0 )">
</member>
- <member name="uv2_scale" type="Vector3" setter="set_uv2_scale" getter="get_uv2_scale">
+ <member name="uv2_scale" type="Vector3" setter="set_uv2_scale" getter="get_uv2_scale" default="Vector3( 1, 1, 1 )">
</member>
- <member name="uv2_triplanar" type="bool" setter="set_flag" getter="get_flag">
+ <member name="uv2_triplanar" type="bool" setter="set_flag" getter="get_flag" default="false">
</member>
- <member name="uv2_triplanar_sharpness" type="float" setter="set_uv2_triplanar_blend_sharpness" getter="get_uv2_triplanar_blend_sharpness">
+ <member name="uv2_triplanar_sharpness" type="float" setter="set_uv2_triplanar_blend_sharpness" getter="get_uv2_triplanar_blend_sharpness" default="1.0">
</member>
- <member name="vertex_color_is_srgb" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], the model's vertex colors are processed as sRGB mode. Default value: [code]false[/code].
+ <member name="vertex_color_is_srgb" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], the model's vertex colors are processed as sRGB mode.
</member>
- <member name="vertex_color_use_as_albedo" type="bool" setter="set_flag" getter="get_flag">
- If [code]true[/code], the vertex color is used as albedo color. Default value: [code]false[/code].
+ <member name="vertex_color_use_as_albedo" type="bool" setter="set_flag" getter="get_flag" default="false">
+ If [code]true[/code], the vertex color is used as albedo color.
</member>
</members>
<constants>
@@ -295,6 +298,7 @@
<constant name="TEXTURE_DETAIL_NORMAL" value="15" enum="TextureParam">
</constant>
<constant name="TEXTURE_MAX" value="16" enum="TextureParam">
+ Represents the size of the [enum TextureParam] enum.
</constant>
<constant name="DETAIL_UV_1" value="0" enum="DetailUV">
</constant>
@@ -325,6 +329,7 @@
<constant name="FEATURE_DETAIL" value="11" enum="Feature">
</constant>
<constant name="FEATURE_MAX" value="12" enum="Feature">
+ Represents the size of the [enum Feature] enum.
</constant>
<constant name="BLEND_MODE_MIX" value="0" enum="BlendMode">
Default blend mode.
@@ -395,6 +400,7 @@
<constant name="FLAG_USE_SHADOW_TO_OPACITY" value="18" enum="Flags">
</constant>
<constant name="FLAG_MAX" value="19" enum="Flags">
+ Represents the size of the [enum Flags] enum.
</constant>
<constant name="DIFFUSE_BURLEY" value="0" enum="DiffuseMode">
Default diffuse scattering algorithm.
@@ -427,13 +433,13 @@
No specular blob.
</constant>
<constant name="BILLBOARD_DISABLED" value="0" enum="BillboardMode">
- Default value.
+ Billboard mode is disabled.
</constant>
<constant name="BILLBOARD_ENABLED" value="1" enum="BillboardMode">
- The object's z-axis will always face the camera.
+ The object's Z axis will always face the camera.
</constant>
<constant name="BILLBOARD_FIXED_Y" value="2" enum="BillboardMode">
- The object's x-axis will always face the camera.
+ The object's X axis will always face the camera.
</constant>
<constant name="BILLBOARD_PARTICLES" value="3" enum="BillboardMode">
Used for particle systems. Enables particle animation options.
diff --git a/doc/classes/SpatialVelocityTracker.xml b/doc/classes/SpatialVelocityTracker.xml
index 45dd06e926..0dcd174a67 100644
--- a/doc/classes/SpatialVelocityTracker.xml
+++ b/doc/classes/SpatialVelocityTracker.xml
@@ -31,7 +31,7 @@
</method>
</methods>
<members>
- <member name="track_physics_step" type="bool" setter="set_track_physics_step" getter="is_tracking_physics_step">
+ <member name="track_physics_step" type="bool" setter="set_track_physics_step" getter="is_tracking_physics_step" default="false">
</member>
</members>
<constants>
diff --git a/doc/classes/SphereMesh.xml b/doc/classes/SphereMesh.xml
index 4ebb2e919d..6d81d8ff82 100644
--- a/doc/classes/SphereMesh.xml
+++ b/doc/classes/SphereMesh.xml
@@ -11,20 +11,21 @@
<methods>
</methods>
<members>
- <member name="height" type="float" setter="set_height" getter="get_height">
- Full height of the sphere. Defaults to 2.0.
+ <member name="height" type="float" setter="set_height" getter="get_height" default="2.0">
+ Full height of the sphere.
</member>
- <member name="is_hemisphere" type="bool" setter="set_is_hemisphere" getter="get_is_hemisphere">
- Determines whether a full sphere or a hemisphere is created. Attention: To get a regular hemisphere, the height and radius of the sphere have to equal. Defaults to [code]false[/code].
+ <member name="is_hemisphere" type="bool" setter="set_is_hemisphere" getter="get_is_hemisphere" default="false">
+ Determines whether a full sphere or a hemisphere is created.
+ [b]Note:[/b] To get a regular hemisphere, the height and radius of the sphere must be equal.
</member>
- <member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments">
- Number of radial segments on the sphere. Defaults to 64.
+ <member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments" default="64">
+ Number of radial segments on the sphere.
</member>
- <member name="radius" type="float" setter="set_radius" getter="get_radius">
- Radius of sphere. Defaults to 1.0.
+ <member name="radius" type="float" setter="set_radius" getter="get_radius" default="1.0">
+ Radius of sphere.
</member>
- <member name="rings" type="int" setter="set_rings" getter="get_rings">
- Number of segments along the height of the sphere. Defaults to 32.
+ <member name="rings" type="int" setter="set_rings" getter="get_rings" default="32">
+ Number of segments along the height of the sphere.
</member>
</members>
<constants>
diff --git a/doc/classes/SphereShape.xml b/doc/classes/SphereShape.xml
index 21309ae83e..616c3b3894 100644
--- a/doc/classes/SphereShape.xml
+++ b/doc/classes/SphereShape.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="radius" type="float" setter="set_radius" getter="get_radius">
+ <member name="radius" type="float" setter="set_radius" getter="get_radius" default="1.0">
The sphere's radius. The shape's diameter is double the radius.
</member>
</members>
diff --git a/doc/classes/SpinBox.xml b/doc/classes/SpinBox.xml
index 8e2e2f1baa..bda0b1192d 100644
--- a/doc/classes/SpinBox.xml
+++ b/doc/classes/SpinBox.xml
@@ -5,6 +5,16 @@
</brief_description>
<description>
SpinBox is a numerical input text field. It allows entering integers and floats.
+ [b]Example:[/b]
+ [codeblock]
+ var spin_box = SpinBox.new()
+ add_child(spin_box)
+ var line_edit = spin_box.get_line_edit()
+ line_edit.context_menu_enabled = false
+ spin_box.align = LineEdit.ALIGN_RIGHT
+ [/codeblock]
+ The above code will create a [SpinBox], disable context menu on it and set the text alignment to right.
+ See [Range] class for more options over the [SpinBox].
</description>
<tutorials>
</tutorials>
@@ -13,23 +23,29 @@
<return type="LineEdit">
</return>
<description>
+ Returns the [LineEdit] instance from this [SpinBox]. You can use it to access properties and methods of [LineEdit].
</description>
</method>
</methods>
<members>
- <member name="align" type="int" setter="set_align" getter="get_align" enum="LineEdit.Align">
+ <member name="align" type="int" setter="set_align" getter="get_align" enum="LineEdit.Align" default="0">
+ Sets the text alignment of the [SpinBox].
</member>
- <member name="editable" type="bool" setter="set_editable" getter="is_editable">
+ <member name="editable" type="bool" setter="set_editable" getter="is_editable" default="true">
+ If [code]true[/code], the [SpinBox] will be editable. Otherwise, it will be read only.
</member>
- <member name="prefix" type="String" setter="set_prefix" getter="get_prefix">
+ <member name="prefix" type="String" setter="set_prefix" getter="get_prefix" default="&quot;&quot;">
+ Adds the specified [code]prefix[/code] string before the numerical value of the [SpinBox].
</member>
- <member name="suffix" type="String" setter="set_suffix" getter="get_suffix">
+ <member name="suffix" type="String" setter="set_suffix" getter="get_suffix" default="&quot;&quot;">
+ Adds the specified [code]prefix[/code] string after the numerical value of the [SpinBox].
</member>
</members>
<constants>
</constants>
<theme_items>
<theme_item name="updown" type="Texture">
+ Sets a custom [Texture] for up and down arrows of the [SpinBox].
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/SplitContainer.xml b/doc/classes/SplitContainer.xml
index 5d9a233624..d756c17cef 100644
--- a/doc/classes/SplitContainer.xml
+++ b/doc/classes/SplitContainer.xml
@@ -17,12 +17,12 @@
</method>
</methods>
<members>
- <member name="collapsed" type="bool" setter="set_collapsed" getter="is_collapsed">
+ <member name="collapsed" type="bool" setter="set_collapsed" getter="is_collapsed" default="false">
</member>
- <member name="dragger_visibility" type="int" setter="set_dragger_visibility" getter="get_dragger_visibility" enum="SplitContainer.DraggerVisibility">
+ <member name="dragger_visibility" type="int" setter="set_dragger_visibility" getter="get_dragger_visibility" enum="SplitContainer.DraggerVisibility" default="0">
Determines whether the dragger is visible.
</member>
- <member name="split_offset" type="int" setter="set_split_offset" getter="get_split_offset">
+ <member name="split_offset" type="int" setter="set_split_offset" getter="get_split_offset" default="0">
</member>
</members>
<signals>
diff --git a/doc/classes/SpotLight.xml b/doc/classes/SpotLight.xml
index 7369189c72..93aee55b99 100644
--- a/doc/classes/SpotLight.xml
+++ b/doc/classes/SpotLight.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SpotLight" inherits="Light" category="Core" version="3.2">
<brief_description>
- Spotlight [Light], such as a reflector spotlight or a lantern.
+ A spotlight, such as a reflector spotlight or a lantern.
</brief_description>
<description>
- A SpotLight light is a type of [Light] node that emits lights in a specific direction, in the shape of a cone. The light is attenuated through the distance and this attenuation can be configured by changing the energy, radius and attenuation parameters of [Light].
+ A Spotlight is a type of [Light] node that emits lights in a specific direction, in the shape of a cone. The light is attenuated through the distance. This attenuation can be configured by changing the energy, radius and attenuation parameters of [Light].
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/3d/lights_and_shadows.html</link>
@@ -12,13 +12,17 @@
<methods>
</methods>
<members>
- <member name="spot_angle" type="float" setter="set_param" getter="get_param">
+ <member name="spot_angle" type="float" setter="set_param" getter="get_param" default="45.0">
+ The spotlight's angle in degrees.
</member>
- <member name="spot_angle_attenuation" type="float" setter="set_param" getter="get_param">
+ <member name="spot_angle_attenuation" type="float" setter="set_param" getter="get_param" default="1.0">
+ The spotlight's angular attenuation curve.
</member>
- <member name="spot_attenuation" type="float" setter="set_param" getter="get_param">
+ <member name="spot_attenuation" type="float" setter="set_param" getter="get_param" default="1.0">
+ The spotlight's light energy attenuation curve.
</member>
- <member name="spot_range" type="float" setter="set_param" getter="get_param">
+ <member name="spot_range" type="float" setter="set_param" getter="get_param" default="5.0">
+ The maximal range that can be reached by the spotlight.
</member>
</members>
<constants>
diff --git a/doc/classes/SpringArm.xml b/doc/classes/SpringArm.xml
index 50c6fef148..16b4b846e4 100644
--- a/doc/classes/SpringArm.xml
+++ b/doc/classes/SpringArm.xml
@@ -37,13 +37,13 @@
</method>
</methods>
<members>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
</member>
- <member name="margin" type="float" setter="set_margin" getter="get_margin">
+ <member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.01">
</member>
- <member name="shape" type="Shape" setter="set_shape" getter="get_shape">
+ <member name="shape" type="Shape" setter="set_shape" getter="get_shape" default="null">
</member>
- <member name="spring_length" type="float" setter="set_length" getter="get_length">
+ <member name="spring_length" type="float" setter="set_length" getter="get_length" default="1.0">
</member>
</members>
<constants>
diff --git a/doc/classes/Sprite.xml b/doc/classes/Sprite.xml
index 097a5f2ed2..c14ae43f66 100644
--- a/doc/classes/Sprite.xml
+++ b/doc/classes/Sprite.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Sprite" inherits="Node2D" category="Core" version="3.2">
<brief_description>
- General purpose Sprite node.
+ General-purpose sprite node.
</brief_description>
<description>
A node that displays a 2D texture. The texture displayed can be a region from a larger atlas texture, or a frame from a sprite sheet animation.
@@ -29,45 +29,45 @@
</argument>
<description>
Returns [code]true[/code], if the pixel at the given position is opaque and [code]false[/code] in other case.
- Note: It also returns [code]false[/code], if the sprite's texture is null or if the given position is invalid.
+ [b]Note:[/b] It also returns [code]false[/code], if the sprite's texture is [code]null[/code] or if the given position is invalid.
</description>
</method>
</methods>
<members>
- <member name="centered" type="bool" setter="set_centered" getter="is_centered">
- If [code]true[/code], texture is centered. Default value: [code]true[/code].
+ <member name="centered" type="bool" setter="set_centered" getter="is_centered" default="true">
+ If [code]true[/code], texture is centered.
</member>
- <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h">
- If [code]true[/code], texture is flipped horizontally. Default value: [code]false[/code].
+ <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false">
+ If [code]true[/code], texture is flipped horizontally.
</member>
- <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v">
- If [code]true[/code], texture is flipped vertically. Default value: [code]false[/code].
+ <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v" default="false">
+ If [code]true[/code], texture is flipped vertically.
</member>
- <member name="frame" type="int" setter="set_frame" getter="get_frame">
+ <member name="frame" type="int" setter="set_frame" getter="get_frame" default="0">
Current frame to display from sprite sheet. [member vframes] or [member hframes] must be greater than 1.
</member>
- <member name="hframes" type="int" setter="set_hframes" getter="get_hframes">
+ <member name="hframes" type="int" setter="set_hframes" getter="get_hframes" default="1">
The number of columns in the sprite sheet.
</member>
- <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map">
+ <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map" default="null">
The normal map gives depth to the Sprite.
</member>
- <member name="offset" type="Vector2" setter="set_offset" getter="get_offset">
+ <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
The texture's drawing offset.
</member>
- <member name="region_enabled" type="bool" setter="set_region" getter="is_region">
- If [code]true[/code], texture is cut from a larger atlas texture. See [member region_rect]. Default value: [code]false[/code].
+ <member name="region_enabled" type="bool" setter="set_region" getter="is_region" default="false">
+ If [code]true[/code], texture is cut from a larger atlas texture. See [member region_rect].
</member>
- <member name="region_filter_clip" type="bool" setter="set_region_filter_clip" getter="is_region_filter_clip_enabled">
+ <member name="region_filter_clip" type="bool" setter="set_region_filter_clip" getter="is_region_filter_clip_enabled" default="false">
If [code]true[/code], the outermost pixels get blurred out.
</member>
- <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect">
+ <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2( 0, 0, 0, 0 )">
The region of the atlas texture to display. [member region_enabled] must be [code]true[/code].
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
[Texture] object to draw.
</member>
- <member name="vframes" type="int" setter="set_vframes" getter="get_vframes">
+ <member name="vframes" type="int" setter="set_vframes" getter="get_vframes" default="1">
The number of rows in the sprite sheet.
</member>
</members>
diff --git a/doc/classes/Sprite3D.xml b/doc/classes/Sprite3D.xml
index 81fe182782..78004c60ee 100644
--- a/doc/classes/Sprite3D.xml
+++ b/doc/classes/Sprite3D.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Sprite3D" inherits="SpriteBase3D" category="Core" version="3.2">
<brief_description>
- 2D Sprite node in 3D world.
+ 2D sprite node in a 3D world.
</brief_description>
<description>
A node that displays a 2D texture in a 3D environment. The texture displayed can be a region from a larger atlas texture, or a frame from a sprite sheet animation.
@@ -11,22 +11,22 @@
<methods>
</methods>
<members>
- <member name="frame" type="int" setter="set_frame" getter="get_frame">
+ <member name="frame" type="int" setter="set_frame" getter="get_frame" default="0">
Current frame to display from sprite sheet. [member vframes] or [member hframes] must be greater than 1.
</member>
- <member name="hframes" type="int" setter="set_hframes" getter="get_hframes">
+ <member name="hframes" type="int" setter="set_hframes" getter="get_hframes" default="1">
The number of columns in the sprite sheet.
</member>
- <member name="region_enabled" type="bool" setter="set_region" getter="is_region">
- If [code]true[/code], texture will be cut from a larger atlas texture. See [member region_rect]. Default value: [code]false[/code].
+ <member name="region_enabled" type="bool" setter="set_region" getter="is_region" default="false">
+ If [code]true[/code], texture will be cut from a larger atlas texture. See [member region_rect].
</member>
- <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect">
+ <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2( 0, 0, 0, 0 )">
The region of the atlas texture to display. [member region_enabled] must be [code]true[/code].
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
[Texture] object to draw.
</member>
- <member name="vframes" type="int" setter="set_vframes" getter="get_vframes">
+ <member name="vframes" type="int" setter="set_vframes" getter="get_vframes" default="1">
The number of rows in the sprite sheet.
</member>
</members>
diff --git a/doc/classes/SpriteBase3D.xml b/doc/classes/SpriteBase3D.xml
index 50e00fe333..9c5ed213a8 100644
--- a/doc/classes/SpriteBase3D.xml
+++ b/doc/classes/SpriteBase3D.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SpriteBase3D" inherits="GeometryInstance" category="Core" version="3.2">
<brief_description>
- 2D Sprite node in 3D environment.
+ 2D sprite node in 3D environment.
</brief_description>
<description>
A node that displays 2D texture information in a 3D environment.
@@ -23,54 +23,54 @@
</method>
</methods>
<members>
- <member name="alpha_cut" type="int" setter="set_alpha_cut_mode" getter="get_alpha_cut_mode" enum="SpriteBase3D.AlphaCutMode">
+ <member name="alpha_cut" type="int" setter="set_alpha_cut_mode" getter="get_alpha_cut_mode" enum="SpriteBase3D.AlphaCutMode" default="0">
</member>
- <member name="axis" type="int" setter="set_axis" getter="get_axis" enum="Vector3.Axis">
+ <member name="axis" type="int" setter="set_axis" getter="get_axis" enum="Vector3.Axis" default="2">
The direction in which the front of the texture faces.
</member>
- <member name="centered" type="bool" setter="set_centered" getter="is_centered">
- If [code]true[/code], texture will be centered. Default value: [code]true[/code].
+ <member name="centered" type="bool" setter="set_centered" getter="is_centered" default="true">
+ If [code]true[/code], texture will be centered.
</member>
- <member name="double_sided" type="bool" setter="set_draw_flag" getter="get_draw_flag">
- If [code]true[/code], texture can be seen from the back as well, if [code]false[/code], it is invisible when looking at it from behind. Default value: [code]true[/code].
+ <member name="double_sided" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true">
+ If [code]true[/code], texture can be seen from the back as well, if [code]false[/code], it is invisible when looking at it from behind.
</member>
- <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h">
- If [code]true[/code], texture is flipped horizontally. Default value: [code]false[/code].
+ <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false">
+ If [code]true[/code], texture is flipped horizontally.
</member>
- <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v">
- If [code]true[/code], texture is flipped vertically. Default value: [code]false[/code].
+ <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v" default="false">
+ If [code]true[/code], texture is flipped vertically.
</member>
- <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate">
+ <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate" default="Color( 1, 1, 1, 1 )">
A color value that gets multiplied on, could be used for mood-coloring or to simulate the color of light.
</member>
- <member name="offset" type="Vector2" setter="set_offset" getter="get_offset">
+ <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
The texture's drawing offset.
</member>
- <member name="opacity" type="float" setter="set_opacity" getter="get_opacity">
+ <member name="opacity" type="float" setter="set_opacity" getter="get_opacity" default="1.0">
The objects visibility on a scale from [code]0[/code] fully invisible to [code]1[/code] fully visible.
</member>
- <member name="pixel_size" type="float" setter="set_pixel_size" getter="get_pixel_size">
- The size of one pixel's width on the Sprite to scale it in 3D.
+ <member name="pixel_size" type="float" setter="set_pixel_size" getter="get_pixel_size" default="0.01">
+ The size of one pixel's width on the sprite to scale it in 3D.
</member>
- <member name="shaded" type="bool" setter="set_draw_flag" getter="get_draw_flag">
- If [code]true[/code], the [Light] in the [Environment] has effects on the Sprite. Default value: [code]false[/code].
+ <member name="shaded" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false">
+ If [code]true[/code], the [Light] in the [Environment] has effects on the sprite.
</member>
- <member name="transparent" type="bool" setter="set_draw_flag" getter="get_draw_flag">
- If [code]true[/code], the texture's transparency and the opacity are used to make those parts of the Sprite invisible. Default value: [code]true[/code].
+ <member name="transparent" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true">
+ If [code]true[/code], the texture's transparency and the opacity are used to make those parts of the sprite invisible.
</member>
</members>
<constants>
<constant name="FLAG_TRANSPARENT" value="0" enum="DrawFlags">
- If set, the texture's transparency and the opacity are used to make those parts of the Sprite invisible.
+ If set, the texture's transparency and the opacity are used to make those parts of the sprite invisible.
</constant>
<constant name="FLAG_SHADED" value="1" enum="DrawFlags">
- If set, the Light in the Environment has effects on the Sprite.
+ If set, lights in the environment affect the sprite.
</constant>
<constant name="FLAG_DOUBLE_SIDED" value="2" enum="DrawFlags">
If set, texture can be seen from the back as well, if not, it is invisible when looking at it from behind.
</constant>
<constant name="FLAG_MAX" value="3" enum="DrawFlags">
- Used internally to mark the end of the Flags section.
+ Represents the size of the [enum DrawFlags] enum.
</constant>
<constant name="ALPHA_CUT_DISABLED" value="0" enum="AlphaCutMode">
</constant>
diff --git a/doc/classes/StaticBody.xml b/doc/classes/StaticBody.xml
index d2b7abebb1..878d76a2e3 100644
--- a/doc/classes/StaticBody.xml
+++ b/doc/classes/StaticBody.xml
@@ -4,8 +4,8 @@
Static body for 3D physics.
</brief_description>
<description>
- Static body for 3D physics. A static body is a simple body that is not intended to move. They don't consume any CPU resources in contrast to a [RigidBody] so they are great for scenario collision.
- A static body can also be animated by using simulated motion mode. This is useful for implementing functionalities such as moving platforms. When this mode is active the body can be animated and automatically computes linear and angular velocity to apply in that frame and to influence other bodies.
+ Static body for 3D physics. A static body is a simple body that is not intended to move. In contrast to [RigidBody], they don't consume any CPU resources as long as they don't move.
+ A static body can also be animated by using simulated motion mode. This is useful for implementing functionalities such as moving platforms. When this mode is active, the body can be animated and automatically computes linear and angular velocity to apply in that frame and to influence other bodies.
Alternatively, a constant linear or angular velocity can be set for the static body, so even if it doesn't move, it affects other bodies as if it was moving (this is useful for simulating conveyor belts or conveyor wheels).
</description>
<tutorials>
@@ -14,18 +14,20 @@
</methods>
<members>
<member name="bounce" type="float" setter="set_bounce" getter="get_bounce">
- The body bounciness.
+ The body's bounciness. Values range from [code]0[/code] (no bounce) to [code]1[/code] (full bounciness).
+ Deprecated, use [member PhysicsMaterial.bounce] instead via [member physics_material_override].
</member>
- <member name="constant_angular_velocity" type="Vector3" setter="set_constant_angular_velocity" getter="get_constant_angular_velocity">
- The constant angular velocity for the body. This does not rotate the body, but affects other bodies that touch it, as if it was in a state of rotation.
+ <member name="constant_angular_velocity" type="Vector3" setter="set_constant_angular_velocity" getter="get_constant_angular_velocity" default="Vector3( 0, 0, 0 )">
+ The body's constant angular velocity. This does not rotate the body, but affects other bodies that touch it, as if it was in a state of rotation.
</member>
- <member name="constant_linear_velocity" type="Vector3" setter="set_constant_linear_velocity" getter="get_constant_linear_velocity">
- The constant linear velocity for the body. This does not move the body, but affects other bodies that touch it, as if it was in a state of movement.
+ <member name="constant_linear_velocity" type="Vector3" setter="set_constant_linear_velocity" getter="get_constant_linear_velocity" default="Vector3( 0, 0, 0 )">
+ The body's constant linear velocity. This does not move the body, but affects other bodies that touch it, as if it was in a state of movement.
</member>
<member name="friction" type="float" setter="set_friction" getter="get_friction">
- The body friction, from 0 (frictionless) to 1 (full friction).
+ The body's friction, from 0 (frictionless) to 1 (full friction).
+ Deprecated, use [member PhysicsMaterial.friction] instead via [member physics_material_override].
</member>
- <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override">
+ <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override" default="null">
</member>
</members>
<constants>
diff --git a/doc/classes/StaticBody2D.xml b/doc/classes/StaticBody2D.xml
index 98b38e9e26..4522a50557 100644
--- a/doc/classes/StaticBody2D.xml
+++ b/doc/classes/StaticBody2D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="StaticBody2D" inherits="PhysicsBody2D" category="Core" version="3.2">
<brief_description>
- Static body for 2D Physics.
+ Static body for 2D physics.
</brief_description>
<description>
- Static body for 2D Physics. A StaticBody2D is a body that is not intended to move. It is ideal for implementing objects in the environment, such as walls or platforms.
+ Static body for 2D physics. A StaticBody2D is a body that is not intended to move. It is ideal for implementing objects in the environment, such as walls or platforms.
Additionally, a constant linear or angular velocity can be set for the static body, which will affect colliding bodies as if it were moving (for example, a conveyor belt).
</description>
<tutorials>
@@ -14,17 +14,19 @@
<members>
<member name="bounce" type="float" setter="set_bounce" getter="get_bounce">
The body's bounciness. Values range from [code]0[/code] (no bounce) to [code]1[/code] (full bounciness).
+ Deprecated, use [member PhysicsMaterial.bounce] instead via [member physics_material_override].
</member>
- <member name="constant_angular_velocity" type="float" setter="set_constant_angular_velocity" getter="get_constant_angular_velocity">
- Constant angular velocity for the body. This does not rotate the body, but affects colliding bodies, as if it were rotating.
+ <member name="constant_angular_velocity" type="float" setter="set_constant_angular_velocity" getter="get_constant_angular_velocity" default="0.0">
+ The body's constant angular velocity. This does not rotate the body, but affects colliding bodies, as if it were rotating.
</member>
- <member name="constant_linear_velocity" type="Vector2" setter="set_constant_linear_velocity" getter="get_constant_linear_velocity">
- Constant linear velocity for the body. This does not move the body, but affects colliding bodies, as if it were moving.
+ <member name="constant_linear_velocity" type="Vector2" setter="set_constant_linear_velocity" getter="get_constant_linear_velocity" default="Vector2( 0, 0 )">
+ The body's constant linear velocity. This does not move the body, but affects colliding bodies, as if it were moving.
</member>
<member name="friction" type="float" setter="set_friction" getter="get_friction">
The body's friction. Values range from [code]0[/code] (no friction) to [code]1[/code] (full friction).
+ Deprecated, use [member PhysicsMaterial.friction] instead via [member physics_material_override].
</member>
- <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override">
+ <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override" default="null">
</member>
</members>
<constants>
diff --git a/doc/classes/StreamPeer.xml b/doc/classes/StreamPeer.xml
index d278312fc3..678c587f8d 100644
--- a/doc/classes/StreamPeer.xml
+++ b/doc/classes/StreamPeer.xml
@@ -4,7 +4,7 @@
Abstraction and base class for stream-based protocols.
</brief_description>
<description>
- StreamPeer is an abstraction and base class for stream-based protocols (such as TCP or Unix Sockets). It provides an API for sending and receiving data through streams as raw data or strings.
+ StreamPeer is an abstraction and base class for stream-based protocols (such as TCP or UNIX sockets). It provides an API for sending and receiving data through streams as raw data or strings.
</description>
<tutorials>
</tutorials>
@@ -13,28 +13,28 @@
<return type="int">
</return>
<description>
- Get a signed 16 bit value from the stream.
+ Gets a signed 16-bit value from the stream.
</description>
</method>
<method name="get_32">
<return type="int">
</return>
<description>
- Get a signed 32 bit value from the stream.
+ Gets a signed 32-bit value from the stream.
</description>
</method>
<method name="get_64">
<return type="int">
</return>
<description>
- Get a signed 64 bit value from the stream.
+ Gets a signed 64-bit value from the stream.
</description>
</method>
<method name="get_8">
<return type="int">
</return>
<description>
- Get a signed byte from the stream.
+ Gets a signed byte from the stream.
</description>
</method>
<method name="get_available_bytes" qualifiers="const">
@@ -50,21 +50,21 @@
<argument index="0" name="bytes" type="int">
</argument>
<description>
- Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will block until the desired amount is received. This function returns two values, an Error code and a data array.
+ Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the [code]bytes[/code] argument. If not enough bytes are available, the function will block until the desired amount is received. This function returns two values, an [enum @GlobalScope.Error] code and a data array.
</description>
</method>
<method name="get_double">
<return type="float">
</return>
<description>
- Get a double-precision float from the stream.
+ Gets a double-precision float from the stream.
</description>
</method>
<method name="get_float">
<return type="float">
</return>
<description>
- Get a single-precision float from the stream.
+ Gets a single-precision float from the stream.
</description>
</method>
<method name="get_partial_data">
@@ -73,7 +73,7 @@
<argument index="0" name="bytes" type="int">
</argument>
<description>
- Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will return how many were actually received. This function returns two values, an Error code, and a data array.
+ Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will return how many were actually received. This function returns two values, an [enum @GlobalScope.Error] code, and a data array.
</description>
</method>
<method name="get_string">
@@ -82,35 +82,35 @@
<argument index="0" name="bytes" type="int" default="-1">
</argument>
<description>
- Get a string with byte-length [code]bytes[/code] from the stream. If [code]bytes[/code] is negative (default) the length will be read from the stream using the reverse process of [method put_string].
+ Gets a string with byte-length [code]bytes[/code] from the stream. If [code]bytes[/code] is negative (default) the length will be read from the stream using the reverse process of [method put_string].
</description>
</method>
<method name="get_u16">
<return type="int">
</return>
<description>
- Get an unsigned 16 bit value from the stream.
+ Gets an unsigned 16-bit value from the stream.
</description>
</method>
<method name="get_u32">
<return type="int">
</return>
<description>
- Get an unsigned 32 bit value from the stream.
+ Gets an unsigned 32-bit value from the stream.
</description>
</method>
<method name="get_u64">
<return type="int">
</return>
<description>
- Get an unsigned 64 bit value from the stream.
+ Gets an unsigned 64-bit value from the stream.
</description>
</method>
<method name="get_u8">
<return type="int">
</return>
<description>
- Get an unsigned byte from the stream.
+ Gets an unsigned byte from the stream.
</description>
</method>
<method name="get_utf8_string">
@@ -119,7 +119,7 @@
<argument index="0" name="bytes" type="int" default="-1">
</argument>
<description>
- Get a utf8 string with byte-length [code]bytes[/code] from the stream (this decodes the string sent as utf8). If [code]bytes[/code] is negative (default) the length will be read from the stream using the reverse process of [method put_utf8_string].
+ Gets an UTF-8 string with byte-length [code]bytes[/code] from the stream (this decodes the string sent as UTF-8). If [code]bytes[/code] is negative (default) the length will be read from the stream using the reverse process of [method put_utf8_string].
</description>
</method>
<method name="get_var">
@@ -128,8 +128,8 @@
<argument index="0" name="allow_objects" type="bool" default="false">
</argument>
<description>
- Get a Variant from the stream. When [code]allow_objects[/code] is [code]true[/code] decoding objects is allowed.
- [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
+ Gets a Variant from the stream. If [code]allow_objects[/code] is [code]true[/code], decoding objects is allowed.
+ [b]Warning:[/b] Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
</description>
</method>
<method name="put_16">
@@ -138,7 +138,7 @@
<argument index="0" name="value" type="int">
</argument>
<description>
- Put a signed 16 bit value into the stream.
+ Puts a signed 16-bit value into the stream.
</description>
</method>
<method name="put_32">
@@ -147,7 +147,7 @@
<argument index="0" name="value" type="int">
</argument>
<description>
- Put a signed 32 bit value into the stream.
+ Puts a signed 32-bit value into the stream.
</description>
</method>
<method name="put_64">
@@ -156,7 +156,7 @@
<argument index="0" name="value" type="int">
</argument>
<description>
- Put a signed 64 bit value into the stream.
+ Puts a signed 64-bit value into the stream.
</description>
</method>
<method name="put_8">
@@ -165,7 +165,7 @@
<argument index="0" name="value" type="int">
</argument>
<description>
- Put a signed byte into the stream.
+ Puts a signed byte into the stream.
</description>
</method>
<method name="put_data">
@@ -174,7 +174,7 @@
<argument index="0" name="data" type="PoolByteArray">
</argument>
<description>
- Send a chunk of data through the connection, blocking if necessary until the data is done sending. This function returns an Error code.
+ Sends a chunk of data through the connection, blocking if necessary until the data is done sending. This function returns an [enum @GlobalScope.Error] code.
</description>
</method>
<method name="put_double">
@@ -183,7 +183,7 @@
<argument index="0" name="value" type="float">
</argument>
<description>
- Put a double-precision float into the stream.
+ Puts a double-precision float into the stream.
</description>
</method>
<method name="put_float">
@@ -192,7 +192,7 @@
<argument index="0" name="value" type="float">
</argument>
<description>
- Put a single-precision float into the stream.
+ Puts a single-precision float into the stream.
</description>
</method>
<method name="put_partial_data">
@@ -201,7 +201,7 @@
<argument index="0" name="data" type="PoolByteArray">
</argument>
<description>
- Send a chunk of data through the connection, if all the data could not be sent at once, only part of it will. This function returns two values, an Error code and an integer, describing how much data was actually sent.
+ Sends a chunk of data through the connection. If all the data could not be sent at once, only part of it will. This function returns two values, an [enum @GlobalScope.Error] code and an integer, describing how much data was actually sent.
</description>
</method>
<method name="put_string">
@@ -210,7 +210,7 @@
<argument index="0" name="value" type="String">
</argument>
<description>
- Put a zero-terminated ascii string into the stream prepended by a 32 bits unsigned integer representing its size.
+ Puts a zero-terminated ASCII string into the stream prepended by a 32-bit unsigned integer representing its size.
</description>
</method>
<method name="put_u16">
@@ -219,7 +219,7 @@
<argument index="0" name="value" type="int">
</argument>
<description>
- Put an unsigned 16 bit value into the stream.
+ Puts an unsigned 16-bit value into the stream.
</description>
</method>
<method name="put_u32">
@@ -228,7 +228,7 @@
<argument index="0" name="value" type="int">
</argument>
<description>
- Put an unsigned 32 bit value into the stream.
+ Puts an unsigned 32-bit value into the stream.
</description>
</method>
<method name="put_u64">
@@ -237,7 +237,7 @@
<argument index="0" name="value" type="int">
</argument>
<description>
- Put an unsigned 64 bit value into the stream.
+ Puts an unsigned 64-bit value into the stream.
</description>
</method>
<method name="put_u8">
@@ -246,7 +246,7 @@
<argument index="0" name="value" type="int">
</argument>
<description>
- Put an unsigned byte into the stream.
+ Puts an unsigned byte into the stream.
</description>
</method>
<method name="put_utf8_string">
@@ -255,7 +255,7 @@
<argument index="0" name="value" type="String">
</argument>
<description>
- Put a zero-terminated utf8 string into the stream prepended by a 32 bits unsigned integer representing its size.
+ Puts a zero-terminated UTF-8 string into the stream prepended by a 32 bits unsigned integer representing its size.
</description>
</method>
<method name="put_var">
@@ -266,12 +266,12 @@
<argument index="1" name="full_objects" type="bool" default="false">
</argument>
<description>
- Put a Variant into the stream. When [code]full_objects[/code] is [code]true[/code] encoding objects is allowed (and can potentially include code).
+ Puts a Variant into the stream. If [code]full_objects[/code] is [code]true[/code] encoding objects is allowed (and can potentially include code).
</description>
</method>
</methods>
<members>
- <member name="big_endian" type="bool" setter="set_big_endian" getter="is_big_endian_enabled">
+ <member name="big_endian" type="bool" setter="set_big_endian" getter="is_big_endian_enabled" default="false">
If [code]true[/code], this [StreamPeer] will using big-endian format for encoding and decoding.
</member>
</members>
diff --git a/doc/classes/StreamPeerBuffer.xml b/doc/classes/StreamPeerBuffer.xml
index de4603b7c0..30a220863d 100644
--- a/doc/classes/StreamPeerBuffer.xml
+++ b/doc/classes/StreamPeerBuffer.xml
@@ -49,7 +49,7 @@
</method>
</methods>
<members>
- <member name="data_array" type="PoolByteArray" setter="set_data_array" getter="get_data_array">
+ <member name="data_array" type="PoolByteArray" setter="set_data_array" getter="get_data_array" default="PoolByteArray( )">
</member>
</members>
<constants>
diff --git a/doc/classes/StreamPeerSSL.xml b/doc/classes/StreamPeerSSL.xml
index f28e6e5544..9b5f4e7580 100644
--- a/doc/classes/StreamPeerSSL.xml
+++ b/doc/classes/StreamPeerSSL.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="StreamPeerSSL" inherits="StreamPeer" category="Core" version="3.2">
<brief_description>
- SSL Stream peer.
+ SSL stream peer.
</brief_description>
<description>
- SSL Stream peer. This object can be used to connect to SSL servers.
+ SSL stream peer. This object can be used to connect to SSL servers.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/networking/ssl_certificates.html</link>
@@ -28,33 +28,33 @@
<argument index="2" name="for_hostname" type="String" default="&quot;&quot;">
</argument>
<description>
- Connect to a peer using an underlying [StreamPeer] "stream", when "validate_certs" is [code]true[/code], [StreamPeerSSL] will validate that the certificate presented by the peer matches the "for_hostname".
+ Connects to a peer using an underlying [StreamPeer] [code]stream[/code]. If [code]validate_certs[/code] is [code]true[/code], [StreamPeerSSL] will validate that the certificate presented by the peer matches the [code]for_hostname[/code].
</description>
</method>
<method name="disconnect_from_stream">
<return type="void">
</return>
<description>
- Disconnect from host.
+ Disconnects from host.
</description>
</method>
<method name="get_status" qualifiers="const">
<return type="int" enum="StreamPeerSSL.Status">
</return>
<description>
- Returns the status of the connection, one of STATUS_* enum.
+ Returns the status of the connection. See [enum Status] for values.
</description>
</method>
<method name="poll">
<return type="void">
</return>
<description>
- Poll the connection to check for incoming bytes. Call this right before "get_available_bytes()" for it to work properly.
+ Poll the connection to check for incoming bytes. Call this right before [method StreamPeer.get_available_bytes] for it to work properly.
</description>
</method>
</methods>
<members>
- <member name="blocking_handshake" type="bool" setter="set_blocking_handshake_enabled" getter="is_blocking_handshake_enabled">
+ <member name="blocking_handshake" type="bool" setter="set_blocking_handshake_enabled" getter="is_blocking_handshake_enabled" default="true">
</member>
</members>
<constants>
diff --git a/doc/classes/StreamPeerTCP.xml b/doc/classes/StreamPeerTCP.xml
index 0edea42521..bee026c851 100644
--- a/doc/classes/StreamPeerTCP.xml
+++ b/doc/classes/StreamPeerTCP.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="StreamPeerTCP" inherits="StreamPeer" category="Core" version="3.2">
<brief_description>
- TCP Stream peer.
+ TCP stream peer.
</brief_description>
<description>
- TCP Stream peer. This object can be used to connect to TCP servers, or also is returned by a TCP server.
+ TCP stream peer. This object can be used to connect to TCP servers, or also is returned by a TCP server.
</description>
<tutorials>
</tutorials>
@@ -17,14 +17,14 @@
<argument index="1" name="port" type="int">
</argument>
<description>
- Connect to the specified host:port pair. A hostname will be resolved if valid. Returns [code]OK[/code] on success or [code]FAILED[/code] on failure.
+ Connects to the specified [code]host:port[/code] pair. A hostname will be resolved if valid. Returns [constant OK] on success or [constant FAILED] on failure.
</description>
</method>
<method name="disconnect_from_host">
<return type="void">
</return>
<description>
- Disconnect from host.
+ Disconnects from host.
</description>
</method>
<method name="get_connected_host" qualifiers="const">
@@ -45,7 +45,7 @@
<return type="int" enum="StreamPeerTCP.Status">
</return>
<description>
- Returns the status of the connection, see [enum StreamPeerTCP.Status].
+ Returns the status of the connection, see [enum Status].
</description>
</method>
<method name="is_connected_to_host" qualifiers="const">
@@ -61,14 +61,14 @@
<argument index="0" name="enabled" type="bool">
</argument>
<description>
- Disable Nagle algorithm to improve latency for small packets.
- Note that for applications that send large packets, or need to transfer a lot of data, this can reduce total bandwidth.
+ Disables Nagle's algorithm to improve latency for small packets.
+ [b]Note:[/b] For applications that send large packets or need to transfer a lot of data, this can decrease the total available bandwidth.
</description>
</method>
</methods>
<constants>
<constant name="STATUS_NONE" value="0" enum="Status">
- The initial status of the [StreamPeerTCP], also the status after a disconnect.
+ The initial status of the [StreamPeerTCP]. This is also the status after disconnecting.
</constant>
<constant name="STATUS_CONNECTING" value="1" enum="Status">
A status representing a [StreamPeerTCP] that is connecting to a host.
diff --git a/doc/classes/StreamTexture.xml b/doc/classes/StreamTexture.xml
index 1ff2500d1a..20cbadb5f0 100644
--- a/doc/classes/StreamTexture.xml
+++ b/doc/classes/StreamTexture.xml
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="StreamTexture" inherits="Texture" category="Core" version="3.2">
<brief_description>
- A .stex texture.
+ A [code].stex[/code] texture.
</brief_description>
<description>
- A texture that is loaded from a .stex file.
+ A texture that is loaded from a [code].stex[/code] file.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="load_path" type="String" setter="load" getter="get_load_path">
- The StreamTexture's filepath to a .stex file.
+ <member name="load_path" type="String" setter="load" getter="get_load_path" default="&quot;&quot;">
+ The StreamTexture's file path to a [code].stex[/code] file.
</member>
</members>
<constants>
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index ff0572f384..2b16bd2b33 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -260,7 +260,7 @@
<return type="String">
</return>
<description>
- Changes the case of some letters. Replaces underscores with spaces, converts all letters to lowercase, then capitalizes first and every letter following the space character. For [code]capitalize camelCase mixed_with_underscores[/code] it will return [code]Capitalize Camelcase Mixed With Underscores[/code].
+ Changes the case of some letters. Replaces underscores with spaces, converts all letters to lowercase, then capitalizes first and every letter following the space character. For [code]capitalize camelCase mixed_with_underscores[/code], it will return [code]Capitalize Camelcase Mixed With Underscores[/code].
</description>
</method>
<method name="casecmp_to">
@@ -276,7 +276,7 @@
<return type="String">
</return>
<description>
- Removes indentation from string.
+ Returns a copy of the string with indentation (leading tabs and spaces) removed.
</description>
</method>
<method name="empty">
@@ -388,6 +388,18 @@
Converts a string containing a hexadecimal number into an integer.
</description>
</method>
+ <method name="http_escape">
+ <return type="String">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="http_unescape">
+ <return type="String">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="insert">
<return type="String">
</return>
@@ -459,7 +471,7 @@
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if this string contains a valid color in HTML notation.
+ Returns [code]true[/code] if this string contains a valid color in hexadecimal HTML notation. Other HTML notations such as named colors or [code]hsl()[/code] colors aren't considered valid by this method and will return [code]false[/code].
</description>
</method>
<method name="is_valid_identifier">
@@ -521,7 +533,7 @@
<argument index="0" name="expr" type="String">
</argument>
<description>
- Does a simple expression match, where [code]*[/code] matches zero or more arbitrary characters and [code]?[/code] matches any single character except '.'.
+ Does a simple case-sensitive expression match, where [code]"*"[/code] matches zero or more arbitrary characters and [code]"?"[/code] matches any single character except a period ([code]"."[/code]).
</description>
</method>
<method name="matchn">
@@ -530,7 +542,7 @@
<argument index="0" name="expr" type="String">
</argument>
<description>
- Does a simple case insensitive expression match, using [code]?[/code] and [code]*[/code] wildcards (see [method match]).
+ Does a simple case-insensitive expression match, where [code]"*"[/code] matches zero or more arbitrary characters and [code]"?"[/code] matches any single character except a period ([code]"."[/code]).
</description>
</method>
<method name="md5_buffer">
@@ -614,7 +626,7 @@
<argument index="1" name="forwhat" type="String">
</argument>
<description>
- Replaces occurrences of a substring with the given one inside the string.
+ Replaces occurrences of a case-sensitive substring with the given one inside the string.
</description>
</method>
<method name="replacen">
@@ -625,7 +637,7 @@
<argument index="1" name="forwhat" type="String">
</argument>
<description>
- Replaces occurrences of a substring with the given one inside the string. Ignores case.
+ Replaces occurrences of a case-insensitive substring with the given one inside the string.
</description>
</method>
<method name="rfind">
@@ -636,7 +648,7 @@
<argument index="1" name="from" type="int" default="-1">
</argument>
<description>
- Performs a search for a substring, but starts from the end of the string instead of the beginning.
+ Performs a case-sensitive search for a substring, but starts from the end of the string instead of the beginning.
</description>
</method>
<method name="rfindn">
@@ -647,7 +659,7 @@
<argument index="1" name="from" type="int" default="-1">
</argument>
<description>
- Performs a search for a substring, but starts from the end of the string instead of the beginning. Ignores case.
+ Performs a case-insensitive search for a substring, but starts from the end of the string instead of the beginning.
</description>
</method>
<method name="right">
@@ -672,7 +684,7 @@
Splits the string by a [code]delimiter[/code] string and returns an array of the substrings, starting from right.
The splits in the returned array are sorted in the same order as the original string, from left to right.
If [code]maxsplit[/code] is specified, it defines the number of splits to do from the right up to [code]maxsplit[/code]. The default value of 0 means that all items are split, thus giving the same result as [method split].
- [b]Example:[/b] [code]"One,Two,Three,Four"[/code] will return [code]["Three","Four"][/code] if split by [code]","[/code] with [code]maxsplit[/code] of 2.
+ For example, [code]"One,Two,Three,Four"[/code] will return [code]["Three","Four"][/code] if split by [code]","[/code] with a [code]maxsplit[/code] value of 2.
</description>
</method>
<method name="rstrip">
@@ -719,7 +731,7 @@
<description>
Splits the string by a [code]delimiter[/code] string and returns an array of the substrings.
If [code]maxsplit[/code] is specified, it defines the number of splits to do from the left up to [code]maxsplit[/code]. The default value of 0 means that all items are split.
- [b]Example:[/b] [code]"One,Two,Three"[/code] will return [code]["One","Two"][/code] if split by [code]","[/code] with [code]maxsplit[/code] of 2.
+ For example, [code]"One,Two,Three"[/code] will return [code]["One","Two"][/code] if split by [code]","[/code] with a [code]maxsplit[/code] value of 2.
</description>
</method>
<method name="split_floats">
@@ -731,7 +743,7 @@
</argument>
<description>
Splits the string in floats by using a delimiter string and returns an array of the substrings.
- [b]Example:[/b] [code]"1,2.5,3"[/code] will return [code][1,2.5,3][/code] if split by [code]","[/code].
+ For example, [code]"1,2.5,3"[/code] will return [code][1,2.5,3][/code] if split by [code]","[/code].
</description>
</method>
<method name="strip_edges">
@@ -767,7 +779,7 @@
<return type="PoolByteArray">
</return>
<description>
- Converts the String (which is a character array) to [PoolByteArray] (which is an array of bytes). The conversion is sped up in comparison to [method to_utf8] with the assumption that all the characters the String contains are only ASCII characters.
+ Converts the String (which is a character array) to [PoolByteArray] (which is an array of bytes). The conversion is faster compared to [method to_utf8], as this method assumes that all the characters in the String are ASCII characters.
</description>
</method>
<method name="to_float">
diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml
index a156f134e7..6b8f076211 100644
--- a/doc/classes/StyleBox.xml
+++ b/doc/classes/StyleBox.xml
@@ -37,7 +37,7 @@
<argument index="0" name="margin" type="int" enum="Margin">
</argument>
<description>
- Returns the content margin offset for the specified margin
+ Returns the content margin offset for the specified margin.
Positive values reduce size inwards, unlike [Control]'s margin values.
</description>
</method>
@@ -52,7 +52,7 @@
<return type="Vector2">
</return>
<description>
- Returns the "offset" of a stylebox, this is a helper function, like writing [code]Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))[/code].
+ Returns the "offset" of a stylebox. This helper function returns a value equivalent to [code]Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))[/code].
</description>
</method>
<method name="test_mask" qualifiers="const">
@@ -68,21 +68,21 @@
</method>
</methods>
<members>
- <member name="content_margin_bottom" type="float" setter="set_default_margin" getter="get_default_margin">
+ <member name="content_margin_bottom" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
The bottom margin for the contents of this style box. Increasing this value reduces the space available to the contents from the bottom.
If this value is negative, it is ignored and a child-specific margin is used instead. For example for [StyleBoxFlat] the border thickness (if any) is used instead.
It is up to the code using this style box to decide what these contents are: for example, a [Button] respects this content margin for the textual contents of the button.
[method get_margin] should be used to fetch this value as consumer instead of reading these properties directly. This is because it correctly respects negative values and the fallback mentioned above.
</member>
- <member name="content_margin_left" type="float" setter="set_default_margin" getter="get_default_margin">
+ <member name="content_margin_left" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
The left margin for the contents of this style box. Increasing this value reduces the space available to the contents from the left.
Refer to [member content_margin_bottom] for extra considerations.
</member>
- <member name="content_margin_right" type="float" setter="set_default_margin" getter="get_default_margin">
+ <member name="content_margin_right" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
The right margin for the contents of this style box. Increasing this value reduces the space available to the contents from the right.
Refer to [member content_margin_bottom] for extra considerations.
</member>
- <member name="content_margin_top" type="float" setter="set_default_margin" getter="get_default_margin">
+ <member name="content_margin_top" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
The top margin for the contents of this style box. Increasing this value reduces the space available to the contents from the top.
Refer to [member content_margin_bottom] for extra considerations.
</member>
diff --git a/doc/classes/StyleBoxFlat.xml b/doc/classes/StyleBoxFlat.xml
index ffee7366a3..28f49f831c 100644
--- a/doc/classes/StyleBoxFlat.xml
+++ b/doc/classes/StyleBoxFlat.xml
@@ -9,7 +9,7 @@
- Border width (individual width for each border)
- Rounded corners (individual radius for each corner)
- Shadow
- Setting corner radius to high values is allowed. As soon as corners would overlap the stylebox will switch to a relative system. Example:
+ Setting corner radius to high values is allowed. As soon as corners would overlap, the stylebox will switch to a relative system. Example:
[codeblock]
height = 30
corner_radius_top_left = 50
@@ -84,72 +84,71 @@
</method>
</methods>
<members>
- <member name="anti_aliasing" type="bool" setter="set_anti_aliased" getter="is_anti_aliased">
- Anti Aliasing draws a small ring around edges. This ring fades to transparent. As a result edges look much smoother. This is only noticeable when using rounded corners.
+ <member name="anti_aliasing" type="bool" setter="set_anti_aliased" getter="is_anti_aliased" default="true">
+ Antialiasing draws a small ring around the edges, which fades to transparency. As a result, edges look much smoother. This is only noticeable when using rounded corners.
</member>
- <member name="anti_aliasing_size" type="int" setter="set_aa_size" getter="get_aa_size">
+ <member name="anti_aliasing_size" type="int" setter="set_aa_size" getter="get_aa_size" default="1">
This changes the size of the faded ring. Higher values can be used to achieve a "blurry" effect.
</member>
- <member name="bg_color" type="Color" setter="set_bg_color" getter="get_bg_color">
+ <member name="bg_color" type="Color" setter="set_bg_color" getter="get_bg_color" default="Color( 0.6, 0.6, 0.6, 1 )">
The background color of the stylebox.
</member>
- <member name="border_blend" type="bool" setter="set_border_blend" getter="get_border_blend">
- When set to [code]true[/code], the border will fade into the background color.
+ <member name="border_blend" type="bool" setter="set_border_blend" getter="get_border_blend" default="false">
+ If [code]true[/code], the border will fade into the background color.
</member>
- <member name="border_color" type="Color" setter="set_border_color" getter="get_border_color">
+ <member name="border_color" type="Color" setter="set_border_color" getter="get_border_color" default="Color( 0.8, 0.8, 0.8, 1 )">
Sets the color of the border.
</member>
- <member name="border_width_bottom" type="int" setter="set_border_width" getter="get_border_width">
+ <member name="border_width_bottom" type="int" setter="set_border_width" getter="get_border_width" default="0">
Border width for the bottom border.
</member>
- <member name="border_width_left" type="int" setter="set_border_width" getter="get_border_width">
+ <member name="border_width_left" type="int" setter="set_border_width" getter="get_border_width" default="0">
Border width for the left border.
</member>
- <member name="border_width_right" type="int" setter="set_border_width" getter="get_border_width">
+ <member name="border_width_right" type="int" setter="set_border_width" getter="get_border_width" default="0">
Border width for the right border.
</member>
- <member name="border_width_top" type="int" setter="set_border_width" getter="get_border_width">
+ <member name="border_width_top" type="int" setter="set_border_width" getter="get_border_width" default="0">
Border width for the top border.
</member>
- <member name="corner_detail" type="int" setter="set_corner_detail" getter="get_corner_detail">
- This sets the amount of vertices used for each corner. Higher values result in rounder corners but take more processing power to compute. When choosing a value you should take the corner radius ([method set_corner_radius_all]) into account.
- For corner radius smaller than 10, 4-5 should be enough.
- For corner radius smaller than 30, 8-12 should be enough.
+ <member name="corner_detail" type="int" setter="set_corner_detail" getter="get_corner_detail" default="8">
+ This sets the amount of vertices used for each corner. Higher values result in rounder corners but take more processing power to compute. When choosing a value, you should take the corner radius ([method set_corner_radius_all]) into account.
+ For corner radii smaller than 10, 4-5 should be enough. For corner radii smaller than 30, 8-12 should be enough.
</member>
- <member name="corner_radius_bottom_left" type="int" setter="set_corner_radius" getter="get_corner_radius">
- The corner radius of the bottom left corner. When set to 0 the corner is not rounded.
+ <member name="corner_radius_bottom_left" type="int" setter="set_corner_radius" getter="get_corner_radius" default="0">
+ The bottom-left corner's radius. If [code]0[/code], the corner is not rounded.
</member>
- <member name="corner_radius_bottom_right" type="int" setter="set_corner_radius" getter="get_corner_radius">
- The corner radius of the bottom right corner. When set to 0 the corner is not rounded.
+ <member name="corner_radius_bottom_right" type="int" setter="set_corner_radius" getter="get_corner_radius" default="0">
+ The bottom-right corner's radius. If [code]0[/code], the corner is not rounded.
</member>
- <member name="corner_radius_top_left" type="int" setter="set_corner_radius" getter="get_corner_radius">
- The corner radius of the top left corner. When set to 0 the corner is not rounded.
+ <member name="corner_radius_top_left" type="int" setter="set_corner_radius" getter="get_corner_radius" default="0">
+ The top-left corner's radius. If [code]0[/code], the corner is not rounded.
</member>
- <member name="corner_radius_top_right" type="int" setter="set_corner_radius" getter="get_corner_radius">
- The corner radius of the top right corner. When set to 0 the corner is not rounded.
+ <member name="corner_radius_top_right" type="int" setter="set_corner_radius" getter="get_corner_radius" default="0">
+ The top-right corner's radius. If [code]0[/code], the corner is not rounded.
</member>
- <member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled">
- Toggels drawing of the inner part of the stylebox.
+ <member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled" default="true">
+ Toggles drawing of the inner part of the stylebox.
</member>
- <member name="expand_margin_bottom" type="float" setter="set_expand_margin" getter="get_expand_margin">
- Expands the stylebox outside of the control rect on the bottom edge. Useful in combination with border_width_bottom. To draw a border outside the control rect.
+ <member name="expand_margin_bottom" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
+ Expands the stylebox outside of the control rect on the bottom edge. Useful in combination with [member border_width_bottom] to draw a border outside the control rect.
</member>
- <member name="expand_margin_left" type="float" setter="set_expand_margin" getter="get_expand_margin">
- Expands the stylebox outside of the control rect on the left edge. Useful in combination with border_width_left. To draw a border outside the control rect.
+ <member name="expand_margin_left" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
+ Expands the stylebox outside of the control rect on the left edge. Useful in combination with [member border_width_left] to draw a border outside the control rect.
</member>
- <member name="expand_margin_right" type="float" setter="set_expand_margin" getter="get_expand_margin">
- Expands the stylebox outside of the control rect on the right edge. Useful in combination with border_width_right. To draw a border outside the control rect.
+ <member name="expand_margin_right" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
+ Expands the stylebox outside of the control rect on the right edge. Useful in combination with [member border_width_right] to draw a border outside the control rect.
</member>
- <member name="expand_margin_top" type="float" setter="set_expand_margin" getter="get_expand_margin">
- Expands the stylebox outside of the control rect on the top edge. Useful in combination with border_width_top. To draw a border outside the control rect.
+ <member name="expand_margin_top" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
+ Expands the stylebox outside of the control rect on the top edge. Useful in combination with [member border_width_top] to draw a border outside the control rect.
</member>
- <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color">
- The color of the shadow. (This has no effect when shadow_size &lt; 1)
+ <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color( 0, 0, 0, 0.6 )">
+ The color of the shadow. This has no effect if [member shadow_size] is lower than 1.
</member>
- <member name="shadow_offset" type="Vector2" setter="set_shadow_offset" getter="get_shadow_offset">
+ <member name="shadow_offset" type="Vector2" setter="set_shadow_offset" getter="get_shadow_offset" default="Vector2( 0, 0 )">
The shadow offset in pixels. Adjusts the position of the shadow relatively to the stylebox.
</member>
- <member name="shadow_size" type="int" setter="set_shadow_size" getter="get_shadow_size">
+ <member name="shadow_size" type="int" setter="set_shadow_size" getter="get_shadow_size" default="0">
The shadow size in pixels.
</member>
</members>
diff --git a/doc/classes/StyleBoxLine.xml b/doc/classes/StyleBoxLine.xml
index aa306291c8..c0745c5f39 100644
--- a/doc/classes/StyleBoxLine.xml
+++ b/doc/classes/StyleBoxLine.xml
@@ -9,15 +9,15 @@
<methods>
</methods>
<members>
- <member name="color" type="Color" setter="set_color" getter="get_color">
+ <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 0, 0, 0, 1 )">
</member>
- <member name="grow_begin" type="float" setter="set_grow_begin" getter="get_grow_begin">
+ <member name="grow_begin" type="float" setter="set_grow_begin" getter="get_grow_begin" default="1.0">
</member>
- <member name="grow_end" type="float" setter="set_grow_end" getter="get_grow_end">
+ <member name="grow_end" type="float" setter="set_grow_end" getter="get_grow_end" default="1.0">
</member>
- <member name="thickness" type="int" setter="set_thickness" getter="get_thickness">
+ <member name="thickness" type="int" setter="set_thickness" getter="get_thickness" default="1">
</member>
- <member name="vertical" type="bool" setter="set_vertical" getter="is_vertical">
+ <member name="vertical" type="bool" setter="set_vertical" getter="is_vertical" default="false">
</member>
</members>
<constants>
diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml
index 8e55795053..e51120f269 100644
--- a/doc/classes/StyleBoxTexture.xml
+++ b/doc/classes/StyleBoxTexture.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="StyleBoxTexture" inherits="StyleBox" category="Core" version="3.2">
<brief_description>
- Texture Based 3x3 scale style.
+ Texture-based nine-patch [StyleBox].
</brief_description>
<description>
- Texture Based 3x3 scale style. This stylebox performs a 3x3 scaling of a texture, where only the center cell is fully stretched. This allows for the easy creation of bordered styles.
+ Texture-based nine-patch [StyleBox], in a way similar to [NinePatchRect]. This stylebox performs a 3×3 scaling of a texture, where only the center cell is fully stretched. This makes it possible to design bordered styles regardless of the stylebox's size.
</description>
<tutorials>
</tutorials>
@@ -33,55 +33,55 @@
</method>
</methods>
<members>
- <member name="axis_stretch_horizontal" type="int" setter="set_h_axis_stretch_mode" getter="get_h_axis_stretch_mode" enum="StyleBoxTexture.AxisStretchMode">
+ <member name="axis_stretch_horizontal" type="int" setter="set_h_axis_stretch_mode" getter="get_h_axis_stretch_mode" enum="StyleBoxTexture.AxisStretchMode" default="0">
</member>
- <member name="axis_stretch_vertical" type="int" setter="set_v_axis_stretch_mode" getter="get_v_axis_stretch_mode" enum="StyleBoxTexture.AxisStretchMode">
+ <member name="axis_stretch_vertical" type="int" setter="set_v_axis_stretch_mode" getter="get_v_axis_stretch_mode" enum="StyleBoxTexture.AxisStretchMode" default="0">
</member>
- <member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled">
+ <member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled" default="true">
</member>
- <member name="expand_margin_bottom" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size">
- Expands the bottom margin of this style box when drawing, causing it be drawn larger than requested.
+ <member name="expand_margin_bottom" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size" default="0.0">
+ Expands the bottom margin of this style box when drawing, causing it to be drawn larger than requested.
</member>
- <member name="expand_margin_left" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size">
- Expands the left margin of this style box when drawing, causing it be drawn larger than requested.
+ <member name="expand_margin_left" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size" default="0.0">
+ Expands the left margin of this style box when drawing, causing it to be drawn larger than requested.
</member>
- <member name="expand_margin_right" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size">
- Expands the right margin of this style box when drawing, causing it be drawn larger than requested.
+ <member name="expand_margin_right" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size" default="0.0">
+ Expands the right margin of this style box when drawing, causing it to be drawn larger than requested.
</member>
- <member name="expand_margin_top" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size">
- Expands the top margin of this style box when drawing, causing it be drawn larger than requested.
+ <member name="expand_margin_top" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size" default="0.0">
+ Expands the top margin of this style box when drawing, causing it to be drawn larger than requested.
</member>
- <member name="margin_bottom" type="float" setter="set_margin_size" getter="get_margin_size">
- Increases the bottom margin of the 3x3 texture box.
- A higher value means more of the source texture is considered to be part of the bottom border of the 3x3 box.
+ <member name="margin_bottom" type="float" setter="set_margin_size" getter="get_margin_size" default="0.0">
+ Increases the bottom margin of the 3×3 texture box.
+ A higher value means more of the source texture is considered to be part of the bottom border of the 3×3 box.
This is also the value used as fallback for [member StyleBox.content_margin_bottom] if it is negative.
</member>
- <member name="margin_left" type="float" setter="set_margin_size" getter="get_margin_size">
- Increases the left margin of the 3x3 texture box.
- A higher value means more of the source texture is considered to be part of the left border of the 3x3 box.
+ <member name="margin_left" type="float" setter="set_margin_size" getter="get_margin_size" default="0.0">
+ Increases the left margin of the 3×3 texture box.
+ A higher value means more of the source texture is considered to be part of the left border of the 3×3 box.
This is also the value used as fallback for [member StyleBox.content_margin_left] if it is negative.
</member>
- <member name="margin_right" type="float" setter="set_margin_size" getter="get_margin_size">
- Increases the right margin of the 3x3 texture box.
- A higher value means more of the source texture is considered to be part of the right border of the 3x3 box.
+ <member name="margin_right" type="float" setter="set_margin_size" getter="get_margin_size" default="0.0">
+ Increases the right margin of the 3×3 texture box.
+ A higher value means more of the source texture is considered to be part of the right border of the 3×3 box.
This is also the value used as fallback for [member StyleBox.content_margin_right] if it is negative.
</member>
- <member name="margin_top" type="float" setter="set_margin_size" getter="get_margin_size">
- Increases the top margin of the 3x3 texture box.
- A higher value means more of the source texture is considered to be part of the top border of the 3x3 box.
+ <member name="margin_top" type="float" setter="set_margin_size" getter="get_margin_size" default="0.0">
+ Increases the top margin of the 3×3 texture box.
+ A higher value means more of the source texture is considered to be part of the top border of the 3×3 box.
This is also the value used as fallback for [member StyleBox.content_margin_top] if it is negative.
</member>
- <member name="modulate_color" type="Color" setter="set_modulate" getter="get_modulate">
+ <member name="modulate_color" type="Color" setter="set_modulate" getter="get_modulate" default="Color( 1, 1, 1, 1 )">
Modulates the color of the texture when this style box is drawn.
</member>
- <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map">
+ <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map" default="null">
The normal map to use when drawing this style box.
</member>
- <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect">
+ <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2( 0, 0, 0, 0 )">
Species a sub region of the texture to use.
This is equivalent to first wrapping the texture in an [AtlasTexture] with the same region.
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
The texture to use when drawing this style box.
</member>
</members>
diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml
index e97f9995ee..153d88f1af 100644
--- a/doc/classes/SurfaceTool.xml
+++ b/doc/classes/SurfaceTool.xml
@@ -4,7 +4,7 @@
Helper tool to create geometry.
</brief_description>
<description>
- The [SurfaceTool] is used to construct a [Mesh] by specifying vertex attributes individually. It can be used to construct a [Mesh] from script. All properties except index need to be added before a call to [method add_vertex]. For example adding vertex colors and UVs looks like
+ The [SurfaceTool] is used to construct a [Mesh] by specifying vertex attributes individually. It can be used to construct a [Mesh] from a script. All properties except indices need to be added before calling [method add_vertex]. For example, to add vertex colors and UVs:
[codeblock]
var st = SurfaceTool.new()
st.begin(Mesh.PRIMITIVE_TRIANGLES)
@@ -12,9 +12,9 @@
st.add_uv(Vector2(0, 0))
st.add_vertex(Vector3(0, 0, 0))
[/codeblock]
- The [SurfaceTool] now contains one vertex of a triangle which has a UV coordinate and a specified [Color]. If another vertex were added without calls to [method add_uv] or [method add_color] then the last values would be used.
- It is very important that vertex attributes are passed [b]before[/b] the call to [method add_vertex], failure to do this will result in an error when committing the vertex information to a mesh.
- Additionally, the attributes used before the first vertex is added determine the format of the mesh. For example if you only add UVs to the first vertex, you cannot add color to any of the subsequent vertices.
+ The above [SurfaceTool] now contains one vertex of a triangle which has a UV coordinate and a specified [Color]. If another vertex were added without calling [method add_uv] or [method add_color], then the last values would be used.
+ Vertex attributes must be passed [b]before[/b] calling [method add_vertex]. Failure to do so will result in an error when committing the vertex information to a mesh.
+ Additionally, the attributes used before the first vertex is added determine the format of the mesh. For example, if you only add UVs to the first vertex, you cannot add color to any of the subsequent vertices.
</description>
<tutorials>
</tutorials>
@@ -25,7 +25,7 @@
<argument index="0" name="bones" type="PoolIntArray">
</argument>
<description>
- Add an array of bones for the next Vertex to use. Array must contain 4 integers.
+ Adds an array of bones for the next vertex to use. [code]bones[/code] must contain 4 integers.
</description>
</method>
<method name="add_color">
@@ -34,7 +34,7 @@
<argument index="0" name="color" type="Color">
</argument>
<description>
- Specify a [Color] for the next Vertex to use.
+ Specifies a [Color] for the next vertex to use.
</description>
</method>
<method name="add_index">
@@ -43,7 +43,7 @@
<argument index="0" name="index" type="int">
</argument>
<description>
- Adds an index to index array if you are using indexed Vertices. Does not need to be called before adding Vertex.
+ Adds an index to index array if you are using indexed vertices. Does not need to be called before adding vertices.
</description>
</method>
<method name="add_normal">
@@ -52,7 +52,7 @@
<argument index="0" name="normal" type="Vector3">
</argument>
<description>
- Specify a normal for the next Vertex to use.
+ Specifies a normal for the next vertex to use.
</description>
</method>
<method name="add_smooth_group">
@@ -61,7 +61,7 @@
<argument index="0" name="smooth" type="bool">
</argument>
<description>
- Specify whether current Vertex (if using only Vertex arrays) or current index (if also using index arrays) should utilize smooth normals for normal calculation.
+ Specifies whether the current vertex (if using only vertex arrays) or current index (if also using index arrays) should use smooth normals for normal calculation.
</description>
</method>
<method name="add_tangent">
@@ -70,7 +70,7 @@
<argument index="0" name="tangent" type="Plane">
</argument>
<description>
- Specify a Tangent for the next Vertex to use.
+ Specifies a tangent for the next vertex to use.
</description>
</method>
<method name="add_triangle_fan">
@@ -89,8 +89,8 @@
<argument index="5" name="tangents" type="Array" default="[ ]">
</argument>
<description>
- Insert a triangle fan made of array data into [Mesh] being constructed.
- Requires primitive type be set to [code]PRIMITIVE_TRIANGLES[/code].
+ Inserts a triangle fan made of array data into [Mesh] being constructed.
+ Requires the primitive type be set to [constant Mesh.PRIMITIVE_TRIANGLES].
</description>
</method>
<method name="add_uv">
@@ -99,7 +99,7 @@
<argument index="0" name="uv" type="Vector2">
</argument>
<description>
- Specify UV Coordinate for next Vertex to use.
+ Specifies a set of UV coordinates to use for the next vertex.
</description>
</method>
<method name="add_uv2">
@@ -108,7 +108,7 @@
<argument index="0" name="uv2" type="Vector2">
</argument>
<description>
- Specify an optional second set of UV coordinates for next Vertex to use.
+ Specifies an optional second set of UV coordinates to use for the next vertex.
</description>
</method>
<method name="add_vertex">
@@ -117,7 +117,7 @@
<argument index="0" name="vertex" type="Vector3">
</argument>
<description>
- Specify position of current Vertex. Should be called after specifying other vertex properties (e.g. Color, UV).
+ Specifies the position of current vertex. Should be called after specifying other vertex properties (e.g. Color, UV).
</description>
</method>
<method name="add_weights">
@@ -126,7 +126,7 @@
<argument index="0" name="weights" type="PoolRealArray">
</argument>
<description>
- Specify weight values for next Vertex to use. Array must contain 4 values.
+ Specifies weight values for next vertex to use. [code]weights[/code] must contain 4 values.
</description>
</method>
<method name="append_from">
@@ -148,7 +148,7 @@
<argument index="0" name="primitive" type="int" enum="Mesh.PrimitiveType">
</argument>
<description>
- Called before adding any Vertices. Takes the primitive type as an argument (e.g. Mesh.PRIMITIVE_TRIANGLES).
+ Called before adding any vertices. Takes the primitive type as an argument (e.g. [constant Mesh.PRIMITIVE_TRIANGLES]).
</description>
</method>
<method name="clear">
@@ -202,7 +202,7 @@
<return type="void">
</return>
<description>
- Removes index array by expanding Vertex array.
+ Removes the index array by expanding the vertex array.
</description>
</method>
<method name="generate_normals">
@@ -211,24 +211,22 @@
<argument index="0" name="flip" type="bool" default="false">
</argument>
<description>
- Generates normals from Vertices so you do not have to do it manually.
- Setting "flip" [code]true[/code] inverts resulting normals.
- Requires primitive type to be set to [code]PRIMITIVE_TRIANGLES[/code].
+ Generates normals from vertices so you do not have to do it manually. If [code]flip[/code] is [code]true[/code], the resulting normals will be inverted.
+ Requires the primitive type to be set to [constant Mesh.PRIMITIVE_TRIANGLES].
</description>
</method>
<method name="generate_tangents">
<return type="void">
</return>
<description>
- Generates a tangent vector for each vertex.
- Requires that each vertex have UVs and normals set already.
+ Generates a tangent vector for each vertex. Requires that each vertex have UVs and normals set already.
</description>
</method>
<method name="index">
<return type="void">
</return>
<description>
- Shrinks Vertex array by creating an index array. Avoids reusing Vertices.
+ Shrinks the vertex array by creating an index array (avoids reusing vertices).
</description>
</method>
<method name="set_material">
diff --git a/doc/classes/TCP_Server.xml b/doc/classes/TCP_Server.xml
index 663d3248e8..432d83f25b 100644
--- a/doc/classes/TCP_Server.xml
+++ b/doc/classes/TCP_Server.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="TCP_Server" inherits="Reference" category="Core" version="3.2">
<brief_description>
- TCP Server.
+ A TCP server.
</brief_description>
<description>
- TCP Server class. Listens to connections on a port and returns a [StreamPeerTCP] when got a connection.
+ A TCP server. Listens to connections on a port and returns a [StreamPeerTCP] when it gets an incoming connection.
</description>
<tutorials>
</tutorials>
@@ -24,24 +24,24 @@
<argument index="1" name="bind_address" type="String" default="&quot;*&quot;">
</argument>
<description>
- Listen on the "port" binding to "bind_address".
- If "bind_address" is set as "*" (default), the server will listen on all available addresses (both IPv4 and IPv6).
- If "bind_address" is set as "0.0.0.0" (for IPv4) or "::" (for IPv6), the server will listen on all available addresses matching that IP type.
- If "bind_address" is set to any valid address (e.g. "192.168.1.101", "::1", etc), the server will only listen on the interface with that addresses (or fail if no interface with the given address exists).
+ Listen on the [code]port[/code] binding to [code]bind_address[/code].
+ If [code]bind_address[/code] is set as [code]"*"[/code] (default), the server will listen on all available addresses (both IPv4 and IPv6).
+ If [code]bind_address[/code] is set as [code]"0.0.0.0"[/code] (for IPv4) or [code]"::"[/code] (for IPv6), the server will listen on all available addresses matching that IP type.
+ If [code]bind_address[/code] is set to any valid address (e.g. [code]"192.168.1.101"[/code], [code]"::1"[/code], etc), the server will only listen on the interface with that addresses (or fail if no interface with the given address exists).
</description>
</method>
<method name="stop">
<return type="void">
</return>
<description>
- Stop listening.
+ Stops listening.
</description>
</method>
<method name="take_connection">
<return type="StreamPeerTCP">
</return>
<description>
- If a connection is available, return a StreamPeerTCP with the connection/
+ If a connection is available, returns a StreamPeerTCP with the connection.
</description>
</method>
</methods>
diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml
index 06299d65b6..2eb8411078 100644
--- a/doc/classes/TabContainer.xml
+++ b/doc/classes/TabContainer.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="TabContainer" inherits="Container" category="Core" version="3.2">
<brief_description>
- Tabbed Container.
+ Tabbed container.
</brief_description>
<description>
Sets the active tab's [code]visible[/code] property to the value [code]true[/code]. Sets all other children's to [code]false[/code].
@@ -64,7 +64,7 @@
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
- Returns the [Texture] for the tab at index [code]tab_idx[/code] or null if the tab has no [Texture].
+ Returns the [Texture] for the tab at index [code]tab_idx[/code] or [code]null[/code] if the tab has no [Texture].
</description>
</method>
<method name="get_tab_title" qualifiers="const">
@@ -100,7 +100,8 @@
<argument index="1" name="disabled" type="bool">
</argument>
<description>
- If [code]disabled[/code] is [code]false[/code], hides the tab at index [code]tab_idx[/code]. Note that its title text will remain, unless also removed with [method set_tab_title].
+ If [code]disabled[/code] is [code]false[/code], hides the tab at index [code]tab_idx[/code].
+ [b]Note:[/b] Its title text will remain, unless also removed with [method set_tab_title].
</description>
</method>
<method name="set_tab_icon">
@@ -136,17 +137,17 @@
</method>
</methods>
<members>
- <member name="current_tab" type="int" setter="set_current_tab" getter="get_current_tab">
+ <member name="current_tab" type="int" setter="set_current_tab" getter="get_current_tab" default="0">
The current tab index. When set, this index's [Control] node's [code]visible[/code] property is set to [code]true[/code] and all others are set to [code]false[/code].
</member>
- <member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled">
+ <member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled" default="false">
If [code]true[/code], tabs can be rearranged with mouse drag.
</member>
- <member name="tab_align" type="int" setter="set_tab_align" getter="get_tab_align" enum="TabContainer.TabAlign">
+ <member name="tab_align" type="int" setter="set_tab_align" getter="get_tab_align" enum="TabContainer.TabAlign" default="1">
The alignment of all tabs in the tab container. See the [code]ALIGN_*[/code] constants for details.
</member>
- <member name="tabs_visible" type="bool" setter="set_tabs_visible" getter="are_tabs_visible">
- If [code]true[/code], tabs are visible. If [code]false[/code], tabs' content and titles are hidden. Default value: [code]true[/code].
+ <member name="tabs_visible" type="bool" setter="set_tabs_visible" getter="are_tabs_visible" default="true">
+ If [code]true[/code], tabs are visible. If [code]false[/code], tabs' content and titles are hidden.
</member>
</members>
<signals>
@@ -188,21 +189,21 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color_bg" type="Color">
+ <theme_item name="font_color_bg" type="Color" default="Color( 0.690196, 0.690196, 0.690196, 1 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.2 )">
</theme_item>
- <theme_item name="font_color_fg" type="Color">
+ <theme_item name="font_color_fg" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="4">
</theme_item>
<theme_item name="increment" type="Texture">
</theme_item>
<theme_item name="increment_highlight" type="Texture">
</theme_item>
- <theme_item name="label_valign_bg" type="int">
+ <theme_item name="label_valign_bg" type="int" default="2">
</theme_item>
- <theme_item name="label_valign_fg" type="int">
+ <theme_item name="label_valign_fg" type="int" default="0">
</theme_item>
<theme_item name="menu" type="Texture">
</theme_item>
@@ -210,7 +211,7 @@
</theme_item>
<theme_item name="panel" type="StyleBox">
</theme_item>
- <theme_item name="side_margin" type="int">
+ <theme_item name="side_margin" type="int" default="8">
</theme_item>
<theme_item name="tab_bg" type="StyleBox">
</theme_item>
@@ -218,7 +219,7 @@
</theme_item>
<theme_item name="tab_fg" type="StyleBox">
</theme_item>
- <theme_item name="top_margin" type="int">
+ <theme_item name="top_margin" type="int" default="24">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml
index 8c7d657b4a..b6d702ba45 100644
--- a/doc/classes/Tabs.xml
+++ b/doc/classes/Tabs.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Tabs" inherits="Control" category="Core" version="3.2">
<brief_description>
- Tabs Control.
+ Tabs control.
</brief_description>
<description>
Simple tabs control, similar to [TabContainer] but is only in charge of drawing tabs, not interact with children.
@@ -26,7 +26,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Moves the Scroll view to make the tab visible.
+ Moves the scroll view to make the tab visible.
</description>
</method>
<method name="get_offset_buttons_visible" qualifiers="const">
@@ -64,7 +64,7 @@
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
- Returns the [Texture] for the tab at index [code]tab_idx[/code] or null if the tab has no [Texture].
+ Returns the [Texture] for the tab at index [code]tab_idx[/code] or [code]null[/code] if the tab has no [Texture].
</description>
</method>
<method name="get_tab_offset" qualifiers="const">
@@ -95,7 +95,7 @@
<return type="int">
</return>
<description>
- Returns the [Tabs] rearrange group id.
+ Returns the [Tabs]' rearrange group ID.
</description>
</method>
<method name="move_tab">
@@ -106,7 +106,7 @@
<argument index="1" name="to" type="int">
</argument>
<description>
- Rearrange tab.
+ Moves a tab from [code]from[/code] to [code]to[/code].
</description>
</method>
<method name="remove_tab">
@@ -115,7 +115,7 @@
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
- Removes tab at index [code]tab_idx[/code]
+ Removes the tab at index [code]tab_idx[/code].
</description>
</method>
<method name="set_select_with_rmb">
@@ -124,7 +124,7 @@
<argument index="0" name="enabled" type="bool">
</argument>
<description>
- If [code]true[/code], enables selecting a tab with right mouse button.
+ If [code]true[/code], enables selecting a tab with the right mouse button.
</description>
</method>
<method name="set_tab_disabled">
@@ -135,7 +135,8 @@
<argument index="1" name="disabled" type="bool">
</argument>
<description>
- If [code]disabled[/code] is [code]false[/code], hides the tab at index [code]tab_idx[/code]. Note that its title text will remain, unless also removed with [method set_tab_title].
+ If [code]disabled[/code] is [code]false[/code], hides the tab at index [code]tab_idx[/code].
+ [b]Note:[/b] Its title text will remain unless it is also removed with [method set_tab_title].
</description>
</method>
<method name="set_tab_icon">
@@ -146,7 +147,7 @@
<argument index="1" name="icon" type="Texture">
</argument>
<description>
- Sets an icon for the tab at index [code]tab_idx[/code].
+ Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code].
</description>
</method>
<method name="set_tab_title">
@@ -157,7 +158,7 @@
<argument index="1" name="title" type="String">
</argument>
<description>
- Sets a title for the tab at index [code]tab_idx[/code].
+ Sets a [code]title[/code] for the tab at index [code]tab_idx[/code].
</description>
</method>
<method name="set_tabs_rearrange_group">
@@ -166,23 +167,23 @@
<argument index="0" name="group_id" type="int">
</argument>
<description>
- Defines rearrange group id, choose for each [Tabs] the same value to enable tab drag between [Tabs]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code].
+ Defines the rearrange group ID. Choose for each [Tabs] the same value to dragging tabs between [Tabs]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code].
</description>
</method>
</methods>
<members>
- <member name="current_tab" type="int" setter="set_current_tab" getter="get_current_tab">
+ <member name="current_tab" type="int" setter="set_current_tab" getter="get_current_tab" default="0">
Select tab at index [code]tab_idx[/code].
</member>
- <member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled">
+ <member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled" default="false">
If [code]true[/code], tabs can be rearranged with mouse drag.
</member>
- <member name="scrolling_enabled" type="bool" setter="set_scrolling_enabled" getter="get_scrolling_enabled">
+ <member name="scrolling_enabled" type="bool" setter="set_scrolling_enabled" getter="get_scrolling_enabled" default="true">
</member>
- <member name="tab_align" type="int" setter="set_tab_align" getter="get_tab_align" enum="Tabs.TabAlign">
+ <member name="tab_align" type="int" setter="set_tab_align" getter="get_tab_align" enum="Tabs.TabAlign" default="1">
The alignment of all tabs. See enum [code]TabAlign[/code] constants for details.
</member>
- <member name="tab_close_display_policy" type="int" setter="set_tab_close_display_policy" getter="get_tab_close_display_policy" enum="Tabs.CloseButtonDisplayPolicy">
+ <member name="tab_close_display_policy" type="int" setter="set_tab_close_display_policy" getter="get_tab_close_display_policy" enum="Tabs.CloseButtonDisplayPolicy" default="0">
</member>
</members>
<signals>
@@ -234,6 +235,7 @@
Align the tabs to the right.
</constant>
<constant name="ALIGN_MAX" value="3" enum="TabAlign">
+ Represents the size of the [enum TabAlign] enum.
</constant>
<constant name="CLOSE_BUTTON_SHOW_NEVER" value="0" enum="CloseButtonDisplayPolicy">
</constant>
@@ -242,6 +244,7 @@
<constant name="CLOSE_BUTTON_SHOW_ALWAYS" value="2" enum="CloseButtonDisplayPolicy">
</constant>
<constant name="CLOSE_BUTTON_MAX" value="3" enum="CloseButtonDisplayPolicy">
+ Represents the size of the [enum CloseButtonDisplayPolicy] enum.
</constant>
</constants>
<theme_items>
@@ -257,21 +260,21 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color_bg" type="Color">
+ <theme_item name="font_color_bg" type="Color" default="Color( 0.690196, 0.690196, 0.690196, 1 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.2 )">
</theme_item>
- <theme_item name="font_color_fg" type="Color">
+ <theme_item name="font_color_fg" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="4">
</theme_item>
<theme_item name="increment" type="Texture">
</theme_item>
<theme_item name="increment_highlight" type="Texture">
</theme_item>
- <theme_item name="label_valign_bg" type="int">
+ <theme_item name="label_valign_bg" type="int" default="2">
</theme_item>
- <theme_item name="label_valign_fg" type="int">
+ <theme_item name="label_valign_fg" type="int" default="0">
</theme_item>
<theme_item name="panel" type="StyleBox">
</theme_item>
@@ -281,7 +284,7 @@
</theme_item>
<theme_item name="tab_fg" type="StyleBox">
</theme_item>
- <theme_item name="top_margin" type="int">
+ <theme_item name="top_margin" type="int" default="24">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index 8139da3a4c..e665178809 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -21,7 +21,7 @@
<argument index="3" name="line_only" type="bool" default="false">
</argument>
<description>
- Add color region (given the delimiters) and its colors.
+ Adds color region (given the delimiters) and its colors.
</description>
</method>
<method name="add_keyword_color">
@@ -32,7 +32,7 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
- Add a [code]keyword[/code] and its [Color].
+ Adds a [code]keyword[/code] and its [Color].
</description>
</method>
<method name="can_fold" qualifiers="const">
@@ -44,6 +44,12 @@
Returns if the given line is foldable, that is, it has indented lines right below it.
</description>
</method>
+ <method name="center_viewport_to_cursor">
+ <return type="void">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="clear_colors">
<return type="void">
</return>
@@ -88,7 +94,7 @@
</argument>
<description>
Moves the cursor at the specified [code]column[/code] index.
- If [code]adjust_viewport[/code] is set to true, the viewport will center at the cursor position after the move occurs. Default value is [code]true[/code].
+ If [code]adjust_viewport[/code] is set to true, the viewport will center at the cursor position after the move occurs.
</description>
</method>
<method name="cursor_set_line">
@@ -104,8 +110,8 @@
</argument>
<description>
Moves the cursor at the specified [code]line[/code] index.
- If [code]adjust_viewport[/code] is set to true, the viewport will center at the cursor position after the move occurs. Default value is [code]true[/code].
- If [code]can_be_hidden[/code] is set to true, the specified [code]line[/code] can be hidden using [method set_line_as_hidden]. Default value is [code]true[/code].
+ If [code]adjust_viewport[/code] is set to true, the viewport will center at the cursor position after the move occurs.
+ If [code]can_be_hidden[/code] is set to true, the specified [code]line[/code] can be hidden using [method set_line_as_hidden].
</description>
</method>
<method name="cut">
@@ -268,7 +274,7 @@
<argument index="0" name="option" type="int">
</argument>
<description>
- Triggers a right click menu action by the specified index. See [enum MenuItems] for a list of available indexes.
+ Triggers a right-click menu action by the specified index. See [enum MenuItems] for a list of available indexes.
</description>
</method>
<method name="paste">
@@ -289,7 +295,7 @@
<return type="void">
</return>
<description>
- Removes all the breakpoints (without firing "breakpoint_toggled" signal).
+ Removes all the breakpoints. This will not fire the [signal breakpoint_toggled] signal.
</description>
</method>
<method name="search" qualifiers="const">
@@ -304,7 +310,7 @@
<argument index="3" name="from_column" type="int">
</argument>
<description>
- Perform a search inside the text. Search flags can be specified in the SEARCH_* enum.
+ Perform a search inside the text. Search flags can be specified in the[code]SEARCH_*[/code] enum.
</description>
</method>
<method name="select">
@@ -374,65 +380,65 @@
</method>
</methods>
<members>
- <member name="breakpoint_gutter" type="bool" setter="set_breakpoint_gutter_enabled" getter="is_breakpoint_gutter_enabled">
+ <member name="breakpoint_gutter" type="bool" setter="set_breakpoint_gutter_enabled" getter="is_breakpoint_gutter_enabled" default="false">
If [code]true[/code], the breakpoint gutter is visible.
</member>
- <member name="caret_blink" type="bool" setter="cursor_set_blink_enabled" getter="cursor_get_blink_enabled">
+ <member name="caret_blink" type="bool" setter="cursor_set_blink_enabled" getter="cursor_get_blink_enabled" default="false">
If [code]true[/code], the caret (visual cursor) blinks.
</member>
- <member name="caret_blink_speed" type="float" setter="cursor_set_blink_speed" getter="cursor_get_blink_speed">
+ <member name="caret_blink_speed" type="float" setter="cursor_set_blink_speed" getter="cursor_get_blink_speed" default="0.65">
Duration (in seconds) of a caret's blinking cycle.
</member>
- <member name="caret_block_mode" type="bool" setter="cursor_set_block_mode" getter="cursor_is_block_mode">
+ <member name="caret_block_mode" type="bool" setter="cursor_set_block_mode" getter="cursor_is_block_mode" default="false">
If [code]true[/code], the caret displays as a rectangle.
If [code]false[/code], the caret displays as a bar.
</member>
- <member name="caret_moving_by_right_click" type="bool" setter="set_right_click_moves_caret" getter="is_right_click_moving_caret">
- If [code]true[/code], a right click moves the cursor at the mouse position before displaying the context menu.
+ <member name="caret_moving_by_right_click" type="bool" setter="set_right_click_moves_caret" getter="is_right_click_moving_caret" default="true">
+ If [code]true[/code], a right-click moves the cursor at the mouse position before displaying the context menu.
If [code]false[/code], the context menu disregards mouse location.
</member>
- <member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled">
- If [code]true[/code], a right click displays the context menu.
+ <member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled" default="true">
+ If [code]true[/code], a right-click displays the context menu.
</member>
- <member name="draw_spaces" type="bool" setter="set_draw_spaces" getter="is_drawing_spaces">
+ <member name="draw_spaces" type="bool" setter="set_draw_spaces" getter="is_drawing_spaces" default="false">
If [code]true[/code], the "space" character will have a visible representation.
</member>
- <member name="draw_tabs" type="bool" setter="set_draw_tabs" getter="is_drawing_tabs">
+ <member name="draw_tabs" type="bool" setter="set_draw_tabs" getter="is_drawing_tabs" default="false">
If [code]true[/code], the "tab" character will have a visible representation.
</member>
- <member name="fold_gutter" type="bool" setter="set_draw_fold_gutter" getter="is_drawing_fold_gutter">
+ <member name="fold_gutter" type="bool" setter="set_draw_fold_gutter" getter="is_drawing_fold_gutter" default="false">
If [code]true[/code], the fold gutter is visible. This enables folding groups of indented lines.
</member>
- <member name="hiding_enabled" type="bool" setter="set_hiding_enabled" getter="is_hiding_enabled">
+ <member name="hiding_enabled" type="bool" setter="set_hiding_enabled" getter="is_hiding_enabled" default="false">
If [code]true[/code], all lines that have been set to hidden by [method set_line_as_hidden], will not be visible.
</member>
- <member name="highlight_all_occurrences" type="bool" setter="set_highlight_all_occurrences" getter="is_highlight_all_occurrences_enabled">
+ <member name="highlight_all_occurrences" type="bool" setter="set_highlight_all_occurrences" getter="is_highlight_all_occurrences_enabled" default="false">
If [code]true[/code], all occurrences of the selected text will be highlighted.
</member>
- <member name="highlight_current_line" type="bool" setter="set_highlight_current_line" getter="is_highlight_current_line_enabled">
+ <member name="highlight_current_line" type="bool" setter="set_highlight_current_line" getter="is_highlight_current_line_enabled" default="false">
If [code]true[/code], the line containing the cursor is highlighted.
</member>
- <member name="override_selected_font_color" type="bool" setter="set_override_selected_font_color" getter="is_overriding_selected_font_color">
+ <member name="override_selected_font_color" type="bool" setter="set_override_selected_font_color" getter="is_overriding_selected_font_color" default="false">
</member>
- <member name="readonly" type="bool" setter="set_readonly" getter="is_readonly">
+ <member name="readonly" type="bool" setter="set_readonly" getter="is_readonly" default="false">
If [code]true[/code], read-only mode is enabled. Existing text cannot be modified and new text cannot be added.
</member>
- <member name="show_line_numbers" type="bool" setter="set_show_line_numbers" getter="is_show_line_numbers_enabled">
+ <member name="show_line_numbers" type="bool" setter="set_show_line_numbers" getter="is_show_line_numbers_enabled" default="false">
If [code]true[/code], line numbers are displayed to the left of the text.
</member>
- <member name="smooth_scrolling" type="bool" setter="set_smooth_scroll_enable" getter="is_smooth_scroll_enabled">
+ <member name="smooth_scrolling" type="bool" setter="set_smooth_scroll_enable" getter="is_smooth_scroll_enabled" default="false">
If [code]true[/code], sets the [code]step[/code] of the scrollbars to [code]0.25[/code] which results in smoother scrolling.
</member>
- <member name="syntax_highlighting" type="bool" setter="set_syntax_coloring" getter="is_syntax_coloring_enabled">
+ <member name="syntax_highlighting" type="bool" setter="set_syntax_coloring" getter="is_syntax_coloring_enabled" default="false">
If [code]true[/code], any custom color properties that have been set for this [TextEdit] will be visible.
</member>
- <member name="text" type="String" setter="set_text" getter="get_text">
+ <member name="text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
String value of the [TextEdit].
</member>
- <member name="v_scroll_speed" type="float" setter="set_v_scroll_speed" getter="get_v_scroll_speed">
+ <member name="v_scroll_speed" type="float" setter="set_v_scroll_speed" getter="get_v_scroll_speed" default="80.0">
Vertical scroll sensitivity.
</member>
- <member name="wrap_enabled" type="bool" setter="set_wrap_enabled" getter="is_wrap_enabled">
+ <member name="wrap_enabled" type="bool" setter="set_wrap_enabled" getter="is_wrap_enabled" default="false">
If [code]true[/code], enables text wrapping when it goes beyond the edge of what is visible.
</member>
</members>
@@ -514,41 +520,45 @@
</constant>
</constants>
<theme_items>
- <theme_item name="background_color" type="Color">
+ <theme_item name="background_color" type="Color" default="Color( 0, 0, 0, 0 )">
+ Sets the background [Color] of this [TextEdit]. [member syntax_highlighting] has to be enabled.
</theme_item>
- <theme_item name="bookmark_color" type="Color">
+ <theme_item name="bookmark_color" type="Color" default="Color( 0.08, 0.49, 0.98, 1 )">
+ Sets the [Color] of the bookmark marker. [member syntax_highlighting] has to be enabled.
</theme_item>
- <theme_item name="brace_mismatch_color" type="Color">
+ <theme_item name="brace_mismatch_color" type="Color" default="Color( 1, 0.2, 0.2, 1 )">
</theme_item>
- <theme_item name="breakpoint_color" type="Color">
+ <theme_item name="breakpoint_color" type="Color" default="Color( 0.8, 0.8, 0.4, 0.2 )">
+ Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be enabled.
</theme_item>
- <theme_item name="caret_background_color" type="Color">
+ <theme_item name="caret_background_color" type="Color" default="Color( 0, 0, 0, 1 )">
</theme_item>
- <theme_item name="caret_color" type="Color">
+ <theme_item name="caret_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="code_folding_color" type="Color">
+ <theme_item name="code_folding_color" type="Color" default="Color( 0.8, 0.8, 0.8, 0.8 )">
</theme_item>
<theme_item name="completion" type="StyleBox">
</theme_item>
- <theme_item name="completion_background_color" type="Color">
+ <theme_item name="completion_background_color" type="Color" default="Color( 0.172549, 0.164706, 0.196078, 1 )">
</theme_item>
- <theme_item name="completion_existing_color" type="Color">
+ <theme_item name="completion_existing_color" type="Color" default="Color( 0.87451, 0.87451, 0.87451, 0.129412 )">
</theme_item>
- <theme_item name="completion_font_color" type="Color">
+ <theme_item name="completion_font_color" type="Color" default="Color( 0.666667, 0.666667, 0.666667, 1 )">
</theme_item>
- <theme_item name="completion_lines" type="int">
+ <theme_item name="completion_lines" type="int" default="7">
</theme_item>
- <theme_item name="completion_max_width" type="int">
+ <theme_item name="completion_max_width" type="int" default="50">
</theme_item>
- <theme_item name="completion_scroll_color" type="Color">
+ <theme_item name="completion_scroll_color" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="completion_scroll_width" type="int">
+ <theme_item name="completion_scroll_width" type="int" default="3">
</theme_item>
- <theme_item name="completion_selected_color" type="Color">
+ <theme_item name="completion_selected_color" type="Color" default="Color( 0.262745, 0.258824, 0.266667, 1 )">
</theme_item>
- <theme_item name="current_line_color" type="Color">
+ <theme_item name="current_line_color" type="Color" default="Color( 0.25, 0.25, 0.26, 0.8 )">
+ Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be enabled.
</theme_item>
- <theme_item name="executing_line_color" type="Color">
+ <theme_item name="executing_line_color" type="Color" default="Color( 0.2, 0.8, 0.2, 0.4 )">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
@@ -557,38 +567,50 @@
<theme_item name="folded" type="Texture">
</theme_item>
<theme_item name="font" type="Font">
+ Sets the default [Font].
+ </theme_item>
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
+ Sets the font [Color].
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color_readonly" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 0.5 )">
</theme_item>
- <theme_item name="font_color_selected" type="Color">
+ <theme_item name="font_color_selected" type="Color" default="Color( 0, 0, 0, 1 )">
</theme_item>
- <theme_item name="function_color" type="Color">
+ <theme_item name="function_color" type="Color" default="Color( 0.4, 0.635294, 0.807843, 1 )">
</theme_item>
- <theme_item name="line_number_color" type="Color">
+ <theme_item name="line_number_color" type="Color" default="Color( 0.666667, 0.666667, 0.666667, 0.4 )">
+ Sets the [Color] of the line numbers. [member show_line_numbers] has to be enabled.
</theme_item>
- <theme_item name="line_spacing" type="int">
+ <theme_item name="line_spacing" type="int" default="4">
+ Sets the spacing between the lines.
</theme_item>
- <theme_item name="mark_color" type="Color">
+ <theme_item name="mark_color" type="Color" default="Color( 1, 0.4, 0.4, 0.4 )">
+ Sets the [Color] of marked text.
</theme_item>
- <theme_item name="member_variable_color" type="Color">
+ <theme_item name="member_variable_color" type="Color" default="Color( 0.901961, 0.305882, 0.34902, 1 )">
</theme_item>
<theme_item name="normal" type="StyleBox">
+ Sets the [StyleBox] of this [TextEdit].
</theme_item>
- <theme_item name="number_color" type="Color">
+ <theme_item name="number_color" type="Color" default="Color( 0.921569, 0.584314, 0.196078, 1 )">
</theme_item>
<theme_item name="read_only" type="StyleBox">
+ Sets the [StyleBox] of this [TextEdit] when [member readonly] is enabled.
</theme_item>
- <theme_item name="safe_line_number_color" type="Color">
+ <theme_item name="safe_line_number_color" type="Color" default="Color( 0.666667, 0.784314, 0.666667, 0.6 )">
</theme_item>
- <theme_item name="selection_color" type="Color">
+ <theme_item name="selection_color" type="Color" default="Color( 0.490196, 0.490196, 0.490196, 1 )">
+ Sets the highlight [Color] of text selections.
</theme_item>
<theme_item name="space" type="Texture">
</theme_item>
- <theme_item name="symbol_color" type="Color">
+ <theme_item name="symbol_color" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
<theme_item name="tab" type="Texture">
+ Sets a custom [Texture] for tab text characters.
</theme_item>
- <theme_item name="word_highlighted_color" type="Color">
+ <theme_item name="word_highlighted_color" type="Color" default="Color( 0.8, 0.9, 0.9, 0.15 )">
+ Sets the highlight [Color] of multiple occurrences. [member highlight_all_occurrences] has to be enabled.
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/Texture.xml b/doc/classes/Texture.xml
index 4418a6ce8f..238d6929ba 100644
--- a/doc/classes/Texture.xml
+++ b/doc/classes/Texture.xml
@@ -99,32 +99,32 @@
</method>
</methods>
<members>
- <member name="flags" type="int" setter="set_flags" getter="get_flags">
+ <member name="flags" type="int" setter="set_flags" getter="get_flags" default="4">
The texture's flags.
</member>
</members>
<constants>
<constant name="FLAGS_DEFAULT" value="7" enum="Flags">
- Default flags. Generate mipmaps, repeat, and filter are enabled.
+ Default flags. [constant FLAG_MIPMAPS], [constant FLAG_REPEAT] and [constant FLAG_FILTER] are enabled.
</constant>
<constant name="FLAG_MIPMAPS" value="1" enum="Flags">
- Generate mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
+ Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
</constant>
<constant name="FLAG_REPEAT" value="2" enum="Flags">
- Repeats texture (instead of clamp to edge).
+ Repeats the texture (instead of clamp to edge).
</constant>
<constant name="FLAG_FILTER" value="4" enum="Flags">
- Magnifying filter, to enable smooth zooming in of the texture.
+ Uses a magnifying filter, to enable smooth zooming in of the texture.
</constant>
<constant name="FLAG_ANISOTROPIC_FILTER" value="8" enum="Flags">
- Anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
- More effective on planes often shown going to the horrizon as those textures (Walls or Ground for example) get squashed in the viewport to different aspect ratios and regular mipmaps keep the aspect ratio so they don't optimize storage that well in those cases.
+ Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
+ This results in better-looking textures when viewed from oblique angles.
</constant>
<constant name="FLAG_CONVERT_TO_LINEAR" value="16" enum="Flags">
- Converts texture to SRGB color space.
+ Converts the texture to the sRGB color space.
</constant>
<constant name="FLAG_MIRRORED_REPEAT" value="32" enum="Flags">
- Repeats texture with alternate sections mirrored.
+ Repeats the texture with alternate sections mirrored.
</constant>
<constant name="FLAG_VIDEO_SURFACE" value="2048" enum="Flags">
Texture is a video surface.
diff --git a/doc/classes/TextureButton.xml b/doc/classes/TextureButton.xml
index 7b436fcf2b..e3396a10c2 100644
--- a/doc/classes/TextureButton.xml
+++ b/doc/classes/TextureButton.xml
@@ -4,37 +4,37 @@
Texture-based button. Supports Pressed, Hover, Disabled and Focused states.
</brief_description>
<description>
- [TextureButton] has the same functionality as [Button], except it uses sprites instead of Godot's [Theme] resource. It is faster to create, but it doesn't support localization like more complex Controls.
- The Normal state's texture is required. Others are optional.
+ [TextureButton] has the same functionality as [Button], except it uses sprites instead of Godot's [Theme] resource. It is faster to create, but it doesn't support localization like more complex [Control]s.
+ The "normal" state must contain a texture ([member texture_normal]); other textures are optional.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="expand" type="bool" setter="set_expand" getter="get_expand">
- If [code]true[/code], the texture stretches to the edges of the node's bounding rectangle using the [member stretch_mode]. If [code]false[/code], the texture will not scale with the node. Default value: [code]false[/code].
+ <member name="expand" type="bool" setter="set_expand" getter="get_expand" default="false">
+ If [code]true[/code], the texture stretches to the edges of the node's bounding rectangle using the [member stretch_mode]. If [code]false[/code], the texture will not scale with the node.
</member>
- <member name="stretch_mode" type="int" setter="set_stretch_mode" getter="get_stretch_mode" enum="TextureButton.StretchMode">
+ <member name="stretch_mode" type="int" setter="set_stretch_mode" getter="get_stretch_mode" enum="TextureButton.StretchMode" default="0">
Controls the texture's behavior when you resize the node's bounding rectangle, [b]only if[/b] [member expand] is [code]true[/code]. Set it to one of the [code]STRETCH_*[/code] constants. See the constants to learn more.
</member>
- <member name="texture_click_mask" type="BitMap" setter="set_click_mask" getter="get_click_mask">
+ <member name="texture_click_mask" type="BitMap" setter="set_click_mask" getter="get_click_mask" default="null">
Pure black and white [BitMap] image to use for click detection. On the mask, white pixels represent the button's clickable area. Use it to create buttons with curved shapes.
</member>
- <member name="texture_disabled" type="Texture" setter="set_disabled_texture" getter="get_disabled_texture">
+ <member name="texture_disabled" type="Texture" setter="set_disabled_texture" getter="get_disabled_texture" default="null">
Texture to display when the node is disabled. See [member BaseButton.disabled].
</member>
- <member name="texture_focused" type="Texture" setter="set_focused_texture" getter="get_focused_texture">
+ <member name="texture_focused" type="Texture" setter="set_focused_texture" getter="get_focused_texture" default="null">
Texture to display when the node has mouse or keyboard focus.
</member>
- <member name="texture_hover" type="Texture" setter="set_hover_texture" getter="get_hover_texture">
+ <member name="texture_hover" type="Texture" setter="set_hover_texture" getter="get_hover_texture" default="null">
Texture to display when the mouse hovers the node.
</member>
- <member name="texture_normal" type="Texture" setter="set_normal_texture" getter="get_normal_texture">
+ <member name="texture_normal" type="Texture" setter="set_normal_texture" getter="get_normal_texture" default="null">
Texture to display by default, when the node is [b]not[/b] in the disabled, focused, hover or pressed state.
</member>
- <member name="texture_pressed" type="Texture" setter="set_pressed_texture" getter="get_pressed_texture">
- Texture to display on mouse down over the node, if the node has keyboard focus and the player presses the enter key or if the player presses the [member BaseButton.shortcut] key.
+ <member name="texture_pressed" type="Texture" setter="set_pressed_texture" getter="get_pressed_texture" default="null">
+ Texture to display on mouse down over the node, if the node has keyboard focus and the player presses the Enter key or if the player presses the [member BaseButton.shortcut] key.
</member>
</members>
<constants>
diff --git a/doc/classes/TextureLayered.xml b/doc/classes/TextureLayered.xml
index 7c77bd43a3..a9ad5c251d 100644
--- a/doc/classes/TextureLayered.xml
+++ b/doc/classes/TextureLayered.xml
@@ -83,9 +83,16 @@
</method>
</methods>
<members>
- <member name="data" type="Dictionary" setter="_set_data" getter="_get_data">
+ <member name="data" type="Dictionary" setter="_set_data" getter="_get_data" default="{
+&quot;depth&quot;: 0,
+&quot;flags&quot;: 4,
+&quot;format&quot;: 37,
+&quot;height&quot;: 0,
+&quot;layers&quot;: [ ],
+&quot;width&quot;: 0
+}">
</member>
- <member name="flags" type="int" setter="set_flags" getter="get_flags">
+ <member name="flags" type="int" setter="set_flags" getter="get_flags" default="4">
</member>
</members>
<constants>
diff --git a/doc/classes/TextureProgress.xml b/doc/classes/TextureProgress.xml
index ae306c6862..409d005067 100644
--- a/doc/classes/TextureProgress.xml
+++ b/doc/classes/TextureProgress.xml
@@ -4,58 +4,58 @@
Texture-based progress bar. Useful for loading screens and life or stamina bars.
</brief_description>
<description>
- TextureProgress works like [ProgressBar] but it uses up to 3 textures instead of Godot's [Theme] resource. Works horizontally, vertically, and radially.
+ TextureProgress works like [ProgressBar], but uses up to 3 textures instead of Godot's [Theme] resource. It can be used to create horizontal, vertical and radial progress bars.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="fill_mode" type="int" setter="set_fill_mode" getter="get_fill_mode">
- The fill direction. Uses FILL_* constants.
+ <member name="fill_mode" type="int" setter="set_fill_mode" getter="get_fill_mode" default="0">
+ The fill direction. See [enum FillMode] for possible values.
</member>
- <member name="nine_patch_stretch" type="bool" setter="set_nine_patch_stretch" getter="get_nine_patch_stretch">
- If [code]true[/code], Godot treats the bar's textures like [NinePatchRect]. Use [code]stretch_margin_*[/code], like [member stretch_margin_bottom], to set up the nine patch's 3x3 grid. Default value: [code]false[/code].
+ <member name="nine_patch_stretch" type="bool" setter="set_nine_patch_stretch" getter="get_nine_patch_stretch" default="false">
+ If [code]true[/code], Godot treats the bar's textures like in [NinePatchRect]. Use the [code]stretch_margin_*[/code] properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid.
</member>
- <member name="radial_center_offset" type="Vector2" setter="set_radial_center_offset" getter="get_radial_center_offset">
- Offsets [member texture_progress] if [member fill_mode] is [code]FILL_CLOCKWISE[/code] or [code]FILL_COUNTER_CLOCKWISE[/code].
+ <member name="radial_center_offset" type="Vector2" setter="set_radial_center_offset" getter="get_radial_center_offset" default="Vector2( 0, 0 )">
+ Offsets [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE].
</member>
- <member name="radial_fill_degrees" type="float" setter="set_fill_degrees" getter="get_fill_degrees">
- Upper limit for the fill of [member texture_progress] if [member fill_mode] is [code]FILL_CLOCKWISE[/code] or [code]FILL_COUNTER_CLOCKWISE[/code]. When the node's [code]value[/code] is equal to its [code]max_value[/code], the texture fills up to this angle.
+ <member name="radial_fill_degrees" type="float" setter="set_fill_degrees" getter="get_fill_degrees" default="360.0">
+ Upper limit for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's [code]value[/code] is equal to its [code]max_value[/code], the texture fills up to this angle.
See [member Range.value], [member Range.max_value].
</member>
- <member name="radial_initial_angle" type="float" setter="set_radial_initial_angle" getter="get_radial_initial_angle">
- Starting angle for the fill of [member texture_progress] if [member fill_mode] is [code]FILL_CLOCKWISE[/code] or [code]FILL_COUNTER_CLOCKWISE[/code]. When the node's [code]value[/code] is equal to its [code]min_value[/code], the texture doesn't show up at all. When the [code]value[/code] increases, the texture fills and tends towards [member radial_fill_degrees].
+ <member name="radial_initial_angle" type="float" setter="set_radial_initial_angle" getter="get_radial_initial_angle" default="0.0">
+ Starting angle for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's [code]value[/code] is equal to its [code]min_value[/code], the texture doesn't show up at all. When the [code]value[/code] increases, the texture fills and tends towards [member radial_fill_degrees].
</member>
- <member name="stretch_margin_bottom" type="int" setter="set_stretch_margin" getter="get_stretch_margin">
+ <member name="stretch_margin_bottom" type="int" setter="set_stretch_margin" getter="get_stretch_margin" default="0">
The height of the 9-patch's bottom row. A margin of 16 means the 9-slice's bottom corners and side will have a height of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders.
</member>
- <member name="stretch_margin_left" type="int" setter="set_stretch_margin" getter="get_stretch_margin">
+ <member name="stretch_margin_left" type="int" setter="set_stretch_margin" getter="get_stretch_margin" default="0">
The width of the 9-patch's left column.
</member>
- <member name="stretch_margin_right" type="int" setter="set_stretch_margin" getter="get_stretch_margin">
+ <member name="stretch_margin_right" type="int" setter="set_stretch_margin" getter="get_stretch_margin" default="0">
The width of the 9-patch's right column.
</member>
- <member name="stretch_margin_top" type="int" setter="set_stretch_margin" getter="get_stretch_margin">
+ <member name="stretch_margin_top" type="int" setter="set_stretch_margin" getter="get_stretch_margin" default="0">
The height of the 9-patch's top row.
</member>
- <member name="texture_over" type="Texture" setter="set_over_texture" getter="get_over_texture">
+ <member name="texture_over" type="Texture" setter="set_over_texture" getter="get_over_texture" default="null">
[Texture] that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of [member texture_progress].
</member>
- <member name="texture_progress" type="Texture" setter="set_progress_texture" getter="get_progress_texture">
+ <member name="texture_progress" type="Texture" setter="set_progress_texture" getter="get_progress_texture" default="null">
[Texture] that clips based on the node's [code]value[/code] and [member fill_mode]. As [code]value[/code] increased, the texture fills up. It shows entirely when [code]value[/code] reaches [code]max_value[/code]. It doesn't show at all if [code]value[/code] is equal to [code]min_value[/code].
The [code]value[/code] property comes from [Range]. See [member Range.value], [member Range.min_value], [member Range.max_value].
</member>
- <member name="texture_under" type="Texture" setter="set_under_texture" getter="get_under_texture">
+ <member name="texture_under" type="Texture" setter="set_under_texture" getter="get_under_texture" default="null">
[Texture] that draws under the progress bar. The bar's background.
</member>
- <member name="tint_over" type="Color" setter="set_tint_over" getter="get_tint_over">
+ <member name="tint_over" type="Color" setter="set_tint_over" getter="get_tint_over" default="Color( 1, 1, 1, 1 )">
Multiplies the color of the bar's [code]texture_over[/code] texture. The effect is similar to [member CanvasItem.modulate], except it only affects this specific texture instead of the entire node.
</member>
- <member name="tint_progress" type="Color" setter="set_tint_progress" getter="get_tint_progress">
+ <member name="tint_progress" type="Color" setter="set_tint_progress" getter="get_tint_progress" default="Color( 1, 1, 1, 1 )">
Multiplies the color of the bar's [code]texture_progress[/code] texture.
</member>
- <member name="tint_under" type="Color" setter="set_tint_under" getter="get_tint_under">
+ <member name="tint_under" type="Color" setter="set_tint_under" getter="get_tint_under" default="Color( 1, 1, 1, 1 )">
Multiplies the color of the bar's [code]texture_under[/code] texture.
</member>
</members>
@@ -76,7 +76,7 @@
Turns the node into a radial bar. The [member texture_progress] fills clockwise. See [member radial_center_offset], [member radial_initial_angle] and [member radial_fill_degrees] to control the way the bar fills up.
</constant>
<constant name="FILL_COUNTER_CLOCKWISE" value="5" enum="FillMode">
- Turns the node into a radial bar. The [member texture_progress] fills counter-clockwise. See [member radial_center_offset], [member radial_initial_angle] and [member radial_fill_degrees] to control the way the bar fills up.
+ Turns the node into a radial bar. The [member texture_progress] fills counterclockwise. See [member radial_center_offset], [member radial_initial_angle] and [member radial_fill_degrees] to control the way the bar fills up.
</constant>
<constant name="FILL_BILINEAR_LEFT_AND_RIGHT" value="6" enum="FillMode">
The [member texture_progress] fills from the center, expanding both towards the left and the right.
@@ -85,7 +85,7 @@
The [member texture_progress] fills from the center, expanding both towards the top and the bottom.
</constant>
<constant name="FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE" value="8" enum="FillMode">
- Turns the node into a radial bar. The [member texture_progress] fills radially from the center, expanding both clockwise and counter-clockwise. See [member radial_center_offset], [member radial_initial_angle] and [member radial_fill_degrees] to control the way the bar fills up.
+ Turns the node into a radial bar. The [member texture_progress] fills radially from the center, expanding both clockwise and counterclockwise. See [member radial_center_offset], [member radial_initial_angle] and [member radial_fill_degrees] to control the way the bar fills up.
</constant>
</constants>
</class>
diff --git a/doc/classes/TextureRect.xml b/doc/classes/TextureRect.xml
index 829105d561..8320d535ea 100644
--- a/doc/classes/TextureRect.xml
+++ b/doc/classes/TextureRect.xml
@@ -11,25 +11,25 @@
<methods>
</methods>
<members>
- <member name="expand" type="bool" setter="set_expand" getter="has_expand">
- If [code]true[/code], the texture scales to fit its bounding rectangle. Default value: [code]false[/code].
+ <member name="expand" type="bool" setter="set_expand" getter="has_expand" default="false">
+ If [code]true[/code], the texture scales to fit its bounding rectangle.
</member>
- <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h">
- If [code]true[/code], texture is flipped horizontally. Default value: [code]false[/code].
+ <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false">
+ If [code]true[/code], texture is flipped horizontally.
</member>
- <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v">
- If [code]true[/code], texture is flipped vertically. Default value: [code]false[/code].
+ <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v" default="false">
+ If [code]true[/code], texture is flipped vertically.
</member>
- <member name="stretch_mode" type="int" setter="set_stretch_mode" getter="get_stretch_mode" enum="TextureRect.StretchMode">
+ <member name="stretch_mode" type="int" setter="set_stretch_mode" getter="get_stretch_mode" enum="TextureRect.StretchMode" default="0">
Controls the texture's behavior when resizing the node's bounding rectangle. See [enum StretchMode].
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
The node's [Texture] resource.
</member>
</members>
<constants>
<constant name="STRETCH_SCALE_ON_EXPAND" value="0" enum="StretchMode">
- Scale to fit the node's bounding rectangle, only if [code]expand[/code] is [code]true[/code]. Default [code]stretch_mode[/code], for backwards compatibility. Until you set [code]expand[/code] to [code]true[/code], the texture will behave like [code]STRETCH_KEEP[/code].
+ Scale to fit the node's bounding rectangle, only if [code]expand[/code] is [code]true[/code]. Default [code]stretch_mode[/code], for backwards compatibility. Until you set [code]expand[/code] to [code]true[/code], the texture will behave like [constant STRETCH_KEEP].
</constant>
<constant name="STRETCH_SCALE" value="1" enum="StretchMode">
Scale to fit the node's bounding rectangle.
diff --git a/doc/classes/Theme.xml b/doc/classes/Theme.xml
index 8fdef5540b..9c2676a55a 100644
--- a/doc/classes/Theme.xml
+++ b/doc/classes/Theme.xml
@@ -4,8 +4,8 @@
Theme for controls.
</brief_description>
<description>
- Theme for skinning controls. Controls can be skinned individually, but for complex applications it's more efficient to just create a global theme that defines everything. This theme can be applied to any [Control], and it and its children will automatically use it.
- Theme resources can be alternatively loaded by writing them in a .theme file, see docs for more info.
+ A theme for skinning controls. Controls can be skinned individually, but for complex applications, it's more practical to just create a global theme that defines everything. This theme can be applied to any [Control]; the Control and its children will automatically use it.
+ Theme resources can alternatively be loaded by writing them in a [code].theme[/code] file, see the documentation for more information.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/gui/gui_skinning.html</link>
@@ -25,7 +25,7 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Clears theme [Color] at [code]name[/code] if Theme has [code]type[/code].
+ Clears the [Color] at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="clear_constant">
@@ -36,7 +36,7 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Clears theme constant at [code]name[/code] if Theme has [code]type[/code].
+ Clears the constant at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="clear_font">
@@ -47,7 +47,7 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Clears [Font] at [code]name[/code] if Theme has [code]type[/code].
+ Clears the [Font] at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="clear_icon">
@@ -58,7 +58,7 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Clears icon at [code]name[/code] if Theme has [code]type[/code].
+ Clears the icon at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="clear_stylebox">
@@ -69,14 +69,14 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Clears [StyleBox] at [code]name[/code] if Theme has [code]type[/code].
+ Clears [StyleBox] at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="copy_default_theme">
<return type="void">
</return>
<description>
- Sets theme values to a copy of the default theme values.
+ Sets the Theme's values to a copy of the default theme values.
</description>
</method>
<method name="copy_theme">
@@ -95,7 +95,7 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Returns the [Color] at [code]name[/code] if Theme has [code]type[/code].
+ Returns the [Color] at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="get_color_list" qualifiers="const">
@@ -104,7 +104,7 @@
<argument index="0" name="type" type="String">
</argument>
<description>
- Returns all of the [Color]s as a [PoolStringArray] filled with each [Color]'s name, for use in [method get_color], if Theme has [code]type[/code].
+ Returns all the [Color]s as a [PoolStringArray] filled with each [Color]'s name, for use in [method get_color], if the Theme has [code]type[/code].
</description>
</method>
<method name="get_constant" qualifiers="const">
@@ -115,7 +115,7 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Returns the constant at [code]name[/code] if Theme has [code]type[/code].
+ Returns the constant at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="get_constant_list" qualifiers="const">
@@ -124,7 +124,7 @@
<argument index="0" name="type" type="String">
</argument>
<description>
- Returns all of the constants as a [PoolStringArray] filled with each constant's name, for use in [method get_constant], if Theme has [code]type[/code].
+ Returns all the constants as a [PoolStringArray] filled with each constant's name, for use in [method get_constant], if the Theme has [code]type[/code].
</description>
</method>
<method name="get_font" qualifiers="const">
@@ -135,7 +135,7 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Returns the [Font] at [code]name[/code] if Theme has [code]type[/code].
+ Returns the [Font] at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="get_font_list" qualifiers="const">
@@ -144,7 +144,7 @@
<argument index="0" name="type" type="String">
</argument>
<description>
- Returns all of the [Font]s as a [PoolStringArray] filled with each [Font]'s name, for use in [method get_font], if Theme has [code]type[/code].
+ Returns all the [Font]s as a [PoolStringArray] filled with each [Font]'s name, for use in [method get_font], if the Theme has [code]type[/code].
</description>
</method>
<method name="get_icon" qualifiers="const">
@@ -155,7 +155,7 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Returns the icon [Texture] at [code]name[/code] if Theme has [code]type[/code].
+ Returns the icon [Texture] at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="get_icon_list" qualifiers="const">
@@ -164,7 +164,7 @@
<argument index="0" name="type" type="String">
</argument>
<description>
- Returns all of the icons as a [PoolStringArray] filled with each [Texture]'s name, for use in [method get_icon], if Theme has [code]type[/code].
+ Returns all the icons as a [PoolStringArray] filled with each [Texture]'s name, for use in [method get_icon], if the Theme has [code]type[/code].
</description>
</method>
<method name="get_stylebox" qualifiers="const">
@@ -175,7 +175,7 @@
<argument index="1" name="type" type="String">
</argument>
<description>
- Returns the icon [StyleBox] at [code]name[/code] if Theme has [code]type[/code].
+ Returns the icon [StyleBox] at [code]name[/code] if the Theme has [code]type[/code].
</description>
</method>
<method name="get_stylebox_list" qualifiers="const">
@@ -184,14 +184,14 @@
<argument index="0" name="type" type="String">
</argument>
<description>
- Returns all of the [StyleBox]s as a [PoolStringArray] filled with each [StyleBox]'s name, for use in [method get_stylebox], if Theme has [code]type[/code].
+ Returns all the [StyleBox]s as a [PoolStringArray] filled with each [StyleBox]'s name, for use in [method get_stylebox], if the Theme has [code]type[/code].
</description>
</method>
<method name="get_stylebox_types" qualifiers="const">
<return type="PoolStringArray">
</return>
<description>
- Returns all of the [StyleBox] types as a [PoolStringArray] filled with each [StyleBox]'s type, for use in [method get_stylebox] and/or [method get_stylebox_list], if Theme has [code]type[/code].
+ Returns all the [StyleBox] types as a [PoolStringArray] filled with each [StyleBox]'s type, for use in [method get_stylebox] and/or [method get_stylebox_list], if the Theme has [code]type[/code].
</description>
</method>
<method name="get_type_list" qualifiers="const">
@@ -200,7 +200,7 @@
<argument index="0" name="type" type="String">
</argument>
<description>
- Returns all of the types in [code]type[/code] as a [PoolStringArray] for use in any of the get_* functions, if Theme has [code]type[/code].
+ Returns all the types in [code]type[/code] as a [PoolStringArray] for use in any of the get_* functions, if the Theme has [code]type[/code].
</description>
</method>
<method name="has_color" qualifiers="const">
@@ -212,7 +212,7 @@
</argument>
<description>
Returns [code]true[/code] if [Color] with [code]name[/code] is in [code]type[/code].
- Returns [code]false[/code] if Theme does not have [code]type[/code].
+ Returns [code]false[/code] if the Theme does not have [code]type[/code].
</description>
</method>
<method name="has_constant" qualifiers="const">
@@ -224,7 +224,7 @@
</argument>
<description>
Returns [code]true[/code] if constant with [code]name[/code] is in [code]type[/code].
- Returns [code]false[/code] if Theme does not have [code]type[/code].
+ Returns [code]false[/code] if the Theme does not have [code]type[/code].
</description>
</method>
<method name="has_font" qualifiers="const">
@@ -236,7 +236,7 @@
</argument>
<description>
Returns [code]true[/code] if [Font] with [code]name[/code] is in [code]type[/code].
- Returns [code]false[/code] if Theme does not have [code]type[/code].
+ Returns [code]false[/code] if the Theme does not have [code]type[/code].
</description>
</method>
<method name="has_icon" qualifiers="const">
@@ -248,7 +248,7 @@
</argument>
<description>
Returns [code]true[/code] if icon [Texture] with [code]name[/code] is in [code]type[/code].
- Returns [code]false[/code] if Theme does not have [code]type[/code].
+ Returns [code]false[/code] if the Theme does not have [code]type[/code].
</description>
</method>
<method name="has_stylebox" qualifiers="const">
@@ -260,7 +260,7 @@
</argument>
<description>
Returns [code]true[/code] if [StyleBox] with [code]name[/code] is in [code]type[/code].
- Returns [code]false[/code] if Theme does not have [code]type[/code].
+ Returns [code]false[/code] if the Theme does not have [code]type[/code].
</description>
</method>
<method name="set_color">
@@ -273,8 +273,8 @@
<argument index="2" name="color" type="Color">
</argument>
<description>
- Sets Theme's [Color] to [code]color[/code] at [code]name[/code] in [code]type[/code].
- Does nothing if Theme does not have [code]type[/code].
+ Sets the Theme's [Color] to [code]color[/code] at [code]name[/code] in [code]type[/code].
+ Does nothing if the Theme does not have [code]type[/code].
</description>
</method>
<method name="set_constant">
@@ -287,8 +287,8 @@
<argument index="2" name="constant" type="int">
</argument>
<description>
- Sets Theme's constant to [code]constant[/code] at [code]name[/code] in [code]type[/code].
- Does nothing if Theme does not have [code]type[/code].
+ Sets the Theme's constant to [code]constant[/code] at [code]name[/code] in [code]type[/code].
+ Does nothing if the Theme does not have [code]type[/code].
</description>
</method>
<method name="set_font">
@@ -301,8 +301,8 @@
<argument index="2" name="font" type="Font">
</argument>
<description>
- Sets Theme's [Font] to [code]font[/code] at [code]name[/code] in [code]type[/code].
- Does nothing if Theme does not have [code]type[/code].
+ Sets the Theme's [Font] to [code]font[/code] at [code]name[/code] in [code]type[/code].
+ Does nothing if the Theme does not have [code]type[/code].
</description>
</method>
<method name="set_icon">
@@ -315,8 +315,8 @@
<argument index="2" name="texture" type="Texture">
</argument>
<description>
- Sets Theme's icon [Texture] to [code]texture[/code] at [code]name[/code] in [code]type[/code].
- Does nothing if Theme does not have [code]type[/code].
+ Sets the Theme's icon [Texture] to [code]texture[/code] at [code]name[/code] in [code]type[/code].
+ Does nothing if the Theme does not have [code]type[/code].
</description>
</method>
<method name="set_stylebox">
@@ -330,12 +330,12 @@
</argument>
<description>
Sets Theme's [StyleBox] to [code]stylebox[/code] at [code]name[/code] in [code]type[/code].
- Does nothing if Theme does not have [code]type[/code].
+ Does nothing if the Theme does not have [code]type[/code].
</description>
</method>
</methods>
<members>
- <member name="default_font" type="Font" setter="set_default_font" getter="get_default_font">
+ <member name="default_font" type="Font" setter="set_default_font" getter="get_default_font" default="null">
The theme's default font.
</member>
</members>
diff --git a/doc/classes/Thread.xml b/doc/classes/Thread.xml
index ff8221fed3..8f96ab0aed 100644
--- a/doc/classes/Thread.xml
+++ b/doc/classes/Thread.xml
@@ -4,7 +4,7 @@
A unit of execution in a process.
</brief_description>
<description>
- A unit of execution in a process. Can run methods on [Object]s simultaneously. The use of synchronization via [Mutex], [Semaphore] is advised if working with shared objects.
+ A unit of execution in a process. Can run methods on [Object]s simultaneously. The use of synchronization via [Mutex] or [Semaphore] is advised if working with shared objects.
</description>
<tutorials>
</tutorials>
@@ -13,7 +13,7 @@
<return type="String">
</return>
<description>
- Returns the current [Thread]s id, uniquely identifying it among all threads.
+ Returns the current [Thread]'s ID, uniquely identifying it among all threads.
</description>
</method>
<method name="is_active" qualifiers="const">
@@ -35,8 +35,8 @@
<argument index="3" name="priority" type="int" enum="Thread.Priority" default="1">
</argument>
<description>
- Starts a new [Thread] that runs "method" on object "instance" with "userdata" passed as an argument. The "priority" of the [Thread] can be changed by passing a PRIORITY_* enum.
- Returns OK on success, or ERR_CANT_CREATE on failure.
+ Starts a new [Thread] that runs [code]method[/code] on object [code]instance[/code] with [code]userdata[/code] passed as an argument. The [code]priority[/code] of the [Thread] can be changed by passing a value from the [enum Priority] enum.
+ Returns [constant OK] on success, or [constant ERR_CANT_CREATE] on failure.
</description>
</method>
<method name="wait_to_finish">
diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml
index ed4f914136..a0111d3262 100644
--- a/doc/classes/TileMap.xml
+++ b/doc/classes/TileMap.xml
@@ -85,7 +85,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns an array of all cells with the given tile id.
+ Returns an array of all cells with the given tile [code]id[/code].
</description>
</method>
<method name="get_used_rect">
@@ -103,7 +103,7 @@
<argument index="1" name="y" type="int">
</argument>
<description>
- Returns [code]true[/code] if the given cell is transposed, i.e. the x and y axes are swapped.
+ Returns [code]true[/code] if the given cell is transposed, i.e. the X and Y axes are swapped.
</description>
</method>
<method name="is_cell_x_flipped" qualifiers="const">
@@ -114,7 +114,7 @@
<argument index="1" name="y" type="int">
</argument>
<description>
- Returns [code]true[/code] if the given cell is flipped in the x axis.
+ Returns [code]true[/code] if the given cell is flipped in the X axis.
</description>
</method>
<method name="is_cell_y_flipped" qualifiers="const">
@@ -125,7 +125,7 @@
<argument index="1" name="y" type="int">
</argument>
<description>
- Returns [code]true[/code] if the given cell is flipped in the y axis.
+ Returns [code]true[/code] if the given cell is flipped in the Y axis.
</description>
</method>
<method name="map_to_world" qualifiers="const">
@@ -161,7 +161,7 @@
Sets the tile index for the cell given by a Vector2.
An index of [code]-1[/code] clears the cell.
Optionally, the tile can also be flipped, transposed, or given autotile coordinates.
- Note that data such as navigation polygons and collision shapes are not immediately updated for performance reasons.
+ [b]Note:[/b] Data such as navigation polygons and collision shapes are not immediately updated for performance reasons.
If you need these to be immediately updated, you can call [method update_dirty_quadrants].
Overriding this method also overrides it internally, allowing custom logic to be implemented when tiles are placed/removed:
[codeblock]
@@ -189,7 +189,7 @@
Sets the tile index for the given cell.
An index of [code]-1[/code] clears the cell.
Optionally, the tile can also be flipped or transposed.
- Note that data such as navigation polygons and collision shapes are not immediately updated for performance reasons.
+ [b]Note:[/b] Data such as navigation polygons and collision shapes are not immediately updated for performance reasons.
If you need these to be immediately updated, you can call [method update_dirty_quadrants].
</description>
</method>
@@ -221,7 +221,7 @@
<argument index="0" name="position" type="Vector2">
</argument>
<description>
- Applies autotiling rules to the cell (and its adjacent cells) referenced by its grid-based x and y coordinates.
+ Applies autotiling rules to the cell (and its adjacent cells) referenced by its grid-based X and Y coordinates.
</description>
</method>
<method name="update_bitmask_region">
@@ -232,7 +232,7 @@
<argument index="1" name="end" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
- Applies autotiling rules to the cells in the given region (specified by grid-based x and y coordinates).
+ Applies autotiling rules to the cells in the given region (specified by grid-based X and Y coordinates).
Calling with invalid (or missing) parameters applies autotiling rules for the entire tilemap.
</description>
</method>
@@ -254,48 +254,59 @@
</method>
</methods>
<members>
- <member name="cell_clip_uv" type="bool" setter="set_clip_uv" getter="get_clip_uv">
+ <member name="cell_clip_uv" type="bool" setter="set_clip_uv" getter="get_clip_uv" default="false">
</member>
- <member name="cell_custom_transform" type="Transform2D" setter="set_custom_transform" getter="get_custom_transform">
+ <member name="cell_custom_transform" type="Transform2D" setter="set_custom_transform" getter="get_custom_transform" default="Transform2D( 1, 0, 0, 1, 0, 0 )">
The custom [Transform2D] to be applied to the TileMap's cells.
</member>
- <member name="cell_half_offset" type="int" setter="set_half_offset" getter="get_half_offset" enum="TileMap.HalfOffset">
- Amount to offset alternating tiles. Uses HALF_OFFSET_* constants. Default value: HALF_OFFSET_DISABLED.
+ <member name="cell_half_offset" type="int" setter="set_half_offset" getter="get_half_offset" enum="TileMap.HalfOffset" default="2">
+ Amount to offset alternating tiles. See [enum HalfOffset] for possible values.
</member>
- <member name="cell_quadrant_size" type="int" setter="set_quadrant_size" getter="get_quadrant_size">
- The TileMap's quadrant size. Optimizes drawing by batching, using chunks of this size. Default value: 16.
+ <member name="cell_quadrant_size" type="int" setter="set_quadrant_size" getter="get_quadrant_size" default="16">
+ The TileMap's quadrant size. Optimizes drawing by batching, using chunks of this size.
</member>
- <member name="cell_size" type="Vector2" setter="set_cell_size" getter="get_cell_size">
+ <member name="cell_size" type="Vector2" setter="set_cell_size" getter="get_cell_size" default="Vector2( 64, 64 )">
The TileMap's cell size.
</member>
- <member name="cell_tile_origin" type="int" setter="set_tile_origin" getter="get_tile_origin" enum="TileMap.TileOrigin">
- Position for tile origin. Uses TILE_ORIGIN_* constants. Default value: TILE_ORIGIN_TOP_LEFT.
+ <member name="cell_tile_origin" type="int" setter="set_tile_origin" getter="get_tile_origin" enum="TileMap.TileOrigin" default="0">
+ Position for tile origin. See [enum TileOrigin] for possible values.
</member>
- <member name="cell_y_sort" type="bool" setter="set_y_sort_mode" getter="is_y_sort_mode_enabled">
- If [code]true[/code], the TileMap's children will be drawn in order of their Y coordinate. Default value: [code]false[/code].
+ <member name="cell_y_sort" type="bool" setter="set_y_sort_mode" getter="is_y_sort_mode_enabled" default="false">
+ If [code]true[/code], the TileMap's children will be drawn in order of their Y coordinate.
</member>
- <member name="collision_bounce" type="float" setter="set_collision_bounce" getter="get_collision_bounce">
- Bounce value for static body collisions (see [code]collision_use_kinematic[/code]). Default value: 0.
+ <member name="compatibility_mode" type="bool" setter="set_compatibility_mode" getter="is_compatibility_mode_enabled">
+ If [code]true[/code], the compatibility with the tilemaps made in Godot 3.1 or earlier is maintained (textures move when the tile origin changes and rotate if the texture size is not homogeneous). This mode presents problems when doing [code]flip_h[/code], [code]flip_v[/code] and [code]transpose[/code] tile operations on non-homogeneous isometric tiles (e.g. 2:1), in which the texture could not coincide with the collision, thus it is not recommended for isometric or non-square tiles.
+ If [code]false[/code], the textures do not move when doing [code]flip_h[/code], [code]flip_v[/code] operations if no offset is used, nor when changing the tile origin.
+ The compatibility mode doesn't work with the [member centered_textures] option, because displacing textures with the [member cell_tile_origin] option or in irregular tiles is not relevant when centering those textures.
</member>
- <member name="collision_friction" type="float" setter="set_collision_friction" getter="get_collision_friction">
- Friction value for static body collisions (see [code]collision_use_kinematic[/code]). Default value: 1.
+ <member name="centered_textures" type="bool" setter="set_centered_textures" getter="is_centered_textures_enabled">
+ If [code]true[/code], the textures will be centered in the middle of each tile. This is useful for certain isometric or top-down modes when textures are made larger or smaller than the tiles (e.g. to avoid flickering on tile edges). The offset is still applied, but from the center of the tile. If used, [member compatibility_mode] is ignored.
+ If [code]false[/code], the texture position start in the top-left corner unless [member compatibility_mode] is enabled.
</member>
- <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer">
+ <member name="collision_bounce" type="float" setter="set_collision_bounce" getter="get_collision_bounce" default="0.0">
+ Bounce value for static body collisions (see [code]collision_use_kinematic[/code]).
+ </member>
+ <member name="collision_friction" type="float" setter="set_collision_friction" getter="get_collision_friction" default="1.0">
+ Friction value for static body collisions (see [code]collision_use_kinematic[/code]).
+ </member>
+ <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1">
The collision layer(s) for all colliders in the TileMap.
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The collision mask(s) for all colliders in the TileMap.
</member>
- <member name="collision_use_kinematic" type="bool" setter="set_collision_use_kinematic" getter="get_collision_use_kinematic">
- If [code]true[/code], TileMap collisions will be handled as a kinematic body. If [code]false[/code], collisions will be handled as static body. Default value: [code]false[/code].
+ <member name="collision_use_kinematic" type="bool" setter="set_collision_use_kinematic" getter="get_collision_use_kinematic" default="false">
+ If [code]true[/code], TileMap collisions will be handled as a kinematic body. If [code]false[/code], collisions will be handled as static body.
+ </member>
+ <member name="collision_use_parent" type="bool" setter="set_collision_use_parent" getter="get_collision_use_parent" default="false">
</member>
- <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="TileMap.Mode">
- The TileMap orientation mode. Uses MODE_* constants. Default value: MODE_SQUARE.
+ <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="TileMap.Mode" default="0">
+ The TileMap orientation mode. See [enum Mode] for possible values.
</member>
- <member name="occluder_light_mask" type="int" setter="set_occluder_light_mask" getter="get_occluder_light_mask">
+ <member name="occluder_light_mask" type="int" setter="set_occluder_light_mask" getter="get_occluder_light_mask" default="1">
The light mask assigned to all light occluders in the TileMap. The TileSet's light occluders will cast shadows only from Light2D(s) that have the same light mask(s).
</member>
- <member name="tile_set" type="TileSet" setter="set_tileset" getter="get_tileset">
+ <member name="tile_set" type="TileSet" setter="set_tileset" getter="get_tileset" default="null">
The assigned [TileSet].
</member>
</members>
diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml
index f29a7990ed..8ad62f0fcb 100644
--- a/doc/classes/TileSet.xml
+++ b/doc/classes/TileSet.xml
@@ -52,7 +52,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Clears all bitmask info of the autotile.
+ Clears all bitmask information of the autotile.
</description>
</method>
<method name="autotile_get_bitmask">
@@ -64,7 +64,7 @@
</argument>
<description>
Returns the bitmask of the subtile from an autotile given its coordinates.
- The value is the sum of the values in [enum TileSet.AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right).
+ The value is the sum of the values in [enum AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right).
</description>
</method>
<method name="autotile_get_bitmask_mode" qualifiers="const">
@@ -73,7 +73,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the [enum TileSet.BitmaskMode] of the autotile.
+ Returns the [enum BitmaskMode] of the autotile.
</description>
</method>
<method name="autotile_get_icon_coordinate" qualifiers="const">
@@ -83,7 +83,7 @@
</argument>
<description>
Returns the subtile that's being used as an icon in an atlas/autotile given its coordinates.
- The subtile defined as the icon will be used as a fallback when the atlas/autotile's bitmask info is incomplete. It will also be used to represent it in the TileSet editor.
+ The subtile defined as the icon will be used as a fallback when the atlas/autotile's bitmask information is incomplete. It will also be used to represent it in the TileSet editor.
</description>
</method>
<method name="autotile_get_light_occluder" qualifiers="const">
@@ -160,7 +160,7 @@
</argument>
<description>
Sets the bitmask of the subtile from an autotile given its coordinates.
- The value is the sum of the values in [enum TileSet.AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right).
+ The value is the sum of the values in [enum AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right).
</description>
</method>
<method name="autotile_set_bitmask_mode">
@@ -171,7 +171,7 @@
<argument index="1" name="mode" type="int" enum="TileSet.BitmaskMode">
</argument>
<description>
- Sets the [enum TileSet.BitmaskMode] of the autotile.
+ Sets the [enum BitmaskMode] of the autotile.
</description>
</method>
<method name="autotile_set_icon_coordinate">
@@ -183,7 +183,7 @@
</argument>
<description>
Sets the subtile that will be used as an icon in an atlas/autotile given its coordinates.
- The subtile defined as the icon will be used as a fallback when the atlas/autotile's bitmask info is incomplete. It will also be used to represent it in the TileSet editor.
+ The subtile defined as the icon will be used as a fallback when the atlas/autotile's bitmask information is incomplete. It will also be used to represent it in the TileSet editor.
</description>
</method>
<method name="autotile_set_light_occluder">
@@ -503,7 +503,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the tile's [enum TileSet.TileMode].
+ Returns the tile's [enum TileMode].
</description>
</method>
<method name="tile_get_z_index" qualifiers="const">
@@ -512,7 +512,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Returns the tile's z-index (drawing layer).
+ Returns the tile's Z index (drawing layer).
</description>
</method>
<method name="tile_set_light_occluder">
@@ -719,7 +719,7 @@
<argument index="1" name="tilemode" type="int" enum="TileSet.TileMode">
</argument>
<description>
- Sets the tile's [enum TileSet.TileMode].
+ Sets the tile's [enum TileMode].
</description>
</method>
<method name="tile_set_z_index">
diff --git a/doc/classes/Timer.xml b/doc/classes/Timer.xml
index 74bd86b34b..4f455fb377 100644
--- a/doc/classes/Timer.xml
+++ b/doc/classes/Timer.xml
@@ -4,7 +4,7 @@
A countdown timer.
</brief_description>
<description>
- Counts down a specified interval and emits a signal on reaching 0. Can be set to repeat or "one shot" mode.
+ Counts down a specified interval and emits a signal on reaching 0. Can be set to repeat or "one-shot" mode.
</description>
<tutorials>
</tutorials>
@@ -23,7 +23,7 @@
</argument>
<description>
Starts the timer. Sets [code]wait_time[/code] to [code]time_sec[/code] if [code]time_sec &gt; 0[/code]. This also resets the remaining time to [code]wait_time[/code].
- Note: this method will not resume a paused timer. See [member paused].
+ [b]Note:[/b] this method will not resume a paused timer. See [member paused].
</description>
</method>
<method name="stop">
@@ -35,23 +35,23 @@
</method>
</methods>
<members>
- <member name="autostart" type="bool" setter="set_autostart" getter="has_autostart">
- If [code]true[/code], the timer will automatically start when entering the scene tree. Default value: [code]false[/code].
+ <member name="autostart" type="bool" setter="set_autostart" getter="has_autostart" default="false">
+ If [code]true[/code], the timer will automatically start when entering the scene tree.
</member>
- <member name="one_shot" type="bool" setter="set_one_shot" getter="is_one_shot">
- If [code]true[/code], the timer will stop when reaching 0. If [code]false[/code], it will restart. Default value: [code]false[/code].
+ <member name="one_shot" type="bool" setter="set_one_shot" getter="is_one_shot" default="false">
+ If [code]true[/code], the timer will stop when reaching 0. If [code]false[/code], it will restart.
</member>
<member name="paused" type="bool" setter="set_paused" getter="is_paused">
If [code]true[/code], the timer is paused and will not process until it is unpaused again, even if [method start] is called.
</member>
- <member name="process_mode" type="int" setter="set_timer_process_mode" getter="get_timer_process_mode" enum="Timer.TimerProcessMode">
+ <member name="process_mode" type="int" setter="set_timer_process_mode" getter="get_timer_process_mode" enum="Timer.TimerProcessMode" default="1">
Processing mode. See [enum TimerProcessMode].
</member>
<member name="time_left" type="float" setter="" getter="get_time_left">
The timer's remaining time in seconds. Returns 0 if the timer is inactive.
- Note: You cannot set this value. To change the timer's remaining time, use [member wait_time].
+ [b]Note:[/b] You cannot set this value. To change the timer's remaining time, use [member wait_time].
</member>
- <member name="wait_time" type="float" setter="set_wait_time" getter="get_wait_time">
+ <member name="wait_time" type="float" setter="set_wait_time" getter="get_wait_time" default="1.0">
Wait time in seconds.
</member>
</members>
diff --git a/doc/classes/ToolButton.xml b/doc/classes/ToolButton.xml
index b48ab75fd0..3511987474 100644
--- a/doc/classes/ToolButton.xml
+++ b/doc/classes/ToolButton.xml
@@ -23,17 +23,17 @@
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
- <theme_item name="font_color_disabled" type="Color">
+ <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.95, 1, 0.3 )">
</theme_item>
- <theme_item name="font_color_hover" type="Color">
+ <theme_item name="font_color_hover" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
- <theme_item name="font_color_pressed" type="Color">
+ <theme_item name="font_color_pressed" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="3">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
diff --git a/doc/classes/TouchScreenButton.xml b/doc/classes/TouchScreenButton.xml
index 4b5a832b05..fd9f96a41e 100644
--- a/doc/classes/TouchScreenButton.xml
+++ b/doc/classes/TouchScreenButton.xml
@@ -18,32 +18,32 @@
</method>
</methods>
<members>
- <member name="action" type="String" setter="set_action" getter="get_action">
+ <member name="action" type="String" setter="set_action" getter="get_action" default="&quot;&quot;">
The button's action. Actions can be handled with [InputEventAction].
</member>
- <member name="bitmask" type="BitMap" setter="set_bitmask" getter="get_bitmask">
+ <member name="bitmask" type="BitMap" setter="set_bitmask" getter="get_bitmask" default="null">
The button's bitmask.
</member>
- <member name="normal" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="normal" type="Texture" setter="set_texture" getter="get_texture" default="null">
The button's texture for the normal state.
</member>
- <member name="passby_press" type="bool" setter="set_passby_press" getter="is_passby_press_enabled">
- If [code]true[/code], passby presses are enabled.
+ <member name="passby_press" type="bool" setter="set_passby_press" getter="is_passby_press_enabled" default="false">
+ If [code]true[/code], pass-by presses are enabled.
</member>
- <member name="pressed" type="Texture" setter="set_texture_pressed" getter="get_texture_pressed">
+ <member name="pressed" type="Texture" setter="set_texture_pressed" getter="get_texture_pressed" default="null">
The button's texture for the pressed state.
</member>
- <member name="shape" type="Shape2D" setter="set_shape" getter="get_shape">
+ <member name="shape" type="Shape2D" setter="set_shape" getter="get_shape" default="null">
The button's shape.
</member>
- <member name="shape_centered" type="bool" setter="set_shape_centered" getter="is_shape_centered">
+ <member name="shape_centered" type="bool" setter="set_shape_centered" getter="is_shape_centered" default="true">
If [code]true[/code], the button's shape is centered.
</member>
- <member name="shape_visible" type="bool" setter="set_shape_visible" getter="is_shape_visible">
+ <member name="shape_visible" type="bool" setter="set_shape_visible" getter="is_shape_visible" default="true">
If [code]true[/code], the button's shape is visible.
</member>
- <member name="visibility_mode" type="int" setter="set_visibility_mode" getter="get_visibility_mode" enum="TouchScreenButton.VisibilityMode">
- The button's visibility mode. See [code]VISIBILITY_*[/code] constants.
+ <member name="visibility_mode" type="int" setter="set_visibility_mode" getter="get_visibility_mode" enum="TouchScreenButton.VisibilityMode" default="0">
+ The button's visibility mode. See [enum VisibilityMode] for possible values.
</member>
</members>
<signals>
diff --git a/doc/classes/Transform.xml b/doc/classes/Transform.xml
index dfbb93acfc..80a393dcee 100644
--- a/doc/classes/Transform.xml
+++ b/doc/classes/Transform.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Transform" category="Built-In Types" version="3.2">
<brief_description>
- 3D Transformation. 3x4 matrix.
+ 3D transformation (3×4 matrix).
</brief_description>
<description>
- Represents one or many transformations in 3D space such as translation, rotation, or scaling. It consists of a [Basis] "basis" and an [Vector3] "origin". It is similar to a 3x4 matrix.
+ Represents one or many transformations in 3D space such as translation, rotation, or scaling. It consists of a [member basis] and an [member origin]. It is similar to a 3×4 matrix.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link>
@@ -158,10 +158,10 @@
</method>
</methods>
<members>
- <member name="basis" type="Basis" setter="" getter="">
+ <member name="basis" type="Basis" setter="" getter="" default="Basis( 1, 0, 0, 0, 1, 0, 0, 0, 1 )">
The basis is a matrix containing 3 [Vector3] as its columns: X axis, Y axis, and Z axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
</member>
- <member name="origin" type="Vector3" setter="" getter="">
+ <member name="origin" type="Vector3" setter="" getter="" default="Vector3( 0, 0, 0 )">
The translation offset of the transform.
</member>
</members>
diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml
index bc003284ad..c5ae88d050 100644
--- a/doc/classes/Transform2D.xml
+++ b/doc/classes/Transform2D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Transform2D" category="Built-In Types" version="3.2">
<brief_description>
- 2D Transformation. 3x2 matrix.
+ 2D transformation (3×2 matrix).
</brief_description>
<description>
- Represents one or many transformations in 2D space such as translation, rotation, or scaling. It consists of a two [Vector2] x, y and [Vector2] "origin". It is similar to a 3x2 matrix.
+ Represents one or many transformations in 2D space such as translation, rotation, or scaling. It consists of two [member x] and [member y] [Vector2]s and an [member origin]. It is similar to a 3×2 matrix.
</description>
<tutorials>
</tutorials>
@@ -160,14 +160,14 @@
</method>
</methods>
<members>
- <member name="origin" type="Vector2" setter="" getter="">
+ <member name="origin" type="Vector2" setter="" getter="" default="Vector2( 0, 0 )">
The transform's translation offset.
</member>
- <member name="x" type="Vector2" setter="" getter="">
- The X axis of 2x2 basis matrix containing 2 [Vector2]s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
+ <member name="x" type="Vector2" setter="" getter="" default="Vector2( 1, 0 )">
+ The X axis of 2×2 basis matrix containing 2 [Vector2]s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
</member>
- <member name="y" type="Vector2" setter="" getter="">
- The Y axis of 2x2 basis matrix containing 2 [Vector2]s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
+ <member name="y" type="Vector2" setter="" getter="" default="Vector2( 0, 1 )">
+ The Y axis of 2×2 basis matrix containing 2 [Vector2]s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
</member>
</members>
<constants>
diff --git a/doc/classes/Translation.xml b/doc/classes/Translation.xml
index eea4f8ed03..e2599b9695 100644
--- a/doc/classes/Translation.xml
+++ b/doc/classes/Translation.xml
@@ -4,7 +4,7 @@
Language Translation.
</brief_description>
<description>
- Translations are resources that can be loaded/unloaded on demand. They map a string to another string.
+ Translations are resources that can be loaded and unloaded on demand. They map a string to another string.
</description>
<tutorials>
<link>https://docs.godotengine.org/en/latest/tutorials/i18n/internationalizing_games.html</link>
@@ -56,7 +56,7 @@
</method>
</methods>
<members>
- <member name="locale" type="String" setter="set_locale" getter="get_locale">
+ <member name="locale" type="String" setter="set_locale" getter="get_locale" default="&quot;en&quot;">
The locale of the translation.
</member>
</members>
diff --git a/doc/classes/TranslationServer.xml b/doc/classes/TranslationServer.xml
index 268fb5b6a5..f43d3bb24e 100644
--- a/doc/classes/TranslationServer.xml
+++ b/doc/classes/TranslationServer.xml
@@ -47,7 +47,7 @@
<argument index="0" name="locale" type="String">
</argument>
<description>
- Returns a locale's language and its variant (e.g. "en_US" would return "English (United States)").
+ Returns a locale's language and its variant (e.g. [code]"en_US"[/code] would return [code]"English (United States)"[/code]).
</description>
</method>
<method name="remove_translation">
diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml
index 0272efeecb..416a9eb656 100644
--- a/doc/classes/Tree.xml
+++ b/doc/classes/Tree.xml
@@ -42,7 +42,7 @@
<argument index="1" name="idx" type="int" default="-1">
</argument>
<description>
- Create an item in the tree and add it as the last child of [code]parent[/code]. If parent is not given, it will be added as the root's last child, or it'll the be the root itself if the tree is empty.
+ Create an item in the tree and add it as the last child of [code]parent[/code]. If [code]parent[/code] is [code]null[/code], it will be added as the root's last child, or it'll be the the root itself if the tree is empty.
</description>
</method>
<method name="ensure_cursor_is_visible">
@@ -92,8 +92,8 @@
<argument index="0" name="position" type="Vector2">
</argument>
<description>
- If [member drop_mode_flags] includes [code]DROP_MODE_INBETWEEN[/code], returns -1 if [code]position[/code] is the upper part of a tree item at that position, 1 for the lower part, and additionally 0 for the middle part if [member drop_mode_flags] includes [code]DROP_MODE_ON_ITEM[/code].
- Otherwise, returns 0. If there are no tree item at [code]position[/code], returns -100.
+ If [member drop_mode_flags] includes [constant DROP_MODE_INBETWEEN], returns -1 if [code]position[/code] is the upper part of a tree item at that position, 1 for the lower part, and additionally 0 for the middle part if [member drop_mode_flags] includes [constant DROP_MODE_ON_ITEM].
+ Otherwise, returns 0. If there are no tree items at [code]position[/code], returns -100.
</description>
</method>
<method name="get_edited" qualifiers="const">
@@ -193,7 +193,7 @@
<argument index="1" name="min_width" type="int">
</argument>
<description>
- Set the minimum width of a column.
+ Sets the minimum width of a column.
</description>
</method>
<method name="set_column_title">
@@ -204,7 +204,7 @@
<argument index="1" name="title" type="String">
</argument>
<description>
- Set the title of a column.
+ Sets the title of a column.
</description>
</method>
<method name="set_column_titles_visible">
@@ -218,26 +218,26 @@
</method>
</methods>
<members>
- <member name="allow_reselect" type="bool" setter="set_allow_reselect" getter="get_allow_reselect">
+ <member name="allow_reselect" type="bool" setter="set_allow_reselect" getter="get_allow_reselect" default="false">
If [code]true[/code], the currently selected cell may be selected again.
</member>
- <member name="allow_rmb_select" type="bool" setter="set_allow_rmb_select" getter="get_allow_rmb_select">
+ <member name="allow_rmb_select" type="bool" setter="set_allow_rmb_select" getter="get_allow_rmb_select" default="false">
If [code]true[/code], a right mouse button click can select items.
</member>
- <member name="columns" type="int" setter="set_columns" getter="get_columns">
- The amount of columns.
+ <member name="columns" type="int" setter="set_columns" getter="get_columns" default="1">
+ The number of columns.
</member>
- <member name="drop_mode_flags" type="int" setter="set_drop_mode_flags" getter="get_drop_mode_flags">
- The drop mode as an OR combination of flags. See [code]DROP_MODE_*[/code] constants. Once dropping is done, reverts to [code]DROP_MODE_DISABLED[/code]. Setting this during [method Control.can_drop_data] is recommended.
+ <member name="drop_mode_flags" type="int" setter="set_drop_mode_flags" getter="get_drop_mode_flags" default="0">
+ The drop mode as an OR combination of flags. See [code]DROP_MODE_*[/code] constants. Once dropping is done, reverts to [constant DROP_MODE_DISABLED]. Setting this during [method Control.can_drop_data] is recommended.
</member>
- <member name="hide_folding" type="bool" setter="set_hide_folding" getter="is_folding_hidden">
+ <member name="hide_folding" type="bool" setter="set_hide_folding" getter="is_folding_hidden" default="false">
If [code]true[/code], the folding arrow is hidden.
</member>
- <member name="hide_root" type="bool" setter="set_hide_root" getter="is_root_hidden">
+ <member name="hide_root" type="bool" setter="set_hide_root" getter="is_root_hidden" default="false">
If [code]true[/code], the tree's root is hidden.
</member>
- <member name="select_mode" type="int" setter="set_select_mode" getter="get_select_mode" enum="Tree.SelectMode">
- Allow single or multiple selection. See the [code]SELECT_*[/code] constants.
+ <member name="select_mode" type="int" setter="set_select_mode" getter="get_select_mode" enum="Tree.SelectMode" default="0">
+ Allows single or multiple selection. See the [code]SELECT_*[/code] constants.
</member>
</members>
<signals>
@@ -268,7 +268,7 @@
<argument index="0" name="arrow_clicked" type="bool">
</argument>
<description>
- Emitted when a cell with the [code]CELL_MODE_CUSTOM[/code] is clicked to be edited.
+ Emitted when a cell with the [constant TreeItem.CELL_MODE_CUSTOM] is clicked to be edited.
</description>
</signal>
<signal name="empty_rmb">
@@ -281,7 +281,7 @@
<argument index="0" name="position" type="Vector2">
</argument>
<description>
- Emitted when the right mouse button is pressed if RMB selection is active and the tree is empty.
+ Emitted when the right mouse button is pressed if right mouse button selection is active and the tree is empty.
</description>
</signal>
<signal name="item_activated">
@@ -335,7 +335,7 @@
<argument index="2" name="selected" type="bool">
</argument>
<description>
- Emitted instead of [code]item_selected[/code] when [code]select_mode[/code] is [code]SELECT_MULTI[/code].
+ Emitted instead of [code]item_selected[/code] if [code]select_mode[/code] is [constant SELECT_MULTI].
</description>
</signal>
<signal name="nothing_selected">
@@ -345,12 +345,12 @@
</signals>
<constants>
<constant name="SELECT_SINGLE" value="0" enum="SelectMode">
- Allow selection of a single item at a time.
+ Allows selection of a single item at a time.
</constant>
<constant name="SELECT_ROW" value="1" enum="SelectMode">
</constant>
<constant name="SELECT_MULTI" value="2" enum="SelectMode">
- Allow selection of multiple items at the same time.
+ Allows selection of multiple items at the same time.
</constant>
<constant name="DROP_MODE_DISABLED" value="0" enum="DropModeFlags">
</constant>
@@ -368,7 +368,7 @@
</theme_item>
<theme_item name="bg_focus" type="StyleBox">
</theme_item>
- <theme_item name="button_margin" type="int">
+ <theme_item name="button_margin" type="int" default="4">
</theme_item>
<theme_item name="button_pressed" type="StyleBox">
</theme_item>
@@ -376,43 +376,43 @@
</theme_item>
<theme_item name="cursor" type="StyleBox">
</theme_item>
- <theme_item name="cursor_color" type="Color">
+ <theme_item name="cursor_color" type="Color" default="Color( 0, 0, 0, 1 )">
</theme_item>
<theme_item name="cursor_unfocused" type="StyleBox">
</theme_item>
<theme_item name="custom_button" type="StyleBox">
</theme_item>
- <theme_item name="custom_button_font_highlight" type="Color">
+ <theme_item name="custom_button_font_highlight" type="Color" default="Color( 0.941176, 0.941176, 0.941176, 1 )">
</theme_item>
<theme_item name="custom_button_hover" type="StyleBox">
</theme_item>
<theme_item name="custom_button_pressed" type="StyleBox">
</theme_item>
- <theme_item name="draw_guides" type="int">
+ <theme_item name="draw_guides" type="int" default="1">
</theme_item>
- <theme_item name="draw_relationship_lines" type="int">
+ <theme_item name="draw_relationship_lines" type="int" default="0">
</theme_item>
- <theme_item name="drop_position_color" type="Color">
+ <theme_item name="drop_position_color" type="Color" default="Color( 1, 0.3, 0.2, 1 )">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
- <theme_item name="font_color" type="Color">
+ <theme_item name="font_color" type="Color" default="Color( 0.690196, 0.690196, 0.690196, 1 )">
</theme_item>
- <theme_item name="font_color_selected" type="Color">
+ <theme_item name="font_color_selected" type="Color" default="Color( 1, 1, 1, 1 )">
</theme_item>
- <theme_item name="guide_color" type="Color">
+ <theme_item name="guide_color" type="Color" default="Color( 0, 0, 0, 0.1 )">
</theme_item>
- <theme_item name="guide_width" type="int">
+ <theme_item name="guide_width" type="int" default="2">
</theme_item>
- <theme_item name="hseparation" type="int">
+ <theme_item name="hseparation" type="int" default="4">
</theme_item>
- <theme_item name="item_margin" type="int">
+ <theme_item name="item_margin" type="int" default="12">
</theme_item>
- <theme_item name="relationship_line_color" type="Color">
+ <theme_item name="relationship_line_color" type="Color" default="Color( 0.27451, 0.27451, 0.27451, 1 )">
</theme_item>
- <theme_item name="scroll_border" type="int">
+ <theme_item name="scroll_border" type="int" default="4">
</theme_item>
- <theme_item name="scroll_speed" type="int">
+ <theme_item name="scroll_speed" type="int" default="12">
</theme_item>
<theme_item name="select_arrow" type="Texture">
</theme_item>
@@ -420,9 +420,9 @@
</theme_item>
<theme_item name="selected_focus" type="StyleBox">
</theme_item>
- <theme_item name="selection_color" type="Color">
+ <theme_item name="selection_color" type="Color" default="Color( 0.1, 0.1, 1, 0.8 )">
</theme_item>
- <theme_item name="title_button_color" type="Color">
+ <theme_item name="title_button_color" type="Color" default="Color( 0.878431, 0.878431, 0.878431, 1 )">
</theme_item>
<theme_item name="title_button_font" type="Font">
</theme_item>
@@ -436,7 +436,7 @@
</theme_item>
<theme_item name="updown" type="Texture">
</theme_item>
- <theme_item name="vseparation" type="int">
+ <theme_item name="vseparation" type="int" default="4">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml
index f7887a87c8..d9c7013d34 100644
--- a/doc/classes/TreeItem.xml
+++ b/doc/classes/TreeItem.xml
@@ -90,7 +90,7 @@
<argument index="0" name="column" type="int">
</argument>
<description>
- Returns the column's cell mode. See [code]CELL_MODE_*[/code] constants.
+ Returns the column's cell mode.
</description>
</method>
<method name="get_children">
@@ -527,7 +527,7 @@
<argument index="1" name="text_align" type="int" enum="TreeItem.TextAlign">
</argument>
<description>
- Sets the given column's text alignment. See [code]ALIGN_*[/code] constants.
+ Sets the given column's text alignment. See [enum TextAlign] for possible values.
</description>
</method>
<method name="set_tooltip">
diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml
index d121fdc125..0f7a93e8d5 100644
--- a/doc/classes/Tween.xml
+++ b/doc/classes/Tween.xml
@@ -4,7 +4,7 @@
Smoothly animates a node's properties over time.
</brief_description>
<description>
- Tweens are useful for animations requiring a numerical property to be interpolated over a range of values. The name *tween* comes from *in-betweening*, an animation technique where you specify *keyframes* and the computer interpolates the frames that appear between them.
+ Tweens are useful for animations requiring a numerical property to be interpolated over a range of values. The name [i]tween[/i] comes from [i]in-betweening[/i], an animation technique where you specify [i]keyframes[/i] and the computer interpolates the frames that appear between them.
Here is a brief usage example that causes a 2D node to move smoothly between two positions:
[codeblock]
var tween = get_node("Tween")
@@ -13,8 +13,8 @@
Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
tween.start()
[/codeblock]
- Many methods require a property name, such as "position" above. You can find the correct property name by hovering over the property in the Inspector. You can also provide the components of a property directly by using "property:component" (eg. [code]position:x[/code]), where it would only apply to that particular component.
- Many of the methods accept [code]trans_type[/code] and [code]ease_type[/code]. The first accepts an [enum TransitionType] constant, and refers to the way the timing of the animation is handled (see [code]http://easings.net/[/code] for some examples). The second accepts an [enum EaseType] constant, and controls the where [code]trans_type[/code] is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different [enum TransitionType] constants with [code]EASE_IN_OUT[/code], and use the one that looks best.
+ Many methods require a property name, such as [code]"position"[/code] above. You can find the correct property name by hovering over the property in the Inspector. You can also provide the components of a property directly by using [code]"property:component"[/code] (eg. [code]position:x[/code]), where it would only apply to that particular component.
+ Many of the methods accept [code]trans_type[/code] and [code]ease_type[/code]. The first accepts an [enum TransitionType] constant, and refers to the way the timing of the animation is handled (see [code]http://easings.net/[/code] for some examples). The second accepts an [enum EaseType] constant, and controls the where [code]trans_type[/code] is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different [enum TransitionType] constants with [constant EASE_IN_OUT], and use the one that looks best.
</description>
<tutorials>
</tutorials>
@@ -42,7 +42,7 @@
</argument>
<description>
Follows [code]method[/code] of [code]object[/code] and applies the returned value on [code]target_method[/code] of [code]target[/code], beginning from [code]initial_val[/code] for [code]duration[/code] seconds, [code]delay[/code] later. Methods are called with consecutive values.
- Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information
+ Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information.
</description>
</method>
<method name="follow_property">
@@ -68,7 +68,7 @@
</argument>
<description>
Follows [code]property[/code] of [code]object[/code] and applies it on [code]target_property[/code] of [code]target[/code], beginning from [code]initial_val[/code] for [code]duration[/code] seconds, [code]delay[/code] seconds later.
- Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information
+ Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information.
</description>
</method>
<method name="get_runtime" qualifiers="const">
@@ -145,7 +145,7 @@
</argument>
<description>
Animates [code]method[/code] of [code]object[/code] from [code]initial_val[/code] to [code]final_val[/code] for [code]duration[/code] seconds, [code]delay[/code] seconds later. Methods are called with consecutive values.
- Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information
+ Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information.
</description>
</method>
<method name="interpolate_property">
@@ -169,14 +169,15 @@
</argument>
<description>
Animates [code]property[/code] of [code]object[/code] from [code]initial_val[/code] to [code]final_val[/code] for [code]duration[/code] seconds, [code]delay[/code] seconds later. Setting the initial value to [code]null[/code] uses the current value of the property.
- Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information
+ Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information.
</description>
</method>
<method name="is_active" qualifiers="const">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if any tweens are currently running. Note that this method doesn't consider tweens that have ended.
+ Returns [code]true[/code] if any tweens are currently running.
+ [b]Note:[/b] This method doesn't consider tweens that have ended.
</description>
</method>
<method name="remove">
@@ -299,7 +300,7 @@
</argument>
<description>
Animates [code]method[/code] of [code]object[/code] from the value returned by [code]initial_method[/code] to [code]final_val[/code] for [code]duration[/code] seconds, [code]delay[/code] seconds later. Methods are animated by calling them with consecutive values.
- Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information
+ Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information.
</description>
</method>
<method name="targeting_property">
@@ -325,7 +326,7 @@
</argument>
<description>
Animates [code]property[/code] of [code]object[/code] from the current value of the [code]initial_val[/code] property of [code]initial[/code] to [code]final_val[/code] for [code]duration[/code] seconds, [code]delay[/code] seconds later.
- Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information
+ Use [enum TransitionType] for [code]trans_type[/code] and [enum EaseType] for [code]ease_type[/code] parameters. These values control the timing and direction of the interpolation. See the class description for more information.
</description>
</method>
<method name="tell" qualifiers="const">
@@ -337,13 +338,13 @@
</method>
</methods>
<members>
- <member name="playback_process_mode" type="int" setter="set_tween_process_mode" getter="get_tween_process_mode" enum="Tween.TweenProcessMode">
- The tween's animation process thread. See [enum TweenProcessMode]. Default value: [constant TWEEN_PROCESS_IDLE].
+ <member name="playback_process_mode" type="int" setter="set_tween_process_mode" getter="get_tween_process_mode" enum="Tween.TweenProcessMode" default="1">
+ The tween's animation process thread. See [enum TweenProcessMode].
</member>
- <member name="playback_speed" type="float" setter="set_speed_scale" getter="get_speed_scale">
+ <member name="playback_speed" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
The tween's speed multiplier. For example, set it to [code]1.0[/code] for normal speed, [code]2.0[/code] for two times normal speed, or [code]0.5[/code] for half of the normal speed. A value of [code]0[/code] pauses the animation, but see also [method set_active] or [method stop_all] for this.
</member>
- <member name="repeat" type="bool" setter="set_repeat" getter="is_repeat">
+ <member name="repeat" type="bool" setter="set_repeat" getter="is_repeat" default="false">
If [code]true[/code], the tween loops.
</member>
</members>
diff --git a/doc/classes/UndoRedo.xml b/doc/classes/UndoRedo.xml
index c0b73cd8e3..7834719af6 100644
--- a/doc/classes/UndoRedo.xml
+++ b/doc/classes/UndoRedo.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="UndoRedo" inherits="Object" category="Core" version="3.2">
<brief_description>
- Helper to manage UndoRedo in the editor or custom tools.
+ Helper to manage undo/redo operations in the editor or custom tools.
</brief_description>
<description>
- Helper to manage UndoRedo in the editor or custom tools. It works by registering methods and property changes inside 'actions'.
+ Helper to manage undo/redo operations in the editor or custom tools. It works by registering methods and property changes inside "actions".
Common behavior is to create an action, then add do/undo calls to functions or property changes, then committing the action.
- Here's an example on how to add an action to Godot editor's own 'undoredo':
+ Here's an example on how to add an action to the Godot editor's own [UndoRedo], from a plugin:
[codeblock]
var undo_redo = get_undo_redo() # Method of EditorPlugin.
@@ -26,7 +26,7 @@
undo_redo.commit_action()
[/codeblock]
[method create_action], [method add_do_method], [method add_undo_method], [method add_do_property], [method add_undo_property], and [method commit_action] should be called one after the other, like in the example. Not doing so could lead to crashes.
- If you don't need to register a method you can leave [method add_do_method] and [method add_undo_method] out, and so it goes for properties. You can register more than one method/property.
+ If you don't need to register a method, you can leave [method add_do_method] and [method add_undo_method] out; the same goes for properties. You can also register more than one method/property.
</description>
<tutorials>
</tutorials>
@@ -52,7 +52,7 @@
<argument index="2" name="value" type="Variant">
</argument>
<description>
- Register a property value change for 'do'.
+ Register a property value change for "do".
</description>
</method>
<method name="add_do_reference">
@@ -61,7 +61,7 @@
<argument index="0" name="object" type="Object">
</argument>
<description>
- Register a reference for 'do' that will be erased if the 'do' history is lost. This is useful mostly for new nodes created for the 'do' call. Do not use for resources.
+ Register a reference for "do" that will be erased if the "do" history is lost. This is useful mostly for new nodes created for the "do" call. Do not use for resources.
</description>
</method>
<method name="add_undo_method" qualifiers="vararg">
@@ -85,7 +85,7 @@
<argument index="2" name="value" type="Variant">
</argument>
<description>
- Register a property value change for 'undo'.
+ Register a property value change for "undo".
</description>
</method>
<method name="add_undo_reference">
@@ -94,7 +94,7 @@
<argument index="0" name="object" type="Object">
</argument>
<description>
- Register a reference for 'undo' that will be erased if the 'undo' history is lost. This is useful mostly for nodes removed with the 'do' call (not the 'undo' call!).
+ Register a reference for "undo" that will be erased if the "undo" history is lost. This is useful mostly for nodes removed with the "do" call (not the "undo" call!).
</description>
</method>
<method name="clear_history">
@@ -111,7 +111,7 @@
<return type="void">
</return>
<description>
- Commit the action. All 'do' methods/properties are called/set when this function is called.
+ Commit the action. All "do" methods/properties are called/set when this function is called.
</description>
</method>
<method name="create_action">
@@ -130,44 +130,66 @@
<return type="String">
</return>
<description>
- Get the name of the current action.
+ Gets the name of the current action.
</description>
</method>
<method name="get_version" qualifiers="const">
<return type="int">
</return>
<description>
- Get the version, each time a new action is committed, the version number of the UndoRedo is increased automatically.
+ Gets the version. Every time a new action is committed, the [UndoRedo]'s version number is increased automatically.
This is useful mostly to check if something changed from a saved version.
</description>
</method>
+ <method name="has_redo">
+ <return type="bool">
+ </return>
+ <description>
+ Returns [code]true[/code] if a "redo" action is available.
+ </description>
+ </method>
+ <method name="has_undo">
+ <return type="bool">
+ </return>
+ <description>
+ Returns [code]true[/code] if an "undo" action is available.
+ </description>
+ </method>
<method name="is_commiting_action" qualifiers="const">
<return type="bool">
</return>
<description>
+ Returns [code]true[/code] if the [UndoRedo] is currently committing the action, i.e. running its "do" method or property change (see [method commit_action]).
</description>
</method>
<method name="redo">
<return type="bool">
</return>
<description>
- Redo last action.
+ Redo the last action.
</description>
</method>
<method name="undo">
<return type="bool">
</return>
<description>
- Undo last action.
+ Undo the last action.
</description>
</method>
</methods>
+ <signals>
+ <signal name="version_changed">
+ <description>
+ Called when [method undo] or [method redo] was called.
+ </description>
+ </signal>
+ </signals>
<constants>
<constant name="MERGE_DISABLE" value="0" enum="MergeMode">
- Makes [code]do[/code]/[code]undo[/code] operations stay in separate actions.
+ Makes "do"/"undo" operations stay in separate actions.
</constant>
<constant name="MERGE_ENDS" value="1" enum="MergeMode">
- Makes so that the action's [code]do[/code] operation is from the first action created and the [code]undo[/code] operation is from the last subsequent action with the same name.
+ Makes so that the action's "do" operation is from the first action created and the "undo" operation is from the last subsequent action with the same name.
</constant>
<constant name="MERGE_ALL" value="2" enum="MergeMode">
Makes subsequent actions with the same name be merged into one.
diff --git a/doc/classes/VBoxContainer.xml b/doc/classes/VBoxContainer.xml
index 1b4a6a6b62..4709772615 100644
--- a/doc/classes/VBoxContainer.xml
+++ b/doc/classes/VBoxContainer.xml
@@ -13,7 +13,7 @@
<constants>
</constants>
<theme_items>
- <theme_item name="separation" type="int">
+ <theme_item name="separation" type="int" default="4">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/VSeparator.xml b/doc/classes/VSeparator.xml
index ab33c24bb6..e618c2b84b 100644
--- a/doc/classes/VSeparator.xml
+++ b/doc/classes/VSeparator.xml
@@ -4,7 +4,7 @@
Vertical version of [Separator].
</brief_description>
<description>
- Vertical version of [Separator]. It is used to separate objects horizontally, though (but it looks vertical!).
+ Vertical version of [Separator]. Even though it looks vertical, it is used to separate objects horizontally.
</description>
<tutorials>
</tutorials>
@@ -13,7 +13,7 @@
<constants>
</constants>
<theme_items>
- <theme_item name="separation" type="int">
+ <theme_item name="separation" type="int" default="4">
</theme_item>
<theme_item name="separator" type="StyleBox">
</theme_item>
diff --git a/doc/classes/VSplitContainer.xml b/doc/classes/VSplitContainer.xml
index 594b662fea..da2a54dca0 100644
--- a/doc/classes/VSplitContainer.xml
+++ b/doc/classes/VSplitContainer.xml
@@ -13,13 +13,13 @@
<constants>
</constants>
<theme_items>
- <theme_item name="autohide" type="int">
+ <theme_item name="autohide" type="int" default="1">
</theme_item>
<theme_item name="bg" type="StyleBox">
</theme_item>
<theme_item name="grabber" type="Texture">
</theme_item>
- <theme_item name="separation" type="int">
+ <theme_item name="separation" type="int" default="12">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/Variant.xml b/doc/classes/Variant.xml
index ee598c39f8..eb07c70cc6 100644
--- a/doc/classes/Variant.xml
+++ b/doc/classes/Variant.xml
@@ -4,7 +4,7 @@
The most important data type in Godot.
</brief_description>
<description>
- A Variant takes up only 20 bytes and can store almost any engine datatype inside of it. Variants are rarely used to hold information for long periods of time, instead they are used mainly for communication, editing, serialization and moving data around.
+ A Variant takes up only 20 bytes and can store almost any engine datatype inside of it. Variants are rarely used to hold information for long periods of time. Instead, they are used mainly for communication, editing, serialization and moving data around.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml
index 243dbceced..0c96c50c58 100644
--- a/doc/classes/Vector2.xml
+++ b/doc/classes/Vector2.xml
@@ -18,7 +18,7 @@
<argument index="1" name="y" type="float">
</argument>
<description>
- Constructs a new Vector2 from the given x and y.
+ Constructs a new Vector2 from the given [code]x[/code] and [code]y[/code].
</description>
</method>
<method name="abs">
@@ -32,8 +32,8 @@
<return type="float">
</return>
<description>
- Returns the vector's angle in radians with respect to the x-axis, or [code](1, 0)[/code] vector.
- Equivalent to the result of atan2 when called with the vector's x and y as parameters: [code]atan2(x, y)[/code].
+ Returns the vector's angle in radians with respect to the X axis, or [code](1, 0)[/code] vector.
+ Equivalent to the result of [method @GDScript.atan2] when called with the vector's [member x] and [member y] as parameters: [code]atan2(x, y)[/code].
</description>
</method>
<method name="angle_to">
@@ -51,14 +51,14 @@
<argument index="0" name="to" type="Vector2">
</argument>
<description>
- Returns the angle in radians between the line connecting the two points and the x coordinate.
+ Returns the angle in radians between the line connecting the two points and the X coordinate.
</description>
</method>
<method name="aspect">
<return type="float">
</return>
<description>
- Returns the ratio of x to y.
+ Returns the ratio of [member x] to [member y].
</description>
</method>
<method name="bounce">
@@ -92,7 +92,7 @@
<argument index="0" name="with" type="Vector2">
</argument>
<description>
- Returns the 2 dimensional analog of the cross product with the given vector.
+ Returns the 2-dimensional analog of the cross product with the given vector.
</description>
</method>
<method name="cubic_interpolate">
@@ -107,7 +107,7 @@
<argument index="3" name="t" type="float">
</argument>
<description>
- Cubicly interpolates between this vector and [code]b[/code] using [code]pre_a[/code] and [code]post_b[/code] as handles, and returns the result at position [code]t[/code]. [code]t[/code] is in the range of [code]0.0 - 1.0[/code], representing the amount of interpolation.
+ Cubically interpolates between this vector and [code]b[/code] using [code]pre_a[/code] and [code]post_b[/code] as handles, and returns the result at position [code]t[/code]. [code]t[/code] is in the range of [code]0.0 - 1.0[/code], representing the amount of interpolation.
</description>
</method>
<method name="direction_to">
@@ -245,8 +245,8 @@
<argument index="1" name="t" type="float">
</argument>
<description>
- Returns the result of SLERP between this vector and [code]b[/code], by amount [code]t[/code]. [code]t[/code] is in the range of [code]0.0 - 1.0[/code], representing the amount of interpolation.
- Both vectors need to be normalized.
+ Returns the result of spherical linear interpolation between this vector and [code]b[/code], by amount [code]t[/code]. [code]t[/code] is in the range of [code]0.0 - 1.0[/code], representing the amount of interpolation.
+ [b]Note:[/b] Both vectors must be normalized.
</description>
</method>
<method name="slide">
@@ -276,11 +276,11 @@
</method>
</methods>
<members>
- <member name="x" type="float" setter="" getter="">
- The vector's x component. Also accessible by using the index position [code][0][/code].
+ <member name="x" type="float" setter="" getter="" default="0.0">
+ The vector's X component. Also accessible by using the index position [code][0][/code].
</member>
- <member name="y" type="float" setter="" getter="">
- The vector's y component. Also accessible by using the index position [code][1][/code].
+ <member name="y" type="float" setter="" getter="" default="0.0">
+ The vector's Y component. Also accessible by using the index position [code][1][/code].
</member>
</members>
<constants>
diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml
index 99bf3d2610..3e1083ab69 100644
--- a/doc/classes/Vector3.xml
+++ b/doc/classes/Vector3.xml
@@ -246,8 +246,8 @@
<argument index="1" name="t" type="float">
</argument>
<description>
- Returns the result of SLERP between this vector and [code]b[/code], by amount [code]t[/code]. [code]t[/code] is in the range of [code]0.0 - 1.0[/code], representing the amount of interpolation.
- Both vectors need to be normalized.
+ Returns the result of spherical linear interpolation between this vector and [code]b[/code], by amount [code]t[/code]. [code]t[/code] is in the range of [code]0.0 - 1.0[/code], representing the amount of interpolation.
+ [b]Note:[/b] Both vectors must be normalized.
</description>
</method>
<method name="slide">
@@ -265,7 +265,7 @@
<argument index="0" name="by" type="Vector3">
</argument>
<description>
- Returns a copy of the vector, snapped to the lowest neared multiple.
+ Returns a copy of the vector snapped to the lowest neared multiple.
</description>
</method>
<method name="to_diagonal_matrix">
@@ -277,14 +277,14 @@
</method>
</methods>
<members>
- <member name="x" type="float" setter="" getter="">
- The vector's x component. Also accessible by using the index position [code][0][/code].
+ <member name="x" type="float" setter="" getter="" default="0.0">
+ The vector's X component. Also accessible by using the index position [code][0][/code].
</member>
- <member name="y" type="float" setter="" getter="">
- The vector's y component. Also accessible by using the index position [code][1][/code].
+ <member name="y" type="float" setter="" getter="" default="0.0">
+ The vector's Y component. Also accessible by using the index position [code][1][/code].
</member>
- <member name="z" type="float" setter="" getter="">
- The vector's z component. Also accessible by using the index position [code][2][/code].
+ <member name="z" type="float" setter="" getter="" default="0.0">
+ The vector's Z component. Also accessible by using the index position [code][2][/code].
</member>
</members>
<constants>
diff --git a/doc/classes/VehicleBody.xml b/doc/classes/VehicleBody.xml
index ab821aafdc..956144b54c 100644
--- a/doc/classes/VehicleBody.xml
+++ b/doc/classes/VehicleBody.xml
@@ -1,25 +1,26 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VehicleBody" inherits="RigidBody" category="Core" version="3.2">
<brief_description>
- Physics body that simulates the behaviour of a car.
+ Physics body that simulates the behavior of a car.
</brief_description>
<description>
- This nodes implements all the physics logic needed to simulate a car. It is based on the raycast vehicle system commonly found in physics engines. You will need to add a [CollisionShape] for the main body of your vehicle and add [VehicleWheel] nodes for the wheels. You should also add a [MeshInstance] to this node for the 3D model of your car but this model should not include meshes for the wheels. You should control the vehicle by using the [member brake], [member engine_force], and [member steering] properties and not change the position or orientation of this node directly.
- Note that the origin point of your VehicleBody will determine the center of gravity of your vehicle so it is better to keep this low and move the [CollisionShape] and [MeshInstance] upwards.
+ This node implements all the physics logic needed to simulate a car. It is based on the raycast vehicle system commonly found in physics engines. You will need to add a [CollisionShape] for the main body of your vehicle and add [VehicleWheel] nodes for the wheels. You should also add a [MeshInstance] to this node for the 3D model of your car but this model should not include meshes for the wheels. You should control the vehicle by using the [member brake], [member engine_force], and [member steering] properties and not change the position or orientation of this node directly.
+ [b]Note:[/b] The origin point of your VehicleBody will determine the center of gravity of your vehicle so it is better to keep this low and move the [CollisionShape] and [MeshInstance] upwards.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
- <member name="brake" type="float" setter="set_brake" getter="get_brake">
+ <member name="brake" type="float" setter="set_brake" getter="get_brake" default="0.0">
Slows down the vehicle by applying a braking force. The vehicle is only slowed down if the wheels are in contact with a surface. The force you need to apply to adequately slow down your vehicle depends on the [member RigidBody.mass] of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 30 range for hard braking.
</member>
- <member name="engine_force" type="float" setter="set_engine_force" getter="get_engine_force">
- Accelerates the vehicle by applying an engine force. The vehicle is only speed up if the wheels that have [member VehicleWheel.use_as_traction] set to [code]true[/code] and are in contact with a surface. The [member RigidBody.mass] of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration. Note that the simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears.
+ <member name="engine_force" type="float" setter="set_engine_force" getter="get_engine_force" default="0.0">
+ Accelerates the vehicle by applying an engine force. The vehicle is only speed up if the wheels that have [member VehicleWheel.use_as_traction] set to [code]true[/code] and are in contact with a surface. The [member RigidBody.mass] of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration.
+ [b]Note:[/b] The simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears.
A negative value will result in the vehicle reversing.
</member>
- <member name="steering" type="float" setter="set_steering" getter="get_steering">
+ <member name="steering" type="float" setter="set_steering" getter="get_steering" default="0.0">
The steering angle for the vehicle. Setting this to a non-zero value will result in the vehicle turning when it's moving. Wheels that have [member VehicleWheel.use_as_steering] set to [code]true[/code] will automatically be rotated.
</member>
</members>
diff --git a/doc/classes/VehicleWheel.xml b/doc/classes/VehicleWheel.xml
index 0bc0e351e4..6de6429531 100644
--- a/doc/classes/VehicleWheel.xml
+++ b/doc/classes/VehicleWheel.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VehicleWheel" inherits="Spatial" category="Core" version="3.2">
<brief_description>
- Physics object that simulates the behaviour of a wheel.
+ Physics object that simulates the behavior of a wheel.
</brief_description>
<description>
- This node needs to be used as a child node of [VehicleBody] and simulates the behaviour of one of its wheels. This node also acts as a collider to detect if the wheel is touching a surface.
+ This node needs to be used as a child node of [VehicleBody] and simulates the behavior of one of its wheels. This node also acts as a collider to detect if the wheel is touching a surface.
</description>
<tutorials>
</tutorials>
@@ -31,39 +31,39 @@
</method>
</methods>
<members>
- <member name="damping_compression" type="float" setter="set_damping_compression" getter="get_damping_compression">
+ <member name="damping_compression" type="float" setter="set_damping_compression" getter="get_damping_compression" default="0.83">
The damping applied to the spring when the spring is being compressed. This value should be between 0.0 (no damping) and 1.0. A value of 0.0 means the car will keep bouncing as the spring keeps its energy. A good value for this is around 0.3 for a normal car, 0.5 for a race car.
</member>
- <member name="damping_relaxation" type="float" setter="set_damping_relaxation" getter="get_damping_relaxation">
- The damping applied to the spring when relaxing. This value should be between 0.0 (no damping) and 1.0. This value should always be slightly higher than the [member damping_compression] property. For a [member damping_compression] value of 0.3, try a relaxation value of 0.5
+ <member name="damping_relaxation" type="float" setter="set_damping_relaxation" getter="get_damping_relaxation" default="0.88">
+ The damping applied to the spring when relaxing. This value should be between 0.0 (no damping) and 1.0. This value should always be slightly higher than the [member damping_compression] property. For a [member damping_compression] value of 0.3, try a relaxation value of 0.5.
</member>
- <member name="suspension_max_force" type="float" setter="set_suspension_max_force" getter="get_suspension_max_force">
- The maximum force the spring can resist. This value should be higher than a quarter of the [member RigidBody.mass] of the [VehicleBody] or the spring will not carry the weight of the vehicle. Good results are often obtained by a value that is about 3x to 4x this number.
+ <member name="suspension_max_force" type="float" setter="set_suspension_max_force" getter="get_suspension_max_force" default="6000.0">
+ The maximum force the spring can resist. This value should be higher than a quarter of the [member RigidBody.mass] of the [VehicleBody] or the spring will not carry the weight of the vehicle. Good results are often obtained by a value that is about 3× to 4× this number.
</member>
- <member name="suspension_stiffness" type="float" setter="set_suspension_stiffness" getter="get_suspension_stiffness">
+ <member name="suspension_stiffness" type="float" setter="set_suspension_stiffness" getter="get_suspension_stiffness" default="5.88">
This value defines the stiffness of the suspension. Use a value lower than 50 for an off-road car, a value between 50 and 100 for a race car and try something around 200 for something like a Formula 1 car.
</member>
- <member name="suspension_travel" type="float" setter="set_suspension_travel" getter="get_suspension_travel">
- This is the distance the suspension can travel. As Godot measures are in meters keep this setting relatively low. Try a value between 0.1 and 0.3 depending on the type of car .
+ <member name="suspension_travel" type="float" setter="set_suspension_travel" getter="get_suspension_travel" default="5.0">
+ This is the distance the suspension can travel. As Godot units are equivalent to meters, keep this setting relatively low. Try a value between 0.1 and 0.3 depending on the type of car.
</member>
- <member name="use_as_steering" type="bool" setter="set_use_as_steering" getter="is_used_as_steering">
- If [code]true[/code] this wheel will be turned when the car steers.
+ <member name="use_as_steering" type="bool" setter="set_use_as_steering" getter="is_used_as_steering" default="false">
+ If [code]true[/code], this wheel will be turned when the car steers.
</member>
- <member name="use_as_traction" type="bool" setter="set_use_as_traction" getter="is_used_as_traction">
- If [code]true[/code] this wheel transfers engine force to the ground to propel the vehicle forward.
+ <member name="use_as_traction" type="bool" setter="set_use_as_traction" getter="is_used_as_traction" default="false">
+ If [code]true[/code], this wheel transfers engine force to the ground to propel the vehicle forward.
</member>
- <member name="wheel_friction_slip" type="float" setter="set_friction_slip" getter="get_friction_slip">
+ <member name="wheel_friction_slip" type="float" setter="set_friction_slip" getter="get_friction_slip" default="10.5">
This determines how much grip this wheel has. It is combined with the friction setting of the surface the wheel is in contact with. 0.0 means no grip, 1.0 is normal grip. For a drift car setup, try setting the grip of the rear wheels slightly lower than the front wheels, or use a lower value to simulate tire wear.
It's best to set this to 1.0 when starting out.
</member>
- <member name="wheel_radius" type="float" setter="set_radius" getter="get_radius">
+ <member name="wheel_radius" type="float" setter="set_radius" getter="get_radius" default="0.5">
The radius of the wheel in meters.
</member>
- <member name="wheel_rest_length" type="float" setter="set_suspension_rest_length" getter="get_suspension_rest_length">
+ <member name="wheel_rest_length" type="float" setter="set_suspension_rest_length" getter="get_suspension_rest_length" default="0.15">
This is the distance in meters the wheel is lowered from its origin point. Don't set this to 0.0 and move the wheel into position, instead move the origin point of your wheel (the gizmo in Godot) to the position the wheel will take when bottoming out, then use the rest length to move the wheel down to the position it should be in when the car is in rest.
</member>
- <member name="wheel_roll_influence" type="float" setter="set_roll_influence" getter="get_roll_influence">
- This value effects the roll of your vehicle. If set to 0.0 for all wheels your vehicle will be prone to rolling over while a value of 1.0 will resist body roll.
+ <member name="wheel_roll_influence" type="float" setter="set_roll_influence" getter="get_roll_influence" default="0.1">
+ This value affects the roll of your vehicle. If set to 0.0 for all wheels, your vehicle will be prone to rolling over, while a value of 1.0 will resist body roll.
</member>
</members>
<constants>
diff --git a/doc/classes/VideoPlayer.xml b/doc/classes/VideoPlayer.xml
index 15d1dfcf19..45341cee74 100644
--- a/doc/classes/VideoPlayer.xml
+++ b/doc/classes/VideoPlayer.xml
@@ -4,7 +4,7 @@
Control for playing video streams.
</brief_description>
<description>
- Control node for playing video streams. Supported formats are WebM and OGV Theora.
+ Control node for playing video streams. Supported formats are [url=https://www.webmproject.org/]WebM[/url] and [url=https://www.theora.org/]Ogg Theora[/url].
</description>
<tutorials>
</tutorials>
@@ -46,25 +46,25 @@
</method>
</methods>
<members>
- <member name="audio_track" type="int" setter="set_audio_track" getter="get_audio_track">
+ <member name="audio_track" type="int" setter="set_audio_track" getter="get_audio_track" default="0">
The embedded audio track to play.
</member>
- <member name="autoplay" type="bool" setter="set_autoplay" getter="has_autoplay">
- If [code]true[/code], playback starts when the scene loads. Default value: [code]false[/code].
+ <member name="autoplay" type="bool" setter="set_autoplay" getter="has_autoplay" default="false">
+ If [code]true[/code], playback starts when the scene loads.
</member>
- <member name="buffering_msec" type="int" setter="set_buffering_msec" getter="get_buffering_msec">
+ <member name="buffering_msec" type="int" setter="set_buffering_msec" getter="get_buffering_msec" default="500">
Amount of time in milliseconds to store in buffer while playing.
</member>
- <member name="bus" type="String" setter="set_bus" getter="get_bus">
+ <member name="bus" type="String" setter="set_bus" getter="get_bus" default="&quot;Master&quot;">
Audio bus to use for sound playback.
</member>
- <member name="expand" type="bool" setter="set_expand" getter="has_expand">
- If [code]true[/code], the video scales to the control size. Default value: [code]true[/code].
+ <member name="expand" type="bool" setter="set_expand" getter="has_expand" default="true">
+ If [code]true[/code], the video scales to the control size.
</member>
- <member name="paused" type="bool" setter="set_paused" getter="is_paused">
+ <member name="paused" type="bool" setter="set_paused" getter="is_paused" default="false">
If [code]true[/code], the video is paused.
</member>
- <member name="stream" type="VideoStream" setter="set_stream" getter="get_stream">
+ <member name="stream" type="VideoStream" setter="set_stream" getter="get_stream" default="null">
</member>
<member name="stream_position" type="float" setter="set_stream_position" getter="get_stream_position">
The current position of the stream, in seconds.
@@ -72,7 +72,7 @@
<member name="volume" type="float" setter="set_volume" getter="get_volume">
Audio volume as a linear value.
</member>
- <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db">
+ <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db" default="0.0">
Audio volume in dB.
</member>
</members>
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index 53e66cee74..a9ffd9f66d 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -78,7 +78,8 @@
<return type="ViewportTexture">
</return>
<description>
- Returns the viewport's texture. Note that due to the way OpenGL works, the resulting [ViewportTexture] is flipped vertically. You can use [method Image.flip_y] on the result of [method Texture.get_data] to flip it back, for example:
+ Returns the viewport's texture.
+ [b]Note:[/b] Due to the way OpenGL works, the resulting [ViewportTexture] is flipped vertically. You can use [method Image.flip_y] on the result of [method Texture.get_data] to flip it back, for example:
[codeblock]
var img = get_viewport().get_texture().get_data()
img.flip_y()
@@ -209,87 +210,87 @@
</method>
</methods>
<members>
- <member name="arvr" type="bool" setter="set_use_arvr" getter="use_arvr">
- If [code]true[/code], the viewport will be used in AR/VR process. Default value: [code]false[/code].
+ <member name="arvr" type="bool" setter="set_use_arvr" getter="use_arvr" default="false">
+ If [code]true[/code], the viewport will be used in AR/VR process.
</member>
- <member name="audio_listener_enable_2d" type="bool" setter="set_as_audio_listener_2d" getter="is_audio_listener_2d">
- If [code]true[/code], the viewport will process 2D audio streams. Default value: [code]false[/code].
+ <member name="audio_listener_enable_2d" type="bool" setter="set_as_audio_listener_2d" getter="is_audio_listener_2d" default="false">
+ If [code]true[/code], the viewport will process 2D audio streams.
</member>
- <member name="audio_listener_enable_3d" type="bool" setter="set_as_audio_listener" getter="is_audio_listener">
- If [code]true[/code], the viewport will process 3D audio streams. Default value: [code]false[/code].
+ <member name="audio_listener_enable_3d" type="bool" setter="set_as_audio_listener" getter="is_audio_listener" default="false">
+ If [code]true[/code], the viewport will process 3D audio streams.
</member>
<member name="canvas_transform" type="Transform2D" setter="set_canvas_transform" getter="get_canvas_transform">
The canvas transform of the viewport, useful for changing the on-screen positions of all child [CanvasItem]s. This is relative to the global canvas transform of the viewport.
</member>
- <member name="debug_draw" type="int" setter="set_debug_draw" getter="get_debug_draw" enum="Viewport.DebugDraw">
- The overlay mode for test rendered geometry in debug purposes. Default value: [code]DEBUG_DRAW_DISABLED[/code].
+ <member name="debug_draw" type="int" setter="set_debug_draw" getter="get_debug_draw" enum="Viewport.DebugDraw" default="0">
+ The overlay mode for test rendered geometry in debug purposes.
</member>
- <member name="disable_3d" type="bool" setter="set_disable_3d" getter="is_3d_disabled">
- If [code]true[/code], the viewport will disable 3D rendering. For actual disabling use [code]usage[/code]. Default value: [code]false[/code].
+ <member name="disable_3d" type="bool" setter="set_disable_3d" getter="is_3d_disabled" default="false">
+ If [code]true[/code], the viewport will disable 3D rendering. For actual disabling use [code]usage[/code].
</member>
<member name="global_canvas_transform" type="Transform2D" setter="set_global_canvas_transform" getter="get_global_canvas_transform">
The global canvas transform of the viewport. The canvas transform is relative to this.
</member>
- <member name="gui_disable_input" type="bool" setter="set_disable_input" getter="is_input_disabled">
- If [code]true[/code], the viewport will not receive input event. Default value: [code]false[/code].
+ <member name="gui_disable_input" type="bool" setter="set_disable_input" getter="is_input_disabled" default="false">
+ If [code]true[/code], the viewport will not receive input event.
</member>
- <member name="gui_snap_controls_to_pixels" type="bool" setter="set_snap_controls_to_pixels" getter="is_snap_controls_to_pixels_enabled">
- If [code]true[/code], the GUI controls on the viewport will lay pixel perfectly. Default value: [code]true[/code].
+ <member name="gui_snap_controls_to_pixels" type="bool" setter="set_snap_controls_to_pixels" getter="is_snap_controls_to_pixels_enabled" default="true">
+ If [code]true[/code], the GUI controls on the viewport will lay pixel perfectly.
</member>
- <member name="handle_input_locally" type="bool" setter="set_handle_input_locally" getter="is_handling_input_locally">
+ <member name="handle_input_locally" type="bool" setter="set_handle_input_locally" getter="is_handling_input_locally" default="true">
</member>
- <member name="hdr" type="bool" setter="set_hdr" getter="get_hdr">
- If [code]true[/code], the viewport rendering will receive benefits from High Dynamic Range algorithm. Default value: [code]true[/code].
+ <member name="hdr" type="bool" setter="set_hdr" getter="get_hdr" default="true">
+ If [code]true[/code], the viewport rendering will receive benefits from High Dynamic Range algorithm.
</member>
- <member name="keep_3d_linear" type="bool" setter="set_keep_3d_linear" getter="get_keep_3d_linear">
+ <member name="keep_3d_linear" type="bool" setter="set_keep_3d_linear" getter="get_keep_3d_linear" default="false">
If [code]true[/code], the result after 3D rendering will not have a linear to sRGB color conversion applied. This is important when the viewport is used as a render target where the result is used as a texture on a 3D object rendered in another viewport. It is also important if the viewport is used to create data that is not color based (noise, heightmaps, pickmaps, etc.). Do not enable this when the viewport is used as a texture on a 2D object or if the viewport is your final output.
</member>
- <member name="msaa" type="int" setter="set_msaa" getter="get_msaa" enum="Viewport.MSAA">
- The multisample anti-aliasing mode. Default value: [code]MSAA_DISABLED[/code].
+ <member name="msaa" type="int" setter="set_msaa" getter="get_msaa" enum="Viewport.MSAA" default="0">
+ The multisample anti-aliasing mode.
</member>
- <member name="own_world" type="bool" setter="set_use_own_world" getter="is_using_own_world">
- If [code]true[/code], the viewport will use [World] defined in [code]world[/code] property. Default value: [code]false[/code].
+ <member name="own_world" type="bool" setter="set_use_own_world" getter="is_using_own_world" default="false">
+ If [code]true[/code], the viewport will use [World] defined in [code]world[/code] property.
</member>
- <member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking">
- If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process. Default value: [code]false[/code].
+ <member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking" default="false">
+ If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process.
</member>
- <member name="render_direct_to_screen" type="bool" setter="set_use_render_direct_to_screen" getter="is_using_render_direct_to_screen">
- If [code]true[/code], renders the Viewport directly to the screen instead of to the root viewport. Only available in GLES2. This is a low-level optimization and should not be used in most cases. If used, reading from the Viewport or from [code]SCREEN_TEXTURE[/code] becomes unavailable. For more information see [method VisualServer.viewport_set_render_direct_to_screen]. Default value: [code]false[/code].
+ <member name="render_direct_to_screen" type="bool" setter="set_use_render_direct_to_screen" getter="is_using_render_direct_to_screen" default="false">
+ If [code]true[/code], renders the Viewport directly to the screen instead of to the root viewport. Only available in GLES2. This is a low-level optimization and should not be used in most cases. If used, reading from the Viewport or from [code]SCREEN_TEXTURE[/code] becomes unavailable. For more information see [method VisualServer.viewport_set_render_direct_to_screen].
</member>
- <member name="render_target_clear_mode" type="int" setter="set_clear_mode" getter="get_clear_mode" enum="Viewport.ClearMode">
- The clear mode when viewport used as a render target. Default value: [code]CLEAR_MODE_ALWAYS[/code].
+ <member name="render_target_clear_mode" type="int" setter="set_clear_mode" getter="get_clear_mode" enum="Viewport.ClearMode" default="0">
+ The clear mode when viewport used as a render target.
</member>
- <member name="render_target_update_mode" type="int" setter="set_update_mode" getter="get_update_mode" enum="Viewport.UpdateMode">
- The update mode when viewport used as a render target. Default value: [code]UPDATE_WHEN_VISIBLE[/code].
+ <member name="render_target_update_mode" type="int" setter="set_update_mode" getter="get_update_mode" enum="Viewport.UpdateMode" default="2">
+ The update mode when viewport used as a render target.
</member>
- <member name="render_target_v_flip" type="bool" setter="set_vflip" getter="get_vflip">
- If [code]true[/code], the result of rendering will be flipped vertically. Default value: [code]false[/code].
+ <member name="render_target_v_flip" type="bool" setter="set_vflip" getter="get_vflip" default="false">
+ If [code]true[/code], the result of rendering will be flipped vertically.
</member>
- <member name="shadow_atlas_quad_0" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv">
- The subdivision amount of first quadrant on shadow atlas. Default value: [code]SHADOW_ATLAS_QUADRANT_SUBDIV_4[/code].
+ <member name="shadow_atlas_quad_0" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv" default="2">
+ The subdivision amount of first quadrant on shadow atlas.
</member>
- <member name="shadow_atlas_quad_1" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv">
- The subdivision amount of second quadrant on shadow atlas. Default value: [code]SHADOW_ATLAS_QUADRANT_SUBDIV_4[/code].
+ <member name="shadow_atlas_quad_1" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv" default="2">
+ The subdivision amount of second quadrant on shadow atlas.
</member>
- <member name="shadow_atlas_quad_2" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv">
- The subdivision amount of third quadrant on shadow atlas. Default value: [code]SHADOW_ATLAS_QUADRANT_SUBDIV_16[/code].
+ <member name="shadow_atlas_quad_2" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv" default="3">
+ The subdivision amount of third quadrant on shadow atlas.
</member>
- <member name="shadow_atlas_quad_3" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv">
- The subdivision amount of fourth quadrant on shadow atlas. Default value: [code]SHADOW_ATLAS_QUADRANT_SUBDIV_64[/code].
+ <member name="shadow_atlas_quad_3" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv" default="4">
+ The subdivision amount of fourth quadrant on shadow atlas.
</member>
- <member name="shadow_atlas_size" type="int" setter="set_shadow_atlas_size" getter="get_shadow_atlas_size">
+ <member name="shadow_atlas_size" type="int" setter="set_shadow_atlas_size" getter="get_shadow_atlas_size" default="0">
The resolution of shadow atlas. Both width and height is equal to one value.
</member>
- <member name="size" type="Vector2" setter="set_size" getter="get_size">
+ <member name="size" type="Vector2" setter="set_size" getter="get_size" default="Vector2( 0, 0 )">
The width and height of viewport.
</member>
- <member name="transparent_bg" type="bool" setter="set_transparent_background" getter="has_transparent_background">
- If [code]true[/code], the viewport should render its background as transparent. Default value: [code]false[/code].
+ <member name="transparent_bg" type="bool" setter="set_transparent_background" getter="has_transparent_background" default="false">
+ If [code]true[/code], the viewport should render its background as transparent.
</member>
- <member name="usage" type="int" setter="set_usage" getter="get_usage" enum="Viewport.Usage">
- The rendering mode of viewport. Default value: [code]USAGE_3D[/code].
+ <member name="usage" type="int" setter="set_usage" getter="get_usage" enum="Viewport.Usage" default="2">
+ The rendering mode of viewport.
</member>
- <member name="world" type="World" setter="set_world" getter="get_world">
+ <member name="world" type="World" setter="set_world" getter="get_world" default="null">
The custom [World] which can be used as 3D environment source.
</member>
<member name="world_2d" type="World2D" setter="set_world_2d" getter="get_world_2d">
@@ -308,7 +309,7 @@
Do not update the render target.
</constant>
<constant name="UPDATE_ONCE" value="1" enum="UpdateMode">
- Update the render target once, then switch to [code]UPDATE_DISABLED[/code].
+ Update the render target once, then switch to [constant UPDATE_DISABLED].
</constant>
<constant name="UPDATE_WHEN_VISIBLE" value="2" enum="UpdateMode">
Update the render target only when it is visible. This is the default value.
@@ -331,7 +332,7 @@
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_1024" value="6" enum="ShadowAtlasQuadrantSubdiv">
</constant>
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_MAX" value="7" enum="ShadowAtlasQuadrantSubdiv">
- Enum limiter. Do not use it directly.
+ Represents the size of the [enum ShadowAtlasQuadrantSubdiv] enum.
</constant>
<constant name="RENDER_INFO_OBJECTS_IN_FRAME" value="0" enum="RenderInfo">
Amount of objects in frame.
@@ -352,7 +353,7 @@
Amount of draw calls in frame.
</constant>
<constant name="RENDER_INFO_MAX" value="6" enum="RenderInfo">
- Enum limiter. Do not use it directly.
+ Represents the size of the [enum RenderInfo] enum.
</constant>
<constant name="DEBUG_DRAW_DISABLED" value="0" enum="DebugDraw">
Objects are displayed normally.
@@ -392,7 +393,7 @@
Never clear the render target.
</constant>
<constant name="CLEAR_MODE_ONLY_NEXT_FRAME" value="2" enum="ClearMode">
- Clear the render target next frame, then switch to [code]CLEAR_MODE_NEVER[/code].
+ Clear the render target next frame, then switch to [constant CLEAR_MODE_NEVER].
</constant>
</constants>
</class>
diff --git a/doc/classes/ViewportContainer.xml b/doc/classes/ViewportContainer.xml
index 1642f7e85f..e4c6091909 100644
--- a/doc/classes/ViewportContainer.xml
+++ b/doc/classes/ViewportContainer.xml
@@ -11,10 +11,10 @@
<methods>
</methods>
<members>
- <member name="stretch" type="bool" setter="set_stretch" getter="is_stretch_enabled">
- If [code]true[/code], the viewport will be scaled to the control's size. Default value:[code]false[/code].
+ <member name="stretch" type="bool" setter="set_stretch" getter="is_stretch_enabled" default="false">
+ If [code]true[/code], the viewport will be scaled to the control's size.
</member>
- <member name="stretch_shrink" type="int" setter="set_stretch_shrink" getter="get_stretch_shrink">
+ <member name="stretch_shrink" type="int" setter="set_stretch_shrink" getter="get_stretch_shrink" default="1">
</member>
</members>
<constants>
diff --git a/doc/classes/ViewportTexture.xml b/doc/classes/ViewportTexture.xml
index ab3c2696aa..5b9eb6a8cb 100644
--- a/doc/classes/ViewportTexture.xml
+++ b/doc/classes/ViewportTexture.xml
@@ -12,7 +12,7 @@
<methods>
</methods>
<members>
- <member name="viewport_path" type="NodePath" setter="set_viewport_path_in_scene" getter="get_viewport_path_in_scene">
+ <member name="viewport_path" type="NodePath" setter="set_viewport_path_in_scene" getter="get_viewport_path_in_scene" default="NodePath(&quot;&quot;)">
The path to the [Viewport] node to display. This is relative to the scene root, not to the node which uses the texture.
</member>
</members>
diff --git a/doc/classes/VisibilityEnabler.xml b/doc/classes/VisibilityEnabler.xml
index 910ca033d1..4acb4d87c1 100644
--- a/doc/classes/VisibilityEnabler.xml
+++ b/doc/classes/VisibilityEnabler.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisibilityEnabler" inherits="VisibilityNotifier" category="Core" version="3.2">
<brief_description>
- Enable certain nodes only when visible.
+ Enables certain nodes only when visible.
</brief_description>
<description>
The VisibilityEnabler will disable [RigidBody] and [AnimationPlayer] nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler itself.
@@ -11,10 +11,10 @@
<methods>
</methods>
<members>
- <member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ <member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true">
If [code]true[/code], [RigidBody] nodes will be paused.
</member>
- <member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ <member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true">
If [code]true[/code], [AnimationPlayer] nodes will be paused.
</member>
</members>
@@ -26,6 +26,7 @@
This enabler will freeze [RigidBody] nodes.
</constant>
<constant name="ENABLER_MAX" value="2" enum="Enabler">
+ Represents the size of the [enum Enabler] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/VisibilityEnabler2D.xml b/doc/classes/VisibilityEnabler2D.xml
index 3943eca7f5..dbea3f5de8 100644
--- a/doc/classes/VisibilityEnabler2D.xml
+++ b/doc/classes/VisibilityEnabler2D.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisibilityEnabler2D" inherits="VisibilityNotifier2D" category="Core" version="3.2">
<brief_description>
- Enable certain nodes only when visible.
+ Enables certain nodes only when visible.
</brief_description>
<description>
The VisibilityEnabler2D will disable [RigidBody2D], [AnimationPlayer], and other nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler2D itself.
@@ -11,22 +11,22 @@
<methods>
</methods>
<members>
- <member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ <member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true">
If [code]true[/code], [RigidBody2D] nodes will be paused.
</member>
- <member name="pause_animated_sprites" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ <member name="pause_animated_sprites" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true">
If [code]true[/code], [AnimatedSprite] nodes will be paused.
</member>
- <member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ <member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true">
If [code]true[/code], [AnimationPlayer] nodes will be paused.
</member>
- <member name="pause_particles" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ <member name="pause_particles" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true">
If [code]true[/code], [Particles2D] nodes will be paused.
</member>
- <member name="physics_process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ <member name="physics_process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="false">
If [code]true[/code], the parent's [method Node._physics_process] will be stopped.
</member>
- <member name="process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled">
+ <member name="process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="false">
If [code]true[/code], the parent's [method Node._process] will be stopped.
</member>
</members>
@@ -49,6 +49,7 @@
<constant name="ENABLER_PAUSE_ANIMATED_SPRITES" value="5" enum="Enabler">
</constant>
<constant name="ENABLER_MAX" value="6" enum="Enabler">
+ Represents the size of the [enum Enabler] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/VisibilityNotifier.xml b/doc/classes/VisibilityNotifier.xml
index 986d6b8b13..4cbfa7ba76 100644
--- a/doc/classes/VisibilityNotifier.xml
+++ b/doc/classes/VisibilityNotifier.xml
@@ -14,12 +14,12 @@
</return>
<description>
If [code]true[/code], the bounding box is on the screen.
- Note: It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return [code]false[/code] right after it is instantiated, even if it will be on screen in the draw pass.
+ [b]Note:[/b] It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return [code]false[/code] right after it is instantiated, even if it will be on screen in the draw pass.
</description>
</method>
</methods>
<members>
- <member name="aabb" type="AABB" setter="set_aabb" getter="get_aabb">
+ <member name="aabb" type="AABB" setter="set_aabb" getter="get_aabb" default="AABB( -1, -1, -1, 2, 2, 2 )">
The VisibilityNotifier's bounding box.
</member>
</members>
diff --git a/doc/classes/VisibilityNotifier2D.xml b/doc/classes/VisibilityNotifier2D.xml
index 787a33d752..7e1d933c44 100644
--- a/doc/classes/VisibilityNotifier2D.xml
+++ b/doc/classes/VisibilityNotifier2D.xml
@@ -14,12 +14,12 @@
</return>
<description>
If [code]true[/code], the bounding rectangle is on the screen.
- Note: It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return [code]false[/code] right after it is instantiated, even if it will be on screen in the draw pass.
+ [b]Note:[/b] It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return [code]false[/code] right after it is instantiated, even if it will be on screen in the draw pass.
</description>
</method>
</methods>
<members>
- <member name="rect" type="Rect2" setter="set_rect" getter="get_rect">
+ <member name="rect" type="Rect2" setter="set_rect" getter="get_rect" default="Rect2( -10, -10, 20, 20 )">
The VisibilityNotifier2D's bounding rectangle.
</member>
</members>
diff --git a/doc/classes/VisualInstance.xml b/doc/classes/VisualInstance.xml
index 59f0a531dd..7576bf7ad8 100644
--- a/doc/classes/VisualInstance.xml
+++ b/doc/classes/VisualInstance.xml
@@ -49,7 +49,7 @@
</argument>
<description>
Sets the base of the VisualInstance, which changes how the engine handles the VisualInstance under the hood.
- It is recommended to only use set_base if you know what you're doing.
+ It is recommended to only use [method set_base] if you know what you're doing.
</description>
</method>
<method name="set_layer_mask_bit">
@@ -64,7 +64,7 @@
</method>
</methods>
<members>
- <member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask">
+ <member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask" default="1">
The render layer(s) this VisualInstance is drawn on.
This object will only be visible for [Camera]s whose cull mask includes the render object this VisualInstance is set to.
</member>
diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml
index f9b668b38a..5e054ce7ce 100644
--- a/doc/classes/VisualServer.xml
+++ b/doc/classes/VisualServer.xml
@@ -257,7 +257,7 @@
<argument index="3" name="normal_map" type="RID">
</argument>
<description>
- Adds a particles system to the [CanvasItem]'s draw commands.
+ Adds a particle system to the [CanvasItem]'s draw commands.
</description>
</method>
<method name="canvas_item_add_polygon">
@@ -606,7 +606,7 @@
<argument index="1" name="enabled" type="bool">
</argument>
<description>
- If this is enabled, the z-index of the parent will be added to the children's z-index.
+ If this is enabled, the Z index of the parent will be added to the children's Z index.
</description>
</method>
<method name="canvas_item_set_z_index">
@@ -617,7 +617,7 @@
<argument index="1" name="z_index" type="int">
</argument>
<description>
- Sets the [CanvasItem]'s z-index, i.e. its draw order (lower indexes are drawn first).
+ Sets the [CanvasItem]'s Z index, i.e. its draw order (lower indexes are drawn first).
</description>
</method>
<method name="canvas_light_attach_to_canvas">
@@ -675,7 +675,7 @@
<argument index="1" name="mask" type="int">
</argument>
<description>
- The light mask. See [LightOccluder2D] for more information on light masks
+ The light mask. See [LightOccluder2D] for more information on light masks.
</description>
</method>
<method name="canvas_light_occluder_set_polygon">
@@ -752,7 +752,7 @@
<argument index="1" name="mask" type="int">
</argument>
<description>
- The light mask. See [LightOccluder2D] for more information on light masks
+ The light mask. See [LightOccluder2D] for more information on light masks.
</description>
</method>
<method name="canvas_light_set_item_shadow_cull_mask">
@@ -763,7 +763,7 @@
<argument index="1" name="mask" type="int">
</argument>
<description>
- The shadow mask. binary about which layers this canvas light affects which canvas item's shadows. See [LightOccluder2D] for more information on light masks.
+ The binary mask used to determine which layers this canvas light's shadows affects. See [LightOccluder2D] for more information on light masks.
</description>
</method>
<method name="canvas_light_set_layer_range">
@@ -787,7 +787,7 @@
<argument index="1" name="mode" type="int" enum="VisualServer.CanvasLightMode">
</argument>
<description>
- The mode of the light, see CANVAS_LIGHT_MODE_* constants.
+ The mode of the light, see [code]CANVAS_LIGHT_MODE_*[/code] constants.
</description>
</method>
<method name="canvas_light_set_scale">
@@ -841,7 +841,7 @@
<argument index="1" name="filter" type="int" enum="VisualServer.CanvasLightShadowFilter">
</argument>
<description>
- Sets the canvas light's shadow's filter, see CANVAS_LIGHT_SHADOW_FILTER_* constants.
+ Sets the canvas light's shadow's filter, see [code]CANVAS_LIGHT_SHADOW_FILTER_*[/code] constants.
</description>
</method>
<method name="canvas_light_set_shadow_gradient_length">
@@ -863,7 +863,7 @@
<argument index="1" name="smooth" type="float">
</argument>
<description>
- Smoothens the shadow. The lower, the more smooth.
+ Smoothens the shadow. The lower, the smoother.
</description>
</method>
<method name="canvas_light_set_texture">
@@ -924,7 +924,7 @@
<argument index="1" name="mode" type="int" enum="VisualServer.CanvasOccluderPolygonCullMode">
</argument>
<description>
- Sets an occluder polygons cull mode. See CANVAS_OCCLUDER_POLYGON_CULL_MODE_* constants.
+ Sets an occluder polygons cull mode. See [code]CANVAS_OCCLUDER_POLYGON_CULL_MODE_*[/code] constants.
</description>
</method>
<method name="canvas_occluder_polygon_set_shape">
@@ -1330,7 +1330,7 @@
<argument index="0" name="info" type="int" enum="VisualServer.RenderInfo">
</argument>
<description>
- Returns a certain information, see RENDER_INFO_* for options.
+ Returns a certain information, see [code]RENDER_INFO_*[/code] for options.
</description>
</method>
<method name="get_test_cube">
@@ -1951,6 +1951,8 @@
<argument index="2" name="scenario" type="RID">
</argument>
<description>
+ Returns an array of object IDs intersecting with the provided 3D ray. Only visual 3D nodes are considered, such as [MeshInstance] or [DirectionalLight]. Use [method @GDScript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World] you want to query.
+ [b]Warning:[/b] This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
</description>
</method>
<method name="light_directional_set_blend_splits">
@@ -2250,7 +2252,7 @@
<argument index="1" name="width" type="float">
</argument>
<description>
- Sets a materials line width.
+ Sets a material's line width.
</description>
</method>
<method name="material_set_next_pass">
@@ -2261,7 +2263,7 @@
<argument index="1" name="next_material" type="RID">
</argument>
<description>
- Sets an objects next material.
+ Sets an object's next material.
</description>
</method>
<method name="material_set_param">
@@ -2274,7 +2276,7 @@
<argument index="2" name="value" type="Variant">
</argument>
<description>
- Sets a materials parameter.
+ Sets a material's parameter.
</description>
</method>
<method name="material_set_render_priority">
@@ -2313,7 +2315,7 @@
<argument index="4" name="compress_format" type="int" default="97280">
</argument>
<description>
- Adds a surface generated from the Arrays to a mesh. See PRIMITIVE_TYPE_* constants for types.
+ Adds a surface generated from the Arrays to a mesh. See [code]PRIMITIVE_TYPE_*[/code] constants for types.
</description>
</method>
<method name="mesh_clear">
@@ -2475,7 +2477,7 @@
<argument index="1" name="surface" type="int">
</argument>
<description>
- Returns a mesh's surface's arrays for blend shapes
+ Returns a mesh's surface's arrays for blend shapes.
</description>
</method>
<method name="mesh_surface_get_format" qualifiers="const">
@@ -3096,8 +3098,8 @@
<argument index="2" name="userdata" type="Variant">
</argument>
<description>
- Schedules a callback to the corresponding named 'method' on 'where' after a frame has been drawn.
- The callback method must use only 1 argument which will be called with 'userdata'.
+ Schedules a callback to the corresponding named [code]method[/code] on [code]where[/code] after a frame has been drawn.
+ The callback method must use only 1 argument which will be called with [code]userdata[/code].
</description>
</method>
<method name="scenario_create">
@@ -3525,7 +3527,7 @@
<argument index="1" name="flags" type="int">
</argument>
<description>
- Sets the texture's flags. See [enum TextureFlags] for options
+ Sets the texture's flags. See [enum TextureFlags] for options.
</description>
</method>
<method name="texture_set_path">
@@ -3637,7 +3639,7 @@
<argument index="1" name="info" type="int" enum="VisualServer.ViewportRenderInfo">
</argument>
<description>
- Returns a viewport's render info. for options see VIEWPORT_RENDER_INFO* constants.
+ Returns a viewport's render information. For options, see the [code]VIEWPORT_RENDER_INFO*[/code] constants.
</description>
</method>
<method name="viewport_get_texture" qualifiers="const">
@@ -3708,7 +3710,7 @@
<argument index="1" name="clear_mode" type="int" enum="VisualServer.ViewportClearMode">
</argument>
<description>
- Sets the clear mode of a viewport. See [enum VisualServer.ViewportClearMode] for options.
+ Sets the clear mode of a viewport. See [enum ViewportClearMode] for options.
</description>
</method>
<method name="viewport_set_debug_draw">
@@ -3719,7 +3721,7 @@
<argument index="1" name="draw" type="int" enum="VisualServer.ViewportDebugDraw">
</argument>
<description>
- Sets the debug draw mode of a viewport. See [enum VisualServer.ViewportDebugDraw] for options.
+ Sets the debug draw mode of a viewport. See [enum ViewportDebugDraw] for options.
</description>
</method>
<method name="viewport_set_disable_3d">
@@ -3795,7 +3797,7 @@
<argument index="1" name="msaa" type="int" enum="VisualServer.ViewportMSAA">
</argument>
<description>
- Sets the anti-aliasing mode. see [enum ViewportMSAA] for options.
+ Sets the anti-aliasing mode. See [enum ViewportMSAA] for options.
</description>
</method>
<method name="viewport_set_parent_viewport">
@@ -3984,29 +3986,29 @@
<constant name="TEXTURE_TYPE_3D" value="3" enum="TextureType">
</constant>
<constant name="TEXTURE_FLAG_MIPMAPS" value="1" enum="TextureFlags">
- Generate mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
+ Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
</constant>
<constant name="TEXTURE_FLAG_REPEAT" value="2" enum="TextureFlags">
- Repeat (instead of clamp to edge).
+ Repeats the texture (instead of clamp to edge).
</constant>
<constant name="TEXTURE_FLAG_FILTER" value="4" enum="TextureFlags">
- Turn on magnifying filter, to enable smooth zooming in of the texture.
+ Uses a magnifying filter, to enable smooth zooming in of the texture.
</constant>
<constant name="TEXTURE_FLAG_ANISOTROPIC_FILTER" value="8" enum="TextureFlags">
- Anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
- More effective on planes often shown going to the horrizon as those textures (Walls or Ground for example) get squashed in the viewport to different aspect ratios and regular mipmaps keep the aspect ratio so they don't optimize storage that well in those cases.
+ Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
+ This results in better-looking textures when viewed from oblique angles.
</constant>
<constant name="TEXTURE_FLAG_CONVERT_TO_LINEAR" value="16" enum="TextureFlags">
- Converts texture to SRGB color space.
+ Converts the texture to the sRGB color space.
</constant>
<constant name="TEXTURE_FLAG_MIRRORED_REPEAT" value="32" enum="TextureFlags">
- Repeat texture with alternate sections mirrored.
+ Repeats the texture with alternate sections mirrored.
</constant>
<constant name="TEXTURE_FLAG_USED_FOR_STREAMING" value="2048" enum="TextureFlags">
Texture is a video surface.
</constant>
<constant name="TEXTURE_FLAGS_DEFAULT" value="7" enum="TextureFlags">
- Default flags. Generate mipmaps, repeat, and filter are enabled.
+ Default flags. [constant TEXTURE_FLAG_MIPMAPS], [constant TEXTURE_FLAG_REPEAT] and [constant TEXTURE_FLAG_FILTER] are enabled.
</constant>
<constant name="SHADER_SPATIAL" value="0" enum="ShaderMode">
Shader is a 3D shader.
@@ -4018,7 +4020,7 @@
Shader is a particle shader.
</constant>
<constant name="SHADER_MAX" value="3" enum="ShaderMode">
- Marks maximum of the shader types array. used internally.
+ Represents the size of the [enum ShaderMode] enum.
</constant>
<constant name="ARRAY_VERTEX" value="0" enum="ArrayType">
Array is a vertex array.
@@ -4033,10 +4035,10 @@
Array is a color array.
</constant>
<constant name="ARRAY_TEX_UV" value="4" enum="ArrayType">
- Array is a uv coordinates array.
+ Array is an UV coordinates array.
</constant>
<constant name="ARRAY_TEX_UV2" value="5" enum="ArrayType">
- Array is a uv coordinates array for the second uv coordinates.
+ Array is an UV coordinates array for the second UV coordinates.
</constant>
<constant name="ARRAY_BONES" value="6" enum="ArrayType">
Array contains bone information.
@@ -4048,7 +4050,7 @@
Array is index array.
</constant>
<constant name="ARRAY_MAX" value="9" enum="ArrayType">
- Marks the maximum of the array types. Used internally.
+ Represents the size of the [enum ArrayType] enum.
</constant>
<constant name="ARRAY_FORMAT_VERTEX" value="1" enum="ArrayFormat">
Flag used to mark a vertex array.
@@ -4063,10 +4065,10 @@
Flag used to mark a color array.
</constant>
<constant name="ARRAY_FORMAT_TEX_UV" value="16" enum="ArrayFormat">
- Flag used to mark a uv coordinates array.
+ Flag used to mark an UV coordinates array.
</constant>
<constant name="ARRAY_FORMAT_TEX_UV2" value="32" enum="ArrayFormat">
- Flag used to mark a uv coordinates array for the second uv coordinates.
+ Flag used to mark an UV coordinates array for the second UV coordinates.
</constant>
<constant name="ARRAY_FORMAT_BONES" value="64" enum="ArrayFormat">
Flag used to mark a bone information array.
@@ -4075,7 +4077,7 @@
Flag used to mark a weights array.
</constant>
<constant name="ARRAY_FORMAT_INDEX" value="256" enum="ArrayFormat">
- Flag used to mark a index array.
+ Flag used to mark an index array.
</constant>
<constant name="ARRAY_COMPRESS_VERTEX" value="512" enum="ArrayFormat">
Flag used to mark a compressed (half float) vertex array.
@@ -4090,10 +4092,10 @@
Flag used to mark a compressed (half float) color array.
</constant>
<constant name="ARRAY_COMPRESS_TEX_UV" value="8192" enum="ArrayFormat">
- Flag used to mark a compressed (half float) uv coordinates array.
+ Flag used to mark a compressed (half float) UV coordinates array.
</constant>
<constant name="ARRAY_COMPRESS_TEX_UV2" value="16384" enum="ArrayFormat">
- Flag used to mark a compressed (half float) uv coordinates array for the second uv coordinates.
+ Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates.
</constant>
<constant name="ARRAY_COMPRESS_BONES" value="32768" enum="ArrayFormat">
</constant>
@@ -4106,10 +4108,10 @@
Flag used to mark that the array contains 2D vertices.
</constant>
<constant name="ARRAY_FLAG_USE_16_BIT_BONES" value="524288" enum="ArrayFormat">
- Flag used to mark that the array uses 16 bit bones instead of 8 bit.
+ Flag used to mark that the array uses 16-bit bones instead of 8-bit.
</constant>
<constant name="ARRAY_COMPRESS_DEFAULT" value="97280" enum="ArrayFormat">
- Used to set flags ARRAY_COMPRESS_VERTEX, ARRAY_COMPRESS_NORMAL, ARRAY_COMPRESS_TANGENT, ARRAY_COMPRESS_COLOR, ARRAY_COMPRESS_TEX_UV, ARRAY_COMPRESS_TEX_UV2 and ARRAY_COMPRESS_WEIGHTS quickly.
+ Used to set flags [constant ARRAY_COMPRESS_VERTEX], [constant ARRAY_COMPRESS_NORMAL], [constant ARRAY_COMPRESS_TANGENT], [constant ARRAY_COMPRESS_COLOR], [constant ARRAY_COMPRESS_TEX_UV], [constant ARRAY_COMPRESS_TEX_UV2] and [constant ARRAY_COMPRESS_WEIGHTS] quickly.
</constant>
<constant name="PRIMITIVE_POINTS" value="0" enum="PrimitiveType">
Primitive to draw consists of points.
@@ -4133,7 +4135,7 @@
Primitive to draw consists of a triangle strip (the last 2 vertices are always combined with the first to make a triangle).
</constant>
<constant name="PRIMITIVE_MAX" value="7" enum="PrimitiveType">
- Marks the primitive types endpoint. used internally.
+ Represents the size of the [enum PrimitiveType] enum.
</constant>
<constant name="BLEND_SHAPE_MODE_NORMALIZED" value="0" enum="BlendShapeMode">
</constant>
@@ -4143,10 +4145,10 @@
Is a directional (sun) light.
</constant>
<constant name="LIGHT_OMNI" value="1" enum="LightType">
- is an omni light.
+ Is an omni light.
</constant>
<constant name="LIGHT_SPOT" value="2" enum="LightType">
- is an spot light.
+ Is a spot light.
</constant>
<constant name="LIGHT_PARAM_ENERGY" value="0" enum="LightParam">
The light's energy.
@@ -4184,7 +4186,7 @@
<constant name="LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE" value="14" enum="LightParam">
</constant>
<constant name="LIGHT_PARAM_MAX" value="15" enum="LightParam">
- The light parameters endpoint. Used internally.
+ Represents the size of the [enum LightParam] enum.
</constant>
<constant name="LIGHT_OMNI_SHADOW_DUAL_PARABOLOID" value="0" enum="LightOmniShadowMode">
</constant>
@@ -4219,22 +4221,22 @@
The viewport is never cleared before drawing.
</constant>
<constant name="VIEWPORT_CLEAR_ONLY_NEXT_FRAME" value="2" enum="ViewportClearMode">
- The viewport is cleared once, then the clear mode is set to [code]VIEWPORT_CLEAR_NEVER[/code].
+ The viewport is cleared once, then the clear mode is set to [constant VIEWPORT_CLEAR_NEVER].
</constant>
<constant name="VIEWPORT_MSAA_DISABLED" value="0" enum="ViewportMSAA">
Multisample antialiasing is disabled.
</constant>
<constant name="VIEWPORT_MSAA_2X" value="1" enum="ViewportMSAA">
- Multisample antialiasing is set to 2X.
+ Multisample antialiasing is set to 2×.
</constant>
<constant name="VIEWPORT_MSAA_4X" value="2" enum="ViewportMSAA">
- Multisample antialiasing is set to 4X.
+ Multisample antialiasing is set to 4×.
</constant>
<constant name="VIEWPORT_MSAA_8X" value="3" enum="ViewportMSAA">
- Multisample antialiasing is set to 8X.
+ Multisample antialiasing is set to 8×.
</constant>
<constant name="VIEWPORT_MSAA_16X" value="4" enum="ViewportMSAA">
- Multisample antialiasing is set to 16X.
+ Multisample antialiasing is set to 16×.
</constant>
<constant name="VIEWPORT_USAGE_2D" value="0" enum="ViewportUsage">
The Viewport does not render 3D but samples.
@@ -4261,7 +4263,7 @@
<constant name="VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME" value="5" enum="ViewportRenderInfo">
</constant>
<constant name="VIEWPORT_RENDER_INFO_MAX" value="6" enum="ViewportRenderInfo">
- Marks end of VIEWPORT_RENDER_INFO* constants. Used internally.
+ Represents the size of the [enum ViewportRenderInfo] enum.
</constant>
<constant name="VIEWPORT_DEBUG_DRAW_DISABLED" value="0" enum="ViewportDebugDraw">
Debug draw is disabled. Default setting.
@@ -4308,7 +4310,7 @@
<constant name="INSTANCE_LIGHTMAP_CAPTURE" value="8" enum="InstanceType">
</constant>
<constant name="INSTANCE_MAX" value="9" enum="InstanceType">
- The max value for INSTANCE_* constants, used internally.
+ Represents the size of the [enum InstanceType] enum.
</constant>
<constant name="INSTANCE_GEOMETRY_MASK" value="30" enum="InstanceType">
A combination of the flags of geometry instances (mesh, multimesh, immediate and particles).
@@ -4318,6 +4320,7 @@
<constant name="INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE" value="1" enum="InstanceFlags">
</constant>
<constant name="INSTANCE_FLAG_MAX" value="2" enum="InstanceFlags">
+ Represents the size of the [enum InstanceFlags] enum.
</constant>
<constant name="SHADOW_CASTING_SETTING_OFF" value="0" enum="ShadowCastingSetting">
</constant>
@@ -4388,9 +4391,10 @@
The amount of draw calls in frame.
</constant>
<constant name="INFO_USAGE_VIDEO_MEM_TOTAL" value="6" enum="RenderInfo">
+ Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0.
</constant>
<constant name="INFO_VIDEO_MEM_USED" value="7" enum="RenderInfo">
- The amount of vertex memory and texture memory used.
+ The amount of video memory used, i.e. texture and vertex memory combined.
</constant>
<constant name="INFO_TEXTURE_MEM_USED" value="8" enum="RenderInfo">
The amount of texture memory used.
@@ -4441,6 +4445,7 @@
<constant name="ENV_BG_KEEP" value="5" enum="EnvironmentBG">
</constant>
<constant name="ENV_BG_MAX" value="7" enum="EnvironmentBG">
+ Represents the size of the [enum EnvironmentBG] enum.
</constant>
<constant name="ENV_DOF_BLUR_QUALITY_LOW" value="0" enum="EnvironmentDOFBlurQuality">
</constant>
diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml
index 6d5f53d992..4bd3de4fc8 100644
--- a/doc/classes/VisualShader.xml
+++ b/doc/classes/VisualShader.xml
@@ -183,7 +183,7 @@
</method>
</methods>
<members>
- <member name="graph_offset" type="Vector2" setter="set_graph_offset" getter="get_graph_offset">
+ <member name="graph_offset" type="Vector2" setter="set_graph_offset" getter="get_graph_offset" default="Vector2( 0, 0 )">
</member>
</members>
<constants>
@@ -194,6 +194,7 @@
<constant name="TYPE_LIGHT" value="2" enum="Type">
</constant>
<constant name="TYPE_MAX" value="3" enum="Type">
+ Represents the size of the [enum Type] enum.
</constant>
<constant name="NODE_ID_INVALID" value="-1">
</constant>
diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml
index 4fa80d8c82..19495a8859 100644
--- a/doc/classes/VisualShaderNode.xml
+++ b/doc/classes/VisualShaderNode.xml
@@ -27,9 +27,9 @@
</method>
</methods>
<members>
- <member name="default_input_values" type="Array" setter="_set_default_input_values" getter="_get_default_input_values">
+ <member name="default_input_values" type="Array" setter="_set_default_input_values" getter="_get_default_input_values" default="[ 0, Vector3( 0, 0, 0 ) ]">
</member>
- <member name="output_port_for_preview" type="int" setter="set_output_port_for_preview" getter="get_output_port_for_preview">
+ <member name="output_port_for_preview" type="int" setter="set_output_port_for_preview" getter="get_output_port_for_preview" default="-1">
</member>
</members>
<signals>
diff --git a/doc/classes/VisualShaderNodeBooleanConstant.xml b/doc/classes/VisualShaderNodeBooleanConstant.xml
index fd406db053..b46905cfea 100644
--- a/doc/classes/VisualShaderNodeBooleanConstant.xml
+++ b/doc/classes/VisualShaderNodeBooleanConstant.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="constant" type="bool" setter="set_constant" getter="get_constant">
+ <member name="constant" type="bool" setter="set_constant" getter="get_constant" default="false">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeColorConstant.xml b/doc/classes/VisualShaderNodeColorConstant.xml
index d9a927e75d..282966a9ca 100644
--- a/doc/classes/VisualShaderNodeColorConstant.xml
+++ b/doc/classes/VisualShaderNodeColorConstant.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="constant" type="Color" setter="set_constant" getter="get_constant">
+ <member name="constant" type="Color" setter="set_constant" getter="get_constant" default="Color( 1, 1, 1, 1 )">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeColorFunc.xml b/doc/classes/VisualShaderNodeColorFunc.xml
index 23223587a5..b37a669ee9 100644
--- a/doc/classes/VisualShaderNodeColorFunc.xml
+++ b/doc/classes/VisualShaderNodeColorFunc.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeColorFunc.Function">
+ <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeColorFunc.Function" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeColorOp.xml b/doc/classes/VisualShaderNodeColorOp.xml
index b78efa2adc..77c5361f4d 100644
--- a/doc/classes/VisualShaderNodeColorOp.xml
+++ b/doc/classes/VisualShaderNodeColorOp.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeColorOp.Operator">
+ <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeColorOp.Operator" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeCubeMap.xml b/doc/classes/VisualShaderNodeCubeMap.xml
index 09f68a0e9a..9a4cb5b17c 100644
--- a/doc/classes/VisualShaderNodeCubeMap.xml
+++ b/doc/classes/VisualShaderNodeCubeMap.xml
@@ -9,9 +9,9 @@
<methods>
</methods>
<members>
- <member name="cube_map" type="CubeMap" setter="set_cube_map" getter="get_cube_map">
+ <member name="cube_map" type="CubeMap" setter="set_cube_map" getter="get_cube_map" default="null">
</member>
- <member name="texture_type" type="int" setter="set_texture_type" getter="get_texture_type" enum="VisualShaderNodeCubeMap.TextureType">
+ <member name="texture_type" type="int" setter="set_texture_type" getter="get_texture_type" enum="VisualShaderNodeCubeMap.TextureType" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeExpression.xml b/doc/classes/VisualShaderNodeExpression.xml
index 8a5477280f..ddb85d7e43 100644
--- a/doc/classes/VisualShaderNodeExpression.xml
+++ b/doc/classes/VisualShaderNodeExpression.xml
@@ -15,7 +15,7 @@
</method>
</methods>
<members>
- <member name="expression" type="String" setter="set_expression" getter="get_expression">
+ <member name="expression" type="String" setter="set_expression" getter="get_expression" default="&quot;&quot;">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeGroupBase.xml b/doc/classes/VisualShaderNodeGroupBase.xml
index 37d48956f6..c2e9b9503b 100644
--- a/doc/classes/VisualShaderNodeGroupBase.xml
+++ b/doc/classes/VisualShaderNodeGroupBase.xml
@@ -109,6 +109,14 @@
<description>
</description>
</method>
+ <method name="is_valid_port_name" qualifiers="const">
+ <return type="bool">
+ </return>
+ <argument index="0" name="name" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="remove_input_port">
<return type="void">
</return>
diff --git a/doc/classes/VisualShaderNodeInput.xml b/doc/classes/VisualShaderNodeInput.xml
index 32398b8545..25fd2ec8d8 100644
--- a/doc/classes/VisualShaderNodeInput.xml
+++ b/doc/classes/VisualShaderNodeInput.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="input_name" type="String" setter="set_input_name" getter="get_input_name">
+ <member name="input_name" type="String" setter="set_input_name" getter="get_input_name" default="&quot;[None]&quot;">
</member>
</members>
<signals>
diff --git a/doc/classes/VisualShaderNodeScalarConstant.xml b/doc/classes/VisualShaderNodeScalarConstant.xml
index b18ac46fbd..0af09e74e3 100644
--- a/doc/classes/VisualShaderNodeScalarConstant.xml
+++ b/doc/classes/VisualShaderNodeScalarConstant.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="constant" type="float" setter="set_constant" getter="get_constant">
+ <member name="constant" type="float" setter="set_constant" getter="get_constant" default="0.0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeScalarDerivativeFunc.xml b/doc/classes/VisualShaderNodeScalarDerivativeFunc.xml
index 6c3eb95b6f..09e2d2fa72 100644
--- a/doc/classes/VisualShaderNodeScalarDerivativeFunc.xml
+++ b/doc/classes/VisualShaderNodeScalarDerivativeFunc.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeScalarDerivativeFunc.Function">
+ <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeScalarDerivativeFunc.Function" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeScalarFunc.xml b/doc/classes/VisualShaderNodeScalarFunc.xml
index b0ee422bbd..ef52086d6e 100644
--- a/doc/classes/VisualShaderNodeScalarFunc.xml
+++ b/doc/classes/VisualShaderNodeScalarFunc.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeScalarFunc.Function">
+ <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeScalarFunc.Function" default="13">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeScalarOp.xml b/doc/classes/VisualShaderNodeScalarOp.xml
index b2939a55ee..0aa692c228 100644
--- a/doc/classes/VisualShaderNodeScalarOp.xml
+++ b/doc/classes/VisualShaderNodeScalarOp.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeScalarOp.Operator">
+ <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeScalarOp.Operator" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeTexture.xml b/doc/classes/VisualShaderNodeTexture.xml
index 7a73868c2b..1f4d3b16d1 100644
--- a/doc/classes/VisualShaderNodeTexture.xml
+++ b/doc/classes/VisualShaderNodeTexture.xml
@@ -9,11 +9,11 @@
<methods>
</methods>
<members>
- <member name="source" type="int" setter="set_source" getter="get_source" enum="VisualShaderNodeTexture.Source">
+ <member name="source" type="int" setter="set_source" getter="get_source" enum="VisualShaderNodeTexture.Source" default="0">
</member>
- <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture" default="null">
</member>
- <member name="texture_type" type="int" setter="set_texture_type" getter="get_texture_type" enum="VisualShaderNodeTexture.TextureType">
+ <member name="texture_type" type="int" setter="set_texture_type" getter="get_texture_type" enum="VisualShaderNodeTexture.TextureType" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeTextureUniform.xml b/doc/classes/VisualShaderNodeTextureUniform.xml
index 9312c24fe7..3d58ec88c5 100644
--- a/doc/classes/VisualShaderNodeTextureUniform.xml
+++ b/doc/classes/VisualShaderNodeTextureUniform.xml
@@ -9,9 +9,9 @@
<methods>
</methods>
<members>
- <member name="color_default" type="int" setter="set_color_default" getter="get_color_default" enum="VisualShaderNodeTextureUniform.ColorDefault">
+ <member name="color_default" type="int" setter="set_color_default" getter="get_color_default" enum="VisualShaderNodeTextureUniform.ColorDefault" default="0">
</member>
- <member name="texture_type" type="int" setter="set_texture_type" getter="get_texture_type" enum="VisualShaderNodeTextureUniform.TextureType">
+ <member name="texture_type" type="int" setter="set_texture_type" getter="get_texture_type" enum="VisualShaderNodeTextureUniform.TextureType" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeTransformConstant.xml b/doc/classes/VisualShaderNodeTransformConstant.xml
index 5b4c046ce1..b184a3d337 100644
--- a/doc/classes/VisualShaderNodeTransformConstant.xml
+++ b/doc/classes/VisualShaderNodeTransformConstant.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="constant" type="Transform" setter="set_constant" getter="get_constant">
+ <member name="constant" type="Transform" setter="set_constant" getter="get_constant" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeTransformFunc.xml b/doc/classes/VisualShaderNodeTransformFunc.xml
index e74f449212..7fb17b1a79 100644
--- a/doc/classes/VisualShaderNodeTransformFunc.xml
+++ b/doc/classes/VisualShaderNodeTransformFunc.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeTransformFunc.Function">
+ <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeTransformFunc.Function" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeTransformMult.xml b/doc/classes/VisualShaderNodeTransformMult.xml
index 6082434beb..0406050025 100644
--- a/doc/classes/VisualShaderNodeTransformMult.xml
+++ b/doc/classes/VisualShaderNodeTransformMult.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeTransformMult.Operator">
+ <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeTransformMult.Operator" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeTransformVecMult.xml b/doc/classes/VisualShaderNodeTransformVecMult.xml
index 46d3be2ded..881d0cf3cf 100644
--- a/doc/classes/VisualShaderNodeTransformVecMult.xml
+++ b/doc/classes/VisualShaderNodeTransformVecMult.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeTransformVecMult.Operator">
+ <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeTransformVecMult.Operator" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeUniform.xml b/doc/classes/VisualShaderNodeUniform.xml
index 09371f91de..6835a30baa 100644
--- a/doc/classes/VisualShaderNodeUniform.xml
+++ b/doc/classes/VisualShaderNodeUniform.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="uniform_name" type="String" setter="set_uniform_name" getter="get_uniform_name">
+ <member name="uniform_name" type="String" setter="set_uniform_name" getter="get_uniform_name" default="&quot;&quot;">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeVec3Constant.xml b/doc/classes/VisualShaderNodeVec3Constant.xml
index 1ea7e8115e..b17f56e1f8 100644
--- a/doc/classes/VisualShaderNodeVec3Constant.xml
+++ b/doc/classes/VisualShaderNodeVec3Constant.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="constant" type="Vector3" setter="set_constant" getter="get_constant">
+ <member name="constant" type="Vector3" setter="set_constant" getter="get_constant" default="Vector3( 0, 0, 0 )">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeVectorDerivativeFunc.xml b/doc/classes/VisualShaderNodeVectorDerivativeFunc.xml
index 678df0fe3b..56f89ffc38 100644
--- a/doc/classes/VisualShaderNodeVectorDerivativeFunc.xml
+++ b/doc/classes/VisualShaderNodeVectorDerivativeFunc.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeVectorDerivativeFunc.Function">
+ <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeVectorDerivativeFunc.Function" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeVectorFunc.xml b/doc/classes/VisualShaderNodeVectorFunc.xml
index e67cb2e07f..3725a43395 100644
--- a/doc/classes/VisualShaderNodeVectorFunc.xml
+++ b/doc/classes/VisualShaderNodeVectorFunc.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeVectorFunc.Function">
+ <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeVectorFunc.Function" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeVectorOp.xml b/doc/classes/VisualShaderNodeVectorOp.xml
index cfcd16bbff..0ec49a3845 100644
--- a/doc/classes/VisualShaderNodeVectorOp.xml
+++ b/doc/classes/VisualShaderNodeVectorOp.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeVectorOp.Operator">
+ <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeVectorOp.Operator" default="0">
</member>
</members>
<constants>
diff --git a/doc/classes/WindowDialog.xml b/doc/classes/WindowDialog.xml
index c5d66af984..595aaeecee 100644
--- a/doc/classes/WindowDialog.xml
+++ b/doc/classes/WindowDialog.xml
@@ -18,10 +18,10 @@
</method>
</methods>
<members>
- <member name="resizable" type="bool" setter="set_resizable" getter="get_resizable">
- If [code]true[/code], the user can resize the window. Default value: [code]false[/code].
+ <member name="resizable" type="bool" setter="set_resizable" getter="get_resizable" default="false">
+ If [code]true[/code], the user can resize the window.
</member>
- <member name="window_title" type="String" setter="set_title" getter="get_title">
+ <member name="window_title" type="String" setter="set_title" getter="get_title" default="&quot;&quot;">
The text displayed in the window's title bar.
</member>
</members>
@@ -30,21 +30,21 @@
<theme_items>
<theme_item name="close" type="Texture">
</theme_item>
- <theme_item name="close_h_ofs" type="int">
+ <theme_item name="close_h_ofs" type="int" default="18">
</theme_item>
<theme_item name="close_highlight" type="Texture">
</theme_item>
- <theme_item name="close_v_ofs" type="int">
+ <theme_item name="close_v_ofs" type="int" default="18">
</theme_item>
<theme_item name="panel" type="StyleBox">
</theme_item>
- <theme_item name="scaleborder_size" type="int">
+ <theme_item name="scaleborder_size" type="int" default="4">
</theme_item>
- <theme_item name="title_color" type="Color">
+ <theme_item name="title_color" type="Color" default="Color( 0, 0, 0, 1 )">
</theme_item>
<theme_item name="title_font" type="Font">
</theme_item>
- <theme_item name="title_height" type="int">
+ <theme_item name="title_height" type="int" default="20">
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/World.xml b/doc/classes/World.xml
index c8e6944b83..adb3286c51 100644
--- a/doc/classes/World.xml
+++ b/doc/classes/World.xml
@@ -15,10 +15,10 @@
<member name="direct_space_state" type="PhysicsDirectSpaceState" setter="" getter="get_direct_space_state">
The World's physics direct space state, used for making various queries. Might be used only during [code]_physics_process[/code].
</member>
- <member name="environment" type="Environment" setter="set_environment" getter="get_environment">
+ <member name="environment" type="Environment" setter="set_environment" getter="get_environment" default="null">
The World's [Environment].
</member>
- <member name="fallback_environment" type="Environment" setter="set_fallback_environment" getter="get_fallback_environment">
+ <member name="fallback_environment" type="Environment" setter="set_fallback_environment" getter="get_fallback_environment" default="null">
The World's fallback_environment will be used if the World's [Environment] fails or is missing.
</member>
<member name="scenario" type="RID" setter="" getter="get_scenario">
diff --git a/doc/classes/WorldEnvironment.xml b/doc/classes/WorldEnvironment.xml
index b4524bfea0..a2a454d1b3 100644
--- a/doc/classes/WorldEnvironment.xml
+++ b/doc/classes/WorldEnvironment.xml
@@ -14,7 +14,7 @@
<methods>
</methods>
<members>
- <member name="environment" type="Environment" setter="set_environment" getter="get_environment">
+ <member name="environment" type="Environment" setter="set_environment" getter="get_environment" default="null">
The [Environment] resource used by this [WorldEnvironment], defining the default properties.
</member>
</members>
diff --git a/doc/classes/XMLParser.xml b/doc/classes/XMLParser.xml
index a11e95db79..6989246e24 100644
--- a/doc/classes/XMLParser.xml
+++ b/doc/classes/XMLParser.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="XMLParser" inherits="Reference" category="Core" version="3.2">
<brief_description>
- Low-level class for creating parsers for XML files.
+ Low-level class for creating parsers for [url=https://en.wikipedia.org/wiki/XML]XML[/url] files.
</brief_description>
<description>
- This class can serve as base to make custom XML parsers. Since XML is a very flexible standard, this interface is low level so it can be applied to any possible schema.
+ This class can serve as base to make custom XML parsers. Since XML is a very flexible standard, this interface is low-level so it can be applied to any possible schema.
</description>
<tutorials>
</tutorials>
@@ -13,7 +13,7 @@
<return type="int">
</return>
<description>
- Get the amount of attributes in the current element.
+ Gets the amount of attributes in the current element.
</description>
</method>
<method name="get_attribute_name" qualifiers="const">
@@ -22,7 +22,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the name of the attribute specified by the index in [code]idx[/code] argument.
+ Gets the name of the attribute specified by the index in [code]idx[/code] argument.
</description>
</method>
<method name="get_attribute_value" qualifiers="const">
@@ -31,14 +31,14 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the value of the attribute specified by the index in [code]idx[/code] argument.
+ Gets the value of the attribute specified by the index in [code]idx[/code] argument.
</description>
</method>
<method name="get_current_line" qualifiers="const">
<return type="int">
</return>
<description>
- Get the current line in the parsed file (currently not implemented).
+ Gets the current line in the parsed file (currently not implemented).
</description>
</method>
<method name="get_named_attribute_value" qualifiers="const">
@@ -47,7 +47,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Get the value of a certain attribute of the current element by name. This will raise an error if the element has no such attribute.
+ Gets the value of a certain attribute of the current element by name. This will raise an error if the element has no such attribute.
</description>
</method>
<method name="get_named_attribute_value_safe" qualifiers="const">
@@ -56,35 +56,35 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Get the value of a certain attribute of the current element by name. This will return an empty [String] if the attribute is not found.
+ Gets the value of a certain attribute of the current element by name. This will return an empty [String] if the attribute is not found.
</description>
</method>
<method name="get_node_data" qualifiers="const">
<return type="String">
</return>
<description>
- Get the contents of a text node. This will raise an error in any other type of node.
+ Gets the contents of a text node. This will raise an error in any other type of node.
</description>
</method>
<method name="get_node_name" qualifiers="const">
<return type="String">
</return>
<description>
- Get the name of the current element node. This will raise an error if the current node type is not [code]NODE_ELEMENT[/code] nor [code]NODE_ELEMENT_END[/code]
+ Gets the name of the current element node. This will raise an error if the current node type is neither [constant NODE_ELEMENT] nor [constant NODE_ELEMENT_END].
</description>
</method>
<method name="get_node_offset" qualifiers="const">
<return type="int">
</return>
<description>
- Get the byte offset of the current node since the beginning of the file or buffer.
+ Gets the byte offset of the current node since the beginning of the file or buffer.
</description>
</method>
<method name="get_node_type">
<return type="int" enum="XMLParser.NodeType">
</return>
<description>
- Get the type of the current node. Compare with [code]NODE_*[/code] constants.
+ Gets the type of the current node. Compare with [code]NODE_*[/code] constants.
</description>
</method>
<method name="has_attribute" qualifiers="const">
@@ -93,14 +93,14 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Check whether or not the current element has a certain attribute.
+ Check whether the current element has a certain attribute.
</description>
</method>
<method name="is_empty" qualifiers="const">
<return type="bool">
</return>
<description>
- Check whether the current element is empty (this only works for completely empty tags, e.g. &lt;element \&gt;).
+ Check whether the current element is empty (this only works for completely empty tags, e.g. [code]&lt;element \&gt;[/code]).
</description>
</method>
<method name="open">
@@ -109,7 +109,7 @@
<argument index="0" name="file" type="String">
</argument>
<description>
- Open a XML file for parsing. This returns an error code.
+ Opens an XML file for parsing. This returns an error code.
</description>
</method>
<method name="open_buffer">
@@ -118,14 +118,14 @@
<argument index="0" name="buffer" type="PoolByteArray">
</argument>
<description>
- Open a XML raw buffer for parsing. This returns an error code.
+ Opens an XML raw buffer for parsing. This returns an error code.
</description>
</method>
<method name="read">
<return type="int" enum="Error">
</return>
<description>
- Read the next node of the file. This returns an error code.
+ Reads the next node of the file. This returns an error code.
</description>
</method>
<method name="seek">
@@ -134,7 +134,7 @@
<argument index="0" name="position" type="int">
</argument>
<description>
- Move the buffer cursor to a certain offset (since the beginning) and read the next node there. This returns an error code.
+ Moves the buffer cursor to a certain offset (since the beginning) and read the next node there. This returns an error code.
</description>
</method>
<method name="skip_section">
diff --git a/doc/classes/YSort.xml b/doc/classes/YSort.xml
index b9f3fa914b..6045a5713c 100644
--- a/doc/classes/YSort.xml
+++ b/doc/classes/YSort.xml
@@ -12,8 +12,8 @@
<methods>
</methods>
<members>
- <member name="sort_enabled" type="bool" setter="set_sort_enabled" getter="is_sort_enabled">
- If [code]true[/code], child nodes are sorted, otherwise sorting is disabled. Default: [code]true[/code].
+ <member name="sort_enabled" type="bool" setter="set_sort_enabled" getter="is_sort_enabled" default="true">
+ If [code]true[/code], child nodes are sorted, otherwise sorting is disabled.
</member>
</members>
<constants>
diff --git a/doc/classes/bool.xml b/doc/classes/bool.xml
index 9ed029a500..533963b460 100644
--- a/doc/classes/bool.xml
+++ b/doc/classes/bool.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="bool" category="Built-In Types" version="3.2">
<brief_description>
- Boolean built-in type
+ Boolean built-in type.
</brief_description>
<description>
Boolean built-in type.
@@ -24,7 +24,7 @@
<argument index="0" name="from" type="float">
</argument>
<description>
- Cast a [float] value to a boolean value, this method will return [code]true[/code] if called with a floating point value different to 0 and [code]false[/code] in other case.
+ Cast a [float] value to a boolean value, this method will return [code]true[/code] if called with a floating-point value different to 0 and [code]false[/code] in other case.
</description>
</method>
<method name="bool">
@@ -33,7 +33,7 @@
<argument index="0" name="from" type="String">
</argument>
<description>
- Cast a [String] value to a boolean value, this method will return [code]true[/code] if called with a non empty string and [code]false[/code] in other case. Examples: [code]bool('False')[/code] returns [code]true[/code], [code]bool('')[/code] returns [code]false[/code].
+ Cast a [String] value to a boolean value, this method will return [code]true[/code] if called with a non-empty string and [code]false[/code] in other case. Examples: [code]bool("False")[/code] returns [code]true[/code], [code]bool("")[/code] returns [code]false[/code].
</description>
</method>
</methods>
diff --git a/doc/classes/float.xml b/doc/classes/float.xml
index 506fb643e1..4c4ea83157 100644
--- a/doc/classes/float.xml
+++ b/doc/classes/float.xml
@@ -15,7 +15,7 @@
<argument index="0" name="from" type="bool">
</argument>
<description>
- Cast a [bool] value to a floating point value, [code]float(true)[/code] will be equal to 1.0 and [code]float(false)[/code] will be equal to 0.0.
+ Cast a [bool] value to a floating-point value, [code]float(true)[/code] will be equal to 1.0 and [code]float(false)[/code] will be equal to 0.0.
</description>
</method>
<method name="float">
@@ -24,7 +24,7 @@
<argument index="0" name="from" type="int">
</argument>
<description>
- Cast an [int] value to a floating point value, [code]float(1)[/code] will be equal to 1.0.
+ Cast an [int] value to a floating-point value, [code]float(1)[/code] will be equal to 1.0.
</description>
</method>
<method name="float">
@@ -33,7 +33,7 @@
<argument index="0" name="from" type="String">
</argument>
<description>
- Cast a [String] value to a floating point value. This method accepts float value strings like [code]"1.23"[/code] and exponential notation strings for its parameter so calling [code]float("1e3")[/code] will return 1000.0 and calling [code]float("1e-3")[/code] will return 0.001.
+ Cast a [String] value to a floating-point value. This method accepts float value strings like [code]"1.23"[/code] and exponential notation strings for its parameter so calling [code]float("1e3")[/code] will return 1000.0 and calling [code]float("1e-3")[/code] will return 0.001.
</description>
</method>
</methods>
diff --git a/doc/tools/makerst.py b/doc/tools/makerst.py
index 454c71d3c7..763c29ab4e 100755
--- a/doc/tools/makerst.py
+++ b/doc/tools/makerst.py
@@ -37,12 +37,13 @@ class TypeName:
class PropertyDef:
- def __init__(self, name, type_name, setter, getter, text): # type: (str, TypeName, Optional[str], Optional[str], Optional[str]) -> None
+ def __init__(self, name, type_name, setter, getter, text, default_value): # type: (str, TypeName, Optional[str], Optional[str], Optional[str], Optional[str]) -> None
self.name = name
self.type_name = type_name
self.setter = setter
self.getter = getter
self.text = text
+ self.default_value = default_value
class ParameterDef:
def __init__(self, name, type_name, default_value): # type: (str, TypeName, Optional[str]) -> None
@@ -81,9 +82,10 @@ class EnumDef:
class ThemeItemDef:
- def __init__(self, name, type_name): # type: (str, TypeName) -> None
+ def __init__(self, name, type_name, default_value): # type: (str, TypeName, Optional[str]) -> None
self.name = name
self.type_name = type_name
+ self.default_value = default_value
class ClassDef:
@@ -144,8 +146,9 @@ class State:
type_name = TypeName.from_element(property)
setter = property.get("setter") or None # Use or None so '' gets turned into None.
getter = property.get("getter") or None
+ default_value = property.get("default") or None
- property_def = PropertyDef(property_name, type_name, setter, getter, property.text)
+ property_def = PropertyDef(property_name, type_name, setter, getter, property.text, default_value)
class_def.properties[property_name] = property_def
methods = class_root.find("methods")
@@ -230,7 +233,8 @@ class State:
assert theme_item.tag == "theme_item"
theme_item_name = theme_item.attrib["name"]
- theme_item_def = ThemeItemDef(theme_item_name, TypeName.from_element(theme_item))
+ default_value = theme_item.get("default") or None
+ theme_item_def = ThemeItemDef(theme_item_name, TypeName.from_element(theme_item), default_value)
if theme_item_name not in class_def.theme_items:
class_def.theme_items[theme_item_name] = []
class_def.theme_items[theme_item_name].append(theme_item_def)
@@ -400,8 +404,9 @@ def make_rst_class(class_def, state, dry_run, output_dir): # type: (ClassDef, S
for property_def in class_def.properties.values():
type_rst = property_def.type_name.to_rst(state)
ref = ":ref:`{0}<class_{1}_property_{0}>`".format(property_def.name, class_name)
- ml.append((type_rst, ref))
- format_table(f, ml)
+ default = property_def.default_value
+ ml.append((type_rst, ref, default))
+ format_table(f, ml, True)
# Methods overview
if len(class_def.methods) > 0:
@@ -415,11 +420,11 @@ def make_rst_class(class_def, state, dry_run, output_dir): # type: (ClassDef, S
# Theme properties
if class_def.theme_items is not None and len(class_def.theme_items) > 0:
f.write(make_heading('Theme Properties', '-'))
- ml = []
+ pl = []
for theme_item_list in class_def.theme_items.values():
for theme_item in theme_item_list:
- ml.append((theme_item.type_name.to_rst(state), theme_item.name))
- format_table(f, ml)
+ pl.append((theme_item.type_name.to_rst(state), theme_item.name, theme_item.default_value))
+ format_table(f, pl, True)
# Signals
if len(class_def.signals) > 0:
@@ -488,14 +493,16 @@ def make_rst_class(class_def, state, dry_run, output_dir): # type: (ClassDef, S
f.write(".. _class_{}_property_{}:\n\n".format(class_name, property_def.name))
f.write('- {} **{}**\n\n'.format(property_def.type_name.to_rst(state), property_def.name))
- setget = []
+ info = []
+ if property_def.default_value is not None:
+ info.append(("*Default*", property_def.default_value))
if property_def.setter is not None and not property_def.setter.startswith("_"):
- setget.append(("*Setter*", property_def.setter + '(value)'))
+ info.append(("*Setter*", property_def.setter + '(value)'))
if property_def.getter is not None and not property_def.getter.startswith("_"):
- setget.append(('*Getter*', property_def.getter + '()'))
+ info.append(('*Getter*', property_def.getter + '()'))
- if len(setget) > 0:
- format_table(f, setget)
+ if len(info) > 0:
+ format_table(f, info)
if property_def.text is not None and property_def.text.strip() != '':
f.write(rstize_text(property_def.text.strip(), state))
@@ -873,33 +880,33 @@ def rstize_text(text, state): # type: (str, State) -> str
return text
-def format_table(f, pp): # type: (TextIO, Iterable[Tuple[str, ...]]) -> None
- longest_t = 0
- longest_s = 0
- for s in pp:
- sl = len(s[0])
- if sl > longest_s:
- longest_s = sl
- tl = len(s[1])
- if tl > longest_t:
- longest_t = tl
-
- sep = "+"
- for i in range(longest_s + 2):
- sep += "-"
- sep += "+"
- for i in range(longest_t + 2):
- sep += "-"
+def format_table(f, data, remove_empty_columns=False): # type: (TextIO, Iterable[Tuple[str, ...]]) -> None
+ if len(data) == 0:
+ return
+
+ column_sizes = [0] * len(data[0])
+ for row in data:
+ for i, text in enumerate(row):
+ text_length = len(text or '')
+ if text_length > column_sizes[i]:
+ column_sizes[i] = text_length
+
+ sep = ""
+ for size in column_sizes:
+ if size == 0 and remove_empty_columns:
+ continue
+ sep += "+" + "-" * (size + 2)
sep += "+\n"
f.write(sep)
- for s in pp:
- rt = s[0]
- while len(rt) < longest_s:
- rt += " "
- st = s[1]
- while len(st) < longest_t:
- st += " "
- f.write("| " + rt + " | " + st + " |\n")
+
+ for row in data:
+ row_text = "|"
+ for i, text in enumerate(row):
+ if column_sizes[i] == 0 and remove_empty_columns:
+ continue
+ row_text += " " + (text or '').ljust(column_sizes[i]) + " |"
+ row_text += "\n"
+ f.write(row_text)
f.write(sep)
f.write('\n')
diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp
index 9fe7e43b43..b08202ae45 100644
--- a/drivers/gles2/rasterizer_storage_gles2.cpp
+++ b/drivers/gles2/rasterizer_storage_gles2.cpp
@@ -811,7 +811,7 @@ Ref<Image> RasterizerStorageGLES2::texture_get_data(RID p_texture, int p_layer)
data.resize(data_size);
- Image *img = memnew(Image(texture->alloc_width, texture->alloc_height, texture->mipmaps > 1 ? true : false, real_format, data));
+ Image *img = memnew(Image(texture->alloc_width, texture->alloc_height, texture->mipmaps > 1, real_format, data));
return Ref<Image>(img);
#else
diff --git a/drivers/gles2/shader_gles2.cpp b/drivers/gles2/shader_gles2.cpp
index df7b170bf4..58eff791ca 100644
--- a/drivers/gles2/shader_gles2.cpp
+++ b/drivers/gles2/shader_gles2.cpp
@@ -182,14 +182,11 @@ ShaderGLES2::Version *ShaderGLES2::get_current_version() {
#endif
- int define_line_ofs = 1;
-
for (int j = 0; j < conditional_count; j++) {
bool enable = (conditional_version.version & (1 << j)) > 0;
if (enable) {
strings.push_back(conditional_defines[j]);
- define_line_ofs++;
DEBUG_PRINT(conditional_defines[j]);
}
}
@@ -206,7 +203,6 @@ ShaderGLES2::Version *ShaderGLES2::get_current_version() {
ERR_FAIL_COND_V(!cc, NULL);
v.code_version = cc->version;
- define_line_ofs += 2;
}
// program
diff --git a/drivers/gles2/shaders/scene.glsl b/drivers/gles2/shaders/scene.glsl
index 2aef913ae8..ca222362e7 100644
--- a/drivers/gles2/shaders/scene.glsl
+++ b/drivers/gles2/shaders/scene.glsl
@@ -262,7 +262,7 @@ void light_compute(
#endif
SRGB_APPROX(specular_brdf_NL)
- specular_interp += specular_brdf_NL * light_color * attenuation;
+ specular_interp += specular_brdf_NL * light_color * attenuation * (1.0 / M_PI);
}
}
@@ -1641,18 +1641,30 @@ FRAGMENT_SHADER_CODE
#endif // defined(USE_REFLECTION_PROBE1) || defined(USE_REFLECTION_PROBE2)
- // scales the specular reflections, needs to be be computed before lighting happens,
- // but after environment and reflection probes are added
- //TODO: this curve is not really designed for gammaspace, should be adjusted
- const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
- const vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);
- vec4 r = roughness * c0 + c1;
- float ndotv = clamp(dot(normal, eye_position), 0.0, 1.0);
- float a004 = min(r.x * r.x, exp2(-9.28 * ndotv)) * r.x + r.y;
- vec2 env = vec2(-1.04, 1.04) * a004 + r.zw;
+ // environment BRDF approximation
- vec3 f0 = F0(metallic, specular, albedo);
- specular_light *= env.x * f0 + env.y;
+ {
+
+#if defined(DIFFUSE_TOON)
+ //simplify for toon, as
+ specular_light *= specular * metallic * albedo * 2.0;
+#else
+
+ // scales the specular reflections, needs to be be computed before lighting happens,
+ // but after environment and reflection probes are added
+ //TODO: this curve is not really designed for gammaspace, should be adjusted
+ const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
+ const vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);
+ vec4 r = roughness * c0 + c1;
+ float ndotv = clamp(dot(normal, eye_position), 0.0, 1.0);
+ float a004 = min(r.x * r.x, exp2(-9.28 * ndotv)) * r.x + r.y;
+ vec2 env = vec2(-1.04, 1.04) * a004 + r.zw;
+
+ vec3 f0 = F0(metallic, specular, albedo);
+ specular_light *= env.x * f0 + env.y;
+
+#endif
+ }
#ifdef USE_LIGHTMAP
//ambient light will come entirely from lightmap is lightmap is used
@@ -2048,6 +2060,17 @@ FRAGMENT_SHADER_CODE
specular_light += specular_interp * specular_blob_intensity * light_att;
diffuse_light += diffuse_interp * albedo * light_att;
+ // Same as above, needed for VERTEX_LIGHTING or else lights are too bright
+ const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
+ const vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);
+ vec4 r = roughness * c0 + c1;
+ float ndotv = clamp(dot(normal, eye_position), 0.0, 1.0);
+ float a004 = min(r.x * r.x, exp2(-9.28 * ndotv)) * r.x + r.y;
+ vec2 env = vec2(-1.04, 1.04) * a004 + r.zw;
+
+ vec3 f0 = F0(metallic, specular, albedo);
+ specular_light *= env.x * f0 + env.y;
+
#else
//fragment lighting
light_compute(
@@ -2115,16 +2138,6 @@ FRAGMENT_SHADER_CODE
diffuse_light *= 1.0 - metallic;
ambient_light *= 1.0 - metallic;
- // environment BRDF approximation
-
- {
-
-#if defined(DIFFUSE_TOON)
- //simplify for toon, as
- specular_light *= specular * metallic * albedo * 2.0;
-#endif
- }
-
gl_FragColor = vec4(ambient_light + diffuse_light + specular_light, alpha);
//add emission if in base pass
diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp
index 1f3af2f885..eb5ab53421 100644
--- a/drivers/gles3/rasterizer_canvas_gles3.cpp
+++ b/drivers/gles3/rasterizer_canvas_gles3.cpp
@@ -691,7 +691,7 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur
state.canvas_shader.set_uniform(CanvasShaderGLES3::DST_RECT, Color(dst_rect.position.x, dst_rect.position.y, dst_rect.size.x, dst_rect.size.y));
state.canvas_shader.set_uniform(CanvasShaderGLES3::SRC_RECT, Color(src_rect.position.x, src_rect.position.y, src_rect.size.x, src_rect.size.y));
- state.canvas_shader.set_uniform(CanvasShaderGLES3::CLIP_RECT_UV, (rect->flags & CANVAS_RECT_CLIP_UV) ? true : false);
+ state.canvas_shader.set_uniform(CanvasShaderGLES3::CLIP_RECT_UV, rect->flags & CANVAS_RECT_CLIP_UV);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
@@ -1932,7 +1932,7 @@ void RasterizerCanvasGLES3::draw_window_margins(int *black_margin, RID *black_im
int window_h = window_size.height;
int window_w = window_size.width;
- glBindFramebuffer(GL_FRAMEBUFFER, storage->system_fbo);
+ glBindFramebuffer(GL_FRAMEBUFFER, RasterizerStorageGLES3::system_fbo);
glViewport(0, 0, window_size.width, window_size.height);
canvas_begin();
diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp
index b3a1d32bf4..c2fde148e2 100644
--- a/drivers/gles3/rasterizer_scene_gles3.cpp
+++ b/drivers/gles3/rasterizer_scene_gles3.cpp
@@ -2426,7 +2426,7 @@ void RasterizerSceneGLES3::_add_geometry_with_material(RasterizerStorageGLES3::G
e->sort_key |= SORT_KEY_LIGHTMAP_CAPTURE_FLAG;
}
- e->sort_key |= uint64_t(p_material->render_priority + 128) << RenderList::SORT_KEY_PRIORITY_SHIFT;
+ e->sort_key |= (uint64_t(p_material->render_priority) + 128) << RenderList::SORT_KEY_PRIORITY_SHIFT;
}
/*
@@ -4990,6 +4990,20 @@ bool RasterizerSceneGLES3::free(RID p_rid) {
reflection_probe_instance_owner.free(p_rid);
memdelete(reflection_instance);
+ } else if (environment_owner.owns(p_rid)) {
+
+ Environment *environment = environment_owner.get(p_rid);
+
+ environment_owner.free(p_rid);
+ memdelete(environment);
+
+ } else if (gi_probe_instance_owner.owns(p_rid)) {
+
+ GIProbeInstance *gi_probe_instance = gi_probe_instance_owner.get(p_rid);
+
+ gi_probe_instance_owner.free(p_rid);
+ memdelete(gi_probe_instance);
+
} else {
return false;
}
diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp
index 0840717d68..b280898188 100644
--- a/drivers/gles3/rasterizer_storage_gles3.cpp
+++ b/drivers/gles3/rasterizer_storage_gles3.cpp
@@ -1252,7 +1252,7 @@ Ref<Image> RasterizerStorageGLES3::texture_get_data(RID p_texture, int p_layer)
data.resize(data_size);
- Image *img = memnew(Image(texture->alloc_width, texture->alloc_height, texture->mipmaps > 1 ? true : false, img_format, data));
+ Image *img = memnew(Image(texture->alloc_width, texture->alloc_height, texture->mipmaps > 1, img_format, data));
return Ref<Image>(img);
#else
@@ -4644,7 +4644,6 @@ Transform2D RasterizerStorageGLES3::multimesh_instance_get_transform_2d(RID p_mu
}
Color RasterizerStorageGLES3::multimesh_instance_get_color(RID p_multimesh, int p_index) const {
-
MultiMesh *multimesh = multimesh_owner.getornull(p_multimesh);
ERR_FAIL_COND_V(!multimesh, Color());
ERR_FAIL_INDEX_V(p_index, multimesh->size, Color());
@@ -6074,10 +6073,7 @@ void RasterizerStorageGLES3::particles_set_emitting(RID p_particles, bool p_emit
Particles *particles = particles_owner.getornull(p_particles);
ERR_FAIL_COND(!particles);
- if (p_emitting != particles->emitting) {
- // Restart is overridden by set_emitting
- particles->restart_request = false;
- }
+
particles->emitting = p_emitting;
}
@@ -6475,7 +6471,6 @@ void RasterizerStorageGLES3::update_particles() {
Particles *particles = particle_update_list.first()->self();
if (particles->restart_request) {
- particles->emitting = true; //restart from zero
particles->prev_ticks = 0;
particles->phase = 0;
particles->prev_phase = 0;
diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h
index badb656e96..0a7e47e304 100644
--- a/drivers/gles3/rasterizer_storage_gles3.h
+++ b/drivers/gles3/rasterizer_storage_gles3.h
@@ -816,7 +816,7 @@ public:
virtual void multimesh_instance_set_transform(RID p_multimesh, int p_index, const Transform &p_transform);
virtual void multimesh_instance_set_transform_2d(RID p_multimesh, int p_index, const Transform2D &p_transform);
virtual void multimesh_instance_set_color(RID p_multimesh, int p_index, const Color &p_color);
- virtual void multimesh_instance_set_custom_data(RID p_multimesh, int p_index, const Color &p_color);
+ virtual void multimesh_instance_set_custom_data(RID p_multimesh, int p_index, const Color &p_custom_data);
virtual RID multimesh_get_mesh(RID p_multimesh) const;
diff --git a/drivers/gles3/shader_gles3.cpp b/drivers/gles3/shader_gles3.cpp
index fa7cc00230..ac911993be 100644
--- a/drivers/gles3/shader_gles3.cpp
+++ b/drivers/gles3/shader_gles3.cpp
@@ -478,7 +478,7 @@ ShaderGLES3::Version *ShaderGLES3::get_current_version() {
glDeleteShader(v.vert_id);
glDeleteProgram(v.id);
v.id = 0;
- ERR_FAIL_COND_V(iloglen <= 0, NULL);
+ ERR_FAIL_COND_V(iloglen < 0, NULL);
}
if (iloglen == 0) {
diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp
index e011176806..251bab5783 100644
--- a/drivers/unix/dir_access_unix.cpp
+++ b/drivers/unix/dir_access_unix.cpp
@@ -100,10 +100,7 @@ bool DirAccessUnix::dir_exists(String p_dir) {
struct stat flags;
bool success = (stat(p_dir.utf8().get_data(), &flags) == 0);
- if (success && S_ISDIR(flags.st_mode))
- return true;
-
- return false;
+ return (success && S_ISDIR(flags.st_mode));
}
uint64_t DirAccessUnix::get_modified_time(String p_file) {
@@ -316,7 +313,7 @@ Error DirAccessUnix::change_dir(String p_dir) {
// try_dir is the directory we are trying to change into
String try_dir = "";
if (p_dir.is_rel_path()) {
- String next_dir = current_dir + "/" + p_dir;
+ String next_dir = current_dir.plus_file(p_dir);
next_dir = next_dir.simplify_path();
try_dir = next_dir;
} else {
diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp
index 39ca9a823e..ce66f07a19 100644
--- a/drivers/unix/ip_unix.cpp
+++ b/drivers/unix/ip_unix.cpp
@@ -56,7 +56,6 @@
#endif // MINGW hack
#endif
#else // UNIX
-#include <net/if.h>
#include <netdb.h>
#ifdef ANDROID_ENABLED
// We could drop this file once we up our API level to 24,
@@ -73,6 +72,7 @@
#ifdef __FreeBSD__
#include <netinet/in.h>
#endif
+#include <net/if.h> // Order is important on OpenBSD, leave as last
#endif
static IP_Address _sockaddr2ip(struct sockaddr *p_addr) {
diff --git a/drivers/unix/net_socket_posix.cpp b/drivers/unix/net_socket_posix.cpp
index 4bde7789e2..f8e771aea0 100644
--- a/drivers/unix/net_socket_posix.cpp
+++ b/drivers/unix/net_socket_posix.cpp
@@ -55,10 +55,6 @@
#include <netinet/tcp.h>
-#if defined(__APPLE__)
-#define MSG_NOSIGNAL SO_NOSIGPIPE
-#endif
-
// BSD calls this flag IPV6_JOIN_GROUP
#if !defined(IPV6_ADD_MEMBERSHIP) && defined(IPV6_JOIN_GROUP)
#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
@@ -87,10 +83,6 @@
#define SOCK_IOCTL ioctlsocket
#define SOCK_CLOSE closesocket
-// Windows doesn't have this flag
-#ifndef MSG_NOSIGNAL
-#define MSG_NOSIGNAL 0
-#endif
// Workaround missing flag in MinGW
#if defined(__MINGW32__) && !defined(SIO_UDP_NETRESET)
#define SIO_UDP_NETRESET _WSAIOW(IOC_VENDOR, 15)
@@ -229,10 +221,7 @@ bool NetSocketPosix::_can_use_ip(const IP_Address p_ip, const bool p_for_bind) c
}
// Check if socket support this IP type.
IP::Type type = p_ip.is_ipv4() ? IP::TYPE_IPV4 : IP::TYPE_IPV6;
- if (_ip_type != IP::TYPE_ANY && !p_ip.is_wildcard() && _ip_type != type) {
- return false;
- }
- return true;
+ return !(_ip_type != IP::TYPE_ANY && !p_ip.is_wildcard() && _ip_type != type);
}
_FORCE_INLINE_ Error NetSocketPosix::_change_multicast_group(IP_Address p_ip, String p_if_name, bool p_add) {
@@ -345,6 +334,13 @@ Error NetSocketPosix::open(Type p_sock_type, IP::Type &ip_type) {
}
}
#endif
+#if defined(SO_NOSIGPIPE)
+ // Disable SIGPIPE (should only be relevant to stream sockets, but seems to affect UDP too on iOS)
+ int par = 1;
+ if (setsockopt(_sock, SOL_SOCKET, SO_NOSIGPIPE, SOCK_CBUF(&par), sizeof(int)) != 0) {
+ print_verbose("Unable to turn off SIGPIPE on socket");
+ }
+#endif
return OK;
}
@@ -549,8 +545,10 @@ Error NetSocketPosix::send(const uint8_t *p_buffer, int p_len, int &r_sent) {
ERR_FAIL_COND_V(!is_open(), ERR_UNCONFIGURED);
int flags = 0;
+#ifdef MSG_NOSIGNAL
if (_is_stream)
flags = MSG_NOSIGNAL;
+#endif
r_sent = ::send(_sock, SOCK_CBUF(p_buffer), p_len, flags);
if (r_sent < 0) {
@@ -686,10 +684,10 @@ Ref<NetSocket> NetSocketPosix::accept(IP_Address &r_ip, uint16_t &r_port) {
return Ref<NetSocket>(ns);
}
-Error NetSocketPosix::join_multicast_group(const IP_Address &p_ip, String p_if_name) {
- return _change_multicast_group(p_ip, p_if_name, true);
+Error NetSocketPosix::join_multicast_group(const IP_Address &p_multi_address, String p_if_name) {
+ return _change_multicast_group(p_multi_address, p_if_name, true);
}
-Error NetSocketPosix::leave_multicast_group(const IP_Address &p_ip, String p_if_name) {
- return _change_multicast_group(p_ip, p_if_name, false);
+Error NetSocketPosix::leave_multicast_group(const IP_Address &p_multi_address, String p_if_name) {
+ return _change_multicast_group(p_multi_address, p_if_name, false);
}
diff --git a/drivers/unix/net_socket_posix.h b/drivers/unix/net_socket_posix.h
index cf0412311d..ce6dc00d42 100644
--- a/drivers/unix/net_socket_posix.h
+++ b/drivers/unix/net_socket_posix.h
@@ -77,7 +77,7 @@ public:
virtual void close();
virtual Error bind(IP_Address p_addr, uint16_t p_port);
virtual Error listen(int p_max_pending);
- virtual Error connect_to_host(IP_Address p_addr, uint16_t p_port);
+ virtual Error connect_to_host(IP_Address p_host, uint16_t p_port);
virtual Error poll(PollType p_type, int timeout) const;
virtual Error recv(uint8_t *p_buffer, int p_len, int &r_read);
virtual Error recvfrom(uint8_t *p_buffer, int p_len, int &r_read, IP_Address &r_ip, uint16_t &r_port);
diff --git a/editor/animation_bezier_editor.cpp b/editor/animation_bezier_editor.cpp
index e524dffd43..14ea18f885 100644
--- a/editor/animation_bezier_editor.cpp
+++ b/editor/animation_bezier_editor.cpp
@@ -275,8 +275,6 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
int margin = 0;
{
- int ofs = 0;
-
NodePath path = animation->track_get_path(track);
Node *node = NULL;
@@ -290,6 +288,8 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
int h = font->get_height();
if (node) {
+ int ofs = 0;
+
Ref<Texture> icon = EditorNode::get_singleton()->get_object_icon(node, "Node");
h = MAX(h, icon->get_height());
diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp
index 6e47fadb20..721ed23d8a 100644
--- a/editor/animation_track_editor.cpp
+++ b/editor/animation_track_editor.cpp
@@ -286,7 +286,7 @@ public:
if (name == "value") {
- Variant value = p_value;
+ const Variant &value = p_value;
setting = true;
undo_redo->create_action(TTR("Anim Change Keyframe Value"), UndoRedo::MERGE_ENDS);
@@ -302,7 +302,7 @@ public:
}
if (name == "in_handle") {
- Variant value = p_value;
+ const Variant &value = p_value;
setting = true;
undo_redo->create_action(TTR("Anim Change Keyframe Value"), UndoRedo::MERGE_ENDS);
@@ -318,7 +318,7 @@ public:
}
if (name == "out_handle") {
- Variant value = p_value;
+ const Variant &value = p_value;
setting = true;
undo_redo->create_action(TTR("Anim Change Keyframe Value"), UndoRedo::MERGE_ENDS);
@@ -1203,7 +1203,9 @@ AnimationTimelineEdit::AnimationTimelineEdit() {
////////////////////////////////////
void AnimationTrackEdit::_notification(int p_what) {
+
if (p_what == NOTIFICATION_DRAW) {
+
if (animation.is_null())
return;
ERR_FAIL_INDEX(track, animation->get_track_count());
@@ -1240,20 +1242,15 @@ void AnimationTrackEdit::_notification(int p_what) {
int ofs = in_group ? check->get_width() : 0; //not the best reference for margin but..
check_rect = Rect2(Point2(ofs, int(get_size().height - check->get_height()) / 2), check->get_size());
-
draw_texture(check, check_rect.position);
-
ofs += check->get_width() + hsep;
Ref<Texture> type_icon = type_icons[animation->track_get_type(track)];
-
draw_texture(type_icon, Point2(ofs, int(get_size().height - type_icon->get_height()) / 2));
ofs += type_icon->get_width() + hsep;
NodePath path = animation->track_get_path(track);
-
Node *node = NULL;
-
if (root && root->has_node(path)) {
node = root->get_node(path);
}
@@ -1308,12 +1305,11 @@ void AnimationTrackEdit::_notification(int p_what) {
draw_line(Point2(limit, 0), Point2(limit, get_size().height), linecolor, Math::round(EDSCALE));
}
- // KEYFAMES //
+ // KEYFRAMES //
draw_bg(limit, get_size().width - timeline->get_buttons_width());
{
-
float scale = timeline->get_zoom_scale();
int limit_end = get_size().width - timeline->get_buttons_width();
@@ -1342,6 +1338,7 @@ void AnimationTrackEdit::_notification(int p_what) {
draw_fg(limit, get_size().width - timeline->get_buttons_width());
// BUTTONS //
+
{
Ref<Texture> wrap_icon[2] = {
@@ -1566,7 +1563,18 @@ void AnimationTrackEdit::draw_key(int p_index, float p_pixels_sec, int p_x, bool
if (p_x < p_clip_left || p_x > p_clip_right)
return;
- Vector2 ofs(p_x - type_icon->get_width() / 2, int(get_size().height - type_icon->get_height()) / 2);
+ Ref<Texture> icon_to_draw = p_selected ? selected_icon : type_icon;
+
+ // Override type icon for invalid value keys, unless selected.
+ if (!p_selected && animation->track_get_type(track) == Animation::TYPE_VALUE) {
+ const Variant &v = animation->track_get_key_value(track, p_index);
+ Variant::Type valid_type = Variant::NIL;
+ if (!_is_value_key_valid(v, valid_type)) {
+ icon_to_draw = get_icon("KeyInvalid", "EditorIcons");
+ }
+ }
+
+ Vector2 ofs(p_x - icon_to_draw->get_width() / 2, int(get_size().height - icon_to_draw->get_height()) / 2);
if (animation->track_get_type(track) == Animation::TYPE_METHOD) {
Ref<Font> font = get_font("font", "Label");
@@ -1590,16 +1598,13 @@ void AnimationTrackEdit::draw_key(int p_index, float p_pixels_sec, int p_x, bool
}
text += ")";
- int limit = MAX(0, p_clip_right - p_x - type_icon->get_width());
+ int limit = MAX(0, p_clip_right - p_x - icon_to_draw->get_width());
if (limit > 0) {
- draw_string(font, Vector2(p_x + type_icon->get_width(), int(get_size().height - font->get_height()) / 2 + font->get_ascent()), text, color, limit);
+ draw_string(font, Vector2(p_x + icon_to_draw->get_width(), int(get_size().height - font->get_height()) / 2 + font->get_ascent()), text, color, limit);
}
}
- if (p_selected) {
- draw_texture(selected_icon, ofs);
- } else {
- draw_texture(type_icon, ofs);
- }
+
+ draw_texture(icon_to_draw, ofs);
}
//helper
@@ -1764,6 +1769,27 @@ void AnimationTrackEdit::_path_entered(const String &p_text) {
undo_redo->commit_action();
}
+bool AnimationTrackEdit::_is_value_key_valid(const Variant &p_key_value, Variant::Type &r_valid_type) const {
+
+ RES res;
+ Vector<StringName> leftover_path;
+ Node *node = root->get_node_and_resource(animation->track_get_path(track), res, leftover_path);
+
+ Object *obj = NULL;
+ if (res.is_valid()) {
+ obj = res.ptr();
+ } else if (node) {
+ obj = node;
+ }
+
+ bool prop_exists = false;
+ if (obj) {
+ r_valid_type = obj->get_static_property_type_indexed(leftover_path, &prop_exists);
+ }
+
+ return (!prop_exists || Variant::can_convert(p_key_value.get_type(), r_valid_type));
+}
+
String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const {
if (check_rect.has_point(p_pos)) {
@@ -1834,29 +1860,10 @@ String AnimationTrackEdit::get_tooltip(const Point2 &p_pos) const {
} break;
case Animation::TYPE_VALUE: {
- Variant v = animation->track_get_key_value(track, key_idx);
- //text+="value: "+String(v)+"\n";
-
- bool prop_exists = false;
- Variant::Type valid_type = Variant::NIL;
- Object *obj = NULL;
-
- RES res;
- Vector<StringName> leftover_path;
- Node *node = root->get_node_and_resource(animation->track_get_path(track), res, leftover_path);
-
- if (res.is_valid()) {
- obj = res.ptr();
- } else if (node) {
- obj = node;
- }
-
- if (obj) {
- valid_type = obj->get_static_property_type_indexed(leftover_path, &prop_exists);
- }
-
+ const Variant &v = animation->track_get_key_value(track, key_idx);
text += "Type: " + Variant::get_type_name(v.get_type()) + "\n";
- if (prop_exists && !Variant::can_convert(v.get_type(), valid_type)) {
+ Variant::Type valid_type = Variant::NIL;
+ if (!_is_value_key_valid(v, valid_type)) {
text += "Value: " + String(v) + " (Invalid, expected type: " + Variant::get_type_name(valid_type) + ")\n";
} else {
text += "Value: " + String(v) + "\n";
@@ -4887,7 +4894,7 @@ void AnimationTrackEditor::_cleanup_animation(Ref<Animation> p_animation) {
continue;
}
- if (!prop_exists || p_animation->track_get_type(i) != Animation::TYPE_VALUE || cleanup_keys->is_pressed() == false)
+ if (!prop_exists || p_animation->track_get_type(i) != Animation::TYPE_VALUE || !cleanup_keys->is_pressed())
continue;
for (int j = 0; j < p_animation->track_get_key_count(i); j++) {
diff --git a/editor/animation_track_editor.h b/editor/animation_track_editor.h
index 1452d5519c..0d5a621e07 100644
--- a/editor/animation_track_editor.h
+++ b/editor/animation_track_editor.h
@@ -31,6 +31,11 @@
#ifndef ANIMATION_TRACK_EDITOR_H
#define ANIMATION_TRACK_EDITOR_H
+#include "editor/editor_data.h"
+#include "editor/editor_spin_slider.h"
+#include "editor/property_editor.h"
+#include "editor/property_selector.h"
+#include "scene/animation/animation_cache.h"
#include "scene/gui/control.h"
#include "scene/gui/file_dialog.h"
#include "scene/gui/menu_button.h"
@@ -40,12 +45,6 @@
#include "scene/gui/tab_container.h"
#include "scene/gui/texture_rect.h"
#include "scene/gui/tool_button.h"
-
-#include "editor/property_selector.h"
-#include "editor_data.h"
-#include "editor_spin_slider.h"
-#include "property_editor.h"
-#include "scene/animation/animation_cache.h"
#include "scene/resources/animation.h"
#include "scene_tree_editor.h"
@@ -175,8 +174,9 @@ class AnimationTrackEdit : public Control {
void _path_entered(const String &p_text);
void _play_position_draw();
- mutable int dropping_at;
+ bool _is_value_key_valid(const Variant &p_key_value, Variant::Type &r_valid_type) const;
+ mutable int dropping_at;
float insert_at_pos;
bool moving_selection_attempt;
int select_single_attempt;
@@ -332,7 +332,7 @@ class AnimationTrackEditor : public VBoxContainer {
void _update_scroll(double);
void _update_step(double p_new_step);
- void _update_length(double p_new_step);
+ void _update_length(double p_new_len);
void _dropped_track(int p_from_track, int p_to_track);
void _add_track(int p_type);
diff --git a/editor/animation_track_editor_plugins.cpp b/editor/animation_track_editor_plugins.cpp
index 07dbc1fd81..226eef9c1e 100644
--- a/editor/animation_track_editor_plugins.cpp
+++ b/editor/animation_track_editor_plugins.cpp
@@ -1009,7 +1009,7 @@ void AnimationTrackEditTypeAudio::drop_data(const Point2 &p_point, const Variant
}
}
- return AnimationTrackEdit::drop_data(p_point, p_data);
+ AnimationTrackEdit::drop_data(p_point, p_data);
}
void AnimationTrackEditTypeAudio::_gui_input(const Ref<InputEvent> &p_event) {
diff --git a/editor/array_property_edit.cpp b/editor/array_property_edit.cpp
index 72beeaaf45..f2471e80d4 100644
--- a/editor/array_property_edit.cpp
+++ b/editor/array_property_edit.cpp
@@ -93,7 +93,7 @@ bool ArrayPropertyEdit::_set(const StringName &p_name, const Variant &p_value) {
if (newsize == size)
return true;
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Resize Array"));
ur->add_do_method(this, "_set_size", newsize);
ur->add_undo_method(this, "_set_size", size);
@@ -141,7 +141,7 @@ bool ArrayPropertyEdit::_set(const StringName &p_name, const Variant &p_value) {
if (value.get_type() != type && type >= 0 && type < Variant::VARIANT_MAX) {
Variant::CallError ce;
Variant new_value = Variant::construct(Variant::Type(type), NULL, 0, ce);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Array Value Type"));
ur->add_do_method(this, "_set_value", idx, new_value);
@@ -157,7 +157,7 @@ bool ArrayPropertyEdit::_set(const StringName &p_name, const Variant &p_value) {
Variant arr = get_array();
Variant value = arr.get(idx);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Array Value"));
ur->add_do_method(this, "_set_value", idx, p_value);
diff --git a/editor/audio_stream_preview.h b/editor/audio_stream_preview.h
index fca0aabac1..90b59cf8c1 100644
--- a/editor/audio_stream_preview.h
+++ b/editor/audio_stream_preview.h
@@ -78,7 +78,7 @@ protected:
public:
static AudioStreamPreviewGenerator *get_singleton() { return singleton; }
- Ref<AudioStreamPreview> generate_preview(const Ref<AudioStream> &p_preview);
+ Ref<AudioStreamPreview> generate_preview(const Ref<AudioStream> &p_stream);
AudioStreamPreviewGenerator();
};
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp
index 8b3c537fe3..ed50c7914e 100644
--- a/editor/code_editor.cpp
+++ b/editor/code_editor.cpp
@@ -166,6 +166,8 @@ bool FindReplaceBar::_search(uint32_t p_flags, int p_from_line, int p_from_col)
result_line = -1;
result_col = -1;
text_edit->set_search_text("");
+ text_edit->set_search_flags(p_flags);
+ text_edit->set_current_search_result(line, col);
set_error(text.empty() ? "" : TTR("No Matches"));
}
@@ -1217,6 +1219,11 @@ void CodeTextEditor::goto_line_selection(int p_line, int p_begin, int p_end) {
text_editor->select(p_line, p_begin, p_line, p_end);
}
+void CodeTextEditor::goto_line_centered(int p_line) {
+ goto_line(p_line);
+ text_editor->call_deferred("center_viewport_to_cursor");
+}
+
void CodeTextEditor::set_executing_line(int p_line) {
text_editor->set_executing_line(p_line);
}
diff --git a/editor/code_editor.h b/editor/code_editor.h
index ce219f340c..c0989f9704 100644
--- a/editor/code_editor.h
+++ b/editor/code_editor.h
@@ -219,6 +219,7 @@ public:
void goto_line(int p_line);
void goto_line_selection(int p_line, int p_begin, int p_end);
+ void goto_line_centered(int p_line);
void set_executing_line(int p_line);
void clear_executing_line();
diff --git a/editor/collada/collada.cpp b/editor/collada/collada.cpp
index a0d319c81b..57c00e1bef 100644
--- a/editor/collada/collada.cpp
+++ b/editor/collada/collada.cpp
@@ -48,7 +48,7 @@
String Collada::Effect::get_texture_path(const String &p_source, Collada &state) const {
- String image = p_source;
+ const String &image = p_source;
ERR_FAIL_COND_V(!state.state.image_map.has(image), "");
return state.state.image_map[image].path;
}
@@ -308,7 +308,7 @@ void Collada::_parse_image(XMLParser &parser) {
String path = parser.get_attribute_value("source").strip_edges();
if (path.find("://") == -1 && path.is_rel_path()) {
// path is relative to file being loaded, so convert to a resource path
- image.path = ProjectSettings::get_singleton()->localize_path(state.local_path.get_base_dir() + "/" + path.percent_decode());
+ image.path = ProjectSettings::get_singleton()->localize_path(state.local_path.get_base_dir().plus_file(path.percent_decode()));
}
} else {
@@ -325,7 +325,7 @@ void Collada::_parse_image(XMLParser &parser) {
if (path.find("://") == -1 && path.is_rel_path()) {
// path is relative to file being loaded, so convert to a resource path
- path = ProjectSettings::get_singleton()->localize_path(state.local_path.get_base_dir() + "/" + path);
+ path = ProjectSettings::get_singleton()->localize_path(state.local_path.get_base_dir().plus_file(path));
} else if (path.find("file:///") == 0) {
path = path.replace_first("file:///", "");
@@ -1101,6 +1101,7 @@ void Collada::_parse_mesh_geometry(XMLParser &parser, String p_id, String p_name
Vector<float> values = _read_float_array(parser);
if (polygons) {
+ ERR_CONTINUE(prim.vertex_size == 0);
prim.polygons.push_back(values.size() / prim.vertex_size);
int from = prim.indices.size();
prim.indices.resize(from + values.size());
@@ -2522,7 +2523,6 @@ Error Collada::load(const String &p_path, int p_flags) {
state.local_path = ProjectSettings::get_singleton()->localize_path(p_path);
state.import_flags = p_flags;
/* Skip headers */
- err = OK;
while ((err = parser.read()) == OK) {
if (parser.get_node_type() == XMLParser::NODE_ELEMENT) {
diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp
index 6d3603f31b..48bc409b73 100644
--- a/editor/connections_dialog.cpp
+++ b/editor/connections_dialog.cpp
@@ -459,6 +459,21 @@ ConnectDialog::~ConnectDialog() {
//////////////////////////////////////////
+// Originally copied and adapted from EditorProperty, try to keep style in sync.
+Control *ConnectionsDockTree::make_custom_tooltip(const String &p_text) const {
+
+ EditorHelpBit *help_bit = memnew(EditorHelpBit);
+ help_bit->add_style_override("panel", get_stylebox("panel", "TooltipPanel"));
+ help_bit->get_rich_text()->set_fixed_size_to_width(360 * EDSCALE);
+
+ String text = TTR("Signal:") + " [u][b]" + p_text.get_slice("::", 0) + "[/b][/u]";
+ text += p_text.get_slice("::", 1).strip_edges() + "\n";
+ text += p_text.get_slice("::", 2).strip_edges();
+ help_bit->set_text(text);
+ help_bit->call_deferred("set_text", text); //hack so it uses proper theme once inside scene
+ return help_bit;
+}
+
struct _ConnectionsDockMethodInfoSort {
_FORCE_INLINE_ bool operator()(const MethodInfo &a, const MethodInfo &b) const {
@@ -649,7 +664,7 @@ Open connection dialog with TreeItem data to CREATE a brand-new connection.
void ConnectionsDock::_open_connection_dialog(TreeItem &item) {
String signal = item.get_metadata(0).operator Dictionary()["name"];
- String signalname = signal;
+ const String &signalname = signal;
String midname = selectedNode->get_name();
for (int i = 0; i < midname.length(); i++) { //TODO: Regex filter may be cleaner.
CharType c = midname[i];
@@ -892,8 +907,8 @@ void ConnectionsDock::update_tree() {
MethodInfo &mi = E->get();
- String signaldesc;
- signaldesc = mi.name + "(";
+ StringName signal_name = mi.name;
+ String signaldesc = "(";
PoolStringArray argnames;
if (mi.arguments.size()) {
signaldesc += " ";
@@ -914,19 +929,56 @@ void ConnectionsDock::update_tree() {
}
signaldesc += " ";
}
-
signaldesc += ")";
TreeItem *item = tree->create_item(pitem);
- item->set_text(0, signaldesc);
+ item->set_text(0, String(signal_name) + signaldesc);
Dictionary sinfo;
- sinfo["name"] = mi.name;
+ sinfo["name"] = signal_name;
sinfo["args"] = argnames;
item->set_metadata(0, sinfo);
item->set_icon(0, get_icon("Signal", "EditorIcons"));
+ // Set tooltip with the signal's documentation
+ {
+ String descr;
+ bool found = false;
+
+ Map<StringName, Map<StringName, String> >::Element *G = descr_cache.find(base);
+ if (G) {
+ Map<StringName, String>::Element *F = G->get().find(signal_name);
+ if (F) {
+ found = true;
+ descr = F->get();
+ }
+ }
+
+ if (!found) {
+ DocData *dd = EditorHelp::get_doc_data();
+ Map<String, DocData::ClassDoc>::Element *F = dd->class_list.find(base);
+ while (F && descr == String()) {
+ for (int i = 0; i < F->get().signals.size(); i++) {
+ if (F->get().signals[i].name == signal_name.operator String()) {
+ descr = F->get().signals[i].description.strip_edges();
+ break;
+ }
+ }
+ if (!F->get().inherits.empty()) {
+ F = dd->class_list.find(F->get().inherits);
+ } else {
+ break;
+ }
+ }
+ descr_cache[base][signal_name] = descr;
+ }
+
+ // "::" separators used in make_custom_tooltip for formatting.
+ item->set_tooltip(0, String(signal_name) + "::" + signaldesc + "::" + descr);
+ }
+
+ // List existing connections
List<Object::Connection> connections;
- selectedNode->get_signal_connection_list(mi.name, &connections);
+ selectedNode->get_signal_connection_list(signal_name, &connections);
for (List<Object::Connection>::Element *F = connections.front(); F; F = F->next()) {
@@ -980,7 +1032,7 @@ ConnectionsDock::ConnectionsDock(EditorNode *p_editor) {
VBoxContainer *vbc = this;
- tree = memnew(Tree);
+ tree = memnew(ConnectionsDockTree);
tree->set_columns(1);
tree->set_select_mode(Tree::SELECT_ROW);
tree->set_hide_root(true);
diff --git a/editor/connections_dialog.h b/editor/connections_dialog.h
index 195c9e1e7d..3846fa4d9f 100644
--- a/editor/connections_dialog.h
+++ b/editor/connections_dialog.h
@@ -106,6 +106,13 @@ public:
//////////////////////////////////////////
+// Custom Tree needed to use a RichTextLabel as tooltip control
+// when display signal documentation.
+class ConnectionsDockTree : public Tree {
+
+ virtual Control *make_custom_tooltip(const String &p_text) const;
+};
+
class ConnectionsDock : public VBoxContainer {
GDCLASS(ConnectionsDock, VBoxContainer);
@@ -123,7 +130,7 @@ class ConnectionsDock : public VBoxContainer {
};
Node *selectedNode;
- Tree *tree;
+ ConnectionsDockTree *tree;
EditorNode *editor;
ConfirmationDialog *disconnect_all_dialog;
@@ -133,6 +140,8 @@ class ConnectionsDock : public VBoxContainer {
PopupMenu *slot_menu;
UndoRedo *undo_redo;
+ Map<StringName, Map<StringName, String> > descr_cache;
+
void _make_or_edit_connection();
void _connect(Connection cToMake);
void _disconnect(TreeItem &item);
diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp
index e84602b29f..547d627925 100644
--- a/editor/create_dialog.cpp
+++ b/editor/create_dialog.cpp
@@ -191,24 +191,36 @@ void CreateDialog::add_type(const String &p_type, HashMap<String, TreeItem *> &p
item->set_custom_color(0, get_color("disabled_font_color", "Editor"));
item->set_selectable(0, false);
} else if (!(*to_select && (*to_select)->get_text(0) == search_box->get_text())) {
- bool is_search_subsequence = search_box->get_text().is_subsequence_ofi(p_type);
- String to_select_type = *to_select ? (*to_select)->get_text(0) : "";
- to_select_type = to_select_type.split(" ")[0];
- bool current_item_is_preferred;
- if (cpp_type) {
- String cpp_to_select_type = to_select_type;
- if (ScriptServer::is_global_class(to_select_type))
- cpp_to_select_type = ScriptServer::get_global_class_native_base(to_select_type);
- current_item_is_preferred = ClassDB::is_parent_class(p_type, preferred_search_result_type) && !ClassDB::is_parent_class(cpp_to_select_type, preferred_search_result_type);
- } else {
- current_item_is_preferred = ed.script_class_is_parent(p_type, preferred_search_result_type) && !ed.script_class_is_parent(to_select_type, preferred_search_result_type) && search_box->get_text() != to_select_type;
- }
- if (search_box->get_text() == p_type || (*to_select && p_type.length() < (*to_select)->get_text(0).length())) {
- current_item_is_preferred = true;
+ bool current_type_prefered = _is_type_prefered(p_type);
+ bool selected_type_prefered = *to_select ? _is_type_prefered((*to_select)->get_text(0).split(" ")[0]) : false;
+
+ String search_term = search_box->get_text().to_lower();
+ bool is_subsequence_of_type = search_box->get_text().is_subsequence_ofi(p_type);
+ bool is_substring_of_type = p_type.to_lower().find(search_term) >= 0;
+ bool is_substring_of_selected = false;
+ bool is_subsequence_of_selected = false;
+ bool is_selected_equal = false;
+
+ if (*to_select) {
+ String name = (*to_select)->get_text(0).split(" ")[0].to_lower();
+ is_substring_of_selected = name.find(search_term) >= 0;
+ is_subsequence_of_selected = search_term.is_subsequence_of(name);
+ is_selected_equal = name == search_term;
}
- if (((!*to_select || current_item_is_preferred) && is_search_subsequence)) {
- *to_select = item;
+ if (is_subsequence_of_type && !is_selected_equal) {
+ if (is_substring_of_type) {
+ if (!is_substring_of_selected || (is_substring_of_selected && (current_type_prefered && !selected_type_prefered))) {
+ *to_select = item;
+ }
+ } else {
+ // substring results weigh more than subsequences, so let's make sure we don't override them
+ if (!is_substring_of_selected) {
+ if (!is_subsequence_of_selected || (is_subsequence_of_selected && (current_type_prefered && !selected_type_prefered))) {
+ *to_select = item;
+ }
+ }
+ }
}
}
@@ -232,6 +244,16 @@ void CreateDialog::add_type(const String &p_type, HashMap<String, TreeItem *> &p
p_types[p_type] = item;
}
+bool CreateDialog::_is_type_prefered(const String &type) {
+ bool cpp_type = ClassDB::class_exists(type);
+ EditorData &ed = EditorNode::get_editor_data();
+
+ if (cpp_type) {
+ return ClassDB::is_parent_class(type, preferred_search_result_type);
+ }
+ return ed.script_class_is_parent(type, preferred_search_result_type);
+}
+
bool CreateDialog::_is_class_disabled_by_feature_profile(const StringName &p_class) {
Ref<EditorFeatureProfile> profile = EditorFeatureProfileManager::get_singleton()->get_current_profile();
@@ -275,7 +297,6 @@ void CreateDialog::select_type(const String &p_type) {
}
void CreateDialog::_update_search() {
-
search_options->clear();
favorite->set_disabled(true);
@@ -308,8 +329,9 @@ void CreateDialog::_update_search() {
if (cpp_type && !ClassDB::can_instance(type))
continue; // can't create what can't be instanced
- bool skip = false;
if (cpp_type) {
+ bool skip = false;
+
for (Set<StringName>::Element *E = type_blacklist.front(); E && !skip; E = E->next()) {
if (ClassDB::is_parent_class(type, E->get()))
skip = true;
diff --git a/editor/create_dialog.h b/editor/create_dialog.h
index 0eddbc3ceb..f6c3b57589 100644
--- a/editor/create_dialog.h
+++ b/editor/create_dialog.h
@@ -90,6 +90,7 @@ class CreateDialog : public ConfirmationDialog {
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
bool _is_class_disabled_by_feature_profile(const StringName &p_class);
+ bool _is_type_prefered(const String &type);
protected:
void _notification(int p_what);
diff --git a/editor/dictionary_property_edit.cpp b/editor/dictionary_property_edit.cpp
index 9f4096ca02..62b50b16f2 100644
--- a/editor/dictionary_property_edit.cpp
+++ b/editor/dictionary_property_edit.cpp
@@ -42,7 +42,6 @@ void DictionaryPropertyEdit::_notif_changev(const String &p_v) {
void DictionaryPropertyEdit::_set_key(const Variant &p_old_key, const Variant &p_new_key) {
// TODO: Set key of a dictionary is not allowed yet
- return;
}
void DictionaryPropertyEdit::_set_value(const Variant &p_key, const Variant &p_value) {
@@ -129,7 +128,7 @@ bool DictionaryPropertyEdit::_set(const StringName &p_name, const Variant &p_val
if (type == "key" && index < keys.size()) {
const Variant &key = keys[index];
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Dictionary Key"));
ur->add_do_method(this, "_set_key", key, p_value);
@@ -144,7 +143,7 @@ bool DictionaryPropertyEdit::_set(const StringName &p_name, const Variant &p_val
if (dict.has(key)) {
Variant value = dict[key];
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Dictionary Value"));
ur->add_do_method(this, "_set_value", key, p_value);
diff --git a/editor/doc/doc_data.cpp b/editor/doc/doc_data.cpp
index 7d2159d365..6ee07d3661 100644
--- a/editor/doc/doc_data.cpp
+++ b/editor/doc/doc_data.cpp
@@ -248,6 +248,28 @@ void DocData::generate(bool p_basic_types) {
prop.setter = setter;
prop.getter = getter;
+ Variant default_value = Variant();
+ bool default_value_valid = false;
+
+ if (ClassDB::can_instance(name)) {
+ default_value = ClassDB::class_get_default_property_value(name, E->get().name, &default_value_valid);
+ } else {
+ // Cannot get default value of classes that can't be instanced
+ List<StringName> inheriting_classes;
+ ClassDB::get_direct_inheriters_from_class(name, &inheriting_classes);
+ for (List<StringName>::Element *E2 = inheriting_classes.front(); E2; E2 = E2->next()) {
+ if (ClassDB::can_instance(E2->get())) {
+ default_value = ClassDB::class_get_default_property_value(E2->get(), E->get().name, &default_value_valid);
+ if (default_value_valid)
+ break;
+ }
+ }
+ }
+
+ if (default_value_valid) {
+ prop.default_value = default_value.get_construct_string();
+ }
+
bool found_type = false;
if (getter != StringName()) {
MethodBind *mb = ClassDB::get_method(name, getter);
@@ -412,6 +434,7 @@ void DocData::generate(bool p_basic_types) {
PropertyDoc pd;
pd.name = E->get();
pd.type = "int";
+ pd.default_value = itos(Theme::get_default()->get_constant(E->get(), cname));
c.theme_properties.push_back(pd);
}
@@ -422,6 +445,7 @@ void DocData::generate(bool p_basic_types) {
PropertyDoc pd;
pd.name = E->get();
pd.type = "Color";
+ pd.default_value = Variant(Theme::get_default()->get_color(E->get(), cname)).get_construct_string();
c.theme_properties.push_back(pd);
}
@@ -530,6 +554,7 @@ void DocData::generate(bool p_basic_types) {
PropertyDoc property;
property.name = pi.name;
property.type = Variant::get_type_name(pi.type);
+ property.default_value = v.get(pi.name).get_construct_string();
c.properties.push_back(property);
}
@@ -1063,12 +1088,15 @@ Error DocData::save_classes(const String &p_default_path, const Map<String, Stri
for (int i = 0; i < c.properties.size(); i++) {
- String enum_text;
+ String additional_attributes;
if (c.properties[i].enumeration != String()) {
- enum_text = " enum=\"" + c.properties[i].enumeration + "\"";
+ additional_attributes += " enum=\"" + c.properties[i].enumeration + "\"";
+ }
+ if (c.properties[i].default_value != String()) {
+ additional_attributes += " default=\"" + c.properties[i].default_value.xml_escape(true) + "\"";
}
const PropertyDoc &p = c.properties[i];
- _write_string(f, 2, "<member name=\"" + p.name + "\" type=\"" + p.type + "\" setter=\"" + p.setter + "\" getter=\"" + p.getter + "\"" + enum_text + ">");
+ _write_string(f, 2, "<member name=\"" + p.name + "\" type=\"" + p.type + "\" setter=\"" + p.setter + "\" getter=\"" + p.getter + "\"" + additional_attributes + ">");
_write_string(f, 3, p.description.strip_edges().xml_escape());
_write_string(f, 2, "</member>");
}
@@ -1125,7 +1153,14 @@ Error DocData::save_classes(const String &p_default_path, const Map<String, Stri
for (int i = 0; i < c.theme_properties.size(); i++) {
const PropertyDoc &p = c.theme_properties[i];
- _write_string(f, 2, "<theme_item name=\"" + p.name + "\" type=\"" + p.type + "\">");
+
+ if (p.default_value != "")
+ _write_string(f, 2, "<theme_item name=\"" + p.name + "\" type=\"" + p.type + "\" default=\"" + p.default_value.xml_escape(true) + "\">");
+ else
+ _write_string(f, 2, "<theme_item name=\"" + p.name + "\" type=\"" + p.type + "\">");
+
+ _write_string(f, 3, p.description.strip_edges().xml_escape());
+
_write_string(f, 2, "</theme_item>");
}
_write_string(f, 1, "</theme_items>");
diff --git a/editor/doc/doc_data.h b/editor/doc/doc_data.h
index d3844adb7e..3d5867dcca 100644
--- a/editor/doc/doc_data.h
+++ b/editor/doc/doc_data.h
@@ -73,6 +73,7 @@ public:
String enumeration;
String description;
String setter, getter;
+ String default_value;
bool operator<(const PropertyDoc &p_prop) const {
return name < p_prop.name;
}
diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp
index 57fac241b0..b9fb532c4a 100644
--- a/editor/editor_audio_buses.cpp
+++ b/editor/editor_audio_buses.cpp
@@ -288,7 +288,7 @@ void EditorAudioBus::_name_changed(const String &p_new_name) {
}
updating_bus = true;
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
StringName current = AudioServer::get_singleton()->get_bus_name(get_index());
ur->create_action(TTR("Rename Audio Bus"));
@@ -323,7 +323,7 @@ void EditorAudioBus::_volume_changed(float p_normalized) {
float p_db = this->_normalized_volume_to_scaled_db(p_normalized);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Change Audio Bus Volume"), UndoRedo::MERGE_ENDS);
ur->add_do_method(AudioServer::get_singleton(), "set_bus_volume_db", get_index(), p_db);
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_volume_db", get_index(), AudioServer::get_singleton()->get_bus_volume_db(get_index()));
@@ -400,7 +400,7 @@ void EditorAudioBus::_solo_toggled() {
updating_bus = true;
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Toggle Audio Bus Solo"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_solo", get_index(), solo->is_pressed());
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_solo", get_index(), AudioServer::get_singleton()->is_bus_solo(get_index()));
@@ -414,7 +414,7 @@ void EditorAudioBus::_mute_toggled() {
updating_bus = true;
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Toggle Audio Bus Mute"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_mute", get_index(), mute->is_pressed());
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_mute", get_index(), AudioServer::get_singleton()->is_bus_mute(get_index()));
@@ -428,7 +428,7 @@ void EditorAudioBus::_bypass_toggled() {
updating_bus = true;
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Toggle Audio Bus Bypass Effects"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_bypass_effects", get_index(), bypass->is_pressed());
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_bypass_effects", get_index(), AudioServer::get_singleton()->is_bus_bypassing_effects(get_index()));
@@ -443,7 +443,7 @@ void EditorAudioBus::_send_selected(int p_which) {
updating_bus = true;
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Select Audio Bus Send"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_send", get_index(), send->get_item_text(p_which));
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_send", get_index(), AudioServer::get_singleton()->get_bus_send(get_index()));
@@ -492,7 +492,7 @@ void EditorAudioBus::_effect_edited() {
int index = effect->get_metadata(0);
updating_bus = true;
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Select Audio Bus Send"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_effect_enabled", get_index(), index, effect->is_checked(0));
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_effect_enabled", get_index(), index, AudioServer::get_singleton()->is_bus_effect_enabled(get_index(), index));
@@ -519,7 +519,7 @@ void EditorAudioBus::_effect_add(int p_which) {
afxr->set_name(effect_options->get_item_text(p_which));
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Add Audio Bus Effect"));
ur->add_do_method(AudioServer::get_singleton(), "add_bus_effect", get_index(), afxr, -1);
ur->add_undo_method(AudioServer::get_singleton(), "remove_bus_effect", get_index(), AudioServer::get_singleton()->get_bus_effect_count(get_index()));
@@ -671,7 +671,7 @@ void EditorAudioBus::drop_data_fw(const Point2 &p_point, const Variant &p_data,
bool enabled = AudioServer::get_singleton()->is_bus_effect_enabled(bus, effect);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Move Bus Effect"));
ur->add_do_method(AudioServer::get_singleton(), "remove_bus_effect", bus, effect);
ur->add_do_method(AudioServer::get_singleton(), "add_bus_effect", get_index(), AudioServer::get_singleton()->get_bus_effect(bus, effect), paste_at);
@@ -712,7 +712,7 @@ void EditorAudioBus::_delete_effect_pressed(int p_option) {
int index = item->get_metadata(0);
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Delete Bus Effect"));
ur->add_do_method(AudioServer::get_singleton(), "remove_bus_effect", get_index(), index);
ur->add_undo_method(AudioServer::get_singleton(), "add_bus_effect", get_index(), AudioServer::get_singleton()->get_bus_effect(get_index(), index), index);
@@ -980,11 +980,7 @@ void EditorAudioBusDrop::_notification(int p_what) {
bool EditorAudioBusDrop::can_drop_data(const Point2 &p_point, const Variant &p_data) const {
Dictionary d = p_data;
- if (d.has("type") && String(d["type"]) == "move_audio_bus") {
- return true;
- }
-
- return false;
+ return (d.has("type") && String(d["type"]) == "move_audio_bus");
}
void EditorAudioBusDrop::drop_data(const Point2 &p_point, const Variant &p_data) {
@@ -1013,7 +1009,7 @@ void EditorAudioBuses::_update_buses() {
for (int i = 0; i < AudioServer::get_singleton()->get_bus_count(); i++) {
- bool is_master = i == 0 ? true : false;
+ bool is_master = (i == 0);
EditorAudioBus *audio_bus = memnew(EditorAudioBus(this, is_master));
bus_hb->add_child(audio_bus);
audio_bus->connect("delete_request", this, "_delete_bus", varray(audio_bus), CONNECT_DEFERRED);
@@ -1075,7 +1071,7 @@ void EditorAudioBuses::_notification(int p_what) {
void EditorAudioBuses::_add_bus() {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Add Audio Bus"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_count", AudioServer::get_singleton()->get_bus_count() + 1);
@@ -1109,7 +1105,7 @@ void EditorAudioBuses::_delete_bus(Object *p_which) {
return;
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Delete Audio Bus"));
ur->add_do_method(AudioServer::get_singleton(), "remove_bus", index);
@@ -1133,7 +1129,7 @@ void EditorAudioBuses::_delete_bus(Object *p_which) {
void EditorAudioBuses::_duplicate_bus(int p_which) {
int add_at_pos = p_which + 1;
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Duplicate Audio Bus"));
ur->add_do_method(AudioServer::get_singleton(), "add_bus", add_at_pos);
ur->add_do_method(AudioServer::get_singleton(), "set_bus_name", add_at_pos, AudioServer::get_singleton()->get_bus_name(p_which) + " Copy");
@@ -1158,7 +1154,7 @@ void EditorAudioBuses::_reset_bus_volume(Object *p_which) {
EditorAudioBus *bus = Object::cast_to<EditorAudioBus>(p_which);
int index = bus->get_index();
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Reset Bus Volume"));
ur->add_do_method(AudioServer::get_singleton(), "set_bus_volume_db", index, 0.f);
ur->add_undo_method(AudioServer::get_singleton(), "set_bus_volume_db", index, AudioServer::get_singleton()->get_bus_volume_db(index));
@@ -1180,7 +1176,7 @@ void EditorAudioBuses::_request_drop_end() {
void EditorAudioBuses::_drop_at_index(int p_bus, int p_index) {
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("Move Audio Bus"));
ur->add_do_method(AudioServer::get_singleton(), "move_bus", p_bus, p_index);
diff --git a/editor/editor_audio_buses.h b/editor/editor_audio_buses.h
index 8781e6ff6c..113adb57c1 100644
--- a/editor/editor_audio_buses.h
+++ b/editor/editor_audio_buses.h
@@ -233,6 +233,13 @@ private:
render_db_value = n.render_db_value;
}
+ _FORCE_INLINE_ AudioNotch operator=(const EditorAudioMeterNotches::AudioNotch &n) {
+ relative_position = n.relative_position;
+ db_value = n.db_value;
+ render_db_value = n.render_db_value;
+ return *this;
+ }
+
_FORCE_INLINE_ AudioNotch() {}
};
diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp
index 913eb35f8a..7210211d90 100644
--- a/editor/editor_autoload_settings.cpp
+++ b/editor/editor_autoload_settings.cpp
@@ -545,10 +545,7 @@ bool EditorAutoloadSettings::can_drop_data_fw(const Point2 &p_point, const Varia
int section = tree->get_drop_section_at_position(p_point);
- if (section < -1)
- return false;
-
- return true;
+ return section >= -1;
}
return false;
@@ -650,7 +647,7 @@ bool EditorAutoloadSettings::autoload_add(const String &p_name, const String &p_
return false;
}
- String path = p_path;
+ const String &path = p_path;
if (!FileAccess::exists(path)) {
EditorNode::get_singleton()->show_warning(TTR("Invalid path.") + "\n" + TTR("File does not exist."));
return false;
@@ -663,7 +660,7 @@ bool EditorAutoloadSettings::autoload_add(const String &p_name, const String &p_
name = "autoload/" + name;
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Add AutoLoad"));
// Singleton autoloads are represented with a leading "*" in their path.
@@ -690,7 +687,7 @@ void EditorAutoloadSettings::autoload_remove(const String &p_name) {
String name = "autoload/" + p_name;
- UndoRedo *undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *undo_redo = EditorNode::get_undo_redo();
int order = ProjectSettings::get_singleton()->get_order(name);
@@ -789,7 +786,7 @@ EditorAutoloadSettings::EditorAutoloadSettings() {
}
}
- if (!info.is_singleton && !info.in_editor) {
+ if (!info.is_singleton && !info.in_editor && info.node != NULL) {
memdelete(info.node);
info.node = NULL;
}
diff --git a/editor/editor_dir_dialog.cpp b/editor/editor_dir_dialog.cpp
index e04bca2a9e..7733ecb9da 100644
--- a/editor/editor_dir_dialog.cpp
+++ b/editor/editor_dir_dialog.cpp
@@ -186,7 +186,7 @@ EditorDirDialog::EditorDirDialog() {
tree->connect("item_activated", this, "_ok");
- makedir = add_button(TTR("Create Folder"), OS::get_singleton()->get_swap_ok_cancel() ? true : false, "makedir");
+ makedir = add_button(TTR("Create Folder"), OS::get_singleton()->get_swap_ok_cancel(), "makedir");
makedir->connect("pressed", this, "_make_dir");
makedialog = memnew(ConfirmationDialog);
diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp
index b5325a07a5..9c10c05b59 100644
--- a/editor/editor_export.cpp
+++ b/editor/editor_export.cpp
@@ -34,6 +34,7 @@
#include "core/io/resource_loader.h"
#include "core/io/resource_saver.h"
#include "core/io/zip_io.h"
+#include "core/math/crypto_core.h"
#include "core/os/file_access.h"
#include "core/project_settings.h"
#include "core/script_language.h"
@@ -43,7 +44,6 @@
#include "editor_node.h"
#include "editor_settings.h"
#include "scene/resources/resource_format_text.h"
-#include "thirdparty/misc/md5.h"
static int _get_pad(int p_alignment, int p_n) {
@@ -323,13 +323,11 @@ Error EditorExportPlatform::_save_pack_file(void *p_userdata, const String &p_pa
}
{
- MD5_CTX ctx;
- MD5Init(&ctx);
- MD5Update(&ctx, (unsigned char *)p_data.ptr(), p_data.size());
- MD5Final(&ctx);
+ unsigned char hash[16];
+ CryptoCore::md5(p_data.ptr(), p_data.size(), hash);
sd.md5.resize(16);
for (int i = 0; i < 16; i++) {
- sd.md5.write[i] = ctx.digest[i];
+ sd.md5.write[i] = hash[i];
}
}
@@ -977,7 +975,8 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, c
ftmp = FileAccess::open(tmppath, FileAccess::READ);
if (!ftmp) {
memdelete(f);
- ERR_FAIL_COND_V(!ftmp, ERR_CANT_CREATE);
+ ERR_EXPLAIN("Can't open file to read from path: " + String(tmppath));
+ ERR_FAIL_V(ERR_CANT_CREATE);
}
const int bufsize = 16384;
@@ -1455,10 +1454,7 @@ bool EditorExportPlatformPC::can_export(const Ref<EditorExportPreset> &p_preset,
err += TTR("Custom release template not found.") + "\n";
}
- if (dvalid || rvalid)
- valid = true;
- else
- valid = false;
+ valid = dvalid || rvalid;
if (!err.empty())
r_error = err;
diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp
index 8025fc9795..24c5a788b6 100644
--- a/editor/editor_file_dialog.cpp
+++ b/editor/editor_file_dialog.cpp
@@ -672,6 +672,18 @@ bool EditorFileDialog::_is_open_should_be_disabled() {
return false;
}
+void EditorFileDialog::update_file_name() {
+ int idx = filter->get_selected() - 1;
+ if ((idx == -1 && filter->get_item_count() == 2) || (filter->get_item_count() > 2 && idx >= 0 && idx < filter->get_item_count() - 2)) {
+ if (idx == -1) idx += 1;
+ String filter_str = filters[idx];
+ String file_str = file->get_text();
+ String base_name = file_str.get_basename();
+ file_str = base_name + "." + filter_str.split(";")[1].strip_edges().to_lower();
+ file->set_text(file_str);
+ }
+}
+
// DO NOT USE THIS FUNCTION UNLESS NEEDED, CALL INVALIDATE() INSTEAD.
void EditorFileDialog::update_file_list() {
@@ -865,7 +877,7 @@ void EditorFileDialog::update_file_list() {
}
void EditorFileDialog::_filter_selected(int) {
-
+ update_file_name();
update_file_list();
}
@@ -1364,6 +1376,7 @@ void EditorFileDialog::_bind_methods() {
ClassDB::bind_method(D_METHOD("_select_drive"), &EditorFileDialog::_select_drive);
ClassDB::bind_method(D_METHOD("_make_dir"), &EditorFileDialog::_make_dir);
ClassDB::bind_method(D_METHOD("_make_dir_confirm"), &EditorFileDialog::_make_dir_confirm);
+ ClassDB::bind_method(D_METHOD("_update_file_name"), &EditorFileDialog::update_file_name);
ClassDB::bind_method(D_METHOD("_update_file_list"), &EditorFileDialog::update_file_list);
ClassDB::bind_method(D_METHOD("_update_dir"), &EditorFileDialog::update_dir);
ClassDB::bind_method(D_METHOD("_thumbnail_done"), &EditorFileDialog::_thumbnail_done);
diff --git a/editor/editor_file_dialog.h b/editor/editor_file_dialog.h
index 6578be8563..86bf0f0eb3 100644
--- a/editor/editor_file_dialog.h
+++ b/editor/editor_file_dialog.h
@@ -148,6 +148,7 @@ private:
bool invalidated;
void update_dir();
+ void update_file_name();
void update_file_list();
void update_filters();
diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp
index 4ddb28b440..87a37acac6 100644
--- a/editor/editor_file_system.cpp
+++ b/editor/editor_file_system.cpp
@@ -96,7 +96,7 @@ String EditorFileSystemDirectory::get_path() const {
String p;
const EditorFileSystemDirectory *d = this;
while (d->parent) {
- p = d->name + "/" + p;
+ p = d->name.plus_file(p);
d = d->parent;
}
@@ -108,7 +108,7 @@ String EditorFileSystemDirectory::get_file_path(int p_idx) const {
String file = get_file(p_idx);
const EditorFileSystemDirectory *d = this;
while (d->parent) {
- file = d->name + "/" + file;
+ file = d->name.plus_file(file);
d = d->parent;
}
@@ -1290,13 +1290,7 @@ bool EditorFileSystem::_find_file(const String &p_file, EditorFileSystemDirector
r_file_pos = cpos;
*r_d = fs;
- if (cpos != -1) {
-
- return true;
- } else {
-
- return false;
- }
+ return cpos != -1;
}
String EditorFileSystem::get_file_type(const String &p_file) const {
@@ -1604,7 +1598,7 @@ Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector
//all went well, overwrite config files with proper remaps and md5s
for (Map<String, Map<StringName, Variant> >::Element *E = source_file_options.front(); E; E = E->next()) {
- String file = E->key();
+ const String &file = E->key();
String base_path = ResourceFormatImporter::get_singleton()->get_import_base_path(file);
FileAccessRef f = FileAccess::open(file + ".import", FileAccess::WRITE);
ERR_FAIL_COND_V(!f, ERR_FILE_CANT_OPEN);
@@ -1939,7 +1933,7 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) {
if (err) {
memdelete(da);
ERR_EXPLAIN("Failed to create 'res://.import' folder.");
- ERR_FAIL_COND(err != OK);
+ ERR_FAIL();
}
}
memdelete(da);
diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp
index 26d793cf65..d1f765a312 100644
--- a/editor/editor_help.cpp
+++ b/editor/editor_help.cpp
@@ -48,9 +48,9 @@ void EditorHelp::_init_colors() {
text_color = get_color("default_color", "RichTextLabel");
headline_color = get_color("headline_color", "EditorHelp");
base_type_color = title_color.linear_interpolate(text_color, 0.5);
- comment_color = text_color * Color(1, 1, 1, 0.6);
+ comment_color = text_color * Color(1, 1, 1, 0.4);
symbol_color = comment_color;
- value_color = text_color * Color(1, 1, 1, 0.4);
+ value_color = text_color * Color(1, 1, 1, 0.6);
qualifier_color = text_color * Color(1, 1, 1, 0.8);
type_color = get_color("accent_color", "Editor").linear_interpolate(text_color, 0.5);
class_desc->add_color_override("selection_color", get_color("accent_color", "Editor") * Color(1, 1, 1, 0.4));
@@ -258,9 +258,11 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
if (p_method.arguments[j].default_value != "") {
class_desc->push_color(symbol_color);
- class_desc->add_text("=");
+ class_desc->add_text(" = ");
class_desc->pop();
+ class_desc->push_color(value_color);
_add_text(_fix_constant(p_method.arguments[j].default_value));
+ class_desc->pop();
}
class_desc->pop();
@@ -389,7 +391,6 @@ void EditorHelp::_update_doc() {
if (prev) {
class_desc->add_text(" , ");
- prev = false;
}
_add_type(E->get().name);
@@ -416,6 +417,7 @@ void EditorHelp::_update_doc() {
class_desc->pop();
class_desc->add_newline();
+ class_desc->add_newline();
class_desc->push_color(text_color);
class_desc->push_font(doc_font);
class_desc->push_indent(1);
@@ -441,6 +443,7 @@ void EditorHelp::_update_doc() {
class_desc->pop();
class_desc->pop();
+ class_desc->add_newline();
class_desc->push_indent(1);
class_desc->push_table(2);
class_desc->set_table_column_expand(1, 1);
@@ -470,13 +473,15 @@ void EditorHelp::_update_doc() {
if (cd.properties[i].description != "") {
describe = true;
}
+
class_desc->push_cell();
+ class_desc->push_font(doc_code_font);
+ class_desc->push_color(headline_color);
+
if (describe) {
class_desc->push_meta("@member " + cd.properties[i].name);
}
- class_desc->push_font(doc_code_font);
- class_desc->push_color(headline_color);
_add_text(cd.properties[i].name);
if (describe) {
@@ -484,8 +489,21 @@ void EditorHelp::_update_doc() {
property_descr = true;
}
+ if (cd.properties[i].default_value != "") {
+ class_desc->push_color(symbol_color);
+ class_desc->add_text(" [default: ");
+ class_desc->pop();
+ class_desc->push_color(value_color);
+ _add_text(_fix_constant(cd.properties[i].default_value));
+ class_desc->pop();
+ class_desc->push_color(symbol_color);
+ class_desc->add_text("]");
+ class_desc->pop();
+ }
+
class_desc->pop();
class_desc->pop();
+
class_desc->pop();
}
@@ -519,6 +537,7 @@ void EditorHelp::_update_doc() {
class_desc->pop();
class_desc->pop();
+ class_desc->add_newline();
class_desc->push_font(doc_code_font);
class_desc->push_indent(1);
class_desc->push_table(2);
@@ -540,7 +559,6 @@ void EditorHelp::_update_doc() {
class_desc->pop(); //cell
class_desc->push_cell();
class_desc->pop(); //cell
- any_previous = false;
}
String group_prefix;
@@ -611,6 +629,19 @@ void EditorHelp::_update_doc() {
class_desc->push_color(headline_color);
_add_text(cd.theme_properties[i].name);
class_desc->pop();
+
+ if (cd.theme_properties[i].default_value != "") {
+ class_desc->push_color(symbol_color);
+ class_desc->add_text(" [default: ");
+ class_desc->pop();
+ class_desc->push_color(value_color);
+ _add_text(_fix_constant(cd.theme_properties[i].default_value));
+ class_desc->pop();
+ class_desc->push_color(symbol_color);
+ class_desc->add_text("]");
+ class_desc->pop();
+ }
+
class_desc->pop();
if (cd.theme_properties[i].description != "") {
@@ -669,7 +700,7 @@ void EditorHelp::_update_doc() {
if (cd.signals[i].arguments[j].default_value != "") {
class_desc->push_color(symbol_color);
- class_desc->add_text("=");
+ class_desc->add_text(" = ");
class_desc->pop();
_add_text(cd.signals[i].arguments[j].default_value);
}
@@ -775,7 +806,7 @@ void EditorHelp::_update_doc() {
class_desc->add_text(" = ");
class_desc->pop();
class_desc->push_color(value_color);
- _add_text(enum_list[i].value);
+ _add_text(_fix_constant(enum_list[i].value));
class_desc->pop();
class_desc->pop();
if (enum_list[i].description != "") {
@@ -841,7 +872,7 @@ void EditorHelp::_update_doc() {
class_desc->add_text(" = ");
class_desc->pop();
class_desc->push_color(value_color);
- _add_text(constants[i].value);
+ _add_text(_fix_constant(constants[i].value));
class_desc->pop();
class_desc->pop();
@@ -876,6 +907,7 @@ void EditorHelp::_update_doc() {
class_desc->pop();
class_desc->add_newline();
+ class_desc->add_newline();
class_desc->push_color(text_color);
class_desc->push_font(doc_font);
class_desc->push_indent(1);
@@ -960,6 +992,21 @@ void EditorHelp::_update_doc() {
class_desc->push_color(headline_color);
_add_text(cd.properties[i].name);
class_desc->pop(); // color
+
+ if (cd.properties[i].default_value != "") {
+ class_desc->push_color(symbol_color);
+ class_desc->add_text(" [default: ");
+ class_desc->pop(); // color
+
+ class_desc->push_color(value_color);
+ _add_text(_fix_constant(cd.properties[i].default_value));
+ class_desc->pop(); // color
+
+ class_desc->push_color(symbol_color);
+ class_desc->add_text("]");
+ class_desc->pop(); // color
+ }
+
class_desc->pop(); // font
class_desc->pop(); // cell
@@ -1000,6 +1047,7 @@ void EditorHelp::_update_doc() {
class_desc->pop(); // table
class_desc->add_newline();
+ class_desc->add_newline();
class_desc->push_color(text_color);
class_desc->push_font(doc_font);
@@ -1042,6 +1090,8 @@ void EditorHelp::_update_doc() {
class_desc->pop();
class_desc->add_newline();
+ class_desc->add_newline();
+
class_desc->push_color(text_color);
class_desc->push_font(doc_font);
class_desc->push_indent(1);
@@ -1284,7 +1334,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) {
end = bbcode.length();
String image = bbcode.substr(brk_end + 1, end - brk_end - 1);
- Ref<Texture> texture = ResourceLoader::load(base_path + "/" + image, "Texture");
+ Ref<Texture> texture = ResourceLoader::load(base_path.plus_file(image), "Texture");
if (texture.is_valid())
p_rt->add_image(texture);
@@ -1340,7 +1390,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) {
String fnt = tag.substr(5, tag.length());
- Ref<Font> font = ResourceLoader::load(base_path + "/" + fnt, "Font");
+ Ref<Font> font = ResourceLoader::load(base_path.plus_file(fnt), "Font");
if (font.is_valid())
p_rt->push_font(font);
else {
diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp
index 55ab38ba6c..4ec24c76f2 100644
--- a/editor/editor_help_search.cpp
+++ b/editor/editor_help_search.cpp
@@ -260,7 +260,11 @@ bool EditorHelpSearch::Runner::_is_class_disabled_by_feature_profile(const Strin
StringName class_name = p_class;
while (class_name != StringName()) {
- if (!ClassDB::class_exists(class_name) || profile->is_class_disabled(class_name)) {
+ if (!ClassDB::class_exists(class_name)) {
+ return false;
+ }
+
+ if (profile->is_class_disabled(class_name)) {
return true;
}
class_name = ClassDB::get_parent_class(class_name);
diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h
index 0550509ba2..117a63699e 100644
--- a/editor/editor_inspector.h
+++ b/editor/editor_inspector.h
@@ -139,7 +139,7 @@ public:
bool is_selected() const;
void set_label_reference(Control *p_control);
- void set_bottom_editor(Control *p_editor);
+ void set_bottom_editor(Control *p_control);
void set_use_folding(bool p_use_folding);
bool is_using_folding() const;
@@ -317,7 +317,7 @@ class EditorInspector : public ScrollContainer {
void _node_removed(Node *p_node);
void _changed_callback(Object *p_changed, const char *p_prop);
- void _edit_request_change(Object *p_changed, const String &p_prop);
+ void _edit_request_change(Object *p_object, const String &p_prop);
void _filter_changed(const String &p_text);
void _parse_added_editors(VBoxContainer *current_vbox, Ref<EditorInspectorPlugin> ped);
diff --git a/editor/editor_layouts_dialog.cpp b/editor/editor_layouts_dialog.cpp
new file mode 100644
index 0000000000..36f7b30016
--- /dev/null
+++ b/editor/editor_layouts_dialog.cpp
@@ -0,0 +1,138 @@
+/*************************************************************************/
+/* editor_layouts_dialog.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 "editor_layouts_dialog.h"
+#include "core/class_db.h"
+#include "core/io/config_file.h"
+#include "core/os/keyboard.h"
+#include "editor/editor_settings.h"
+#include "scene/gui/item_list.h"
+#include "scene/gui/line_edit.h"
+
+void EditorLayoutsDialog::_line_gui_input(const Ref<InputEvent> &p_event) {
+ Ref<InputEventKey> k = p_event;
+
+ if (k.is_valid()) {
+
+ if (!k->is_pressed())
+ return;
+
+ switch (k->get_scancode()) {
+ case KEY_KP_ENTER:
+ case KEY_ENTER: {
+
+ if (get_hide_on_ok())
+ hide();
+ ok_pressed();
+ accept_event();
+ } break;
+ case KEY_ESCAPE: {
+
+ hide();
+ accept_event();
+ } break;
+ }
+ }
+}
+
+void EditorLayoutsDialog::_bind_methods() {
+ ClassDB::bind_method("_line_gui_input", &EditorLayoutsDialog::_line_gui_input);
+
+ ADD_SIGNAL(MethodInfo("name_confirmed", PropertyInfo(Variant::STRING, "name")));
+}
+
+void EditorLayoutsDialog::ok_pressed() {
+
+ if (layout_names->is_anything_selected()) {
+
+ Vector<int> const selected_items = layout_names->get_selected_items();
+ for (int i = 0; i < selected_items.size(); ++i) {
+
+ emit_signal("name_confirmed", layout_names->get_item_text(selected_items[i]));
+ }
+ } else if (name->is_visible() && name->get_text() != "") {
+
+ emit_signal("name_confirmed", name->get_text());
+ }
+}
+
+void EditorLayoutsDialog::_post_popup() {
+
+ ConfirmationDialog::_post_popup();
+ name->clear();
+ layout_names->clear();
+
+ Ref<ConfigFile> config;
+ config.instance();
+ Error err = config->load(EditorSettings::get_singleton()->get_editor_layouts_config());
+ if (err != OK) {
+
+ return;
+ }
+
+ List<String> layouts;
+ config.ptr()->get_sections(&layouts);
+
+ for (List<String>::Element *E = layouts.front(); E; E = E->next()) {
+
+ layout_names->add_item(**E);
+ }
+}
+
+EditorLayoutsDialog::EditorLayoutsDialog() {
+
+ makevb = memnew(VBoxContainer);
+ add_child(makevb);
+ makevb->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 5);
+ makevb->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -5);
+
+ layout_names = memnew(ItemList);
+ makevb->add_child(layout_names);
+ layout_names->set_visible(true);
+ layout_names->set_margin(MARGIN_TOP, 5);
+ layout_names->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 5);
+ layout_names->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -5);
+ layout_names->set_v_size_flags(Control::SIZE_EXPAND_FILL);
+ layout_names->set_select_mode(ItemList::SELECT_MULTI);
+ layout_names->set_allow_rmb_select(true);
+
+ name = memnew(LineEdit);
+ makevb->add_child(name);
+ name->set_margin(MARGIN_TOP, 5);
+ name->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 5);
+ name->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -5);
+ name->connect("gui_input", this, "_line_gui_input");
+ name->connect("focus_entered", layout_names, "unselect_all");
+}
+
+void EditorLayoutsDialog::set_name_line_enabled(bool p_enabled) {
+
+ name->set_visible(p_enabled);
+}
diff --git a/editor/editor_name_dialog.h b/editor/editor_layouts_dialog.h
index 314fc27124..5e3a1d5a46 100644
--- a/editor/editor_name_dialog.h
+++ b/editor/editor_layouts_dialog.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* editor_name_dialog.h */
+/* editor_layouts_dialog.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,18 +28,21 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef EDITOR_NAME_DIALOG_H
-#define EDITOR_NAME_DIALOG_H
+#ifndef EDITOR_LAYOUTS_DIALOG_H
+#define EDITOR_LAYOUTS_DIALOG_H
#include "scene/gui/dialogs.h"
-#include "scene/gui/line_edit.h"
-class EditorNameDialog : public ConfirmationDialog {
+class LineEdit;
+class ItemList;
- GDCLASS(EditorNameDialog, ConfirmationDialog);
+class EditorLayoutsDialog : public ConfirmationDialog {
+
+ GDCLASS(EditorLayoutsDialog, ConfirmationDialog);
- VBoxContainer *makevb;
LineEdit *name;
+ ItemList *layout_names;
+ VBoxContainer *makevb;
void _line_gui_input(const Ref<InputEvent> &p_event);
@@ -49,9 +52,9 @@ protected:
virtual void _post_popup();
public:
- LineEdit *get_line_edit() { return name; }
+ EditorLayoutsDialog();
- EditorNameDialog();
+ void set_name_line_enabled(bool p_enabled);
};
-#endif // EDITOR_NAME_DIALOG_H
+#endif // EDITOR_LAYOUTS_DIALOG_H
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index 21ed478159..d9600172d7 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -222,7 +222,7 @@ void EditorNode::_unhandled_input(const Ref<InputEvent> &p_event) {
_editor_select(EDITOR_SCRIPT);
} else if (ED_IS_SHORTCUT("editor/editor_help", p_event)) {
emit_signal("request_help_search", "");
- } else if (ED_IS_SHORTCUT("editor/editor_assetlib", p_event)) {
+ } else if (ED_IS_SHORTCUT("editor/editor_assetlib", p_event) && StreamPeerSSL::is_available()) {
_editor_select(EDITOR_ASSETLIB);
} else if (ED_IS_SHORTCUT("editor/editor_next", p_event)) {
_editor_select_next();
@@ -260,24 +260,25 @@ void EditorNode::_notification(int p_what) {
last_checked_version = editor_data.get_undo_redo().get_version();
}
- //update the circle
+ // update the animation frame of the update spinner
uint64_t frame = Engine::get_singleton()->get_frames_drawn();
uint32_t tick = OS::get_singleton()->get_ticks_msec();
- if (frame != circle_step_frame && (tick - circle_step_msec) > (1000 / 8)) {
+ if (frame != update_spinner_step_frame && (tick - update_spinner_step_msec) > (1000 / 8)) {
- circle_step++;
- if (circle_step >= 8)
- circle_step = 0;
+ update_spinner_step++;
+ if (update_spinner_step >= 8)
+ update_spinner_step = 0;
- circle_step_msec = tick;
- circle_step_frame = frame + 1;
+ update_spinner_step_msec = tick;
+ update_spinner_step_frame = frame + 1;
- // update the circle itself only when its enabled
- if (!update_menu->get_popup()->is_item_checked(3)) {
- update_menu->set_icon(gui_base->get_icon("Progress" + itos(circle_step + 1), "EditorIcons"));
+ // update the icon itself only when the spinner is visible
+ if (EditorSettings::get_singleton()->get("interface/editor/show_update_spinner")) {
+ update_spinner->set_icon(gui_base->get_icon("Progress" + itos(update_spinner_step + 1), "EditorIcons"));
}
}
+
editor_selection->update();
scene_root->set_size_override(true, Size2(ProjectSettings::get_singleton()->get("display/window/size/width"), ProjectSettings::get_singleton()->get("display/window/size/height")));
@@ -400,10 +401,8 @@ void EditorNode::_notification(int p_what) {
scene_tab_add->set_icon(gui_base->get_icon("Add", "EditorIcons"));
// clear_button->set_icon(gui_base->get_icon("Close", "EditorIcons")); don't have access to that node. needs to become a class property
- update_menu->set_icon(gui_base->get_icon("Collapse", "EditorIcons"));
dock_tab_move_left->set_icon(theme->get_icon("Back", "EditorIcons"));
dock_tab_move_right->set_icon(theme->get_icon("Forward", "EditorIcons"));
- update_menu->set_icon(gui_base->get_icon("Progress1", "EditorIcons"));
PopupMenu *p = help_menu->get_popup();
p->set_item_icon(p->get_item_index(HELP_SEARCH), gui_base->get_icon("HelpSearch", "EditorIcons"));
@@ -412,6 +411,8 @@ void EditorNode::_notification(int p_what) {
p->set_item_icon(p->get_item_index(HELP_ISSUES), gui_base->get_icon("Instance", "EditorIcons"));
p->set_item_icon(p->get_item_index(HELP_COMMUNITY), gui_base->get_icon("Instance", "EditorIcons"));
p->set_item_icon(p->get_item_index(HELP_ABOUT), gui_base->get_icon("Godot", "EditorIcons"));
+
+ _update_update_spinner();
}
if (p_what == Control::NOTIFICATION_RESIZED) {
@@ -419,6 +420,17 @@ void EditorNode::_notification(int p_what) {
}
}
+void EditorNode::_update_update_spinner() {
+ update_spinner->set_visible(EditorSettings::get_singleton()->get("interface/editor/show_update_spinner"));
+
+ bool update_continuously = EditorSettings::get_singleton()->get("interface/editor/update_continuously");
+ PopupMenu *update_popup = update_spinner->get_popup();
+ update_popup->set_item_checked(update_popup->get_item_index(SETTINGS_UPDATE_CONTINUOUSLY), update_continuously);
+ update_popup->set_item_checked(update_popup->get_item_index(SETTINGS_UPDATE_WHEN_CHANGED), !update_continuously);
+
+ OS::get_singleton()->set_low_processor_usage_mode(!update_continuously);
+}
+
void EditorNode::_on_plugin_ready(Object *p_script, const String &p_activate_name) {
Ref<Script> script = Object::cast_to<Script>(p_script);
if (script.is_null())
@@ -2426,28 +2438,21 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
EditorSettings::get_singleton()->set_project_metadata("debug_options", "run_reload_scripts", !ischecked);
} break;
- case SETTINGS_UPDATE_ALWAYS: {
-
- update_menu->get_popup()->set_item_checked(0, true);
- update_menu->get_popup()->set_item_checked(1, false);
- OS::get_singleton()->set_low_processor_usage_mode(false);
- EditorSettings::get_singleton()->set_project_metadata("editor_options", "update_always", true);
+ case SETTINGS_UPDATE_CONTINUOUSLY: {
+ EditorSettings::get_singleton()->set("interface/editor/update_continuously", true);
+ _update_update_spinner();
show_accept(TTR("This option is deprecated. Situations where refresh must be forced are now considered a bug. Please report."), TTR("OK"));
} break;
- case SETTINGS_UPDATE_CHANGES: {
+ case SETTINGS_UPDATE_WHEN_CHANGED: {
- update_menu->get_popup()->set_item_checked(0, false);
- update_menu->get_popup()->set_item_checked(1, true);
- OS::get_singleton()->set_low_processor_usage_mode(true);
- EditorSettings::get_singleton()->set_project_metadata("editor_options", "update_always", false);
+ EditorSettings::get_singleton()->set("interface/editor/update_continuously", false);
+ _update_update_spinner();
} break;
case SETTINGS_UPDATE_SPINNER_HIDE: {
- update_menu->set_icon(gui_base->get_icon("Collapse", "EditorIcons"));
- update_menu->get_popup()->toggle_item_checked(3);
- bool checked = update_menu->get_popup()->is_item_checked(3);
- EditorSettings::get_singleton()->set_project_metadata("editor_options", "update_spinner_hide", checked);
+ EditorSettings::get_singleton()->set("interface/editor/show_update_spinner", false);
+ _update_update_spinner();
} break;
case SETTINGS_PREFERENCES: {
@@ -2480,7 +2485,16 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
bool was_visible = OS::get_singleton()->is_console_visible();
OS::get_singleton()->set_console_visible(!was_visible);
EditorSettings::get_singleton()->set_setting("interface/editor/hide_console_window", !was_visible);
+ } break;
+ case EDITOR_SCREENSHOT: {
+
+ screenshot_timer->start();
+ } break;
+ case EDITOR_OPEN_SCREENSHOT: {
+ bool is_checked = settings_menu->get_popup()->is_item_checked(settings_menu->get_popup()->get_item_index(EDITOR_OPEN_SCREENSHOT));
+ settings_menu->get_popup()->set_item_checked(settings_menu->get_popup()->get_item_index(EDITOR_OPEN_SCREENSHOT), !is_checked);
+ EditorSettings::get_singleton()->set_project_metadata("screenshot_options", "open_screenshot", !is_checked);
} break;
case SETTINGS_PICK_MAIN_SCENE: {
@@ -2535,6 +2549,30 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
}
}
+void EditorNode::_request_screenshot() {
+ _screenshot();
+}
+
+void EditorNode::_screenshot(bool p_use_utc) {
+ String name = "editor_screenshot_" + OS::get_singleton()->get_iso_date_time(p_use_utc).replace(":", "") + ".png";
+ NodePath path = String("user://") + name;
+ _save_screenshot(path);
+ if (EditorSettings::get_singleton()->get_project_metadata("screenshot_options", "open_screenshot", true)) {
+ OS::get_singleton()->shell_open(String("file://") + ProjectSettings::get_singleton()->globalize_path(path));
+ }
+}
+
+void EditorNode::_save_screenshot(NodePath p_path) {
+
+ Viewport *viewport = EditorInterface::get_singleton()->get_editor_viewport()->get_viewport();
+ viewport->set_clear_mode(Viewport::CLEAR_MODE_ONLY_NEXT_FRAME);
+ Ref<Image> img = viewport->get_texture()->get_data();
+ img->flip_y();
+ viewport->set_clear_mode(Viewport::CLEAR_MODE_ALWAYS);
+ Error error = img->save_png(p_path);
+ ERR_FAIL_COND(error != OK);
+}
+
void EditorNode::_tool_menu_option(int p_idx) {
switch (tool_menu->get_item_id(p_idx)) {
case TOOLS_ORPHAN_RESOURCES: {
@@ -2813,7 +2851,7 @@ 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";
+ String addon_path = String("res://addons").plus_file(p_addon).plus_file("plugin.cfg");
if (!DirAccess::exists(addon_path.get_base_dir())) {
ProjectSettings *ps = ProjectSettings::get_singleton();
PoolStringArray enabled_plugins = ps->get("editor_plugins/enabled");
@@ -2840,7 +2878,7 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled,
}
String path = cf->get_value("plugin", "script");
- path = "res://addons/" + p_addon + "/" + path;
+ path = String("res://addons").plus_file(p_addon).plus_file(path);
Ref<Script> script = ResourceLoader::load(path);
@@ -4256,6 +4294,7 @@ void EditorNode::_layout_menu_option(int p_id) {
layout_dialog->set_title(TTR("Save Layout"));
layout_dialog->get_ok()->set_text(TTR("Save"));
layout_dialog->popup_centered();
+ layout_dialog->set_name_line_enabled(true);
} break;
case SETTINGS_LAYOUT_DELETE: {
@@ -4263,6 +4302,7 @@ void EditorNode::_layout_menu_option(int p_id) {
layout_dialog->set_title(TTR("Delete Layout"));
layout_dialog->get_ok()->set_text(TTR("Delete"));
layout_dialog->popup_centered();
+ layout_dialog->set_name_line_enabled(false);
} break;
case SETTINGS_LAYOUT_DEFAULT: {
@@ -5050,10 +5090,11 @@ void EditorNode::_feature_profile_changed() {
main_editor_buttons[EDITOR_3D]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D));
main_editor_buttons[EDITOR_SCRIPT]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT));
- main_editor_buttons[EDITOR_ASSETLIB]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB));
+ if (StreamPeerSSL::is_available())
+ main_editor_buttons[EDITOR_ASSETLIB]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB));
if ((profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D) && singleton->main_editor_buttons[EDITOR_3D]->is_pressed()) ||
(profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT) && singleton->main_editor_buttons[EDITOR_SCRIPT]->is_pressed()) ||
- (profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB) && singleton->main_editor_buttons[EDITOR_ASSETLIB]->is_pressed())) {
+ (StreamPeerSSL::is_available() && profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB) && singleton->main_editor_buttons[EDITOR_ASSETLIB]->is_pressed())) {
_editor_select(EDITOR_2D);
}
} else {
@@ -5066,7 +5107,8 @@ void EditorNode::_feature_profile_changed() {
filesystem_dock->set_visible(true);
main_editor_buttons[EDITOR_3D]->set_visible(true);
main_editor_buttons[EDITOR_SCRIPT]->set_visible(true);
- main_editor_buttons[EDITOR_ASSETLIB]->set_visible(true);
+ if (StreamPeerSSL::is_available())
+ main_editor_buttons[EDITOR_ASSETLIB]->set_visible(true);
}
_update_dock_slots_visibility();
@@ -5153,6 +5195,10 @@ void EditorNode::_bind_methods() {
ClassDB::bind_method(D_METHOD("_resources_changed"), &EditorNode::_resources_changed);
ClassDB::bind_method(D_METHOD("_feature_profile_changed"), &EditorNode::_feature_profile_changed);
+ ClassDB::bind_method("_screenshot", &EditorNode::_screenshot);
+ ClassDB::bind_method("_request_screenshot", &EditorNode::_request_screenshot);
+ ClassDB::bind_method("_save_screenshot", &EditorNode::_save_screenshot);
+
ADD_SIGNAL(MethodInfo("play_pressed"));
ADD_SIGNAL(MethodInfo("pause_pressed"));
ADD_SIGNAL(MethodInfo("stop_pressed"));
@@ -5438,6 +5484,8 @@ EditorNode::EditorNode() {
EDITOR_DEF("run/auto_save/save_before_running", true);
EDITOR_DEF_RST("interface/editor/save_each_scene_on_quit", true);
EDITOR_DEF("interface/editor/quit_confirmation", true);
+ EDITOR_DEF("interface/editor/show_update_spinner", false);
+ EDITOR_DEF("interface/editor/update_continuously", false);
EDITOR_DEF_RST("interface/scene_tabs/restore_scenes_on_load", false);
EDITOR_DEF_RST("interface/scene_tabs/show_thumbnail_on_hover", true);
EDITOR_DEF_RST("interface/inspector/capitalize_properties", true);
@@ -5877,6 +5925,16 @@ EditorNode::EditorNode() {
editor_layouts->connect("id_pressed", this, "_layout_menu_option");
p->add_submenu_item(TTR("Editor Layout"), "Layouts");
#ifdef OSX_ENABLED
+ p->add_shortcut(ED_SHORTCUT("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CMD | KEY_F12), EDITOR_SCREENSHOT);
+#else
+ p->add_shortcut(ED_SHORTCUT("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CTRL | KEY_F12), EDITOR_SCREENSHOT);
+#endif
+ p->set_item_tooltip(p->get_item_count() - 1, TTR("Screenshots are stored in the Editor Data/Settings Folder."));
+ p->add_check_shortcut(ED_SHORTCUT("editor/open_screenshot", TTR("Automatically Open Screenshots")), EDITOR_OPEN_SCREENSHOT);
+ bool is_open_screenshot = EditorSettings::get_singleton()->get_project_metadata("screenshot_options", "open_screenshot", true);
+ p->set_item_checked(p->get_item_count() - 1, is_open_screenshot);
+ p->set_item_tooltip(p->get_item_count() - 1, TTR("Open in an external image editor."));
+#ifdef OSX_ENABLED
p->add_shortcut(ED_SHORTCUT("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_CMD | KEY_MASK_CTRL | KEY_F), SETTINGS_TOGGLE_FULLSCREEN);
#else
p->add_shortcut(ED_SHORTCUT("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_SHIFT | KEY_F11), SETTINGS_TOGGLE_FULLSCREEN);
@@ -6029,28 +6087,23 @@ EditorNode::EditorNode() {
progress_hb = memnew(BackgroundProgress);
- layout_dialog = memnew(EditorNameDialog);
+ layout_dialog = memnew(EditorLayoutsDialog);
gui_base->add_child(layout_dialog);
layout_dialog->set_hide_on_ok(false);
- layout_dialog->set_size(Size2(175, 70) * EDSCALE);
+ layout_dialog->set_size(Size2(225, 270) * EDSCALE);
layout_dialog->connect("name_confirmed", this, "_dialog_action");
- update_menu = memnew(MenuButton);
- update_menu->set_tooltip(TTR("Spins when the editor window redraws."));
- right_menu_hb->add_child(update_menu);
- update_menu->set_icon(gui_base->get_icon("Progress1", "EditorIcons"));
- update_menu->get_popup()->connect("id_pressed", this, "_menu_option");
- p = update_menu->get_popup();
- p->add_radio_check_item(TTR("Update Always"), SETTINGS_UPDATE_ALWAYS);
- p->add_radio_check_item(TTR("Update Changes"), SETTINGS_UPDATE_CHANGES);
+ update_spinner = memnew(MenuButton);
+ update_spinner->set_tooltip(TTR("Spins when the editor window redraws."));
+ right_menu_hb->add_child(update_spinner);
+ update_spinner->set_icon(gui_base->get_icon("Progress1", "EditorIcons"));
+ update_spinner->get_popup()->connect("id_pressed", this, "_menu_option");
+ p = update_spinner->get_popup();
+ p->add_radio_check_item(TTR("Update Continuously"), SETTINGS_UPDATE_CONTINUOUSLY);
+ p->add_radio_check_item(TTR("Update When Changed"), SETTINGS_UPDATE_WHEN_CHANGED);
p->add_separator();
- p->add_check_item(TTR("Disable Update Spinner"), SETTINGS_UPDATE_SPINNER_HIDE);
- int update_always = EditorSettings::get_singleton()->get_project_metadata("editor_options", "update_always", false);
- int hide_spinner = EditorSettings::get_singleton()->get_project_metadata("editor_options", "update_spinner_hide", false);
- _menu_option(update_always ? SETTINGS_UPDATE_ALWAYS : SETTINGS_UPDATE_CHANGES);
- if (hide_spinner) {
- _menu_option(SETTINGS_UPDATE_SPINNER_HIDE);
- }
+ p->add_item(TTR("Hide Update Spinner"), SETTINGS_UPDATE_SPINNER_HIDE);
+ _update_update_spinner();
// Instantiate and place editor docks
@@ -6338,10 +6391,14 @@ EditorNode::EditorNode() {
Ref<ParticlesMaterialConversionPlugin> particles_mat_convert;
particles_mat_convert.instance();
resource_conversion_plugins.push_back(particles_mat_convert);
+
+ Ref<VisualShaderConversionPlugin> vshader_convert;
+ vshader_convert.instance();
+ resource_conversion_plugins.push_back(vshader_convert);
}
- circle_step_msec = OS::get_singleton()->get_ticks_msec();
- circle_step_frame = Engine::get_singleton()->get_frames_drawn();
- circle_step = 0;
+ update_spinner_step_msec = OS::get_singleton()->get_ticks_msec();
+ update_spinner_step_frame = Engine::get_singleton()->get_frames_drawn();
+ update_spinner_step = 0;
editor_plugin_screen = NULL;
editor_plugins_over = memnew(EditorPluginList);
@@ -6469,6 +6526,13 @@ EditorNode::EditorNode() {
ED_SHORTCUT("editor/editor_assetlib", TTR("Open Asset Library"));
ED_SHORTCUT("editor/editor_next", TTR("Open the next Editor"));
ED_SHORTCUT("editor/editor_prev", TTR("Open the previous Editor"));
+
+ screenshot_timer = memnew(Timer);
+ screenshot_timer->set_one_shot(true);
+ screenshot_timer->set_wait_time(settings_menu->get_popup()->get_submenu_popup_delay() + 0.1f);
+ screenshot_timer->connect("timeout", this, "_request_screenshot");
+ add_child(screenshot_timer);
+ screenshot_timer->set_owner(get_owner());
}
EditorNode::~EditorNode() {
diff --git a/editor/editor_node.h b/editor/editor_node.h
index 366d9c2770..ca64126c60 100644
--- a/editor/editor_node.h
+++ b/editor/editor_node.h
@@ -41,8 +41,8 @@
#include "editor/editor_feature_profile.h"
#include "editor/editor_folding.h"
#include "editor/editor_inspector.h"
+#include "editor/editor_layouts_dialog.h"
#include "editor/editor_log.h"
-#include "editor/editor_name_dialog.h"
#include "editor/editor_plugin.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_run.h"
@@ -85,6 +85,7 @@
#include "scene/gui/tool_button.h"
#include "scene/gui/tree.h"
#include "scene/gui/viewport_container.h"
+
/**
@author Juan Linietsky <reduzio@gmail.com>
*/
@@ -181,8 +182,8 @@ private:
RUN_DEBUG_NAVIGATION,
RUN_DEPLOY_REMOTE_DEBUG,
RUN_RELOAD_SCRIPTS,
- SETTINGS_UPDATE_ALWAYS,
- SETTINGS_UPDATE_CHANGES,
+ SETTINGS_UPDATE_CONTINUOUSLY,
+ SETTINGS_UPDATE_WHEN_CHANGED,
SETTINGS_UPDATE_SPINNER_HIDE,
SETTINGS_PREFERENCES,
SETTINGS_LAYOUT_SAVE,
@@ -198,6 +199,9 @@ private:
SETTINGS_HELP,
SCENE_TAB_CLOSE,
+ EDITOR_SCREENSHOT,
+ EDITOR_OPEN_SCREENSHOT,
+
HELP_SEARCH,
HELP_DOCS,
HELP_QA,
@@ -279,6 +283,8 @@ private:
ToolButton *search_button;
TextureProgress *audio_vu;
+ Timer *screenshot_timer;
+
PluginConfigDialog *plugin_config_dialog;
RichTextLabel *load_errors;
@@ -308,7 +314,7 @@ private:
int overridden_default_layout;
Ref<ConfigFile> default_layout;
PopupMenu *editor_layouts;
- EditorNameDialog *layout_dialog;
+ EditorLayoutsDialog *layout_dialog;
ConfirmationDialog *custom_build_manage_templates;
ConfirmationDialog *install_android_build_template;
@@ -327,7 +333,7 @@ private:
CheckButton *file_export_lib_merge;
LineEdit *file_export_password;
String current_path;
- MenuButton *update_menu;
+ MenuButton *update_spinner;
String defer_load_scene;
String defer_export;
@@ -393,9 +399,9 @@ private:
bool waiting_for_sources_changed;
- uint32_t circle_step_msec;
- uint64_t circle_step_frame;
- int circle_step;
+ uint32_t update_spinner_step_msec;
+ uint64_t update_spinner_step_frame;
+ int update_spinner_step;
Vector<EditorPlugin *> editor_plugins;
EditorPlugin *editor_plugin_screen;
@@ -447,6 +453,11 @@ private:
void _menu_option(int p_option);
void _menu_confirm_current();
void _menu_option_confirm(int p_option, bool p_confirmed);
+
+ void _request_screenshot();
+ void _screenshot(bool p_use_utc = false);
+ void _save_screenshot(NodePath p_path);
+
void _tool_menu_option(int p_idx);
void _update_debug_options();
@@ -628,6 +639,8 @@ private:
void _license_tree_selected();
+ void _update_update_spinner();
+
Vector<Ref<EditorResourceConversionPlugin> > resource_conversion_plugins;
PrintHandlerList print_handler;
@@ -643,6 +656,7 @@ private:
protected:
void _notification(int p_what);
+
static void _bind_methods();
protected:
diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp
index 055e1338dd..90d6c3a983 100644
--- a/editor/editor_plugin.cpp
+++ b/editor/editor_plugin.cpp
@@ -184,7 +184,7 @@ Node *EditorInterface::get_edited_scene_root() {
Array EditorInterface::get_open_scenes() const {
Array ret;
- Vector<EditorData::EditedScene> scenes = EditorNode::get_singleton()->get_editor_data().get_edited_scenes();
+ Vector<EditorData::EditedScene> scenes = EditorNode::get_editor_data().get_edited_scenes();
int scns_amount = scenes.size();
for (int idx_scn = 0; idx_scn < scns_amount; idx_scn++) {
@@ -200,7 +200,7 @@ ScriptEditor *EditorInterface::get_script_editor() {
}
void EditorInterface::select_file(const String &p_file) {
- return EditorNode::get_singleton()->get_filesystem_dock()->select_file(p_file);
+ EditorNode::get_singleton()->get_filesystem_dock()->select_file(p_file);
}
String EditorInterface::get_selected_path() const {
diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h
index 0d700cd9b6..ec369bbdbb 100644
--- a/editor/editor_plugin.h
+++ b/editor/editor_plugin.h
@@ -101,7 +101,7 @@ public:
Error save_scene();
void save_scene_as(const String &p_scene, bool p_with_preview = true);
- Vector<Ref<Texture> > make_mesh_previews(const Vector<Ref<Mesh> > &p_meshes, Vector<Transform> *p_trnasforms, int p_preview_size);
+ Vector<Ref<Texture> > make_mesh_previews(const Vector<Ref<Mesh> > &p_meshes, Vector<Transform> *p_transforms, int p_preview_size);
EditorInterface();
};
diff --git a/editor/editor_profiler.cpp b/editor/editor_profiler.cpp
index f73cd0beb5..9cf36f162d 100644
--- a/editor/editor_profiler.cpp
+++ b/editor/editor_profiler.cpp
@@ -227,8 +227,6 @@ void EditorProfiler::_update_plot() {
Map<StringName, int> plot_prev;
//Map<StringName,int> plot_max;
- uint64_t time = OS::get_singleton()->get_ticks_usec();
-
for (int i = 0; i < w; i++) {
for (int j = 0; j < h * 4; j++) {
@@ -340,8 +338,6 @@ void EditorProfiler::_update_plot() {
wr[widx + 3] = 255;
}
}
-
- time = OS::get_singleton()->get_ticks_usec() - time;
}
wr = PoolVector<uint8_t>::Write();
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp
index d5f4d54e5c..a8ef563368 100644
--- a/editor/editor_properties.cpp
+++ b/editor/editor_properties.cpp
@@ -29,6 +29,7 @@
/*************************************************************************/
#include "editor_properties.h"
+
#include "editor/editor_resource_preview.h"
#include "editor_node.h"
#include "editor_properties_array_dict.h"
@@ -207,7 +208,13 @@ EditorPropertyTextEnum::EditorPropertyTextEnum() {
void EditorPropertyPath::_path_selected(const String &p_path) {
- emit_changed(get_edited_property(), p_path);
+ String final_path = p_path;
+ if (final_path.is_abs_path()) {
+ String res_path = OS::get_singleton()->get_resource_dir() + "/";
+ final_path = res_path.path_to_file(final_path);
+ }
+
+ emit_changed(get_edited_property(), final_path);
update_property();
}
void EditorPropertyPath::_path_pressed() {
@@ -220,6 +227,13 @@ void EditorPropertyPath::_path_pressed() {
}
String full_path = get_edited_object()->get(get_edited_property());
+ if (full_path.is_rel_path()) {
+
+ if (!DirAccess::exists(full_path.get_base_dir())) {
+ DirAccessRef da(DirAccess::create(DirAccess::ACCESS_FILESYSTEM));
+ da->make_dir_recursive(full_path.get_base_dir());
+ }
+ }
dialog->clear_filters();
@@ -925,6 +939,9 @@ void EditorPropertyEasing::_drag_easing(const Ref<InputEvent> &p_ev) {
preset->set_global_position(easing_draw->get_global_transform().xform(mb->get_position()));
preset->popup();
}
+ if (mb.is_valid() && mb->is_doubleclick() && mb->get_button_index() == BUTTON_LEFT) {
+ _setup_spin();
+ }
Ref<InputEventMouseMotion> mm = p_ev;
@@ -963,7 +980,6 @@ void EditorPropertyEasing::_draw_easing() {
Size2 s = easing_draw->get_size();
Rect2 r(Point2(), s);
r = r.grow(3);
- //get_stylebox("normal", "LineEdit")->draw(ci, r);
int points = 48;
@@ -1006,6 +1022,31 @@ void EditorPropertyEasing::_set_preset(int p_preset) {
easing_draw->update();
}
+void EditorPropertyEasing::_setup_spin() {
+ setting = true;
+ spin->setup_and_show();
+ spin->get_line_edit()->set_text(rtos(get_edited_object()->get(get_edited_property())));
+ setting = false;
+ spin->show();
+}
+
+void EditorPropertyEasing::_spin_value_changed(double p_value) {
+ if (setting)
+ return;
+
+ // 0 is a singularity, but both positive and negative values
+ // are otherwise allowed. Enforce 0+ as workaround.
+ if (Math::is_zero_approx(p_value)) {
+ p_value = 0.00001;
+ }
+ emit_changed(get_edited_property(), p_value);
+ _spin_focus_exited();
+}
+
+void EditorPropertyEasing::_spin_focus_exited() {
+ spin->hide();
+}
+
void EditorPropertyEasing::setup(bool p_full, bool p_flip) {
flip = p_flip;
@@ -1028,9 +1069,6 @@ void EditorPropertyEasing::_notification(int p_what) {
}
easing_draw->set_custom_minimum_size(Size2(0, get_font("font", "Label")->get_height() * 2));
} break;
- case NOTIFICATION_RESIZED: {
-
- } break;
}
}
@@ -1039,6 +1077,9 @@ void EditorPropertyEasing::_bind_methods() {
ClassDB::bind_method("_draw_easing", &EditorPropertyEasing::_draw_easing);
ClassDB::bind_method("_drag_easing", &EditorPropertyEasing::_drag_easing);
ClassDB::bind_method("_set_preset", &EditorPropertyEasing::_set_preset);
+
+ ClassDB::bind_method("_spin_value_changed", &EditorPropertyEasing::_spin_value_changed);
+ ClassDB::bind_method("_spin_focus_exited", &EditorPropertyEasing::_spin_focus_exited);
}
EditorPropertyEasing::EditorPropertyEasing() {
@@ -1053,6 +1094,19 @@ EditorPropertyEasing::EditorPropertyEasing() {
add_child(preset);
preset->connect("id_pressed", this, "_set_preset");
+ spin = memnew(EditorSpinSlider);
+ spin->set_flat(true);
+ spin->set_min(-100);
+ spin->set_max(100);
+ spin->set_step(0);
+ spin->set_hide_slider(true);
+ spin->set_allow_lesser(true);
+ spin->set_allow_greater(true);
+ spin->connect("value_changed", this, "_spin_value_changed");
+ spin->get_line_edit()->connect("focus_exited", this, "_spin_focus_exited");
+ spin->hide();
+ add_child(spin);
+
flip = false;
full = false;
}
@@ -2303,7 +2357,7 @@ void EditorPropertyResource::_update_menu_items() {
}
for (Set<String>::Element *F = valid_inheritors.front(); F; F = F->next()) {
- String t = F->get();
+ const String &t = F->get();
bool is_custom_resource = false;
Ref<Texture> icon;
@@ -2469,8 +2523,8 @@ void EditorPropertyResource::_fold_other_editors(Object *p_self) {
if (!res.is_valid())
return;
bool use_editor = false;
- for (int i = 0; i < EditorNode::get_singleton()->get_editor_data().get_editor_plugin_count(); i++) {
- EditorPlugin *ep = EditorNode::get_singleton()->get_editor_data().get_editor_plugin(i);
+ for (int i = 0; i < EditorNode::get_editor_data().get_editor_plugin_count(); i++) {
+ EditorPlugin *ep = EditorNode::get_editor_data().get_editor_plugin(i);
if (ep->handles(res.ptr())) {
use_editor = true;
}
@@ -2516,7 +2570,7 @@ void EditorPropertyResource::update_property() {
sub_inspector->set_keying(is_keying());
sub_inspector->set_read_only(is_read_only());
sub_inspector->set_use_folding(is_using_folding());
- sub_inspector->set_undo_redo(EditorNode::get_singleton()->get_undo_redo());
+ sub_inspector->set_undo_redo(EditorNode::get_undo_redo());
sub_inspector_vbox = memnew(VBoxContainer);
add_child(sub_inspector_vbox);
@@ -2526,8 +2580,8 @@ void EditorPropertyResource::update_property() {
assign->set_pressed(true);
bool use_editor = false;
- for (int i = 0; i < EditorNode::get_singleton()->get_editor_data().get_editor_plugin_count(); i++) {
- EditorPlugin *ep = EditorNode::get_singleton()->get_editor_data().get_editor_plugin(i);
+ for (int i = 0; i < EditorNode::get_editor_data().get_editor_plugin_count(); i++) {
+ EditorPlugin *ep = EditorNode::get_editor_data().get_editor_plugin(i);
if (ep->handles(res.ptr())) {
use_editor = true;
}
@@ -2808,6 +2862,7 @@ EditorPropertyResource::EditorPropertyResource() {
assign->set_drag_forwarding(this);
assign->connect("draw", this, "_button_draw");
hbc->add_child(assign);
+ add_focusable(assign);
preview = memnew(TextureRect);
preview->set_expand(true);
@@ -2828,6 +2883,7 @@ EditorPropertyResource::EditorPropertyResource() {
edit->connect("pressed", this, "_update_menu");
hbc->add_child(edit);
edit->connect("gui_input", this, "_button_input");
+ add_focusable(edit);
file = NULL;
scene_tree = NULL;
diff --git a/editor/editor_properties.h b/editor/editor_properties.h
index 02d9349f2d..0a4a07cdc0 100644
--- a/editor/editor_properties.h
+++ b/editor/editor_properties.h
@@ -32,12 +32,12 @@
#define EDITOR_PROPERTIES_H
#include "editor/create_dialog.h"
-#include "editor/editor_file_system.h"
#include "editor/editor_inspector.h"
#include "editor/editor_spin_slider.h"
#include "editor/property_selector.h"
#include "editor/scene_tree_editor.h"
#include "scene/gui/color_picker.h"
+#include "scene/gui/line_edit.h"
class EditorPropertyNil : public EditorProperty {
GDCLASS(EditorPropertyNil, EditorProperty);
@@ -308,7 +308,11 @@ class EditorPropertyEasing : public EditorProperty {
GDCLASS(EditorPropertyEasing, EditorProperty);
Control *easing_draw;
PopupMenu *preset;
+ EditorSpinSlider *spin;
+ bool setting;
+
bool full;
+ bool flip;
enum {
EASING_ZERO,
@@ -321,13 +325,16 @@ class EditorPropertyEasing : public EditorProperty {
};
- bool flip;
-
void _drag_easing(const Ref<InputEvent> &p_ev);
void _draw_easing();
- void _notification(int p_what);
void _set_preset(int);
+ void _setup_spin();
+ void _spin_value_changed(double p_value);
+ void _spin_focus_exited();
+
+ void _notification(int p_what);
+
protected:
static void _bind_methods();
diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp
index 5f18959689..347699c632 100644
--- a/editor/editor_properties_array_dict.cpp
+++ b/editor/editor_properties_array_dict.cpp
@@ -183,16 +183,20 @@ void EditorPropertyArray::_property_changed(const String &p_prop, Variant p_valu
void EditorPropertyArray::_change_type(Object *p_button, int p_index) {
Button *button = Object::cast_to<Button>(p_button);
-
+ changing_type_idx = p_index;
Rect2 rect = button->get_global_rect();
change_type->set_as_minsize();
change_type->set_global_position(rect.position + rect.size - Vector2(change_type->get_combined_minimum_size().x, 0));
change_type->popup();
- changing_type_idx = p_index;
}
void EditorPropertyArray::_change_type_menu(int p_index) {
+ if (p_index == Variant::VARIANT_MAX) {
+ _remove_pressed(changing_type_idx);
+ return;
+ }
+
Variant value;
Variant::CallError ce;
value = Variant::construct(Variant::Type(p_index), NULL, 0, ce);
@@ -204,6 +208,7 @@ void EditorPropertyArray::_change_type_menu(int p_index) {
if (array.get_type() == Variant::ARRAY) {
array = array.call("duplicate"); //dupe, so undo/redo works better
}
+
object->set_array(array);
update_property();
}
@@ -356,21 +361,27 @@ void EditorPropertyArray::update_property() {
prop->set_selectable(false);
prop->connect("property_changed", this, "_property_changed");
prop->connect("object_id_selected", this, "_object_id_selected");
- if (array.get_type() == Variant::ARRAY) {
- HBoxContainer *hb = memnew(HBoxContainer);
- vbox->add_child(hb);
- hb->add_child(prop);
- prop->set_h_size_flags(SIZE_EXPAND_FILL);
-
- if (subtype == Variant::NIL) {
- Button *edit = memnew(Button);
- edit->set_icon(get_icon("Edit", "EditorIcons"));
- hb->add_child(edit);
- edit->connect("pressed", this, "_change_type", varray(edit, i + offset));
- }
+ prop->set_h_size_flags(SIZE_EXPAND_FILL);
+
+ HBoxContainer *hb = memnew(HBoxContainer);
+
+ vbox->add_child(hb);
+ hb->add_child(prop);
+ bool is_untyped_array = array.get_type() == Variant::ARRAY && subtype == Variant::NIL;
+
+ if (is_untyped_array) {
+
+ Button *edit = memnew(Button);
+ edit->set_icon(get_icon("Edit", "EditorIcons"));
+ hb->add_child(edit);
+ edit->connect("pressed", this, "_change_type", varray(edit, i + offset));
} else {
- vbox->add_child(prop);
+
+ Button *remove = memnew(Button);
+ remove->set_icon(get_icon("Remove", "EditorIcons"));
+ remove->connect("pressed", this, "_remove_pressed", varray(i + offset));
+ hb->add_child(remove);
}
prop->update_property();
@@ -388,8 +399,21 @@ void EditorPropertyArray::update_property() {
#endif
}
-void EditorPropertyArray::_notification(int p_what) {
+void EditorPropertyArray::_remove_pressed(int p_index) {
+ Variant array = object->get_array();
+ array.call("remove", p_index);
+
+ if (array.get_type() == Variant::ARRAY) {
+ array = array.call("duplicate");
+ }
+
+ emit_changed(get_edited_property(), array, "", false);
+ object->set_array(array);
+ update_property();
+}
+
+void EditorPropertyArray::_notification(int p_what) {
if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) {
}
}
@@ -476,6 +500,7 @@ void EditorPropertyArray::_bind_methods() {
ClassDB::bind_method("_change_type", &EditorPropertyArray::_change_type);
ClassDB::bind_method("_change_type_menu", &EditorPropertyArray::_change_type_menu);
ClassDB::bind_method("_object_id_selected", &EditorPropertyArray::_object_id_selected);
+ ClassDB::bind_method("_remove_pressed", &EditorPropertyArray::_remove_pressed);
}
EditorPropertyArray::EditorPropertyArray() {
@@ -498,11 +523,13 @@ EditorPropertyArray::EditorPropertyArray() {
change_type = memnew(PopupMenu);
add_child(change_type);
change_type->connect("id_pressed", this, "_change_type_menu");
- changing_type_idx = -1;
+
for (int i = 0; i < Variant::VARIANT_MAX; i++) {
String type = Variant::get_type_name(Variant::Type(i));
change_type->add_item(type, i);
}
+ change_type->add_separator();
+ change_type->add_item(TTR("Remove Item"), Variant::VARIANT_MAX);
changing_type_idx = -1;
subtype = Variant::NIL;
@@ -791,7 +818,7 @@ void EditorPropertyDictionary::update_property() {
} break;
case Variant::_RID: {
- prop = memnew(EditorPropertyNil);
+ prop = memnew(EditorPropertyRID);
} break;
case Variant::OBJECT: {
@@ -995,7 +1022,7 @@ EditorPropertyDictionary::EditorPropertyDictionary() {
change_type = memnew(PopupMenu);
add_child(change_type);
change_type->connect("id_pressed", this, "_change_type_menu");
- changing_type_idx = -1;
+
for (int i = 0; i < Variant::VARIANT_MAX; i++) {
String type = Variant::get_type_name(Variant::Type(i));
change_type->add_item(type, i);
diff --git a/editor/editor_properties_array_dict.h b/editor/editor_properties_array_dict.h
index 18519c754a..2fe7c07d56 100644
--- a/editor/editor_properties_array_dict.h
+++ b/editor/editor_properties_array_dict.h
@@ -105,6 +105,7 @@ class EditorPropertyArray : public EditorProperty {
void _change_type_menu(int p_index);
void _object_id_selected(const String &p_property, ObjectID p_id);
+ void _remove_pressed(int p_index);
protected:
static void _bind_methods();
diff --git a/editor/editor_resource_preview.cpp b/editor/editor_resource_preview.cpp
index 6cca0a0ffa..f2e4d1086b 100644
--- a/editor/editor_resource_preview.cpp
+++ b/editor/editor_resource_preview.cpp
@@ -218,6 +218,7 @@ void EditorResourcePreview::_generate_preview(Ref<ImageTexture> &r_texture, Ref<
void EditorResourcePreview::_thread() {
#ifndef SERVER_ENABLED
+ exited = false;
while (!exit) {
preview_sem->wait();
@@ -452,8 +453,8 @@ void EditorResourcePreview::check_for_invalidation(const String &p_path) {
void EditorResourcePreview::start() {
ERR_FAIL_COND(thread);
thread = Thread::create(_thread_func, this);
- exited = false;
}
+
void EditorResourcePreview::stop() {
if (thread) {
exit = true;
diff --git a/editor/editor_run.cpp b/editor/editor_run.cpp
index 0ba32395ec..4bd68a593f 100644
--- a/editor/editor_run.cpp
+++ b/editor/editor_run.cpp
@@ -50,10 +50,8 @@ Error EditorRun::run(const String &p_scene, const String p_custom_args, const Li
args.push_back(resource_path.replace(" ", "%20"));
}
- if (true) {
- args.push_back("--remote-debug");
- args.push_back(remote_host + ":" + String::num(remote_port));
- }
+ args.push_back("--remote-debug");
+ args.push_back(remote_host + ":" + String::num(remote_port));
args.push_back("--allow_focus_steal_pid");
args.push_back(itos(OS::get_singleton()->get_process_id()));
diff --git a/editor/editor_run_native.h b/editor/editor_run_native.h
index d62c982725..a5c28b0cb4 100644
--- a/editor/editor_run_native.h
+++ b/editor/editor_run_native.h
@@ -36,7 +36,7 @@
class EditorRunNative : public HBoxContainer {
- GDCLASS(EditorRunNative, BoxContainer);
+ GDCLASS(EditorRunNative, HBoxContainer);
Map<int, MenuButton *> menus;
bool first;
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp
index 5e04bf4953..ecc63b1a8d 100644
--- a/editor/editor_settings.cpp
+++ b/editor/editor_settings.cpp
@@ -107,7 +107,7 @@ bool EditorSettings::_set_only(const StringName &p_name, const Variant &p_value)
}
if (save_changed_setting) {
- if (props[p_name].save != true) {
+ if (!props[p_name].save) {
props[p_name].save = true;
changed = true;
}
@@ -573,6 +573,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
_initial_set("editors/2d/bone_outline_color", Color(0.35, 0.35, 0.35));
_initial_set("editors/2d/bone_outline_size", 2);
_initial_set("editors/2d/viewport_border_color", Color(0.4, 0.4, 1.0, 0.4));
+ _initial_set("editors/2d/constrain_editor_view", true);
_initial_set("editors/2d/warped_mouse_panning", true);
_initial_set("editors/2d/simple_panning", false);
_initial_set("editors/2d/scroll_to_pan", false);
@@ -691,7 +692,7 @@ bool EditorSettings::_save_text_editor_theme(String p_file) {
keys.sort();
for (const List<String>::Element *E = keys.front(); E; E = E->next()) {
- String key = E->get();
+ const String &key = E->get();
if (key.begins_with("text_editor/highlighting/") && key.find("color") >= 0) {
cf->set_value(theme_section, key.replace("text_editor/highlighting/", ""), ((Color)props[key].variant).to_html());
}
@@ -699,10 +700,7 @@ bool EditorSettings::_save_text_editor_theme(String p_file) {
Error err = cf->save(p_file);
- if (err == OK) {
- return true;
- }
- return false;
+ return err == OK;
}
bool EditorSettings::_is_default_text_editor_theme(String p_theme_name) {
@@ -940,7 +938,7 @@ fail:
Vector<String> list = extra_config->get_value("init_projects", "list");
for (int i = 0; i < list.size(); i++) {
- list.write[i] = exe_path + "/" + list[i];
+ list.write[i] = exe_path.plus_file(list[i]);
};
extra_config->set_value("init_projects", "list", list);
};
@@ -1475,6 +1473,10 @@ void EditorSettings::get_shortcut_list(List<String> *r_shortcuts) {
Ref<ShortCut> ED_GET_SHORTCUT(const String &p_path) {
+ if (!EditorSettings::get_singleton()) {
+ return NULL;
+ }
+
Ref<ShortCut> sc = EditorSettings::get_singleton()->get_shortcut(p_path);
if (!sc.is_valid()) {
ERR_EXPLAIN("Used ED_GET_SHORTCUT with invalid shortcut: " + p_path);
@@ -1510,6 +1512,15 @@ Ref<ShortCut> ED_SHORTCUT(const String &p_path, const String &p_name, uint32_t p
ie->set_metakey(bool(p_keycode & KEY_MASK_META));
}
+ if (!EditorSettings::get_singleton()) {
+ Ref<ShortCut> sc;
+ sc.instance();
+ sc->set_name(p_name);
+ sc->set_shortcut(ie);
+ sc->set_meta("original", ie);
+ return sc;
+ }
+
Ref<ShortCut> sc = EditorSettings::get_singleton()->get_shortcut(p_path);
if (sc.is_valid()) {
diff --git a/editor/editor_settings.h b/editor/editor_settings.h
index 2ee8dd805b..890850629e 100644
--- a/editor/editor_settings.h
+++ b/editor/editor_settings.h
@@ -73,8 +73,6 @@ private:
bool restart_if_changed;
VariantContainer() :
order(0),
- variant(Variant()),
- initial(Variant()),
has_default_value(false),
hide_from_editor(false),
save(false),
@@ -83,7 +81,6 @@ private:
VariantContainer(const Variant &p_variant, int p_order) :
order(p_order),
variant(p_variant),
- initial(Variant()),
has_default_value(false),
hide_from_editor(false),
save(false),
@@ -123,7 +120,7 @@ private:
void _load_defaults(Ref<ConfigFile> p_extra_config = NULL);
void _load_default_text_editor_theme();
bool _save_text_editor_theme(String p_file);
- bool _is_default_text_editor_theme(String p_file);
+ bool _is_default_text_editor_theme(String p_theme_name);
protected:
static void _bind_methods();
diff --git a/editor/editor_spin_slider.h b/editor/editor_spin_slider.h
index 1523c20f48..d91380e175 100644
--- a/editor/editor_spin_slider.h
+++ b/editor/editor_spin_slider.h
@@ -102,6 +102,9 @@ public:
void set_custom_label_color(bool p_use_custom_label_color, Color p_custom_label_color);
+ void setup_and_show() { _focus_entered(); }
+ LineEdit *get_line_edit() { return value_input; }
+
virtual Size2 get_minimum_size() const;
EditorSpinSlider();
};
diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp
index 4e499021f9..bd61e6182c 100644
--- a/editor/export_template_manager.cpp
+++ b/editor/export_template_manager.cpp
@@ -314,7 +314,8 @@ bool ExportTemplateManager::_install_from_file(const String &p_file, bool p_use_
if (!f) {
ret = unzGoToNextFile(pkg);
fc++;
- ERR_CONTINUE(!f);
+ ERR_EXPLAIN("Can't open file from path: " + String(to_write));
+ ERR_CONTINUE(true);
}
f->store_buffer(data.ptr(), data.size());
@@ -406,9 +407,7 @@ void ExportTemplateManager::_http_download_templates_completed(int p_status, int
} break;
case HTTPRequest::RESULT_BODY_SIZE_LIMIT_EXCEEDED:
case HTTPRequest::RESULT_CONNECTION_ERROR:
- case HTTPRequest::RESULT_CHUNKED_BODY_SIZE_MISMATCH: {
- template_list_state->set_text(TTR("Can't connect."));
- } break;
+ case HTTPRequest::RESULT_CHUNKED_BODY_SIZE_MISMATCH:
case HTTPRequest::RESULT_SSL_HANDSHAKE_ERROR:
case HTTPRequest::RESULT_CANT_CONNECT: {
template_list_state->set_text(TTR("Can't connect."));
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp
index e57217bb11..9301d8c1a4 100644
--- a/editor/filesystem_dock.cpp
+++ b/editor/filesystem_dock.cpp
@@ -244,7 +244,7 @@ void FileSystemDock::set_display_mode(DisplayMode p_display_mode) {
void FileSystemDock::_update_display_mode(bool p_force) {
// Compute the new display mode
if (p_force || old_display_mode != display_mode) {
- button_toggle_display_mode->set_pressed(display_mode == DISPLAY_MODE_SPLIT ? true : false);
+ button_toggle_display_mode->set_pressed(display_mode == DISPLAY_MODE_SPLIT);
switch (display_mode) {
case DISPLAY_MODE_TREE_ONLY:
tree->show();
@@ -1329,7 +1329,7 @@ void FileSystemDock::_duplicate_operation_confirm() {
if (to_duplicate.is_file) {
new_path = base_dir.plus_file(new_name);
} else {
- new_path = base_dir.substr(0, base_dir.find_last("/")) + "/" + new_name;
+ new_path = base_dir.substr(0, base_dir.find_last("/")).plus_file(new_name);
}
//Present a more user friendly warning for name conflict
@@ -2063,8 +2063,6 @@ void FileSystemDock::_get_drag_target_folder(String &target, bool &target_favori
}
}
}
-
- return;
}
void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<String> p_paths, bool p_display_path_dependent_options) {
diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h
index 46eaf71a8a..76f92665db 100644
--- a/editor/filesystem_dock.h
+++ b/editor/filesystem_dock.h
@@ -204,7 +204,7 @@ private:
void _update_resource_paths_after_move(const Map<String, String> &p_renames) const;
void _save_scenes_after_move(const Map<String, String> &p_renames) const;
void _update_favorites_list_after_move(const Map<String, String> &p_files_renames, const Map<String, String> &p_folders_renames) const;
- void _update_project_settings_after_move(const Map<String, String> &p_folders_renames) const;
+ void _update_project_settings_after_move(const Map<String, String> &p_renames) const;
void _file_deleted(String p_file);
void _folder_deleted(String p_folder);
diff --git a/editor/groups_editor.cpp b/editor/groups_editor.cpp
index 3cf3bbf0f2..5a8dc205c2 100644
--- a/editor/groups_editor.cpp
+++ b/editor/groups_editor.cpp
@@ -59,7 +59,7 @@ void GroupDialog::_group_selected() {
void GroupDialog::_load_nodes(Node *p_current) {
String item_name = p_current->get_name();
if (p_current != scene_tree->get_edited_scene_root()) {
- item_name = String(p_current->get_parent()->get_name()) + "/" + String(item_name);
+ item_name = String(p_current->get_parent()->get_name()) + "/" + item_name;
}
bool keep = true;
@@ -69,7 +69,7 @@ void GroupDialog::_load_nodes(Node *p_current) {
keep = false;
}
- TreeItem *node;
+ TreeItem *node = NULL;
NodePath path = scene_tree->get_edited_scene_root()->get_path_to(p_current);
if (keep && p_current->is_in_group(selected_group)) {
if (remove_filter->get_text().is_subsequence_ofi(String(p_current->get_name()))) {
diff --git a/editor/icons/SCsub b/editor/icons/SCsub
index 109e1aa83b..b39c74c66a 100644
--- a/editor/icons/SCsub
+++ b/editor/icons/SCsub
@@ -10,4 +10,12 @@ make_editor_icons_builder = Builder(action=run_in_subprocess(editor_icons_builde
src_suffix='.svg')
env['BUILDERS']['MakeEditorIconsBuilder'] = make_editor_icons_builder
-env.Alias('editor_icons', [env.MakeEditorIconsBuilder('#editor/editor_icons.gen.h', Glob("*.svg"))])
+
+# Editor's own icons
+icon_sources = Glob("*.svg")
+
+# Module icons
+for module_icons in env.module_icons_paths:
+ icon_sources += Glob('#' + module_icons + "/*.svg")
+
+env.Alias('editor_icons', [env.MakeEditorIconsBuilder('#editor/editor_icons.gen.h', icon_sources)])
diff --git a/editor/icons/icon_key_valid.svg b/editor/icons/icon_key_valid.svg
deleted file mode 100644
index 4a3fab4754..0000000000
--- a/editor/icons/icon_key_valid.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-<svg width="8" height="8" version="1.1" viewBox="0 0 8 8" xmlns="http://www.w3.org/2000/svg">
-<g transform="translate(0 -1044.4)">
-<rect transform="rotate(-45)" x="-741.53" y="741.08" width="6.1027" height="6.1027" ry=".76286" fill="#fff"/>
-</g>
-</svg>
diff --git a/editor/import/editor_import_plugin.h b/editor/import/editor_import_plugin.h
index b3eb7ae83b..eb119b4ba3 100644
--- a/editor/import/editor_import_plugin.h
+++ b/editor/import/editor_import_plugin.h
@@ -34,7 +34,7 @@
#include "core/io/resource_importer.h"
class EditorImportPlugin : public ResourceImporter {
- GDCLASS(EditorImportPlugin, Reference);
+ GDCLASS(EditorImportPlugin, ResourceImporter);
protected:
static void _bind_methods();
diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp
index 2bfc77325f..bc507e91b2 100644
--- a/editor/import/editor_scene_importer_gltf.cpp
+++ b/editor/import/editor_scene_importer_gltf.cpp
@@ -30,6 +30,7 @@
#include "editor_scene_importer_gltf.h"
#include "core/io/json.h"
+#include "core/math/crypto_core.h"
#include "core/math/math_defs.h"
#include "core/os/file_access.h"
#include "core/os/os.h"
@@ -37,7 +38,6 @@
#include "scene/3d/mesh_instance.h"
#include "scene/animation/animation_player.h"
#include "scene/resources/surface_tool.h"
-#include "thirdparty/misc/base64.h"
uint32_t EditorSceneImporterGLTF::get_import_flags() const {
@@ -279,7 +279,8 @@ static Vector<uint8_t> _parse_base64_uri(const String &uri) {
Vector<uint8_t> buf;
buf.resize(strlen / 4 * 3 + 1 + 1);
- int len = base64_decode((char *)buf.ptr(), (char *)substr.get_data(), strlen);
+ size_t len = 0;
+ ERR_FAIL_COND_V(CryptoCore::b64_decode(buf.ptrw(), buf.size(), &len, (unsigned char *)substr.get_data(), strlen) != OK, Vector<uint8_t>());
buf.resize(len);
diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp
index 0989a43705..a8197ec2a2 100644
--- a/editor/import/resource_importer_scene.cpp
+++ b/editor/import/resource_importer_scene.cpp
@@ -1135,7 +1135,7 @@ void ResourceImporterScene::get_import_options(List<ImportOption> *r_options, in
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "nodes/storage", PROPERTY_HINT_ENUM, "Single Scene,Instanced Sub-Scenes"), scenes_out ? 1 : 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "materials/location", PROPERTY_HINT_ENUM, "Node,Mesh"), (meshes_out || materials_out) ? 1 : 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "materials/storage", PROPERTY_HINT_ENUM, "Built-In,Files", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), materials_out ? 1 : 0));
- r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "materials/keep_on_reimport"), materials_out ? true : false));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "materials/keep_on_reimport"), materials_out));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "meshes/compress"), true));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "meshes/ensure_tangents"), true));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "meshes/storage", PROPERTY_HINT_ENUM, "Built-In,Files"), meshes_out ? 1 : 0));
@@ -1145,8 +1145,8 @@ void ResourceImporterScene::get_import_options(List<ImportOption> *r_options, in
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/import", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), true));
r_options->push_back(ImportOption(PropertyInfo(Variant::REAL, "animation/fps", PROPERTY_HINT_RANGE, "1,120,1"), 15));
r_options->push_back(ImportOption(PropertyInfo(Variant::STRING, "animation/filter_script", PROPERTY_HINT_MULTILINE_TEXT), ""));
- r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "animation/storage", PROPERTY_HINT_ENUM, "Built-In,Files", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), animations_out ? true : false));
- r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/keep_custom_tracks"), animations_out ? true : false));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "animation/storage", PROPERTY_HINT_ENUM, "Built-In,Files", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), animations_out));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/keep_custom_tracks"), animations_out));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/optimizer/enabled", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), true));
r_options->push_back(ImportOption(PropertyInfo(Variant::REAL, "animation/optimizer/max_linear_error"), 0.05));
r_options->push_back(ImportOption(PropertyInfo(Variant::REAL, "animation/optimizer/max_angular_error"), 0.01));
@@ -1237,7 +1237,7 @@ Ref<Animation> ResourceImporterScene::import_animation_from_other_importer(Edito
Error ResourceImporterScene::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, Variant *r_metadata) {
- String src_path = p_source_file;
+ const String &src_path = p_source_file;
Ref<EditorSceneImporter> importer;
String ext = src_path.get_extension().to_lower();
diff --git a/editor/import/resource_importer_scene.h b/editor/import/resource_importer_scene.h
index e89f862c1b..498e0f6fb8 100644
--- a/editor/import/resource_importer_scene.h
+++ b/editor/import/resource_importer_scene.h
@@ -85,7 +85,7 @@ public:
String get_source_folder() const;
String get_source_file() const;
virtual Node *post_import(Node *p_scene);
- virtual void init(const String &p_scene_folder, const String &p_scene_path);
+ virtual void init(const String &p_source_folder, const String &p_source_file);
EditorScenePostImport();
};
diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp
index 5865ceb3af..25431179b5 100644
--- a/editor/import/resource_importer_texture.cpp
+++ b/editor/import/resource_importer_texture.cpp
@@ -205,11 +205,11 @@ void ResourceImporterTexture::get_import_options(List<ImportOption> *r_options,
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/bptc_ldr", PROPERTY_HINT_ENUM, "Enabled,RGBA Only"), 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/normal_map", PROPERTY_HINT_ENUM, "Detect,Enable,Disabled"), 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "flags/repeat", PROPERTY_HINT_ENUM, "Disabled,Enabled,Mirrored"), p_preset == PRESET_3D ? 1 : 0));
- r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "flags/filter"), p_preset == PRESET_2D_PIXEL ? false : true));
- r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "flags/mipmaps"), p_preset == PRESET_3D ? true : false));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "flags/filter"), p_preset != PRESET_2D_PIXEL));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "flags/mipmaps"), p_preset == PRESET_3D));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "flags/anisotropic"), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "flags/srgb", PROPERTY_HINT_ENUM, "Disable,Enable,Detect"), 2));
- r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "process/fix_alpha_border"), p_preset != PRESET_3D ? true : false));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "process/fix_alpha_border"), p_preset != PRESET_3D));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "process/premult_alpha"), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "process/HDR_as_SRGB"), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "process/invert_color"), false));
diff --git a/editor/import/resource_importer_texture_atlas.cpp b/editor/import/resource_importer_texture_atlas.cpp
index eca4e58abe..51a6cc6757 100644
--- a/editor/import/resource_importer_texture_atlas.cpp
+++ b/editor/import/resource_importer_texture_atlas.cpp
@@ -205,7 +205,7 @@ Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file
for (const Map<String, Map<StringName, Variant> >::Element *E = p_source_file_options.front(); E; E = E->next(), idx++) {
PackData &pack_data = pack_data_files.write[idx];
- String source = E->key();
+ const String &source = E->key();
const Map<StringName, Variant> &options = E->get();
Ref<Image> image;
diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp
index e39f2dabaa..1787a3b88d 100644
--- a/editor/import/resource_importer_wav.cpp
+++ b/editor/import/resource_importer_wav.cpp
@@ -210,12 +210,6 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
print_line("bits: "+itos(format_bits));
*/
- int len = frames;
- if (format_channels == 2)
- len *= 2;
- if (format_bits > 8)
- len *= 2;
-
data.resize(frames * format_channels);
if (format_bits == 8) {
diff --git a/editor/multi_node_edit.cpp b/editor/multi_node_edit.cpp
index 56a04f615d..6af7e4bd00 100644
--- a/editor/multi_node_edit.cpp
+++ b/editor/multi_node_edit.cpp
@@ -50,7 +50,7 @@ bool MultiNodeEdit::_set_impl(const StringName &p_name, const Variant &p_value,
name = "script";
}
- UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
+ UndoRedo *ur = EditorNode::get_undo_redo();
ur->create_action(TTR("MultiNode Set") + " " + String(name), UndoRedo::MERGE_ENDS);
for (const List<NodePath>::Element *E = nodes.front(); E; E = E->next()) {
diff --git a/editor/node_dock.cpp b/editor/node_dock.cpp
index e3fb579667..1c0151ed0a 100644
--- a/editor/node_dock.cpp
+++ b/editor/node_dock.cpp
@@ -119,13 +119,13 @@ NodeDock::NodeDock() {
groups_button->connect("pressed", this, "show_groups");
connections = memnew(ConnectionsDock(EditorNode::get_singleton()));
- connections->set_undoredo(EditorNode::get_singleton()->get_undo_redo());
+ connections->set_undoredo(EditorNode::get_undo_redo());
add_child(connections);
connections->set_v_size_flags(SIZE_EXPAND_FILL);
connections->hide();
groups = memnew(GroupsEditor);
- groups->set_undo_redo(EditorNode::get_singleton()->get_undo_redo());
+ groups->set_undo_redo(EditorNode::get_undo_redo());
add_child(groups);
groups->set_v_size_flags(SIZE_EXPAND_FILL);
groups->hide();
diff --git a/editor/plugin_config_dialog.h b/editor/plugin_config_dialog.h
index 74febfe408..525b7755dd 100644
--- a/editor/plugin_config_dialog.h
+++ b/editor/plugin_config_dialog.h
@@ -62,7 +62,7 @@ protected:
static void _bind_methods();
public:
- void config(const String &p_plugin_dir_name);
+ void config(const String &p_config_path);
PluginConfigDialog();
~PluginConfigDialog();
diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp
index 1afd7df049..2931678c80 100644
--- a/editor/plugins/abstract_polygon_2d_editor.cpp
+++ b/editor/plugins/abstract_polygon_2d_editor.cpp
@@ -807,7 +807,7 @@ AbstractPolygon2DEditor::AbstractPolygon2DEditor(EditorNode *p_editor, bool p_wi
canvas_item_editor = NULL;
editor = p_editor;
- undo_redo = editor->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
wip_active = false;
edited_point = PosVertex();
diff --git a/editor/plugins/animation_blend_space_1d_editor.cpp b/editor/plugins/animation_blend_space_1d_editor.cpp
index 2ae39d90de..e07f041eb1 100644
--- a/editor/plugins/animation_blend_space_1d_editor.cpp
+++ b/editor/plugins/animation_blend_space_1d_editor.cpp
@@ -735,7 +735,7 @@ AnimationNodeBlendSpace1DEditor::AnimationNodeBlendSpace1DEditor() {
error_panel->add_child(error_label);
error_label->set_text("hmmm");
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
menu = memnew(PopupMenu);
add_child(menu);
@@ -751,7 +751,7 @@ AnimationNodeBlendSpace1DEditor::AnimationNodeBlendSpace1DEditor() {
open_file->set_title(TTR("Open Animation Node"));
open_file->set_mode(EditorFileDialog::MODE_OPEN_FILE);
open_file->connect("file_selected", this, "_file_opened");
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
selected_point = -1;
dragging_selected = false;
diff --git a/editor/plugins/animation_blend_space_2d_editor.cpp b/editor/plugins/animation_blend_space_2d_editor.cpp
index 5e8fb8e059..b422e3e927 100644
--- a/editor/plugins/animation_blend_space_2d_editor.cpp
+++ b/editor/plugins/animation_blend_space_2d_editor.cpp
@@ -1043,7 +1043,7 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
error_panel->add_child(error_label);
error_label->set_text("eh");
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
set_custom_minimum_size(Size2(0, 300 * EDSCALE));
@@ -1061,7 +1061,7 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
open_file->set_title(TTR("Open Animation Node"));
open_file->set_mode(EditorFileDialog::MODE_OPEN_FILE);
open_file->connect("file_selected", this, "_file_opened");
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
selected_point = -1;
selected_triangle = -1;
diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp
index dff6eb5c5e..65282ccfc2 100644
--- a/editor/plugins/animation_blend_tree_editor_plugin.cpp
+++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp
@@ -598,7 +598,7 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
Skeleton *skeleton = Object::cast_to<Skeleton>(node);
if (skeleton && skeleton->find_bone(concat) != -1) {
//path in skeleton
- String bone = concat;
+ const String &bone = concat;
int idx = skeleton->find_bone(bone);
List<String> bone_path;
while (idx != -1) {
@@ -796,7 +796,7 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima
GraphNode *gn = Object::cast_to<GraphNode>(graph->get_node(prev_name));
ERR_FAIL_COND(!gn);
- String new_name = p_text;
+ const String &new_name = p_text;
ERR_FAIL_COND(new_name == "" || new_name.find(".") != -1 || new_name.find("/") != -1);
@@ -804,7 +804,7 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima
return; //nothing to do
}
- String base_name = new_name;
+ const String &base_name = new_name;
int base = 1;
String name = base_name;
while (blend_tree->has_node(name)) {
@@ -964,5 +964,5 @@ AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() {
open_file->set_title(TTR("Open Animation Node"));
open_file->set_mode(EditorFileDialog::MODE_OPEN_FILE);
open_file->connect("file_selected", this, "_file_opened");
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
}
diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp
index a8866a1a87..5163b372b2 100644
--- a/editor/plugins/animation_player_editor_plugin.cpp
+++ b/editor/plugins/animation_player_editor_plugin.cpp
@@ -1868,7 +1868,7 @@ AnimationPlayerEditorPlugin::AnimationPlayerEditorPlugin(EditorNode *p_node) {
editor = p_node;
anim_editor = memnew(AnimationPlayerEditor(editor, this));
- anim_editor->set_undo_redo(editor->get_undo_redo());
+ anim_editor->set_undo_redo(EditorNode::get_undo_redo());
editor->add_bottom_panel_item(TTR("Animation"), anim_editor);
}
diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp
index e25e7ac7ed..bc22d9315e 100644
--- a/editor/plugins/animation_state_machine_editor.cpp
+++ b/editor/plugins/animation_state_machine_editor.cpp
@@ -1094,7 +1094,7 @@ void AnimationNodeStateMachineEditor::_removed_from_graph() {
void AnimationNodeStateMachineEditor::_name_edited(const String &p_text) {
- String new_name = p_text;
+ const String &new_name = p_text;
ERR_FAIL_COND(new_name == "" || new_name.find(".") != -1 || new_name.find("/") != -1);
@@ -1102,7 +1102,7 @@ void AnimationNodeStateMachineEditor::_name_edited(const String &p_text) {
return; // Nothing to do.
}
- String base_name = new_name;
+ const String &base_name = new_name;
int base = 1;
String name = base_name;
while (state_machine->has_node(name)) {
@@ -1365,7 +1365,7 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
error_panel->add_child(error_label);
error_panel->hide();
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
set_custom_minimum_size(Size2(0, 300 * EDSCALE));
@@ -1390,7 +1390,7 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
open_file->set_title(TTR("Open Animation Node"));
open_file->set_mode(EditorFileDialog::MODE_OPEN_FILE);
open_file->connect("file_selected", this, "_file_opened");
- undo_redo = EditorNode::get_singleton()->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
over_text = false;
diff --git a/editor/plugins/animation_tree_player_editor_plugin.cpp b/editor/plugins/animation_tree_player_editor_plugin.cpp
index f5d21ffb26..c99ad7f441 100644
--- a/editor/plugins/animation_tree_player_editor_plugin.cpp
+++ b/editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -511,9 +511,7 @@ void AnimationTreePlayerEditor::_draw_node(const StringName &p_node) {
font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, p_node, font_color);
ofs.y += h;
- int count = 2; // title and name
int inputs = anim_tree->node_get_input_count(p_node);
- count += inputs ? inputs : 1;
float icon_h_ofs = Math::floor((font->get_height() - slot_icon->get_height()) / 2.0) + 1;
@@ -618,7 +616,7 @@ AnimationTreePlayerEditor::ClickType AnimationTreePlayerEditor::_locate_click(co
for (const List<StringName>::Element *E = order.back(); E; E = E->prev()) {
- StringName node = E->get();
+ const StringName &node = E->get();
AnimationTreePlayer::NodeType type = anim_tree->node_get_type(node);
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index 3c24fd19b6..e0e9d4af52 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -71,8 +71,7 @@ class SnapDialog : public ConfirmationDialog {
SpinBox *rotation_step;
public:
- SnapDialog() :
- ConfirmationDialog() {
+ SnapDialog() {
const int SPIN_BOX_GRID_RANGE = 256;
const int SPIN_BOX_ROTATION_RANGE = 360;
Label *label;
@@ -490,8 +489,6 @@ void CanvasItemEditor::_find_canvas_items_at_pos(const Point2 &p_pos, Node *p_no
r_items.push_back(res);
}
}
-
- return;
}
void CanvasItemEditor::_get_canvas_items_at_pos(const Point2 &p_pos, Vector<_SelectResult> &r_items) {
@@ -1999,11 +1996,7 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) {
return true;
}
- if (k.is_valid() && (k->get_scancode() == KEY_UP || k->get_scancode() == KEY_DOWN || k->get_scancode() == KEY_LEFT || k->get_scancode() == KEY_RIGHT)) {
- // Accept the key event in any case
- return true;
- }
- return false;
+ return (k.is_valid() && (k->get_scancode() == KEY_UP || k->get_scancode() == KEY_DOWN || k->get_scancode() == KEY_LEFT || k->get_scancode() == KEY_RIGHT)); // Accept the key event in any case
}
bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
@@ -3615,18 +3608,20 @@ void CanvasItemEditor::_update_scrollbars() {
// Constraints the view offset and updates the scrollbars
Point2 begin = canvas_item_rect.position;
Point2 end = canvas_item_rect.position + canvas_item_rect.size - local_rect.size / zoom;
+ bool constrain_editor_view = bool(EditorSettings::get_singleton()->get("editors/2d/constrain_editor_view"));
if (canvas_item_rect.size.height <= (local_rect.size.y / zoom)) {
- if (ABS(begin.y - previous_update_view_offset.y) < ABS(begin.y - view_offset.y)) {
+ float centered = -(size.y / 2) / zoom + screen_rect.y / 2;
+ if (constrain_editor_view && ABS(centered - previous_update_view_offset.y) < ABS(centered - view_offset.y)) {
view_offset.y = previous_update_view_offset.y;
}
v_scroll->hide();
} else {
- if (view_offset.y > end.y && view_offset.y > previous_update_view_offset.y) {
+ if (constrain_editor_view && view_offset.y > end.y && view_offset.y > previous_update_view_offset.y) {
view_offset.y = MAX(end.y, previous_update_view_offset.y);
}
- if (view_offset.y < begin.y && view_offset.y < previous_update_view_offset.y) {
+ if (constrain_editor_view && view_offset.y < begin.y && view_offset.y < previous_update_view_offset.y) {
view_offset.y = MIN(begin.y, previous_update_view_offset.y);
}
@@ -3637,16 +3632,17 @@ void CanvasItemEditor::_update_scrollbars() {
}
if (canvas_item_rect.size.width <= (local_rect.size.x / zoom)) {
- if (ABS(begin.x - previous_update_view_offset.x) < ABS(begin.x - view_offset.x)) {
+ float centered = -(size.x / 2) / zoom + screen_rect.x / 2;
+ if (constrain_editor_view && ABS(centered - previous_update_view_offset.x) < ABS(centered - view_offset.x)) {
view_offset.x = previous_update_view_offset.x;
}
h_scroll->hide();
} else {
- if (view_offset.x > end.x && view_offset.x > previous_update_view_offset.x) {
+ if (constrain_editor_view && view_offset.x > end.x && view_offset.x > previous_update_view_offset.x) {
view_offset.x = MAX(end.x, previous_update_view_offset.x);
}
- if (view_offset.x < begin.x && view_offset.x < previous_update_view_offset.x) {
+ if (constrain_editor_view && view_offset.x < begin.x && view_offset.x < previous_update_view_offset.x) {
view_offset.x = MIN(begin.x, previous_update_view_offset.x);
}
@@ -4340,7 +4336,7 @@ void CanvasItemEditor::_popup_callback(int p_op) {
continue;
if (!n2d->get_parent_item())
continue;
- if (n2d->has_meta("_edit_bone_") && (bool)n2d->get_meta("_edit_bone_") == true)
+ if (n2d->has_meta("_edit_bone_") && n2d->get_meta("_edit_bone_"))
continue;
undo_redo->add_do_method(n2d, "set_meta", "_edit_bone_", true);
@@ -4390,7 +4386,7 @@ void CanvasItemEditor::_popup_callback(int p_op) {
continue;
if (canvas_item->get_viewport() != EditorNode::get_singleton()->get_scene_root())
continue;
- if (canvas_item->has_meta("_edit_ik_") && (bool)canvas_item->get_meta("_edit_ik_") == true)
+ if (canvas_item->has_meta("_edit_ik_") && canvas_item->get_meta("_edit_ik_"))
continue;
undo_redo->add_do_method(canvas_item, "set_meta", "_edit_ik_", true);
diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h
index ff221eb758..a46682d494 100644
--- a/editor/plugins/canvas_item_editor_plugin.h
+++ b/editor/plugins/canvas_item_editor_plugin.h
@@ -425,7 +425,7 @@ private:
List<CanvasItem *> _get_edited_canvas_items(bool retreive_locked = false, bool remove_canvas_item_if_parent_in_selection = true);
Rect2 _get_encompassing_rect_from_list(List<CanvasItem *> p_list);
- void _expand_encompassing_rect_using_children(Rect2 &p_rect, const Node *p_node, bool &r_first, const Transform2D &p_parent_xform = Transform2D(), const Transform2D &p_canvas_xform = Transform2D(), bool include_locked_nodes = true);
+ void _expand_encompassing_rect_using_children(Rect2 &r_rect, const Node *p_node, bool &r_first, const Transform2D &p_parent_xform = Transform2D(), const Transform2D &p_canvas_xform = Transform2D(), bool include_locked_nodes = true);
Rect2 _get_encompassing_rect(const Node *p_node);
Object *_get_editor_data(Object *p_what);
diff --git a/editor/plugins/collision_polygon_editor_plugin.cpp b/editor/plugins/collision_polygon_editor_plugin.cpp
index 6ab554cb05..8cf09406c7 100644
--- a/editor/plugins/collision_polygon_editor_plugin.cpp
+++ b/editor/plugins/collision_polygon_editor_plugin.cpp
@@ -346,8 +346,10 @@ bool Polygon3DEditor::forward_spatial_gui_input(Camera *p_camera, const Ref<Inpu
snap_ignore = false;
}
- if (!snap_ignore) {
- cpoint = CanvasItemEditor::get_singleton()->snap_point(cpoint);
+ if (!snap_ignore && SpatialEditor::get_singleton()->is_snap_enabled()) {
+ cpoint = cpoint.snapped(Vector2(
+ SpatialEditor::get_singleton()->get_translate_snap(),
+ SpatialEditor::get_singleton()->get_translate_snap()));
}
edited_point_pos = cpoint;
@@ -527,7 +529,7 @@ Polygon3DEditor::Polygon3DEditor(EditorNode *p_editor) {
node = NULL;
editor = p_editor;
- undo_redo = editor->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
add_child(memnew(VSeparator));
button_create = memnew(ToolButton);
diff --git a/editor/plugins/collision_shape_2d_editor_plugin.h b/editor/plugins/collision_shape_2d_editor_plugin.h
index 965e6c8827..10a1a6bd98 100644
--- a/editor/plugins/collision_shape_2d_editor_plugin.h
+++ b/editor/plugins/collision_shape_2d_editor_plugin.h
@@ -89,7 +89,7 @@ class CollisionShape2DEditorPlugin : public EditorPlugin {
public:
virtual bool forward_canvas_gui_input(const Ref<InputEvent> &p_event) { return collision_shape_2d_editor->forward_canvas_gui_input(p_event); }
- virtual void forward_canvas_draw_over_viewport(Control *p_overlay) { return collision_shape_2d_editor->forward_canvas_draw_over_viewport(p_overlay); }
+ virtual void forward_canvas_draw_over_viewport(Control *p_overlay) { collision_shape_2d_editor->forward_canvas_draw_over_viewport(p_overlay); }
virtual String get_name() const { return "CollisionShape2D"; }
bool has_main_screen() const { return false; }
diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.cpp b/editor/plugins/cpu_particles_2d_editor_plugin.cpp
index 1622ce17b2..7c2116f06b 100644
--- a/editor/plugins/cpu_particles_2d_editor_plugin.cpp
+++ b/editor/plugins/cpu_particles_2d_editor_plugin.cpp
@@ -75,6 +75,10 @@ void CPUParticles2DEditorPlugin::_menu_callback(int p_idx) {
emission_mask->popup_centered_minsize();
} break;
+ case MENU_RESTART: {
+
+ particles->restart();
+ }
}
}
@@ -265,6 +269,8 @@ CPUParticles2DEditorPlugin::CPUParticles2DEditorPlugin(EditorNode *p_node) {
menu = memnew(MenuButton);
menu->get_popup()->add_item(TTR("Load Emission Mask"), MENU_LOAD_EMISSION_MASK);
+ menu->get_popup()->add_separator();
+ menu->get_popup()->add_item(TTR("Restart"), MENU_RESTART);
// menu->get_popup()->add_item(TTR("Clear Emission Mask"), MENU_CLEAR_EMISSION_MASK);
menu->set_text(TTR("Particles"));
menu->set_switch_on_hover(true);
diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.h b/editor/plugins/cpu_particles_2d_editor_plugin.h
index f715abd87b..84bbfff095 100644
--- a/editor/plugins/cpu_particles_2d_editor_plugin.h
+++ b/editor/plugins/cpu_particles_2d_editor_plugin.h
@@ -44,7 +44,8 @@ class CPUParticles2DEditorPlugin : public EditorPlugin {
enum {
MENU_LOAD_EMISSION_MASK,
- MENU_CLEAR_EMISSION_MASK
+ MENU_CLEAR_EMISSION_MASK,
+ MENU_RESTART
};
enum EmissionMode {
diff --git a/editor/plugins/cpu_particles_editor_plugin.cpp b/editor/plugins/cpu_particles_editor_plugin.cpp
index 70be9b95bb..93ffce41fa 100644
--- a/editor/plugins/cpu_particles_editor_plugin.cpp
+++ b/editor/plugins/cpu_particles_editor_plugin.cpp
@@ -62,6 +62,12 @@ void CPUParticlesEditor::_menu_option(int p_option) {
emission_tree_dialog->popup_centered_ratio();
} break;
+
+ case MENU_OPTION_RESTART: {
+
+ node->restart();
+
+ } break;
}
}
@@ -108,6 +114,8 @@ CPUParticlesEditor::CPUParticlesEditor() {
options->set_text(TTR("CPUParticles"));
options->get_popup()->add_item(TTR("Create Emission Points From Mesh"), MENU_OPTION_CREATE_EMISSION_VOLUME_FROM_MESH);
options->get_popup()->add_item(TTR("Create Emission Points From Node"), MENU_OPTION_CREATE_EMISSION_VOLUME_FROM_NODE);
+ options->get_popup()->add_separator();
+ options->get_popup()->add_item(TTR("Restart"), MENU_OPTION_RESTART);
options->get_popup()->connect("id_pressed", this, "_menu_option");
}
diff --git a/editor/plugins/cpu_particles_editor_plugin.h b/editor/plugins/cpu_particles_editor_plugin.h
index 09b0adbe5d..674f00dc9f 100644
--- a/editor/plugins/cpu_particles_editor_plugin.h
+++ b/editor/plugins/cpu_particles_editor_plugin.h
@@ -43,6 +43,7 @@ class CPUParticlesEditor : public ParticlesEditorBase {
MENU_OPTION_CREATE_EMISSION_VOLUME_FROM_NODE,
MENU_OPTION_CREATE_EMISSION_VOLUME_FROM_MESH,
MENU_OPTION_CLEAR_EMISSION_VOLUME,
+ MENU_OPTION_RESTART
};
diff --git a/editor/plugins/curve_editor_plugin.cpp b/editor/plugins/curve_editor_plugin.cpp
index 3b1d728b8b..d2d2b8f130 100644
--- a/editor/plugins/curve_editor_plugin.cpp
+++ b/editor/plugins/curve_editor_plugin.cpp
@@ -156,9 +156,9 @@ void CurveEditor::on_gui_input(const Ref<InputEvent> &p_event) {
Vector2 mpos = mm.get_position();
if (_dragging && _curve_ref.is_valid()) {
- Curve &curve = **_curve_ref;
if (_selected_point != -1) {
+ Curve &curve = **_curve_ref;
if (!_has_undo_data) {
// Save full curve state before dragging points,
diff --git a/editor/plugins/particles_2d_editor_plugin.cpp b/editor/plugins/particles_2d_editor_plugin.cpp
index 6fabdc93c6..e68bca55cb 100644
--- a/editor/plugins/particles_2d_editor_plugin.cpp
+++ b/editor/plugins/particles_2d_editor_plugin.cpp
@@ -96,12 +96,16 @@ void Particles2DEditorPlugin::_menu_callback(int p_idx) {
UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Convert to CPUParticles"));
ur->add_do_method(EditorNode::get_singleton()->get_scene_tree_dock(), "replace_node", particles, cpu_particles, true, false);
- ur->add_do_reference(particles);
+ ur->add_do_reference(cpu_particles);
ur->add_undo_method(EditorNode::get_singleton()->get_scene_tree_dock(), "replace_node", cpu_particles, particles, false, false);
- ur->add_undo_reference(this);
+ ur->add_undo_reference(particles);
ur->commit_action();
} break;
+ case MENU_RESTART: {
+
+ particles->restart();
+ }
}
}
@@ -380,6 +384,8 @@ Particles2DEditorPlugin::Particles2DEditorPlugin(EditorNode *p_node) {
// menu->get_popup()->add_item(TTR("Clear Emission Mask"), MENU_CLEAR_EMISSION_MASK);
menu->get_popup()->add_separator();
menu->get_popup()->add_item(TTR("Convert to CPUParticles"), MENU_OPTION_CONVERT_TO_CPU_PARTICLES);
+ menu->get_popup()->add_separator();
+ menu->get_popup()->add_item(TTR("Restart"), MENU_RESTART);
menu->set_text(TTR("Particles"));
menu->set_switch_on_hover(true);
toolbar->add_child(menu);
diff --git a/editor/plugins/particles_2d_editor_plugin.h b/editor/plugins/particles_2d_editor_plugin.h
index 35b874fb25..0f092aaa4f 100644
--- a/editor/plugins/particles_2d_editor_plugin.h
+++ b/editor/plugins/particles_2d_editor_plugin.h
@@ -47,7 +47,8 @@ class Particles2DEditorPlugin : public EditorPlugin {
MENU_GENERATE_VISIBILITY_RECT,
MENU_LOAD_EMISSION_MASK,
MENU_CLEAR_EMISSION_MASK,
- MENU_OPTION_CONVERT_TO_CPU_PARTICLES
+ MENU_OPTION_CONVERT_TO_CPU_PARTICLES,
+ MENU_RESTART
};
enum EmissionMode {
diff --git a/editor/plugins/particles_editor_plugin.cpp b/editor/plugins/particles_editor_plugin.cpp
index 3f4f66a26d..f05e7d65d3 100644
--- a/editor/plugins/particles_editor_plugin.cpp
+++ b/editor/plugins/particles_editor_plugin.cpp
@@ -315,12 +315,17 @@ void ParticlesEditor::_menu_option(int p_option) {
UndoRedo *ur = EditorNode::get_singleton()->get_undo_redo();
ur->create_action(TTR("Convert to CPUParticles"));
ur->add_do_method(EditorNode::get_singleton()->get_scene_tree_dock(), "replace_node", node, cpu_particles, true, false);
- ur->add_do_reference(node);
+ ur->add_do_reference(cpu_particles);
ur->add_undo_method(EditorNode::get_singleton()->get_scene_tree_dock(), "replace_node", cpu_particles, node, false, false);
- ur->add_undo_reference(this);
+ ur->add_undo_reference(node);
ur->commit_action();
} break;
+ case MENU_OPTION_RESTART: {
+
+ node->restart();
+
+ } break;
}
}
@@ -471,6 +476,8 @@ ParticlesEditor::ParticlesEditor() {
options->get_popup()->add_item(TTR("Create Emission Points From Node"), MENU_OPTION_CREATE_EMISSION_VOLUME_FROM_NODE);
options->get_popup()->add_separator();
options->get_popup()->add_item(TTR("Convert to CPUParticles"), MENU_OPTION_CONVERT_TO_CPU_PARTICLES);
+ options->get_popup()->add_separator();
+ options->get_popup()->add_item(TTR("Restart"), MENU_OPTION_RESTART);
options->get_popup()->connect("id_pressed", this, "_menu_option");
diff --git a/editor/plugins/particles_editor_plugin.h b/editor/plugins/particles_editor_plugin.h
index b1c53dcf94..5d05fbd4ac 100644
--- a/editor/plugins/particles_editor_plugin.h
+++ b/editor/plugins/particles_editor_plugin.h
@@ -86,6 +86,7 @@ class ParticlesEditor : public ParticlesEditorBase {
MENU_OPTION_CREATE_EMISSION_VOLUME_FROM_MESH,
MENU_OPTION_CLEAR_EMISSION_VOLUME,
MENU_OPTION_CONVERT_TO_CPU_PARTICLES,
+ MENU_OPTION_RESTART,
};
diff --git a/editor/plugins/path_2d_editor_plugin.cpp b/editor/plugins/path_2d_editor_plugin.cpp
index a10eddb131..b87bd29cbd 100644
--- a/editor/plugins/path_2d_editor_plugin.cpp
+++ b/editor/plugins/path_2d_editor_plugin.cpp
@@ -179,7 +179,7 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
}
// Check for segment split.
- if (mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT && mode == MODE_EDIT && on_edge == true) {
+ if (mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT && mode == MODE_EDIT && on_edge) {
Vector2 gpoint2 = mb->get_position();
Ref<Curve2D> curve = node->get_curve();
diff --git a/editor/plugins/path_2d_editor_plugin.h b/editor/plugins/path_2d_editor_plugin.h
index 4edd17d146..44472f7a81 100644
--- a/editor/plugins/path_2d_editor_plugin.h
+++ b/editor/plugins/path_2d_editor_plugin.h
@@ -123,7 +123,7 @@ class Path2DEditorPlugin : public EditorPlugin {
public:
virtual bool forward_canvas_gui_input(const Ref<InputEvent> &p_event) { return path2d_editor->forward_gui_input(p_event); }
- virtual void forward_canvas_draw_over_viewport(Control *p_overlay) { return path2d_editor->forward_canvas_draw_over_viewport(p_overlay); }
+ virtual void forward_canvas_draw_over_viewport(Control *p_overlay) { path2d_editor->forward_canvas_draw_over_viewport(p_overlay); }
virtual String get_name() const { return "Path2D"; }
bool has_main_screen() const { return false; }
diff --git a/editor/plugins/resource_preloader_editor_plugin.cpp b/editor/plugins/resource_preloader_editor_plugin.cpp
index 53300f45ec..b8d95efd49 100644
--- a/editor/plugins/resource_preloader_editor_plugin.cpp
+++ b/editor/plugins/resource_preloader_editor_plugin.cpp
@@ -293,10 +293,7 @@ bool ResourcePreloaderEditor::can_drop_data_fw(const Point2 &p_point, const Vari
Vector<String> files = d["files"];
- if (files.size() == 0)
- return false;
-
- return true;
+ return files.size() != 0;
}
return false;
}
diff --git a/editor/plugins/root_motion_editor_plugin.cpp b/editor/plugins/root_motion_editor_plugin.cpp
index 326e8394a0..05f682f469 100644
--- a/editor/plugins/root_motion_editor_plugin.cpp
+++ b/editor/plugins/root_motion_editor_plugin.cpp
@@ -131,7 +131,7 @@ void EditorPropertyRootMotion::_node_assign() {
Skeleton *skeleton = Object::cast_to<Skeleton>(node);
if (skeleton && skeleton->find_bone(concat) != -1) {
//path in skeleton
- String bone = concat;
+ const String &bone = concat;
int idx = skeleton->find_bone(bone);
List<String> bone_path;
while (idx != -1) {
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp
index d5e21321c3..d999f3189e 100644
--- a/editor/plugins/script_editor_plugin.cpp
+++ b/editor/plugins/script_editor_plugin.cpp
@@ -306,8 +306,11 @@ void ScriptEditor::_goto_script_line(REF p_script, int p_line) {
editor->push_item(p_script.ptr());
ScriptEditorBase *current = _get_current_editor();
- if (current)
+ if (ScriptTextEditor *script_text_editor = Object::cast_to<ScriptTextEditor>(current)) {
+ script_text_editor->goto_line_centered(p_line);
+ } else if (current) {
current->goto_line(p_line, true);
+ }
}
}
}
@@ -3460,7 +3463,7 @@ void ScriptEditorPlugin::get_window_layout(Ref<ConfigFile> p_layout) {
void ScriptEditorPlugin::get_breakpoints(List<String> *p_breakpoints) {
- return script_editor->get_breakpoints(p_breakpoints);
+ script_editor->get_breakpoints(p_breakpoints);
}
void ScriptEditorPlugin::edited_scene_changed() {
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index ce0859a1f6..2cfa759e3b 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -237,7 +237,7 @@ void ScriptTextEditor::_load_theme_settings() {
text_edit->add_color_override("safe_line_number_color", safe_line_number_color);
text_edit->add_color_override("caret_color", caret_color);
text_edit->add_color_override("caret_background_color", caret_background_color);
- text_edit->add_color_override("font_selected_color", text_selected_color);
+ text_edit->add_color_override("font_color_selected", text_selected_color);
text_edit->add_color_override("selection_color", selection_color);
text_edit->add_color_override("brace_mismatch_color", brace_mismatch_color);
text_edit->add_color_override("current_line_color", current_line_color);
@@ -487,6 +487,11 @@ void ScriptTextEditor::goto_line_selection(int p_line, int p_begin, int p_end) {
code_editor->goto_line_selection(p_line, p_begin, p_end);
}
+void ScriptTextEditor::goto_line_centered(int p_line) {
+
+ code_editor->goto_line_centered(p_line);
+}
+
void ScriptTextEditor::set_executing_line(int p_line) {
code_editor->set_executing_line(p_line);
}
@@ -569,8 +574,8 @@ void ScriptTextEditor::_validate_script() {
Connection connection = E->get();
String base_path = base->get_name();
- String source_path = base == connection.source ? base_path : base_path + "/" + String(base->get_path_to(Object::cast_to<Node>(connection.source)));
- String target_path = base == connection.target ? base_path : base_path + "/" + String(base->get_path_to(Object::cast_to<Node>(connection.target)));
+ String source_path = base == connection.source ? base_path : base_path + "/" + base->get_path_to(Object::cast_to<Node>(connection.source));
+ String target_path = base == connection.target ? base_path : base_path + "/" + base->get_path_to(Object::cast_to<Node>(connection.target));
warnings_panel->push_cell();
warnings_panel->push_color(warnings_panel->get_color("warning_color", "Editor"));
@@ -639,6 +644,44 @@ void ScriptTextEditor::_validate_script() {
emit_signal("edited_script_changed");
}
+void ScriptTextEditor::_update_bookmark_list() {
+
+ bookmarks_menu->clear();
+ bookmarks_menu->set_size(Size2(1, 1));
+
+ bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
+ bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_bookmarks"), BOOKMARK_REMOVE_ALL);
+ bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
+ bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
+
+ Array bookmark_list = code_editor->get_text_edit()->get_bookmarks_array();
+ if (bookmark_list.size() == 0) {
+ return;
+ }
+
+ bookmarks_menu->add_separator();
+
+ for (int i = 0; i < bookmark_list.size(); i++) {
+ String line = code_editor->get_text_edit()->get_line(bookmark_list[i]).strip_edges();
+ // Limit the size of the line if too big.
+ if (line.length() > 50) {
+ line = line.substr(0, 50);
+ }
+
+ bookmarks_menu->add_item(String::num((int)bookmark_list[i] + 1) + " - \"" + line + "\"");
+ bookmarks_menu->set_item_metadata(bookmarks_menu->get_item_count() - 1, bookmark_list[i]);
+ }
+}
+
+void ScriptTextEditor::_bookmark_item_pressed(int p_idx) {
+
+ if (p_idx < 4) { // Any item before the separator.
+ _edit_option(bookmarks_menu->get_item_id(p_idx));
+ } else {
+ code_editor->goto_line(bookmarks_menu->get_item_metadata(p_idx));
+ }
+}
+
static Vector<Node *> _find_all_node_for_script(Node *p_base, Node *p_current, const Ref<Script> &p_script) {
Vector<Node *> nodes;
@@ -750,6 +793,44 @@ void ScriptTextEditor::_code_complete_script(const String &p_code, List<String>
}
}
+void ScriptTextEditor::_update_breakpoint_list() {
+
+ breakpoints_menu->clear();
+ breakpoints_menu->set_size(Size2(1, 1));
+
+ breakpoints_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_breakpoint"), DEBUG_TOGGLE_BREAKPOINT);
+ breakpoints_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_breakpoints"), DEBUG_REMOVE_ALL_BREAKPOINTS);
+ breakpoints_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_breakpoint"), DEBUG_GOTO_NEXT_BREAKPOINT);
+ breakpoints_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_breakpoint"), DEBUG_GOTO_PREV_BREAKPOINT);
+
+ Array breakpoint_list = code_editor->get_text_edit()->get_breakpoints_array();
+ if (breakpoint_list.size() == 0) {
+ return;
+ }
+
+ breakpoints_menu->add_separator();
+
+ for (int i = 0; i < breakpoint_list.size(); i++) {
+ String line = code_editor->get_text_edit()->get_line(breakpoint_list[i]).strip_edges();
+ // Limit the size of the line if too big.
+ if (line.length() > 50) {
+ line = line.substr(0, 50);
+ }
+
+ breakpoints_menu->add_item(String::num((int)breakpoint_list[i] + 1) + " - \"" + line + "\"");
+ breakpoints_menu->set_item_metadata(breakpoints_menu->get_item_count() - 1, breakpoint_list[i]);
+ }
+}
+
+void ScriptTextEditor::_breakpoint_item_pressed(int p_idx) {
+
+ if (p_idx < 4) { // Any item before the separator.
+ _edit_option(breakpoints_menu->get_item_id(p_idx));
+ } else {
+ code_editor->goto_line(breakpoints_menu->get_item_metadata(p_idx));
+ }
+}
+
void ScriptTextEditor::_breakpoint_toggled(int p_row) {
ScriptEditor::get_singleton()->get_debugger()->set_breakpoint(script->get_path(), p_row + 1, code_editor->get_text_edit()->is_line_set_as_breakpoint(p_row));
@@ -1087,7 +1168,7 @@ void ScriptTextEditor::_edit_option(int p_op) {
String selected_text = code_editor->get_text_edit()->get_selection_text();
// Yep, because it doesn't make sense to instance this dialog for every single script open...
- // So this will be delegated to the ScriptEditor
+ // So this will be delegated to the ScriptEditor.
emit_signal("search_in_files_requested", selected_text);
} break;
@@ -1253,7 +1334,11 @@ void ScriptTextEditor::_change_syntax_highlighter(int p_idx) {
void ScriptTextEditor::_bind_methods() {
ClassDB::bind_method("_validate_script", &ScriptTextEditor::_validate_script);
+ ClassDB::bind_method("_update_bookmark_list", &ScriptTextEditor::_update_bookmark_list);
+ ClassDB::bind_method("_bookmark_item_pressed", &ScriptTextEditor::_bookmark_item_pressed);
ClassDB::bind_method("_load_theme_settings", &ScriptTextEditor::_load_theme_settings);
+ ClassDB::bind_method("_update_breakpoint_list", &ScriptTextEditor::_update_breakpoint_list);
+ ClassDB::bind_method("_breakpoint_item_pressed", &ScriptTextEditor::_breakpoint_item_pressed);
ClassDB::bind_method("_breakpoint_toggled", &ScriptTextEditor::_breakpoint_toggled);
ClassDB::bind_method("_lookup_connections", &ScriptTextEditor::_lookup_connections);
ClassDB::bind_method("_update_connected_methods", &ScriptTextEditor::_update_connected_methods);
@@ -1661,11 +1746,6 @@ ScriptTextEditor::ScriptTextEditor() {
edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/auto_indent"), EDIT_AUTO_INDENT);
edit_menu->get_popup()->connect("id_pressed", this, "_edit_option");
edit_menu->get_popup()->add_separator();
- edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_breakpoint"), DEBUG_TOGGLE_BREAKPOINT);
- edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_breakpoints"), DEBUG_REMOVE_ALL_BREAKPOINTS);
- edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_breakpoint"), DEBUG_GOTO_NEXT_BREAKPOINT);
- edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_breakpoint"), DEBUG_GOTO_PREV_BREAKPOINT);
- edit_menu->get_popup()->add_separator();
PopupMenu *convert_case = memnew(PopupMenu);
convert_case->set_name("convert_case");
@@ -1703,18 +1783,29 @@ ScriptTextEditor::ScriptTextEditor() {
search_menu->get_popup()->connect("id_pressed", this, "_edit_option");
- PopupMenu *bookmarks = memnew(PopupMenu);
- bookmarks->set_name("bookmarks");
- edit_menu->get_popup()->add_child(bookmarks);
- edit_menu->get_popup()->add_submenu_item(TTR("Bookmarks"), "bookmarks");
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_bookmarks"), BOOKMARK_REMOVE_ALL);
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
- bookmarks->connect("id_pressed", this, "_edit_option");
-
edit_hb->add_child(edit_menu);
+ MenuButton *goto_menu = memnew(MenuButton);
+ edit_hb->add_child(goto_menu);
+ goto_menu->set_text(TTR("Go To"));
+ goto_menu->set_switch_on_hover(true);
+
+ bookmarks_menu = memnew(PopupMenu);
+ bookmarks_menu->set_name("Bookmarks");
+ goto_menu->get_popup()->add_child(bookmarks_menu);
+ goto_menu->get_popup()->add_submenu_item(TTR("Bookmarks"), "Bookmarks");
+ _update_bookmark_list();
+ bookmarks_menu->connect("about_to_show", this, "_update_bookmark_list");
+ bookmarks_menu->connect("index_pressed", this, "_bookmark_item_pressed");
+
+ breakpoints_menu = memnew(PopupMenu);
+ breakpoints_menu->set_name("Breakpoints");
+ goto_menu->get_popup()->add_child(breakpoints_menu);
+ goto_menu->get_popup()->add_submenu_item(TTR("Breakpoints"), "Breakpoints");
+ _update_breakpoint_list();
+ breakpoints_menu->connect("about_to_show", this, "_update_breakpoint_list");
+ breakpoints_menu->connect("index_pressed", this, "_breakpoint_item_pressed");
+
quick_open = memnew(ScriptEditorQuickOpen);
add_child(quick_open);
quick_open->connect("goto_line", this, "_goto_line");
diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h
index 24d40a5eec..b53383b117 100644
--- a/editor/plugins/script_text_editor.h
+++ b/editor/plugins/script_text_editor.h
@@ -70,6 +70,8 @@ class ScriptTextEditor : public ScriptEditorBase {
MenuButton *edit_menu;
MenuButton *search_menu;
+ PopupMenu *bookmarks_menu;
+ PopupMenu *breakpoints_menu;
PopupMenu *highlighter_menu;
PopupMenu *context_menu;
@@ -142,10 +144,13 @@ class ScriptTextEditor : public ScriptEditorBase {
protected:
static void _code_complete_scripts(void *p_ud, const String &p_code, List<String> *r_options, bool &r_force);
+ void _update_breakpoint_list();
+ void _breakpoint_item_pressed(int p_idx);
void _breakpoint_toggled(int p_row);
- //no longer virtual
- void _validate_script();
+ void _validate_script(); // No longer virtual.
+ void _update_bookmark_list();
+ void _bookmark_item_pressed(int p_idx);
void _code_complete_script(const String &p_code, List<String> *r_options, bool &r_force);
void _load_theme_settings();
void _set_theme_for_script();
@@ -201,6 +206,7 @@ public:
virtual void goto_line(int p_line, bool p_with_error = false);
void goto_line_selection(int p_line, int p_begin, int p_end);
+ void goto_line_centered(int p_line);
virtual void set_executing_line(int p_line);
virtual void clear_executing_line();
diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp
index f9ca38b919..04d13f0027 100644
--- a/editor/plugins/shader_editor_plugin.cpp
+++ b/editor/plugins/shader_editor_plugin.cpp
@@ -124,7 +124,7 @@ void ShaderTextEditor::_load_theme_settings() {
get_text_edit()->add_color_override("line_number_color", line_number_color);
get_text_edit()->add_color_override("caret_color", caret_color);
get_text_edit()->add_color_override("caret_background_color", caret_background_color);
- get_text_edit()->add_color_override("font_selected_color", text_selected_color);
+ get_text_edit()->add_color_override("font_color_selected", text_selected_color);
get_text_edit()->add_color_override("selection_color", selection_color);
get_text_edit()->add_color_override("brace_mismatch_color", brace_mismatch_color);
get_text_edit()->add_color_override("current_line_color", current_line_color);
@@ -386,6 +386,9 @@ void ShaderEditor::_bind_methods() {
ClassDB::bind_method("_editor_settings_changed", &ShaderEditor::_editor_settings_changed);
ClassDB::bind_method("_text_edit_gui_input", &ShaderEditor::_text_edit_gui_input);
+ ClassDB::bind_method("_update_bookmark_list", &ShaderEditor::_update_bookmark_list);
+ ClassDB::bind_method("_bookmark_item_pressed", &ShaderEditor::_bookmark_item_pressed);
+
ClassDB::bind_method("_menu_option", &ShaderEditor::_menu_option);
ClassDB::bind_method("_params_changed", &ShaderEditor::_params_changed);
ClassDB::bind_method("apply_shaders", &ShaderEditor::apply_shaders);
@@ -521,6 +524,43 @@ void ShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) {
}
}
+void ShaderEditor::_update_bookmark_list() {
+
+ bookmarks_menu->get_popup()->clear();
+
+ bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
+ bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_bookmarks"), BOOKMARK_REMOVE_ALL);
+ bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
+ bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
+
+ Array bookmark_list = shader_editor->get_text_edit()->get_bookmarks_array();
+ if (bookmark_list.size() == 0) {
+ return;
+ }
+
+ bookmarks_menu->get_popup()->add_separator();
+
+ for (int i = 0; i < bookmark_list.size(); i++) {
+ String line = shader_editor->get_text_edit()->get_line(bookmark_list[i]).strip_edges();
+ // Limit the size of the line if too big.
+ if (line.length() > 50) {
+ line = line.substr(0, 50);
+ }
+
+ bookmarks_menu->get_popup()->add_item(String::num((int)bookmark_list[i] + 1) + " - \"" + line + "\"");
+ bookmarks_menu->get_popup()->set_item_metadata(bookmarks_menu->get_popup()->get_item_count() - 1, bookmark_list[i]);
+ }
+}
+
+void ShaderEditor::_bookmark_item_pressed(int p_idx) {
+
+ if (p_idx < 4) { // Any item before the separator.
+ _menu_option(bookmarks_menu->get_popup()->get_item_id(p_idx));
+ } else {
+ shader_editor->goto_line(bookmarks_menu->get_popup()->get_item_metadata(p_idx));
+ }
+}
+
void ShaderEditor::_make_context_menu(bool p_selection) {
context_menu->clear();
@@ -539,6 +579,7 @@ void ShaderEditor::_make_context_menu(bool p_selection) {
context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/indent_left"), EDIT_INDENT_LEFT);
context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/indent_right"), EDIT_INDENT_RIGHT);
context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_comment"), EDIT_TOGGLE_COMMENT);
+ context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
context_menu->set_position(get_global_transform().xform(get_local_mouse_position()));
context_menu->set_size(Vector2(1, 1));
@@ -609,20 +650,18 @@ ShaderEditor::ShaderEditor(EditorNode *p_node) {
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_line"), SEARCH_GOTO_LINE);
search_menu->get_popup()->connect("id_pressed", this, "_menu_option");
- PopupMenu *bookmarks = memnew(PopupMenu);
- bookmarks->set_name("bookmarks");
- edit_menu->get_popup()->add_child(bookmarks);
- edit_menu->get_popup()->add_submenu_item(TTR("Bookmarks"), "bookmarks");
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_bookmarks"), BOOKMARK_REMOVE_ALL);
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
- bookmarks->connect("id_pressed", this, "_edit_option");
+ bookmarks_menu = memnew(MenuButton);
+ bookmarks_menu->set_text(TTR("Bookmarks"));
+ bookmarks_menu->set_switch_on_hover(true);
+ _update_bookmark_list();
+ bookmarks_menu->connect("about_to_show", this, "_update_bookmark_list");
+ bookmarks_menu->get_popup()->connect("index_pressed", this, "_bookmark_item_pressed");
add_child(main_container);
main_container->add_child(hbc);
hbc->add_child(search_menu);
hbc->add_child(edit_menu);
+ hbc->add_child(bookmarks_menu);
hbc->add_style_override("panel", p_node->get_gui_base()->get_stylebox("ScriptEditorPanel", "EditorStyles"));
main_container->add_child(shader_editor);
diff --git a/editor/plugins/shader_editor_plugin.h b/editor/plugins/shader_editor_plugin.h
index b56c1451ad..f01e39189f 100644
--- a/editor/plugins/shader_editor_plugin.h
+++ b/editor/plugins/shader_editor_plugin.h
@@ -99,6 +99,7 @@ class ShaderEditor : public PanelContainer {
MenuButton *edit_menu;
MenuButton *search_menu;
+ MenuButton *bookmarks_menu;
MenuButton *settings_menu;
PopupMenu *context_menu;
uint64_t idle;
@@ -124,6 +125,9 @@ protected:
void _make_context_menu(bool p_selection);
void _text_edit_gui_input(const Ref<InputEvent> &ev);
+ void _update_bookmark_list();
+ void _bookmark_item_pressed(int p_idx);
+
public:
void apply_shaders();
diff --git a/editor/plugins/skeleton_editor_plugin.h b/editor/plugins/skeleton_editor_plugin.h
index 33a9128a11..558e954815 100644
--- a/editor/plugins/skeleton_editor_plugin.h
+++ b/editor/plugins/skeleton_editor_plugin.h
@@ -69,7 +69,7 @@ protected:
PhysicalBone *create_physical_bone(int bone_id, int bone_child_id, const Vector<BoneInfo> &bones_infos);
public:
- void edit(Skeleton *p_mesh);
+ void edit(Skeleton *p_node);
SkeletonEditor();
~SkeletonEditor();
diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h
index 701b9e8144..3bddc6d6d4 100644
--- a/editor/plugins/spatial_editor_plugin.h
+++ b/editor/plugins/spatial_editor_plugin.h
@@ -133,7 +133,7 @@ public:
virtual bool is_editable() const;
void set_hidden(bool p_hidden);
- void set_plugin(EditorSpatialGizmoPlugin *p_gizmo);
+ void set_plugin(EditorSpatialGizmoPlugin *p_plugin);
EditorSpatialGizmo();
~EditorSpatialGizmo();
diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp
index c509202a88..d91de6cbf6 100644
--- a/editor/plugins/sprite_frames_editor_plugin.cpp
+++ b/editor/plugins/sprite_frames_editor_plugin.cpp
@@ -232,7 +232,8 @@ void SpriteFramesEditor::_notification(int p_what) {
_delete->set_icon(get_icon("Remove", "EditorIcons"));
new_anim->set_icon(get_icon("New", "EditorIcons"));
remove_anim->set_icon(get_icon("Remove", "EditorIcons"));
- } // Fallthrough.
+ FALLTHROUGH;
+ }
case NOTIFICATION_THEME_CHANGED: {
splite_sheet_scroll->add_style_override("bg", get_stylebox("bg", "Tree"));
} break;
diff --git a/editor/plugins/text_editor.cpp b/editor/plugins/text_editor.cpp
index eeef3397d2..fae88f4eb7 100644
--- a/editor/plugins/text_editor.cpp
+++ b/editor/plugins/text_editor.cpp
@@ -116,7 +116,7 @@ void TextEditor::_load_theme_settings() {
text_edit->add_color_override("line_number_color", line_number_color);
text_edit->add_color_override("caret_color", caret_color);
text_edit->add_color_override("caret_background_color", caret_background_color);
- text_edit->add_color_override("font_selected_color", text_selected_color);
+ text_edit->add_color_override("font_color_selected", text_selected_color);
text_edit->add_color_override("selection_color", selection_color);
text_edit->add_color_override("brace_mismatch_color", brace_mismatch_color);
text_edit->add_color_override("current_line_color", current_line_color);
@@ -219,6 +219,43 @@ void TextEditor::_validate_script() {
emit_signal("edited_script_changed");
}
+void TextEditor::_update_bookmark_list() {
+
+ bookmarks_menu->get_popup()->clear();
+
+ bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
+ bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_bookmarks"), BOOKMARK_REMOVE_ALL);
+ bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
+ bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
+
+ Array bookmark_list = code_editor->get_text_edit()->get_bookmarks_array();
+ if (bookmark_list.size() == 0) {
+ return;
+ }
+
+ bookmarks_menu->get_popup()->add_separator();
+
+ for (int i = 0; i < bookmark_list.size(); i++) {
+ String line = code_editor->get_text_edit()->get_line(bookmark_list[i]).strip_edges();
+ // Limit the size of the line if too big.
+ if (line.length() > 50) {
+ line = line.substr(0, 50);
+ }
+
+ bookmarks_menu->get_popup()->add_item(String::num((int)bookmark_list[i] + 1) + " - \"" + line + "\"");
+ bookmarks_menu->get_popup()->set_item_metadata(bookmarks_menu->get_popup()->get_item_count() - 1, bookmark_list[i]);
+ }
+}
+
+void TextEditor::_bookmark_item_pressed(int p_idx) {
+
+ if (p_idx < 4) { // Any item before the separator.
+ _edit_option(bookmarks_menu->get_popup()->get_item_id(p_idx));
+ } else {
+ code_editor->goto_line(bookmarks_menu->get_popup()->get_item_metadata(p_idx));
+ }
+}
+
void TextEditor::apply_code() {
text_file->set_text(code_editor->get_text_edit()->get_text());
}
@@ -471,6 +508,8 @@ void TextEditor::_convert_case(CodeTextEditor::CaseStyle p_case) {
void TextEditor::_bind_methods() {
ClassDB::bind_method("_validate_script", &TextEditor::_validate_script);
+ ClassDB::bind_method("_update_bookmark_list", &TextEditor::_update_bookmark_list);
+ ClassDB::bind_method("_bookmark_item_pressed", &TextEditor::_bookmark_item_pressed);
ClassDB::bind_method("_load_theme_settings", &TextEditor::_load_theme_settings);
ClassDB::bind_method("_edit_option", &TextEditor::_edit_option);
ClassDB::bind_method("_change_syntax_highlighter", &TextEditor::_change_syntax_highlighter);
@@ -547,6 +586,7 @@ void TextEditor::_make_context_menu(bool p_selection, bool p_can_fold, bool p_is
context_menu->add_separator();
context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/indent_left"), EDIT_INDENT_LEFT);
context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/indent_right"), EDIT_INDENT_RIGHT);
+ context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
if (p_selection) {
context_menu->add_separator();
@@ -584,6 +624,7 @@ TextEditor::TextEditor() {
search_menu = memnew(MenuButton);
edit_hb->add_child(search_menu);
search_menu->set_text(TTR("Search"));
+ search_menu->set_switch_on_hover(true);
search_menu->get_popup()->connect("id_pressed", this, "_edit_option");
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/find"), SEARCH_FIND);
@@ -598,6 +639,7 @@ TextEditor::TextEditor() {
edit_menu = memnew(MenuButton);
edit_menu->set_text(TTR("Edit"));
+ edit_menu->set_switch_on_hover(true);
edit_menu->get_popup()->connect("id_pressed", this, "_edit_option");
edit_hb->add_child(edit_menu);
@@ -642,15 +684,13 @@ TextEditor::TextEditor() {
highlighter_menu->add_radio_check_item(TTR("Standard"));
highlighter_menu->connect("id_pressed", this, "_change_syntax_highlighter");
- PopupMenu *bookmarks = memnew(PopupMenu);
- bookmarks->set_name("bookmarks");
- edit_menu->get_popup()->add_child(bookmarks);
- edit_menu->get_popup()->add_submenu_item(TTR("Bookmarks"), "bookmarks");
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_bookmarks"), BOOKMARK_REMOVE_ALL);
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
- bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
- bookmarks->connect("id_pressed", this, "_edit_option");
+ bookmarks_menu = memnew(MenuButton);
+ edit_hb->add_child(bookmarks_menu);
+ bookmarks_menu->set_text(TTR("Bookmarks"));
+ bookmarks_menu->set_switch_on_hover(true);
+ _update_bookmark_list();
+ bookmarks_menu->connect("about_to_show", this, "_update_bookmark_list");
+ bookmarks_menu->get_popup()->connect("index_pressed", this, "_bookmark_item_pressed");
code_editor->get_text_edit()->set_drag_forwarding(this);
}
diff --git a/editor/plugins/text_editor.h b/editor/plugins/text_editor.h
index 277e93fd39..ae0c0bcf93 100644
--- a/editor/plugins/text_editor.h
+++ b/editor/plugins/text_editor.h
@@ -46,6 +46,7 @@ private:
MenuButton *edit_menu;
PopupMenu *highlighter_menu;
MenuButton *search_menu;
+ MenuButton *bookmarks_menu;
PopupMenu *context_menu;
GotoLineDialog *goto_line_dialog;
@@ -110,6 +111,9 @@ protected:
void _validate_script();
+ void _update_bookmark_list();
+ void _bookmark_item_pressed(int p_idx);
+
public:
virtual void add_syntax_highlighter(SyntaxHighlighter *p_highlighter);
virtual void set_syntax_highlighter(SyntaxHighlighter *p_highlighter);
diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp
index 4e15bd5116..8f58fbd6ab 100644
--- a/editor/plugins/texture_region_editor_plugin.cpp
+++ b/editor/plugins/texture_region_editor_plugin.cpp
@@ -192,8 +192,8 @@ void TextureRegionEditor::_region_draw() {
}
updating_scroll = false;
- float margins[4];
if (node_ninepatch || obj_styleBox.is_valid()) {
+ float margins[4];
if (node_ninepatch) {
margins[0] = node_ninepatch->get_patch_margin(MARGIN_TOP);
margins[1] = node_ninepatch->get_patch_margin(MARGIN_BOTTOM);
@@ -204,6 +204,11 @@ void TextureRegionEditor::_region_draw() {
margins[1] = obj_styleBox->get_margin_size(MARGIN_BOTTOM);
margins[2] = obj_styleBox->get_margin_size(MARGIN_LEFT);
margins[3] = obj_styleBox->get_margin_size(MARGIN_RIGHT);
+ } else {
+ margins[0] = 0;
+ margins[1] = 0;
+ margins[2] = 0;
+ margins[3] = 0;
}
Vector2 pos[4] = {
mtx.basis_xform(Vector2(0, margins[0])) + Vector2(0, endpoints[0].y - draw_ofs.y * draw_zoom),
diff --git a/editor/plugins/tile_map_editor_plugin.cpp b/editor/plugins/tile_map_editor_plugin.cpp
index 16f93b8fd3..3735cceb15 100644
--- a/editor/plugins/tile_map_editor_plugin.cpp
+++ b/editor/plugins/tile_map_editor_plugin.cpp
@@ -61,8 +61,8 @@ void TileMapEditor::_notification(int p_what) {
if (is_visible_in_tree()) {
_update_palette();
}
-
- } // fallthrough
+ FALLTHROUGH;
+ }
case NOTIFICATION_ENTER_TREE: {
@@ -782,8 +782,9 @@ void TileMapEditor::_draw_cell(Control *p_viewport, int p_cell, const Point2i &p
r.position += (r.size + Vector2(spacing, spacing)) * offset;
}
Size2 sc = p_xform.get_scale();
- /* For a future CheckBox to Center Texture:
- Size2 cell_size = node->get_cell_size(); */
+ Size2 cell_size = node->get_cell_size();
+ bool centered_texture = node->is_centered_textures_enabled();
+ bool compatibility_mode_enabled = node->is_compatibility_mode_enabled();
Rect2 rect = Rect2();
rect.position = node->map_to_world(p_point) + node->get_cell_draw_offset();
@@ -793,13 +794,24 @@ void TileMapEditor::_draw_cell(Control *p_viewport, int p_cell, const Point2i &p
rect.size = r.size;
}
+ if (compatibility_mode_enabled && !centered_texture) {
+ if (rect.size.y > rect.size.x) {
+ if ((p_flip_h && (p_flip_v || p_transpose)) || (p_flip_v && !p_transpose))
+ tile_ofs.y += rect.size.y - rect.size.x;
+ } else if (rect.size.y < rect.size.x) {
+ if ((p_flip_v && (p_flip_h || p_transpose)) || (p_flip_h && !p_transpose))
+ tile_ofs.x += rect.size.x - rect.size.y;
+ }
+ }
+
if (p_transpose) {
SWAP(tile_ofs.x, tile_ofs.y);
- /* For a future CheckBox to Center Texture:
- rect.position.x += cell_size.x / 2 - rect.size.y / 2;
- rect.position.y += cell_size.y / 2 - rect.size.x / 2;
- } else {
- rect.position += cell_size / 2 - rect.size / 2; */
+ if (centered_texture) {
+ rect.position.x += cell_size.x / 2 - rect.size.y / 2;
+ rect.position.y += cell_size.y / 2 - rect.size.x / 2;
+ }
+ } else if (centered_texture) {
+ rect.position += cell_size / 2 - rect.size / 2;
}
if (p_flip_h) {
@@ -812,7 +824,44 @@ void TileMapEditor::_draw_cell(Control *p_viewport, int p_cell, const Point2i &p
tile_ofs.y *= -1.0;
}
- rect.position += tile_ofs;
+ if (compatibility_mode_enabled && !centered_texture) {
+ if (node->get_tile_origin() == TileMap::TILE_ORIGIN_TOP_LEFT) {
+
+ rect.position += tile_ofs;
+ } else if (node->get_tile_origin() == TileMap::TILE_ORIGIN_BOTTOM_LEFT) {
+
+ rect.position += tile_ofs;
+
+ if (p_transpose) {
+ if (p_flip_h)
+ rect.position.x -= cell_size.x;
+ else
+ rect.position.x += cell_size.x;
+ } else {
+ if (p_flip_v)
+ rect.position.y -= cell_size.y;
+ else
+ rect.position.y += cell_size.y;
+ }
+
+ } else if (node->get_tile_origin() == TileMap::TILE_ORIGIN_CENTER) {
+
+ rect.position += tile_ofs;
+
+ if (p_flip_h)
+ rect.position.x -= cell_size.x / 2;
+ else
+ rect.position.x += cell_size.x / 2;
+
+ if (p_flip_v)
+ rect.position.y -= cell_size.y / 2;
+ else
+ rect.position.y += cell_size.y / 2;
+ }
+ } else {
+ rect.position += tile_ofs;
+ }
+
rect.position = p_xform.xform(rect.position);
rect.size *= sc;
@@ -1848,7 +1897,7 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
manual_position = Vector2(0, 0);
canvas_item_editor_viewport = NULL;
editor = p_editor;
- undo_redo = editor->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
tool = TOOL_NONE;
selection_active = false;
diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp
index 4b225fddf5..35cfdf15be 100644
--- a/editor/plugins/tile_set_editor_plugin.cpp
+++ b/editor/plugins/tile_set_editor_plugin.cpp
@@ -263,7 +263,7 @@ void TileSetEditor::_notification(int p_what) {
TileSetEditor::TileSetEditor(EditorNode *p_editor) {
editor = p_editor;
- undo_redo = editor->get_undo_redo();
+ undo_redo = EditorNode::get_undo_redo();
current_tile = -1;
VBoxContainer *left_container = memnew(VBoxContainer);
@@ -829,8 +829,8 @@ void TileSetEditor::_on_workspace_draw() {
case EDITMODE_BITMASK: {
Color c(1, 0, 0, 0.5);
Color ci(0.3, 0.6, 1, 0.5);
- for (float x = 0; x < region.size.x / (spacing + size.x); x++) {
- for (float y = 0; y < region.size.y / (spacing + size.y); y++) {
+ for (int x = 0; x < region.size.x / (spacing + size.x); x++) {
+ for (int y = 0; y < region.size.y / (spacing + size.y); y++) {
Vector2 coord(x, y);
Point2 anchor(coord.x * (spacing + size.x), coord.y * (spacing + size.y));
anchor += WORKSPACE_MARGIN;
@@ -974,6 +974,7 @@ void TileSetEditor::_on_workspace_draw() {
workspace->draw_rect(region, c, false);
}
}
+ delete tiles;
if (edit_mode == EDITMODE_REGION) {
if (workspace_mode != WORKSPACE_EDIT) {
@@ -1068,6 +1069,7 @@ void TileSetEditor::_on_workspace_overlay_draw() {
c = Color(0.1, 0.1, 0.1);
workspace_overlay->draw_string(font, region.position, tile_id_name, c);
}
+ delete tiles;
}
int t_id = get_current_tile();
@@ -1115,10 +1117,12 @@ void TileSetEditor::_on_workspace_input(const Ref<InputEvent> &p_ie) {
set_current_tile(t_id);
workspace->update();
workspace_overlay->update();
+ delete tiles;
return;
}
}
}
+ delete tiles;
}
}
@@ -2009,11 +2013,7 @@ bool TileSetEditor::_sort_tiles(Variant p_a, Variant p_b) {
return true;
} else if (pos_a.y == pos_b.y) {
- if (pos_a.x < pos_b.x) {
- return true;
- } else {
- return false;
- }
+ return (pos_a.x < pos_b.x);
} else {
return false;
}
@@ -3122,6 +3122,7 @@ void TileSetEditor::update_workspace_minsize() {
workspace_min_size.y = region.position.y + region.size.y;
}
}
+ delete tiles;
workspace->set_custom_minimum_size(workspace_min_size + WORKSPACE_MARGIN * 2);
workspace_container->set_custom_minimum_size(workspace_min_size + WORKSPACE_MARGIN * 2);
diff --git a/editor/plugins/tile_set_editor_plugin.h b/editor/plugins/tile_set_editor_plugin.h
index b417414ae0..04e8d65155 100644
--- a/editor/plugins/tile_set_editor_plugin.h
+++ b/editor/plugins/tile_set_editor_plugin.h
@@ -31,7 +31,6 @@
#ifndef TILE_SET_EDITOR_PLUGIN_H
#define TILE_SET_EDITOR_PLUGIN_H
-#include "editor/editor_name_dialog.h"
#include "editor/editor_node.h"
#include "scene/2d/sprite.h"
#include "scene/resources/concave_polygon_shape_2d.h"
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index bfb005cd0b..7b4ae0f2e9 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -158,10 +158,7 @@ bool VisualShaderEditor::_is_available(int p_mode) {
p_mode = temp_mode;
}
- if (p_mode != -1 && ((p_mode & current_mode) == 0)) {
- return false;
- }
- return true;
+ return (p_mode == -1 || (p_mode & current_mode) != 0);
}
void VisualShaderEditor::_update_options_menu() {
@@ -1241,6 +1238,30 @@ void VisualShaderEditor::_add_node(int p_idx, int p_op_idx) {
undo_redo->add_do_method(expr, "set_size", Size2(250 * EDSCALE, 150 * EDSCALE));
}
+ if (to_node != -1 && to_slot != -1) {
+ if (vsnode->get_output_port_count() > 0) {
+
+ int _from_node = id_to_use;
+ int _from_slot = 0;
+
+ if (visual_shader->is_port_types_compatible(vsnode->get_output_port_type(_from_slot), visual_shader->get_node(type, to_node)->get_input_port_type(to_slot))) {
+ undo_redo->add_do_method(visual_shader.ptr(), "connect_nodes", type, _from_node, _from_slot, to_node, to_slot);
+ undo_redo->add_undo_method(visual_shader.ptr(), "disconnect_nodes", type, _from_node, _from_slot, to_node, to_slot);
+ }
+ }
+ } else if (from_node != -1 && from_slot != -1) {
+ if (vsnode->get_input_port_count() > 0) {
+
+ int _to_node = id_to_use;
+ int _to_slot = 0;
+
+ if (visual_shader->is_port_types_compatible(visual_shader->get_node(type, from_node)->get_output_port_type(from_slot), vsnode->get_input_port_type(_to_slot))) {
+ undo_redo->add_do_method(visual_shader.ptr(), "connect_nodes", type, from_node, from_slot, _to_node, _to_slot);
+ undo_redo->add_undo_method(visual_shader.ptr(), "disconnect_nodes", type, from_node, from_slot, _to_node, _to_slot);
+ }
+ }
+ }
+
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
@@ -1310,6 +1331,15 @@ void VisualShaderEditor::_disconnection_request(const String &p_from, int p_from
}
void VisualShaderEditor::_connection_to_empty(const String &p_from, int p_from_slot, const Vector2 &p_release_position) {
+ from_node = p_from.to_int();
+ from_slot = p_from_slot;
+ _show_members_dialog(true);
+}
+
+void VisualShaderEditor::_connection_from_empty(const String &p_to, int p_to_slot, const Vector2 &p_release_position) {
+ to_node = p_to.to_int();
+ to_slot = p_to_slot;
+ _show_members_dialog(true);
}
void VisualShaderEditor::_delete_request(int which) {
@@ -1375,8 +1405,6 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> p_event) {
void VisualShaderEditor::_show_members_dialog(bool at_mouse_pos) {
- members_dialog->popup();
-
if (at_mouse_pos) {
saved_node_pos_dirty = true;
saved_node_pos = graph->get_local_mouse_position();
@@ -1385,6 +1413,7 @@ void VisualShaderEditor::_show_members_dialog(bool at_mouse_pos) {
members_dialog->popup();
members_dialog->set_position(gpos);
} else {
+ members_dialog->popup();
saved_node_pos_dirty = false;
members_dialog->set_position(graph->get_global_position() + Point2(5 * EDSCALE, 65 * EDSCALE));
}
@@ -1701,6 +1730,13 @@ void VisualShaderEditor::_member_create() {
}
}
+void VisualShaderEditor::_member_cancel() {
+ to_node = -1;
+ to_slot = -1;
+ from_node = -1;
+ from_slot = -1;
+}
+
void VisualShaderEditor::_tools_menu_option(int p_idx) {
TreeItem *category = members->get_root()->get_children();
@@ -1812,6 +1848,7 @@ void VisualShaderEditor::_bind_methods() {
ClassDB::bind_method("_edit_port_default_input", &VisualShaderEditor::_edit_port_default_input);
ClassDB::bind_method("_port_edited", &VisualShaderEditor::_port_edited);
ClassDB::bind_method("_connection_to_empty", &VisualShaderEditor::_connection_to_empty);
+ ClassDB::bind_method("_connection_from_empty", &VisualShaderEditor::_connection_from_empty);
ClassDB::bind_method("_line_edit_focus_out", &VisualShaderEditor::_line_edit_focus_out);
ClassDB::bind_method("_line_edit_changed", &VisualShaderEditor::_line_edit_changed);
ClassDB::bind_method("_port_name_focus_out", &VisualShaderEditor::_port_name_focus_out);
@@ -1843,6 +1880,7 @@ void VisualShaderEditor::_bind_methods() {
ClassDB::bind_method("_member_selected", &VisualShaderEditor::_member_selected);
ClassDB::bind_method("_member_unselected", &VisualShaderEditor::_member_unselected);
ClassDB::bind_method("_member_create", &VisualShaderEditor::_member_create);
+ ClassDB::bind_method("_member_cancel", &VisualShaderEditor::_member_cancel);
}
VisualShaderEditor *VisualShaderEditor::singleton = NULL;
@@ -1855,6 +1893,11 @@ VisualShaderEditor::VisualShaderEditor() {
saved_node_pos = Point2(0, 0);
ShaderLanguage::get_keyword_list(&keyword_list);
+ to_node = -1;
+ to_slot = -1;
+ from_node = -1;
+ from_slot = -1;
+
graph = memnew(GraphEdit);
add_child(graph);
graph->set_drag_forwarding(this);
@@ -1871,6 +1914,8 @@ VisualShaderEditor::VisualShaderEditor() {
graph->connect("duplicate_nodes_request", this, "_duplicate_nodes");
graph->connect("delete_nodes_request", this, "_on_nodes_delete");
graph->connect("gui_input", this, "_graph_gui_input");
+ graph->connect("connection_to_empty", this, "_connection_to_empty");
+ graph->connect("connection_from_empty", this, "_connection_from_empty");
graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SCALAR, VisualShaderNode::PORT_TYPE_SCALAR);
graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SCALAR, VisualShaderNode::PORT_TYPE_VECTOR);
graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SCALAR, VisualShaderNode::PORT_TYPE_BOOLEAN);
@@ -1956,6 +2001,7 @@ VisualShaderEditor::VisualShaderEditor() {
members_dialog->get_ok()->set_disabled(true);
members_dialog->set_resizable(true);
members_dialog->set_as_minsize();
+ members_dialog->connect("hide", this, "_member_cancel");
add_child(members_dialog);
alert = memnew(AcceptDialog);
@@ -2003,23 +2049,23 @@ VisualShaderEditor::VisualShaderEditor() {
// INPUT
// SPATIAL-FOR-ALL
-
- add_options.push_back(AddOption("Camera", "Input", "All", "VisualShaderNodeInput", TTR("'camera' input parameter for all shader modes."), "camera", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("InvCamera", "Input", "All", "VisualShaderNodeInput", TTR("'inv_camera' input parameter for all shader modes."), "inv_camera", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("InvProjection", "Input", "All", "VisualShaderNodeInput", TTR("'inv_projection' input parameter for all shader modes."), "inv_projection", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Normal", "Input", "All", "VisualShaderNodeInput", TTR("'normal' input parameter for all shader modes."), "normal", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Projection", "Input", "All", "VisualShaderNodeInput", TTR("'projection' input parameter for all shader modes."), "projection", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Time", "Input", "All", "VisualShaderNodeInput", TTR("'time' input parameter for all shader modes."), "time", VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("ViewportSize", "Input", "All", "VisualShaderNodeInput", TTR("'viewport_size' input parameter for all shader modes."), "viewport_size", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("World", "Input", "All", "VisualShaderNodeInput", TTR("'world' input parameter for all shader modes."), "world", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
+ const String input_param_shader_modes = TTR("'%s' input parameter for all shader modes.");
+ add_options.push_back(AddOption("Camera", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "camera"), "camera", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("InvCamera", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "inv_camera"), "inv_camera", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("InvProjection", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "inv_projection"), "inv_projection", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Normal", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "normal"), "normal", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Projection", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "camera"), "projection", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Time", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "time"), "time", VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("ViewportSize", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "viewport_size"), "viewport_size", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("World", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "world"), "world", VisualShaderNode::PORT_TYPE_TRANSFORM, -1, Shader::MODE_SPATIAL));
// CANVASITEM-FOR-ALL
- add_options.push_back(AddOption("Alpha", "Input", "All", "VisualShaderNodeInput", TTR("'alpha' input parameter for all shader modes."), "alpha", VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("Color", "Input", "All", "VisualShaderNodeInput", TTR("'color' input parameter for all shader modes."), "color", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("TexturePixelSize", "Input", "All", "VisualShaderNodeInput", TTR("'texture_pixel_size' input parameter for all shader modes."), "texture_pixel_size", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("Time", "Input", "All", "VisualShaderNodeInput", TTR("'time' input parameter for all shader modes."), "time", VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("UV", "Input", "All", "VisualShaderNodeInput", TTR("'uv' input parameter for all shader modes."), "uv", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("Alpha", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "alpha"), "alpha", VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("Color", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "color"), "color", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("TexturePixelSize", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "texture_pixel_size"), "texture_pixel_size", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("Time", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "time"), "time", VisualShaderNode::PORT_TYPE_SCALAR, -1, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("UV", "Input", "All", "VisualShaderNodeInput", vformat(input_param_shader_modes, "uv"), "uv", VisualShaderNode::PORT_TYPE_VECTOR, -1, Shader::MODE_CANVAS_ITEM));
/////////////////
@@ -2027,81 +2073,88 @@ VisualShaderEditor::VisualShaderEditor() {
// SPATIAL INPUTS
- add_options.push_back(AddOption("Alpha", "Input", "Fragment", "VisualShaderNodeInput", TTR("'alpha' input parameter for vertex and fragment shader modes."), "alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Binormal", "Input", "Fragment", "VisualShaderNodeInput", TTR("'binormal' input parameter for vertex and fragment shader modes."), "binormal", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Color", "Input", "Fragment", "VisualShaderNodeInput", TTR("'color' input parameter for vertex and fragment shader modes."), "color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("FragCoord", "Input", "Fragment", "VisualShaderNodeInput", TTR("'fragcoord' input parameter for fragment and light shader modes."), "fragcoord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("PointCoord", "Input", "Fragment", "VisualShaderNodeInput", TTR("'point_coord' input parameter for fragment shader mode."), "point_coord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("ScreenUV", "Input", "Fragment", "VisualShaderNodeInput", TTR("'screen_uv' input parameter for fragment shader mode."), "screen_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Side", "Input", "Fragment", "VisualShaderNodeInput", TTR("'side' input parameter for fragment shader mode."), "side", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Tangent", "Input", "Fragment", "VisualShaderNodeInput", TTR("'tangent' input parameter for vertex and fragment shader modes."), "tangent", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("UV", "Input", "Fragment", "VisualShaderNodeInput", TTR("'uv' input parameter for vertex and fragment shader modes."), "uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("UV2", "Input", "Fragment", "VisualShaderNodeInput", TTR("'uv2' input parameter for vertex and fragment shader modes."), "uv2", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Vertex", "Input", "Fragment", "VisualShaderNodeInput", TTR("'vertex' input parameter for vertex and fragment shader modes."), "vertex", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("View", "Input", "Fragment", "VisualShaderNodeInput", TTR("'view' input parameter for fragment and light shader modes."), "view", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
-
- add_options.push_back(AddOption("Albedo", "Input", "Light", "VisualShaderNodeInput", TTR("'albedo' input parameter for light shader mode."), "albedo", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Attenuation", "Input", "Light", "VisualShaderNodeInput", TTR("'attenuation' input parameter for light shader mode."), "attenuation", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Diffuse", "Input", "Light", "VisualShaderNodeInput", TTR("'diffuse' input parameter for light shader mode."), "diffuse", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("FragCoord", "Input", "Light", "VisualShaderNodeInput", TTR("'fragcoord' input parameter for fragment and light shader modes."), "fragcoord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Light", "Input", "Light", "VisualShaderNodeInput", TTR("'light' input parameter for light shader mode."), "light", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("LightColor", "Input", "Light", "VisualShaderNodeInput", TTR("'light_color' input parameter for light shader mode."), "light_color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Roughness", "Input", "Light", "VisualShaderNodeInput", TTR("'roughness' input parameter for light shader mode."), "roughness", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Specular", "Input", "Light", "VisualShaderNodeInput", TTR("'specular' input parameter for light shader mode."), "specular", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Transmission", "Input", "Light", "VisualShaderNodeInput", TTR("'transmission' input parameter for light shader mode."), "transmission", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("View", "Input", "Light", "VisualShaderNodeInput", TTR("'view' input parameter for fragment and light shader modes."), "view", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
-
- add_options.push_back(AddOption("Alpha", "Input", "Vertex", "VisualShaderNodeInput", TTR("'alpha' input parameter for vertex and fragment shader modes."), "alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Binormal", "Input", "Vertex", "VisualShaderNodeInput", TTR("'binormal' input parameter for vertex and fragment shader modes."), "binormal", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Color", "Input", "Vertex", "VisualShaderNodeInput", TTR("'color' input parameter for vertex and fragment shader modes."), "color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("ModelView", "Input", "Vertex", "VisualShaderNodeInput", TTR("'modelview' input parameter for vertex shader mode."), "modelview", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("PointSize", "Input", "Vertex", "VisualShaderNodeInput", TTR("'point_size' input parameter for vertex shader mode."), "point_size", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Tangent", "Input", "Vertex", "VisualShaderNodeInput", TTR("'tangent' input parameter for vertex and fragment shader mode."), "tangent", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("UV", "Input", "Vertex", "VisualShaderNodeInput", TTR("'uv' input parameter for vertex and fragment shader modes."), "uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("UV2", "Input", "Vertex", "VisualShaderNodeInput", TTR("'uv2' input parameter for vertex and fragment shader modes."), "uv2", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
- add_options.push_back(AddOption("Vertex", "Input", "Vertex", "VisualShaderNodeInput", TTR("'vertex' input parameter for vertex and fragment shader modes."), "vertex", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
+ const String input_param_for_vertex_and_fragment_shader_modes = TTR("'%s' input parameter for vertex and fragment shader modes.");
+ const String input_param_for_fragment_and_light_shader_modes = TTR("'%s' input parameter for fragment and light shader modes.");
+ const String input_param_for_fragment_shader_mode = TTR("'%s' input parameter for fragment shader mode.");
+ const String input_param_for_light_shader_mode = TTR("'%s' input parameter for light shader mode.");
+ const String input_param_for_vertex_shader_mode = TTR("'%s' input parameter for vertex shader mode.");
+ const String input_param_for_vertex_and_fragment_shader_mode = TTR("'%s' input parameter for vertex and fragment shader mode.");
+
+ add_options.push_back(AddOption("Alpha", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "alpha"), "alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Binormal", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "binormal"), "binormal", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Color", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "color"), "color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("FragCoord", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord"), "fragcoord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("PointCoord", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "point_coord"), "point_coord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("ScreenUV", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_uv"), "screen_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Side", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "side"), "side", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Tangent", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "tangent"), "tangent", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("UV", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "uv"), "uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("UV2", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "uv2"), "uv2", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Vertex", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "vertex"), "vertex", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("View", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "view"), "view", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_SPATIAL));
+
+ add_options.push_back(AddOption("Albedo", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "albedo"), "albedo", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Attenuation", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "attenuation"), "attenuation", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Diffuse", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "diffuse"), "diffuse", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("FragCoord", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord"), "fragcoord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Light", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light"), "light", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("LightColor", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_color"), "light_color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Roughness", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "roughness"), "roughness", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Specular", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "specular"), "specular", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Transmission", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "transmission"), "transmission", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("View", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "view"), "view", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_SPATIAL));
+
+ add_options.push_back(AddOption("Alpha", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "alpha"), "alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Binormal", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "binormal"), "binormal", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Color", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "color"), "color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("ModelView", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "modelview"), "modelview", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("PointSize", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "point_size"), "point_size", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Tangent", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_mode, "tangent"), "tangent", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("UV", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "uv"), "uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("UV2", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "uv2"), "uv2", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
+ add_options.push_back(AddOption("Vertex", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "vertex"), "vertex", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_SPATIAL));
// CANVASITEM INPUTS
- add_options.push_back(AddOption("FragCoord", "Input", "Fragment", "VisualShaderNodeInput", TTR("'fragcoord' input parameter for fragment and light shader modes."), "fragcoord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("LightPass", "Input", "Fragment", "VisualShaderNodeInput", TTR("'light_pass' input parameter for vertex and fragment shader modes."), "light_pass", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("PointCoord", "Input", "Fragment", "VisualShaderNodeInput", TTR("'point_coord' input parameter for fragment and light shader modes."), "point_coord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("ScreenPixelSize", "Input", "Fragment", "VisualShaderNodeInput", TTR("'screen_pixel_size' input parameter for fragment shader mode."), "screen_pixel_size", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("ScreenUV", "Input", "Fragment", "VisualShaderNodeInput", TTR("'screen_uv' input parameter for fragment and light shader modes."), "screen_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
-
- add_options.push_back(AddOption("FragCoord", "Input", "Light", "VisualShaderNodeInput", TTR("'fragcoord' input parameter for fragment and light shader modes."), "fragcoord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("LightAlpha", "Input", "Light", "VisualShaderNodeInput", TTR("'light_alpha' input parameter for light shader mode."), "light_alpha", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("LightColor", "Input", "Light", "VisualShaderNodeInput", TTR("'light_color' input parameter for light shader mode."), "light_color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("LightHeight", "Input", "Light", "VisualShaderNodeInput", TTR("'light_height' input parameter for light shader mode."), "light_height", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("LightUV", "Input", "Light", "VisualShaderNodeInput", TTR("'light_uv' input parameter for light shader mode."), "light_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("LightVector", "Input", "Light", "VisualShaderNodeInput", TTR("'light_vec' input parameter for light shader mode."), "light_vec", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("Normal", "Input", "Light", "VisualShaderNodeInput", TTR("'normal' input parameter for light shader mode."), "normal", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("PointCoord", "Input", "Light", "VisualShaderNodeInput", TTR("'point_coord' input parameter for fragment and light shader modes."), "point_coord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("ScreenUV", "Input", "Light", "VisualShaderNodeInput", TTR("'screen_uv' input parameter for fragment and light shader modes."), "screen_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("ShadowColor", "Input", "Light", "VisualShaderNodeInput", TTR("'shadow_color' input parameter for light shader mode."), "shadow_color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
-
- add_options.push_back(AddOption("Extra", "Input", "Vertex", "VisualShaderNodeInput", TTR("'extra' input parameter for vertex shader mode."), "extra", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("LightPass", "Input", "Vertex", "VisualShaderNodeInput", TTR("'light_pass' input parameter for vertex and fragment shader modes."), "light_pass", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("PointSize", "Input", "Vertex", "VisualShaderNodeInput", TTR("'point_size' input parameter for vertex shader mode."), "point_size", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("Projection", "Input", "Vertex", "VisualShaderNodeInput", TTR("'projection' input parameter for vertex shader mode."), "projection", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("Vertex", "Input", "Vertex", "VisualShaderNodeInput", TTR("'vertex' input parameter for vertex shader mode."), "vertex", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("World", "Input", "Vertex", "VisualShaderNodeInput", TTR("'world' input parameter for vertex shader mode."), "world", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("FragCoord", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord"), "fragcoord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("LightPass", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "light_pass"), "light_pass", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("PointCoord", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "point_coord"), "point_coord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("ScreenPixelSize", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_shader_mode, "screen_pixel_size"), "screen_pixel_size", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("ScreenUV", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "screen_uv"), "screen_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
+
+ add_options.push_back(AddOption("FragCoord", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord"), "fragcoord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("LightAlpha", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_alpha"), "light_alpha", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("LightColor", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_color"), "light_color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("LightHeight", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_height"), "light_height", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("LightUV", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_uv"), "light_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("LightVector", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_vec"), "light_vec", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("Normal", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "normal"), "normal", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("PointCoord", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "point_coord"), "point_coord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("ScreenUV", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "screen_uv"), "screen_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("ShadowColor", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "shadow_color"), "shadow_color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+
+ add_options.push_back(AddOption("Extra", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "extra"), "extra", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("LightPass", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_and_fragment_shader_modes, "light_pass"), "light_pass", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("PointSize", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "point_size"), "point_size", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("Projection", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "projection"), "projection", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("Vertex", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "vertex"), "vertex", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("World", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "world"), "world", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
// PARTICLES INPUTS
- add_options.push_back(AddOption("Active", "Input", "Vertex", "VisualShaderNodeInput", TTR("'active' input parameter for vertex shader mode."), "active", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("Alpha", "Input", "Vertex", "VisualShaderNodeInput", TTR("'alpha' input parameter for vertex shader mode."), "alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("Color", "Input", "Vertex", "VisualShaderNodeInput", TTR("'color' input parameter for vertex shader mode."), "color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("Custom", "Input", "Vertex", "VisualShaderNodeInput", TTR("'custom' input parameter for vertex shader mode."), "custom", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("CustomAlpha", "Input", "Vertex", "VisualShaderNodeInput", TTR("'custom_alpha' input parameter for vertex shader mode."), "custom_alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("Delta", "Input", "Vertex", "VisualShaderNodeInput", TTR("'delta' input parameter for vertex shader mode."), "delta", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("EmissionTransform", "Input", "Vertex", "VisualShaderNodeInput", TTR("'emission_transform' input parameter for vertex shader mode."), "emission_transform", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("Index", "Input", "Vertex", "VisualShaderNodeInput", TTR("'index' input parameter for vertex shader mode."), "index", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("LifeTime", "Input", "Vertex", "VisualShaderNodeInput", TTR("'lifetime' input parameter for vertex shader mode."), "lifetime", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("Restart", "Input", "Vertex", "VisualShaderNodeInput", TTR("'restart' input parameter for vertex shader mode."), "restart", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("Time", "Input", "Vertex", "VisualShaderNodeInput", TTR("'time' input parameter for vertex shader mode."), "time", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("Transform", "Input", "Vertex", "VisualShaderNodeInput", TTR("'transform' input parameter for vertex shader mode."), "transform", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
- add_options.push_back(AddOption("Velocity", "Input", "Vertex", "VisualShaderNodeInput", TTR("'velocity' input parameter for vertex shader mode."), "velocity", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Active", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "active"), "active", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Alpha", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "alpha"), "alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Color", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "color"), "color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Custom", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "custom"), "custom", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("CustomAlpha", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "custom_alpha"), "custom_alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Delta", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "delta"), "delta", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("EmissionTransform", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "emission_transform"), "emission_transform", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Index", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "index"), "index", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("LifeTime", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "lifetime"), "lifetime", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Restart", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "restart"), "restart", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Time", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "time"), "time", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Transform", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "transform"), "transform", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
+ add_options.push_back(AddOption("Velocity", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "velocity"), "velocity", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_VERTEX, Shader::MODE_PARTICLES));
// SCALAR
@@ -2718,3 +2771,30 @@ void VisualShaderNodePortPreview::_bind_methods() {
VisualShaderNodePortPreview::VisualShaderNodePortPreview() {
}
+
+//////////////////////////////////
+
+String VisualShaderConversionPlugin::converts_to() const {
+
+ return "Shader";
+}
+
+bool VisualShaderConversionPlugin::handles(const Ref<Resource> &p_resource) const {
+
+ Ref<VisualShader> vshader = p_resource;
+ return vshader.is_valid();
+}
+
+Ref<Resource> VisualShaderConversionPlugin::convert(const Ref<Resource> &p_resource) const {
+
+ Ref<VisualShader> vshader = p_resource;
+ ERR_FAIL_COND_V(!vshader.is_valid(), Ref<Resource>());
+
+ Ref<Shader> shader;
+ shader.instance();
+
+ String code = vshader->get_code();
+ shader->set_code(code);
+
+ return shader;
+}
diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h
index 567706b808..fa72b5ec29 100644
--- a/editor/plugins/visual_shader_editor_plugin.h
+++ b/editor/plugins/visual_shader_editor_plugin.h
@@ -160,7 +160,13 @@ class VisualShaderEditor : public VBoxContainer {
void _edit_port_default_input(Object *p_button, int p_node, int p_port);
void _port_edited();
+ int to_node;
+ int to_slot;
+ int from_node;
+ int from_slot;
+
void _connection_to_empty(const String &p_from, int p_from_slot, const Vector2 &p_release_position);
+ void _connection_from_empty(const String &p_to, int p_to_slot, const Vector2 &p_release_position);
void _line_edit_changed(const String &p_text, Object *line_edit, int p_node_id);
void _line_edit_focus_out(Object *line_edit, int p_node_id);
@@ -176,12 +182,12 @@ class VisualShaderEditor : public VBoxContainer {
void _input_select_item(Ref<VisualShaderNodeInput> input, String name);
- void _add_input_port(int p_node, int p_port, int p_type, const String &p_name);
+ void _add_input_port(int p_node, int p_port, int p_port_type, const String &p_name);
void _remove_input_port(int p_node, int p_port);
void _change_input_port_type(int p_type, int p_node, int p_port);
void _change_input_port_name(const String &p_text, Object *line_edit, int p_node, int p_port);
- void _add_output_port(int p_node, int p_port, int p_type, const String &p_name);
+ void _add_output_port(int p_node, int p_port, int p_port_type, const String &p_name);
void _remove_output_port(int p_node, int p_port);
void _change_output_port_type(int p_type, int p_node, int p_port);
void _change_output_port_name(const String &p_text, Object *line_edit, int p_node, int p_port);
@@ -199,12 +205,13 @@ class VisualShaderEditor : public VBoxContainer {
void _member_selected();
void _member_unselected();
void _member_create();
+ void _member_cancel();
Variant get_drag_data_fw(const Point2 &p_point, Control *p_from);
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
- bool _is_available(int p_flags);
+ bool _is_available(int p_mode);
void _update_created_node(GraphNode *node);
protected:
@@ -295,4 +302,13 @@ public:
VisualShaderNodePortPreview();
};
+class VisualShaderConversionPlugin : public EditorResourceConversionPlugin {
+ GDCLASS(VisualShaderConversionPlugin, EditorResourceConversionPlugin);
+
+public:
+ virtual String converts_to() const;
+ virtual bool handles(const Ref<Resource> &p_resource) const;
+ virtual Ref<Resource> convert(const Ref<Resource> &p_resource) const;
+};
+
#endif // VISUAL_SHADER_EDITOR_PLUGIN_H
diff --git a/editor/project_export.cpp b/editor/project_export.cpp
index ee78b240a4..c78a81dbe0 100644
--- a/editor/project_export.cpp
+++ b/editor/project_export.cpp
@@ -166,7 +166,7 @@ void ProjectExportDialog::_update_presets() {
void ProjectExportDialog::_update_export_all() {
- bool can_export = EditorExport::get_singleton()->get_export_preset_count() > 0 ? true : false;
+ bool can_export = EditorExport::get_singleton()->get_export_preset_count() > 0;
for (int i = 0; i < EditorExport::get_singleton()->get_export_preset_count(); i++) {
Ref<EditorExportPreset> preset = EditorExport::get_singleton()->get_export_preset(i);
@@ -931,8 +931,17 @@ void ProjectExportDialog::_export_project() {
export_project->add_filter("*." + extension_list[i] + " ; " + platform->get_name() + " Export");
}
- if (current->get_export_path() != "") {
- export_project->set_current_path(current->get_export_path());
+ String current_preset_export_path = current->get_export_path();
+
+ if (current_preset_export_path != "") {
+
+ if (!DirAccess::exists(current_preset_export_path.get_base_dir())) {
+
+ DirAccessRef da(DirAccess::create(DirAccess::ACCESS_FILESYSTEM));
+ da->make_dir_recursive(current_preset_export_path.get_base_dir());
+ }
+
+ export_project->set_current_path(current_preset_export_path);
} else {
if (extension_list.size() >= 1) {
export_project->set_current_file(default_filename + "." + extension_list[0]);
@@ -986,7 +995,7 @@ void ProjectExportDialog::_export_all_dialog_action(const String &p_str) {
export_all_dialog->hide();
- _export_all(p_str == "release" ? false : true);
+ _export_all(p_str != "release");
}
void ProjectExportDialog::_export_all(bool p_debug) {
diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp
index 872f8fcd2c..001846604c 100644
--- a/editor/project_settings_editor.cpp
+++ b/editor/project_settings_editor.cpp
@@ -42,10 +42,10 @@
ProjectSettingsEditor *ProjectSettingsEditor::singleton = NULL;
static const char *_button_names[JOY_BUTTON_MAX] = {
- "PS Cross, XBox A, Nintendo B",
- "PS Circle, XBox B, Nintendo A",
- "PS Square, XBox X, Nintendo Y",
- "PS Triangle, XBox Y, Nintendo X",
+ "DualShock Cross, Xbox A, Nintendo B",
+ "DualShock Circle, Xbox B, Nintendo A",
+ "DualShock Square, Xbox X, Nintendo Y",
+ "DualShock Triangle, Xbox Y, Nintendo X",
"L, L1",
"R, R1",
"L2",
@@ -257,7 +257,7 @@ void ProjectSettingsEditor::_device_input_add() {
Ref<InputEventJoypadMotion> jm;
jm.instance();
jm->set_axis(device_index->get_selected() >> 1);
- jm->set_axis_value(device_index->get_selected() & 1 ? 1 : -1);
+ jm->set_axis_value((device_index->get_selected() & 1) ? 1 : -1);
jm->set_device(_get_current_device());
for (int i = 0; i < events.size(); i++) {
@@ -483,7 +483,7 @@ void ProjectSettingsEditor::_add_item(int p_item, Ref<InputEvent> p_exiting_even
for (int i = 0; i < JOY_AXIS_MAX * 2; i++) {
String desc = _axis_names[i];
- device_index->add_item(TTR("Axis") + " " + itos(i / 2) + " " + (i & 1 ? "+" : "-") + desc);
+ device_index->add_item(TTR("Axis") + " " + itos(i / 2) + " " + ((i & 1) ? "+" : "-") + desc);
}
device_input->popup_centered_minsize(Size2(350, 95) * EDSCALE);
@@ -808,7 +808,7 @@ void ProjectSettingsEditor::update_plugins() {
void ProjectSettingsEditor::_item_selected(const String &p_path) {
- String selected_path = p_path;
+ const String &selected_path = p_path;
if (selected_path == String())
return;
category->set_text(globals_editor->get_current_section());
diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp
index 4fa1bd74fe..82d974cae3 100644
--- a/editor/property_editor.cpp
+++ b/editor/property_editor.cpp
@@ -917,7 +917,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant::
}
for (Set<String>::Element *j = valid_inheritors.front(); j; j = j->next()) {
- String t = j->get();
+ const String &t = j->get();
bool is_custom_resource = false;
Ref<Texture> icon;
diff --git a/editor/rename_dialog.cpp b/editor/rename_dialog.cpp
index 858b14a733..40343cf908 100644
--- a/editor/rename_dialog.cpp
+++ b/editor/rename_dialog.cpp
@@ -475,17 +475,17 @@ String RenameDialog::_substitute(const String &subject, const Node *node, int co
if (root_node) {
result = result.replace("${ROOT}", root_node->get_name());
}
-
- Node *parent_node = node->get_parent();
- if (parent_node) {
- if (node == root_node) {
- // Can not substitute parent of root.
- result = result.replace("${PARENT}", "");
- } else {
- result = result.replace("${PARENT}", parent_node->get_name());
+ if (node) {
+ Node *parent_node = node->get_parent();
+ if (parent_node) {
+ if (node == root_node) {
+ // Can not substitute parent of root.
+ result = result.replace("${PARENT}", "");
+ } else {
+ result = result.replace("${PARENT}", parent_node->get_name());
+ }
}
}
-
return result;
}
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index a15ae2efda..442de08ffa 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -89,6 +89,8 @@ void SceneTreeDock::_unhandled_key_input(Ref<InputEvent> p_event) {
_tool_selected(TOOL_NEW);
} else if (ED_IS_SHORTCUT("scene_tree/instance_scene", p_event)) {
_tool_selected(TOOL_INSTANCE);
+ } else if (ED_IS_SHORTCUT("scene_tree/expand_collapse_all", p_event)) {
+ _tool_selected(TOOL_EXPAND_COLLAPSE);
} else if (ED_IS_SHORTCUT("scene_tree/change_node_type", p_event)) {
_tool_selected(TOOL_REPLACE);
} else if (ED_IS_SHORTCUT("scene_tree/duplicate", p_event)) {
@@ -370,6 +372,23 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
quick_open->set_title(TTR("Instance Child Scene"));
} break;
+ case TOOL_EXPAND_COLLAPSE: {
+
+ if (!scene_tree->get_selected())
+ break;
+
+ Tree *tree = scene_tree->get_scene_tree();
+ TreeItem *selected_item = tree->get_selected();
+
+ if (!selected_item)
+ selected_item = tree->get_root();
+
+ bool collapsed = _is_collapsed_recursive(selected_item);
+ _set_collapsed_recursive(selected_item, !collapsed);
+
+ tree->ensure_cursor_is_visible();
+
+ } break;
case TOOL_REPLACE: {
if (!profile_allow_editing) {
@@ -418,6 +437,8 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
}
}
}
+ script_create_dialog->connect("script_created", this, "_script_created");
+ script_create_dialog->connect("popup_hide", this, "_script_creation_closed");
script_create_dialog->config(inherits, path);
script_create_dialog->popup_centered();
@@ -998,6 +1019,17 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
}
}
+void SceneTreeDock::_node_collapsed(Object *p_obj) {
+
+ TreeItem *ti = Object::cast_to<TreeItem>(p_obj);
+ if (!ti)
+ return;
+
+ if (Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {
+ _set_collapsed_recursive(ti, ti->is_collapsed());
+ }
+}
+
void SceneTreeDock::_notification(int p_what) {
switch (p_what) {
@@ -1030,6 +1062,7 @@ void SceneTreeDock::_notification(int p_what) {
filter->set_clear_button_enabled(true);
EditorNode::get_singleton()->get_editor_selection()->connect("selection_changed", this, "_selection_changed");
+ scene_tree->get_scene_tree()->connect("item_collapsed", this, "_node_collapsed");
// create_root_dialog
HBoxContainer *top_row = memnew(HBoxContainer);
@@ -1493,7 +1526,6 @@ void SceneTreeDock::_do_reparent(Node *p_new_parent, int p_position_in_parent, V
if (p_nodes.find(validate) != -1) {
ERR_EXPLAIN("Selection changed at some point.. can't reparent");
ERR_FAIL();
- return;
}
validate = validate->get_parent();
}
@@ -1624,6 +1656,52 @@ void SceneTreeDock::_do_reparent(Node *p_new_parent, int p_position_in_parent, V
editor_data->get_undo_redo().commit_action();
}
+bool SceneTreeDock::_is_collapsed_recursive(TreeItem *p_item) const {
+
+ bool is_branch_collapsed = false;
+
+ List<TreeItem *> needs_check;
+ needs_check.push_back(p_item);
+
+ while (!needs_check.empty()) {
+
+ TreeItem *item = needs_check.back()->get();
+ needs_check.pop_back();
+
+ TreeItem *child = item->get_children();
+ is_branch_collapsed = item->is_collapsed() && child;
+
+ if (is_branch_collapsed) {
+ break;
+ }
+ while (child) {
+ needs_check.push_back(child);
+ child = child->get_next();
+ }
+ }
+ return is_branch_collapsed;
+}
+
+void SceneTreeDock::_set_collapsed_recursive(TreeItem *p_item, bool p_collapsed) {
+
+ List<TreeItem *> to_collapse;
+ to_collapse.push_back(p_item);
+
+ while (!to_collapse.empty()) {
+
+ TreeItem *item = to_collapse.back()->get();
+ to_collapse.pop_back();
+
+ item->set_collapsed(p_collapsed);
+
+ TreeItem *child = item->get_children();
+ while (child) {
+ to_collapse.push_back(child);
+ child = child->get_next();
+ }
+ }
+}
+
void SceneTreeDock::_script_created(Ref<Script> p_script) {
List<Node *> selected = editor_selection->get_selected_node_list();
@@ -1647,6 +1725,11 @@ void SceneTreeDock::_script_created(Ref<Script> p_script) {
_update_script_button();
}
+void SceneTreeDock::_script_creation_closed() {
+ script_create_dialog->disconnect("script_created", this, "_script_created");
+ script_create_dialog->disconnect("popup_hide", this, "_script_creation_closed");
+}
+
void SceneTreeDock::_toggle_editable_children_from_selection() {
List<Node *> selection = editor_selection->get_selected_node_list();
@@ -2238,8 +2321,10 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
menu->add_icon_shortcut(get_icon("Add", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/add_child_node"), TOOL_NEW);
menu->add_icon_shortcut(get_icon("Instance", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/instance_scene"), TOOL_INSTANCE);
- menu->add_separator();
}
+ menu->add_icon_shortcut(get_icon("Collapse", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/expand_collapse_all"), TOOL_EXPAND_COLLAPSE);
+ menu->add_separator();
+
existing_script = selected->get_script();
}
@@ -2506,6 +2591,7 @@ void SceneTreeDock::_bind_methods() {
ClassDB::bind_method(D_METHOD("_node_selected"), &SceneTreeDock::_node_selected);
ClassDB::bind_method(D_METHOD("_node_renamed"), &SceneTreeDock::_node_renamed);
ClassDB::bind_method(D_METHOD("_script_created"), &SceneTreeDock::_script_created);
+ ClassDB::bind_method(D_METHOD("_script_creation_closed"), &SceneTreeDock::_script_creation_closed);
ClassDB::bind_method(D_METHOD("_load_request"), &SceneTreeDock::_load_request);
ClassDB::bind_method(D_METHOD("_script_open_request"), &SceneTreeDock::_script_open_request);
ClassDB::bind_method(D_METHOD("_unhandled_key_input"), &SceneTreeDock::_unhandled_key_input);
@@ -2516,6 +2602,7 @@ void SceneTreeDock::_bind_methods() {
ClassDB::bind_method(D_METHOD("_node_prerenamed"), &SceneTreeDock::_node_prerenamed);
ClassDB::bind_method(D_METHOD("_import_subscene"), &SceneTreeDock::_import_subscene);
ClassDB::bind_method(D_METHOD("_selection_changed"), &SceneTreeDock::_selection_changed);
+ ClassDB::bind_method(D_METHOD("_node_collapsed"), &SceneTreeDock::_node_collapsed);
ClassDB::bind_method(D_METHOD("_new_scene_from"), &SceneTreeDock::_new_scene_from);
ClassDB::bind_method(D_METHOD("_nodes_dragged"), &SceneTreeDock::_nodes_dragged);
ClassDB::bind_method(D_METHOD("_files_dropped"), &SceneTreeDock::_files_dropped);
@@ -2555,6 +2642,7 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor, Node *p_scene_root, EditorSel
ED_SHORTCUT("scene_tree/batch_rename", TTR("Batch Rename"), KEY_MASK_CMD | KEY_F2);
ED_SHORTCUT("scene_tree/add_child_node", TTR("Add Child Node"), KEY_MASK_CMD | KEY_A);
ED_SHORTCUT("scene_tree/instance_scene", TTR("Instance Child Scene"));
+ ED_SHORTCUT("scene_tree/expand_collapse_all", TTR("Expand/Collapse All"));
ED_SHORTCUT("scene_tree/change_node_type", TTR("Change Type"));
ED_SHORTCUT("scene_tree/attach_script", TTR("Attach Script"));
ED_SHORTCUT("scene_tree/extend_script", TTR("Extend Script"));
@@ -2572,7 +2660,7 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor, Node *p_scene_root, EditorSel
button_add = memnew(ToolButton);
button_add->connect("pressed", this, "_tool_selected", make_binds(TOOL_NEW, false));
- button_add->set_tooltip(TTR("Add/Create a New Node"));
+ button_add->set_tooltip(TTR("Add/Create a New Node."));
button_add->set_shortcut(ED_GET_SHORTCUT("scene_tree/add_child_node"));
filter_hbc->add_child(button_add);
@@ -2661,7 +2749,6 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor, Node *p_scene_root, EditorSel
script_create_dialog = memnew(ScriptCreateDialog);
script_create_dialog->set_inheritance_base_type("Node");
add_child(script_create_dialog);
- script_create_dialog->connect("script_created", this, "_script_created");
reparent_dialog = memnew(ReparentDialog);
add_child(reparent_dialog);
diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h
index b645c22295..3729e27ce6 100644
--- a/editor/scene_tree_dock.h
+++ b/editor/scene_tree_dock.h
@@ -60,6 +60,7 @@ class SceneTreeDock : public VBoxContainer {
TOOL_NEW,
TOOL_INSTANCE,
+ TOOL_EXPAND_COLLAPSE,
TOOL_RENAME,
TOOL_BATCH_RENAME,
TOOL_REPLACE,
@@ -116,6 +117,7 @@ class SceneTreeDock : public VBoxContainer {
HBoxContainer *tool_hbc;
void _tool_selected(int p_tool, bool p_confirm_override = false);
+ void _node_collapsed(Object *p_obj);
EditorData *editor_data;
EditorSelection *editor_selection;
@@ -152,6 +154,9 @@ class SceneTreeDock : public VBoxContainer {
void _node_reparent(NodePath p_path, bool p_keep_global_xform);
void _do_reparent(Node *p_new_parent, int p_position_in_parent, Vector<Node *> p_nodes, bool p_keep_global_xform);
+ bool _is_collapsed_recursive(TreeItem *p_item) const;
+ void _set_collapsed_recursive(TreeItem *p_item, bool p_collapsed);
+
void _set_owners(Node *p_owner, const Array &p_nodes);
enum ReplaceOwnerMode {
@@ -170,6 +175,7 @@ class SceneTreeDock : public VBoxContainer {
void _node_selected();
void _node_renamed();
void _script_created(Ref<Script> p_script);
+ void _script_creation_closed();
void _delete_confirm();
diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp
index d6c8e6b452..ff188a00d3 100644
--- a/editor/scene_tree_editor.cpp
+++ b/editor/scene_tree_editor.cpp
@@ -981,11 +981,7 @@ bool SceneTreeEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_d
return true;
}
- if (String(d["type"]) == "nodes") {
- return true;
- }
-
- return false;
+ return String(d["type"]) == "nodes";
}
void SceneTreeEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp
index ffa221edaf..8916f4d8c4 100644
--- a/editor/script_create_dialog.cpp
+++ b/editor/script_create_dialog.cpp
@@ -286,8 +286,8 @@ void ScriptCreateDialog::_create_new() {
}
}
- hide();
emit_signal("script_created", scr);
+ hide();
}
void ScriptCreateDialog::_load_exist() {
@@ -300,8 +300,8 @@ void ScriptCreateDialog::_load_exist() {
return;
}
- hide();
emit_signal("script_created", p_script.get_ref_ptr());
+ hide();
}
void ScriptCreateDialog::_lang_changed(int l) {
diff --git a/editor/script_editor_debugger.cpp b/editor/script_editor_debugger.cpp
index 00c8ed6ad3..8fd1064427 100644
--- a/editor/script_editor_debugger.cpp
+++ b/editor/script_editor_debugger.cpp
@@ -626,8 +626,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
d["frame"] = i;
s->set_metadata(0, d);
- //String line = itos(i)+" - "+String(d["file"])+":"+itos(d["line"])+" - at func: "+d["function"];
- String line = itos(i) + " - " + String(d["file"]) + ":" + itos(d["line"]);
+ String line = itos(i) + " - " + String(d["file"]) + ":" + itos(d["line"]) + " - at function: " + d["function"];
s->set_text(0, line);
if (i == 0)
diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp
index c4b8999401..fe6d9dd8c7 100644
--- a/editor/spatial_editor_gizmos.cpp
+++ b/editor/spatial_editor_gizmos.cpp
@@ -147,7 +147,7 @@ void EditorSpatialGizmo::set_handle(int p_idx, Camera *p_camera, const Point2 &p
}
ERR_FAIL_COND(!gizmo_plugin);
- return gizmo_plugin->set_handle(this, p_idx, p_camera, p_point);
+ gizmo_plugin->set_handle(this, p_idx, p_camera, p_point);
}
void EditorSpatialGizmo::commit_handle(int p_idx, const Variant &p_restore, bool p_cancel) {
@@ -158,7 +158,7 @@ void EditorSpatialGizmo::commit_handle(int p_idx, const Variant &p_restore, bool
}
ERR_FAIL_COND(!gizmo_plugin);
- return gizmo_plugin->commit_handle(this, p_idx, p_restore, p_cancel);
+ gizmo_plugin->commit_handle(this, p_idx, p_restore, p_cancel);
}
void EditorSpatialGizmo::set_spatial_node(Spatial *p_node) {
@@ -275,15 +275,13 @@ void EditorSpatialGizmo::add_unscaled_billboard(const Ref<Material> &p_material,
mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLE_FAN, a);
mesh->surface_set_material(0, p_material);
- if (true) {
- float md = 0;
- for (int i = 0; i < vs.size(); i++) {
+ float md = 0;
+ for (int i = 0; i < vs.size(); i++) {
- md = MAX(0, vs[i].length());
- }
- if (md) {
- mesh->set_custom_aabb(AABB(Vector3(-md, -md, -md), Vector3(md, md, md) * 2.0));
- }
+ md = MAX(0, vs[i].length());
+ }
+ if (md) {
+ mesh->set_custom_aabb(AABB(Vector3(-md, -md, -md), Vector3(md, md, md) * 2.0));
}
selectable_icon_size = p_scale;
@@ -432,9 +430,7 @@ bool EditorSpatialGizmo::intersect_frustum(const Camera *p_camera, const Vector<
}
}
- if (!any_out)
- return true;
- return false;
+ return !any_out;
}
if (collision_segments.size()) {
diff --git a/editor/translations/af.po b/editor/translations/af.po
index 120a87db58..dda13206c0 100644
--- a/editor/translations/af.po
+++ b/editor/translations/af.po
@@ -455,6 +455,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Dupliseer Seleksie"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1349,7 +1359,7 @@ msgstr "Ongeldige naam. Dit moet nie met bestaande enjin klasname bots nie."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"Ongeldige naam. Dit moet nie met bestaande ingeboude tiepename bots nie."
@@ -1555,7 +1565,7 @@ msgid "Node Dock"
msgstr "Nodus Naam:"
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1615,7 +1625,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1630,7 +1640,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Skep Vouer"
#: editor/editor_feature_profile.cpp
@@ -1654,13 +1664,9 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Deursoek Klasse"
+msgid "Available Profiles:"
+msgstr "Eienskappe"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2708,10 +2714,31 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Wissel Modus"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2818,15 +2845,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Deurlopend"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3116,20 +3144,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5278,6 +5306,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6204,10 +6239,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Eienskappe"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Eienskappe"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6455,11 +6500,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -8045,51 +8085,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8097,203 +8093,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9945,6 +9765,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Vervang Alles"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9973,8 +9798,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Skep Nuwe"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11388,6 +11214,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11639,7 +11472,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11652,12 +11489,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
@@ -11742,6 +11585,10 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Deursoek Klasse"
+
#~ msgid "Path to Node:"
#~ msgstr "Pad na Nodus:"
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index 9a045680e5..3ac0bbae58 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -459,6 +459,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "تحديد الوضع"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Ùقط قم بتبين المقاطع من العقد (Nodes) المحددة ÙÙŠ الشجرة."
@@ -1336,7 +1346,7 @@ msgstr "إسم غير صالح، يجب أن لا يتصادم مع أسم ÙØµÙ
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "إسم غير صالح، يجب أن لا يتصادم مع الأسماء المبنية تلقائياً الموجودة."
#: editor/editor_autoload_settings.cpp
@@ -1546,7 +1556,7 @@ msgstr "وضع التحريك"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "نظام Ø§Ù„Ù…Ù„ÙØ§Øª"
#: editor/editor_feature_profile.cpp
@@ -1607,7 +1617,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1622,7 +1632,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "النسخة الحالية:"
#: editor/editor_feature_profile.cpp
@@ -1646,13 +1656,9 @@ msgid "Export"
msgstr "تصدير"
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "إبحث ÙÙŠ الأصناÙ"
+msgid "Available Profiles:"
+msgstr "خصائص:"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2751,11 +2757,35 @@ msgid "Editor Layout"
msgstr "نسق Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Ø­ÙØ¸ المشهد"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "إعدادات Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "ÙØªØ­ ÙÙŠ Ø§Ù„Ù…ÙØ¹Ø¯Ù„ التالي"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "إلغاء/ØªÙØ¹ÙŠÙ„ وضع الشاشة الكاملة"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "أظهر المود"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "إعدادات Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
@@ -2866,15 +2896,18 @@ msgid "Spins when the editor window redraws."
msgstr "يدور حينما Ù†Ø§ÙØ°Ø© Ø§Ù„Ù…ÙØ¹Ø¯Ù„ يتم إعادة دهانة!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "تحديث دائماً"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "متواصل"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "تحديث التغييرات"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "تعطيل دوار التحديث"
#: editor/editor_node.cpp
@@ -3169,6 +3202,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "إسم جديد:"
@@ -3182,11 +3220,6 @@ msgstr "إسم جديد:"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5385,6 +5418,14 @@ msgid "Load Emission Mask"
msgstr "حمل قناع الانبعاث"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "إعادة تشغيل (ثواني):"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "إمسح قناع الانبعاث"
@@ -6333,10 +6374,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "خصائص العنصر."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "وضع Ø§Ù„Ù…ÙØµÙÙŠ:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "ترتيب"
@@ -6585,11 +6636,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -8225,51 +8271,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8278,203 +8280,27 @@ msgid "Input parameter."
msgstr "الكبس إلي الطÙÙ„"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10143,6 +9969,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "طوي الكل"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10173,8 +10004,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "إنشاء %s جديد"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11611,6 +11443,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11863,7 +11702,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11877,12 +11720,18 @@ msgstr "أض٠اللون الحالي كإعداد مسبق"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "تنبيه!"
@@ -11967,6 +11816,13 @@ msgstr "يمكن تعيين المتغيرات Ùقط ÙÙŠ الذروة ."
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "إبحث ÙÙŠ الأصناÙ"
+
+#~ msgid "Update Always"
+#~ msgstr "تحديث دائماً"
+
#~ msgid "Path to Node:"
#~ msgstr "مسار العقدة:"
diff --git a/editor/translations/bg.po b/editor/translations/bg.po
index cf26258550..9a53c70603 100644
--- a/editor/translations/bg.po
+++ b/editor/translations/bg.po
@@ -457,6 +457,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Избиране на вÑичко"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Избиране на вÑичко"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1323,7 +1333,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1528,7 +1538,7 @@ msgid "Node Dock"
msgstr "Режим на ПремеÑтване"
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1587,7 +1597,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1602,7 +1612,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Избиране на текущата папка"
#: editor/editor_feature_profile.cpp
@@ -1625,13 +1635,9 @@ msgid "Export"
msgstr "ИзнаÑÑне"
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "ТърÑи КлаÑове"
+msgid "Available Profiles:"
+msgstr "ПоÑтавÑне на възелите"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2681,11 +2687,34 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Запазване на Ñцената"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "ÐаÑтройки на редактора"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "Покажи Любими"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "ÐаÑтройки на редактора"
@@ -2794,15 +2823,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "ОбновÑвай Винаги"
+msgid "Update Continuously"
+msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3094,6 +3123,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr ""
@@ -3106,11 +3140,6 @@ msgstr "СтойноÑÑ‚"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5302,6 +5331,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Ðвтоматично РеÑтартиране:"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6224,11 +6261,21 @@ msgid "Find Next"
msgstr "Ðамери Ðапред"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "ПоÑтавÑне на възелите"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
+msgid "Filter methods"
+msgstr "ПоÑтавÑне на възелите"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Sort"
msgstr "Подреждане:"
@@ -6476,11 +6523,6 @@ msgstr ""
msgid "Cut"
msgstr "ИзрÑзване"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Избиране на вÑичко"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Изтрий Ред"
@@ -8100,51 +8142,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8152,203 +8150,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10025,6 +9847,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "ЗатварÑне на вÑичко"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10056,8 +9883,9 @@ msgid "Delete (No Confirm)"
msgstr "МолÑ, потвърдете..."
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Създай нови възли."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11529,6 +11357,17 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D Ñлужи Ñамо за да даде форма за колизии на "
+"CollisionObject2D. МолÑ, използвайте го Ñамо като наÑледник на Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, и т.н. за да им дадете форма."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11780,7 +11619,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11793,12 +11636,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Тревога!"
@@ -11883,6 +11732,13 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "ТърÑи КлаÑове"
+
+#~ msgid "Update Always"
+#~ msgstr "ОбновÑвай Винаги"
+
#~ msgid "Delete selected files?"
#~ msgstr "Изтрий избраните файлове?"
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index 83d7a9b527..ef0a7d10ab 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -474,6 +474,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "সবগà§à¦²à¦¿ বাছাই করà§à¦¨"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "কোনোটাই নিরà§à¦¬à¦¾à¦šà¦¨ করবেন না"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1375,7 +1384,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ নাম। নামটি অবশà§à¦¯à¦‡ বিদà§à¦¯à¦®à¦¾à¦¨ পূরà§à¦¬à¦¨à¦¿à¦°à§à¦®à¦¿à¦¤ ধরণের নামের সাথে পরমà§à¦ªà¦°à¦¬à¦¿à¦°à§‡à¦¾à¦§à§€ "
"হতে পারবে না।"
@@ -1592,7 +1601,7 @@ msgstr "মোড (Mode) সরান"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "ফাইলসিসà§à¦Ÿà§‡à¦®"
#: editor/editor_feature_profile.cpp
@@ -1654,7 +1663,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1669,7 +1678,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "বরà§à¦¤à¦®à¦¾à¦¨ দৃশà§à¦¯"
#: editor/editor_feature_profile.cpp
@@ -1694,16 +1703,11 @@ msgstr "à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "উপসà§à¦¥à¦¿à¦¤ নোডসমূহ:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "কà§à¦²à¦¾à¦¸à§‡à¦° অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "বরà§à¦£à¦¨à¦¾:"
@@ -2849,11 +2853,35 @@ msgid "Editor Layout"
msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° লেআউট/নকশা"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "অরà§à¦¥à¦ªà§‚রà§à¦¨!"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° সেটিংস"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡ খà§à¦²à§à¦¨"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "পূরà§à¦£-পরà§à¦¦à¦¾ অদলবদল/টগল করà§à¦¨"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "CanvasItem দৃশà§à¦¯à¦®à¦¾à¦¨à¦¤à¦¾ টগল করà§à¦¨"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° সেটিংস"
@@ -2966,15 +2994,18 @@ msgid "Spins when the editor window redraws."
msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° পà§à¦¨-অঙà§à¦•নে à¦à¦Ÿà¦¿ ঘূরà§à¦£à¦¨ করে!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "সরà§à¦¬à¦¦à¦¾ হাল-নাগাদ করà§à¦¨"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "অবিচà§à¦›à¦¿à¦¨à§à¦¨/নিরবচà§à¦›à¦¿à¦¨à§à¦¨"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "পরিবরà§à¦¤à¦¨à¦¸à¦®à§‚হ হাল-নাগাদ করà§à¦¨"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "হাল-নাগাদকারী ঘূরà§à¦£à¦• নিষà§à¦•à§à¦°à¦¿à§Ÿ করà§à¦¨"
#: editor/editor_node.cpp
@@ -3288,6 +3319,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "বসà§à¦¤à§ অপসারণ করà§à¦¨"
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "নতà§à¦¨ নাম:"
@@ -3301,11 +3337,6 @@ msgstr "নতà§à¦¨ নাম:"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "বসà§à¦¤à§ অপসারণ করà§à¦¨"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5600,6 +5631,14 @@ msgid "Load Emission Mask"
msgstr "Emission Mask লোড করà§à¦¨"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦­ (সেঃ):"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Emission Mask পরিসà§à¦•ার করà§à¦¨"
@@ -6578,11 +6617,21 @@ msgid "Find Next"
msgstr "পরবরà§à¦¤à§€ খà§à¦à¦œà§à¦¨"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
+msgid "Filter methods"
+msgstr "ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Sort"
msgstr "সাজান:"
@@ -6838,11 +6887,6 @@ msgstr ""
msgid "Cut"
msgstr "করà§à¦¤à¦¨/কাট করà§à¦¨"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "সবগà§à¦²à¦¿ বাছাই করà§à¦¨"
-
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Delete Line"
@@ -8537,51 +8581,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8590,203 +8590,27 @@ msgid "Input parameter."
msgstr "ধারক/বাহক পরà§à¦¯à¦¨à§à¦¤ বিসà§à¦¤à§ƒà¦¤ করà§à¦¨"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10540,6 +10364,11 @@ msgid "Add Child Node"
msgstr "শীষà§à¦¯ নোড তৈরি করà§à¦¨"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "কলাপà§à¦¸ করà§à¦¨"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "ধরণ পরিবরà§à¦¤à¦¨ করà§à¦¨"
@@ -10571,7 +10400,8 @@ msgid "Delete (No Confirm)"
msgstr "অপসারণ করà§à¦¨ (নিশà§à¦šà§Ÿà¦¤à¦¾à¦•রণ নেই)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "অপসারণ করà§à¦¨ (নিশà§à¦šà§Ÿà¦¤à¦¾à¦•রণ নেই)"
#: editor/scene_tree_dock.cpp
@@ -12126,6 +11956,17 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D শà§à¦§à§à¦®à¦¾à¦¤à§à¦° CollisionObject2D হতে সৃষà§à¦Ÿ নোডের সংঘরà§à¦·à§‡à¦° আকৃতি পà§à¦°à¦¦à¦¾à¦¨ "
+"করে। Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, ইতà§à¦¯à¦¾à¦¦à¦¿à¦•ে আকার দিতে "
+"অনà§à¦—à§à¦°à¦¹ করে তা শà§à¦§à§à¦®à¦¾à¦¤à§à¦° তাদের অংশ হিসেবে বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨à¥¤"
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -12402,9 +12243,12 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-#, fuzzy
-msgid "Raw Mode"
-msgstr "পà§à¦¯à¦¾à¦¨ মোড"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -12416,12 +12260,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "সতরà§à¦•তা!"
@@ -12515,6 +12365,17 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "কà§à¦²à¦¾à¦¸à§‡à¦° অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨"
+
+#~ msgid "Update Always"
+#~ msgstr "সরà§à¦¬à¦¦à¦¾ হাল-নাগাদ করà§à¦¨"
+
+#, fuzzy
+#~ msgid "Raw Mode"
+#~ msgstr "পà§à¦¯à¦¾à¦¨ মোড"
+
#~ msgid "Path to Node:"
#~ msgstr "নোডের পথ:"
@@ -13085,9 +12946,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Spatial দৃশà§à¦¯à¦®à¦¾à¦¨à¦¤à¦¾ টগল করà§à¦¨"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "CanvasItem দৃশà§à¦¯à¦®à¦¾à¦¨à¦¤à¦¾ টগল করà§à¦¨"
-
#~ msgid "Condition"
#~ msgstr "শরà§à¦¤ (Condition)"
@@ -14013,9 +13871,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "ছবিসমূহ:"
-#~ msgid "Select None"
-#~ msgstr "কোনোটাই নিরà§à¦¬à¦¾à¦šà¦¨ করবেন না"
-
#~ msgid "Group"
#~ msgstr "গà§à¦°à§à¦ª"
diff --git a/editor/translations/ca.po b/editor/translations/ca.po
index f8c7ccaf76..a64716471b 100644
--- a/editor/translations/ca.po
+++ b/editor/translations/ca.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
+"PO-Revision-Date: 2019-07-02 10:49+0000\n"
"Last-Translator: roger <616steam@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/"
"godot/ca/>\n"
@@ -21,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: Weblate 3.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -80,9 +80,8 @@ msgid "Time:"
msgstr "Temps:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Valor"
+msgstr "Valor:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -335,7 +334,7 @@ msgstr "Insereix una Clau"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Change Animation Step"
-msgstr "Modifica els FPS de l'Animació"
+msgstr "Canviar Pas d'Animació"
#: editor/animation_track_editor.cpp
msgid "Rearrange Tracks"
@@ -442,7 +441,17 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Advertiment: Edició d'animació importada"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Selecciona-ho Tot"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Selecciona un Node"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -453,9 +462,8 @@ msgid "Group tracks by node or display them as plain list."
msgstr "Agrupa les pistes per node o mostra-les en una llista."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Snap:"
-msgstr "Alinear:"
+msgstr "Ajustar:"
#: editor/animation_track_editor.cpp
msgid "Animation step value."
@@ -677,38 +685,32 @@ msgid "Line and column numbers."
msgstr "Números de línia i columna."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "Cal especificar un mètode per al Node objectiu!"
+msgstr "S'ha d'especificar el mètode al node de destinació."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"El mètode objectiu no s'ha trobat! Especifiqueu un mètode vàlid o adjunteu-"
-"li un Script."
+"El mètode objectiu no s'ha trobat. Especifiqueu un mètode vàlid o adjunteu-"
+"li un script."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
-msgstr "Connecta al Node:"
+msgstr "Connectar al Node:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "No es pot connectar a l'amfitrió:"
+msgstr "Connectar al Script:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Senyals:"
+msgstr "Des del Senyal:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "El Node no conté cap geometria."
+msgstr "L'escena no conté cap script."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -736,9 +738,8 @@ msgid "Extra Call Arguments:"
msgstr "Arguments de Crida addicionals:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Opcions Avançades"
+msgstr "Avançat"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -748,6 +749,8 @@ msgstr "Diferit"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Difereix el senyal, emmagatzemant-lo en una cua i només disparant-lo en "
+"temps d'inactivitat."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -755,12 +758,11 @@ msgstr "Un sol cop"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Desconnecta el senyal després de la seva primera emissió."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Connecta el Senyal: "
+msgstr "No es pot connectar el senyal"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -802,14 +804,12 @@ msgid "Disconnect"
msgstr "Desconnecta"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Connecta el Senyal: "
+msgstr "Connectar un Senyal a un Mètode"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Edita la Connexió: "
+msgstr "Editar Connexió:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -886,22 +886,20 @@ msgid "Dependencies For:"
msgstr "Dependències per a:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
"S'està editant l'Escena '%s'.\n"
-"Els canvis s'actualitzaran recarregar."
+"Els canvis només tindran efecte quan es recarregui."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
"S'està usant el Recurs '%s'.\n"
-"Els canvis s'actualitzaran en recarregar."
+"Els canvis només tindran efecte quan es recarregui."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -994,9 +992,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "Voleu Eliminar permanentment %d element(s)? (No es pot desfer!)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Dependències"
+msgstr "Mostrar Dependències"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1259,7 +1256,7 @@ msgstr "Obre un Disseny de Bus d'Àudio"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "No hi ha cap fitxer '% s'."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1318,13 +1315,11 @@ msgstr "Caràcters vàlids:"
#: editor/editor_autoload_settings.cpp
#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"El Nom no és vàlid. No pot coincidir amb noms de classe del motor ja "
-"existents."
+msgstr "No pot coincidir amb noms de classe del motor ja existents."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"El Nom no és vàlid. No pot coincidir amb noms de tipus integrats ja "
"existents."
@@ -1369,7 +1364,6 @@ msgid "Rearrange Autoloads"
msgstr "Reorganitza AutoCàrregues"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "Camí no vàlid."
@@ -1424,9 +1418,8 @@ msgid "[unsaved]"
msgstr "[no desat]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Elegiu primer un directori base"
+msgstr "Si us plau seleccioneu un directori base primer."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1507,24 +1500,20 @@ msgid "Template file not found:"
msgstr "No s'ha trobat la Plantilla:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Editor"
+msgstr "Editor 3D"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Editor d'Scripts"
+msgstr "Editor de scripts"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Exportar Biblioteca de Recursos"
+msgstr "Biblioteca d'Actius"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Arbre d'Escenes (Nodes):"
+msgstr "Edició de l'arbre d'escenes"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1538,76 +1527,69 @@ msgstr "Node mogut"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Sistema de Fitxers"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Reemplaça-ho Tot (no es pot desfer)"
+msgstr "Esborra el perfil '% s'? (no es pot desfer)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "El perfil ha de ser un nom de fitxer vàlid i no ha de contenir \".\""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Ja existeix un Fitxer o Directori amb aquest nom."
+msgstr "Ja existeix un perfil amb aquest nom."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Editor Desactivat, Propietats Desactivades)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Només Propietats"
+msgstr "(Propietats Desactivades)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Clip Desactivat"
+msgstr "(Editor Desactivat)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Descripció de la classe:"
+msgstr "Opcions de Classe:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Obre l'Editor Següent"
+msgstr "Habilitar l'Editor Contextual"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Propietats:"
+msgstr "Propietats Habilitades:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Característiques"
+msgstr "Característiques Habilitades:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Cerca Classes"
+msgstr "Classes Habilitades:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "El format del fitxer '% s' no és vàlid, s'ha anul·lat la importació."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"El perfil '% s' ja existeix. Elimineu-lo primer abans d'importar, importació "
+"avortada."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Error en carregar la plantilla '%s'"
+msgstr "Error en guardar el perfil al camí: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
@@ -1615,13 +1597,13 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Versió Actual:"
+msgid "Current Profile:"
+msgstr "Perfil Actual"
#: editor/editor_feature_profile.cpp
#, fuzzy
msgid "Make Current"
-msgstr "Actual:"
+msgstr "Fer Actual"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1636,47 +1618,36 @@ msgstr "Importa"
#: editor/editor_feature_profile.cpp editor/editor_node.cpp
#: editor/project_export.cpp
msgid "Export"
-msgstr "Exporta"
+msgstr "Exportar"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Nodes disponibles:"
+msgid "Available Profiles:"
+msgstr "Perfils Disponibles"
#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Cerca Classes"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Descripció de la classe"
+msgstr "Opcions de Classe"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Nou nom:"
+msgstr "Nom del nou perfil:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Esborra l'Àrea"
+msgstr "Esborrar Perfil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Project importat"
+msgstr "Importar Perfil(s)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Exporta Projecte"
+msgstr "Exportar Perfil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "Gestor de Plantilles d'Exportació"
+msgstr "Administra els Perfils de Característiques de l'Editor"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1791,18 +1762,16 @@ msgid "Next Folder"
msgstr "Directori Següent"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder."
-msgstr "Vés al directori principal"
+msgstr "Anar al directori pare."
#: editor/editor_file_dialog.cpp
msgid "(Un)favorite current folder."
msgstr "Eliminar carpeta actual de preferits."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Commuta Fitxers Ocults"
+msgstr "Commutar visibilitat dels fitxers ocults."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1839,6 +1808,8 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"Hi ha diversos importadors per a diferents tipus apuntant a l'arxiu %s, s'ha "
+"avortat la importació"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -2013,7 +1984,7 @@ msgstr "Propietat:"
#: editor/editor_inspector.cpp
msgid "Set"
-msgstr "Estableix"
+msgstr "Establir"
#: editor/editor_inspector.cpp
msgid "Set Multiple:"
@@ -2178,13 +2149,12 @@ msgstr ""
"Referiu-vos a la documentació rellevant sobre la importació d'escenes."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
-"Aquest recurs pertany a una escena instanciada o heretada.\n"
-"Els canvis efectuats no es conservaran en desar l'escena."
+"Aquest recurs pertany a una escena que va ser instanciada o heretada.\n"
+"Els canvis efectuats no es conservaran en desar l'escena actual."
#: editor/editor_node.cpp
msgid ""
@@ -2239,9 +2209,8 @@ msgid "Open Base Scene"
msgstr "Obre una Escena Base"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Obertura Ràpida d'Escenes..."
+msgstr "Obertura Ràpida..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2380,13 +2349,12 @@ msgid "Unable to load addon script from path: '%s'."
msgstr "Error carregant l'Script complement des del camí: '%s'."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"Unable to load addon script from path: '%s' There seems to be an error in "
"the code, please check the syntax."
msgstr ""
-"No s'ha carregat l'Script d'addon des del camí: L'Script '% s' no és en el "
-"mode d'Eina."
+"No es pot carregar el script d'addon des del camí: '%s' Sembla que hi ha un "
+"error en el codi, si us plau comproveu la sintaxi."
#: editor/editor_node.cpp
msgid ""
@@ -2488,12 +2456,11 @@ msgstr "Tanca les altres pestanyes"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Tancar les Pestanyes a la Dreta"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Tanca-ho Tot"
+msgstr "Tancar Totes les Pestanyes"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2627,7 +2594,7 @@ msgstr "Obre el directori de Dades del Projecte"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Instal·lar plantilla de compilació d'Android"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2640,7 +2607,7 @@ msgstr "Depurar"
#: editor/editor_node.cpp
msgid "Deploy with Remote Debug"
-msgstr "Desplega amb Depuració Remota"
+msgstr "Desplegar amb Depuració Remota"
#: editor/editor_node.cpp
msgid ""
@@ -2696,7 +2663,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr "Sincronitza Canvis en Escenes"
+msgstr "Sincronitzar Canvis en Escena"
#: editor/editor_node.cpp
msgid ""
@@ -2712,7 +2679,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Sync Script Changes"
-msgstr "Sincronitza Canvis en Scripts"
+msgstr "Sincronitzar Canvis en Scripts"
#: editor/editor_node.cpp
msgid ""
@@ -2739,10 +2706,34 @@ msgid "Editor Layout"
msgstr "Disseny de l'Editor"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Entesos!"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Obre el directori de Dades/Configuració de l'Editor"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Obre l'Editor Següent"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Mode Pantalla Completa"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Visibilitat del CanvasItem"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Obre el directori de Dades/Configuració de l'Editor"
@@ -2755,9 +2746,8 @@ msgid "Open Editor Settings Folder"
msgstr "Obre el directori de Configuració de l'Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "Gestor de Plantilles d'Exportació"
+msgstr "Administrar Característiques de l'Editor"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2850,15 +2840,18 @@ msgid "Spins when the editor window redraws."
msgstr "Gira quan la finestra de l'editor es redibuixa."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Actualitza Sempre"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Continu"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Actualitza Canvis"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Desactiva l'Indicador d'Actualització"
#: editor/editor_node.cpp
@@ -2888,11 +2881,12 @@ msgstr "No Desis"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
msgstr ""
+"Falta la plantilla de construcció d'Android, si us plau instal·leu "
+"plantilles pertinents."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Gestor de Plantilles d'Exportació"
+msgstr "Administrar Plantilles"
#: editor/editor_node.cpp
msgid ""
@@ -3149,6 +3143,11 @@ msgid "Page: "
msgstr "Pàgina: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Elimina Element"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nova Clau:"
@@ -3160,11 +3159,6 @@ msgstr "Nou Valor:"
msgid "Add Key/Value Pair"
msgstr "Afegeix una Parella de Clau/Valor"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Elimina Element"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3371,9 +3365,8 @@ msgid "SSL Handshake Error"
msgstr "Error en la conformitat de la connexió SSL"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "Descomprimint Recursos"
+msgstr "Descomprimint les Fonts de Compilació d'Android"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3392,9 +3385,8 @@ msgid "Remove Template"
msgstr "Elimina la Plantilla"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
-msgstr "Selecciona fitxer de plantilla"
+msgstr "Seleccioneu un Fitxer de Plantilla"
#: editor/export_template_manager.cpp
msgid "Export Template Manager"
@@ -3451,9 +3443,8 @@ msgid "No name provided."
msgstr "Manca Nom."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "El nom conté caràcters que no són vàlids"
+msgstr "El nom proporcionat conté caràcters invàlids."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3480,28 +3471,24 @@ msgid "Duplicating folder:"
msgstr "S'està duplicant el directori:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Nova Escena heretada..."
+msgstr "Nova Escena Heretada"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Obre una Escena"
+msgstr "Obrir Escenes"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Instància"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
-msgstr "Afegir a preferits"
+msgstr "Afegir a Preferits"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
-msgstr "Eliminar dels preferits"
+msgstr "Eliminar de Preferits"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
@@ -3549,23 +3536,20 @@ msgid "Rename"
msgstr "Reanomena"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Directori Anterior"
+msgstr "Carpeta/Fitxer Anterior"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Directori Següent"
+msgstr "Carpeta/Fitxer Següent"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "ReAnalitza Sistema de Fitxers"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
-msgstr "Commutar mode dividit"
+msgstr "Commutar Mode Dividit"
#: editor/filesystem_dock.cpp
msgid "Search files"
@@ -3614,6 +3598,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Inclou els fitxers amb les extensions següents. Afegiu-les o suprimiu-les a "
+"la configuració del projecte."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4037,7 +4023,7 @@ msgstr "Selecciona i mou els punts, crea punts fent clic dret."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
msgid "Enable snap and show grid."
-msgstr ""
+msgstr "Habilitar ajustament i mostrar quadrícula."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4052,9 +4038,8 @@ msgid "Open Animation Node"
msgstr "Obre un Node d'Animació"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "El triangle ja existeix"
+msgstr "El triangle ja existeix."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4085,9 +4070,8 @@ msgid "No triangles exist, so no blending can take place."
msgstr "En no haver-hi cap triangle, no es pot mesclar res."
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Toggle Auto Triangles"
-msgstr "Commuta les Globals d'AutoCàrrega"
+msgstr "Commutar Auto Triangles"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Create triangles by connecting points."
@@ -4158,9 +4142,8 @@ msgid "Delete Node(s)"
msgstr "Elimina els Nodes"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Filter On/Off"
-msgstr "Activa/Desactiva la Pista."
+msgstr "Commutar Filtre On/Off"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Change Filter"
@@ -4182,6 +4165,8 @@ msgid ""
"Animation player has no valid root node path, so unable to retrieve track "
"names."
msgstr ""
+"El reproductor d'animació no té cap camí vàlid per al node arrel, de manera "
+"que no es poden recuperar els noms de les pistes."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_state_machine_editor.cpp
@@ -4199,9 +4184,8 @@ msgid "Edit Filtered Tracks:"
msgstr "Editar Pistes Filtrades:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
-msgstr "Habilitar filtració"
+msgstr "Habilitar Filtració"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -4336,9 +4320,8 @@ msgid "Enable Onion Skinning"
msgstr "Activa l'Efecte Paper Ceba"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "Efecte Paper Ceba"
+msgstr "Opcions Paper Ceba"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4383,7 +4366,7 @@ msgstr "Inclou Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Pin AnimationPlayer"
-msgstr "Enganxa l'Animació"
+msgstr "Fixar AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
@@ -4819,7 +4802,7 @@ msgstr "Previsualització"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Configure Snap"
-msgstr "Configura l'Alineament"
+msgstr "Configurar Ajustament"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Grid Offset:"
@@ -4866,9 +4849,8 @@ msgid "Create new horizontal and vertical guides"
msgstr "Crea una guia horitzontal i vertical noves"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Move pivot"
-msgstr "Mou el Pivot"
+msgstr "Moure pivot"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -4930,7 +4912,7 @@ msgstr "Modifica Ancoratges"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Lock Selected"
-msgstr "Selecciona una Eina"
+msgstr "Bloca el Seleccionat"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -4940,24 +4922,21 @@ msgstr "Elimina Seleccionats"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Copiar Selecció"
+msgstr "Agrupar Seleccionat"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Copiar Selecció"
+msgstr "Desagrupar Seleccionat"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "Enganxa Positura"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
-msgstr "Crea Punts d'Emissió des d'una Malla"
+msgstr "Crea Os(sos) Personalitzat(s) a partir de Node(s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -4973,7 +4952,6 @@ msgid "Clear IK Chain"
msgstr "Esborra la cadena CI"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid ""
"Warning: Children of a container get their position and size determined only "
"by their parent."
@@ -5039,75 +5017,70 @@ msgid "Pan Mode"
msgstr "Mode d'Escombratge lateral"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggle snapping."
-msgstr "Activa/Desactiva Alineament"
+msgstr "Commutar Ajustament."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Snap"
-msgstr "Alinea"
+msgstr "Utilitzar Ajustament"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snapping Options"
-msgstr "Opcions d'Alineament"
+msgstr "Opcions d'Ajustament"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
-msgstr "Alinea-ho amb la graella"
+msgstr "Ajustar a la Quadrícula"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Use Rotation Snap"
-msgstr "Rotació alineada"
+msgstr "Utilitzar Ajustament de Rotació"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Configure Snap..."
-msgstr "Configura l'Alineament..."
+msgstr "Configurar Ajustament..."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
-msgstr "Alineament Relatiu"
+msgstr "Ajustament Relatiu"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Use Pixel Snap"
-msgstr "Alinea-ho amb els Pixels"
+msgstr "Utilitzar Ajustament amb els Píxels"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
-msgstr "Alineament intel·ligent"
+msgstr "Ajustament Intel·ligent"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
-msgstr "Alinea-ho amb el Pare"
+msgstr "Ajustar al Pare"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
msgid "Snap to Node Anchor"
-msgstr "Alinea-ho amb el node d'ancoratge"
+msgstr "Ajustar a l'Àncora del Node"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
msgid "Snap to Node Sides"
-msgstr "Alinea-ho amb els costats del node"
+msgstr "Ajustar als costats del node"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
-msgstr "Alinea-ho amb el node d'ancoratge"
+msgstr "Ajustar al centre del node"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
msgid "Snap to Other Nodes"
-msgstr "Alinea-ho amb altres nodes"
+msgstr "Ajustar als altres nodes"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
-msgstr "Alinea-ho amb les guies"
+msgstr "Ajustar amb les guies"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5217,7 +5190,6 @@ msgid ""
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Auto Insert Key"
msgstr "Inserir Clau Automàticament"
@@ -5269,9 +5241,8 @@ msgid "Error instancing scene from %s"
msgstr "Error en instanciar l'escena des de %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
-msgstr "Modifica el tipus per defecte"
+msgstr "Canviar Tipus per Defecte"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5313,6 +5284,14 @@ msgid "Load Emission Mask"
msgstr "Carrega una Màscara d'Emissió"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Reinicia"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Esborra la Màscara d'Emissió"
@@ -5393,24 +5372,20 @@ msgid "Load Curve Preset"
msgstr "Carrega un ajustament per la Corba"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
-msgstr "Afegeix un punt"
+msgstr "Afegir Punt"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
-msgstr "Elimina el punt"
+msgstr "Elimina Punt"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
-msgstr "Lineal esquerra"
+msgstr "Lineal Esquerra"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
-msgstr "Lineal dreta"
+msgstr "Lineal Dret"
#: editor/plugins/curve_editor_plugin.cpp
#, fuzzy
@@ -5899,9 +5874,8 @@ msgid "Split Segment (in curve)"
msgstr "Parteix el Segment (de la Corba)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
-msgstr "Moure unió"
+msgstr "Moure Unió"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid ""
@@ -5967,7 +5941,6 @@ msgid "Paint Bone Weights"
msgstr "Pintar Pes dels Ossos"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Open Polygon 2D UV editor."
msgstr "Obrir editor UV de Polígons 2D."
@@ -6067,11 +6040,11 @@ msgstr "Configuració de la Quadrícula"
#: editor/plugins/polygon_2d_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap"
-msgstr "Alinea"
+msgstr "Ajustar"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
-msgstr "Activa l'Alineament"
+msgstr "Activar Ajustament"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid"
@@ -6082,22 +6055,18 @@ msgid "Configure Grid:"
msgstr "Configurar Quadrícula:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Grid Offset X:"
msgstr "Desplaçament X de la quadrícula:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Grid Offset Y:"
-msgstr "Desplaçament Y de la quadrícula :"
+msgstr "Desplaçament Y de la quadrícula:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Grid Step X:"
msgstr "Pas X de la quadrícula:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Grid Step Y:"
msgstr "Pas Y de la quadrícula:"
@@ -6161,7 +6130,7 @@ msgstr ""
#: editor/plugins/root_motion_editor_plugin.cpp
#, fuzzy
msgid "Path to AnimationPlayer is invalid"
-msgstr "L'arbre d'animació no és vàlid."
+msgstr "El camí cap a l'AnimationPlayer no és vàlid"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
@@ -6172,7 +6141,6 @@ msgid "Close and save changes?"
msgstr "Tancar i desar els canvis?"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error writing TextFile:"
msgstr "Error en escriure el Fitxer de Text:"
@@ -6205,7 +6173,6 @@ msgid "Error Importing"
msgstr "Error en Importar"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New TextFile..."
msgstr "Nou Fitxer de Text..."
@@ -6234,7 +6201,6 @@ msgid "Save Theme As..."
msgstr "Desa el Tema com a..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "%s Class Reference"
msgstr "Referència de Classe %s"
@@ -6244,8 +6210,18 @@ msgid "Find Next"
msgstr "Cerca el Següent"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtra les propietats"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
-msgstr ""
+msgstr "Alterna l'ordenació alfabètica de la llista de mètodes."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Filtra Mode:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
@@ -6326,7 +6302,7 @@ msgstr "Tanca-ho Tot"
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
msgid "Run"
-msgstr "Executa"
+msgstr "Executar"
#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle Scripts Panel"
@@ -6358,13 +6334,13 @@ msgid "Debug with External Editor"
msgstr "Depurar amb un Editor Extern"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Obre la Documentació en línia"
+msgstr "Obrir la documentació en línia de Godot."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Request Docs"
-msgstr ""
+msgstr "Sol·licitar Documentació"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -6414,30 +6390,27 @@ msgid "Search Results"
msgstr "Resultats de cerca"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "Connecta al Node:"
+msgstr "Connexions al mètode:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Origen:"
+msgstr "Font"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Senyals"
+msgstr "Senyal"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Target"
-msgstr "Camí de Destinació:"
+msgstr "Objectiu"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "Desconnecta '%s' de '%s'"
+msgstr ""
+"Falta el mètode de connexió '%s' per al senyal '%s' del node '%s' al node "
+"'%s'."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6445,7 +6418,7 @@ msgstr "Línia"
#: editor/plugins/script_text_editor.cpp
msgid "(ignore)"
-msgstr ""
+msgstr "(ignorar)"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function"
@@ -6458,7 +6431,7 @@ msgstr "Només s'hi poden deixar caure Recursos del sistema de fitxers."
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Lookup Symbol"
-msgstr "Completa el Símbol"
+msgstr "Cercar Símbol"
#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
@@ -6487,18 +6460,13 @@ msgstr "Ressaltador de sintaxi"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "Marcadors"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Talla"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Selecciona-ho Tot"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Esborra la Línia"
@@ -6518,22 +6486,20 @@ msgstr "Comentaris"
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Toggle Bookmark"
-msgstr "Vista Lliure"
+msgstr "Commutar Marcador"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Anar al Punt d'Interrupció següent"
+msgstr "Anar al marcador següent"
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "Anar al Punt d'Interrupció anterior"
+msgstr "Anar al marcador anterior"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "Treu tots els Elements"
+msgstr "Suprimir tots els marcadors"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -6564,9 +6530,8 @@ msgid "Convert Indent to Spaces"
msgstr "Converteix la Sagnia en Espais"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Convert Indent to Tabs"
-msgstr "Converteix el Sagnat en Tabulacions"
+msgstr "Convertir Sagnia en Tabulacions"
#: editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
@@ -6610,21 +6575,21 @@ msgid "Contextual Help"
msgstr "Ajuda Contextual"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"El disc conté versions més recents dels fitxer següents. \n"
-"Quina acció voleu seguir?:"
+"Aquest Shader s'ha modificat en el disc.\n"
+"Quina acció s'ha de prendre?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
-msgstr "Ombreig"
+msgstr "Shader"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
msgid "This skeleton has no bones, create some children Bone2D nodes."
-msgstr ""
+msgstr "Aquest esquelet no té ossos, crea alguns nodes fill Bone2D."
#: editor/plugins/skeleton_2d_editor_plugin.cpp
#, fuzzy
@@ -6641,32 +6606,31 @@ msgid "Skeleton2D"
msgstr "Esquelet2D"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
msgid "Make Rest Pose (From Bones)"
-msgstr ""
+msgstr "Crear Pose de Repòs (A partir dels Ossos)"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
#, fuzzy
msgid "Set Bones to Rest Pose"
-msgstr "Establir els ossos a la postura de descans"
+msgstr "Establir els ossos a la postura de repós"
#: editor/plugins/skeleton_editor_plugin.cpp
-#, fuzzy
msgid "Create physical bones"
-msgstr "Crea un malla de Navegació"
+msgstr "Crear ossos físics"
#: editor/plugins/skeleton_editor_plugin.cpp
msgid "Skeleton"
msgstr "Esquelet"
#: editor/plugins/skeleton_editor_plugin.cpp
-#, fuzzy
msgid "Create physical skeleton"
-msgstr "Crea una solució en C#"
+msgstr "Crea esquelet físic"
#: editor/plugins/skeleton_ik_editor_plugin.cpp
#, fuzzy
msgid "Play IK"
-msgstr "Reprodueix"
+msgstr "Reproduir IK"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -6735,7 +6699,7 @@ msgstr "Canvis de Material"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Shader Changes"
-msgstr "Canvis de Ombreig"
+msgstr "Canvis de Shader"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Surface Changes"
@@ -6903,9 +6867,8 @@ msgid "XForm Dialog"
msgstr "Diàleg XForm"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Nodes To Floor"
-msgstr "Alinea-ho amb la graella"
+msgstr "Ajustar Nodes al Terra"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Select Mode (Q)"
@@ -6943,7 +6906,7 @@ msgstr "Mode Espai Local (%s)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Mode (%s)"
-msgstr "Mode Imant (%s)"
+msgstr "Mode d'Ajustament (%s)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -6970,9 +6933,8 @@ msgid "Right View"
msgstr "Vista Dreta"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
-msgstr "Vista Perspectiva/Ortogonal"
+msgstr "Canviar Vista Perspectiva/Ortogonal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
@@ -7013,12 +6975,11 @@ msgstr "Vista Lliure"
#: editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Transform"
-msgstr "Transforma"
+msgstr "Transformar"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
-msgstr "Alinea-ho amb la graella"
+msgstr "Ajustar Objecte al Terra"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
@@ -7051,7 +7012,7 @@ msgstr "4 Vistes"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Gizmos"
-msgstr "Mostra els Gizmos"
+msgstr "Gizmos"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
@@ -7068,19 +7029,22 @@ msgstr "Configuració"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
-msgstr "Configuració de l'Alineament"
+msgstr "Configuració d'Ajustament"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Translate Snap:"
-msgstr "Translació Alineada:"
+msgstr "Ajustament de Translació:"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Rotate Snap (deg.):"
-msgstr "Rotació Alineada (graus):"
+msgstr "Ajustament de Rotació (graus):"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Scale Snap (%):"
-msgstr "Escala Alineada (%):"
+msgstr "Ajustament d'Escala (%):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Viewport Settings"
@@ -7127,8 +7091,9 @@ msgid "Post"
msgstr "Post"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Nameless gizmo"
-msgstr ""
+msgstr "Gizmo sense nom"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create Mesh2D"
@@ -7151,11 +7116,12 @@ msgstr "Crea un Polígon Oclusor"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
msgid "Sprite is empty!"
-msgstr "El camí per desar és buit!"
+msgstr "El Sprite està buit!"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Can't convert a sprite using animation frames to mesh."
msgstr ""
+"No es pot convertir un sprite que utilitza fotogrames d'animació a malla."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't replace by mesh."
@@ -7183,8 +7149,9 @@ msgid "Create CollisionPolygon2D Sibling"
msgstr "Crea un Polígon de Navegació"
#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
msgid "Invalid geometry, can't create light occluder."
-msgstr ""
+msgstr "La geometria no és vàlida, no es pot crear oclusor de llum."
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
@@ -7192,9 +7159,8 @@ msgid "Create LightOccluder2D Sibling"
msgstr "Crea un Polígon Oclusor"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Sprite"
-msgstr "SpriteFrames"
+msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Simplification: "
@@ -7215,12 +7181,12 @@ msgstr "Configuració:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "No Frames Selected"
-msgstr "Enquadra la Selecció"
+msgstr "No hi ha Fotogrames Seleccionats"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Afegeix Fotograma"
+msgstr "Afegir %d Fotograma(es)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7271,9 +7237,8 @@ msgid "Animation Frames:"
msgstr "Fotogrames d'Animació:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Afegeix Nodes des d'Arbre"
+msgstr "Afegir Textura des de Fitxer"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
@@ -7298,17 +7263,15 @@ msgstr "Mou (Després)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "Select Frames"
-msgstr "Fotogrames de la Pila"
+msgstr "Seleccionar Fotogrames"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Inverteix horitzontalment"
+msgstr "Horitzontal:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Vèrtexs"
+msgstr "Vertical:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
@@ -7329,13 +7292,12 @@ msgid "Set Region Rect"
msgstr "Defineix la Regió Rectangular"
#: editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Set Margin"
-msgstr "Estableix la Nansa"
+msgstr "Establir Marge"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Snap Mode:"
-msgstr "Mode Imant:"
+msgstr "Mode d'ajustament:"
#: editor/plugins/texture_region_editor_plugin.cpp
#: scene/resources/visual_shader.cpp
@@ -7343,12 +7305,13 @@ msgid "None"
msgstr "Cap"
#: editor/plugins/texture_region_editor_plugin.cpp
+#, fuzzy
msgid "Pixel Snap"
-msgstr "Alinea-ho amb els Pixels"
+msgstr "Ajustar amb els Píxels"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid Snap"
-msgstr "Alinea-ho a la graella"
+msgstr "Ajustar a la quadrícula"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Auto Slice"
@@ -7363,8 +7326,9 @@ msgid "Step:"
msgstr "Pas:"
#: editor/plugins/texture_region_editor_plugin.cpp
+#, fuzzy
msgid "Sep.:"
-msgstr ""
+msgstr "Sep.:"
#: editor/plugins/texture_region_editor_plugin.cpp
#, fuzzy
@@ -7392,9 +7356,8 @@ msgid "Remove All"
msgstr "Treu-los tots"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "Edita el Tema..."
+msgstr "Editar Tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7423,21 +7386,19 @@ msgstr "Crea a partir del Tema d'Editor actual"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Toggle Button"
-msgstr "Botó del ratolí"
+msgstr "Botó de commutació"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Botó Central"
+msgstr "Botó Desactivat"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "Element"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "Desactivat"
+msgstr "Element Desactivat"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7461,7 +7422,7 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Submenú"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -7499,13 +7460,13 @@ msgid "Tab 3"
msgstr "Pestanya 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "Fills Editables"
+msgstr "Element Editable"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Subtree"
-msgstr ""
+msgstr "Subarbre"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7542,7 +7503,7 @@ msgstr "Elimina la Selecció"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
msgid "Fix Invalid Tiles"
-msgstr "Nom no vàlid."
+msgstr "Arreglar Rajoles no Valides"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
@@ -7550,8 +7511,9 @@ msgid "Cut Selection"
msgstr "Tallar Selecció"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
msgid "Paint TileMap"
-msgstr "Pinta el TileMap"
+msgstr "Pintar Mapa de Rajoles"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Line Draw"
@@ -7566,13 +7528,14 @@ msgid "Bucket Fill"
msgstr "Cubell de pintura"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
msgid "Erase TileMap"
-msgstr "Elimina el TileMap"
+msgstr "Elimina Mapa de Rajoles"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
msgid "Find Tile"
-msgstr "Cerca Tessel·la"
+msgstr "Trobar Rajola"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -7592,48 +7555,47 @@ msgid "Disable Autotile"
msgstr "AutoTiles"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "Edita Filtres"
+msgstr "Habilitar Prioritat"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
msgid "Paint Tile"
-msgstr "Pinta Tessel·la"
+msgstr "Pinta Rajola"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Maj + RMB: dibuixar una línia\n"
+"Maj + Ctrl + RMB: pintar rectangle"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
msgid "Pick Tile"
-msgstr "Tria un Tessel·la"
+msgstr "Escollir Rajola"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
-msgstr "Mode de Rotació"
+msgstr "Girar a l'Esquerra"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
-msgstr "Gira el Polígon"
+msgstr "Girar a la Dreta"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
-msgstr "Inverteix horitzontalment"
+msgstr "Invertir Horitzontalment"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
-msgstr "Inverteix verticalment"
+msgstr "Invertir Verticalment"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
-msgstr "Transforma"
+msgstr "Restablir Transformació"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -7670,44 +7632,40 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "Mode d'Execució:"
+msgstr "Mode Regió"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Mode d'Interpolació"
+msgstr "Mode Col·lisió"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "Editar Polígon d'Oclusió"
+msgstr "Mode Oclusió"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "Crea un malla de Navegació"
+msgstr "Mode Navegació"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Bitmask Mode"
-msgstr "Mode de Rotació"
+msgstr "Mode màscara de bits"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Priority Mode"
-msgstr "Mode d'Exportació:"
+msgstr "Mode Prioritat"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Icon Mode"
-msgstr "Mode d'Escombratge lateral"
+msgstr "Mode Icona"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Z Index Mode"
-msgstr "Mode d'Escombratge lateral"
+msgstr "Mode Index Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7716,12 +7674,12 @@ msgstr "Copiar màscara de bits."
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Paste bitmask."
-msgstr "Enganxa l'Animació"
+msgstr "Enganxar màscara de bits."
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Erase bitmask."
-msgstr "Elimina un Punt."
+msgstr "Esborrar màscara de bits."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create a new rectangle."
@@ -7739,23 +7697,29 @@ msgstr "Mantenir polígon dins de la regió Rect."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Enable snap and show grid (configurable via the Inspector)."
msgstr ""
+"Habilitar ajustament i mostrar quadrícula (configurable a través de "
+"l'inspector)."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid "Display Tile Names (Hold Alt Key)"
-msgstr ""
+msgstr "Mostrar noms de les rajoles (manteniu pressionada la tecla Alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
-msgstr "Elimina l'entrada actual"
+msgstr ""
+"Eliminar la textura seleccionada? Això eliminarà totes les rajoles que "
+"l'utilitzin."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "You haven't selected a texture to remove."
msgstr "No heu seleccionat una textura per eliminar."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid "Create from scene? This will overwrite all current tiles."
-msgstr ""
+msgstr "Crear des de l'escena? Això sobreescriurà totes les rajoles actuals."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Merge from scene?"
@@ -7766,9 +7730,8 @@ msgid "Remove Texture"
msgstr "Eliminar Textura"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "%s file(s) were not added because was already on the list."
-msgstr "%s fitxer(s) no es van afegir perquè ja estaven en la llista."
+msgstr "%s fitxer(s) no s'han afegit perquè ja estaven en la llista."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
@@ -7779,7 +7742,7 @@ msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Delete selected Rect."
-msgstr "Voleu Esborrar els fitxers seleccionats?"
+msgstr "Suprimir Rectangle seleccionat."
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -7800,8 +7763,10 @@ msgid ""
"Shift+LMB: Set wildcard bit.\n"
"Click on another Tile to edit it."
msgstr ""
-"clic Esquerra: activa el bit\n"
-"clic Dreta: desactiva el bit."
+"Clic Esquerra: activar bit\n"
+"Clic Dret: desactivar bit.\n"
+"Maj. + Clic Esquerra: Establir valor de bit comodí.\n"
+"Feu clic en una altra rajola per editar-la."
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -7830,21 +7795,22 @@ msgstr "Selecciona una sub-tessel·la per a modificar-ne la prioritat."
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Set Tile Region"
-msgstr "Defineix la Regió Rectangular"
+msgstr "Definir Regió de Rajola"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Create Tile"
-msgstr "Crea un Directori"
+msgstr "Crear Rajola"
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid "Set Tile Icon"
-msgstr ""
+msgstr "Establir icona de la Rajola"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Edit Tile Bitmask"
-msgstr "Edita Filtres"
+msgstr "Editar màscara de bits de la rajola"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Collision Polygon"
@@ -7861,11 +7827,12 @@ msgstr "Editar Polígon de Navegació"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Paste Tile Bitmask"
-msgstr "Enganxa l'Animació"
+msgstr "Enganxar màscara de bits del la rajola"
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid "Clear Tile Bitmask"
-msgstr ""
+msgstr "Restablir màscara de bits de la rajola"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -7880,7 +7847,7 @@ msgstr "Mou el Polígon"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Remove Tile"
-msgstr "Elimina la Plantilla"
+msgstr "Eliminar Rajola"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Collision Polygon"
@@ -7897,11 +7864,12 @@ msgstr "Eliminar Polígon de Navegació"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Edit Tile Priority"
-msgstr "Edita Filtres"
+msgstr "Editar Propietats de la Rajola"
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid "Edit Tile Z Index"
-msgstr ""
+msgstr "Edita l'índex Z de la rajola"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create Collision Polygon"
@@ -7936,13 +7904,12 @@ msgid "Scalar"
msgstr "Escala:"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "Inspector"
+msgstr "Vector"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Booleà"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -7951,7 +7918,7 @@ msgstr "Afegeix una Entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "Afegir port de sortida"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -7991,11 +7958,12 @@ msgstr "Canviar Expressió"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
msgid "Resize VisualShader node"
-msgstr "Ombreig"
+msgstr "Redimensionar node VisualShader"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Set Uniform Name"
-msgstr ""
+msgstr "Definir nom uniforme"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8005,7 +7973,7 @@ msgstr "Establir com a valor Predeterminat per a '%s'"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
msgid "Add Node to Visual Shader"
-msgstr "Ombreig"
+msgstr "Afegir node al VisualShader"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Duplicate Nodes"
@@ -8016,26 +7984,25 @@ msgid "Delete Nodes"
msgstr "Eliminar Nodes"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Visual Shader Input Type Changed"
-msgstr ""
+msgstr "El tipus d'entrada VisualShader ha canviat"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Vertex"
msgstr "Vèrtex"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Fragment"
-msgstr "Arguments:"
+msgstr "Fragment"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Light"
msgstr "Llum"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "Crea un Node"
+msgstr "Crear node Shader"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8043,21 +8010,22 @@ msgid "Color function."
msgstr "Vés a la Funció"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Color operator."
-msgstr ""
+msgstr "Operador de color."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
msgid "Grayscale function."
-msgstr "Crea Funció"
+msgstr "Funció d'escala de grisos."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "Converteix el vector HSV en equivalent RGB."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "Converteix el vector RGB en un equivalent de HSV."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8075,7 +8043,7 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
msgid "Difference operator."
-msgstr "Només diferencial"
+msgstr "Operador de diferència."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
@@ -8102,9 +8070,8 @@ msgid "SoftLight operator."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "Constant"
+msgstr "Constant de color."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8112,15 +8079,20 @@ msgid "Color uniform."
msgstr "Transforma"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
msgstr ""
+"Retorna un vector associat si els escalars proporcionats són iguals, més "
+"grans o menys."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
msgstr ""
+"Retorna un vector associat si el valor booleà proporcionat és cert o fals."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8132,257 +8104,43 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
-msgid "Input parameter."
-msgstr "Alinea-ho amb el Pare"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
+msgid "'%s' input parameter for all shader modes."
+msgstr "paràmetre d'entrada 'uv' per a tots els modes shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
+msgid "Input parameter."
+msgstr "Paràmetre d'entrada."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr "paràmetre d'entrada 'alpha' per modes shader vèrtex i el fragment."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr "paràmetre d'entrada 'uv' per a tots els modes shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment shader mode."
+msgstr "paràmetre d'entrada 'uv' per a tots els modes shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for light shader mode."
+msgstr "paràmetre d'entrada 'uv' per a tots els modes shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex shader mode."
+msgstr "paràmetre d'entrada 'uv' per a tots els modes shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr "paràmetre d'entrada 'alpha' per modes shader vèrtex i el fragment."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8395,178 +8153,212 @@ msgid "Scalar operator."
msgstr "Modifica un operador escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "Constant E (2,718282). Representa la base del logaritme natural."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "Constant Èpsilon (0,00001). Menor nombre escalar possible."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "Constant pi (1,618034). Proporció àuria."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "Constant Pi/4 (0,785398) o 45 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "Constant Pi/2 (1,570796) o 90 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "Constant Pi (3,141593) o 180 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "Constant tau (6,283185) o 360 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "Constant Sqrt2 (1,414214). Arrel quadrada de 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "Retorna el valor absolut del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "Retorna el cosinus d'arc del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Només GLES3) Retorna el cosinus hiperbòlic invers del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "Retorna l'arc-sinus del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Només GLES3) Retorna el sinus hiperbòlic invers del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "Retorna l'arc tangent del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "Retorna l'arc tangent dels paràmetres."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Només GLES3) Retorna la tangent hiperbòlica inversa del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
+msgstr "Troba l'enter més proper que sigui major o igual que el paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "Restringeix un valor per a situar-se entre dos valors addicionals."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "Retorna el cosinus del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Només GLES3) Retorna el cosinus hiperbòlic del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "Converteix una quantitat en radians a graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Base-e Exponential."
-msgstr ""
+msgstr "Base-e Exponencial."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "Exponencial en base 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
+msgstr "Troba l'enter més proper inferior o igual al paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Computes the fractional part of the argument."
-msgstr ""
+msgstr "Calcula la part fraccional de l'argument."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "Retorna l'invers de l'arrel quadrada del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Natural logarithm."
-msgstr ""
+msgstr "Logaritme natural."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "Logaritme en base 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the greater of two values."
-msgstr ""
+msgstr "Retorna el major de dos valors."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the lesser of two values."
-msgstr ""
+msgstr "Retorna el menor de dos valors."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Linear interpolation between two scalars."
-msgstr ""
+msgstr "Interpolació lineal entre dos escalars."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the opposite value of the parameter."
-msgstr ""
+msgstr "Retorna el valor oposat del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "1.0 - scalar"
-msgstr ""
+msgstr "1.0 - escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
+msgstr "Retorna el valor del primer paràmetre elevat al poder de la segona."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Converts a quantity in degrees to radians."
-msgstr ""
+msgstr "Converteix una quantitat en graus a radians."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "1.0 / scalar"
-msgstr ""
+msgstr "1.0 / escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest integer to the parameter."
-msgstr ""
+msgstr "(Només GLES3) Troba l'enter més proper al paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest even integer to the parameter."
-msgstr ""
+msgstr "(Només GLES3) Troba l'enter parell més proper al paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Extracts the sign of the parameter."
-msgstr ""
+msgstr "Extreu el signe del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the sine of the parameter."
-msgstr ""
+msgstr "Retorna el sinus del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Només GLES3) Retorna el sinus hiperbòlic del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the square root of the parameter."
-msgstr ""
+msgstr "Retorna l'arrel quadrada del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8585,36 +8377,42 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the tangent of the parameter."
-msgstr ""
+msgstr "Retorna la tangent del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Només GLES3) Retorna la tangent hiperbòlica del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the truncated value of the parameter."
-msgstr ""
+msgstr "(Només GLES3) Troba el valor truncat del paràmetre."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Adds scalar to scalar."
-msgstr ""
+msgstr "Afegeix escalar a escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Divides scalar by scalar."
-msgstr ""
+msgstr "Divideix escalar per escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Multiplies scalar by scalar."
-msgstr ""
+msgstr "Multiplica escalar per escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the remainder of the two scalars."
-msgstr ""
+msgstr "Retorna la resta dels dos escalars."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Subtracts scalar from scalar."
-msgstr ""
+msgstr "Resta escalar d'escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8627,12 +8425,14 @@ msgid "Scalar uniform."
msgstr "Modificar un Uniforme Escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Perform the cubic texture lookup."
-msgstr ""
+msgstr "Realitzar la cerca de textures cúbiques."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Perform the texture lookup."
-msgstr ""
+msgstr "Realitza la cerca de textures."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8647,7 +8447,7 @@ msgstr "Modifica un Uniforme Textura"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
msgid "Transform function."
-msgstr "Diàleg de Transformació..."
+msgstr "Funció de transformació."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8662,36 +8462,36 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr ""
+msgstr "Compon una transformació a partir de quatre vectors."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
-msgstr ""
+msgstr "Descompon una transformació en quatre vectors."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the determinant of a transform."
-msgstr ""
+msgstr "(Només GLES3) Calcula el determinant d'una transformació."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the inverse of a transform."
-msgstr ""
+msgstr "(Només GLES3) Calcula l'invers d'una transformació."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the transpose of a transform."
-msgstr ""
+msgstr "(Només GLES3) Calcula la transposició d'una transformació."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies transform by transform."
-msgstr ""
+msgstr "Multiplica transformació per transformació."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by transform."
-msgstr ""
+msgstr "Multiplica vector per transformació."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
msgid "Transform constant."
-msgstr "S'ha interromput la Transformació ."
+msgstr "Constant de Transformació."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8699,9 +8499,8 @@ msgid "Transform uniform."
msgstr "S'ha interromput la Transformació ."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector function."
-msgstr "Assignació a funció"
+msgstr "Funció vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8710,23 +8509,23 @@ msgstr "Modifica un operador vectorial"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
-msgstr ""
+msgstr "Compon un vector a partir de tres escalars."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr ""
+msgstr "Descompon un vector en tres escalars."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
-msgstr ""
+msgstr "Calcula el producte creuat de dos vectors."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the distance between two points."
-msgstr ""
+msgstr "Retorna la distància entre dos punts."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr ""
+msgstr "Calcula el producte escalar de dos vectors."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8738,23 +8537,23 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr ""
+msgstr "Calcula la longitud d'un vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
-msgstr ""
+msgstr "Interpolació lineal entre dos vectors."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr ""
+msgstr "Calcula el producte normalitzar del vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
-msgstr ""
+msgstr "1.0 - vector"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / vector"
-msgstr ""
+msgstr "1.0 / vector"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8764,7 +8563,7 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns a vector that points in the direction of refraction."
-msgstr ""
+msgstr "Retorna un vector que apunta en la direcció de la refracció."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8800,23 +8599,23 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
-msgstr ""
+msgstr "Afegeix vector al vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr ""
+msgstr "Divideix vector per vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
-msgstr ""
+msgstr "Multiplica vector per vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two vectors."
-msgstr ""
+msgstr "Retorna el residu dels dos vectors."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts vector from vector."
-msgstr ""
+msgstr "Resta vector al vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8829,11 +8628,16 @@ msgid "Vector uniform."
msgstr "Modifica un Uniforme Vectorial"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Custom Godot Shader Language expression, with custom amount of input and "
"output ports. This is a direct injection of code into the vertex/fragment/"
"light function, do not use it to write the function declarations inside."
msgstr ""
+"Expressió personalitzada del llenguatge de Shader de Godot, amb una "
+"quantitat de ports d'entrada i sortida personalitzats. Això es una una "
+"injecció de codi directa en la funció vertex/fragment/light, no lo utilitzau "
+"per a escriure les declaracions de la funció dins seu."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8886,18 +8690,16 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "VisualShader"
-msgstr "Ombreig"
+msgstr "VisualShader"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Edit Visual Property"
msgstr "Editar Propietat Visual"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Visual Shader Mode Changed"
-msgstr "Canvis de Ombreig"
+msgstr "El mode Visual Shader ha canviat"
#: editor/project_export.cpp
msgid "Runnable"
@@ -8935,7 +8737,7 @@ msgstr "alliberat"
#: editor/project_export.cpp
#, fuzzy
msgid "Exporting All"
-msgstr "Exportació per a %s"
+msgstr "Exportant tot"
#: editor/project_export.cpp
msgid "The given export path doesn't exist:"
@@ -9016,14 +8818,12 @@ msgid "Feature List:"
msgstr "Llista de Característiques :"
#: editor/project_export.cpp
-#, fuzzy
msgid "Script"
-msgstr "Script Nou"
+msgstr "Script"
#: editor/project_export.cpp
-#, fuzzy
msgid "Script Export Mode:"
-msgstr "Mode d'Exportació:"
+msgstr "Mode d'Exportació de Scripts:"
#: editor/project_export.cpp
msgid "Text"
@@ -9078,9 +8878,8 @@ msgid "Please choose an empty folder."
msgstr "Selecciona un directori buit."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Please choose a 'project.godot' or '.zip' file."
-msgstr "Si us plau seleccioneu un fitxer 'projecte.godot' o '.zip'."
+msgstr "Si us plau seleccioneu un fitxer 'project.godot' o '.zip'."
#: editor/project_manager.cpp
msgid "Directory already contains a Godot project."
@@ -9281,52 +9080,50 @@ msgstr ""
"Edita el Projecte per inicialitzar-lo."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Are you sure to run %d projects at once?"
-msgstr "Esteu segur que voleu executar més d'un projecte de cop?"
+msgstr "Esteu segur que voleu executar %d projectes de cop?"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove %d projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"Retirar el Projecte de la llista? (El contingut del directori no es "
-"modificarà)"
+"Eliminar %d projectes de la llista?\n"
+"El contingut del directori del projecte no es modificarà."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove this project from the list?\n"
"The project folder's contents won't be modified."
msgstr ""
-"Retirar el Projecte de la llista? (El contingut del directori no es "
-"modificarà)"
+"Eliminar aquest projecte de la llista?\n"
+"El contingut del directori del projecte no es modificarà."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list? (Folders contents will not be "
"modified)"
msgstr ""
-"Retirar el Projecte de la llista? (El contingut del directori no es "
-"modificarà)"
+"Eliminar tots els projectes que falten de la llista? (El contingut dels "
+"directoris no es modificarà)"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
msgstr ""
-"Canvi de Llengua.\n"
-"La interficie s'actualitzarà en iniciar l'editor o administrador."
+"L'idioma ha canviat.\n"
+"La interfície s'actualitzarà després de reiniciar l'editor o el gestor de "
+"projectes."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
-msgstr "S'examinaran %s directoris a la recerca de projectes. Ho Confirmeu?"
+msgstr ""
+"Esteu segur que voleu escanejar %s carpetes per als projectes de Godot "
+"existents?\n"
+"Això pot trigar una estona."
#: editor/project_manager.cpp
msgid "Project Manager"
@@ -9351,7 +9148,7 @@ msgstr "Nou Projecte"
#: editor/project_manager.cpp
#, fuzzy
msgid "Remove Missing"
-msgstr "Elimina el punt"
+msgstr "Suprimeix els que falten"
#: editor/project_manager.cpp
msgid "Templates"
@@ -9370,13 +9167,12 @@ msgid "Can't run project"
msgstr "No es pot executar el projecte"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
-"Encara no teniu cap projecte.\n"
-"Voleu explorar els projectes d'exemple oficials a la Biblioteca d'Actius?"
+"Actualment no teniu cap projecte.\n"
+"Us agradaria explorar projectes d'exemple oficials a la biblioteca d'actius?"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -9395,27 +9191,24 @@ msgid "Mouse Button"
msgstr "Botó del ratolí"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid ""
"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
msgstr ""
-"Nom d'acció no vàlid. No pot estar buit ni contenir '/', ':', '=', '\\' o "
-"'\"'."
+"Nom d'acció no vàlid. No pot estar buit ni contenir '/', ':', '=', '\\' o "
+"'\"'"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "An action with the name '%s' already exists."
-msgstr "L'Acció '%s' ja existeix!"
+msgstr "Ja existeix una acció amb el nom '% s'."
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
msgstr "Reanomena la Incidència de l'Acció d'Entrada"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Change Action deadzone"
-msgstr "Modifica el Nom de l'Animació:"
+msgstr "Canviar zona morta de l'acció"
#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
@@ -9630,9 +9423,8 @@ msgid "Override For..."
msgstr "Substitutiu per a..."
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-#, fuzzy
msgid "The editor must be restarted for changes to take effect."
-msgstr "Cal reiniciar el editor per a que els canvis tinguin efecte"
+msgstr "Cal reiniciar el editor per a que els canvis tinguin efecte."
#: editor/project_settings_editor.cpp
msgid "Input Map"
@@ -9691,14 +9483,12 @@ msgid "Locales Filter"
msgstr "Filtre de Localitzacions"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show All Locales"
-msgstr "Mostra totes les Localitzacions"
+msgstr "Mostrar tots els idiomes"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show Selected Locales Only"
-msgstr "Mostrar només les Localitzacions seleccionades"
+msgstr "Mostrar només els idiomes seleccionats"
#: editor/project_settings_editor.cpp
msgid "Filter mode:"
@@ -9786,7 +9576,6 @@ msgid "Suffix"
msgstr "Sufix"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Advanced Options"
msgstr "Opcions Avançades"
@@ -9815,13 +9604,12 @@ msgid "Root node name"
msgstr "Nom del node arrel"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid ""
"Sequential integer counter.\n"
"Compare counter options."
msgstr ""
"Comptador seqüencial d'enters.\n"
-"Compara les opcions de comptador."
+"Comparar opcions de comptador."
#: editor/rename_dialog.cpp
msgid "Per Level counter"
@@ -9859,7 +9647,6 @@ msgid "Regular Expressions"
msgstr "Expressions Regulars"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Post-Process"
msgstr "Post-Processat"
@@ -9981,20 +9768,18 @@ msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Node must belong to the edited scene to become root."
msgstr ""
"El node ha de pertànyer a l'escena editada per a convertir-se en arrel."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Instantiated scenes can't become root"
msgstr "Les escenes instanciades no es poden convertir en arrel"
#: editor/scene_tree_dock.cpp
#, fuzzy
msgid "Make node as Root"
-msgstr "Entesos!"
+msgstr "Convertir node en arrel"
#: editor/scene_tree_dock.cpp
msgid "Delete Node(s)?"
@@ -10054,7 +9839,7 @@ msgstr "Interfície d'usuari"
#: editor/scene_tree_dock.cpp
#, fuzzy
msgid "Other Node"
-msgstr "Eliminar Node"
+msgstr "Altre Node"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -10097,7 +9882,6 @@ msgid "Clear Inheritance"
msgstr "Elimina l'Herència"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Open Documentation"
msgstr "Obrir documentació"
@@ -10106,13 +9890,17 @@ msgid "Add Child Node"
msgstr "Afegeix un Node Fill"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Col·lapsar tot"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Modifica el Tipus"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Extend Script"
-msgstr "Estén l'script"
+msgstr "Estendre el script"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10136,7 +9924,8 @@ msgid "Delete (No Confirm)"
msgstr "Elimina (Sense Confirmació)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Afegeix/Crea un Node Nou"
#: editor/scene_tree_dock.cpp
@@ -10178,14 +9967,12 @@ msgid "Unlock Node"
msgstr "Selecciona un Node"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Button Group"
-msgstr "Botó 7"
+msgstr "Grup de botons"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "(Connecting From)"
-msgstr "Error en la connexió"
+msgstr "(Connectant des de)"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -10217,9 +10004,8 @@ msgstr ""
"Clic per mostrar el Tauler de Grups."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Open Script:"
-msgstr "Obrir Script"
+msgstr "Obrir Script:"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10268,19 +10054,16 @@ msgid "Select a Node"
msgstr "Selecciona un Node"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is empty."
-msgstr "El camí és Buit"
+msgstr "El camí està buit."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Filename is empty."
-msgstr "El nom del fitxer és buit"
+msgstr "El nom del fitxer és buit."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is not local."
-msgstr "El Camí no és local"
+msgstr "El camí no és local."
#: editor/script_create_dialog.cpp
#, fuzzy
@@ -10288,14 +10071,12 @@ msgid "Invalid base path."
msgstr "El Camí de base no és vàlid"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "A directory with the same name exists."
-msgstr "Ja existeix un directori amb el mateix nom"
+msgstr "Ja existeix un directori amb el mateix nom."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid extension."
-msgstr "L'extensió no és vàlida"
+msgstr "L'extensió no és vàlida."
#: editor/script_create_dialog.cpp
#, fuzzy
@@ -10319,23 +10100,20 @@ msgid "N/A"
msgstr "No Disponible"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Open Script / Choose Location"
-msgstr "Obrir Script/Escollir Localització"
+msgstr "Obrir Script / Escollir Localització"
#: editor/script_create_dialog.cpp
msgid "Open Script"
msgstr "Obrir Script"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, it will be reused."
-msgstr "El fitxer ja existeix i serà reutilitzat"
+msgstr "El fitxer ja existeix, es reutilitzarà."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid class name."
-msgstr "El Nom de Classe no és vàlid"
+msgstr "Nom de classe no vàlid."
#: editor/script_create_dialog.cpp
#, fuzzy
@@ -10343,9 +10121,8 @@ msgid "Invalid inherited parent name or path."
msgstr "El Nom o camí del Pare heretat no és vàlid"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script is valid."
-msgstr "L'Script és vàlid"
+msgstr "El script és vàlid."
#: editor/script_create_dialog.cpp
msgid "Allowed: a-z, A-Z, 0-9 and _"
@@ -10357,14 +10134,12 @@ msgid "Built-in script (into scene file)."
msgstr "Script Integrat (en un fitxer d'escena)"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will create a new script file."
-msgstr "Crea un nou Script"
+msgstr "Es crearà un nou fitxer de script."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will load an existing script file."
-msgstr "Carrega un Script existent"
+msgstr "Es carregarà un fitxer de script existent."
#: editor/script_create_dialog.cpp
msgid "Language"
@@ -11117,9 +10892,8 @@ msgid "Change Input Value"
msgstr "Modifica el Valor de l'Entrada"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Resize Comment"
-msgstr "Modifica el elementCanvas"
+msgstr "Redimensionar comentari"
#: modules/visual_script/visual_script_editor.cpp
msgid "Can't copy the function node."
@@ -11363,17 +11137,14 @@ msgid "The character '%s' is not allowed in Identifier."
msgstr "No es permet el caràcter '% s' en l'Identificador."
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "A digit cannot be the first character in a Identifier segment."
-msgstr "Un dígit no pot ser el primer caràcter d'un segment Identificador."
+msgstr "Un dígit no pot ser el primer caràcter en un segment Identificador."
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid ""
"The character '%s' cannot be the first character in a Identifier segment."
msgstr ""
-"El caràcter \"% s\" no pot ser el primer caràcter d'un segment "
-"d'Identificador."
+"El caràcter '% s' no pot ser el primer caràcter en un segment Identificador."
#: platform/iphone/export/export.cpp
msgid "The Identifier must have at least one '.' separator."
@@ -11424,9 +11195,8 @@ msgid "Using default boot splash image."
msgstr "Utilitzant la imatge de presentació per defecte."
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Invalid package unique name."
-msgstr "El nom exclusiu del paquet no és vàlid."
+msgstr "El nom únic del paquet no és vàlid."
#: platform/uwp/export/export.cpp
msgid "Invalid product GUID."
@@ -11633,6 +11403,17 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D només proporciona formes de col·lisió nodes de derivats de "
+"CollisionObject2D. Utilitzeu-lo només per donar una forma a nodes com "
+"Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, etc."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11934,11 +11715,14 @@ msgid "Pick a color from the screen."
msgstr "Trieu un color de la pantalla."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Mode Cru"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "Switch between hexadecimal and code values."
msgstr "Canviar entre valors hexadecimals i de codi."
@@ -11949,12 +11733,18 @@ msgstr "Afegeix el Color actual com a predeterminat"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Ep!"
@@ -12028,14 +11818,12 @@ msgid "Invalid font size."
msgstr "La mida de la lletra no és vàlida."
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Input"
-msgstr "Afegeix una Entrada"
+msgstr "Entrada"
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Invalid source for shader."
-msgstr "La mida de la lletra no és vàlida."
+msgstr "Font no vàlida pel Shader."
#: servers/visual/shader_language.cpp
#, fuzzy
@@ -12054,6 +11842,49 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Enabled Classes"
+#~ msgstr "Classes Habilitades"
+
+#~ msgid "Update Always"
+#~ msgstr "Actualitza Sempre"
+
+#~ msgid "'camera' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'càmera' per a tots els modes shader."
+
+#~ msgid "'inv_camera' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'inv_camera' per a tots els modes shader."
+
+#~ msgid "'inv_projection' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'inv_projection' per a tots els modes shader."
+
+#~ msgid "'normal' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'normal' per a tots els modes shader."
+
+#~ msgid "'projection' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'projection' per a tots els modes shader."
+
+#~ msgid "'time' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'time' per a tots els modes shader."
+
+#~ msgid "'viewport_size' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'viewport_size' per a tots els modes shader."
+
+#~ msgid "'world' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'world' per a tots els modes shader."
+
+#~ msgid "'alpha' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'alpha' per a tots els modes shader."
+
+#~ msgid "'color' input parameter for all shader modes."
+#~ msgstr "paràmetre d'entrada 'color' per a tots els modes shader."
+
+#~ msgid "'texture_pixel_size' input parameter for all shader modes."
+#~ msgstr ""
+#~ "paràmetre d'entrada 'texture_pixel_size' per a tots els modes shader."
+
+#~ msgid "Raw Mode"
+#~ msgstr "Mode Cru"
+
#~ msgid "Path to Node:"
#~ msgstr "Camí al Node:"
@@ -12610,9 +12441,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Visibilitat dels Espacials"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Visibilitat del CanvasItem"
-
#~ msgid "Condition"
#~ msgstr "Condició"
diff --git a/editor/translations/cs.po b/editor/translations/cs.po
index 34adfd7652..cc9d195909 100644
--- a/editor/translations/cs.po
+++ b/editor/translations/cs.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-03-16 11:42+0000\n"
+"PO-Revision-Date: 2019-07-02 10:49+0000\n"
"Last-Translator: Vojtěch Šamla <auzkok@seznam.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/"
"cs/>\n"
@@ -24,7 +24,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 3.6-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -76,18 +76,16 @@ msgid "Balanced"
msgstr "Vyvážený"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Mirror"
-msgstr "Zrcadlit X"
+msgstr "Zrcadlit"
#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
msgid "Time:"
msgstr "ÄŒas:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Hodnota"
+msgstr "Hodnota:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -102,14 +100,12 @@ msgid "Delete Selected Key(s)"
msgstr "Smazat klíÄ(e)"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Add Bezier Point"
-msgstr "Přidat bod"
+msgstr "Přidat bod Bézierovy křivky"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Move Bezier Points"
-msgstr "Přesunout body"
+msgstr "Přesunout body Bézierovy křivky"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
@@ -173,12 +169,10 @@ msgid "Animation Playback Track"
msgstr "Stopa přehrávání animace"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (frames)"
-msgstr "Délka animace (v sekundách)"
+msgstr "Délka animace (ve snímcích)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (seconds)"
msgstr "Délka animace (v sekundách)"
@@ -451,6 +445,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Vybrat vše"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Vybrat uzel"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Zobrazit pouze stopy vybraných uzlů."
@@ -460,9 +464,8 @@ msgid "Group tracks by node or display them as plain list."
msgstr "Seskupit stopy podle uzlu nebo je zobrazit jako jednoduchý seznam."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Snap:"
-msgstr "Přichytit"
+msgstr "Přichycení:"
#: editor/animation_track_editor.cpp
msgid "Animation step value."
@@ -1331,7 +1334,7 @@ msgstr "Neplatný název. Nesmí kolidovat s existující názvem třídy enginu
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"Neplatný název. Nesmí kolidovat s existujícím jménem zabudovaného typu."
@@ -1543,7 +1546,7 @@ msgstr "Uzel přesunut"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Souborový systém"
#: editor/editor_feature_profile.cpp
@@ -1605,7 +1608,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1620,7 +1623,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Aktuální verze:"
#: editor/editor_feature_profile.cpp
@@ -1645,16 +1648,11 @@ msgstr "Exportovat"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "Dostupné uzly:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Hledat třídy"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "Popis třídy"
@@ -2727,10 +2725,34 @@ msgid "Editor Layout"
msgstr "Rozložení editoru"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Dává smysl!"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Otevřít složku s daty a nastavením editoru"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Otevřít další editor"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Celá obrazovka"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Přepnout režim rozdělení"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Otevřít složku s daty a nastavením editoru"
@@ -2838,15 +2860,18 @@ msgid "Spins when the editor window redraws."
msgstr "ToÄí se, když se okno editoru pÅ™ekresluje."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Aktualizovat vždy"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Spojité"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Akualizovat změny"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Vypnout aktualizaÄní koleÄko"
#: editor/editor_node.cpp
@@ -3139,6 +3164,11 @@ msgid "Page: "
msgstr "Strana: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Odstranit položku"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nový klíÄ:"
@@ -3150,11 +3180,6 @@ msgstr "Nová hodnota:"
msgid "Add Key/Value Pair"
msgstr "Vložte pár klíÄ/hodnota"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Odstranit položku"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5277,6 +5302,14 @@ msgid "Load Emission Mask"
msgstr "NaÄíst emisní masku"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Restartovat nyní"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "VyÄistit emisní masku"
@@ -6199,10 +6232,20 @@ msgid "Find Next"
msgstr "Najít další"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtrovat vlastnosti"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Přepnout abecední řazení seznamu metod."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Režim filtru:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Seřadit"
@@ -6448,11 +6491,6 @@ msgstr ""
msgid "Cut"
msgstr "Vyjmout"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Vybrat vše"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Odstranit řádek"
@@ -8076,51 +8114,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8129,203 +8123,27 @@ msgid "Input parameter."
msgstr "PÅ™ichytit k rodiÄovi"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9995,6 +9813,11 @@ msgid "Add Child Node"
msgstr "Přidat podřízený uzel"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Sbalit vše"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Změnit typ"
@@ -10025,7 +9848,8 @@ msgid "Delete (No Confirm)"
msgstr "Odstranit (bez potvrzení)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Přidat/Vytvořit nový uzel"
#: editor/scene_tree_dock.cpp
@@ -11503,6 +11327,18 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionPolygon2D slouží pouze jako kontejner tvarů objektu "
+"CollissionObject2D a od něj odvozených uzlů. Použijte ho pouze jako potomka "
+"Area2D, StaticBody2D, RigidBody2D, KinematicBody2D a dalších, pro urÄení "
+"jejich tvaru."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11782,8 +11618,12 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "RAW mód"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11796,12 +11636,18 @@ msgstr "Přidat aktuální barvu jako předvolbu"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Pozor!"
@@ -11896,6 +11742,16 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Hledat třídy"
+
+#~ msgid "Update Always"
+#~ msgstr "Aktualizovat vždy"
+
+#~ msgid "Raw Mode"
+#~ msgstr "RAW mód"
+
#~ msgid "Path to Node:"
#~ msgstr "Cesta k uzlu:"
diff --git a/editor/translations/da.po b/editor/translations/da.po
index ec06bd6fa6..ddd6ed5b12 100644
--- a/editor/translations/da.po
+++ b/editor/translations/da.po
@@ -458,6 +458,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Vælg alle"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Vælg Node"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Vis kun spor fra noder valgt in træ."
@@ -1338,7 +1348,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"Ugyldigt navn. Det må ikke være i konflikt med eksisterende built-in type "
"navn."
@@ -1547,7 +1557,7 @@ msgstr "Node Navn:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Fil System"
#: editor/editor_feature_profile.cpp
@@ -1609,7 +1619,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1624,7 +1634,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Nuværende version:"
#: editor/editor_feature_profile.cpp
@@ -1649,16 +1659,11 @@ msgstr "Eksport"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "Tilgængelige Noder:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Søg Classes"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "Klasse beskrivelse"
@@ -2746,10 +2751,34 @@ msgid "Editor Layout"
msgstr "Redaktør opsætning"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Gem Scene"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Åbn redaktør Data/Indstillinger-mappe"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Åbn næste Editor"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Skifter fuldskærm"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Skifter Modus"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Åbn redaktør Data/Indstillinger-mappe"
@@ -2858,15 +2887,18 @@ msgid "Spins when the editor window redraws."
msgstr "Snurrer når editor vinduer gentegnes!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Altid Opdater"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Kontinuerlig"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Opdater Ændringer"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Slå Opdaterings Snurrer Fra"
#: editor/editor_node.cpp
@@ -3156,20 +3188,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5363,6 +5395,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Gem & genstart"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6302,10 +6342,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtrer noder"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Filter mode:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sorter"
@@ -6555,11 +6605,6 @@ msgstr ""
msgid "Cut"
msgstr "Cut"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Vælg alle"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Fjern Line"
@@ -8181,51 +8226,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8233,203 +8234,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10108,6 +9933,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Klap alle sammen"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10138,8 +9968,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Opret Ny %s"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11614,6 +11445,17 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D tjener kun til at give en kollision figur til en "
+"CollisionObject2D afledte node. Du skal kun bruge det som et barn af Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. til at give dem en form."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11886,7 +11728,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11899,12 +11745,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Advarsel!"
@@ -11997,6 +11849,13 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Søg Classes"
+
+#~ msgid "Update Always"
+#~ msgstr "Altid Opdater"
+
#~ msgid "Path to Node:"
#~ msgstr "Sti til Node:"
diff --git a/editor/translations/de.po b/editor/translations/de.po
index f4a51c906c..3ab7a8c3eb 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -40,12 +40,15 @@
# Andreas During <anduring@web.de>, 2019.
# Arthur S. Muszynski <artism90@gmail.com>, 2019.
# Andreas Binczyk <andreas.binczyk@gmail.com>, 2019.
+# Marcus Naschke <marcus.naschke@gmail.com>, 2019.
+# datenbauer <d-vaupel@web.de>, 2019.
+# Alexander Hausmann <alexander-hausmann+weblate@posteo.de>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-05-27 11:00+0000\n"
-"Last-Translator: So Wieso <sowieso@dukun.de>\n"
+"PO-Revision-Date: 2019-07-02 10:47+0000\n"
+"Last-Translator: Alexander Hausmann <alexander-hausmann+weblate@posteo.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -53,7 +56,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -65,8 +68,7 @@ msgstr ""
#: 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 ""
-"Nicht genügend Bytes zum Dekodieren des Byte-Strings oder ungültiges Format."
+msgstr "Nicht genügend Bytes zum Dekodieren oder ungültiges Format."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
@@ -74,11 +76,12 @@ msgstr "Ungültige Eingabe %i (nicht übergeben) im Ausdruck"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr "'self' kann nicht benutzt werden da die Instanz null ist (ungültig)"
+msgstr ""
+"'self' kann nicht benutzt werden, da die Instanz null ist (nicht übergeben)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr "Ungültige Operanden für Operator %s: %s und %s."
+msgstr "Ungültige Operanden für Operator %s, %s und %s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
@@ -114,9 +117,8 @@ msgid "Time:"
msgstr "Zeit:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Wert"
+msgstr "Wert:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -471,10 +473,28 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Diese Animation gehört zu einer importierten Szene, Änderungen an "
+"importierten Spuren werden nicht gespeichert.\n"
+"\n"
+"Um neue Spuren hinzufügen zu können muss unter den Importeinstellungen\n"
+"„Animation > Storage“ zu „Files“ gesetzt und „Animation > Keep Custom "
+"Tracks“ aktiviert werden.\n"
+"Danach ist die Szene erneut zu importieren.\n"
+"Alternativ kann eine Importeinstllung benutzt werden welche Animationen in "
+"separate Dateien importiert."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Achtung: Es wird eine importierte Animation bearbeitet"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Alles auswählen"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "Nichts auswählen"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -708,38 +728,32 @@ msgid "Line and column numbers."
msgstr "Zeilen- und Spaltennummern."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "Im Ziel-Node muss eine Methode angegeben werden!"
+msgstr "Methode des Ziel-Nodes muss angegeben werden."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Zielmethode nicht gefunden! Bitte eine gültige Methode angeben oder ein "
+"Zielmethode nicht gefunden. Bitte eine gültige Methode angeben oder ein "
"Skript dem Ziel-Node anhängen."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
msgstr "Mit Node verbinden:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Kann nicht zu Host verbinden:"
+msgstr "Mit Skript verbinden:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Signale:"
+msgstr "Durch Signal:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "Knoten enthält keine Geometrie."
+msgstr "Szene enthält kein einziges Skript."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -767,9 +781,8 @@ msgid "Extra Call Arguments:"
msgstr "Zusätzliche Aufrufparameter:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Erweiterte Einstellungen"
+msgstr "Erweitert"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -779,6 +792,8 @@ msgstr "Verzögert"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Schiebt das Signal auf, speichert es in einer Warteschlange und sendet es "
+"erst in einer Ruhephase."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -786,12 +801,11 @@ msgstr "Einmalig"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Trenne das Signal nach seiner ersten Emission."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Signal verbinden: "
+msgstr "Signal kann nicht verbunden werden"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -833,14 +847,12 @@ msgid "Disconnect"
msgstr "Trennen"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Signal verbinden: "
+msgstr "Ein Signal mit einer Methode verbinden"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Verbindung bearbeiten: "
+msgstr "Verbindung bearbeiten:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -916,7 +928,6 @@ msgid "Dependencies For:"
msgstr "Abhängigkeiten für:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
@@ -925,7 +936,6 @@ msgstr ""
"Änderungen werden erst wirksam, wenn die Szene neu geladen wird."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
@@ -1027,9 +1037,8 @@ msgstr ""
"%d Datei(en) dauerhaft entfernen? (Kann nicht rückgängig gemacht werden)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Abhängigkeiten"
+msgstr "Abhängigkeiten aufzeigen"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1293,7 +1302,7 @@ msgstr "Öffne Audiobus-Layout"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "Datei ‚%s‘ existiert nicht."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1350,29 +1359,21 @@ msgid "Valid characters:"
msgstr "Gültige Zeichen:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"Ungültiger Name. Darf nicht mit existierenden Klassennamen der Engine "
-"übereinstimmen."
+msgstr "Darf nicht mit existierenden Klassennamen der Engine übereinstimmen."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr ""
-"Ungültiger Name. Darf nicht mit existierenden eingebauten Typnamen "
-"übereinstimmen."
+msgid "Must not collide with an existing built-in type name."
+msgstr "Darf nicht mit existierenden eingebauten Typnamen übereinstimmen."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr ""
-"Ungültiger Name. Darf nicht mit Namen existierender globaler Konstanten "
-"übereinstimmen."
+msgstr "Darf nicht mit Namen existierender globaler Konstanten übereinstimmen."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "Schlüsselwörter können nicht als Autoload-Namen genutzt werden."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1403,7 +1404,6 @@ msgid "Rearrange Autoloads"
msgstr "Autoloads neu anordnen"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "Ungültiger Pfad."
@@ -1458,9 +1458,8 @@ msgid "[unsaved]"
msgstr "[ungespeichert]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Zuerst ein Wurzelverzeichnis setzen"
+msgstr "Zuerst ein Wurzelverzeichnis auswählen."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1544,121 +1543,108 @@ msgid "Template file not found:"
msgstr "Vorlagendatei nicht gefunden:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Editor"
+msgstr "3D-Editor"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Skripteditor öffnen"
+msgstr "Skripteditor"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Öffne Nutzerinhaltesammlung"
+msgstr "Nutzerinhaltesammlung"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Szenenbaum (Nodes):"
+msgstr "Szenenbaum-Bearbeitung"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Import"
+msgstr "Importleiste"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Node verschoben"
+msgstr "Node-Leiste"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "Dateisystem"
+msgid "FileSystem and Import Docks"
+msgstr "Dateisystemleiste"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Alle ersetzen (nicht rückgängig)"
+msgstr "Profil ‚%s‘ löschen? (unumkehrbar)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
msgstr ""
+"Das Profil muss ein gültiger Dateiname sein der keinen Punkt ‚.‘ enthält"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Es existiert bereits eine Datei oder ein Ordner mit diesem Namen."
+msgstr "Ein Profil mit diesem Namen existiert bereits."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Editor deaktiviert, Einstellungen deaktiviert)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Nur Eigenschaften"
+msgstr "(Einstellungen deaktiviert)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Einrasten deaktiviert"
+msgstr "(Editor deaktiviert)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Klassenbeschreibung:"
+msgstr "Klassen-Optionen:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Nächsten Editor öffnen"
+msgstr "Kontextsensitiven Editor aktivieren"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Eigenschaften:"
+msgstr "Aktivierte Eigenschaften:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Funktionen"
+msgstr "Aktivierte Funktionen:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Klassen suchen"
+msgstr "Aktivierte Klassen:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Datei ‚%s‘ ist ungültig, Import wurde abgebrochen."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"Profil ‚%s‘ existiert bereits. Es muss erst entfernt werden bevor es "
+"importiert werden kann. Import wurde abgebrochen."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Fehler beim Laden der Vorlage ‚%s‘"
+msgstr "Fehler beim Speichern des Profils im Pfad: ‚%s‘."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "Deaktivieren"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Aktuelle Version:"
+msgid "Current Profile:"
+msgstr "Aktuelles Profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Laufend:"
+msgstr "Als aktuell auswählen"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1677,43 +1663,32 @@ msgstr "Exportieren"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Verfügbare Nodes:"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Klassen suchen"
+msgid "Available Profiles:"
+msgstr "Verfügbare Profile"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Klassenbeschreibung"
+msgstr "Klassen-Optionen"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Neuer Name:"
+msgstr "Neuer Profilname:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Bereich entfernen"
+msgstr "Profil löschen"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Importiertes Projekt"
+msgstr "Profil(e) importieren"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Projekt exportieren"
+msgstr "Profil exportieren"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "Verwalte Exportvorlagen"
+msgstr "Verwalte Editor-Funktionen-Profile"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1836,9 +1811,8 @@ msgid "(Un)favorite current folder."
msgstr "Gegenwärtigen Ordner (de)favorisieren."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Versteckte Dateien ein- und ausblenden"
+msgstr "Versteckte Dateien ein- oder ausblenden."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1875,6 +1849,8 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"Mehrere Importer verschiedener Typen zeigen zu Datei ‚%s‘, Import wurde "
+"abgebrochen"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -2220,13 +2196,12 @@ msgstr ""
"Die Dokumentation zum Szenenimport beschreibt den nötigen Arbeitsablauf."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
"Diese Ressource gehört zu einer instantiierten oder geerbten Szene.\n"
-"Änderungen an der Ressource werden beim Speichern der Szene nicht "
+"Änderungen an der Ressource werden beim Speichern der aktuellen Szene nicht "
"mitgespeichert."
#: editor/editor_node.cpp
@@ -2239,7 +2214,6 @@ msgstr ""
"durchgeführt werden."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
@@ -2251,13 +2225,12 @@ msgstr ""
"Die Dokumentation zum Szenenimport beschreibt den nötigen Arbeitsablauf."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
-"Dies ist ein Fern-Objekt, die Änderungen an ihm werden nicht gespeichert.\n"
+"Dies ist ein Fern-Objekt, Änderungen an ihm werden nicht gespeichert.\n"
"Die Dokumentation zum Debugging beschreibt den nötigen Arbeitsablauf."
#: editor/editor_node.cpp
@@ -2283,9 +2256,8 @@ msgid "Open Base Scene"
msgstr "Basisszene öffnen"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Schnell Szenen öffnen..."
+msgstr "Schnell öffnen..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2533,12 +2505,11 @@ msgstr "Andere Tabs schließen"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Tabs rechts schließen"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Alle schließen"
+msgstr "Alle Tabs schließen"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2672,7 +2643,7 @@ msgstr "Projektdatenordner öffnen"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Android-Build-Vorlage installieren"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2784,10 +2755,34 @@ msgid "Editor Layout"
msgstr "Editorlayout"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Szenen-Wurzel erstellen"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Editordaten-/Einstellungenordner öffnen"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Nächsten Editor öffnen"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Vollbildmodus umschalten"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "CanvasItem-Sichtbarkeit umschalten"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Editordaten-/Einstellungenordner öffnen"
@@ -2800,9 +2795,8 @@ msgid "Open Editor Settings Folder"
msgstr "Editoreinstellungenordner öffnen"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "Verwalte Exportvorlagen"
+msgstr "Editor-Funktionen verwalten"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2827,7 +2821,7 @@ msgstr "Internetdokumentation"
#: editor/editor_node.cpp
msgid "Q&A"
-msgstr "Fragen&Antworten"
+msgstr "Fragen & Antworten"
#: editor/editor_node.cpp
msgid "Issue Tracker"
@@ -2895,15 +2889,18 @@ msgid "Spins when the editor window redraws."
msgstr "Dreht sich, wenn das Editorfenster neu gezeichnet wird."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Immer aktualisieren"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Fortlaufend"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Änderungen aktualisieren"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Update-Anzeigerad deaktivieren"
#: editor/editor_node.cpp
@@ -2933,17 +2930,20 @@ msgstr "Nicht speichern"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
msgstr ""
+"Android-Build-Vorlage fehlt, Installation relevanter Vorlagen erforderlich."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Verwalte Exportvorlagen"
+msgstr "Vorlagen verwalten"
#: editor/editor_node.cpp
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"Dies wird das Android-Projekt für eigene Builds installieren.\n"
+"Hinweis: Um es zu benutzen muss es in den jeweiligen Exportvoreinstellungen "
+"aktivierten werden."
#: editor/editor_node.cpp
msgid ""
@@ -2951,6 +2951,10 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"Android-Build-Vorlage wurde bereits installiert und wird nicht "
+"überschrieben.\n"
+"Zur Ausführung dieses Befehls muss das „build“-Verzeichnis manuell gelöscht "
+"werden."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3201,6 +3205,11 @@ msgid "Page: "
msgstr "Seite: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Entferne Element"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Neuer Schlüssel:"
@@ -3212,11 +3221,6 @@ msgstr "Neuer Wert:"
msgid "Add Key/Value Pair"
msgstr "Schlüssel-Wert-Paar hinzufügen"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Entferne Element"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3423,9 +3427,8 @@ msgid "SSL Handshake Error"
msgstr "SSL-Handshake-Fehler"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "Inhalte werden entpackt"
+msgstr "Android-Build-Quellen werden entpackt"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3444,9 +3447,8 @@ msgid "Remove Template"
msgstr "Entferne Vorlage"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
-msgstr "Vorlagendatei wählen"
+msgstr "Vorlagendatei auswählen"
#: editor/export_template_manager.cpp
msgid "Export Template Manager"
@@ -3506,9 +3508,8 @@ msgid "No name provided."
msgstr "Kein Name angegeben."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "Angegebener Name enthält ungültige Zeichen"
+msgstr "Angegebener Name enthält ungültige Zeichen."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3535,26 +3536,22 @@ msgid "Duplicating folder:"
msgstr "Dupliziere Ordner:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Neue geerbte Szene..."
+msgstr "Neue geerbte Szene"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Szene öffnen"
+msgstr "Szenen öffnen"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Instanz"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
msgstr "Zu Favoriten hinzufügen"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
msgstr "Aus Favoriten entfernen"
@@ -3604,21 +3601,18 @@ msgid "Rename"
msgstr "Umbenennen"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Vorheriger Ordner"
+msgstr "Vorherige(r) Ordner/Datei"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Nächster Ordner"
+msgstr "Nächste(r) Ordner/Datei"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "Dateisystem erneut einlesen"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
msgstr "Geteilten Modus umschalten"
@@ -3673,6 +3667,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Dateien mit den folgenden Endungen werden hinzugefügt. In den "
+"Projekteinstellungen änderbar."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4113,9 +4109,8 @@ msgid "Open Animation Node"
msgstr "Animations-Node öffnen"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "Dreieck existiert bereits"
+msgstr "Dreieck existiert bereits."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4261,7 +4256,6 @@ msgid "Edit Filtered Tracks:"
msgstr "Gefilterte Spuren bearbeiten:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
msgstr "Filtern aktivieren"
@@ -4397,9 +4391,8 @@ msgid "Enable Onion Skinning"
msgstr "Zwiebelhaut aktivieren"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "Zwiebelhaut"
+msgstr "Zwiebelhaut-Einstellugen"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4967,6 +4960,8 @@ msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Wenn aktiviert ändert das Verschieben von Control-Nodes ihre Anker anstatt "
+"ihre Ausmaße."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -4982,41 +4977,35 @@ msgstr "Ankerpunkte ändern"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "Werkzeugauswahl"
+msgstr "Auswahl sperren"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "Ausgewähltes löschen"
+msgstr "Auswahl entsperren"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Auswahl kopieren"
+msgstr "Auswahl gruppieren"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Auswahl kopieren"
+msgstr "Auswahl entgruppieren"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "Pose einfügen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
msgstr "Erstelle eigenständige(n) Knochen aus Node(s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "Pose zurücksetzen"
+msgstr "Knochen löschen"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5105,7 +5094,6 @@ msgid "Snapping Options"
msgstr "Einrasteinstellungen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
msgstr "Am Gitter einrasten"
@@ -5127,37 +5115,30 @@ msgid "Use Pixel Snap"
msgstr "Pixelraster benutzen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
msgstr "Intelligentes Einrasten"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
msgstr "An Elternobjekt einrasten"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
msgstr "Am Node-Anker einrasten"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
msgstr "An Node-Seiten einrasten"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
msgstr "Am Node-Mittelpunkt einrasten"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
msgstr "An anderen Nodes einrasten"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
msgstr "An Hilfslinien einrasten"
@@ -5241,9 +5222,8 @@ msgid "Frame Selection"
msgstr "Auswahl einrahmen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Preview Canvas Scale"
-msgstr "Zeige Atlas-Vorschau"
+msgstr "Leinwandskalierung vorschauen"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
@@ -5299,9 +5279,8 @@ msgid "Divide grid step by 2"
msgstr "Gitterstufe halbieren"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Pan View"
-msgstr "Sicht von hinten"
+msgstr "Sicht verschieben"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -5326,7 +5305,6 @@ msgid "Error instancing scene from %s"
msgstr "Fehler beim Instanziieren von %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
msgstr "Standardtyp ändern"
@@ -5370,6 +5348,14 @@ msgid "Load Emission Mask"
msgstr "Emissionsmaske laden"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Jetzt Neustarten"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Emissionsmaske leeren"
@@ -5415,14 +5401,12 @@ msgid "Create Emission Points From Node"
msgstr "Erzeuge Emissionspunkte aus Node"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "Flach0"
+msgstr "Flach 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "Flach1"
+msgstr "Flach 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5449,27 +5433,22 @@ msgid "Load Curve Preset"
msgstr "Kurvenvorlage laden"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
msgstr "Punkt hinzufügen"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
msgstr "Punkt entfernen"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
msgstr "Links linear"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
msgstr "Rechts linear"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
msgstr "Vorlage laden"
@@ -5526,18 +5505,16 @@ msgid "This doesn't work on scene root!"
msgstr "Das geht nicht an der Wurzel der Szene!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "Trimesh-Form erzeugen"
+msgstr "Trimesh-Statische-Form erzeugen"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Form-Erstellung fehlgeschlagen!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Konvexe Form erstellen"
+msgstr "Konvexe Form(en) erstellen"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -5594,9 +5571,8 @@ msgid "Create Trimesh Collision Sibling"
msgstr "Trimesh-Kollisionselement erzeugen"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
-msgstr "Konvexes Kollisionselement erzeugen"
+msgstr "Konvexe(s) Kollisionselement(e) erzeugen"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -5958,7 +5934,6 @@ msgid "Split Segment (in curve)"
msgstr "Segment aufteilen (in Kurve)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
msgstr "Gelenk verschieben"
@@ -6293,10 +6268,20 @@ msgid "Find Next"
msgstr "Finde Nächstes"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Eigenschaften filtern"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Alphabetische Sortierung der Methodenliste umschalten."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Filtermodus:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sortiere"
@@ -6407,18 +6392,17 @@ msgid "Debug with External Editor"
msgstr "Mit externem Editor debuggen"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Öffne Godot-Referenzdokumentation"
+msgstr "Godot-Onlinedokumentation öffnen."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "Dokumentation anfragen"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "Die Godot-Dokumentation durch Meinungsäußerung verbessern"
+msgstr ""
+"Mithelfen die Godot-Dokumentation durch Meinungsäußerungen zu verbessern."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6463,29 +6447,26 @@ msgid "Search Results"
msgstr "Suchergebnisse"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "Mit Node verbinden:"
+msgstr "Verbindungen mit Methode:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Quelle:"
+msgstr "Quelle"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Signale"
+msgstr "Signal"
#: editor/plugins/script_text_editor.cpp
msgid "Target"
msgstr "Ziel"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "Nichts ist mit dem Eingang ‚%s‘ von Node ‚%s‘ verbunden."
+msgstr ""
+"Fehlende verbundene Methode ‚%s‘ für Signal ‚%s‘ von Node ‚%s‘ zu Node ‚%s‘."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6534,18 +6515,13 @@ msgstr "Syntaxhervorhebung"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "Lesezeichen"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Ausschneiden"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Alles auswählen"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Zeile löschen"
@@ -6563,24 +6539,20 @@ msgid "Toggle Comment"
msgstr "Kommentar umschalten"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "Freie Kamera umschalten"
+msgstr "Lesezeichen umschalten"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Springe zum nächsten Haltepunkt"
+msgstr "Springe zum nächsten Lesezeichen"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "Springe zum vorigen Haltepunkt"
+msgstr "Springe zum vorigen Lesezeichen"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "Alle Elemente entfernen"
+msgstr "Alle Lesezeichen entfernen"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -6656,13 +6628,12 @@ msgid "Contextual Help"
msgstr "Kontexthilfe"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"Die folgenden Dateien wurden im Dateisystem verändert.\n"
-"Wie soll weiter vorgegangen werden?:"
+"Dieser Shader wurde im Dateisystem verändert.\n"
+"Wie soll weiter vorgegangen werden?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -7010,9 +6981,8 @@ msgid "Right View"
msgstr "Sicht von rechts"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
-msgstr "Wechsle zwischen perspektivischer und orthogonaler Sicht"
+msgstr "Zwischen perspektivischer und orthogonaler Sicht wechseln"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
@@ -7056,7 +7026,6 @@ msgid "Transform"
msgstr "Transformation"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
msgstr "Objekt am Boden einrasten"
@@ -7248,14 +7217,12 @@ msgid "Settings:"
msgstr "Einstellungen:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "Auswahl einrahmen"
+msgstr "Keine Frames ausgewählt"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Frame hinzufügen"
+msgstr "%d Frame(s) hinzufügen"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7306,13 +7273,12 @@ msgid "Animation Frames:"
msgstr "Animationsbilder:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Textur(en) zu TileSet hinzufügen."
+msgstr "Textur aus Datei hinzufügen"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "Frame aus Sprite-Sheet hinzufügen"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
@@ -7331,29 +7297,24 @@ msgid "Move (After)"
msgstr "Dahinter bewegen"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select Frames"
-msgstr "Aufrufsverlauf"
+msgstr "Frames auswählen"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Horizontal spiegeln"
+msgstr "Horizontal:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Vertices"
+msgstr "Vertikal:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "Alles auswählen"
+msgstr "Alle Frames aus/ab-wählen"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "Von Szene erstellen"
+msgstr "Frames aus Sprite-Sheet erzeugen"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7425,9 +7386,8 @@ msgid "Remove All"
msgstr "Alles entfernen"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "Thema bearbeiten..."
+msgstr "Thema bearbeiten"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7454,23 +7414,20 @@ msgid "Create From Current Editor Theme"
msgstr "Aus derzeitigem Editor-Thema erstellen"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "Maustaste"
+msgstr "Knopf umschalten"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Mittlere Taste"
+msgstr "Deaktivierter Knopf"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "Element"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "Deaktiviert"
+msgstr "Deaktiviertes Objekt"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7490,21 +7447,19 @@ msgstr "Markiertes Element der Auswahl"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "Ben. Trenner"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Untermenü"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "Element"
+msgstr "Element 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "Element"
+msgstr "Element 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7515,9 +7470,8 @@ msgid "Many"
msgstr "Viele"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "Deaktiviert"
+msgstr "Deaktiviertes LineEdit"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7532,13 +7486,12 @@ msgid "Tab 3"
msgstr "Tab 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "bearbeitbare Unterobjekte"
+msgstr "Bearbeitbares Element"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "Unterbaum"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7618,14 +7571,12 @@ msgid "Mirror Y"
msgstr "Y-Koordinaten spiegeln"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "Autokacheln"
+msgstr "Autokacheln deaktivieren"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "Kachelpriorität bearbeiten"
+msgstr "Priorität aktivieren"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7636,35 +7587,32 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Umsch+RMT: Linie zeichnen\n"
+"Umsch+Strg+RMT: Rechteck einfärben"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
msgstr "Wähle Kachel"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
msgstr "Nach links rotieren"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
msgstr "Nach rechts rotieren"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
-msgstr "Horizontal spiegeln"
+msgstr "Horizontal umdrehen"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
-msgstr "Vertikal spiegeln"
+msgstr "Vertikal umdrehen"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
-msgstr "Transform löschen"
+msgstr "Transform leeren"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Add Texture(s) to TileSet."
@@ -7699,44 +7647,36 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Die vorherige Form oder Kachel auswählen."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "Ausführungsmodus:"
+msgstr "Bereichsmodus"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Interpolationsmodus"
+msgstr "Kollisionsmodus"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "Occlusion-Polygon bearbeiten"
+msgstr "Verschlussmodus"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "Navigations-Mesh erzeugen"
+msgstr "Navigationsmodus"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "Rotationsmodus"
+msgstr "Bitmaskenmodus"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "Export-Modus:"
+msgstr "Prioritätsmodus"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "Schwenkmodus"
+msgstr "Symbolmodus"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "Schwenkmodus"
+msgstr "Z-Indexmodus"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7823,15 +7763,15 @@ msgid "Delete polygon."
msgstr "Polygon löschen."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
"Shift+LMB: Set wildcard bit.\n"
"Click on another Tile to edit it."
msgstr ""
-"LMT: Bit anstellen.\n"
-"RMT: Bit ausstellen.\n"
+"LMT: Bit setzen.\n"
+"RMT: Bit löschen.\n"
+"Umsch+LMT: Wildcard-Bit setzen.\n"
"Auf andere Kachel klicken um diese zu bearbeiten."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -7945,77 +7885,64 @@ msgid "TileSet"
msgstr "TileSet"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "Eingang hinzufügen"
+msgstr "Eingang hinzufügen +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "Eingang hinzufügen"
+msgstr "Ausgang hinzufügen +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "Skalierung:"
+msgstr "Skalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "Inspektor"
+msgstr "Vektor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Boolean"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "Eingang hinzufügen"
+msgstr "Eingangsschnittstelle hinzufügen"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "Ausgangsschnittstelle hinzufügen"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "Standardtyp ändern"
+msgstr "Eingangsschnittstellentyp ändern"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "Standardtyp ändern"
+msgstr "Ausgangsschnittstellentyp ändern"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "Ändere Eingabename"
+msgstr "Eingangsschnittstellenname ändern"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "Ändere Eingabename"
+msgstr "Ausgangsschnittstellenname ändern"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "Punkt entfernen"
+msgstr "Eingangsschnittstelle entfernen"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "Punkt entfernen"
+msgstr "Ausgangsschnittstelle entfernen"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "Ausdruck ändern"
+msgstr "Ausdruck eintragen"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "VisualShader"
+msgstr "VisualShader-Nodegröße anpassen"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
@@ -8054,540 +7981,323 @@ msgid "Light"
msgstr "Licht"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "Erzeuge Node"
+msgstr "Shader-Node erzeugen"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "Springe zu Funktion"
+msgstr "Farbfunktion."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
-msgstr ""
+msgstr "Farboperator."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "Funktion erstellen"
+msgstr "Graustufenfunktion."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "Wandelt HSV-Vektor in RGB-Gegenwert um."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "Wandelt RGB-Vektor in HSV-Gegenwert um."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "Funktion umbenennen"
+msgstr "Sepiafunktion."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "Brenn-Operator."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
-msgstr ""
+msgstr "Verdunkel-Operator."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Difference operator."
-msgstr "nur Unterschiede"
+msgstr "Differenz-Operator."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
-msgstr ""
+msgstr "Umgehungsoperator."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "HardLight operator"
-msgstr ""
+msgstr "Hartlicht-Operator"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Lighten operator."
-msgstr ""
+msgstr "Erhell-Operator."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Overlay operator."
-msgstr ""
+msgstr "Überlagerungsoperator."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Screen operator."
-msgstr ""
+msgstr "Bildschirm-Opertor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "SoftLight operator."
-msgstr ""
+msgstr "Weichlicht-Operator."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "Konstant"
+msgstr "Farbkonstante."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "Transform löschen"
+msgstr "Farb-Uniform."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
msgstr ""
+"Gibt einen geeigneten Vektor zurück je nach dem ob die übergebenen Skalare "
+"gleich, größer oder kleiner sind."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
msgstr ""
+"Gibt einen geeigneten Vektor zurück je nach dem ob der übergebene Wert wahr "
+"oder falsch ist."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Boolean constant."
-msgstr "Ändere Vektorkonstante"
+msgstr "Boolean-Konstante."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
-msgstr ""
+msgstr "Boolean-Uniform."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
-msgid "Input parameter."
-msgstr "An Elternobjekt einrasten"
+msgid "'%s' input parameter for all shader modes."
+msgstr "‚uv‘-Eingabeparameter für alle Shadermodi."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
+msgid "Input parameter."
+msgstr "Eingabeparameter."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr "‚uv‘-Eingabeparameter für Vertex- und Fragment-Shadermodus."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr "‚view‘-Eingabeparameter für Vertex- und Light-Shadermodus."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment shader mode."
+msgstr "‚side‘-Eingabeparameter für Fragment-Shadermodus."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for light shader mode."
+msgstr "‚diffuse‘-Eingabeparameter für Light-Shadermodus."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex shader mode."
+msgstr "'custom'-Eingabeparameter für Vertex-Shadermodus."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr "‚uv‘-Eingabeparameter für Vertex- und Fragment-Shadermodus."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar function."
-msgstr "Ändere skalare Funktion"
+msgstr "Skalarfunktion."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar operator."
-msgstr "Ändere skalaren Operator"
+msgstr "Skalaroperator."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "Konstante E (2.718282). Basis des natürlichen Logarithmus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "Konstante Epsilon (0.00001). Kleinstmöglicher skalarer Wert."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "Konstante Phi (1.618034). Goldener Schnitt."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "Konstante Pi/4 (0.785398) oder 45 Grad."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "Konstante Pi/2 (1.570796) oder 90 Grad."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "Konstante Pi (3.141593) oder 180 Grad."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "Konstante Tau (6.283185) oder 360 Grad."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "Konstante Sqrt2 (1.414214). Quadratwurzel aus 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "Gibt den absoluten Betrag des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "Gibt den Arkuskosinus des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
msgstr ""
+"(Nur GLES3) Gibt den inversen hyperbolischen Kosinus des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "Gibt den Arkussinus des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
msgstr ""
+"(Nur GLES3) Gibt den inversen hyperbolischen Sinus des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "Gibt den Arkustangens des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "Gibt den Arkuskosinus2 der Parameter zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
msgstr ""
+"(Nur GLES3) Gibt den inversen hyperbolischen Tangens des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
+msgstr "Gibt die nächste Ganzzahl größer gleich dem Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "Schränkt den Wert auf das Intervall zweier Werte ein."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "Gibt den Kosinus des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Nur GLES3) Gibt den hyperbolischen Kosinus des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "Wandelt einen Wert von Bogenmaß zu Grad um."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "Basis-e exponentiell."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "Basis-2 exponentiell."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
+msgstr "Gibt die nächste Ganzzahl kleiner gleich dem Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
-msgstr ""
+msgstr "Berechnet den Bruchteil des Parameters."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "Gibt die inverse Quadratwurzel des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
-msgstr ""
+msgstr "Natürlicher Logarithmus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "Basis-2 Logarithmus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
-msgstr ""
+msgstr "Gibt den größeren zweier Parameter zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the lesser of two values."
-msgstr ""
+msgstr "Gibt den kleineren zweier Parameter zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
-msgstr ""
+msgstr "Lineare Interpolation zwischen zwei Skalaren."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the opposite value of the parameter."
-msgstr ""
+msgstr "Gibt den inversen Wert des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - scalar"
-msgstr ""
+msgstr "1.0 - Skalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
+msgstr "Gibt den ersten Parameter hoch den Zweiten zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in degrees to radians."
-msgstr ""
+msgstr "Wandelt einen Wert von Grad zu Bogenmaß um."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / scalar"
-msgstr ""
+msgstr "1.0 / Skalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest integer to the parameter."
-msgstr ""
+msgstr "(nur GLES3) Gibt die nächste Ganzzahl vom Parameter zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest even integer to the parameter."
-msgstr ""
+msgstr "(nur GLES3) Gibt die nächste gerade Ganzzahl vom Parameter zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
+msgstr "Schränkt den Wert auf das Intervall von 0.0 bis 1.0 ein."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Extracts the sign of the parameter."
-msgstr ""
+msgstr "Extrahiert das Vorzeichen des Parameters."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the sine of the parameter."
-msgstr ""
+msgstr "Gibt den Sinus des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(nur GLES3) Gibt den hyperbolischen Sinus des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the square root of the parameter."
-msgstr ""
+msgstr "Gibt die Quadratwurzel des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8597,6 +8307,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"Weichschrittfunktion ( Skalar(Kante0), Skalar(Kante1), Skalar(x) ).\n"
+"\n"
+"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante0‘, gibt 1.0 zurück falls ‚x‘ "
+"größer ‚Kante1‘. Ansonsten wird ein durch Hermite-Polynome interpolierter "
+"Wert zwischen 0.0 und 1.0 zurück gegeben."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8604,71 +8319,69 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Schrittfunktion ( Skalar(Kante), Skalar(x) ).\n"
+"\n"
+"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante‘, ansonsten 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
-msgstr ""
+msgstr "Gibt den Tangens des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(nur GLES3) Gibt den hyperbolischen Tangens des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the truncated value of the parameter."
-msgstr ""
+msgstr "(Nur GLES3) Gibt den abgeschnittenen Wert des Parameters zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds scalar to scalar."
-msgstr ""
+msgstr "Addiert Skalar zu Skalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides scalar by scalar."
-msgstr ""
+msgstr "Teilt Skalar durch Skalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies scalar by scalar."
-msgstr ""
+msgstr "Multipliziert Skalar mit Skalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two scalars."
-msgstr ""
+msgstr "Gibt den Rest der Division zweier Skalare zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts scalar from scalar."
-msgstr ""
+msgstr "Subtrahiert ein Skalar von einen anderem."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar constant."
-msgstr "Ändere skalare Konstante"
+msgstr "Skalarkonstante."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar uniform."
-msgstr "Ändere Skalar-Uniform"
+msgstr "Skalar-Uniform."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
-msgstr ""
+msgstr "Kubisches Texturfinden ausführen."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the texture lookup."
-msgstr ""
+msgstr "Texturfinden ausführen."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Cubic texture uniform."
-msgstr "Ändere Textur-Uniform"
+msgstr "Kubisches Textur-Uniform."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "2D texture uniform."
-msgstr "Ändere Textur-Uniform"
+msgstr "2D-Textur-Uniform."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform function."
-msgstr "Transformationsdialog..."
+msgstr "Transformierungsfunktion."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8680,74 +8393,77 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
+"(nur GLES3) Berechnet das äußere Produkt zweier Vektoren.\n"
+"\n"
+"Führt eine Matrixmultiplikation des ersten Parameters ‚c‘ (interpretiert als "
+"Spaltenvektor = Matrix aus einer Spalte) mit dem zweiten Parameter "
+"‚r‘ (interpretiert als Zeilenvektor = Matrix aus einer Zeile) aus und gibt "
+"eine Matrix zurück die aus ‚cn‘ Zeilen und ‚rn‘ Spalten besteht, wobei ‚cn‘ "
+"und ‚rn‘ die Anzahl der Komponenten von ‚c‘ und ‚r‘ sind."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr ""
+msgstr "Erstellt Transform aus vier Vektoren."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
-msgstr ""
+msgstr "Extrahiert vier Vektoren aus Transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the determinant of a transform."
-msgstr ""
+msgstr "(nur GLES3) Berechnet die Determinante eines Transforms."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the inverse of a transform."
-msgstr ""
+msgstr "(nur GLES3) Invertiert ein Transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the transpose of a transform."
-msgstr ""
+msgstr "(nur GLES3) Transponiert ein Transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies transform by transform."
-msgstr ""
+msgstr "Multipliziert Transform mit Transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by transform."
-msgstr ""
+msgstr "Multipliziert Vektor mit Transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform constant."
-msgstr "Transformation abgebrochen."
+msgstr "Transformkonstante."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform uniform."
-msgstr "Transformation abgebrochen."
+msgstr "Transform-Uniform."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector function."
-msgstr "Zuweisung an Funktion."
+msgstr "Vektorfunktion."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector operator."
-msgstr "Ändere Vektoroperator"
+msgstr "Vektoroperator."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
-msgstr ""
+msgstr "Formt Vektor aus drei Skalaren."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr ""
+msgstr "Extrahiert drei Skalare aus Vektor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
-msgstr ""
+msgstr "Berechnet das Kreuzprodukt zweier Vektoren."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the distance between two points."
-msgstr ""
+msgstr "Gibt die Distanz zwischen zwei Punkten zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr ""
+msgstr "Berechnet das Skalarprodukt aus zwei Vektoren."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8756,36 +8472,43 @@ msgid ""
"incident vector, and Nref, the reference vector. If the dot product of I and "
"Nref is smaller than zero the return value is N. Otherwise -N is returned."
msgstr ""
+"Gibt einen Vektor zurück der in die gleiche Richtung wie ein Referenzvektor "
+"zeigt. Die Funktion benötigt drei Vektorparameter: N, der auszurichtende "
+"Vektor, E, der Einfallsvektor und Nref, der Referenzvektor. Ist das "
+"Skalarprodukt aus E und Nref kleiner als null wird N zurückgegeben, "
+"ansonsten -N."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr ""
+msgstr "Berechnet die Länge eines Vektors."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
-msgstr ""
+msgstr "Lineare Interpolation zwischen zwei Vektoren."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr ""
+msgstr "Berechnet den normierten Vektor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
-msgstr ""
+msgstr "1.0 - Vektor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / vector"
-msgstr ""
+msgstr "1.0 / Vektor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns a vector that points in the direction of reflection ( a : incident "
"vector, b : normal vector )."
msgstr ""
+"Berechnet den Vektor der in die Richtung einer Reflektion zeigt (a: "
+"Einfallsvektor, b: Normalenvektor)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns a vector that points in the direction of refraction."
-msgstr ""
+msgstr "Berechnet den Vektor der in Richtung einer Brechung zeigt."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8795,6 +8518,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"Weiche Stufenfunktion ( Vektor(Kante0), Vektor(Kante1), Vektor(x) ).\n"
+"\n"
+"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante0‘, gibt 1.0 zurück falls ‚x‘ "
+"größer als ‚Kante1‘. Ansonsten wird ein durch Hermite-Polynome "
+"interpolierter Wert zwischen 0.0 und 1.0 zurückgegeben."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8804,6 +8532,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"Weiche Stufenfunktion ( Skalar(Kante0), Skalar(Kante1), Vektor(x) ).\n"
+"\n"
+"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante0‘, gibt 1.0 zurück falls ‚x‘ "
+"größer als ‚Kante1‘. Ansonsten wird ein durch Hermite-Polynome "
+"interpolierter Wert zwischen 0.0 und 1.0 zurückgegeben."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8811,6 +8544,9 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Stufenfunktion ( Vektor(Kante), Vektor(x) ).\n"
+"\n"
+"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante‘, ansonsten 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8818,36 +8554,37 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Stufenfunktion ( Skalar(Kante), Vektor(x) ).\n"
+"\n"
+"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante‘, ansonsten 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
-msgstr ""
+msgstr "Addiert Vektor zu Vektor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr ""
+msgstr "Teilt Vektor durch Vektor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
-msgstr ""
+msgstr "Multipliziert Vektor mit Vektor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two vectors."
-msgstr ""
+msgstr "Gibt den Rest einer Division zweier Vektoren zurück."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts vector from vector."
-msgstr ""
+msgstr "Subtrahiert Vektor von Vektor."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector constant."
-msgstr "Ändere Vektorkonstante"
+msgstr "Vektorkonstante."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector uniform."
-msgstr "Zuweisung an Uniform."
+msgstr "Vektor-Uniform."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8855,56 +8592,77 @@ msgid ""
"output ports. This is a direct injection of code into the vertex/fragment/"
"light function, do not use it to write the function declarations inside."
msgstr ""
+"Ein selbst festgelegter Shader-Sprachausdruck mit eigens festgelegten Ein- "
+"und Ausgangsschnittstellen. Dieser Code wird direkt in eine Vertex-, "
+"Fragment- oder Light-Funktion kopiert, Funktionsdeklarationen können hier "
+"nicht verwendet werden."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
msgstr ""
+"Gibt den Fresnelabfall abgeleitet aus dem Skalarprodukt aus "
+"Oberflächennormalenvektor und Kamerablickrichtung zurück (zugeordnete "
+"Eingänge müssen übergeben werden)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Scalar derivative function."
msgstr ""
+"(nur GLES3) (nur für Fragment-/Light-Modus) Skalare Ableitungsfunktion."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Vector derivative function."
msgstr ""
+"(nur GLES3) (nur für Fragment-/Light-Modus) Vektorielle Ableitungsfunktion."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(nur GLES3) (nur für Fragment-/Light-Modus) (Vektor) Lokale differenzielle "
+"Ableitung in ‚x‘-Richtung."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(nur GLES3) (nur für Fragment-/Light-Modus) (Skalar) Lokale differenzielle "
+"Ableitung in ‚x‘-Richtung."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(nur GLES3) (nur für Fragment-/Light-Modus) (Vektor) Lokale differenzielle "
+"Ableitung in ‚y‘-Richtung."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(nur GLES3) (nur für Fragment-/Light-Modus) (Skalar) Lokale differenzielle "
+"Ableitung in ‚y‘-Richtung."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(nur GLES3) (nur für Fragment-/Light-Modus) (Vektor) Summe der absoluten "
+"Ableitungen in ‚x‘- und ‚y‘-Richtung."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(nur GLES3) (nur für Fragment-/Light-Modus) (Skalar) Summe der absoluten "
+"Ableitungen in ‚x‘- und ‚y‘-Richtung."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "VisualShader"
@@ -9246,7 +9004,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"
@@ -9258,18 +9015,17 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"Die folgenden Projekteinstellungsdatei enthält keine Information darüber, "
-"mit welcher Version von Godot sie erstellt wurde.\n"
+"Die folgende Projekteinstellungsdatei enthält keine Information darüber, mit "
+"welcher Version von Godot sie erstellt wurde.\n"
"\n"
"%s\n"
"\n"
-"Wenn Sie mit dem Öffnen fortfahren, wird die Datei in das aktuelle "
-"Konfigurationsdateiformat von Godot konvertiert.\n"
+"Sollte das Öffnen fortgesetzt werden, wird die Datei in das "
+"Konfigurationsdateiformat der aktuellen Godot-Version umgewandelt.\n"
"Warnung: Das Projekt kann nach der Konvertierung nicht mehr mit einer "
-"älteren Version geöffnet werden."
+"älteren Godot-Version geöffnet werden."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"The following project settings file was generated by an older engine "
"version, and needs to be converted for this version:\n"
@@ -9280,14 +9036,14 @@ msgid ""
"Warning: You won't 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 folgende Projekteinstellungsdatei ist mit einer älteren Godot-Version "
+"erstellt worden und muss für die aktuelle Version konvertiert werden:\n"
"\n"
"%s\n"
"\n"
-"Möchten Sie die Konvertierung durchführen?\n"
-"Warnung: Das Projekt kann nach der Konvertierung nicht mehr mit einer "
-"älteren Version geöffnet werden."
+"Soll die Umwandlung vorgenommen werden?\n"
+"Warnung: Das Projekt kann nach der Umwandlung nicht mehr mit einer älteren "
+"Version geöffnet werden."
#: editor/project_manager.cpp
msgid ""
@@ -9298,13 +9054,13 @@ msgstr ""
"sind nicht kompatibel mit der aktuell genutzten Version."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
-"Projekt kann nicht ausgeführt werden: Keine Hauptszene festgelegt.\n"
+"Das Projekt kann nicht ausgeführt werden: Es wurde keine Hauptszene "
+"festgelegt.\n"
"In den Projekteinstellungen unter der Kategorie „Anwendung“ kann die "
"Hauptszene festgelegt werden."
@@ -9318,39 +9074,34 @@ msgstr ""
"Das Projekt muss eingestellt werden einen ersten Import einzuleiten."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Are you sure to run %d projects at once?"
-msgstr "Sollen wirklich mehrere Projekte ausgeführt werden?"
+msgstr "Sollen wirklich %d Projekte gleichzeitig ausgeführt werden?"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove %d projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"Das Projekt aus der Liste entfernen? (Inhalte des Projektordners werden "
-"nicht geändert)"
+"%d Projekte aus der Liste entfernen?\n"
+"Inhalte der Projektordner werden nicht geändert."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove this project from the list?\n"
"The project folder's contents won't be modified."
msgstr ""
-"Das Projekt aus der Liste entfernen? (Inhalte des Projektordners werden "
-"nicht geändert)"
+"Dieses Projekt aus der Liste entfernen?\n"
+"Inhalte des Projektordners werden nicht geändert."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list? (Folders contents will not be "
"modified)"
msgstr ""
-"Das Projekt aus der Liste entfernen? (Inhalte des Projektordners werden "
+"Alle fehlenden Projekte aus der Liste entfernen? (Dateisysteminhalte werden "
"nicht geändert)"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
@@ -9360,11 +9111,12 @@ msgstr ""
"Projektverwaltung aktualisiert."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
-msgstr "Sollen wirklich %s Ordner nach Godot-Projekten durchsucht werden?"
+msgstr ""
+"Sollen wirklich %s Ordner nach Godot-Projekten durchsucht werden?\n"
+"Dies kann eine Weile dauern."
#: editor/project_manager.cpp
msgid "Project Manager"
@@ -9387,9 +9139,8 @@ msgid "New Project"
msgstr "Neues Projekt"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Remove Missing"
-msgstr "Punkt entfernen"
+msgstr "Fehlende entfernen"
#: editor/project_manager.cpp
msgid "Templates"
@@ -9408,13 +9159,13 @@ msgid "Can't run project"
msgstr "Projekt kann nicht ausgeführt werden"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
"Zur Zeit sind keine Projekte vorhanden.\n"
-"Sollen Beispielprojekte aus der Nutzerinhaltesammlung angezeigt werden?"
+"Sollen offizielle Beispielprojekte aus der Nutzerinhaltesammlung angezeigt "
+"werden?"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -9441,9 +9192,8 @@ msgstr ""
"oder ‚\"‘ enthalten"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "An action with the name '%s' already exists."
-msgstr "Aktion ‚%s‘ existiert bereits!"
+msgstr "Eine Aktion mit dem Namen ‚%s‘ existiert bereits."
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
@@ -9662,9 +9412,9 @@ msgid "Override For..."
msgstr "Überschreiben für..."
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-#, fuzzy
msgid "The editor must be restarted for changes to take effect."
-msgstr "Damit Änderungen Wirkung zeigen muss der Editor neu gestartet werden"
+msgstr ""
+"Damit die Änderungen Wirkung zeigen muss der Editor neu gestartet werden."
#: editor/project_settings_editor.cpp
msgid "Input Map"
@@ -9723,12 +9473,10 @@ msgid "Locales Filter"
msgstr "Sprachfilter"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show All Locales"
msgstr "Alle Sprachen anzeigen"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show Selected Locales Only"
msgstr "Nur ausgewählte Sprachen anzeigen"
@@ -9818,7 +9566,6 @@ msgid "Suffix"
msgstr "Suffix"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Advanced Options"
msgstr "Erweiterte Einstellungen"
@@ -10083,9 +9830,8 @@ msgid "User Interface"
msgstr "Benutzerschnittstelle"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Other Node"
-msgstr "Node löschen"
+msgstr "Anderes Node"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -10128,7 +9874,6 @@ msgid "Clear Inheritance"
msgstr "Leere Vererbung"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Open Documentation"
msgstr "Dokumentation öffnen"
@@ -10137,6 +9882,11 @@ msgid "Add Child Node"
msgstr "Node hier anhängen"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Alle einklappen"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Typ ändern"
@@ -10165,7 +9915,8 @@ msgid "Delete (No Confirm)"
msgstr "Löschen (keine Bestätigung)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Hinzufügen/Erstellen eines neuen Nodes"
#: editor/scene_tree_dock.cpp
@@ -10201,19 +9952,16 @@ msgid "Toggle Visible"
msgstr "Sichtbarkeit umschalten"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Unlock Node"
-msgstr "Node auswählen"
+msgstr "Node entsperren"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Button Group"
-msgstr "Taste 7"
+msgstr "Knopf-Gruppe"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "(Connecting From)"
-msgstr "Verbindungsfehler"
+msgstr "(Verbindung von)"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -10244,9 +9992,8 @@ msgstr ""
"Hier klicken zur Gruppenverwaltung."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Open Script:"
-msgstr "Skript öffnen"
+msgstr "Offenes Skript:"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10298,39 +10045,32 @@ msgid "Select a Node"
msgstr "Node auswählen"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is empty."
-msgstr "Pfad ist leer"
+msgstr "Pfad ist leer."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Filename is empty."
-msgstr "Dateiname ist leer"
+msgstr "Dateiname ist leer."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is not local."
-msgstr "Pfad ist nicht lokal"
+msgstr "Pfad ist nicht lokal."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid base path."
-msgstr "Ungültiger Pfad"
+msgstr "Ungültiger Basispfad."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "A directory with the same name exists."
-msgstr "Ein Verzeichnis mit gleichem Namen existiert bereits"
+msgstr "Ein Verzeichnis mit gleichem Namen existiert bereits."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid extension."
-msgstr "Ungültige Erweiterung"
+msgstr "Ungültige Dateiendung."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Wrong extension chosen."
-msgstr "Falsche Erweiterung gewählt"
+msgstr "Falsche Dateiendung ausgewählt."
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
@@ -10349,7 +10089,6 @@ msgid "N/A"
msgstr "Nicht verfügbar"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Open Script / Choose Location"
msgstr "Skript öffnen / Ort wählen"
@@ -10358,43 +10097,36 @@ msgid "Open Script"
msgstr "Skript öffnen"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, it will be reused."
-msgstr "Datei existiert bereits, wird erneut verwendet"
+msgstr "Datei existiert bereits, wird erneut verwendet."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid class name."
-msgstr "Ungültiger Klassenname"
+msgstr "Ungültiger Klassenname."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid inherited parent name or path."
-msgstr "Ungültiger geerbter Name oder Pfad"
+msgstr "Ungültiger geerbter Name oder Pfad."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script is valid."
-msgstr "Skript gültig"
+msgstr "Skript ist gültig."
#: editor/script_create_dialog.cpp
msgid "Allowed: a-z, A-Z, 0-9 and _"
msgstr "Erlaubt: a-z, A-Z, 0-9 und _"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Built-in script (into scene file)."
-msgstr "Eingebettetes Skript (in Szenedatei)"
+msgstr "Eingebettetes Skript (in Szenedatei)."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will create a new script file."
-msgstr "Neue Skriptdatei erstellen"
+msgstr "Dies wird eine neue Skriptdatei erstellen."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will load an existing script file."
-msgstr "Lade bestehende Skriptdatei"
+msgstr "Dies wird eine bestehende Skriptdatei laden."
#: editor/script_create_dialog.cpp
msgid "Language"
@@ -10526,7 +10258,7 @@ msgstr "Nach Szenenbaum einstellen"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
-msgstr ""
+msgstr "Maße als CSV exportieren"
#: editor/settings_config_dialog.cpp
msgid "Erase Shortcut"
@@ -10658,12 +10390,11 @@ msgstr "GDNative-Bibliothek"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
-msgstr ""
+msgstr "GDNative Singleton wurde aktiviert"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Disabled GDNative Singleton"
-msgstr "Update-Anzeigerad deaktivieren"
+msgstr "GDNative Singleton wurde deaktiviert"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Library"
@@ -10752,9 +10483,8 @@ msgid "GridMap Fill Selection"
msgstr "GridMap-Auswahl füllen"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Paste Selection"
-msgstr "GridMap-Auswahl löschen"
+msgstr "GridMap-Auswahl einfügen"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Paint"
@@ -11183,10 +10913,9 @@ msgid "Available Nodes:"
msgstr "Verfügbare Nodes:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Select or create a function to edit its graph."
msgstr ""
-"Zum bearbeiten des Graphen muss eine Funktion ausgewählt oder erstellt weden"
+"Zum Bearbeiten des Graphs muss eine Funktion ausgewählt oder erstellt werden."
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
@@ -11324,15 +11053,19 @@ msgstr ""
#: platform/android/export/export.cpp
msgid "Custom build requires a valid Android SDK path in Editor Settings."
msgstr ""
+"Eigene Builds erfordern gültigen Android-SDK-Pfad in den Editoreinstellungen."
#: platform/android/export/export.cpp
msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr ""
+"Ungültiger Android-SDK-Pfad für eigene Builds in den Editoreinstellungen."
#: platform/android/export/export.cpp
msgid ""
"Android project is not installed for compiling. Install from Editor menu."
msgstr ""
+"Es ist kein Android-Projekt zum Kompilieren installiert worden. Es kann im "
+"Editormenü installiert werden."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -11347,6 +11080,9 @@ msgid ""
"Trying to build from a custom built template, but no version info for it "
"exists. Please reinstall from the 'Project' menu."
msgstr ""
+"Es wurde versucht aus einer eigener Build-Vorlage zu bauen aber es "
+"existieren keine Versionsinformation für sie. Neuinstallation im ‚Projekt‘-"
+"Menü benötigt."
#: platform/android/export/export.cpp
msgid ""
@@ -11355,20 +11091,28 @@ msgid ""
" Godot Version: %s\n"
"Please reinstall Android build template from 'Project' menu."
msgstr ""
+"Android-Build-Versionsinkompatibilität:\n"
+" Installierte Vorlage: %s\n"
+" Godot-Version: %s\n"
+"Bitte Android-Build-Vorlage im ‚Projekt‘-Menü neu installieren."
#: platform/android/export/export.cpp
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "Baue Android-Projekt (gradle)"
#: platform/android/export/export.cpp
msgid ""
"Building of Android project failed, check output for the error.\n"
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
+"Bauen des Android-Projekts fehlgeschlagen, Fehlerdetails befinden ich in der "
+"Textausgabe.\n"
+"Alternativ befindet sich die Android-Build-Dokumentation auf docs."
+"godotengine.org."
#: platform/android/export/export.cpp
msgid "No build apk generated at: "
-msgstr ""
+msgstr "Es wurde kein Build-APK generiert in: "
#: platform/iphone/export/export.cpp
msgid "Identifier is missing."
@@ -11668,6 +11412,18 @@ msgstr ""
"Dieser Knochen hat keine korrekte Ruhe-Pose. Diese kann am Skeleton2D-Node "
"festgelegt werden."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D liefert nur eine Kollisionsform für ein von "
+"CollisionObject2D abgeleitetes Node. Es kann nur als Unterobjekt von Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D usw. eingehängt werden um diesen "
+"eine Form zu geben."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11681,37 +11437,32 @@ msgid "ARVRCamera must have an ARVROrigin node as its parent"
msgstr "ARVRCamera braucht ein ARVROrigin-Node als Überobjekt"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr "ARVRController braucht ein ARVROrigin-Node als Überobjekt"
+msgstr "ARVRController braucht ein ARVROrigin-Node als Überobjekt."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The controller ID must not be 0 or this controller won't be bound to an "
"actual controller."
msgstr ""
-"Die Controller-ID sollte nicht null sein, sonst wird der Controller nicht an "
-"einen echten Controller gebunden"
+"Die Controller-ID darf nicht null sein, sonst wird der Controller nicht an "
+"einen echten Controller gebunden."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr "ARVRAnchor braucht ein ARVROrigin-Node als Überobjekt"
+msgstr "ARVRAnchor braucht ein ARVROrigin-Node als Überobjekt."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The anchor ID must not be 0 or this anchor won't be bound to an actual "
"anchor."
msgstr ""
"Die Anker-ID darf nicht null sein, sonst wird der Anker nicht an einen "
-"echten Anker gebunden"
+"echten Anker gebunden."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr "ARVROrigin benötigt ein ARVRCamera-Unterobjekt"
+msgstr "ARVROrigin benötigt ein ARVRCamera-Unterobjekt."
#: scene/3d/baked_lightmap.cpp
msgid "%d%%"
@@ -11793,13 +11544,12 @@ msgid "Nothing is visible because no mesh has been assigned."
msgstr "Nichts ist sichtbar da kein Mesh zugewiesen wurden."
#: scene/3d/cpu_particles.cpp
-#, fuzzy
msgid ""
"CPUParticles animation requires the usage of a SpatialMaterial whose "
"Billboard Mode is set to \"Particle Billboard\"."
msgstr ""
"CPUParticles-Animationen benötigen ein SpatialMaterial mit der Eigenschaft "
-"„Billboard Particles“ aktiviert."
+"„Billboard Mode“ gesetzt zu „Particle Billboard“."
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
@@ -11844,13 +11594,12 @@ msgstr ""
"Nichts ist sichtbar da keine Meshe den Zeichendurchläufen zugewiesen wurden."
#: scene/3d/particles.cpp
-#, fuzzy
msgid ""
"Particles animation requires the usage of a SpatialMaterial whose Billboard "
"Mode is set to \"Particle Billboard\"."
msgstr ""
"Particles-Animationen benötigen ein SpatialMaterial mit der Eigenschaft "
-"„Billboard Particles“ aktiviert."
+"„Billboard Mode“ gesetzt zu „Particle Billboard“."
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -11882,9 +11631,8 @@ 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/soft_body.cpp
-#, fuzzy
msgid "This body will be ignored until you set a mesh."
-msgstr "Diese Körper wird ignoriert werden bis ein Mesh gesetzt wurde"
+msgstr "Diese Körper wird ignoriert werden bis ein Mesh zugewiesen wurde."
#: scene/3d/soft_body.cpp
msgid ""
@@ -11985,8 +11733,13 @@ msgid "Pick a color from the screen."
msgstr "Wählt eine Farbe vom Bildschirm aus."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Rohdatenmodus"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Gieren"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11999,7 +11752,7 @@ msgstr "Aktuelle Farbe als Vorlage hinzufügen."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -12009,6 +11762,12 @@ msgstr ""
"Falls kein Skript angehängt werden soll wird empfohlen ein einfaches "
"‚Control‘-Node zu verwenden."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Warnung!"
@@ -12107,7 +11866,185 @@ msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden."
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Konstanten können nicht verändert werden."
+
+#~ msgid "Enabled Classes"
+#~ msgstr "Aktivierte Klassen"
+
+#~ msgid "Update Always"
+#~ msgstr "Immer aktualisieren"
+
+#~ msgid "'camera' input parameter for all shader modes."
+#~ msgstr "‚camera‘-Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'inv_camera' input parameter for all shader modes."
+#~ msgstr "‚inv_camera‘ Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'inv_projection' input parameter for all shader modes."
+#~ msgstr "‚inv_projection‘ Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'normal' input parameter for all shader modes."
+#~ msgstr "‚normal‘ Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'projection' input parameter for all shader modes."
+#~ msgstr "‚projection‘ Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'time' input parameter for all shader modes."
+#~ msgstr "‚time‘-Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'viewport_size' input parameter for all shader modes."
+#~ msgstr "‚viewport_size‘-Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'world' input parameter for all shader modes."
+#~ msgstr "‚world‘-Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'alpha' input parameter for all shader modes."
+#~ msgstr "‚alpha‘-Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'color' input parameter for all shader modes."
+#~ msgstr "‚color‘-Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'texture_pixel_size' input parameter for all shader modes."
+#~ msgstr "‚texture_pixel_size‘-Eingabeparameter für alle Shadermodi."
+
+#~ msgid "'alpha' input parameter for vertex and fragment shader modes."
+#~ msgstr "‚alpha‘-Eingabeparameter für Vertex- und Fragment-Shadermodi."
+
+#~ msgid "'binormal' input parameter for vertex and fragment shader modes."
+#~ msgstr "‚binormal‘-Eingabeparameter für Vertex- und Fragment-Shadermodi."
+
+#~ msgid "'color' input parameter for vertex and fragment shader modes."
+#~ msgstr "‚color‘-Eingabeparameter für Vertex- und Fragment-Shadermodi."
+
+#~ msgid "'fragcoord' input parameter for fragment and light shader modes."
+#~ msgstr "‚fragcoord‘-Eingabeparameter für Vertex- und Fragment-Shadermodi."
+
+#~ msgid "'point_coord' input parameter for fragment shader mode."
+#~ msgstr "‚point_coord‘-Eingabeparameter für Vertex- und Fragment-Shadermodi."
+
+#~ msgid "'screen_uv' input parameter for fragment shader mode."
+#~ msgstr "‚screen_uv‘-Eingabeparameter für Fragment-Shadermodus."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader modes."
+#~ msgstr "‚tangent‘-Eingabeparameter für Vertex- und Fragment-Shadermodus."
+
+#~ msgid "'uv2' input parameter for vertex and fragment shader modes."
+#~ msgstr "‚uv2‘-Eingabeparameter für Vertex- und Fragment-Shadermodus."
+
+#~ msgid "'vertex' input parameter for vertex and fragment shader modes."
+#~ msgstr "‚vertex‘-Eingabeparameter für Vertex- und Fragment-Shadermodus."
+
+#~ msgid "'albedo' input parameter for light shader mode."
+#~ msgstr "‚albedo‘-Eingabeparameter für Light-Shadermodus."
+
+#~ msgid "'attenuation' input parameter for light shader mode."
+#~ msgstr "‚attenuation‘-Eingabeparameter für Light-Shadermodus."
+
+#~ msgid "'light' input parameter for light shader mode."
+#~ msgstr "‚light‘-Eingabeparameter für Light-Shadermodus."
+
+#~ msgid "'light_color' input parameter for light shader mode."
+#~ msgstr "‚light_color‘-Eingabeparameter für Light-Shadermodus."
+
+#~ msgid "'roughness' input parameter for light shader mode."
+#~ msgstr "‚roughness‘-Eingabeparameter für Light-Shadermodus."
+
+#~ msgid "'specular' input parameter for light shader mode."
+#~ msgstr "‚specular‘-Eingabeparameter für Light-Shadermodus."
+
+#~ msgid "'transmission' input parameter for light shader mode."
+#~ msgstr "‚transmission‘-Eingabeparameter für Light-Shadermodus."
+
+#~ msgid "'modelview' input parameter for vertex shader mode."
+#~ msgstr "‚modelview‘-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'point_size' input parameter for vertex shader mode."
+#~ msgstr "‚point_size‘-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader mode."
+#~ msgstr "‚tangent‘-Eingabeparameter für Vertex- und Fragment-Shadermodus."
+
+#~ msgid "'light_pass' input parameter for vertex and fragment shader modes."
+#~ msgstr "‚light_pass‘-Eingabeparameter für Vertex- und Fragment-Shadermodus."
+
+#~ msgid "'point_coord' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "‚point_coord‘-Eingabeparameter für Vertex- und Fragment-Shadermodus."
+
+#~ msgid "'screen_pixel_size' input parameter for fragment shader mode."
+#~ msgstr "Eingabeparameter 'screen_pixel_size' für den Fragment-Shader-Modus."
+
+#~ msgid "'screen_uv' input parameter for fragment and light shader modes."
+#~ msgstr "Eingabeparameter 'screen_uv' für Fragment- und Licht-Shader-Modi."
+
+#~ msgid "'light_alpha' input parameter for light shader mode."
+#~ msgstr "Eingabeparameter 'light_alpha' für den Licht-Shader-Modus."
+
+#~ msgid "'light_height' input parameter for light shader mode."
+#~ msgstr "Eingabeparameter'light_height' für den Licht-Shader-Modus."
+
+#~ msgid "'light_uv' input parameter for light shader mode."
+#~ msgstr "'light_uv'-Eingabeparameter für Licht-Shadermodus."
+
+#~ msgid "'light_vec' input parameter for light shader mode."
+#~ msgstr "'light_vec'-Eingabeparameter für Licht-Shadermodus."
+
+#~ msgid "'normal' input parameter for light shader mode."
+#~ msgstr "'normal'-Eingabeparamter für Licht-Shadermodus."
+
+#~ msgid "'shadow_color' input parameter for light shader mode."
+#~ msgstr "'shadow_color'-Eingabeparameter für Licht-Shadermodus."
+
+#~ msgid "'extra' input parameter for vertex shader mode."
+#~ msgstr "'extra'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'projection' input parameter for vertex shader mode."
+#~ msgstr "'projection'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'vertex' input parameter for vertex shader mode."
+#~ msgstr "'vertex'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'world' input parameter for vertex shader mode."
+#~ msgstr "'world'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'active' input parameter for vertex shader mode."
+#~ msgstr "'active'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'alpha' input parameter for vertex shader mode."
+#~ msgstr "'alpha'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'color' input parameter for vertex shader mode."
+#~ msgstr "'color'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'custom_alpha' input parameter for vertex shader mode."
+#~ msgstr "'custom_alpha'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'delta' input parameter for vertex shader mode."
+#~ msgstr "'delta'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'emission_transform' input parameter for vertex shader mode."
+#~ msgstr "'emission_transform'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'index' input parameter for vertex shader mode."
+#~ msgstr "'index'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'lifetime' input parameter for vertex shader mode."
+#~ msgstr "'lifetime'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'restart' input parameter for vertex shader mode."
+#~ msgstr "'restart'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'time' input parameter for vertex shader mode."
+#~ msgstr "'time'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'transform' input parameter for vertex shader mode."
+#~ msgstr "'transform'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "'velocity' input parameter for vertex shader mode."
+#~ msgstr "'velocity'-Eingabeparameter für Vertex-Shadermodus."
+
+#~ msgid "Raw Mode"
+#~ msgstr "Rohdatenmodus"
#~ msgid "Path to Node:"
#~ msgstr "Pfad zum Node:"
@@ -12667,9 +12604,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Spatial-Sichtbarkeit umschalten"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "CanvasItem-Sichtbarkeit umschalten"
-
#~ msgid "Condition"
#~ msgstr "Bedingung"
@@ -13607,9 +13541,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "Bilder:"
-#~ msgid "Select None"
-#~ msgstr "Nichts auswählen"
-
#~ msgid "Group"
#~ msgstr "Gruppe"
diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po
index 464238349c..432f1cb11d 100644
--- a/editor/translations/de_CH.po
+++ b/editor/translations/de_CH.po
@@ -453,6 +453,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Node(s) löschen"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1325,7 +1335,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1526,7 +1536,7 @@ msgid "Node Dock"
msgstr "Bild bewegen/einfügen"
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1582,7 +1592,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1597,7 +1607,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Node(s) löschen"
#: editor/editor_feature_profile.cpp
@@ -1621,14 +1631,10 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "TimeScale-Node"
#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
msgid "Class Options"
msgstr "Script hinzufügen"
@@ -2673,10 +2679,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2785,15 +2811,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
+#, fuzzy
+msgid "Update When Changed"
+msgstr "Typ ändern"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3090,20 +3117,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5276,6 +5303,14 @@ msgid "Load Emission Mask"
msgstr "Emissions-Maske laden"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Datei speichern"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
#, fuzzy
msgid "Clear Emission Mask"
@@ -6214,10 +6249,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Node erstellen"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Node erstellen"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6458,11 +6503,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Delete Line"
@@ -8071,51 +8111,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8123,203 +8119,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9991,6 +9811,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Typ ändern"
@@ -10021,8 +9845,9 @@ msgid "Delete (No Confirm)"
msgstr "Bitte bestätigen..."
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Node erstellen"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11480,6 +11305,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
#, fuzzy
msgid ""
@@ -11735,9 +11567,12 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-#, fuzzy
-msgid "Raw Mode"
-msgstr "Node erstellen"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11749,12 +11584,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Alert!"
@@ -11840,6 +11681,10 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Raw Mode"
+#~ msgstr "Node erstellen"
+
#~ msgid "Path to Node:"
#~ msgstr "Pfad zum Node:"
diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot
index 9ea76e8d29..76823f1227 100644
--- a/editor/translations/editor.pot
+++ b/editor/translations/editor.pot
@@ -421,6 +421,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr ""
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1269,7 +1278,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1465,7 +1474,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1518,7 +1527,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1531,7 +1540,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1554,11 +1563,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2564,10 +2569,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2674,15 +2699,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2970,20 +2995,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5047,6 +5072,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5947,10 +5979,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6187,11 +6227,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7709,51 +7744,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7761,203 +7752,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9584,6 +9399,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9612,7 +9431,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -10999,6 +10818,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11246,7 +11072,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11259,12 +11089,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/el.po b/editor/translations/el.po
index 5a50cf69ae..2e76f4cd6a 100644
--- a/editor/translations/el.po
+++ b/editor/translations/el.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
+"PO-Revision-Date: 2019-07-02 10:48+0000\n"
"Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/"
"el/>\n"
@@ -17,7 +17,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -79,9 +79,8 @@ msgid "Time:"
msgstr "ΧÏόνος:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Τιμή"
+msgstr "Τιμή:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -89,7 +88,7 @@ msgstr "Εισαγωγή ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï ÎµÎ´ÏŽ"
#: editor/animation_bezier_editor.cpp
msgid "Duplicate Selected Key(s)"
-msgstr "Διπλασιασμός επιλογής"
+msgstr "ΑναπαÏαγωγή Επιλεγμένων Κλειδιών"
#: editor/animation_bezier_editor.cpp
msgid "Delete Selected Key(s)"
@@ -105,7 +104,7 @@ msgstr "Μετακίνηση σημείου Bezier"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr "Anim Διπλασιασμός κλειδιών"
+msgstr "Anim ΑναπαÏαγωγή Κλειδιών"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
@@ -121,7 +120,7 @@ msgstr "Anim Αλλαγή μετάβασης"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
-msgstr "Anim Αλλαγή Î¼ÎµÏ„Î±ÏƒÏ‡Î·Î¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï (transform)"
+msgstr "Anim Αλλαγή μετασχηματισμοÏ"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
@@ -133,7 +132,7 @@ msgstr "Anim Αλλαγή κλήσης"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
-msgstr "Αλλαγή μήκους κίνησης"
+msgstr "Αλλαγή Μήκους Κίνησης"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
@@ -195,7 +194,7 @@ msgstr "Αποσπάσματα κίνησης:"
#: editor/animation_track_editor.cpp
msgid "Change Track Path"
-msgstr "Αλλαγή διαδÏομής κομματιοÏ"
+msgstr "Αλλαγή ΔιαδÏομής ΚομματιοÏ"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
@@ -223,7 +222,7 @@ msgstr "ΧÏόνος (s): "
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
-msgstr "(Απ)ενεÏοποίηση κομματιοÏ"
+msgstr "(Απ)ενεÏγοποίηση ΚομματιοÏ"
#: editor/animation_track_editor.cpp
msgid "Continuous"
@@ -269,7 +268,7 @@ msgstr "Εισαγωγή κλειδιοÏ"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
-msgstr "Διπλασιασμός κλειδιών"
+msgstr "ΑναπαÏαγωγή Κλειδιών"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
@@ -277,11 +276,11 @@ msgstr "ΔιαγÏαφή κλειδιών"
#: editor/animation_track_editor.cpp
msgid "Change Animation Update Mode"
-msgstr "Αλλαγή λειτουÏγίας ενημέÏωσης κίνησης"
+msgstr "Αλλαγή ΛειτουÏγίας ΕνημέÏωσης Κίνησης"
#: editor/animation_track_editor.cpp
msgid "Change Animation Interpolation Mode"
-msgstr "Αλλαγή λειτουÏγίας παÏεμβολής κίνησης"
+msgstr "Αλλαγή ΛειτουÏγίας ΠαÏεμβολής Κίνησης"
#: editor/animation_track_editor.cpp
msgid "Change Animation Loop Mode"
@@ -336,7 +335,7 @@ msgstr "Αλλαγή βήματος κίνησης"
#: editor/animation_track_editor.cpp
msgid "Rearrange Tracks"
-msgstr "Αναδιάταξη κομματιών"
+msgstr "Αναδιάταξη Κομματιών"
#: editor/animation_track_editor.cpp
msgid "Transform tracks only apply to Spatial-based nodes."
@@ -436,10 +435,29 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Αυτή η κίνηση ανήκει σε εισαγμένη σκηνή, οπότε οι αλλαγές σε εισαγμένα "
+"κομμάτια δεν θα αποθυκευτοÏν.\n"
+"\n"
+"Για να ενεÏγοποιήσετε τα Ï€ÏοσαÏμοσμένα κομμάτια, πηγαίνετε στης Ïυθμίσεις "
+"εισαγωγής της σκηνής και θέστε\n"
+"το «Animation > Storage» σε «Files», ενεÏγοποιήστε το «Animation > Keep "
+"Custom Tracks», και κάντε επαν-εισαγωγή.\n"
+"Εναλλακτικά, χÏησιμοποιήστε μία διαμόÏφωση εισαγωγής που εισάγει κινήσεις "
+"σε ξεχωÏιστά αÏχεία."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "ΠÏοσοχή: ΕπεξεÏγασία εισαγμένης κίνησης"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Επιλογή όλων"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Επιλογή κόμβου"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -492,11 +510,11 @@ msgstr "Μεγέθυνση από τον δείκτη"
#: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Duplicate Selection"
-msgstr "Διπλασιασμός επιλογής"
+msgstr "ΑναπαÏαγωγή Επιλογής"
#: editor/animation_track_editor.cpp
msgid "Duplicate Transposed"
-msgstr "Διπλασιασμός ανεστÏαμένων"
+msgstr "ΑναπαÏαγωγή ΑνεστÏαμένων"
#: editor/animation_track_editor.cpp
msgid "Delete Selection"
@@ -504,11 +522,11 @@ msgstr "ΔιαγÏαφή επιλογής"
#: editor/animation_track_editor.cpp
msgid "Go to Next Step"
-msgstr "Επόμενο βήμα"
+msgstr "Επόμενο Βήμα"
#: editor/animation_track_editor.cpp
msgid "Go to Previous Step"
-msgstr "ΠÏοηγοÏμενο βήμα"
+msgstr "ΠÏοηγοÏμενο Βήμα"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
@@ -646,7 +664,7 @@ msgstr "Μόνο στην επιλογή"
#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/text_editor.cpp
msgid "Standard"
-msgstr ""
+msgstr "Τυπική"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
@@ -670,41 +688,35 @@ msgstr "ΠÏοειδοποιήσεις"
#: editor/code_editor.cpp
msgid "Line and column numbers."
-msgstr "ΑÏιθμοί γÏαμμής και στήλης."
+msgstr "ΑÏιθμοί γÏαμμών και στηλών."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "ΠÏέπει να οÏισθεί συνάÏτηση για τον στοχευμένο κόμβο!"
+msgstr "ΠÏέπει να οÏιστεί συνάÏτηση στον στοχευμένο κόμβο."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Η στοχευμένη συνάÏτηση δεν βÏέθηκε! ΟÏίστε μία έγκυÏη μέθοδο ή συνδέστε μία "
+"Η στοχευμένη συνάÏτηση δεν βÏέθηκε. ΟÏίστε μία έγκυÏη μέθοδο ή συνδέστε μία "
"δεσμή ενεÏγειών στον στοχευμένο κόμβο."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
-msgstr "ΣÏνδεση στον κόμβο:"
+msgstr "ΣÏνδεση σε Κόμβο:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Δεν ήταν δυνατή η σÏνδεση στον κεντÏικό υπολογιστή:"
+msgstr "ΣÏνδεση σε Δεσμή ΕνεÏγειών:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Σήματα:"
+msgstr "Από Σήμα:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "Ο κόμβος δεν πεÏιέχει γεωμετÏία."
+msgstr "Η σκηνή δεν πεÏιέχει δεσμή ενεÏγειών."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -732,9 +744,8 @@ msgid "Extra Call Arguments:"
msgstr "Επιπλέον παÏάμετÏοι κλήσης:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Επιλογές κουμπώματος"
+msgstr "Για ΠÏοχωÏημένους"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -744,6 +755,8 @@ msgstr "Αναβλημένη"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"ΚαθυστεÏεί το σήμα, αποθηκεÏοντας το σε ουÏά, και ενεÏγοποιώντας το σε "
+"στιγμή ηÏεμίας."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -751,12 +764,11 @@ msgstr "Μία κλήση"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Αποσυνδέει το σήμα μετά την Ï€Ïώτη του ενεÏγοποίηση."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "ΣÏνδεση σήματος: "
+msgstr "ΑδÏνατη η σÏνδεση σήματος"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -798,19 +810,17 @@ msgid "Disconnect"
msgstr "ΑποσÏνδεση"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "ΣÏνδεση σήματος: "
+msgstr "ΣÏνδεση Σήματος σε Μέθοδο"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "ΕπεξεÏγασία σÏνδεσης: "
+msgstr "ΕπεξεÏγασία ΣÏνδεσης:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr ""
-"Είστε σίγουÏοι πως θέλετε να αφαιÏέσετε όλες της συνδέσεις απο το σήμα «%s»;"
+"Είστε βέβαιοι πως θέλετε να καταÏγήσετε όλες τις συνδέσεις από το σήμα «%s»;"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
@@ -883,22 +893,20 @@ msgid "Dependencies For:"
msgstr "ΕξαÏτήσεις για:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Γίνεται επεξεÏγασία στη σκηνή '%s'\n"
-"Οι αλλαγές δεν θα δÏάσουν, εκτός κι αν γίνει επαναφόÏτωση."
+"Γίνεται επεξεÏγασία της σκηνής «%s».\n"
+"Οι αλλαγές θα δÏάσουν κατά την ανανέωση."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Ο πόÏος '%s' χÏησιμοποιείται.\n"
-"Οι αλλαγές θα δÏάσουν όταν γίνει επαναφόÏτωση."
+"Ο πόÏος «%s» χÏησιμοποιείται.\n"
+"Οι αλλαγές θα δÏάσουν κατά την ανανέωση."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -990,9 +998,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "Μόνιμη διαγÏαφή %d αντικειμένων; (ΑδÏνατη η αναίÏεση)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "ΕξαÏτήσεις"
+msgstr "Εμφάνιση ΕξαÏτήσεων"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1204,7 +1211,7 @@ msgstr "Επιλογές διαÏλου"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
-msgstr "Διπλασιασμός"
+msgstr "ΑναπαÏαγωγή"
#: editor/editor_audio_buses.cpp
msgid "Reset Volume"
@@ -1256,7 +1263,7 @@ msgstr "Άνοιγμα διάταξης διαÏλων ήχου"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "Δεν υπάÏχει αÏχείο «%s»."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1313,25 +1320,22 @@ msgid "Valid characters:"
msgstr "ΈγκυÏοι χαÏακτήÏες:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"ΆκυÏο όνομα. Δεν Ï€Ïέπει να συγχέεται με υπαÏκτό όνομα κλάσης της godot."
+msgstr "Δεν μποÏεί να συγχέεται με υπαÏκτό όνομα κλάσης της μηχανής."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr ""
-"ΆκυÏο όνομα. Δεν Ï€Ïέπει να συγχέεται με υπαÏκτό ενσωματωμένο όνομα Ï„Ïπου."
+msgid "Must not collide with an existing built-in type name."
+msgstr "Δεν μποÏεί να συγχέεται με υπαÏκτό ενσωματωμένο όνομα Ï„Ïπου."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr "ΆκυÏο όνομα. Δεν Ï€Ïέπει να συγχέεται με υπαÏκτό καθολικό όνομα."
+msgstr "Δεν μποÏεί να συγχέεται με υπαÏκτό καθολικό όνομα."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
msgstr ""
+"Η λέξη-κλειδή δεν μποÏεί να χÏησιμοποιηθεί για όνομα αυτόματης φόÏτωσης."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1362,7 +1366,6 @@ msgid "Rearrange Autoloads"
msgstr "Αναδιάταξη των AutoLoad"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "ΆκυÏη διαδÏομή."
@@ -1417,9 +1420,8 @@ msgid "[unsaved]"
msgstr "[μη αποθηκευμένο]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "ΠαÏακαλοÏμε επιλέξτε Ï€Ïώτα έναν βασικό κατάλογο"
+msgstr "Επιλέξτε Ï€Ïώτα έναν βασικό κατάλογο."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1504,121 +1506,106 @@ msgid "Template file not found:"
msgstr "Δεν βÏέθηκε αÏχείο Ï€ÏοτÏπου:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "ΕπεξεÏγαστής"
+msgstr "3D ΕπεξεÏγαστής"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Άνοιγμα επεξεÏγαστή δεσμής ενεÏγειών"
+msgstr "ΕπεξεÏγαστής Δεσμών ΕνεÏγειών"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Άνοιγμα βιβλιοθήκης"
+msgstr "Βιβλιοθήκη ΠόÏων"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "ΔέντÏο σκηνής (Κόμβοι):"
+msgstr "ΕπεξεÏγασία ΔέντÏου Σκηνής"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Εισαγωγή"
+msgstr "ΠλατφόÏμα Εισαγωγής"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Μετακίνηση Κόμβου"
+msgstr "ΠλατφόÏμα Κόμβου"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "ΣÏστημα αÏχείων"
+msgid "FileSystem and Import Docks"
+msgstr "ΠλατφόÏμα Συστήματος ΑÏχείων"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Αντικατάσταση όλων (χωÏίς ανέÏαιση)"
+msgstr "ΔιαγÏαφή Ï€Ïοφίλ «%s»; (χωÏίς ανέÏαιση)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "Το Ï€Ïοφίλ Ï€Ïέπει να είναι έγκυÏο όνομα αÏχείου και να μην Ï€Ïειέχει «.»"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "ΥπάÏχει ήδη ένα αÏχείο ή φάκελος με αυτό το όνομα."
+msgstr "ΥπάÏχει ήδη Ï€Ïοφίλ με αυτό το όνομα."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(ΑπενεÏγοποίηση ΕπεξεÏγαστή και Ιδιοτήτων)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Μόνο ιδιότητες"
+msgstr "(ΑπενεÏγοποίηση Ιδιοτήτων)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Η πεÏικοπή είναι απενεÏγοποιημένη"
+msgstr "(ΑπενεÏγοποίηση ΕπεξεÏγαστή)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "ΠεÏιγÏαφή κλάσης:"
+msgstr "Επιλογές Κλάσης:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Άνοιγμα του επόμενου επεξεÏγαστή"
+msgstr "ΕνεÏγοποίηση ΕπεξεÏγαστή Βάσει ΠεÏιβάλλοντος"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Ιδιότητες:"
+msgstr "ΕνεÏγοποιημένες Ιδιότητες:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Δυνατότητες"
+msgstr "ΕνεÏγοποιημένες Δυνατότητες:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Αναζήτηση κλάσεων"
+msgstr "ΕνεÏγοποιημένες Κλάσεις:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "ΆκυÏη μοÏφή αÏχείου «%s», ακÏÏωση εισαγωγής."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"ΥπαÏκτό Ï€Ïοφίλ «%s». ΑφαιÏέστε το Ï€Ïιν την εισαγωγή, ακÏÏωση εισαγωγής."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Σφάλμα κατά την φόÏτωση Ï€ÏοτÏπου '%s'"
+msgstr "Σφάλμα αποθήκευσης Ï€Ïοφίλ στο «%s»."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "ΚατάÏγηση"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "ΤÏέχουσα έκδοση:"
+msgid "Current Profile:"
+msgstr "ΤÏέχων ΠÏοφίλ"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "ΤÏέχων:"
+msgstr "Κάνε ΤÏέχων"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1637,43 +1624,32 @@ msgstr "Εξαγωγή"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Διαθέσιμοι κόμβοι:"
+msgid "Available Profiles:"
+msgstr "Διαθέσιμα ΠÏοφίλ"
#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Αναζήτηση κλάσεων"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "ΠεÏιγÏαφή κλάσης"
+msgstr "Επιλογές Κλάσης"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Îέο όνομα:"
+msgstr "Îέο όνομα Ï€Ïοφίλ:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "ΔιαγÏαφή πεÏσιοχής"
+msgstr "ΔιαγÏαφή ΠÏοφίλ"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Εισαγμένο έÏγο"
+msgstr "Εισαγωγή ΠÏοφίλ"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Εξαγωγή έÏγου"
+msgstr "Εξαγωγή ΠÏοφίλ"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "ΔιαχείÏιση Ï€ÏοτÏπων εξαγωγής"
+msgstr "ΔιαχείÏιση ΠÏοφίλ Δυνατοτήτων ΕπεξεÏγαστή"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1796,9 +1772,8 @@ msgid "(Un)favorite current folder."
msgstr "Εναλλαγή αγαπημένου Ï„Ïέχοντος φακέλου."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Εναλλαγή κÏυμμένων αÏχείων"
+msgstr "Εναλλαγή οÏατότητας κÏυμένων αÏχείων."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1835,6 +1810,8 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"ΥπάÏχουν πολλαπλοί εισαγωγείς διαφοÏετικών Ï„Ïπων για το αÏχείο «%s», ακÏÏωση "
+"εισαγωγής"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -2020,9 +1997,8 @@ msgid "Output:"
msgstr "Έξοδος:"
#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Copy Selection"
-msgstr "ΑφαίÏεση επιλογής"
+msgstr "ΑντιγÏαφή Επιλογής"
#: editor/editor_log.cpp editor/editor_profiler.cpp
#: editor/editor_properties.cpp
@@ -2180,13 +2156,12 @@ msgstr ""
"καταλάβετε καλÏτεÏα την διαδικασία."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
"Αυτός ο πόÏος ανήκει σε μία σκηνή που έχει κλωνοποιηθεί ή κληÏονομηθεί.\n"
-"Οι αλλαγές δεν θα διατηÏηθοÏν κατά την αποθήκευση της Ï„Ïέχουσας σκηνής."
+"Δεν θα διατηÏηθοÏν αλλαγές κατά την αποθήκευση της Ï„Ïέχουσας σκηνής."
#: editor/editor_node.cpp
msgid ""
@@ -2197,7 +2172,6 @@ msgstr ""
"Ïυθμίσεις στο πλαίσιο εισαγωγής και μετά επαν-εισάγετε."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
@@ -2205,12 +2179,12 @@ msgid ""
"understand this workflow."
msgstr ""
"Αυτή η σκηνή έχει εισαχθεί, οπότε αλλαγές σε αυτήν δεν θα διατηÏηθοÏν.\n"
-"Η κλωνοποίηση ή η κληÏονόμηση της θα επιτÏέψει την επεξεÏγασία της.\n"
+"Η δημιουÏγία στιγμιοτÏπου ή κληÏονόμηση της θα επιτÏέψει την επεξεÏγασία "
+"της.\n"
"ΠαÏακαλοÏμε διαβάστε την τεκμηÏίωση σχετική με την εισαγωγή σκηνών, για να "
"καταλάβετε καλÏτεÏα την διαδικασία."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
@@ -2244,9 +2218,8 @@ msgid "Open Base Scene"
msgstr "Άνοιγμα σκηνής βάσης"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "ΓÏήγοÏο άνοιγμα σκηνής..."
+msgstr "ΓÏήγοÏο Άνοιγμα..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2495,12 +2468,11 @@ msgstr "Κλείσιμο άλλον καÏτελών"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Κλείσιμο ΚαÏτελών Δεξιά"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Κλείσιμο όλων"
+msgstr "Κλείσιμο Όλων των ΚαÏτελών"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2634,7 +2606,7 @@ msgstr "Άνοιγμα φακέλου δεδομένων έÏγου"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Εγκατάσταση ΠÏοτÏπου Χτισίματος Android"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2746,10 +2718,34 @@ msgid "Editor Layout"
msgstr "Διάταξη επεξεÏγαστή"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Βγάζει νόημα!"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Άνοιγμα φακέλου δεδομένων/Ïυθμίσεων επεξεÏγαστή"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Άνοιγμα του επόμενου επεξεÏγαστή"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Εναλλαγή πλήÏους οθόνης"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Εναλλαγή οÏατότητας CanvasItem"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Άνοιγμα φακέλου δεδομένων/Ïυθμίσεων επεξεÏγαστή"
@@ -2762,9 +2758,8 @@ msgid "Open Editor Settings Folder"
msgstr "Άνοιγμα φακέλου Ïυθμίσεων επεξεÏγαστή"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "ΔιαχείÏιση Ï€ÏοτÏπων εξαγωγής"
+msgstr "ΔιαχείÏιση Δυνατοτήτων ΕπεξεÏγαστή"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2857,15 +2852,18 @@ msgid "Spins when the editor window redraws."
msgstr "ΠεÏιστÏέφεται όταν το παÏάθυÏο του επεξεÏγαστή επαναχÏωματίζεται."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "ΕνημέÏωση πάντα"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Συνεχόμενη"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "ΕνημέÏωση αλλαγών"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "ΑπενεÏγοποίηση δείκτη ενημέÏωσης"
#: editor/editor_node.cpp
@@ -2895,17 +2893,21 @@ msgstr "ΧωÏις αποθήκευση"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
msgstr ""
+"Λείπει το Ï€Ïότυπο χτισίματος Android, παÏακαλοÏμε εγκαταστήστε τα σχετικά "
+"Ï€Ïότυπα."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "ΔιαχείÏιση Ï€ÏοτÏπων εξαγωγής"
+msgstr "ΔιαχείÏιση ΠÏοτÏπων"
#: editor/editor_node.cpp
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"Αυτό θα εγκαταστήσει το έÏγο Android για Ï€ÏοσαÏμοσμένα χτισίματα.\n"
+"Σημειώστε πως, για τη χÏήση του, Ï€Ïέπει να ενεÏγοποιηθεί ανά διαμόÏφωση "
+"εξαγωγής."
#: editor/editor_node.cpp
msgid ""
@@ -2913,6 +2915,9 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"Το Ï€Ïότυπο χτισίματος Android είναι εγκατεστημένο και δεν θα "
+"αντικατασταθεί.\n"
+"ΑφαιÏέστε τον φάκελο «build» Ï€Ïιν ξαναδοκιμάσετε την ενέÏγεια αυτήν."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3110,7 +3115,7 @@ msgstr ""
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Pick a Viewport"
-msgstr "Επιλέξτε μία οπτική γωνία"
+msgstr "Επιλέξτε ένα Viewport"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "New Script"
@@ -3162,6 +3167,11 @@ msgid "Page: "
msgstr "Σελίδα: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "ΑφαίÏεση στοιχείου"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Îέο κλειδί:"
@@ -3173,11 +3183,6 @@ msgstr "Îέα τιμή:"
msgid "Add Key/Value Pair"
msgstr "ΠÏοσθήκη ζεÏγους κλειδιοÏ/τιμής"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "ΑφαίÏεση στοιχείου"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3384,9 +3389,8 @@ msgid "SSL Handshake Error"
msgstr "Σφάλμα χαιÏÎµÏ„Î¹ÏƒÎ¼Î¿Ï SSL"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "Αποσυμπίεση asset"
+msgstr "Αποσυμπίεση Πηγών Χτισίματος Android"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3405,9 +3409,8 @@ msgid "Remove Template"
msgstr "ΑφαίÏεση Ï€ÏοτÏπου"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
-msgstr "Επιλέξτε ένα αÏχείο Ï€ÏοτÏπων"
+msgstr "Επιλογή ΑÏχείου ΠÏοτÏπων"
#: editor/export_template_manager.cpp
msgid "Export Template Manager"
@@ -3469,9 +3472,8 @@ msgid "No name provided."
msgstr "Δεν δόθηκε όνομα."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "Το δοσμένο όνομα πεÏιέχει άκυÏους χαÏακτήÏες"
+msgstr "Το δοσμένο όνομα πεÏιέχει άκυÏους χαÏακτήÏες."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3498,28 +3500,24 @@ msgid "Duplicating folder:"
msgstr "Διπλασιασμός καταλόγου:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Îέα κληÏονομημένη σκηνή..."
+msgstr "Îέα ΚληÏονομημένη Σκηνή"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Άνοιγμα σκηνής"
+msgstr "Άνοιγμα Σκηνών"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Στιγμιότυπο"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
-msgstr "ΠÏοσθήκη στα αγαπημένα"
+msgstr "ΠÏοσθήκη στα Αγαπημένα"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
-msgstr "ΚατάÏγηση από τα αγαπημένα"
+msgstr "ΚατάÏγηση από τα Αγαπημένα"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
@@ -3567,23 +3565,20 @@ msgid "Rename"
msgstr "Μετονομασία"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "ΠÏοηγοÏμενος φάκελος"
+msgstr "ΠÏοηγοÏμενος Φάκελος/ΑÏχείο"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Επόμενος φάκελος"
+msgstr "Επόμενος Φάκελος/ΑÏχείο"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "Εκ νέου σάÏωση το συστήματος αÏχείων"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
-msgstr "Εναλλαγή λειτουÏγίας διαχωÏισμοÏ"
+msgstr "Εναλλαγή ΛειτουÏγίας ΔιαχωÏισμοÏ"
#: editor/filesystem_dock.cpp
msgid "Search files"
@@ -3618,14 +3613,12 @@ msgid "Find in Files"
msgstr "ΕÏÏεση στα ΑÏχεία"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Find:"
-msgstr "ΕÏÏεση: "
+msgstr "ΕÏÏεση:"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Folder:"
-msgstr "Φάκελος: "
+msgstr "Φάκελος:"
#: editor/find_in_files.cpp
msgid "Filters:"
@@ -3636,6 +3629,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"ΣυμπεÏίληψη αÏχείων με τις ακόλουθες επεκτάσεις. ΠÏοσθαφαιÏέστε τες στις "
+"Ρυθμίσεις ΈÏγου."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3675,7 +3670,6 @@ msgid "Group name already exists."
msgstr "ΥπαÏκτό όνομα ομάδας."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Invalid group name."
msgstr "ΆκυÏο όνομα ομάδας."
@@ -4075,9 +4069,8 @@ msgid "Open Animation Node"
msgstr "Άνοιγμα κόμβου κίνησης"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "Το Ï„Ïίγωνο υπάÏχει ήδη"
+msgstr "Το Ï„Ïίγωνο υπάÏχει ήδη."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4225,9 +4218,8 @@ msgid "Edit Filtered Tracks:"
msgstr "ΕπεξεÏγασία φιλτÏαÏισμένων κομματιών:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
-msgstr "ΕνεÏγοποίηση φιλτÏαÏίσματος"
+msgstr "ΕνεÏγοποίηση ΦίλτÏου"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -4361,9 +4353,8 @@ msgid "Enable Onion Skinning"
msgstr "ΕνεÏγοποίηση ξεφλουδίσματος κÏεμμυδιοÏ"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "ΞεφλοÏδισμα κÏεμμυδιοÏ"
+msgstr "Επιλογές Ξεφλουδίσματος ΚÏεμμυδιοÏ"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4529,7 +4520,7 @@ msgstr "Μετάβαση: "
#: editor/plugins/animation_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "AnimationTree"
-msgstr "ΔέντÏο κίνησης"
+msgstr "AnimationTree"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
@@ -4920,16 +4911,20 @@ msgid ""
"Children of containers have their anchors and margins values overridden by "
"their parent."
msgstr ""
+"Στα παιδιά Container, οι άγκυÏες και τα πεÏιθώÏια αντικαθίστανται από τον "
+"γονέα τους."
#: 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
msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Όταν είναι ενεÏγό, η μετακίνηση των Control αλλάζει τις άγκυÏες, αντί για τα "
+"πεÏιθώÏια τους."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -4945,41 +4940,35 @@ msgstr "Αλλαγή αγκυÏών"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "ΕÏγαλείο επιλογής"
+msgstr "Κλείδωμα Επιλογής"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "ΔιαγÏαφή επιλεγμένου"
+msgstr "Ξεκλείδωμα Επιλογής"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "ΑφαίÏεση επιλογής"
+msgstr "Ομαδοποίηση Επιλογής"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "ΑφαίÏεση επιλογής"
+msgstr "Απομαδοποίηση Επιλογής"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "Επικόληση στάσης"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
-msgstr "ΔημιουÏγία Ï€ÏοσαÏμοσμένων οστών απο κόμβους"
+msgstr "ΔημιουÏγία ΠÏοσαÏμοσμένων Οστών από Κόμβους"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "ΕκκαθάÏιση στάσης"
+msgstr "ΕκκαθάÏιση Οστών"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -4994,13 +4983,14 @@ msgid ""
"Warning: Children of a container get their position and size determined only "
"by their parent."
msgstr ""
+"ΠÏοσοχή: Στα παιδιά Container, η θέση και το μέγεθος οÏίζονται μόνο απο τον "
+"γονέα τους."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom Reset"
-msgstr "ΕπαναφοÏά μεγέθυνσης"
+msgstr "ΕπαναφοÏά Μεγέθυνσης"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
@@ -5032,9 +5022,8 @@ msgid "Rotate Mode"
msgstr "ΛειτουÏγία πεÏιστÏοφής"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Scale Mode"
-msgstr "ΛειτουÏγία κλιμάκωσης (R)"
+msgstr "ΛειτουÏγία Κλιμάκωσης"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5067,9 +5056,8 @@ msgid "Snapping Options"
msgstr "Επιλογές κουμπώματος"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
-msgstr "κουμπώματος στο πλέγμα"
+msgstr "ΚοÏμπωμα στο Πλέγμα"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
@@ -5089,39 +5077,32 @@ msgid "Use Pixel Snap"
msgstr "ΧÏήση κουμπώματος εικονοστοιχείου"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
-msgstr "Έξυπνο κοÏμπωμα"
+msgstr "Έξυπνο ΚοÏμπωμα"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
-msgstr "ΚοÏμπωμα στον γονέα"
+msgstr "ΚοÏμπωμα στον Γονέα"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
-msgstr "ΚοÏμπωμα στην άγκυÏα του κόμβου"
+msgstr "ΚοÏμπωμα σε ΆγκυÏα Κόμβου"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
-msgstr "ΚοÏμπωμα στις πλευÏές του κόμβου"
+msgstr "ΚοÏμπωμα σε ΆκÏα Κόμβου"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
-msgstr "ΚοÏμπωμα στο κέντÏο του κόμβου"
+msgstr "ΚοÏμπωμα σε ΚέντÏο Κόμβου"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
-msgstr "ΚοÏμπωμα σε άλλους κόμβους"
+msgstr "ΚοÏμπωμα σε Άλλους Κόμβους"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
-msgstr "ΚοÏμπωμα στους οδηγοÏÏ‚"
+msgstr "ΚοÏμπωμα σε ΟδηγοÏÏ‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5144,9 +5125,8 @@ msgid "Restores the object's children's ability to be selected."
msgstr "ΕπαναφέÏει την δυνατότητα των παιδιών του αντικειμένου να επιλεγοÏν."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Skeleton Options"
-msgstr "Σκελετός..."
+msgstr "Επιλογές ΣκελετοÏ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
@@ -5188,11 +5168,11 @@ msgstr "ΠÏοβολή πηγής"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Viewport"
-msgstr "ΠÏοβολή οπτικής γωνίας"
+msgstr "Εμφάνιση οπτικής γωνίας"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Group And Lock Icons"
-msgstr ""
+msgstr "Εμφάνιση Εικονιδίων Ομάδας και Κλειδώματος"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -5204,24 +5184,23 @@ msgstr "Πλαισίωμα επιλογής"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
-msgstr ""
+msgstr "ΠÏοεπισκόπηση Κλιμάκωσης Καμβά"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
-msgstr ""
+msgstr "Μάσκα μετατόπισης για εισαγωγή κλειδιών."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation mask for inserting keys."
-msgstr ""
+msgstr "Μάσκα πεÏιστÏοφής για εισαγωγή κλειδιών."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale mask for inserting keys."
-msgstr ""
+msgstr "Μάσκα κλιμάκωσης για εισαγωγή κλειδιών."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Insert keys (based on mask)."
-msgstr "Εισαγωγή ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï (ΥπαÏκτά κομμάτια)"
+msgstr "Εισαγωγή κλειδιών (βάση μάσκας)."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5230,11 +5209,15 @@ msgid ""
"Keys are only added to existing tracks, no new tracks will be created.\n"
"Keys must be inserted manually for the first time."
msgstr ""
+"Αυτόματη εισαγωγή κλειδιών κατά την μετατόπιση, πεÏιστÏοφή ή κλιμάκωση "
+"αντικειμένων (βάση μάσκας).\n"
+"Τα κλειδιά Ï€Ïοστίθενται μόνο σε υπαÏκτά κομμάτια, οπότε δεν θα δημιουÏγηθοÏν "
+"καινοÏÏγια.\n"
+"Τα κλειδιά Ï€Ïέπει να Ï€ÏοστεθοÏν χειÏοκίνητα την Ï€Ïώτη φοÏά."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Auto Insert Key"
-msgstr "Anim εισαγωγή κλειδιοÏ"
+msgstr "Αυτόματη Εισαγωγή ΚλειδιοÏ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -5257,9 +5240,8 @@ msgid "Divide grid step by 2"
msgstr "ΔιαίÏεση βήματος πλέγματος με 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Pan View"
-msgstr "Πίσω όψη"
+msgstr "Μετατόπιση Οπτικής Γωνίας"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -5284,9 +5266,8 @@ msgid "Error instancing scene from %s"
msgstr "Σφάλμα κατά την αÏχικοποίηση σκηνής από %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
-msgstr "Αλλαγή Ï€Ïοεπιλεγμένου Ï„Ïπου"
+msgstr "Αλλαγή ΠÏοεπιλεγμένου ΤÏπου"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5297,9 +5278,8 @@ msgstr ""
"ΣÏÏσιμο & απόθεση + Alt: Αλλαγή του Ï„Ïπου του κόμβου"
#: editor/plugins/collision_polygon_editor_plugin.cpp
-#, fuzzy
msgid "Create Polygon3D"
-msgstr "Δημιουγία πολυγώνου"
+msgstr "ΔημιουÏγία 3D Πολυγώνου"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly"
@@ -5329,6 +5309,14 @@ msgid "Load Emission Mask"
msgstr "ΦόÏτωση μάσκας εκπομπής"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Επανεκκίνηση τώÏα"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "ΕκκαθάÏιση μάσκας εκπομπής"
@@ -5374,12 +5362,10 @@ msgid "Create Emission Points From Node"
msgstr "ΔημιουÏγία σημείων εκπομπής από κόμβο"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
msgstr "Επίπεδο 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
msgstr "Επίπεδο 1"
@@ -5405,32 +5391,27 @@ msgstr "ΤÏοποπίηση εφαπτομένης καμπÏλης"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Load Curve Preset"
-msgstr "ΦόÏτωση Ï€ÏοκαθοÏισμένης καμπÏλης"
+msgstr "ΦόÏτωση διαμόÏφωσης καμπÏλης"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
-msgstr "ΠÏοσθήκη σημείου"
+msgstr "ΠÏοσθήκη Σημείου"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
-msgstr "ΑφαίÏεση σημείου"
+msgstr "ΑφαίÏεση Σημείου"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
-msgstr "ΑÏιστεÏή γÏαμμική"
+msgstr "ΑÏιστεÏή ΓÏαμμική"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
-msgstr "Δεξιά γÏαμμική"
+msgstr "Δεξιά ΓÏαμμική"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
-msgstr "ΦόÏτωση διαμόÏφωσης"
+msgstr "ΦόÏτωση ΔιαμόÏφωσης"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Curve Point"
@@ -5450,7 +5431,7 @@ msgstr "ΠÏοετοιμασία διεÏεÏνησης GI"
#: editor/plugins/gradient_editor_plugin.cpp
msgid "Gradient Edited"
-msgstr ""
+msgstr "ΕπεξεÏγασία Διαβάθμισης"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -5485,18 +5466,16 @@ msgid "This doesn't work on scene root!"
msgstr "Αυτό δεν δουλεÏει στη Ïίζα της σκηνής!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "ΔημιουÏγία σχήματος πλέγματος Ï„Ïιγώνων"
+msgstr "ΔημιουÏγία Î£Ï„Î±Ï„Î¹ÎºÎ¿Ï Î£Ï‡Î®Î¼Î±Ï„Î¿Ï‚ Πλέγματος ΤÏιγώνων"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Αποτυχία δημιουÏγίας σχημάτων!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "ΔημιουÏγία κυÏÏ„Î¿Ï ÏƒÏ‡Î®Î¼Î±Ï„Î¿Ï‚"
+msgstr "ΔημιουÏγία ΚυÏτών Σχημάτων"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -5552,9 +5531,8 @@ msgid "Create Trimesh Collision Sibling"
msgstr "ΔημιουÏγία Î±Î´ÎµÎ»Ï†Î¿Ï ÏƒÏγκÏουσης πλέγατος Ï„Ïιγώνων"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
-msgstr "ΔημιουÏγία Î±Î´ÎµÎ»Ï†Î¿Ï ÏƒÏγκÏουσης κυÏÏ„Î¿Ï ÏƒÏŽÎ¼Î±Ï„Î¿Ï‚"
+msgstr "ΔημιουÏγία ΚυÏÏ„Î¿Ï Î‘Î´ÎµÎ»Ï†Î¿Ï Î£ÏγκÏουσης"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -5714,9 +5692,8 @@ msgid "Convert to CPUParticles"
msgstr "ΜετατÏοπή σε σωματίδια CPU"
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Generating Visibility Rect"
-msgstr "ΔημιουÏγία οÏθογωνίου οÏατότητας"
+msgstr "ΔημιουÏγία ΟÏθογωνίου ΟÏατότητας"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Generate Visibility Rect"
@@ -5807,9 +5784,8 @@ msgid "Add Point to Curve"
msgstr "ΠÏοσθήκη σημείου στην καμπÏλη"
#: editor/plugins/path_2d_editor_plugin.cpp
-#, fuzzy
msgid "Split Curve"
-msgstr "κλείσιμο καμπÏλης"
+msgstr "ΔιαίÏεση ΚαμπÏλης"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move Point in Curve"
@@ -5839,9 +5815,8 @@ msgid "Click: Add Point"
msgstr "Κλικ: ΠÏοσθήκη σημείου"
#: editor/plugins/path_2d_editor_plugin.cpp
-#, fuzzy
msgid "Left Click: Split Segment (in curve)"
-msgstr "ΔιαχωÏισμός τμήματος (στην καμπÏλη)"
+msgstr "ΑÏιστεÏÏŒ Κλικ: ΔιαχωÏισμός τμήματος (σε καμπÏλη)"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -5876,12 +5851,12 @@ msgstr "Επιλογές"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Mirror Handle Angles"
-msgstr ""
+msgstr "ΚαθÏεπτισμός Γωνιών Λαβών"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Mirror Handle Lengths"
-msgstr ""
+msgstr "ΚαθÏεπτισμός Μηκών Λαβών"
#: editor/plugins/path_editor_plugin.cpp
msgid "Curve Point #"
@@ -5920,25 +5895,25 @@ 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 ""
"The skeleton property of the Polygon2D does not point to a Skeleton2D node"
-msgstr ""
+msgstr "Η ιδιότητα skeleton του Polygon2D δεν δείχνει σε κόμβο Skeleton2D"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Sync Bones"
-msgstr "Εμφάνιση οστών"
+msgstr "ΣυγχÏονισμός Οστών"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid ""
"No texture in this polygon.\n"
"Set a texture to be able to edit UV."
msgstr ""
+"Καμιά υφή στο πολÏγωνο.\n"
+"ΟÏίστε υφή για να επεξεÏγαστείτε τα UV."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
@@ -5949,53 +5924,48 @@ msgid ""
"Polygon 2D has internal vertices, so it can no longer be edited in the "
"viewport."
msgstr ""
+"Το Polygon2D έχει εσωτεÏικές κοÏυφές, οπότε δεν μποÏεί πια να επεξεÏγαστεί "
+"στην οθόνη."
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Create Polygon & UV"
-msgstr "Δημιουγία πολυγώνου"
+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 "ΑφαίÏεση σημείου ελέγχου εισόδου"
+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"
msgstr "Μετασχηματισμός χάÏτη UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Transform Polygon"
-msgstr "Είδος μετασχηματισμοÏ"
+msgstr "ÎœÎµÏ„Î±ÏƒÏ‡Î·Î¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï Î Î¿Î»Ï…Î³ÏŽÎ½Î¿Ï…"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Paint Bone Weights"
-msgstr ""
+msgstr "ΖωγÏάφισμα ΒαÏών Οστών"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Open Polygon 2D UV editor."
-msgstr "ΕπεξεÏγαστής δισδιάστατου πολυγώνου"
+msgstr "Άνοιγμα ΕπεξεÏγαστή UV Polygon2D."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
@@ -6003,27 +5973,23 @@ msgstr "ΕπεξεÏγαστής δισδιάστατου πολυγώνου"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "UV"
-msgstr ""
+msgstr "UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Points"
-msgstr "Σημείο"
+msgstr "Σημεία"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Polygons"
-msgstr "ΠολÏγωνο -> UV"
+msgstr "ΠολÏγωνα"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Bones"
-msgstr "ΔημιουÏγία οστών"
+msgstr "Οστά"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Move Points"
-msgstr "Μετακίνηση σημείου"
+msgstr "Μετακίνηση Σημείων"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Ctrl: Rotate"
@@ -6052,24 +6018,28 @@ msgstr "Κλιμάκωση πολυγώνου"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create a custom polygon. Enables custom polygon rendering."
msgstr ""
+"ΔημιουÏγία Ï€ÏοσαÏμοσμένου πολυγώνου. ΕνεÏγοποιεί την απόδοση Ï€ÏοσαÏμοσμένων "
+"πολυγώνων."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid ""
"Remove a custom polygon. If none remain, custom polygon rendering is "
"disabled."
msgstr ""
+"ΑφαίÏεση Ï€ÏοσαÏμοσμένου πολυγώνου. Εάν δεν απομένει κανένα, η απόδοση "
+"Ï€ÏοσαÏμοσμένων πολυγώνων απενεÏγοποιείται."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Paint weights with specified intensity."
-msgstr ""
+msgstr "ΖωγÏαφίζει βάÏη με οÏισμένη ένταση."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Unpaint weights with specified intensity."
-msgstr ""
+msgstr "Από-ζωγÏαφίζει βάÏη με οÏισμένη ένταση."
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Radius:"
-msgstr ""
+msgstr "Ακτίνα:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon->UV"
@@ -6084,9 +6054,8 @@ msgid "Clear UV"
msgstr "ΕκκαθάÏιση UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Grid Settings"
-msgstr "Ρυθμίσεις GridMap"
+msgstr "Ρυθμίσεις Πλέγματος"
#: editor/plugins/polygon_2d_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -6102,34 +6071,28 @@ msgid "Grid"
msgstr "Πλέγμα"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Configure Grid:"
-msgstr "ΠÏοσαÏμογή Ï€Ïοσκόλλησης"
+msgstr "ΠÏοσαÏμογή Πλέγματος:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Grid Offset X:"
-msgstr "Μετατόπιση πλέγατος:"
+msgstr "Μετατόπιση Πλέγματος X:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Grid Offset Y:"
-msgstr "Μετατόπιση πλέγατος:"
+msgstr "Μετατόπιση Πλέγματος Y:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Grid Step X:"
-msgstr "Βήμα πλέγματος:"
+msgstr "Βήμα Πλέγματος X:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Grid Step Y:"
-msgstr "Βήμα πλέγματος:"
+msgstr "Βήμα Πλέγματος Y:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Sync Bones to Polygon"
-msgstr "Κλιμάκωση πολυγώνου"
+msgstr "ΣυγχÏονισμός Οστών σε ΠολÏγωνο"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -6182,12 +6145,11 @@ msgstr "ΠÏόφÏαμμα Ï€ÏοφόÏτωσης"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr ""
+msgstr "Το AnimationTree δεν έχει διαδÏομή σε AnimationPlayer"
#: editor/plugins/root_motion_editor_plugin.cpp
-#, fuzzy
msgid "Path to AnimationPlayer is invalid"
-msgstr "Το δέντÏο κίνησης δεν είναι έγκυÏο."
+msgstr "ΆκυÏη διαδÏομή σε AnimationPlayer"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
@@ -6198,59 +6160,48 @@ msgid "Close and save changes?"
msgstr "Κλείσιμο και αποθήκευση αλλαγών;"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error writing TextFile:"
-msgstr "Σφάλμα κατά την μετακίνηση αÏχείου:\n"
+msgstr "Σφάλμα εγγÏαφής TextFile:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error: could not load file."
-msgstr "Δεν ήταν δυνατή η φόÏτωση εικόνας"
+msgstr "Σφάλμα φόÏτωσης αÏχείου."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error could not load file."
-msgstr "Δεν ήταν δυνατή η φόÏτωση εικόνας"
+msgstr "Σφάλμα φόÏτωσης αÏχείου."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error saving file!"
-msgstr "Σφάλμα κατά την αποθήκευση TileSet!"
+msgstr "Σφάλμα αποθήκευσης αÏχείου!"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error while saving theme."
-msgstr "Σφάλμα κατά την αποθήκευση θέματος"
+msgstr "Σφάλμα αποθήκευσης θέματος."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error Saving"
-msgstr "Σφάλμα κατά την αποθήκευση"
+msgstr "Σφάλμα αποθήκευσης"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error importing theme."
-msgstr "Σφάλμα κατά την εισαγωγή θέματος"
+msgstr "Σφάλμα εισαγωγής θέματος."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error Importing"
-msgstr "Σφάλμα κατά την εισαγωγή"
+msgstr "Σφάλμα εισαγωγής"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New TextFile..."
-msgstr "Îέος φάκελος..."
+msgstr "Îέο TextFile..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open File"
-msgstr "Άνοιγμα αÏχείου"
+msgstr "Άνοιγμα ΑÏχείου"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Save File As..."
-msgstr "Αποθήκευση ως..."
+msgstr "Αποθήκευση ΑÏχείου Ως..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
@@ -6269,9 +6220,8 @@ msgid "Save Theme As..."
msgstr "Αποθήκευση θέματος ως..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "%s Class Reference"
-msgstr " ΑναφοÏά κλασεων"
+msgstr "ΑναφοÏά Κλάσης %s"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -6279,8 +6229,18 @@ msgid "Find Next"
msgstr "ΕÏÏεση επόμενου"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "ΦιλτÏάÏισμα ιδιοτήτων"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
-msgstr ""
+msgstr "Εναλλαγή αλφαβητικής ταξινόμησης λίστας μεθόδων."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "ΛειτουÏγία φιλτÏαÏίσματος:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
@@ -6311,9 +6271,8 @@ msgid "File"
msgstr "ΑÏχείο"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open..."
-msgstr "Άνοιγμα"
+msgstr "Άνοιγμα..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -6328,13 +6287,12 @@ msgid "Copy Script Path"
msgstr "ΑντιγÏαφή διαδÏομής δεσμής ενεÏγειών"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "History Previous"
-msgstr "ΙστοÏικά Ï€ÏοηγοÏμενο"
+msgstr "ΠÏοηγοÏμενο ΙστοÏικοÏ"
#: editor/plugins/script_editor_plugin.cpp
msgid "History Next"
-msgstr "ΙστοÏικά επόμενο"
+msgstr "Επόμενο ΙστοÏικοÏ"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -6342,9 +6300,8 @@ msgid "Theme"
msgstr "Θέμα"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Import Theme..."
-msgstr "Εισαγωγή θέματος"
+msgstr "Εισαγωγή θέματος..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
@@ -6392,22 +6349,20 @@ msgid "Keep Debugger Open"
msgstr "ΔιατήÏησε τον αποσφαλματωτή ανοιχτό"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Debug with External Editor"
-msgstr "Αποσφαλμάτωση με εξωτεÏικό επεξεÏγαστή"
+msgstr "Αποσφαλμάτωση με ΕξωτεÏικό ΕπεξεÏγαστή"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Άνοιγμα ηλεκτÏονικής τεκμηÏίωσης της Godot"
+msgstr "Άνοιγμα ηλεκτÏονικής τεκμηÏίωσης της Godot."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
-msgstr ""
+msgstr "Αίτηση ΤεκμηÏίωσης"
#: editor/plugins/script_editor_plugin.cpp
msgid "Help improve the Godot documentation by giving feedback."
-msgstr ""
+msgstr "Βοηθήστε στην βελτίωση της τεκμηÏίωσης σχολιάζοντας."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6448,44 +6403,39 @@ msgid "Debugger"
msgstr "Αποσφαλματωτής"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Search Results"
-msgstr "Αναζήτηση βοήθειας"
+msgstr "Αποτελέσματα Αναζήτησης"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "ΣÏνδεση στον κόμβο:"
+msgstr "ΣÏνδεση σε μέθοδο:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Πηγή:"
+msgstr "Πηγή"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Σήματα"
+msgstr "Σήμα"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Target"
-msgstr "ΔιαδÏομή Ï€ÏοοÏισμοÏ:"
+msgstr "Στόχος"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "ΑποσÏνδεση του '%s' απο το '%s'"
+msgstr ""
+"Λείπει η συνδεδεμένη μέθοδος «%s» του σήματος «%s» από τον κόμβο «%s» στον "
+"κόμβο «%s»."
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Line"
-msgstr "ΓÏαμμή:"
+msgstr "ΓÏαμμή"
#: editor/plugins/script_text_editor.cpp
msgid "(ignore)"
-msgstr ""
+msgstr "(ΠαÏάβλεψη)"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function"
@@ -6496,9 +6446,8 @@ msgid "Only resources from filesystem can be dropped."
msgstr "Μόνο οι πόÏοι από το σÏστημα αÏχείων μποÏοÏν να διαγÏαφοÏν."
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Lookup Symbol"
-msgstr "ΣυμπλήÏωση συμβόλου"
+msgstr "Αναζήτηση Συμβόλου"
#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
@@ -6522,23 +6471,18 @@ msgstr "Κεφαλαιοποίηση"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Syntax Highlighter"
-msgstr ""
+msgstr "Επισημαντής ΣÏνταξης"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "Αγαπημένα"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Αποκοπή"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Επιλογή όλων"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "ΔιαγÏαφή γÏαμμής"
@@ -6556,24 +6500,20 @@ msgid "Toggle Comment"
msgstr "Εναλλαγή σχολιασμοÏ"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "Εναλλαγή ελεÏθεÏης κάμεÏας"
+msgstr "Εναλλαγή Αγαπημένου"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Πήγαινε στο επόμενο σημείο διακοπής"
+msgstr "Πήγαινε στο Επόμενο Αγαπημένο"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "ΕπιστÏοφή στο Ï€ÏοηγοÏμενο σημείο διακοπής"
+msgstr "Πήγαινε στο ΠÏοηγοÏμενο Αγαπημένο"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "ΑφαίÏεση όλων των στοιχείων"
+msgstr "ΑφαίÏεση Όλων των Αγαπημένων"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -6600,14 +6540,12 @@ msgid "Trim Trailing Whitespace"
msgstr "ΠεÏικοπή ÎºÎ±Ï„Î±Î»Î·ÎºÏ„Î¹ÎºÎ¿Ï ÎºÎµÎ½Î¿Ï Î´Î¹Î±ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Convert Indent to Spaces"
-msgstr "ΜετατÏοπή εσοχής σε κενά"
+msgstr "ΜετατÏοπή Εσοχών σε Κενά"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Convert Indent to Tabs"
-msgstr "ΜετατÏοπή εσοχής σε στηλοθέτες"
+msgstr "ΜετατÏοπή Εσοχών σε Στηλοθέτες"
#: editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
@@ -6635,9 +6573,8 @@ msgid "Find Previous"
msgstr "ΈυÏεση Ï€ÏοηγοÏμενου"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Find in Files..."
-msgstr "ΦιλτÏάÏισμα αÏχείων..."
+msgstr "ΕÏÏεση σε ΑÏχεία..."
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function..."
@@ -6652,63 +6589,57 @@ msgid "Contextual Help"
msgstr "Βοήθεια ανάλογα με τα συμφÏαζόμενα"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"Τα ακόλουθα αÏχεία είναι νεότεÏα στον δίσκο.\n"
-"Τι δÏάση να ληφθεί;:"
+"Αυτό το Ï€ÏόγÏαμμα σκίασης έχει αλλάξει στον δίσκο.\n"
+"Τι δÏάση να ληφθεί;"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
-msgstr "ΠÏόγÏαμμα σκίασης"
+msgstr "ΠÏόγÏαμμα Σκίασης"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
+"Αυτός ο σκελετός δεν έχει οστά, δώστε του κάποιους κόμβους-παιδιά Bone2D."
#: editor/plugins/skeleton_2d_editor_plugin.cpp
-#, fuzzy
msgid "Create Rest Pose from Bones"
-msgstr "ΔημιουÏγία σημείων εκπομπής από πλέγμα"
+msgstr "ΔημιουÏγία Στάσης ΑδÏάνειας από Οστά"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Set Rest Pose to Bones"
-msgstr ""
+msgstr "ΟÏισμός Στάσης ΑδÏάνειας σε Οστά"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
-#, fuzzy
msgid "Skeleton2D"
-msgstr "Σκελετός..."
+msgstr "Skeleton2D"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Make Rest Pose (From Bones)"
-msgstr ""
+msgstr "Κάνε Στάση ΑδÏάνειας (Από Οστά)"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Set Bones to Rest Pose"
-msgstr ""
+msgstr "Θέσε Οστά σε Στάση ΑδÏάνειας"
#: editor/plugins/skeleton_editor_plugin.cpp
-#, fuzzy
msgid "Create physical bones"
-msgstr "ΔημιουÏγία πλέγματος πλοήγησης"
+msgstr "ΔημιουÏγία φυσικών οστών"
#: editor/plugins/skeleton_editor_plugin.cpp
-#, fuzzy
msgid "Skeleton"
-msgstr "Σκελετός..."
+msgstr "Σκελετός"
#: editor/plugins/skeleton_editor_plugin.cpp
-#, fuzzy
msgid "Create physical skeleton"
-msgstr "ΔημιουÏγία λÏσης C#"
+msgstr "ΔημιουÏγία Ï†Ï…ÏƒÎ¹ÎºÎ¿Ï ÏƒÎºÎµÎ»ÎµÏ„Î¿Ï"
#: editor/plugins/skeleton_ik_editor_plugin.cpp
-#, fuzzy
msgid "Play IK"
-msgstr "ΑναπαÏαγωγή"
+msgstr "ΑναπαÏαγωγή IK"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -6765,7 +6696,7 @@ msgstr "Τόνος"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Yaw"
-msgstr ""
+msgstr "ΠαÏέκκλιση"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn"
@@ -6836,9 +6767,8 @@ msgid "Rear"
msgstr "Πίσω"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Align with View"
-msgstr "Στοίχηση με την Ï€Ïοβολή"
+msgstr "Στοίχιση με ΠÏοβολή"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
@@ -6850,9 +6780,8 @@ msgid "This operation requires a single selected node."
msgstr "Αυτή η λειτουÏγία απαιτεί έναν μόνο επιλεγμένο κόμβο."
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock View Rotation"
-msgstr "Εμφάνιση πληÏοφοÏιών"
+msgstr "Κλείδωμα ΠεÏιστÏοφής ΠÏοβολής"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
@@ -6899,9 +6828,8 @@ msgid "Doppler Enable"
msgstr "Φαινόμενο ÎτόπλεÏ"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Cinematic Preview"
-msgstr "ΔημιουÏγία Ï€Ïοεπισκοπήσεων πλεγμάτων"
+msgstr "ΚινηματογÏαφική ΠÏοεπισκόπηση"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -6936,20 +6864,21 @@ msgid ""
"Note: The FPS value displayed is the editor's framerate.\n"
"It cannot be used as a reliable indication of in-game performance."
msgstr ""
+"Σημείωση: Η τιμή FPS είναι τα καÏέ ανά δευτεÏόλεπτο του επεξεÏγαστή.\n"
+"Δεν μποÏεί να χÏησιμοποιηθεί ως αξιόπιστη ένδειξη της απόδοσης του "
+"παιχνιδιοÏ."
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "View Rotation Locked"
-msgstr "Εμφάνιση πληÏοφοÏιών"
+msgstr "Κλείδωμα ΠεÏιστÏοφής"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "XForm Dialog"
msgstr "Διάλογος XForm"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Nodes To Floor"
-msgstr "κουμπώματος στο πλέγμα"
+msgstr "ΚοÏμπωμα Κόμβων στο Δάπεδο"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Select Mode (Q)"
@@ -7014,9 +6943,8 @@ msgid "Right View"
msgstr "Δεξιά όψη"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
-msgstr "Εναλλαγή ΠÏοοπτικής / ΑξονομετÏικής Ï€Ïοβολής"
+msgstr "Εναλλαγή ΠÏοοπτικής/ΑξονομετÏικής ΠÏοβολής"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
@@ -7060,9 +6988,8 @@ msgid "Transform"
msgstr "Μετασχηματισμός"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
-msgstr "κουμπώματος στο πλέγμα"
+msgstr "ΚοÏμπωμα Αντικειμένου στο Δάπεδο"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
@@ -7093,9 +7020,8 @@ msgid "4 Viewports"
msgstr "4 Οπτικές γωνίες"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Gizmos"
-msgstr "Εμφάνιση μαÏαφετιών"
+msgstr "ΜαÏαφέτια"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
@@ -7172,106 +7098,91 @@ msgstr "Μετά"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Nameless gizmo"
-msgstr ""
+msgstr "Ανώνυμο μαÏαφέτι"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create Mesh2D"
-msgstr "ΔημιουÏγία πλέγματος πεÏιγÏάμματος"
+msgstr "ΔημιουÏγία Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create Polygon2D"
-msgstr "Δημιουγία πολυγώνου"
+msgstr "ΔημιουÏγία Polygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create CollisionPolygon2D"
-msgstr "ΔημιουÏγία πολυγώνου πλοήγησης"
+msgstr "ΔημιουÏγία CollisionPolygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create LightOccluder2D"
-msgstr "ΔημιουÏγία πολυγώνου εμποδίου"
+msgstr "ΔημιουÏγία LightOccluder2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Sprite is empty!"
-msgstr "Η διαδÏομή αποθήκευσης είναι άδεια!"
+msgstr "Το Sprite είναι άδειο!"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Can't convert a sprite using animation frames to mesh."
-msgstr ""
+msgstr "Αποτυχία μετατÏοπής sprite με την χÏήση καÏέ κίνησης σε πλέγμα."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't replace by mesh."
-msgstr ""
+msgstr "ΆκυÏη γεωμετÏία, αδÏνατη η αντικατάσταση με πλέγμα."
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Convert to Mesh2D"
-msgstr "ΜετατÏοπή σε %s"
+msgstr "ΜετατÏοπή σε Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
-msgstr ""
+msgstr "ΆκυÏη γεωμετÏία, αδÏνατη η δημιουÏγία πολυγώνου."
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Convert to Polygon2D"
-msgstr "Μετακίνηση πολυγώνου"
+msgstr "Μετακίνηση σε Polygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create collision polygon."
-msgstr ""
+msgstr "ΆκυÏη γεωμετÏία, αδÏνατη η δημιουÏγία πολυγώνου σÏγκÏουσης."
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create CollisionPolygon2D Sibling"
-msgstr "ΔημιουÏγία πολυγώνου πλοήγησης"
+msgstr "ΔημιουÏγία Î‘Î´ÎµÎ»Ï†Î¿Ï CollisionPolygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create light occluder."
-msgstr ""
+msgstr "ΆκυÏη γεωμετÏία, αδÏνατη η δημιουÏγία εμποδίου φωτός."
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create LightOccluder2D Sibling"
-msgstr "ΔημιουÏγία πολυγώνου εμποδίου"
+msgstr "ΔημιουÏγία Î‘Î´ÎµÎ»Ï†Î¿Ï LightOccluder2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Sprite"
-msgstr "KαÏέ Sprite"
+msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Simplification: "
-msgstr ""
+msgstr "Απλοποίηση: "
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Grow (Pixels): "
-msgstr "ΚοÏμπωμα (Εικονοστοιχεία):"
+msgstr "ΑÏξηση (Εικονοστοιχεία): "
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Update Preview"
-msgstr "ΠÏοεπισκόπηση"
+msgstr "Ανανέωση ΠÏοεπισκόπησης"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Settings:"
-msgstr "Ρυθμίσεις"
+msgstr "Ρυθμίσεις:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "Πλαισίωμα επιλογής"
+msgstr "Δεν Επιλέχθηκαν ΚαÏέ"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "ΠÏοσθήκη καÏέ"
+msgstr "ΠÏοσθήκη %d ΚαÏέ"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7302,14 +7213,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):"
@@ -7320,18 +7229,16 @@ msgid "Loop"
msgstr "Επανάληψη"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Animation Frames:"
-msgstr "ΚαÏέ κίνησης"
+msgstr "ΚαÏέ Κίνησης:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "ΠÏοσθέστε κόμβο/-ους από δέντÏο"
+msgstr "ΠÏοσθήκη Υφής από ΑÏχείο"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "ΠÏοσθήκη ΚαÏέ από ΦÏλλο Sprite"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
@@ -7350,28 +7257,24 @@ msgid "Move (After)"
msgstr "Μετκίνιση (Μετά)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select Frames"
-msgstr "Στοίβαξη καÏέ"
+msgstr "Επιλογή ΚαÏέ"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Horizontal:"
-msgstr ""
+msgstr "ΟÏιζόντια:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "ΚοÏυφές"
+msgstr "Κάθετα:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "Επιλογή όλων"
+msgstr "Επιλογή/ΕκκαθάÏιση Όλων των ΚαÏέ"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "ΔημιουÏγία από σκηνή"
+msgstr "ΔημιουÏγία ΚαÏέ από ΦÏλλο Sprite"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7382,9 +7285,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:"
@@ -7392,9 +7294,8 @@ msgstr "ΛειτουÏγία κουμπώματος:"
#: editor/plugins/texture_region_editor_plugin.cpp
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "None"
-msgstr "<Τίποτα>"
+msgstr "Τίποτα"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Pixel Snap"
@@ -7418,12 +7319,11 @@ msgstr "Βήμα:"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Sep.:"
-msgstr ""
+msgstr "ΔιαχωÏιστικό:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "TextureRegion"
-msgstr "ΠεÏιοχή υφής"
+msgstr "TextureRegion"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
@@ -7446,9 +7346,8 @@ msgid "Remove All"
msgstr "ΑφαίÏεση όλων"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "ΕπεξεÏγασία θέματος..."
+msgstr "ΕπεξεÏγασία Θέματος"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7475,23 +7374,20 @@ msgid "Create From Current Editor Theme"
msgstr "ΔημιουÏγία από το Ï„Ïέχων θέμα του επεξεÏγαστή"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "Κουμπί ποντικιοÏ"
+msgstr "Εναλλαγή ΚουμπιοÏ"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Μεσαίο κουμπί"
+msgstr "ΑπενεÏγοποιημένο Κουμπί"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "Στοιχείο"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "ΑπενεÏγοποιημένο"
+msgstr "ΑπενεÏγοποιημένο Στοιχείο"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7511,21 +7407,19 @@ msgstr "Επιλεγμένο στοιχείο επιλογής"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "Ονομασμένο ΔιαχωÏιστικό"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Υπό-ΜενοÏ"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "Στοιχείο"
+msgstr "Στοιχείο 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "Στοιχείο"
+msgstr "Στοιχείο 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7536,9 +7430,8 @@ msgid "Many"
msgstr "Πολλές"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "ΑπενεÏγοποιημένο"
+msgstr "ΑπενεÏγοποιημένο LineEdit"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7553,13 +7446,12 @@ msgid "Tab 3"
msgstr "ΚαÏτέλα 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "ΕπεξεÏγάσιμα παιδιά"
+msgstr "ΕπεξεÏγάσιμο Στοιχείο"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "ΥπόδεντÏο"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7594,15 +7486,13 @@ msgid "Erase Selection"
msgstr "ΔιαγÏαφή επιλογής"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Fix Invalid Tiles"
-msgstr "Μη έγκυÏο όνομα."
+msgstr "ΔιόÏθωση ΆκυÏων Πλακιδίων"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Cut Selection"
-msgstr "ΚεντÏάÏισμα επιλογής"
+msgstr "Αποκοπή Επιλογής"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
@@ -7625,9 +7515,8 @@ msgid "Erase TileMap"
msgstr "ΔιαγÏαφή TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Find Tile"
-msgstr "ΕÏÏεση πλακιδίου"
+msgstr "ΕÏÏεση Πλακιδίου"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -7642,14 +7531,12 @@ msgid "Mirror Y"
msgstr "ΣυμμετÏία στον άξονα Î¥"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "Αυτόματο πλακίδια"
+msgstr "ΑπενεÏγοποίηση Αυτόματων Πλακιδίων"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "ΕπεξεÏγασία φίλτÏων"
+msgstr "ΕπεξεÏγασία ΠÏοτεÏαιότητας"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7660,43 +7547,40 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift+Δεξί Κλικ: ΖωγÏάφισμα ΓÏαμμής\n"
+"Shift+Ctrl+Δεξί Κλικ: ΖωγÏάφισμα ΟÏθογωνίου"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
msgstr "Επιλογή πλακιδίου"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
-msgstr "ΛειτουÏγία πεÏιστÏοφής"
+msgstr "ΠεÏιστÏοφή ΑÏιστεÏά"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
-msgstr "Μετακίνηση δεξιά"
+msgstr "ΠεÏιστÏοφή Δεξιά"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Flip Horizontally"
-msgstr ""
+msgstr "ΑναστÏοφή ΟÏιζόντια"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Flip Vertically"
-msgstr ""
+msgstr "ΑναστÏοφή Κάθετα"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
-msgstr "Μετασχηματισμός"
+msgstr "ΕκκαθάÏιση ΜετασχηματισμοÏ"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Add Texture(s) to TileSet."
-msgstr "ΠÏοσθέστε κόμβο/-ους από δέντÏο"
+msgstr "ΠÏοσθήκη Υφών σε TileSet."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Remove selected Texture from TileSet."
-msgstr "ΑφαίÏεση Ï„Ïέχουσας εγγÏαφής"
+msgstr "ΑφαίÏεση επιλεγμένης υφής από το TileSet."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create from Scene"
@@ -7707,936 +7591,671 @@ msgid "Merge from Scene"
msgstr "Συγχώνευση από σκηνή"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Next Coordinate"
-msgstr "Επόμενο πάτωμα"
+msgstr "Επόμενη Συντεταγμένη"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Select the next shape, subtile, or Tile."
-msgstr ""
+msgstr "Επιλογή επόμενου σχήματος, υπό-πλακιδίου, ή πλακιδίου."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Previous Coordinate"
-msgstr "ΠÏοηγοÏμενο πάτωμα"
+msgstr "ΠÏοηγοÏμενη Συντεταγμένη"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Select the previous shape, subtile, or Tile."
-msgstr ""
+msgstr "Επιλογή Ï€ÏοηγοÏμενου σχήματος, υπό-πλακιδίου, ή πλακιδίου."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "ΛειτουÏγία εκτέλεσης:"
+msgstr "ΛειτουÏγία ΠεÏιοχής"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Μέθοδος παÏεμβολής"
+msgstr "ΛειτουÏγία ΣÏγκÏουσης"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "ΕπεγεÏγασία πολυγώνου"
+msgstr "ΛειτουÏγία Εμποδίου"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "ΔημιουÏγία πλέγματος πλοήγησης"
+msgstr "ΔημιουÏγία Πλοήγησης"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "ΛειτουÏγία πεÏιστÏοφής"
+msgstr "ΛειτουÏγία Μάσκας Bit"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "ΛειτουÏγία εξαγωγής:"
+msgstr "ΛειτουÏγία ΠÏοτεÏαιότητας"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "ΛειτουÏγία Μετακίνησης κάμεÏας"
+msgstr "ΛειτουÏγία Εικονιδίων"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "ΛειτουÏγία Μετακίνησης κάμεÏας"
+msgstr "ΛειτουÏγία Δείκτη Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
-msgstr ""
+msgstr "ΑντιγÏαφή μάσκας bit."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Paste bitmask."
-msgstr "Επικόλληση κίνησης"
+msgstr "Επικόλληση μάσκας bit."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Erase bitmask."
-msgstr "ΔιαγÏαφή σημείων."
+msgstr "ΔιαγÏαφή μάσκας bit."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Create a new rectangle."
-msgstr "ΔημιουÏγία νέων κόμβων."
+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."
-msgstr ""
+msgstr "ΔιατήÏηση πολυγώνου μέσα σε οÏθογώνια πεÏιοχή."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Enable snap and show grid (configurable via the Inspector)."
msgstr ""
+"ΕνεÏγοποίηση κουμπώματος και εμφάνιση πλέγματος (Ï€ÏοσαÏμόσιμο στον "
+"επιθεωÏητή)."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Display Tile Names (Hold Alt Key)"
-msgstr ""
+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 ""
+msgstr "Δεν έχετε επιλέξει υφή για αφαίÏεση."
#: editor/plugins/tile_set_editor_plugin.cpp
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."
-msgstr ""
+msgstr "Το/α αÏχείο/α %s δεν Ï€Ïοστέθηκε/αν γιατί ήταν ήδη στην λίστα."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"Drag handles to edit Rect.\n"
"Click on another Tile to edit it."
msgstr ""
+"ΣÏÏετε τις λαβές για επεξεÏγασία του ΟÏθογωνίου.\n"
+"Πατήστε σε άλλο πλακίδιο για να το επεξεÏγαστείτε."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Delete selected Rect."
-msgstr "ΔιαγÏαφή επιλεγμένων αÏχείων;"
+msgstr "ΔιαγÏαφή επιλεγμένου ΟÏθογωνίου."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"Select current edited sub-tile.\n"
"Click on another Tile to edit it."
-msgstr "Επέλεξε το Ï„Ïέχων επεξεÏγαζόμενο υπο-πλακίδιο."
+msgstr ""
+"Επέλεξε το Ï„Ïέχων επεξεÏγαζόμενο υποπλακίδιο.\n"
+"Πατήστε σε άλλο πλακίδιο για να το επεξεÏγαστείτε."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Delete polygon."
-msgstr "ΔιαγÏαφή σημείων"
+msgstr "ΔιαγÏαφή πολυγώνου."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
"Shift+LMB: Set wildcard bit.\n"
"Click on another Tile to edit it."
msgstr ""
-"ΑÏιστεÏÏŒ κλικ: ενεÏγοποίησε το bit.\n"
-"Δεξί κλικ: απενεÏγοποίησε το bit."
+"ΑÏιστεÏÏŒ κλικ: ΕνεÏγοποίηση bit.\n"
+"Δεξί κλικ: ΑπενεÏγοποίηση bit.\n"
+"Shift + ΑÏιστεÏÏŒ κλικ: ΕνεÏγοποίηση του bit μπαλαντέÏ.\n"
+"Πατήστε σε άλλο πλακίδιο για να το επεξεÏγαστείτε."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"Select sub-tile to use as icon, this will be also used on invalid autotile "
"bindings.\n"
"Click on another Tile to edit it."
msgstr ""
-"Επιλέξτε υπότιτλο για εικονίδιο, o οποίος θα χÏησιμοποιείται και σε μη "
-"έγκυÏες συνδέσεις αυτόματων πλακιδίων."
+"Επιλέξτε υπότιτλο για εικονίδιο, που θα χÏησιμοποιείται και σε μη έγκυÏους "
+"δεσμοÏÏ‚ αυτόματων πλακιδίων.\n"
+"Πατήστε σε άλλο πλακίδιο για να το επεξεÏγαστείτε."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"Select sub-tile to change its priority.\n"
"Click on another Tile to edit it."
-msgstr "Επιλέξτε υπο-πλακίδιο για να αλλάξετε την Ï€ÏοτεÏαιότητα του."
+msgstr "Επιλέξτε υποπλακίδιο για να αλλάξετε την Ï€ÏοτεÏαιότητα του."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"Select sub-tile to change its z index.\n"
"Click on another Tile to edit it."
-msgstr "Επιλέξτε υπο-πλακίδιο για να αλλάξετε την Ï€ÏοτεÏαιότητα του."
+msgstr ""
+"Επιλέξτε υποπλακίδιο για να αλλάξετε την Ï€ÏοτεÏαιότητα z του.\n"
+"Πατήστε σε άλλο πλακίδιο για να το επεξεÏγαστείτε."
#: 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 ""
+msgstr "ΟÏισμός Εικονιδίου Πλακιδίου"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Edit Tile Bitmask"
-msgstr "ΕπεξεÏγασία φίλτÏων"
+msgstr "ΕπεξεÏγασία Μάσκας Bit Πλακιδίου"
#: 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 "Επικόλληση Μάσκας Bit Πλακιδίου"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Clear Tile Bitmask"
-msgstr ""
+msgstr "ΕκκαθάÏιση Μάσκας Bit Πλακιδίου"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Make Polygon Concave"
-msgstr "Μετακίνηση πολυγώνου"
+msgstr "ΜετατÏοπή Πολυγώνου σε Κοίλο"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Make Polygon Convex"
-msgstr "Μετακίνηση πολυγώνου"
+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 ""
+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
-#, fuzzy
msgid "This property can't be changed."
-msgstr "Αυτή η λειτουÏγία δεν μποÏεί να γίνει χωÏίς σκηνή."
+msgstr "Αυτή η ιδιότητα δεν μποÏεί να αλλάξει."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "TileSet"
-msgstr "ΣÏνολο πλακιδίων"
+msgstr "TileSet"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "ΠÏοσθήκη εισόδου"
+msgstr "ΠÏοσθήκη εισόδου +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "ΠÏοσθήκη εισόδου"
+msgstr "ΠÏοσθήκη εξόδου +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "Κλιμάκωση:"
+msgstr "Βαθμωτό Μέγεθος"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "ΕπιθεωÏητής"
+msgstr "Διάνυσμα"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Λογική Τιμή"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "ΠÏοσθήκη εισόδου"
+msgstr "ΠÏοσθήκη θÏÏας εισόδου"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "ΠÏοσθήκη θÏÏας εξόδου"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "Αλλαγή Ï€Ïοεπιλεγμένου Ï„Ïπου"
+msgstr "Αλλαγή Ï„Ïπου θÏÏας εισόδου"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "Αλλαγή Ï€Ïοεπιλεγμένου Ï„Ïπου"
+msgstr "Αλλαγή Ï„Ïπου θÏÏας εξόδου"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "Αλλαγή ονόματος εισόδου"
+msgstr "Αλλαγή ονόματος θÏÏας εισόδου"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "Αλλαγή ονόματος εισόδου"
+msgstr "Αλλαγή ονόματος θÏÏας εξόδου"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "ΑφαίÏεση σημείου"
+msgstr "ΑφαίÏεση θÏÏας εισόδου"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "ΑφαίÏεση σημείου"
+msgstr "ΑφαίÏεση θÏÏας εξόδου"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "Αλλαγή έκφÏασης"
+msgstr "ΟÏισμός έκφÏασης"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "ΠÏόγÏαμμα σκίασης"
+msgstr "Κλιμάκωση κόμβου VisualShader"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
-msgstr ""
+msgstr "Αλλαγή Ονόματος Ενιαίας Μεταβλητής"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set Input Default Port"
-msgstr "ΟÏισμός ως Ï€Ïοεπιλογής για '%s'"
+msgstr "ΟÏισμός ΠÏοεπιλεγμένης ΘÏÏας Εισόδου"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add Node to Visual Shader"
-msgstr "ΠÏόγÏαμμα σκίασης"
+msgstr "ΠÏοσθήκη Κόμβου στο Οπτικό ΠÏόγÏαμμα Σκίασης"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Duplicate Nodes"
-msgstr "Διπλασιασμός κόμβων"
+msgstr "ΑναπαÏαγωγή Κόμβων"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Delete Nodes"
msgstr "ΔιαγÏαφή Κόμβων"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Visual Shader Input Type Changed"
-msgstr ""
+msgstr "Αλλαγή ΤÏπου Εισόδου ÎŸÏ€Ï„Î¹ÎºÎ¿Ï Î ÏογÏάμματος Σκίασης"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vertex"
-msgstr "ΚοÏυφές"
+msgstr "ΚοÏυφή"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Fragment"
-msgstr "ΠαÏάμετÏοι:"
+msgstr "Τμήμα"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Light"
-msgstr "Δεξιά"
+msgstr "Φως"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "ΔημιουÏγία κόμβου"
+msgstr "ΔημιουÏγία Κόμβου Σκίασης"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "Πήγαινε σε συνάÏτηση"
+msgstr "ΣυνάÏτηση χÏώματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
-msgstr ""
+msgstr "Τελεστής χÏώματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "ΔημιουÏγήστε μία συνάÏτηση"
+msgstr "ΣυνάÏτηση κλίμακας του γκÏι."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "ΜετατÏέπει διανÏσμα HSV στο αντίστοιχο RGB."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "ΜετατÏέπει διανÏσμα RGB στο αντίστοιχο HSV."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "Μετονομασία συνάÏτησης"
+msgstr "ΣυνάÏτησης Σέπια."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "Τελεστής καψίματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
-msgstr ""
+msgstr "Τελεστής σκοτεινιάσματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Difference operator."
-msgstr "Μόνο διαφοÏές"
+msgstr "Τελεστής διαφοÏάς."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
-msgstr ""
+msgstr "Τελεστής άμβλυνσης."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "HardLight operator"
-msgstr ""
+msgstr "Τελεστής HardLight"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Lighten operator."
-msgstr ""
+msgstr "Τελεστής φωτισμοÏ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Overlay operator."
-msgstr ""
+msgstr "Τελεστής επικάλυψης."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Screen operator."
-msgstr ""
+msgstr "Τελεστής οθόνης."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "SoftLight operator."
-msgstr ""
+msgstr "Τελεστής SoftLight."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "ΣταθεÏή"
+msgstr "ΣταθεÏή χÏώματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "Μετασχηματισμός"
+msgstr "Ενιαία μεταβλητή χÏώματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
msgstr ""
+"ΕπιστÏέφει ένα συσχετισμένο διάνυσμα εάν οι βαθμωτές τιμές είναι ίσες, "
+"μεγαλÏτεÏες, ή μικÏότεÏες."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
msgstr ""
+"ΕπιστÏέφει ένα συσχετισμένο διάνυσμα εάν η λογική τιμή είναι αληθής ή ψευδής."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Boolean constant."
-msgstr "Αλλαγή διανυσματικής σταθεÏάς"
+msgstr "Λογική σταθεÏά."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
-msgstr ""
+msgstr "Λογική ενιαία μεταβλητή."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
-msgid "Input parameter."
-msgstr "ΚοÏμπωμα στον γονέα"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
+msgid "'%s' input parameter for all shader modes."
+msgstr "ΠαÏάμετÏος εισόδου «uv» για όλες τις λειτουÏγίες σκίασης."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
+msgid "Input parameter."
+msgstr "ΠαÏάμετÏος εισόδου."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr "ΠαÏάμετÏος εισόδου «uv» για σκίαση κοÏυφής και τμήματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr "ΠαÏάμετÏος εισόδου «view» για σκίαση τμήματος και φωτός."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment shader mode."
+msgstr "ΠαÏάμετÏος εισόδου «side» για σκίαση τμήματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for light shader mode."
+msgstr "ΠαÏάμετÏος εισόδου «diffuse» για σκίαση φωτός."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex shader mode."
+msgstr "ΠαÏάμετÏος εισόδου «custom» για σκίαση κοÏυφής."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr "ΠαÏάμετÏος εισόδου «uv» για σκίαση κοÏυφής και τμήματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar function."
-msgstr "Αλλαγή μονόμετÏης συνάÏτησης"
+msgstr "Βαθμωτή συνάÏτηση."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar operator."
-msgstr "Αλλαγή μονόμετÏου τελεστή"
+msgstr "Βαθμωτός τελεστής."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "ΣταθεÏά e (e=2.718282). ΑναπαÏιστά την βάση του Ï†Ï…ÏƒÎ¹ÎºÎ¿Ï Î»Î¿Î³Î¬Ïιθμου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "ΣταθεÏά Epsilon (ε=0.00001). ΜικÏότεÏος δυνατός βαθμωτός αÏιθμός."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "ΣταθεÏά Phi (φ=1.618034). ΧÏυσή τομή."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "ΣταθεÏά Pi/4 (Ï€/4=0.785398) ή 45 μοίÏες."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "ΣταθεÏά Pi/2 (Ï€/2=1.570796) ή 90 μοίÏες."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "ΣταθεÏά Pi (Ï€=3.141593) ή 180 μοίÏες."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "ΣταθεÏά Tau (Ï„=6.283185) ή 360 μοίÏες."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "ΣταθεÏά Sqrt2 (1.414214). ΤετÏαγωνική Ïίζα του 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει την απόλυτη τιμή της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει το τόξο συνημιτόνου της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
msgstr ""
+"(Μόνο GLES3) ΕπιστÏέφει το αντίστÏοφο υπεÏβολικό συνημίτονο της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει το τόξο ημιτόνου της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
msgstr ""
+"(Μόνο GLES3) ΕπιστÏέφει το αντίστÏοφο υπεÏβολικό ημίτονο της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει το τόξο εφαπτομένης της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "ΕπιστÏέφει το τόξο εφαπτομένης των παÏαμέτÏων."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
msgstr ""
+"(Μόνο GLES3) ΕπιστÏέφει την αντίστÏοφη υπεÏβολική εφαπτομένη της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
+msgstr "Î’Ïίσκει τον κοντινότεÏο ακέÏαιο, μεγαλÏτεÏο ή ίσο της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "ΠεÏιοÏίζει μια τιμή ανάμεσα σε δÏο άλλες τιμές."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει το συνημίτονο της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Μόνο GLES3) ΕπιστÏέφει το υπεÏβολικό συνημίτονο της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "ΜετατÏέπει ακτίνια σε μοίÏες."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "Εκθετικό βάσης e."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "Εκθετικό βάσης 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
+msgstr "Î’Ïίσκει τον κοντινότεÏο ακέÏαιο μικÏότεÏο ή ίσο της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
-msgstr ""
+msgstr "Υπολογίζει το δεκαδικό τμήμα του οÏίσματος."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει το αντίστÏοφο της τετÏαγωνικής Ïίζας της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
-msgstr ""
+msgstr "Φυσικός λογάÏιθμος."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "ΛογάÏιθμος βάσης 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
-msgstr ""
+msgstr "ΕπιστÏέφει το μέγιστο δÏο τιμών."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the lesser of two values."
-msgstr ""
+msgstr "ΕπιστÏέφει το ελάχιστο δÏο τιμών."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
-msgstr ""
+msgstr "ΓÏαμμική παÏεμβολή ανάμεσα σε δÏο βαθμωτά μεγέθη."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the opposite value of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει την αντίθετη τιμή της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - scalar"
-msgstr ""
+msgstr "1.0 - βαθμωτό μέγεθος"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the value of the first parameter raised to the power of the second."
msgstr ""
+"ΕπιστÏέφει την τιμή τις Ï€Ïώτης παÏαμέτÏου υψωμένη στην δεÏτεÏη παÏάμετÏο."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in degrees to radians."
-msgstr ""
+msgstr "ΜετατÏέπει μοίÏες σε ακτίνια."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / scalar"
-msgstr ""
+msgstr "1.0 / βαθμωτό μέγεθος"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest integer to the parameter."
-msgstr ""
+msgstr "(Μόνο GLES3) Î’Ïίσκει τον κοντινότεÏο ακέÏαιο στην παÏάμετÏο."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest even integer to the parameter."
-msgstr ""
+msgstr "(Μόνο GLES3) Î’Ïίσκει τον κοντινότεÏο άÏτιο ακέÏαιο στην παÏάμετÏο."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
+msgstr "ΠεÏιοÏίζει την τιμή ανάμεσα στο 0.0 και το 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Extracts the sign of the parameter."
-msgstr ""
+msgstr "Εξάγει το Ï€Ïόσημο της τιμής."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the sine of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει το ημίτονο της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Μόνο GLES3) ΕπιστÏέφει το υπεÏβολικό ημίτονο της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the square root of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει την τετÏαγωνική Ïίζα της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8646,6 +8265,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"ΣυνάÏτηση SmoothStep( βαθμωτό(ÏŒÏιο0), βαθμωτό(ÏŒÏιο1), βαθμωτό(x) ).\n"
+"\n"
+"ΕπιστÏέφει 0.0 αν x < ÏŒÏιο0 και 1.0 αν x > ÏŒÏιο1. Αλλιώς επιστÏέφει μια "
+"παÏεμβεβλημένη τιμή ανάμεσα στο 0.0 και το 1.0 χÏησιμοποιώντας πολυώνυμα "
+"Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8653,71 +8277,69 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"ΣυνάÏτηση Step( βαθμωτό(ÏŒÏιο), βαθμωτό(x) ).\n"
+"\n"
+"ΕπιστÏέφει 0.0 αν x < ÏŒÏιο, αλλιώς 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
-msgstr ""
+msgstr "ΕπιστÏέφει την εφαπτομένη της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Μόνο GLES3) ΕπιστÏέφει την υπεÏβολική εφαπτομένη της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the truncated value of the parameter."
-msgstr ""
+msgstr "(Μόνο GLES3) Î’Ïίσκει την πεÏικομμένη τιμή της παÏαμέτÏου."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds scalar to scalar."
-msgstr ""
+msgstr "ΠÏοσθήκη βαθμωτών μεγεθών."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides scalar by scalar."
-msgstr ""
+msgstr "ΔιαίÏεση βαθμωτών μεγεθών."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies scalar by scalar."
-msgstr ""
+msgstr "Πολ/μός βαθμωτών μεγεθών."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two scalars."
-msgstr ""
+msgstr "ΕπιστÏέφει το υπόλοιπο δÏο βαθμωτών μεγεθών."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts scalar from scalar."
-msgstr ""
+msgstr "ΑφαίÏεση βαθμωτών μεγεθών."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar constant."
-msgstr "Αλλαγή μονόμετÏης σταθεÏάς"
+msgstr "Βαθμωτή σταθεÏά."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar uniform."
-msgstr "Αλλαγή μονόμετÏης ομοιόμοÏφης μεταβλητής"
+msgstr "Βαθμωτή ενιαία μεταβλητή."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
-msgstr ""
+msgstr "Εκτέλεση κυβικής αντιστοιχίας υφής."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the texture lookup."
-msgstr ""
+msgstr "Εκτέλεση αντιστοιχίας υφής."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Cubic texture uniform."
-msgstr "Αλλαγή ομοιόμοÏφης μεταβλητής υφής"
+msgstr "Ενιαία μεταβλητή κυβικής υφής."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "2D texture uniform."
-msgstr "Αλλαγή ομοιόμοÏφης μεταβλητής υφής"
+msgstr "Ενιαία μεταβλητή 2D υφής."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform function."
-msgstr "Διάλογος μετασχηματισμοÏ..."
+msgstr "ΣυνάÏτηση μετασχηματισμοÏ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8956,9 +8578,8 @@ msgid ""
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "VisualShader"
-msgstr "ΠÏόγÏαμμα σκίασης"
+msgstr "Οπτικό ΠÏόγÏαμμα Σκίασης"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -9713,9 +9334,8 @@ msgid "Action:"
msgstr "ΕνέÏγεια:"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Action"
-msgstr "ΕνέÏγεια:"
+msgstr "ΕνέÏγεια"
#: editor/project_settings_editor.cpp
msgid "Deadzone"
@@ -10051,7 +9671,7 @@ msgstr "Μετακίνηση κόμβων στον γονέα"
#: editor/scene_tree_dock.cpp
msgid "Duplicate Node(s)"
-msgstr "Διπλασιασμός κόμβων"
+msgstr "ΑναπαÏαγωγή Κόμβων"
#: editor/scene_tree_dock.cpp
msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
@@ -10188,6 +9808,11 @@ msgid "Add Child Node"
msgstr "ΠÏοσθήκη κόμβου ως παιδί"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "ΣÏμπτηξη Όλων"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Αλλαγή Ï„Ïπου"
@@ -10218,7 +9843,8 @@ msgid "Delete (No Confirm)"
msgstr "ΔιαγÏαφή (ΧωÏίς επιβεβαίωση)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "ΠÏοσθήκη/ΔημιουÏγία κόμβου"
#: editor/scene_tree_dock.cpp
@@ -10608,7 +10234,7 @@ msgstr "ΣυντομεÏσεις"
#: editor/settings_config_dialog.cpp
msgid "Binding"
-msgstr "ΣÏνδεση"
+msgstr "Δεσμός"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
@@ -10896,9 +10522,8 @@ msgid "Clear Selection"
msgstr "ΕκκαθάÏιση επιλογής"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Fill Selection"
-msgstr "Επιλογή όλων"
+msgstr "Γέμισμα Επιλογής"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
@@ -10914,7 +10539,7 @@ msgstr "Το όνομα της κλάσης δεν μποÏεί να είναι
#: modules/mono/editor/godotsharp_editor.cpp
msgid "Generating solution..."
-msgstr "ΔημιουÏγία λÏσης..."
+msgstr "Επίλυση..."
#: modules/mono/editor/godotsharp_editor.cpp
msgid "Generating C# project..."
@@ -11128,7 +10753,7 @@ msgstr "ΑφαίÏεση κόμβων VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Duplicate VisualScript Nodes"
-msgstr "Διπλασιασμός κόμβων VisualScript"
+msgstr "ΑναπαÏαγωγή Κόμβων VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
@@ -11726,6 +11351,18 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"To CollisionShape2D υπάÏχει μόνο για να δώσει ένα σχήμα σÏγκÏουσης σε έναν "
+"κόμβο που Ï€ÏοέÏχεται από το CollisionObject2D. ΧÏησιμοποιήστε το μόνο εάν "
+"κληÏονομεί τα Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, κλπ, για "
+"να τους δώσετε ένα σχήμα."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -12031,25 +11668,40 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Ωμή λειτουÏγία"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "ΠαÏέκκλιση"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
msgstr ""
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "Add current color as a preset."
-msgstr "ΠÏοσθήκη του Ï„Ïέχοντος χÏώματος ως Ï€ÏοκαθοÏισμένο"
+msgstr "ΠÏοσθήκη Ï„Ïέχοντος χÏώματος στα Ï€ÏοκαθοÏισμένα."
#: scene/gui/container.cpp
+#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+"Το Container από μόνο του δεν έχει κάποιο σκοπό αν κάποια δέσμη ενεÏγειών "
+"δεν οÏίσει την τοποθέτηση των παιδιών του.\n"
+"Εάν δεν σκοπεÏετε να Ï€Ïοσθέσετε κάποια δέσμη ενεÏγειών, χÏησιμοποιήστε ένα "
+"απλό «Control»."
+
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
#: scene/gui/dialogs.cpp
msgid "Alert!"
@@ -12081,7 +11733,7 @@ msgid ""
msgstr ""
"Το ScrollContainer είναι φτιαγμένο για να δουλεÏει με ένα μόνο υπο-στοιχείο "
"control.\n"
-"ΧÏησιμοποιήστε ένα container ως παιδί (VBox, HBox, κτλ), ή ένα Control και "
+"ΧÏησιμοποιήστε ένα Container ως παιδί (VBox, HBox, κτλ), ή ένα Control και "
"οÏίστε το Ï€ÏοσαÏμοσμένο ελάχιστο μέγεθος χειÏοκίνητα."
#: scene/gui/tree.cpp
@@ -12103,7 +11755,7 @@ msgid ""
"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
"texture to some node for display."
msgstr ""
-"Το Viewport δεν έχει οÏισθεί ως \"render target'. Αν σκοπεÏετε να δείχνει τα "
+"Το Viewport δεν έχει οÏισθεί ως «render target». Αν σκοπεÏετε να δείχνει τα "
"πεÏιεχόμενα του, κάντε το να κληÏονομεί ένα Control, ώστε να αποκτήσει "
"μέγεθος. Αλλιώς, κάντε το ένα RenderTarget και οÏίστε το internal texture σε "
"έναν κόμβο για απεικόνιση."
@@ -12125,9 +11777,8 @@ msgid "Invalid font size."
msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Input"
-msgstr "ΠÏοσθήκη εισόδου"
+msgstr "Είσοδος"
#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
@@ -12150,6 +11801,186 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Enabled Classes"
+#~ msgstr "ΕνεÏγοποιημένες Κλάσεις"
+
+#~ msgid "Update Always"
+#~ msgstr "ΕνημέÏωση πάντα"
+
+#~ msgid "'camera' input parameter for all shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «camera» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'inv_camera' input parameter for all shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «inv_camera» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'inv_projection' input parameter for all shader modes."
+#~ msgstr ""
+#~ "ΠαÏάμετÏος εισόδου «inv_projection» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'normal' input parameter for all shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «normal» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'projection' input parameter for all shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «projection» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'time' input parameter for all shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «time» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'viewport_size' input parameter for all shader modes."
+#~ msgstr ""
+#~ "ΠαÏάμετÏος εισόδου «viewport_size» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'world' input parameter for all shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «world» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'alpha' input parameter for all shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «alpha» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'color' input parameter for all shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «color» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'texture_pixel_size' input parameter for all shader modes."
+#~ msgstr ""
+#~ "ΠαÏάμετÏος εισόδου «texture_pixel_size» για όλες τις λειτουÏγίες σκίασης."
+
+#~ msgid "'alpha' input parameter for vertex and fragment shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «alpha» για σκίαση κοÏυφής και τμήματος."
+
+#~ msgid "'binormal' input parameter for vertex and fragment shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «binormal» για σκίαση κοÏυφής και τμήματος."
+
+#~ msgid "'color' input parameter for vertex and fragment shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «color» για σκίαση κοÏυφής και τμήματος."
+
+#~ msgid "'fragcoord' input parameter for fragment and light shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «fragcoord» για σκίαση τμήματος και φωτός."
+
+#~ msgid "'point_coord' input parameter for fragment shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «point_coord» για σκίαση τμήματος."
+
+#~ msgid "'screen_uv' input parameter for fragment shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «screen_uv» για σκίαση τμήματος."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «tangent» για σκίαση κοÏυφής και τμήματος."
+
+#~ msgid "'uv2' input parameter for vertex and fragment shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «uv2» για σκίαση κοÏυφής και τμήματος."
+
+#~ msgid "'vertex' input parameter for vertex and fragment shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «vertex» για σκίαση κοÏυφής και τμήματος."
+
+#~ msgid "'albedo' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «albedo» για σκίαση φωτός."
+
+#~ msgid "'attenuation' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «attenuation» για σκίαση φωτός."
+
+#~ msgid "'light' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «light» για σκίαση φωτός."
+
+#~ msgid "'light_color' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «light_color» για σκίαση φωτός."
+
+#~ msgid "'roughness' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «roughness» για σκίαση φωτός."
+
+#~ msgid "'specular' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «specular» για σκίαση φωτός."
+
+#~ msgid "'transmission' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «transmission» για σκίαση φωτός."
+
+#~ msgid "'modelview' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «modelview» για σκίαση κοÏυφής."
+
+#~ msgid "'point_size' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «point_size» για σκίαση κοÏυφής."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «tangent» για σκίαση κοÏυφής και τμήματος."
+
+#~ msgid "'light_pass' input parameter for vertex and fragment shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «light_pass» για σκίαση κοÏυφής και τμήματος."
+
+#~ msgid "'point_coord' input parameter for fragment and light shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «point_coord» για σκίαση τμήματος και φωτός."
+
+#~ msgid "'screen_pixel_size' input parameter for fragment shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «screen_pixel_size» για σκίαση τμήματος."
+
+#~ msgid "'screen_uv' input parameter for fragment and light shader modes."
+#~ msgstr "ΠαÏάμετÏος εισόδου «screen_uv» για σκίαση τμήματος και φωτός."
+
+#~ msgid "'light_alpha' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «light_alpha» για σκίαση φωτός."
+
+#~ msgid "'light_height' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «light_height» για σκίαση φωτός."
+
+#~ msgid "'light_uv' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «light_uv» για σκίαση φωτός."
+
+#~ msgid "'light_vec' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «light_vec» για σκίαση φωτός."
+
+#~ msgid "'normal' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «normal» για σκίαση φωτός."
+
+#~ msgid "'shadow_color' input parameter for light shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «shadow_color» για σκίαση φωτός."
+
+#~ msgid "'extra' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «extra» για σκίαση κοÏυφής."
+
+#~ msgid "'projection' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «projection» για σκίαση κοÏυφής."
+
+#~ msgid "'vertex' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «vertex» για σκίαση κοÏυφής."
+
+#~ msgid "'world' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «world» για σκίαση κοÏυφής."
+
+#~ msgid "'active' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «active» για σκίαση κοÏυφής."
+
+#~ msgid "'alpha' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «alpha» για σκίαση κοÏυφής."
+
+#~ msgid "'color' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «color» για σκίαση κοÏυφής."
+
+#~ msgid "'custom_alpha' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «custom_alpha» για σκίαση κοÏυφής."
+
+#~ msgid "'delta' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «delta» για σκίαση κοÏυφής."
+
+#~ msgid "'emission_transform' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «emission_transform» για σκίαση κοÏυφής."
+
+#~ msgid "'index' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «index» για σκίαση κοÏυφής."
+
+#~ msgid "'lifetime' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «lifetime» για σκίαση κοÏυφής."
+
+#~ msgid "'restart' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «restart» για σκίαση κοÏυφής."
+
+#~ msgid "'time' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «time» για σκίαση κοÏυφής."
+
+#~ msgid "'transform' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «transform» για σκίαση κοÏυφής."
+
+#~ msgid "'velocity' input parameter for vertex shader mode."
+#~ msgstr "ΠαÏάμετÏος εισόδου «velocity» για σκίαση κοÏυφής."
+
+#~ msgid "Raw Mode"
+#~ msgstr "Ωμή λειτουÏγία"
+
#~ msgid "Path to Node:"
#~ msgstr "ΔιαδÏομή για τον κόμβο:"
@@ -12707,9 +12538,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Εναλλαγή οÏατότητας Spatial"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Εναλλαγή οÏατότητας CanvasItem"
-
#~ msgid "Condition"
#~ msgstr "Συνθήκη"
diff --git a/editor/translations/eo.po b/editor/translations/eo.po
index 12de01ffd7..920ec81e1b 100644
--- a/editor/translations/eo.po
+++ b/editor/translations/eo.po
@@ -3,18 +3,19 @@
# Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md)
# This file is distributed under the same license as the Godot source code.
# Scott Starkey <yekrats@gmail.com>, 2019.
+# AlexHoratio <yukithetupper@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
-"Last-Translator: Scott Starkey <yekrats@gmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:48+0000\n"
+"Last-Translator: AlexHoratio <yukithetupper@gmail.com>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/godot-engine/"
"godot/eo/>\n"
"Language: eo\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -29,7 +30,7 @@ msgstr "Ne sufiĉas bitokoj por malĉifri bitokojn, aŭ nevalida formo."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
-msgstr "Nevalida enigo %i (ne pasita) en esprimo"
+msgstr "Nevalida enigo %i (ne pasitis) en esprimo"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -53,7 +54,7 @@ msgstr "Malvalidaj argumentoj por konstrui '%s'"
#: core/math/expression.cpp
msgid "On call to '%s':"
-msgstr ""
+msgstr "En voko al '%s':"
#: editor/animation_bezier_editor.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -70,11 +71,11 @@ msgstr "Spegulo"
#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
msgid "Time:"
-msgstr ""
+msgstr "Tempo:"
#: editor/animation_bezier_editor.cpp
msgid "Value:"
-msgstr ""
+msgstr "Valoro:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -82,215 +83,215 @@ msgstr "Enmetu Ålosilon ĉi tien"
#: editor/animation_bezier_editor.cpp
msgid "Duplicate Selected Key(s)"
-msgstr ""
+msgstr "Duplikati Elektita(j)n Åœlosilo(j)n"
#: editor/animation_bezier_editor.cpp
msgid "Delete Selected Key(s)"
-msgstr ""
+msgstr "Forigi Elektita(j)n Åœlosilo(j)n"
#: editor/animation_bezier_editor.cpp
msgid "Add Bezier Point"
-msgstr ""
+msgstr "Aldoni Bezier-punkton"
#: editor/animation_bezier_editor.cpp
msgid "Move Bezier Points"
-msgstr ""
+msgstr "Movi Bezier-punktojn"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr ""
+msgstr "Animado Duplikati Åœlosilojn"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
-msgstr ""
+msgstr "Animado Forigi Åœlosilojn"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
-msgstr ""
+msgstr "Animado Aliigi Kernakadron Fojon"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr ""
+msgstr "Animado Aliigi Transiron"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
-msgstr ""
+msgstr "Animado Aliigi Transformon"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
-msgstr ""
+msgstr "Animado Aliigi Kernakadron Valoron"
#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
-msgstr ""
+msgstr "Animado Aliigi Alvokon"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
-msgstr ""
+msgstr "Aliigi Animadon Longecon"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr ""
+msgstr "Aliigi Animadon Iteracion"
#: editor/animation_track_editor.cpp
msgid "Property Track"
-msgstr ""
+msgstr "Atributo Vojeto"
#: editor/animation_track_editor.cpp
msgid "3D Transform Track"
-msgstr ""
+msgstr "3D Transformo Vojeto"
#: editor/animation_track_editor.cpp
msgid "Call Method Track"
-msgstr ""
+msgstr "Alvoki Metodon Vojeto"
#: editor/animation_track_editor.cpp
msgid "Bezier Curve Track"
-msgstr ""
+msgstr "Bezier-kurbo Vojeto"
#: editor/animation_track_editor.cpp
msgid "Audio Playback Track"
-msgstr ""
+msgstr "AÅ­dio Reproduktado Vojeto"
#: editor/animation_track_editor.cpp
msgid "Animation Playback Track"
-msgstr ""
+msgstr "Animado Reproduktado Vojeto"
#: editor/animation_track_editor.cpp
msgid "Animation length (frames)"
-msgstr ""
+msgstr "Animado loneco (filmeroj)"
#: editor/animation_track_editor.cpp
msgid "Animation length (seconds)"
-msgstr ""
+msgstr "Animado loneco (sekundoj)"
#: editor/animation_track_editor.cpp
msgid "Add Track"
-msgstr ""
+msgstr "Adici Vojeton"
#: editor/animation_track_editor.cpp
msgid "Animation Looping"
-msgstr ""
+msgstr "Animado Iteracianti"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Functions:"
-msgstr ""
+msgstr "Funkcioj:"
#: editor/animation_track_editor.cpp
msgid "Audio Clips:"
-msgstr ""
+msgstr "Aŭdio Filmitaĵero:"
#: editor/animation_track_editor.cpp
msgid "Anim Clips:"
-msgstr ""
+msgstr "Animado Filmitaĵero:"
#: editor/animation_track_editor.cpp
msgid "Change Track Path"
-msgstr ""
+msgstr "Aliigi Vojeton Vojon"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
-msgstr ""
+msgstr "Baskuligi tio ĉi vojeto Åaltita/malÅaltita."
#: editor/animation_track_editor.cpp
msgid "Update Mode (How this property is set)"
-msgstr ""
+msgstr "Aktualigi Modon (Kiel tio ĉi atributo estas determinigis)"
#: editor/animation_track_editor.cpp
msgid "Interpolation Mode"
-msgstr ""
+msgstr "Interpolado Modo"
#: editor/animation_track_editor.cpp
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr ""
+msgstr "Iteracio Volvi Modo (Interpoli finon kun komenco de iteracio)"
#: editor/animation_track_editor.cpp
msgid "Remove this track."
-msgstr ""
+msgstr "Forigi tio ĉi vojeton."
#: editor/animation_track_editor.cpp
msgid "Time (s): "
-msgstr ""
+msgstr "Fojo (s): "
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
-msgstr ""
+msgstr "Baskuligi Vojeton Åœaltitis"
#: editor/animation_track_editor.cpp
msgid "Continuous"
-msgstr ""
+msgstr "Seninterrompa"
#: editor/animation_track_editor.cpp
msgid "Discrete"
-msgstr ""
+msgstr "Diskreta"
#: editor/animation_track_editor.cpp
msgid "Trigger"
-msgstr ""
+msgstr "Startigilo"
#: editor/animation_track_editor.cpp
msgid "Capture"
-msgstr ""
+msgstr "Kapti"
#: editor/animation_track_editor.cpp
msgid "Nearest"
-msgstr ""
+msgstr "Plej apuda"
#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
-msgstr ""
+msgstr "Lineara"
#: editor/animation_track_editor.cpp
msgid "Cubic"
-msgstr ""
+msgstr "Kubika"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
-msgstr ""
+msgstr "Krampi Iteracion Interpolon"
#: editor/animation_track_editor.cpp
msgid "Wrap Loop Interp"
-msgstr ""
+msgstr "Ĉirkaŭvolvi Iteracion Interpolon"
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr ""
+msgstr "Enmeti Åœlosilon"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
-msgstr ""
+msgstr "Duobligi Åœlosilo(j)n"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
-msgstr ""
+msgstr "Forigi Åœlosilo(j)n"
#: editor/animation_track_editor.cpp
msgid "Change Animation Update Mode"
-msgstr ""
+msgstr "Aliigi Animadon Aktualigon Modon"
#: editor/animation_track_editor.cpp
msgid "Change Animation Interpolation Mode"
-msgstr ""
+msgstr "Aliigi Animadon Interpolon Modon"
#: editor/animation_track_editor.cpp
msgid "Change Animation Loop Mode"
-msgstr ""
+msgstr "Aliigi Animadon Iteracion Modon"
#: editor/animation_track_editor.cpp
msgid "Remove Anim Track"
-msgstr ""
+msgstr "Formovi Animadon Vojeton"
#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
-msgstr ""
+msgstr "Fari NOVAN vojeton por %s kaj enmeti Ålosilon?"
#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
-msgstr ""
+msgstr "Fari %d NOVAJN vojetojn kaj enmeti Ålosilojn?"
#: editor/animation_track_editor.cpp editor/create_dialog.cpp
#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
@@ -301,39 +302,39 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_create_dialog.cpp
msgid "Create"
-msgstr ""
+msgstr "Krei"
#: editor/animation_track_editor.cpp
msgid "Anim Insert"
-msgstr ""
+msgstr "Animado Enmetu"
#: editor/animation_track_editor.cpp
msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
+msgstr "AnimationPlayer ne povas animi si mem, nur aliajn ludantojn."
#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
-msgstr ""
+msgstr "Animado Krei & Enmeti"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
-msgstr ""
+msgstr "Animado Enmeti Vojeton & Åœlosilon"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
-msgstr ""
+msgstr "Animado Enmeti Åœlosilon"
#: editor/animation_track_editor.cpp
msgid "Change Animation Step"
-msgstr ""
+msgstr "Aliigi Animadon PaÅon"
#: editor/animation_track_editor.cpp
msgid "Rearrange Tracks"
-msgstr ""
+msgstr "RearanÄi Vojetojn"
#: editor/animation_track_editor.cpp
msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr ""
+msgstr "Transforma vojetoj nur almetas al Spatial nodojn."
#: editor/animation_track_editor.cpp
msgid ""
@@ -342,71 +343,76 @@ msgid ""
"-AudioStreamPlayer2D\n"
"-AudioStreamPlayer3D"
msgstr ""
+"AÅ­dio vojetoj nur volas indiki al nodojn de tipojn:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
#: editor/animation_track_editor.cpp
msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr ""
+msgstr "Animado vojetoj nur volas indiki al AnimationPlayer nodojn."
#: editor/animation_track_editor.cpp
msgid "An animation player can't animate itself, only other players."
-msgstr ""
+msgstr "Animado legilo ne volas animi si mem, nur aliajn ludantojn."
#: editor/animation_track_editor.cpp
msgid "Not possible to add a new track without a root"
-msgstr ""
+msgstr "Äœi ne estas ebla adici novan vojeton sen radiko"
#: editor/animation_track_editor.cpp
msgid "Add Bezier Track"
-msgstr ""
+msgstr "Adici Bezier-vojeton"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a key."
-msgstr ""
+msgstr "Vojeto vojo estas malvalida, do ne volas adici Ålosilon."
#: editor/animation_track_editor.cpp
msgid "Track is not of type Spatial, can't insert key"
-msgstr ""
+msgstr "Vojeto ne estas de tipo Spatial, ne volas enmeti Ålosilon"
#: editor/animation_track_editor.cpp
msgid "Add Transform Track Key"
-msgstr ""
+msgstr "Adici Transformon Vojeton Åœlosilon"
#: editor/animation_track_editor.cpp
msgid "Add Track Key"
-msgstr ""
+msgstr "Adici Vojeton Åœlosilon"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a method key."
-msgstr ""
+msgstr "Vojeto vojo estas malvalida, do ne volas adici metodon Ålosilon."
#: editor/animation_track_editor.cpp
msgid "Add Method Track Key"
-msgstr ""
+msgstr "Adici Metodon Vojeton Åœlosilon"
#: editor/animation_track_editor.cpp
msgid "Method not found in object: "
-msgstr ""
+msgstr "Metodon ne trovis en objekto: "
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
-msgstr ""
+msgstr "Animado Movi Åœlosilojn"
#: editor/animation_track_editor.cpp
msgid "Clipboard is empty"
-msgstr ""
+msgstr "Tondujo estas malplena"
#: editor/animation_track_editor.cpp
msgid "Paste Tracks"
-msgstr ""
+msgstr "ElpoÅigi Vojetojn"
#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
-msgstr ""
+msgstr "Animado Skali Åœlosilojn"
#: editor/animation_track_editor.cpp
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
+"Tio ĉi opcio ne funkcias por Bezier redakti, ĉar Äi estas nur unuopa vojeto."
#: editor/animation_track_editor.cpp
msgid ""
@@ -420,34 +426,53 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Tio ĉi animado apartenas al enporta sceno, do aliigoj al enportajn vojetojn "
+"ne konservos.\n"
+"\n"
+"Por Åalti la eblecon aldoni proprajn vojetojn, navigu al la enporto-agordoj "
+"de la sceno kaj agordu \n"
+"\"Animado > Memorilo\" al \"Dosieroj\", Åaltu \"Animado -> Konservi Proprajn "
+"Vojetojn\", poste re-enportu.\n"
+"Alterne, uzu enporto-antaÅ­elekton ke enportas animadojn al malkunajn "
+"dosierojn."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
+msgstr "Averto: Redaktanti importis animadon"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
msgstr ""
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Nur Elektaro"
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
-msgstr ""
+msgstr "Nur vidigi vojetojn el elektis nodojn en arbo."
#: editor/animation_track_editor.cpp
msgid "Group tracks by node or display them as plain list."
-msgstr ""
+msgstr "Grupigi vojetoj de nodo aÅ­ montri ilin kiel klara listo."
#: editor/animation_track_editor.cpp
msgid "Snap:"
-msgstr ""
+msgstr "Klako:"
#: editor/animation_track_editor.cpp
msgid "Animation step value."
-msgstr ""
+msgstr "Animado paÅo valoro."
#: editor/animation_track_editor.cpp
msgid "Seconds"
-msgstr ""
+msgstr "Sekundoj"
#: editor/animation_track_editor.cpp
msgid "FPS"
-msgstr ""
+msgstr "FPS"
#: editor/animation_track_editor.cpp editor/editor_properties.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -456,107 +481,107 @@ msgstr ""
#: editor/project_manager.cpp editor/project_settings_editor.cpp
#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
msgid "Edit"
-msgstr ""
+msgstr "Editori"
#: editor/animation_track_editor.cpp
msgid "Animation properties."
-msgstr ""
+msgstr "Animado atributoj."
#: editor/animation_track_editor.cpp
msgid "Copy Tracks"
-msgstr ""
+msgstr "Duplikati Vojetojn"
#: editor/animation_track_editor.cpp
msgid "Scale Selection"
-msgstr ""
+msgstr "Skali Elektaron"
#: editor/animation_track_editor.cpp
msgid "Scale From Cursor"
-msgstr ""
+msgstr "Skali El Kursoron"
#: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Duplicate Selection"
-msgstr ""
+msgstr "Duobligi Elektaron"
#: editor/animation_track_editor.cpp
msgid "Duplicate Transposed"
-msgstr ""
+msgstr "Duobligi Transmetis"
#: editor/animation_track_editor.cpp
msgid "Delete Selection"
-msgstr ""
+msgstr "Forigi Elektaron"
#: editor/animation_track_editor.cpp
msgid "Go to Next Step"
-msgstr ""
+msgstr "Iri al Neksta PaÅo"
#: editor/animation_track_editor.cpp
msgid "Go to Previous Step"
-msgstr ""
+msgstr "Iri al AntaÅ­a PaÅo"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
-msgstr ""
+msgstr "Optimigi Animadon"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation"
-msgstr ""
+msgstr "Senrubigi Animadon"
#: editor/animation_track_editor.cpp
msgid "Pick the node that will be animated:"
-msgstr ""
+msgstr "Elekti la nodon ke estos animatan:"
#: editor/animation_track_editor.cpp
msgid "Use Bezier Curves"
-msgstr ""
+msgstr "Uzu Bezier-kurbojn"
#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
-msgstr ""
+msgstr "Anim. Optimiganto"
#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
-msgstr ""
+msgstr "Maks. Lineara Eraro:"
#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
-msgstr ""
+msgstr "Maks. Angula Eraro:"
#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
-msgstr ""
+msgstr "Maks. Optimigebla Angulo:"
#: editor/animation_track_editor.cpp
msgid "Optimize"
-msgstr ""
+msgstr "Optimigi"
#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
-msgstr ""
+msgstr "Forigi Nevalidajn Åœlosilojn"
#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
-msgstr ""
+msgstr "Forigi maladrestrajn kaj malplenajn vojetojn"
#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
-msgstr ""
+msgstr "Senrubigi ciuĵn animadojn"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr ""
+msgstr "Senrubigi Animado(j)n (NE MALFARA!)"
#: editor/animation_track_editor.cpp
msgid "Clean-Up"
-msgstr ""
+msgstr "Senrubigi"
#: editor/animation_track_editor.cpp
msgid "Scale Ratio:"
-msgstr ""
+msgstr "Skali RejÅo:"
#: editor/animation_track_editor.cpp
msgid "Select tracks to copy:"
-msgstr ""
+msgstr "Elekti vojetojn por duplikati:"
#: editor/animation_track_editor.cpp editor/editor_log.cpp
#: editor/editor_properties.cpp
@@ -565,96 +590,96 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Copy"
-msgstr ""
+msgstr "Duplikati"
#: editor/animation_track_editor_plugins.cpp
msgid "Add Audio Track Clip"
-msgstr ""
+msgstr "Adici Aŭdio-Vojeton Eltondaĵon"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip Start Offset"
-msgstr ""
+msgstr "Aliigi AÅ­dio-Vojeton Eltondaĵon Komencon DeiÄon"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip End Offset"
-msgstr ""
+msgstr "Aliigi AÅ­dio-Vojeton Eltondaĵon Finon DeiÄon"
#: editor/array_property_edit.cpp
msgid "Resize Array"
-msgstr ""
+msgstr "Regrandigi Vicon"
#: editor/array_property_edit.cpp
msgid "Change Array Value Type"
-msgstr ""
+msgstr "Aliigi Vicanon-Tipon"
#: editor/array_property_edit.cpp
msgid "Change Array Value"
-msgstr ""
+msgstr "Aliigi Vicanon"
#: editor/code_editor.cpp
msgid "Go to Line"
-msgstr ""
+msgstr "Iri al Lineon"
#: editor/code_editor.cpp
msgid "Line Number:"
-msgstr ""
+msgstr "Lineo-Numeron:"
#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
-msgstr ""
+msgstr "Ne Rezultoj"
#: editor/code_editor.cpp
msgid "Replaced %d occurrence(s)."
-msgstr ""
+msgstr "AnstataÅ­igis %d apero(j)n."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
-msgstr ""
+msgstr "Kongrui Usklon"
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Whole Words"
-msgstr ""
+msgstr "Plenaj Vortoj"
#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
-msgstr ""
+msgstr "AnstataÅ­igi"
#: editor/code_editor.cpp
msgid "Replace All"
-msgstr ""
+msgstr "Anstataŭigi Ĉiujn"
#: editor/code_editor.cpp
msgid "Selection Only"
-msgstr ""
+msgstr "Nur Elektaro"
#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/text_editor.cpp
msgid "Standard"
-msgstr ""
+msgstr "Norma"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom In"
-msgstr ""
+msgstr "Zomi"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom Out"
-msgstr ""
+msgstr "Malzomi"
#: editor/code_editor.cpp
msgid "Reset Zoom"
-msgstr ""
+msgstr "Rekomencigi Zomon"
#: editor/code_editor.cpp modules/mono/editor/mono_bottom_panel.cpp
msgid "Warnings"
-msgstr ""
+msgstr "Avertoj"
#: editor/code_editor.cpp
msgid "Line and column numbers."
-msgstr ""
+msgstr "Lineoj kaj kolumnoj numeroj."
#: editor/connections_dialog.cpp
msgid "Method in target node must be specified."
@@ -708,9 +733,8 @@ msgid "Extra Call Arguments:"
msgstr ""
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Ekvilibra"
+msgstr "Altnivela"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -1274,7 +1298,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1314,9 +1338,8 @@ msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
-msgstr "Nevalida tipara grando."
+msgstr "Nevalida dosierindiko."
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
msgid "File does not exist."
@@ -1471,7 +1494,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1524,7 +1547,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1537,7 +1560,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1560,11 +1583,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2570,10 +2589,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2680,15 +2719,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Seninterrompa"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2976,20 +3016,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5053,6 +5093,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5953,10 +6000,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6193,11 +6248,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7715,51 +7765,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7767,203 +7773,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9590,6 +9420,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9618,7 +9452,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -9744,18 +9578,16 @@ msgid "Path is not local."
msgstr ""
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid base path."
-msgstr "Nevalida tipara grando."
+msgstr "Nevalida dosierindiko."
#: editor/script_create_dialog.cpp
msgid "A directory with the same name exists."
msgstr ""
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid extension."
-msgstr "Nevalida tipara grando."
+msgstr "Nevalida kromprogramo."
#: editor/script_create_dialog.cpp
msgid "Wrong extension chosen."
@@ -11007,6 +10839,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11254,7 +11093,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11267,12 +11110,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/es.po b/editor/translations/es.po
index b42801bf98..8ff4610eb5 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -44,8 +44,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
-"Last-Translator: roger <616steam@gmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:50+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"
@@ -53,7 +53,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -65,16 +65,15 @@ msgstr "El argumento para convert() no es correcto, utiliza constantes TYPE_*."
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr ""
-"O no hay suficientes bytes para decodificar bytes o el formato no es "
-"correcto."
+"No hay suficientes bytes para decodificar bytes, o el formato no es válido."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
-msgstr "Entrada inválida %i (no se transmitió) en la expresión"
+msgstr "Entrada inválida %i (no pasó) en la expresión"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr "self no puede ser usado ya que la instancia es nula (no pasó)"
+msgstr "No se puede usar self porque la instancia es nula (no pasó)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
@@ -114,9 +113,8 @@ msgid "Time:"
msgstr "Tiempo:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Valor"
+msgstr "Valor:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -140,40 +138,40 @@ msgstr "Mover Puntos Bezier"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr "Duplicar claves de animación"
+msgstr "Duplicar Claves de Animación"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
-msgstr "Borrar claves de animación"
+msgstr "Eliminar Claves de Animación"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
-msgstr "Cambiar el tiempo del fotograma clave de animación"
+msgstr "Cambiar Tiempo del Fotograma Clave de Animación"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr "Cambiar la transición de animación"
+msgstr "Cambiar Transición de Animación"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
-msgstr "Cambiar la transformación de la animación"
+msgstr "Cambiar Transformación de la Animación"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
-msgstr "Cambiar valor de la clave de animación"
+msgstr "Cambiar Valor de la Clave de Animación"
#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
-msgstr "Cambiar llamada de animación"
+msgstr "Cambiar Llamada de Animación"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
-msgstr "Cambiar duración de la animación"
+msgstr "Cambiar Duración de la Animación"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr "Cambiar repetición de animación"
+msgstr "Cambiar Loop de la Animación"
#: editor/animation_track_editor.cpp
msgid "Property Track"
@@ -226,11 +224,11 @@ msgstr "Clips de Audio:"
#: editor/animation_track_editor.cpp
msgid "Anim Clips:"
-msgstr "Clips de Anim:"
+msgstr "Clips de Animación:"
#: editor/animation_track_editor.cpp
msgid "Change Track Path"
-msgstr "Cambiar ruta de la pista"
+msgstr "Cambiar Ruta de la Pista"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
@@ -238,7 +236,7 @@ msgstr "Act./Desact. esta pista."
#: editor/animation_track_editor.cpp
msgid "Update Mode (How this property is set)"
-msgstr "Modo de Actualización (Como esta configurada esta propriedad)"
+msgstr "Modo de actualización (Cómo se establece)"
#: editor/animation_track_editor.cpp
msgid "Interpolation Mode"
@@ -246,11 +244,11 @@ msgstr "Modo de Interpolación"
#: editor/animation_track_editor.cpp
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr "Modo Loop Envolvente (Interpolar el final con el comienzo al loopear)"
+msgstr "Modo Loop Envolvente (Interpolar el final con el comienzo del loop)"
#: editor/animation_track_editor.cpp
msgid "Remove this track."
-msgstr "Quitar esta pista."
+msgstr "Eliminar esta pista."
#: editor/animation_track_editor.cpp
msgid "Time (s): "
@@ -300,7 +298,7 @@ msgstr "Interp de Loop Envolvente"
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr "Insertar clave"
+msgstr "Insertar Clave"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
@@ -324,7 +322,7 @@ msgstr "Cambiar Modo Loop de Animación"
#: editor/animation_track_editor.cpp
msgid "Remove Anim Track"
-msgstr "Quitar pista de animación"
+msgstr "Eliminar Pista de Animación"
#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
@@ -347,7 +345,7 @@ msgstr "Crear"
#: editor/animation_track_editor.cpp
msgid "Anim Insert"
-msgstr "Insertar animación"
+msgstr "Insertar Animación"
#: editor/animation_track_editor.cpp
msgid "AnimationPlayer can't animate itself, only other players."
@@ -359,11 +357,11 @@ msgstr "Crear e Insertar Animación"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
-msgstr "Insertar pista y clave de animación"
+msgstr "Insertar Pista y Clave de Animación"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
-msgstr "Insertar clave de animación"
+msgstr "Insertar Clave de Animación"
#: editor/animation_track_editor.cpp
msgid "Change Animation Step"
@@ -375,7 +373,8 @@ msgstr "Reordenar Pistas"
#: editor/animation_track_editor.cpp
msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr "Las pistas Transform solo aplican a nodos de tipo Spatial."
+msgstr ""
+"Las pistas de transformación sólo se aplican a los nodos basados en Spatial."
#: editor/animation_track_editor.cpp
msgid ""
@@ -452,7 +451,7 @@ msgstr "Pegar Pistas"
#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
-msgstr "Escalar claves de animación"
+msgstr "Escalar Claves de Animación"
#: editor/animation_track_editor.cpp
msgid ""
@@ -473,10 +472,28 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Esta animación pertenece a una escena importada, por lo que los cambios en "
+"las pistas importadas no se guardarán.\n"
+"\n"
+"Para habilitar la capacidad de añadir pistas personalizadas, ve a la "
+"configuración de importación de la escena y establece\n"
+"\"Animation > Storage\" a \"Files\", activa \"Animation > Keep Custom Tracks"
+"\", y luego reimporta.\n"
+"También puedes usar un preset de importación que importa animaciones para "
+"separar archivos."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Advertencia: Edición de animación importada"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Seleccionar Todo"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "Deseleccionar todo"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -521,43 +538,43 @@ msgstr "Copiar Pistas"
#: editor/animation_track_editor.cpp
msgid "Scale Selection"
-msgstr "Escalar selección"
+msgstr "Escalar Selección"
#: editor/animation_track_editor.cpp
msgid "Scale From Cursor"
-msgstr "Escalar desde cursor"
+msgstr "Escalar Desde Cursor"
#: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Duplicate Selection"
-msgstr "Duplicar selección"
+msgstr "Duplicar Selección"
#: editor/animation_track_editor.cpp
msgid "Duplicate Transposed"
-msgstr "Duplicar transpuesto"
+msgstr "Duplicar Transpuesto"
#: editor/animation_track_editor.cpp
msgid "Delete Selection"
-msgstr "Eliminar selección"
+msgstr "Eliminar Selección"
#: editor/animation_track_editor.cpp
msgid "Go to Next Step"
-msgstr "Ir al paso siguiente"
+msgstr "Ir al Paso Siguiente"
#: editor/animation_track_editor.cpp
msgid "Go to Previous Step"
-msgstr "Ir al paso anterior"
+msgstr "Ir al Paso Anterior"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
-msgstr "Optimizar animación"
+msgstr "Optimizar Animación"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation"
-msgstr "Limpiar animación"
+msgstr "Limpiar Animación"
#: editor/animation_track_editor.cpp
msgid "Pick the node that will be animated:"
-msgstr "Elegí el nodo que será animado:"
+msgstr "Selecciona el nodo que será animado:"
#: editor/animation_track_editor.cpp
msgid "Use Bezier Curves"
@@ -565,19 +582,19 @@ msgstr "Usar Curvas Bezier"
#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
-msgstr "Optimizador de animación"
+msgstr "Optimizador de Animación"
#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
-msgstr "Error lineal máximo:"
+msgstr "Error Lineal Máximo:"
#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
-msgstr "Error angular máximo:"
+msgstr "Error Angular Máximo:"
#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
-msgstr "Ãngulo optimizable máximo:"
+msgstr "Ãngulo Optimizable Máximo:"
#: editor/animation_track_editor.cpp
msgid "Optimize"
@@ -585,11 +602,11 @@ msgstr "Optimizar"
#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
-msgstr "Quitar claves incorrectas"
+msgstr "Eliminar claves incorrectas"
#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
-msgstr "Quitar pistas vacías y sin resolver"
+msgstr "Eliminar pistas vacías y sin resolver"
#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
@@ -597,7 +614,7 @@ msgstr "Limpiar todas las animaciones"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr "Limpiar las animación(es) (¡IRREVERSIBLE!)"
+msgstr "Limpiar Animación(es) (¡NO SE PUEDE DESHACER!)"
#: editor/animation_track_editor.cpp
msgid "Clean-Up"
@@ -605,7 +622,7 @@ msgstr "Limpiar"
#: editor/animation_track_editor.cpp
msgid "Scale Ratio:"
-msgstr "Relación de escala:"
+msgstr "Ratio de Escala:"
#: editor/animation_track_editor.cpp
msgid "Select tracks to copy:"
@@ -626,35 +643,35 @@ msgstr "Añadir Clip de Pista de Audio"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip Start Offset"
-msgstr "Cambiar Desplazamiento de Inicio de Clip de Pista de Audio"
+msgstr "Cambiar Offset de Inicio de Clip de Pista de Audio"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip End Offset"
-msgstr "Cambiar Desplazamiento Final del Clip de Pista de Audio"
+msgstr "Cambiar Offset Final del Clip de Pista de Audio"
#: editor/array_property_edit.cpp
msgid "Resize Array"
-msgstr "Redimensionar array"
+msgstr "Redimensionar Array"
#: editor/array_property_edit.cpp
msgid "Change Array Value Type"
-msgstr "Cambiar tipo de valor del array"
+msgstr "Cambiar Tipo de Valor del Array"
#: editor/array_property_edit.cpp
msgid "Change Array Value"
-msgstr "Cambiar valor del array"
+msgstr "Cambiar Valor del Array"
#: editor/code_editor.cpp
msgid "Go to Line"
-msgstr "Ir a línea"
+msgstr "Ir a Línea"
#: editor/code_editor.cpp
msgid "Line Number:"
-msgstr "Número de línea:"
+msgstr "Número de Línea:"
#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
-msgstr "Sin coincidencias"
+msgstr "Sin Coincidencias"
#: editor/code_editor.cpp
msgid "Replaced %d occurrence(s)."
@@ -666,7 +683,7 @@ msgstr "Coincidir mayús/minúsculas"
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Whole Words"
-msgstr "Palabras completas"
+msgstr "Palabras Completas"
#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
@@ -674,7 +691,7 @@ msgstr "Reemplazar"
#: editor/code_editor.cpp
msgid "Replace All"
-msgstr "Reemplazar todo"
+msgstr "Reemplazar Todo"
#: editor/code_editor.cpp
msgid "Selection Only"
@@ -689,17 +706,17 @@ msgstr "Estándar"
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom In"
-msgstr "Acercar"
+msgstr "Acercar Zoom"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom Out"
-msgstr "Alejar"
+msgstr "Alejar Zoom"
#: editor/code_editor.cpp
msgid "Reset Zoom"
-msgstr "Restablecer zoom"
+msgstr "Restablecer Zoom"
#: editor/code_editor.cpp modules/mono/editor/mono_bottom_panel.cpp
msgid "Warnings"
@@ -710,38 +727,32 @@ msgid "Line and column numbers."
msgstr "Números de línea y columna."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "¡Debes establecer un método en el nodo seleccionado!"
+msgstr "Se debe establecer un método en el nodo destino."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"¡Método objetivo no encontrado! Especifica un método válido o añade un "
-"script al nodo objetivo."
+"Método objetivo no encontrado. Especifica un método válido o añade un script "
+"al nodo de destino."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
-msgstr "Conectar a nodo:"
+msgstr "Conectar al Nodo:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "No se puede conectar al host:"
+msgstr "Conectar al Script:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Señales:"
+msgstr "Desde la Señal:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "El nodo no posee geometría."
+msgstr "La escena no contiene ningún script."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -758,7 +769,7 @@ msgstr "Añadir"
#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
-msgstr "Quitar"
+msgstr "Eliminar"
#: editor/connections_dialog.cpp
msgid "Add Extra Call Argument:"
@@ -769,9 +780,8 @@ msgid "Extra Call Arguments:"
msgstr "Argumentos extras de llamada:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Opciones avanzadas"
+msgstr "Avanzado"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -781,6 +791,8 @@ msgstr "Diferido"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Difiere la señal, la almacena en una cola y sólo la ejecuta en tiempo de "
+"inactividad."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -788,12 +800,11 @@ msgstr "OneShot"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Desconecta la señal después de su primera emisión."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Conectar Señal: "
+msgstr "No se puede conectar la señal"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -835,19 +846,17 @@ msgid "Disconnect"
msgstr "Desconectar"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Conectar Señal: "
+msgstr "Conectar una Señal a un Método"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Editar Conexión: "
+msgstr "Editar Conexión:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr ""
-"¿Estás seguro/a que quieres quitar todas las conexiones de la señal \"%s\"?"
+"¿Estás seguro/a que quieres eliminar todas las conexiones de la señal \"%s\"?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
@@ -855,7 +864,8 @@ msgstr "Señales"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from this signal?"
-msgstr "¿Estás seguro/a que quieres quitar todas las conexiones de esta señal?"
+msgstr ""
+"¿Estás seguro/a que quieres eliminar todas las conexiones de esta señal?"
#: editor/connections_dialog.cpp
msgid "Disconnect All"
@@ -879,7 +889,7 @@ msgstr "Cambiar"
#: editor/create_dialog.cpp
msgid "Create New %s"
-msgstr "Crear nuevo %s"
+msgstr "Crear Nuevo %s"
#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
#: editor/filesystem_dock.cpp
@@ -912,29 +922,27 @@ msgstr "Descripción:"
#: editor/dependency_editor.cpp
msgid "Search Replacement For:"
-msgstr "Buscar reemplazo para:"
+msgstr "Buscar Reemplazo Para:"
#: editor/dependency_editor.cpp
msgid "Dependencies For:"
-msgstr "Dependencias para:"
+msgstr "Dependencias Para:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Estás editando la escena «%s».\n"
-"Por lo que los cambios no tendrán efecto hasta que recargues."
+"La escena '%s' está siendo editada.\n"
+"Los cambios no tendrán efecto hasta que recargues."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Se está usando el recurso «%s».\n"
-"Por lo que los cambios no tendrán efecto hasta que recargues."
+"El recurso '%s' está en uso.\n"
+"Los cambios no tendrán efecto hasta que recargues."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -956,15 +964,15 @@ msgstr "Dependencias:"
#: editor/dependency_editor.cpp
msgid "Fix Broken"
-msgstr "Arreglar rota(s)"
+msgstr "Corregir Errores"
#: editor/dependency_editor.cpp
msgid "Dependency Editor"
-msgstr "Editor de dependencias"
+msgstr "Editor de Dependencias"
#: editor/dependency_editor.cpp
msgid "Search Replacement Resource:"
-msgstr "Buscar recurso de reemplazo:"
+msgstr "Buscar Recurso de Reemplazo:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
@@ -978,11 +986,11 @@ msgstr "Abrir"
#: editor/dependency_editor.cpp
msgid "Owners Of:"
-msgstr "Propietarios de:"
+msgstr "Propietarios De:"
#: editor/dependency_editor.cpp
msgid "Remove selected files from the project? (no undo)"
-msgstr "¿Quitar los archivos seleccionados del proyecto? (irreversible)"
+msgstr "¿Eliminar los archivos seleccionados del proyecto? (irreversible)"
#: editor/dependency_editor.cpp
msgid ""
@@ -992,7 +1000,7 @@ msgid ""
msgstr ""
"Otros recursos necesitan los archivos que estás intentando quitar para "
"funcionar.\n"
-"¿Quitarlos de todos modos? (irreversible)"
+"¿Eliminarlos de todos modos? (irreversible)"
#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
@@ -1008,32 +1016,31 @@ msgstr "Falló la carga debido a dependencias faltantes:"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Open Anyway"
-msgstr "Abrir de todos modos"
+msgstr "Abrir Igualmente"
#: editor/dependency_editor.cpp
msgid "Which action should be taken?"
-msgstr "¿Qué es lo que quieres hacer?"
+msgstr "¿Qué acciones se deberían tomar?"
#: editor/dependency_editor.cpp
msgid "Fix Dependencies"
-msgstr "Arreglar dependencias"
+msgstr "Corregir Dependencias"
#: editor/dependency_editor.cpp
msgid "Errors loading!"
-msgstr "¡Hubo errores al cargar!"
+msgstr "¡Errores al cargar!"
#: editor/dependency_editor.cpp
msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr "¿Eliminar permanentemente %d elemento(s)? (¡Irreversible!)"
+msgstr "¿Eliminar permanentemente %d ítem(s)? (¡No se puede deshacer!)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Dependencias"
+msgstr "Mostrar Dependencias"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
-msgstr "Explorador de recursos huérfanos"
+msgstr "Explorador de Recursos Huérfanos"
#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
@@ -1049,15 +1056,15 @@ msgstr "Propietario"
#: editor/dependency_editor.cpp
msgid "Resources Without Explicit Ownership:"
-msgstr "Recursos sin propietario explícito:"
+msgstr "Recursos Sin Propietario Explícito:"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Key"
-msgstr "Cambiar clave del diccionario"
+msgstr "Cambiar Clave del Diccionario"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Value"
-msgstr "Cambiar valor del diccionario"
+msgstr "Cambiar Valor del Diccionario"
#: editor/editor_about.cpp
msgid "Thanks from the Godot community!"
@@ -1069,15 +1076,15 @@ msgstr "Contribuidores de Godot"
#: editor/editor_about.cpp
msgid "Project Founders"
-msgstr "Fundadores del proyecto"
+msgstr "Fundadores del Proyecto"
#: editor/editor_about.cpp
msgid "Lead Developer"
-msgstr "Desarrollador principal"
+msgstr "Desarrollador Principal"
#: editor/editor_about.cpp
msgid "Project Manager "
-msgstr "Administrador del proyecto "
+msgstr "Administrador del Proyecto "
#: editor/editor_about.cpp
msgid "Developers"
@@ -1089,27 +1096,27 @@ msgstr "Autores"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr "Patrocinadores de platino"
+msgstr "Patrocinadores Platino"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr "Patrocinadores de oro"
+msgstr "Patrocinadores Oro"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr "Mini patrocinadores"
+msgstr "Mini Patrocinadores"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr "Donantes de oro"
+msgstr "Donantes Oro"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr "Donantes de plata"
+msgstr "Donantes Plata"
#: editor/editor_about.cpp
msgid "Bronze Donors"
-msgstr "Donantes de bronce"
+msgstr "Donantes Bronce"
#: editor/editor_about.cpp
msgid "Donors"
@@ -1121,7 +1128,7 @@ msgstr "Licencia"
#: editor/editor_about.cpp
msgid "Thirdparty License"
-msgstr "Licencia de terceros"
+msgstr "Licencia de Terceros"
#: editor/editor_about.cpp
msgid ""
@@ -1137,7 +1144,7 @@ msgstr ""
#: editor/editor_about.cpp
msgid "All Components"
-msgstr "Todos los componentes"
+msgstr "Todos los Componentes"
#: editor/editor_about.cpp
msgid "Components"
@@ -1153,7 +1160,7 @@ msgstr "Error al abrir el archivo empaquetado, no tiene formato zip."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
-msgstr "Descomprimiendo assets"
+msgstr "Descomprimiendo Assets"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Package installed successfully!"
@@ -1162,7 +1169,7 @@ msgstr "¡Paquete instalado con éxito!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Success!"
-msgstr "¡Finalizado!"
+msgstr "¡Éxito!"
#: editor/editor_asset_installer.cpp editor/editor_node.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -1179,43 +1186,43 @@ msgstr "Altavoces"
#: editor/editor_audio_buses.cpp
msgid "Add Effect"
-msgstr "Añadir efecto"
+msgstr "Añadir Efecto"
#: editor/editor_audio_buses.cpp
msgid "Rename Audio Bus"
-msgstr "Renombrar bus de audio"
+msgstr "Renombrar Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Change Audio Bus Volume"
-msgstr "Cambiar volumen de bus de audio"
+msgstr "Cambiar Volumen de Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Solo"
-msgstr "Act/desact. solo de bus de audio"
+msgstr "Act./Desact. Solo de Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Mute"
-msgstr "Act/desact. silencio de bus de audio"
+msgstr "Act./Desact. Silencio de Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Bypass Effects"
-msgstr "Act/desact. puenteado de efectos de bus de audio"
+msgstr "Act./Desact. Bypass de Efectos de Audio Bus"
#: editor/editor_audio_buses.cpp
msgid "Select Audio Bus Send"
-msgstr "Seleccionar envío de bus de audio"
+msgstr "Seleccionar Envío de Audio Bus"
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus Effect"
-msgstr "Añadir efecto de bus de audio"
+msgstr "Añadir Efecto de Audio Bus"
#: editor/editor_audio_buses.cpp
msgid "Move Bus Effect"
-msgstr "Mover efecto de bus"
+msgstr "Mover Efecto de Bus"
#: editor/editor_audio_buses.cpp
msgid "Delete Bus Effect"
-msgstr "Eliminar efecto de bus"
+msgstr "Eliminar Efecto de Bus"
#: editor/editor_audio_buses.cpp
msgid "Audio Bus, Drag and Drop to rearrange."
@@ -1235,7 +1242,7 @@ msgstr "Bypass"
#: editor/editor_audio_buses.cpp
msgid "Bus options"
-msgstr "Opciones del bus"
+msgstr "Opciones de Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
@@ -1244,11 +1251,11 @@ msgstr "Duplicar"
#: editor/editor_audio_buses.cpp
msgid "Reset Volume"
-msgstr "Restablecer volumen"
+msgstr "Restablecer Volumen"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
-msgstr "Eliminar efecto"
+msgstr "Eliminar Efecto"
#: editor/editor_audio_buses.cpp
msgid "Audio"
@@ -1256,7 +1263,7 @@ msgstr "Audio"
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus"
-msgstr "Añadir bus de audio"
+msgstr "Añadir Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Master bus can't be deleted!"
@@ -1264,51 +1271,51 @@ msgstr "¡No se puede borrar el bus maestro!"
#: editor/editor_audio_buses.cpp
msgid "Delete Audio Bus"
-msgstr "Borrar bus de audio"
+msgstr "Eliminar Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Duplicate Audio Bus"
-msgstr "Duplicar bus de audio"
+msgstr "Duplicar Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Reset Bus Volume"
-msgstr "Restablecer volumen de bus"
+msgstr "Restablecer Volumen de Bus"
#: editor/editor_audio_buses.cpp
msgid "Move Audio Bus"
-msgstr "Mover bus de audio"
+msgstr "Mover Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Save Audio Bus Layout As..."
-msgstr "Guardar configuración de Bus de Audio como..."
+msgstr "Guardar Layout de Bus de Audio Como..."
#: editor/editor_audio_buses.cpp
msgid "Location for New Layout..."
-msgstr "Ubicación para nueva configuración..."
+msgstr "Ubicación para el Nuevo Layout..."
#: editor/editor_audio_buses.cpp
msgid "Open Audio Bus Layout"
-msgstr "Abrir configuración de bus de audio"
+msgstr "Abrir Layout de Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "No hay ningún archivo `%s'."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
-msgstr "Disposición"
+msgstr "Layout"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
-msgstr "Archivo inválido, no es una configuración de bus de audio."
+msgstr "Archivo inválido. No es un layout de bus de audio."
#: editor/editor_audio_buses.cpp
msgid "Add Bus"
-msgstr "Añadir bus"
+msgstr "Añadir Bus"
#: editor/editor_audio_buses.cpp
msgid "Add a new Audio Bus to this layout."
-msgstr "Añade un nuevo Bus de Audio a esta configuración."
+msgstr "Añade un nuevo Bus de Audio a este layout."
#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
@@ -1318,27 +1325,27 @@ msgstr "Cargar"
#: editor/editor_audio_buses.cpp
msgid "Load an existing Bus Layout."
-msgstr "Cargar una configuración de bus existente."
+msgstr "Cargar un Bus Layout existente."
#: editor/editor_audio_buses.cpp
msgid "Save As"
-msgstr "Guardar como"
+msgstr "Guardar Como"
#: editor/editor_audio_buses.cpp
msgid "Save this Bus Layout to a file."
-msgstr "Guardar la configuración de este bus a un archivo."
+msgstr "Guardar este Bus Layout a un archivo."
#: editor/editor_audio_buses.cpp editor/import_dock.cpp
msgid "Load Default"
-msgstr "Cargar ajuste predeterminado"
+msgstr "Cargar Valores por Defecto"
#: editor/editor_audio_buses.cpp
msgid "Load the default Bus Layout."
-msgstr "Cargar configuración de bus por defecto."
+msgstr "Cargar el Bus Layout predeterminado."
#: editor/editor_audio_buses.cpp
msgid "Create a new Bus Layout."
-msgstr "Crear nueva configuración de bus."
+msgstr "Crear un nuevo Bus Layout."
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -1346,36 +1353,28 @@ msgstr "Nombre inválido."
#: editor/editor_autoload_settings.cpp
msgid "Valid characters:"
-msgstr "Letras válidas:"
+msgstr "Caracteres válidos:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"Nombre inválido. No debe coincidir con el nombre de una clase que ya exista "
-"en el motor gráfico."
+msgstr "No debe coincidir con el nombre de una clase ya existente del motor."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr ""
-"Nombre inválido. No debe coincidir con un nombre de tipo que ya esté "
-"integrado en el motor gráfico."
+msgid "Must not collide with an existing built-in type name."
+msgstr "No debe coincidir con un nombre de tipo buit-in existente."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr ""
-"Nombre inválido. No debe coincidir con un nombre de constante global ya "
-"existente en el motor gráfico."
+msgstr "No debe coincidir con una constante global existente."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "La palabra clave no se puede utilizar como nombre de autoload."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
-msgstr "¡El fichero «%s» ya existe!"
+msgstr "¡Autoload «%s» ya existe!"
#: editor/editor_autoload_settings.cpp
msgid "Rename Autoload"
@@ -1383,7 +1382,7 @@ msgstr "Renombrar Autoload"
#: editor/editor_autoload_settings.cpp
msgid "Toggle AutoLoad Globals"
-msgstr "Act/desact. globales de Autoload"
+msgstr "Act./Desact. Globales de Autoload"
#: editor/editor_autoload_settings.cpp
msgid "Move Autoload"
@@ -1391,7 +1390,7 @@ msgstr "Mover Autoload"
#: editor/editor_autoload_settings.cpp
msgid "Remove Autoload"
-msgstr "Quitar Autoload"
+msgstr "Eliminar Autoload"
#: editor/editor_autoload_settings.cpp
msgid "Enable"
@@ -1402,7 +1401,6 @@ msgid "Rearrange Autoloads"
msgstr "Reordenar Autoloads"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "Ruta inválida."
@@ -1425,7 +1423,7 @@ msgstr "Ruta:"
#: editor/editor_autoload_settings.cpp
msgid "Node Name:"
-msgstr "Nombre del nodo:"
+msgstr "Nombre del Nodo:"
#: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp
#: editor/editor_profiler.cpp editor/settings_config_dialog.cpp
@@ -1438,7 +1436,7 @@ msgstr "Singleton"
#: editor/editor_data.cpp
msgid "Updating Scene"
-msgstr "Actualizando escena"
+msgstr "Actualizando Escena"
#: editor/editor_data.cpp
msgid "Storing local changes..."
@@ -1457,9 +1455,8 @@ msgid "[unsaved]"
msgstr "[sin guardar]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Por favor, selecciona primero un directorio base"
+msgstr "Por favor, selecciona primero un directorio base."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1469,7 +1466,7 @@ msgstr "Selecciona un directorio"
#: editor/filesystem_dock.cpp editor/project_manager.cpp
#: scene/gui/file_dialog.cpp
msgid "Create Folder"
-msgstr "Crear carpeta"
+msgstr "Crear Carpeta"
#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp
@@ -1489,7 +1486,7 @@ msgstr "Elegir"
#: editor/editor_export.cpp
msgid "Storing File:"
-msgstr "Archivo de almacenamiento:"
+msgstr "Archivo de Almacenamiento:"
#: editor/editor_export.cpp
msgid "No export template found at the expected path:"
@@ -1545,121 +1542,109 @@ msgid "Template file not found:"
msgstr "Archivo de plantilla no encontrado:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Editor"
+msgstr "3D Editor"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Abrir editor de script"
+msgstr "Editor de Script"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Abrir biblioteca de assets"
+msgstr "Biblioteca de Assets"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Ãrbol de escenas (nodos):"
+msgstr "Editor del Ãrbol de Escenas"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Importar"
+msgstr "Importación"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Nodo Movido"
+msgstr "Nodos"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Sistema de Archivos"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Reemplazar todo (no se puede deshacer)"
+msgstr "¿Borrar perfil '%s'? (no se puede deshacer)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
msgstr ""
+"El perfil debe tener un nombre de archivo válido y no debe contener '.'"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Ya existe un archivo o carpeta con este nombre."
+msgstr "Ya existe un perfil con este nombre."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Editor Desactivado, Propiedades Desactivadas)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Solo Propiedades"
+msgstr "(Propiedades Desactivadas)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Clip deshabilitado"
+msgstr "(Editor Desactivado)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Descripción de la Clase:"
+msgstr "Opciones de Clase:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Abrir editor siguiente"
+msgstr "Activar el Editor Contextual"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Propiedades:"
+msgstr "Propiedades Activadas:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Características"
+msgstr "Características Activadas:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Buscar clases"
+msgstr "Clases Activadas:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
msgstr ""
+"El formato '%s' del archivo no es válido, la importación ha sido cancelada."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"El perfil '%s' ya existe. Elimínalo primero antes de importar, importación "
+"abortada."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Error al cargar la plantilla '%s'"
+msgstr "Error al guardar el perfil en la ruta: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "Desactivar"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Versión actual:"
+msgid "Current Profile:"
+msgstr "Perfil Actual"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Actual:"
+msgstr "Hacer Actual"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1678,47 +1663,36 @@ msgstr "Exportar"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Nodos disponibles:"
+msgid "Available Profiles:"
+msgstr "Perfiles Disponibles"
#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Buscar clases"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Descripción de la Clase"
+msgstr "Opciones de Clases"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Nuevo nombre:"
+msgstr "Nuevo nombre de perfil:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Borrar área"
+msgstr "Borrar Perfil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Proyecto importado"
+msgstr "Importar Perfil(es)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Exportar proyecto"
+msgstr "Exportar Perfil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "Cargar plantillas de exportación"
+msgstr "Administrar Perfiles de Características del Editor"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
-msgstr "Seleccionar carpeta actual"
+msgstr "Seleccionar Carpeta Actual"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "File Exists, Overwrite?"
@@ -1726,11 +1700,11 @@ msgstr "El archivo ya existe ¿Quieres sobreescribirlo?"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select This Folder"
-msgstr "Seleccionar esta carpeta"
+msgstr "Seleccionar Esta Carpeta"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "Copy Path"
-msgstr "Copiar ruta"
+msgstr "Copiar Ruta"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "Open in File Manager"
@@ -1743,7 +1717,7 @@ msgstr "Mostrar en Explorador de Archivos"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "New Folder..."
-msgstr "Nueva carpeta..."
+msgstr "Nueva Carpeta..."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Refresh"
@@ -1751,23 +1725,23 @@ msgstr "Recargar"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "All Recognized"
-msgstr "Reconocidos"
+msgstr "Todos Reconocidos"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "All Files (*)"
-msgstr "Todos los archivos (*)"
+msgstr "Todos los Archivos (*)"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a File"
-msgstr "Abrir un archivo"
+msgstr "Abrir un Archivo"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open File(s)"
-msgstr "Abrir archivo(s)"
+msgstr "Abrir Archivo(s)"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a Directory"
-msgstr "Abrir un directorio"
+msgstr "Abrir un Directorio"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a File or Directory"
@@ -1782,7 +1756,7 @@ msgstr "Guardar"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Save a File"
-msgstr "Guardar un archivo"
+msgstr "Guardar un Archivo"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
@@ -1798,11 +1772,11 @@ msgstr "Subir"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Toggle Hidden Files"
-msgstr "Ver/ocultar archivos ocultos"
+msgstr "Act./Desact. Archivos Ocultos"
#: editor/editor_file_dialog.cpp
msgid "Toggle Favorite"
-msgstr "Añadir/quitar favorito"
+msgstr "Act./Desact. Favorito"
#: editor/editor_file_dialog.cpp
msgid "Toggle Mode"
@@ -1810,7 +1784,7 @@ msgstr "Cambiar Modo"
#: editor/editor_file_dialog.cpp
msgid "Focus Path"
-msgstr "Seleccionar ruta"
+msgstr "Foco en Ruta"
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Up"
@@ -1834,16 +1808,15 @@ msgstr "Ir a la carpeta padre."
#: editor/editor_file_dialog.cpp
msgid "(Un)favorite current folder."
-msgstr "Quitar carpeta actual de favoritos."
+msgstr "Eliminar carpeta actual de favoritos."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Ver/ocultar archivos ocultos"
+msgstr "Ver/Ocultar archivos ocultos."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
-msgstr "Ver ítems como una cuadrícula de miniaturas."
+msgstr "Ver ítems como un grid de miniaturas."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a list."
@@ -1851,13 +1824,13 @@ msgstr "Ver ítems como una lista."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
-msgstr "Directorios y archivos:"
+msgstr "Directorios y Archivos:"
#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
#: editor/plugins/style_box_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
msgid "Preview:"
-msgstr "Vista previa:"
+msgstr "Vista Previa:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "File:"
@@ -1869,17 +1842,19 @@ msgstr "Debe tener una extensión válida."
#: editor/editor_file_system.cpp
msgid "ScanSources"
-msgstr "Analizando fuentes"
+msgstr "Escanear Fuentes"
#: editor/editor_file_system.cpp
msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"Hay varios importadores para diferentes tipos que apuntan al archivo %s, "
+"importación abortada"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
-msgstr "(Re)Importando assets"
+msgstr "(Re)Importando Assets"
#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Top"
@@ -1899,7 +1874,7 @@ msgstr "Heredada por:"
#: editor/editor_help.cpp
msgid "Brief Description:"
-msgstr "Descripción breve:"
+msgstr "Descripción Breve:"
#: editor/editor_help.cpp
msgid "Properties"
@@ -1967,33 +1942,33 @@ msgid ""
"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
"url][/color]."
msgstr ""
-"Actualmente no hay tutoriales para esta clase, puedes [color=$color][url="
-"$url]aportar uno[/url][/color] o [color=$color][url=$url2]pedir uno[color="
-"$color][url=$url2]."
+"Actualmente no existen tutoriales para esta clase, puedes [color=$color][url="
+"$url]contribuir uno[/url][/color] o [color=$color][url=$url2]solicitar uno[/"
+"url][/color]."
#: editor/editor_help.cpp
msgid "Property Descriptions"
-msgstr "Descripción de la propiedad"
+msgstr "Descripción de Propiedades"
#: editor/editor_help.cpp
msgid "Property Descriptions:"
-msgstr "Descripción de la propiedad:"
+msgstr "Descripción de Propiedades:"
#: editor/editor_help.cpp
msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"Actualmente no hay una descripción para esta propiedad. Por favor, ¡ayúdanos "
-"[color=$color][url=$url]aportando una[/url][/color]!"
+"Actualmente no existe descripción para esta propiedad. Por favor ¡ayúdanos "
+"[color=$color][url=$url]contribuyendo una[/url][/color]!"
#: editor/editor_help.cpp
msgid "Method Descriptions"
-msgstr "Descripción de Método"
+msgstr "Descripción de Métodos"
#: editor/editor_help.cpp
msgid "Method Descriptions:"
-msgstr "Descripciones del método:"
+msgstr "Descripción de Métodos:"
#: editor/editor_help.cpp
msgid ""
@@ -2001,28 +1976,31 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
"Actualmente no hay una descripción para este método. Por favor, ¡ayúdanos "
-"[color=$color][url=$url]aportando una[/url][/color]!"
+"[color=$color][url=$url]aportando una[/url][/color]!\n"
+"\n"
+"Actualmente no existe descripción para este método. Por favor ¡ayúdanos "
+"[color=$color][url=$url]contribuyendo una[/url][/color]!"
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
msgid "Search Help"
-msgstr "Ayuda de búsqueda"
+msgstr "Buscar en la Ayuda"
#: editor/editor_help_search.cpp
msgid "Display All"
-msgstr "Mostrar todos"
+msgstr "Mostrar Todos"
#: editor/editor_help_search.cpp
msgid "Classes Only"
-msgstr "Solo clases"
+msgstr "Solo Clases"
#: editor/editor_help_search.cpp
msgid "Methods Only"
-msgstr "Solo métodos"
+msgstr "Solo Métodos"
#: editor/editor_help_search.cpp
msgid "Signals Only"
-msgstr "Solo señales"
+msgstr "Solo Señales"
#: editor/editor_help_search.cpp
msgid "Constants Only"
@@ -2072,11 +2050,11 @@ msgstr "Copiar Selección"
#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Clear"
-msgstr "Borrar todo"
+msgstr "Limpiar"
#: editor/editor_log.cpp
msgid "Clear Output"
-msgstr "Borrar salida"
+msgstr "Limpiar Salida"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -2105,7 +2083,7 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Save Resource As..."
-msgstr "Guardar recurso como..."
+msgstr "Guardar Recurso Como..."
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
@@ -2113,7 +2091,7 @@ msgstr "No se puede abrir el archivo para escribir:"
#: editor/editor_node.cpp
msgid "Requested file format unknown:"
-msgstr "Formato de archivo desconocido:"
+msgstr "Formato de archivo requerido desconocido:"
#: editor/editor_node.cpp
msgid "Error while saving."
@@ -2134,7 +2112,7 @@ msgstr "Fin de archivo '%s' inesperado."
#: editor/editor_node.cpp
msgid "Missing '%s' or its dependencies."
-msgstr "La escena '%s' tiene dependencias rotas."
+msgstr "No se encuentra '%s' o sus dependencias."
#: editor/editor_node.cpp
msgid "Error while loading '%s'."
@@ -2142,7 +2120,7 @@ msgstr "Error al cargar '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
-msgstr "Guardar escena"
+msgstr "Guardar Escena"
#: editor/editor_node.cpp
msgid "Analyzing"
@@ -2150,7 +2128,7 @@ msgstr "Analizando"
#: editor/editor_node.cpp
msgid "Creating Thumbnail"
-msgstr "Creando miniatura"
+msgstr "Creando Miniatura"
#: editor/editor_node.cpp
msgid "This operation can't be done without a tree root."
@@ -2170,8 +2148,8 @@ msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
-"No se pudo guardar la escena. Las dependencias (instancias o herencia) no se "
-"pudieron resolver."
+"No se pudo guardar la escena. Las posibles dependencias (instancias o "
+"herencias) no se pudieron resolver."
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "Can't overwrite scene that is still open!"
@@ -2187,7 +2165,7 @@ msgstr "¡Error al guardar la MeshLibrary!"
#: editor/editor_node.cpp
msgid "Can't load TileSet for merging!"
-msgstr "¡No se puede cargar TileSet para poder unir los datos!"
+msgstr "¡No se puede cargar TileSet para la combinación!"
#: editor/editor_node.cpp
msgid "Error saving TileSet!"
@@ -2195,19 +2173,19 @@ msgstr "¡Error al guardar el TileSet!"
#: editor/editor_node.cpp
msgid "Error trying to save layout!"
-msgstr "¡Hubo un problema al intentar guardar los ajustes!"
+msgstr "¡Error al guardar el layout!"
#: editor/editor_node.cpp
msgid "Default editor layout overridden."
-msgstr "Se han sobrescrito los ajustes predeterminados del editor."
+msgstr "Se ha sobreescrito el layout del editor por defecto."
#: editor/editor_node.cpp
msgid "Layout name not found!"
-msgstr "¡Nombre del ajuste no encontrado!"
+msgstr "¡Nombre de layout no encontrado!"
#: editor/editor_node.cpp
msgid "Restored default layout to base settings."
-msgstr "Se han restaurado los ajustes predeterminados."
+msgstr "Se restauró el layout por defecto a su configuración básica."
#: editor/editor_node.cpp
msgid ""
@@ -2220,7 +2198,6 @@ msgstr ""
"entender mejor el flujo de trabajo."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
@@ -2238,28 +2215,26 @@ msgstr ""
"ajustes en el panel de importación e impórtalo de nuevo."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"Esta escena ha sido importada, por lo tanto, los cambios no se mantendrán.\n"
-"Instanciarla o heredarla permitirá hacerle cambios.\n"
-"Por favor, lee la documentación referente a la importación de escenas para "
-"entender mejor el flujo de trabajo."
+"Esta escena fue importada, por lo que los cambios no se mantendrán.\n"
+"Instanciarla o heredarla permitirá realizar cambios en esta.\n"
+"Por favor, lee la documentación relevante para importar escenas para "
+"entender mejor este flujo de trabajo."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
-"Este es un objeto remoto, por lo tanto, los cambios no se mantendrán.\n"
-"Por favor, lee la documentación referente a la depuración para entender "
-"mejor el flujo de trabajo."
+"Este es un objeto remoto, por lo que los cambios en él no se mantendrán.\n"
+"Por favor, lee la documentación relativa a la depuración para entender mejor "
+"el flujo de trabajo."
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -2276,28 +2251,27 @@ msgstr "¡No se pudo comenzar el subproceso!"
#: editor/editor_node.cpp editor/filesystem_dock.cpp
msgid "Open Scene"
-msgstr "Abrir escena"
+msgstr "Abrir Escena"
#: editor/editor_node.cpp
msgid "Open Base Scene"
-msgstr "Abrir escena base"
+msgstr "Abrir Escena Base"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Apertura rápida de escena..."
+msgstr "Apertura Rápida..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
-msgstr "Apertura rápida de escena..."
+msgstr "Apertura Rápida de Escena..."
#: editor/editor_node.cpp
msgid "Quick Open Script..."
-msgstr "Apertura rápida de script..."
+msgstr "Apertura Rápida de Script..."
#: editor/editor_node.cpp
msgid "Save & Close"
-msgstr "Guardar y cerrar"
+msgstr "Guardar y Cerrar"
#: editor/editor_node.cpp
msgid "Save changes to '%s' before closing?"
@@ -2313,7 +2287,7 @@ msgstr "Se necesita un nodo raíz para guardar la escena."
#: editor/editor_node.cpp
msgid "Save Scene As..."
-msgstr "Guardar escena como..."
+msgstr "Guardar Escena Como..."
#: editor/editor_node.cpp
msgid "No"
@@ -2362,13 +2336,11 @@ msgstr "Revertir"
#: editor/editor_node.cpp
msgid "This action cannot be undone. Revert anyway?"
-msgstr ""
-"Esta acción no se podrá volver a realizar. ¿Quieres revertirla de todos "
-"modos?"
+msgstr "Esta acción no se puede deshacer. ¿Revertir de todos modos?"
#: editor/editor_node.cpp
msgid "Quick Run Scene..."
-msgstr "Ejecución rápida de escena..."
+msgstr "Ejecución Rápida de Escena..."
#: editor/editor_node.cpp
msgid "Quit"
@@ -2376,11 +2348,11 @@ msgstr "Salir"
#: editor/editor_node.cpp
msgid "Exit the editor?"
-msgstr "¿Quieres salir del editor?"
+msgstr "¿Salir del editor?"
#: editor/editor_node.cpp
msgid "Open Project Manager?"
-msgstr "¿Abrir el administrador de proyectos?"
+msgstr "¿Abrir el Administrador de Proyectos?"
#: editor/editor_node.cpp
msgid "Save & Quit"
@@ -2388,13 +2360,13 @@ msgstr "Guardar y salir"
#: editor/editor_node.cpp
msgid "Save changes to the following scene(s) before quitting?"
-msgstr "¿Guardar cambios a la(s) siguiente(s) escena(s) antes de salir?"
+msgstr "¿Guardar los cambios en las siguientes escenas antes de salir?"
#: editor/editor_node.cpp
msgid "Save changes the following scene(s) before opening Project Manager?"
msgstr ""
-"¿Guardar cambios a la(s) siguiente(s) escena(s) antes de abrir el "
-"administrador de proyectos?"
+"¿Guardar los cambios en las siguientes escenas antes de abrir el "
+"Administrador de Proyectos?"
#: editor/editor_node.cpp
msgid ""
@@ -2406,12 +2378,13 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
-msgstr "Selecciona una escena principal"
+msgstr "Selecciona una Escena Principal"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
-"No se pudo activar el plugin addon en: '%s' falló lectura de configuración."
+"No se pudo activar el plugin addon: Ha fallado el análisis de la "
+"configuración de '%s'."
#: editor/editor_node.cpp
msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
@@ -2476,9 +2449,9 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"No se ha definido ninguna escena principal, ¿Quieres elegir alguna?\n"
-"Es posible cambiarla más tarde en «Ajustes del Proyecto» bajo la categoría "
-"«Aplicación»."
+"No se ha definido ninguna escena principal, ¿seleccionar una?\n"
+"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoría "
+"'application'."
#: editor/editor_node.cpp
msgid ""
@@ -2486,9 +2459,9 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"La escena '%s' seleccionada no existe, ¿seleccionar una válida?\n"
+"La escena seleccionada '%s' no existe, ¿seleccionar una válida?\n"
"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoría "
-"'aplicación'."
+"'application'."
#: editor/editor_node.cpp
msgid ""
@@ -2499,15 +2472,15 @@ msgstr ""
"La escena '%s' seleccionada no es un archivo de escena, ¿seleccionar uno "
"válido?\n"
"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoría "
-"'aplicación'."
+"'application'."
#: editor/editor_node.cpp
msgid "Save Layout"
-msgstr "Guardar ajustes"
+msgstr "Guardar Layout"
#: editor/editor_node.cpp
msgid "Delete Layout"
-msgstr "Borrar ajustes"
+msgstr "Eliminar Layout"
#: editor/editor_node.cpp editor/import_dock.cpp
#: editor/script_create_dialog.cpp
@@ -2521,28 +2494,27 @@ msgstr "Mostrar en Sistema de Archivos"
#: editor/editor_node.cpp
msgid "Play This Scene"
-msgstr "Reproducir esta escena"
+msgstr "Reproducir Esta Escena"
#: editor/editor_node.cpp
msgid "Close Tab"
-msgstr "Cerrar pestaña"
+msgstr "Cerrar Pestaña"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
-msgstr "Cerrar las demás pestañas"
+msgstr "Cerrar Otras Pestañas"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Cerrar Pestañas a la Derecha"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Cerrar todo"
+msgstr "Cerrar Todas las Pestañas"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
-msgstr "Cambiar pestaña de escena"
+msgstr "Cambiar Pestaña de Escena"
#: editor/editor_node.cpp
msgid "%d more files or folders"
@@ -2558,7 +2530,7 @@ msgstr "%d más archivos"
#: editor/editor_node.cpp
msgid "Dock Position"
-msgstr "Posición del dock"
+msgstr "Posición del Dock"
#: editor/editor_node.cpp
msgid "Distraction Free Mode"
@@ -2566,7 +2538,7 @@ msgstr "Modo sin distracciones"
#: editor/editor_node.cpp
msgid "Toggle distraction-free mode."
-msgstr "Act/desact. modo sin distracciones."
+msgstr "Act./Desact. modo sin distracciones."
#: editor/editor_node.cpp
msgid "Add a new scene."
@@ -2590,7 +2562,7 @@ msgstr "Pestaña anterior"
#: editor/editor_node.cpp
msgid "Filter Files..."
-msgstr "Filtrado de archivos..."
+msgstr "Filtrar Archivos..."
#: editor/editor_node.cpp
msgid "Operations with scene files."
@@ -2598,19 +2570,19 @@ msgstr "Operaciones con archivos de escena."
#: editor/editor_node.cpp
msgid "New Scene"
-msgstr "Nueva escena"
+msgstr "Nueva Escena"
#: editor/editor_node.cpp
msgid "New Inherited Scene..."
-msgstr "Nueva escena heredada..."
+msgstr "Nueva Escena Heredada..."
#: editor/editor_node.cpp
msgid "Open Scene..."
-msgstr "Abrir escena..."
+msgstr "Abrir Escena..."
#: editor/editor_node.cpp
msgid "Save Scene"
-msgstr "Guardar escena"
+msgstr "Guardar Escena"
#: editor/editor_node.cpp
msgid "Save All Scenes"
@@ -2618,11 +2590,11 @@ msgstr "Guardar Todas las Escenas"
#: editor/editor_node.cpp
msgid "Close Scene"
-msgstr "Cerrar escena"
+msgstr "Cerrar Escena"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Open Recent"
-msgstr "Abrir reciente"
+msgstr "Abrir Reciente"
#: editor/editor_node.cpp
msgid "Convert To..."
@@ -2648,7 +2620,7 @@ msgstr "Rehacer"
#: editor/editor_node.cpp
msgid "Revert Scene"
-msgstr "Revertir escena"
+msgstr "Revertir Escena"
#: editor/editor_node.cpp
msgid "Miscellaneous project or scene-wide tools."
@@ -2668,15 +2640,15 @@ msgstr "Herramientas"
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
-msgstr "Abrir carpeta de datos del proyecto"
+msgstr "Abrir Carpeta de Datos del Proyecto"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Instalar plantilla de compilación de Android"
#: editor/editor_node.cpp
msgid "Quit to Project List"
-msgstr "Salir al listado de proyectos"
+msgstr "Salir al Listado de Proyectos"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: editor/project_export.cpp
@@ -2685,19 +2657,19 @@ msgstr "Depurar"
#: editor/editor_node.cpp
msgid "Deploy with Remote Debug"
-msgstr "Exportar con depuración remota"
+msgstr "Exportar con Depuración Remota"
#: editor/editor_node.cpp
msgid ""
"When exporting or deploying, the resulting executable will attempt to "
"connect to the IP of this computer in order to be debugged."
msgstr ""
-"Al exportar o publicar, el ejecutable tratará de conectarse a la IP de este "
-"equipo para iniciar la depuración."
+"Al exportar o distribuir, el ejecutable generado intentará conectarse a la "
+"IP de este equipo para ser depurado."
#: editor/editor_node.cpp
msgid "Small Deploy with Network FS"
-msgstr "Exportación mini con recursos en red"
+msgstr "Exportación Mini con Recursos en Red"
#: editor/editor_node.cpp
msgid ""
@@ -2716,19 +2688,19 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Visible Collision Shapes"
-msgstr "Ver formas de colisión"
+msgstr "Ver Formas de Colisión"
#: editor/editor_node.cpp
msgid ""
"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
"running game if this option is turned on."
msgstr ""
-"Los \"Collision Shapes\" y los nodos \"raycast\" (para 2D y 3D) serán "
-"visibles durante la ejecución del juego cuando esta opción esté activada."
+"Los Collision shapes y nodos raycast (para 2D y 3D) serán visibles durante "
+"la ejecución del juego cuando esta opción queda activada."
#: editor/editor_node.cpp
msgid "Visible Navigation"
-msgstr "Navegación visible"
+msgstr "Navegación Visible"
#: editor/editor_node.cpp
msgid ""
@@ -2756,7 +2728,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Sync Script Changes"
-msgstr "Actualizar cambios en scripts"
+msgstr "Sincronizar Cambios en Scripts"
#: editor/editor_node.cpp
msgid ""
@@ -2776,19 +2748,43 @@ msgstr "Editor"
#: editor/editor_node.cpp editor/settings_config_dialog.cpp
msgid "Editor Settings"
-msgstr "Ajustes del Editor"
+msgstr "Configuración del Editor"
#: editor/editor_node.cpp
msgid "Editor Layout"
-msgstr "Ajustes de diseño del editor"
+msgstr "Layout del Editor"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Convertir en Raíz de Escena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Abrir Editor de Datos/Carpeta de Configuración"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Abrir Editor siguiente"
#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
-msgstr "Act/desact. Pantalla Completa"
+msgstr "Cambiar a Pantalla Completa"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Act/desact. CanvasItem visible"
#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
-msgstr "Abrir carpeta de datos/configuración del Editor"
+msgstr "Abrir Editor de Datos/Carpeta de Configuración"
#: editor/editor_node.cpp
msgid "Open Editor Data Folder"
@@ -2796,16 +2792,15 @@ msgstr "Abrir Carpeta de Datos del Editor"
#: editor/editor_node.cpp
msgid "Open Editor Settings Folder"
-msgstr "Abrir carpeta de configuración del Editor"
+msgstr "Abrir Carpeta de Configuración del Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "Cargar plantillas de exportación"
+msgstr "Administrar Características del Editor"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
-msgstr "Cargar plantillas de exportación"
+msgstr "Administrar Plantillas de Exportación"
#: editor/editor_node.cpp
msgid "Help"
@@ -2822,7 +2817,7 @@ msgstr "Buscar"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Online Docs"
-msgstr "Documentación en línea"
+msgstr "Documentación Online"
#: editor/editor_node.cpp
msgid "Q&A"
@@ -2854,7 +2849,7 @@ msgstr "Pausar la escena"
#: editor/editor_node.cpp
msgid "Pause Scene"
-msgstr "Pausar la escena"
+msgstr "Pausar Escena"
#: editor/editor_node.cpp
msgid "Stop the scene."
@@ -2870,7 +2865,7 @@ msgstr "Reproducir la escena editada."
#: editor/editor_node.cpp
msgid "Play Scene"
-msgstr "Reproducir escena"
+msgstr "Reproducir Escena"
#: editor/editor_node.cpp
msgid "Play custom scene"
@@ -2878,7 +2873,7 @@ msgstr "Reproducir escena personalizada"
#: editor/editor_node.cpp
msgid "Play Custom Scene"
-msgstr "Reproducir escena personalizada"
+msgstr "Reproducir Escena Personalizada"
#: editor/editor_node.cpp
msgid "Changing the video driver requires restarting the editor."
@@ -2894,16 +2889,19 @@ msgid "Spins when the editor window redraws."
msgstr "Gira cuando la ventana del editor se redibuja."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Actualizar siempre"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Continuo"
#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr "Actualizar cambios"
+#, fuzzy
+msgid "Update When Changed"
+msgstr "Actualizar Cambios"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr "Desactivar indicador de actividad"
+#, fuzzy
+msgid "Hide Update Spinner"
+msgstr "Desactivar Indicador de Actividad"
#: editor/editor_node.cpp
msgid "FileSystem"
@@ -2919,7 +2917,7 @@ msgstr "Nodos"
#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
-msgstr "Expandir panel inferior"
+msgstr "Expandir Panel Inferior"
#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
@@ -2927,22 +2925,25 @@ msgstr "Salida"
#: editor/editor_node.cpp
msgid "Don't Save"
-msgstr "No guardar"
+msgstr "No Guardar"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
msgstr ""
+"Falta la plantilla de compilación de Android, por favor, instala las "
+"plantillas correspondientes."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Cargar plantillas de exportación"
+msgstr "Administrar Plantillas"
#: editor/editor_node.cpp
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"Esto instalará el proyecto Android para compilaciones personalizadas.\n"
+"Para utilizarlo, es necesario habilitarlo mediante un preset de exportación."
#: editor/editor_node.cpp
msgid ""
@@ -2950,6 +2951,10 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"La plantilla de compilación de Android ya está instalada y no se "
+"sobrescribirá.\n"
+"Elimina el directorio \"build\" manualmente antes de intentar esta operación "
+"nuevamente."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -2957,15 +2962,15 @@ msgstr "Importar plantillas desde un archivo ZIP"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export Project"
-msgstr "Exportar proyecto"
+msgstr "Exportar Proyecto"
#: editor/editor_node.cpp
msgid "Export Library"
-msgstr "Exportar biblioteca"
+msgstr "Exportar Librería"
#: editor/editor_node.cpp
msgid "Merge With Existing"
-msgstr "Unir con existentes"
+msgstr "Combinar Con Existentes"
#: editor/editor_node.cpp
msgid "Password:"
@@ -2973,11 +2978,11 @@ msgstr "Contraseña:"
#: editor/editor_node.cpp
msgid "Open & Run a Script"
-msgstr "Abrir y ejecutar un script"
+msgstr "Abrir y Ejecutar un Script"
#: editor/editor_node.cpp
msgid "New Inherited"
-msgstr "Nueva escena heredada"
+msgstr "Nueva Escena Heredada"
#: editor/editor_node.cpp
msgid "Load Errors"
@@ -2989,27 +2994,27 @@ msgstr "Seleccionar"
#: editor/editor_node.cpp
msgid "Open 2D Editor"
-msgstr "Abrir editor 2D"
+msgstr "Abrir Editor 2D"
#: editor/editor_node.cpp
msgid "Open 3D Editor"
-msgstr "Abrir editor 3D"
+msgstr "Abrir Editor 3D"
#: editor/editor_node.cpp
msgid "Open Script Editor"
-msgstr "Abrir editor de script"
+msgstr "Abrir Editor de Script"
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "Open Asset Library"
-msgstr "Abrir biblioteca de assets"
+msgstr "Abrir Biblioteca de Assets"
#: editor/editor_node.cpp
msgid "Open the next Editor"
-msgstr "Abrir editor siguiente"
+msgstr "Abrir Editor siguiente"
#: editor/editor_node.cpp
msgid "Open the previous Editor"
-msgstr "Abrir editor anterior"
+msgstr "Abrir Editor anterior"
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
@@ -3025,7 +3030,7 @@ msgstr "Editar Plugin"
#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
-msgstr "Plugins instalados:"
+msgstr "Plugins Instalados:"
#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
@@ -3059,19 +3064,19 @@ msgstr "Medida:"
#: editor/editor_profiler.cpp
msgid "Frame Time (sec)"
-msgstr "Duración de cuadro (seg)"
+msgstr "Duración de Frame (seg)"
#: editor/editor_profiler.cpp
msgid "Average Time (sec)"
-msgstr "Tiempo promedio (seg)"
+msgstr "Tiempo Promedio (seg)"
#: editor/editor_profiler.cpp
msgid "Frame %"
-msgstr "% de cuadro"
+msgstr "Frame %"
#: editor/editor_profiler.cpp
msgid "Physics Frame %"
-msgstr "% de cuadro físico"
+msgstr "Frames de Física %"
#: editor/editor_profiler.cpp
msgid "Inclusive"
@@ -3083,7 +3088,7 @@ msgstr "Propio"
#: editor/editor_profiler.cpp
msgid "Frame #:"
-msgstr "Nº de cuadro:"
+msgstr "Frame #:"
#: editor/editor_profiler.cpp
msgid "Time"
@@ -3115,14 +3120,14 @@ msgstr "Asignar..."
#: editor/editor_properties.cpp
msgid "Invalid RID"
-msgstr "RID no válido"
+msgstr "RID inválido"
#: editor/editor_properties.cpp
msgid ""
"The selected resource (%s) does not match any type expected for this "
"property (%s)."
msgstr ""
-"El recurso seleccionado (%s) no concuerda con el tipo esperado para esta "
+"El recurso seleccionado (%s) no coincide con ningún tipo esperado para esta "
"propiedad (%s)."
#: editor/editor_properties.cpp
@@ -3148,11 +3153,11 @@ msgstr ""
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Pick a Viewport"
-msgstr "Selecciona un viewport"
+msgstr "Selecciona un Viewport"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "New Script"
-msgstr "Nuevo script"
+msgstr "Nuevo Script"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "New %s"
@@ -3160,7 +3165,7 @@ msgstr "Nuevo %s"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Make Unique"
-msgstr "Hacer único"
+msgstr "Hacer Único"
#: editor/editor_properties.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
@@ -3200,6 +3205,11 @@ msgid "Page: "
msgstr "Página: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Eliminar Item"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nueva Clave:"
@@ -3211,11 +3221,6 @@ msgstr "Nuevo Valor:"
msgid "Add Key/Value Pair"
msgstr "Agregar Par Clave/Valor"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Remover item"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3259,15 +3264,15 @@ msgstr "Examinar"
#: editor/editor_sub_scene.cpp
msgid "Scene Path:"
-msgstr "Ruta de la escena:"
+msgstr "Ruta de la Escena:"
#: editor/editor_sub_scene.cpp
msgid "Import From Node:"
-msgstr "Importar desde nodo:"
+msgstr "Importar Desde Nodo:"
#: editor/export_template_manager.cpp
msgid "Re-Download"
-msgstr "Volver a descargar"
+msgstr "Volver a Descargar"
#: editor/export_template_manager.cpp
msgid "Uninstall"
@@ -3292,7 +3297,7 @@ msgstr "(Actual)"
#: editor/export_template_manager.cpp
msgid "Retrieving mirrors, please wait..."
-msgstr "Obteniendo mirrors, por favor espere..."
+msgstr "Obteniendo mirrors, por favor espera..."
#: editor/export_template_manager.cpp
msgid "Remove template version '%s'?"
@@ -3316,7 +3321,7 @@ msgstr "Error al crear ruta para las plantillas:"
#: editor/export_template_manager.cpp
msgid "Extracting Export Templates"
-msgstr "Extrayendo plantillas de exportación"
+msgstr "Extrayendo Plantillas de Exportación"
#: editor/export_template_manager.cpp
msgid "Importing:"
@@ -3348,12 +3353,12 @@ msgstr "No responde."
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request Failed."
-msgstr "Petición fallida."
+msgstr "Petición Fallida."
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Redirect Loop."
-msgstr "Bucle de redireccionamiento."
+msgstr "Redireccionar Loop."
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3362,7 +3367,7 @@ msgstr "Fallido:"
#: editor/export_template_manager.cpp
msgid "Download Complete."
-msgstr "Descarga completada."
+msgstr "Descarga Completada."
#: editor/export_template_manager.cpp
msgid ""
@@ -3378,7 +3383,7 @@ msgstr "Error al solicitar url: "
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
-msgstr "Intentando conexión alternativa..."
+msgstr "Conectando con Mirror...."
#: editor/export_template_manager.cpp
msgid "Disconnected"
@@ -3416,45 +3421,43 @@ msgstr "Descargando"
#: editor/export_template_manager.cpp
msgid "Connection Error"
-msgstr "Error de conexión"
+msgstr "Error de Conexión"
#: editor/export_template_manager.cpp
msgid "SSL Handshake Error"
-msgstr "Error de negociación SSL"
+msgstr "Error de Negociación SSL"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "Descomprimiendo assets"
+msgstr "Descomprimir los Recursos de la Compilación de Android"
#: editor/export_template_manager.cpp
msgid "Current Version:"
-msgstr "Versión actual:"
+msgstr "Versión Actual:"
#: editor/export_template_manager.cpp
msgid "Installed Versions:"
-msgstr "Versiones instaladas:"
+msgstr "Versiones Instaladas:"
#: editor/export_template_manager.cpp
msgid "Install From File"
-msgstr "Instalar desde archivo"
+msgstr "Instalar Desde Archivo"
#: editor/export_template_manager.cpp
msgid "Remove Template"
-msgstr "Eliminar plantilla"
+msgstr "Eliminar Plantilla"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
-msgstr "Seleccionar archivo plantilla"
+msgstr "Selecciona un Archivo de Plantilla"
#: editor/export_template_manager.cpp
msgid "Export Template Manager"
-msgstr "Gestor de plantillas de exportación"
+msgstr "Gestor de Plantillas de Exportación"
#: editor/export_template_manager.cpp
msgid "Download Templates"
-msgstr "Descargar plantillas"
+msgstr "Descargar Plantillas"
#: editor/export_template_manager.cpp
msgid "Select mirror from list: (Shift+Click: Open in Browser)"
@@ -3508,9 +3511,8 @@ msgid "No name provided."
msgstr "Nombre no proporcionado."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "El nombre proporcionado contiene caracteres inválidos"
+msgstr "El nombre contiene caracteres inválidos."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3537,36 +3539,32 @@ msgid "Duplicating folder:"
msgstr "Duplicando carpeta:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Nueva escena heredada..."
+msgstr "Nueva Escena Heredada"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Abrir escena"
+msgstr "Abrir Escenas"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Instanciar"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
-msgstr "Agregar a favoritos"
+msgstr "Agregar a Favoritos"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
-msgstr "Quitar de favoritos"
+msgstr "Eliminar de Favoritos"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
-msgstr "Editar dependencias..."
+msgstr "Editar Dependencias..."
#: editor/filesystem_dock.cpp
msgid "View Owners..."
-msgstr "Ver propietarios..."
+msgstr "Ver Propietarios..."
#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
@@ -3606,23 +3604,20 @@ msgid "Rename"
msgstr "Renombrar"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Carpeta Anterior"
+msgstr "Carpeta/Archivo Anterior"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Carpeta Siguiente"
+msgstr "Carpeta/Archivo Siguiente"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
-msgstr "Re-escanear sistema de archivos"
+msgstr "Re-escanear Sistema de Archivos"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
-msgstr "Act/Desact. Modo Dividido"
+msgstr "Act./Desact. Modo Dividido"
#: editor/filesystem_dock.cpp
msgid "Search files"
@@ -3650,7 +3645,7 @@ msgstr "Sobreescribir"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
-msgstr "Crear script"
+msgstr "Crear Script"
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
msgid "Find in Files"
@@ -3673,6 +3668,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Incluye los archivos con las siguientes extensiones. Añádelos o elimínalos "
+"en Ajustes del proyecto."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3733,11 +3730,11 @@ msgstr "Nodos dentro del Grupo"
#: editor/groups_editor.cpp
msgid "Add to Group"
-msgstr "Añadir al grupo"
+msgstr "Añadir al Grupo"
#: editor/groups_editor.cpp
msgid "Remove from Group"
-msgstr "Quitar del grupo"
+msgstr "Eliminar del Grupo"
#: editor/groups_editor.cpp
msgid "Manage Groups"
@@ -3745,52 +3742,52 @@ msgstr "Administrar Grupos"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
-msgstr "Importar como escena individual"
+msgstr "Importar como Escena Individual"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Animations"
-msgstr "Importar con animaciones separadas"
+msgstr "Importar con Animaciones Separadas"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials"
-msgstr "Importar con materiales separados"
+msgstr "Importar con Materiales Separados"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects"
-msgstr "Importar con objetos separados"
+msgstr "Importar con Objetos Separados"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Materials"
-msgstr "Importar con objetos y materiales separados"
+msgstr "Importar con Objetos y Materiales Separados"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Animations"
-msgstr "Importar con objetos y animaciones separados"
+msgstr "Importar con Objetos y Animaciones Separados"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials+Animations"
-msgstr "Importar con materiales y animaciones separados"
+msgstr "Importar con Materiales y Animaciones Separados"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Materials+Animations"
-msgstr "Importar con objetos, materiales y animaciones separados"
+msgstr "Importar con Objetos, Materiales y Animaciones Separados"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes"
-msgstr "Importar como múltiples escenas"
+msgstr "Importar como Múltiples Escenas"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes+Materials"
-msgstr "Importar como escenas y materiales múltiples"
+msgstr "Importar como Escenas y Materiales Múltiples"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
-msgstr "Importar escena"
+msgstr "Importar Escena"
#: editor/import/resource_importer_scene.cpp
msgid "Importing Scene..."
-msgstr "Importando escena..."
+msgstr "Importando Escena..."
#: editor/import/resource_importer_scene.cpp
msgid "Generating Lightmaps"
@@ -3802,7 +3799,7 @@ msgstr "Generando para Mesh: "
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
-msgstr "Ejecutando script personalizado..."
+msgstr "Ejecutando Script Personalizado..."
#: editor/import/resource_importer_scene.cpp
msgid "Couldn't load post-import script:"
@@ -3823,11 +3820,11 @@ msgstr "Guardando..."
#: editor/import_dock.cpp
msgid "Set as Default for '%s'"
-msgstr "Configurar por defecto para '%s'"
+msgstr "Establecer como predeterminado para '%s'"
#: editor/import_dock.cpp
msgid "Clear Default for '%s'"
-msgstr "Borrar por defecto para '%s'"
+msgstr "Restablecer Predeterminado para '%s'"
#: editor/import_dock.cpp
msgid " Files"
@@ -3839,7 +3836,7 @@ msgstr "Importar como:"
#: editor/import_dock.cpp editor/property_editor.cpp
msgid "Preset..."
-msgstr "Ajuste..."
+msgstr "Preset..."
#: editor/import_dock.cpp
msgid "Reimport"
@@ -3879,11 +3876,11 @@ msgstr "Guardar como..."
#: editor/inspector_dock.cpp
msgid "Copy Params"
-msgstr "Copiar parámetros"
+msgstr "Copiar Parámetros"
#: editor/inspector_dock.cpp
msgid "Paste Params"
-msgstr "Pegar parámetros"
+msgstr "Pegar Parámetros"
#: editor/inspector_dock.cpp
msgid "Edit Resource Clipboard"
@@ -3891,11 +3888,11 @@ msgstr "Editar Portapapeles de Recursos"
#: editor/inspector_dock.cpp
msgid "Copy Resource"
-msgstr "Copiar recurso"
+msgstr "Copiar Recurso"
#: editor/inspector_dock.cpp
msgid "Make Built-In"
-msgstr "Convertirlo en integrado"
+msgstr "Crear Integrado"
#: editor/inspector_dock.cpp
msgid "Make Sub-Resources Unique"
@@ -3980,7 +3977,7 @@ msgstr "¿Activar ahora?"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create Polygon"
-msgstr "Crear polígono"
+msgstr "Crear Polígono"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
@@ -4009,7 +4006,7 @@ msgstr "Editar Polígono"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Insert Point"
-msgstr "Insertar punto"
+msgstr "Insertar Punto"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Edit Polygon (Remove Point)"
@@ -4025,7 +4022,7 @@ msgstr "Remover Polígono y Punto"
#: editor/plugins/animation_state_machine_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Animation"
-msgstr "Añadir animación"
+msgstr "Añadir Animación"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4097,7 +4094,7 @@ msgstr "Seleccionar y mover puntos, crear puntos con clic derecho."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
msgid "Enable snap and show grid."
-msgstr "Activar snap y mostrar cuadricula."
+msgstr "Activar snap y mostrar grid."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4112,9 +4109,8 @@ msgid "Open Animation Node"
msgstr "Abrir Nodo de Animación"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "El triángulo ya existe"
+msgstr "El triángulo ya existe."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4146,7 +4142,7 @@ msgstr "No hay ningún triángulo, así que no se puede hacer blending."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Toggle Auto Triangles"
-msgstr "Act/desact. Auto Triángulos"
+msgstr "Act./Desact. Auto Triángulos"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Create triangles by connecting points."
@@ -4172,7 +4168,7 @@ msgstr "Parámetro Modificado"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Filters"
-msgstr "Editar filtros"
+msgstr "Editar Filtros"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Output node can't be added to the blend tree."
@@ -4215,7 +4211,7 @@ msgstr "Eliminar Nodo"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/scene_tree_dock.cpp
msgid "Delete Node(s)"
-msgstr "Eliminar nodo(s)"
+msgstr "Eliminar Nodo(s)"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Toggle Filter On/Off"
@@ -4259,24 +4255,23 @@ msgstr "Agregar Nodo..."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "Edit Filtered Tracks:"
-msgstr "Editar pistas filtradas:"
+msgstr "Editar Pistas Filtradas:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
-msgstr "Habilitar filtrado"
+msgstr "Habilitar Filtrado"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
-msgstr "Act/desact. Reproducción Automática"
+msgstr "Act./Desact. Reproducción Automática"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New Animation Name:"
-msgstr "Nombre de animación nueva:"
+msgstr "Nombre de Animación Nueva:"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New Anim"
-msgstr "Nueva animación"
+msgstr "Nueva Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
@@ -4284,12 +4279,12 @@ msgstr "Cambiar nombre de animación:"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Delete Animation?"
-msgstr "¿Eliminar animación?"
+msgstr "¿Eliminar Animación?"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Remove Animation"
-msgstr "Quitar animación"
+msgstr "Eliminar Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Invalid animation name!"
@@ -4302,23 +4297,23 @@ msgstr "¡El nombre de animación ya existe!"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Rename Animation"
-msgstr "Renombrar animación"
+msgstr "Renombrar Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
-msgstr "Mezclar el siguiente cambio"
+msgstr "Mezclar el Siguiente Cambio"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Blend Time"
-msgstr "Cambiar tiempo de mezcla"
+msgstr "Cambiar Tiempo de Mezcla"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Load Animation"
-msgstr "Cargar animación"
+msgstr "Cargar Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
-msgstr "Duplicar animación"
+msgstr "Duplicar Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "No animation to copy!"
@@ -4330,11 +4325,11 @@ msgstr "¡No hay recursos de animación en el portapapeles!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
-msgstr "Animación pegada"
+msgstr "Animación Pegada"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Paste Animation"
-msgstr "Pegar animación"
+msgstr "Pegar Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "No animation to edit!"
@@ -4348,7 +4343,7 @@ msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from end. (Shift+A)"
msgstr ""
-"Reproducir hacia atrás la animación seleccionada desde el final. (Mayús + A)"
+"Reproducir hacia atrás la animación seleccionada desde el final. (Shift + A)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Stop animation playback. (S)"
@@ -4356,7 +4351,7 @@ msgstr "Detener la reproducción de la animación. (S)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation from start. (Shift+D)"
-msgstr "Reproducir animación seleccionada desde el principio. (Mayús + D)"
+msgstr "Reproducir animación seleccionada desde el principio. (Shift + D)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation from current pos. (D)"
@@ -4372,7 +4367,7 @@ msgstr "Escalar globalmente la reproducción de la animación para el nodo."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Tools"
-msgstr "Herramientas de animación"
+msgstr "Herramientas de Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -4393,16 +4388,15 @@ msgstr "Mostrar la lista de animaciones en el reproductor."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Autoplay on Load"
-msgstr "Autoreproducir al cargar"
+msgstr "Autoreproducir al Cargar"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Enable Onion Skinning"
-msgstr "Activar papel cebolla"
+msgstr "Activar Papel Cebolla"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "Papel Cebolla"
+msgstr "Opciones de Papel Cebolla"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4434,11 +4428,11 @@ msgstr "3 pasos"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Differences Only"
-msgstr "Solo las diferencias"
+msgstr "Solo las Diferencias"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Force White Modulate"
-msgstr "Forzar modulación hacia el blanco"
+msgstr "Forzar Modulación en Blanco"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Include Gizmos (3D)"
@@ -4446,15 +4440,15 @@ msgstr "Incluir Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pin AnimationPlayer"
-msgstr "Pinear el AnimationPlayer"
+msgstr "Fijar AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
-msgstr "Crear animación nueva"
+msgstr "Crear Animación Nueva"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
-msgstr "Nombre de animación:"
+msgstr "Nombre de Animación:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/resource_preloader_editor_plugin.cpp
@@ -4466,11 +4460,11 @@ msgstr "¡Error!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Times:"
-msgstr "Tiempos de mezcla:"
+msgstr "Tiempos de Mezcla:"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Next (Auto Queue):"
-msgstr "Siguiente (cola automática):"
+msgstr "Siguiente (Cola Automática):"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Cross-Animation Blend Times"
@@ -4487,7 +4481,7 @@ msgstr "Añadir Transición"
#: editor/plugins/animation_state_machine_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Node"
-msgstr "Añadir nodo"
+msgstr "Añadir Nodo"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "End"
@@ -4537,7 +4531,7 @@ msgid ""
msgstr ""
"Seleccionar y mover nodos.\n"
"Clic der. para agregar nuevos nodos.\n"
-"Shift + clic izq. para crear conexiones."
+"Shift + Clic Izq. para crear conexiones."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Create new nodes."
@@ -4658,7 +4652,7 @@ msgstr "El árbol de animación no es correcto."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
-msgstr "Nodo de animación"
+msgstr "Nodo de Animación"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
@@ -4694,11 +4688,11 @@ msgstr "Nodo Transition"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
-msgstr "Importar animaciones..."
+msgstr "Importar Animaciones..."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
-msgstr "Editar filtros de nodo"
+msgstr "Editar Filtros de Nodo"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
@@ -4710,7 +4704,7 @@ msgstr "Contenido:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "View Files"
-msgstr "Ver archivos"
+msgstr "Ver Archivos"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Can't resolve hostname:"
@@ -4878,7 +4872,7 @@ msgstr "Bake Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
-msgstr "Vista previa"
+msgstr "Vista Previa"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Configure Snap"
@@ -4886,19 +4880,19 @@ msgstr "Configurar Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Grid Offset:"
-msgstr "Desplazamiento de Cuadrícula:"
+msgstr "Grid Offset:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Grid Step:"
-msgstr "Step de cuadrícula:"
+msgstr "Grid Step:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Offset:"
-msgstr "Desplazamiento de Rotación:"
+msgstr "Offset de Rotación:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Step:"
-msgstr "Step de rotaciones:"
+msgstr "Step de Rotación:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
@@ -4910,7 +4904,7 @@ msgstr "Crear nueva guía vertical"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Remove vertical guide"
-msgstr "Quitar guía vertical"
+msgstr "Eliminar guía vertical"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move horizontal guide"
@@ -4922,7 +4916,7 @@ msgstr "Crear nueva guía horizontal"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Remove horizontal guide"
-msgstr "Quitar guía horizontal"
+msgstr "Eliminar guía horizontal"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create new horizontal and vertical guides"
@@ -4969,6 +4963,8 @@ msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Cuando está activo, los nodos de Control en movimiento cambian sus anclajes "
+"en lugar de sus márgenes."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -4976,53 +4972,47 @@ msgstr "Sólo anclado"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors and Margins"
-msgstr "Cambiar anclas y márgenes"
+msgstr "Cambiar Anclas y Márgenes"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors"
-msgstr "Cambiar anclas"
+msgstr "Cambiar Anclas"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "Seleccionar"
+msgstr "Bloqueo Seleccionado"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "Quitar seleccionados"
+msgstr "Desbloquear Seleccionado"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Copiar Selección"
+msgstr "Grupo Seleccionado"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Copiar Selección"
+msgstr "Desagrupar Seleccionado"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
-msgstr "Pegar pose"
+msgstr "Pegar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
-msgstr "Crear Hueso(s) Personalizados a partir de Nodo(s)"
+msgstr "Crear Hueso(s) Personalizado(s) a partir de Nodo(s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "Restablecer pose"
+msgstr "Limpiar Huesos"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
-msgstr "Crear cadena IK"
+msgstr "Crear Cadena IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Clear IK Chain"
@@ -5044,7 +5034,7 @@ msgstr "Resetear el Zoom"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
-msgstr "Modo de selección"
+msgstr "Modo de Selección"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Drag: Rotate"
@@ -5057,8 +5047,8 @@ msgstr "Alt+Arrastrar: Mover"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
msgstr ""
-"Presiona 'v' para Cambiar el Pivote, 'Shift+v' para Arrastrar el Pivote (al "
-"mover)."
+"Presiona 'v' para Cambiar el Pivote, 'Shift + v' para Arrastrar el Pivote "
+"(al mover)."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+RMB: Depth list selection"
@@ -5066,15 +5056,15 @@ msgstr "Alt + Clic Derecho: Selección en listado de solapamientos"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Mode"
-msgstr "Modo movimiento"
+msgstr "Modo Movimiento"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotate Mode"
-msgstr "Modo rotación"
+msgstr "Modo Rotación"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale Mode"
-msgstr "Modo de Escalado"
+msgstr "Modo Escalado"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5096,7 +5086,7 @@ msgstr "Modo desplazamiento lateral"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle snapping."
-msgstr "Act/Desact. alineado."
+msgstr "Act./Desact. alineado."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Snap"
@@ -5107,9 +5097,8 @@ msgid "Snapping Options"
msgstr "Opciones de Alineado"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
-msgstr "Alinear a la cuadrícula"
+msgstr "Ajustar en Grid"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
@@ -5122,66 +5111,59 @@ msgstr "Configurar Snap..."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
-msgstr "Usar Snap Relativo"
+msgstr "Snap Relativo"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Pixel Snap"
msgstr "Usar Pixel Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
-msgstr "Fijado inteligente"
+msgstr "Ajuste Inteligente"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
-msgstr "Alinear al Padre"
+msgstr "Ajustar al Padre"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
-msgstr "Alinear al ancla de nodo"
+msgstr "Ajustar al Ancla de Nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
-msgstr "Alinear a los lados del nodo"
+msgstr "Ajustar a los Lados del Nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
-msgstr "Alinear al centro del nodo"
+msgstr "Ajustar al Centro del Nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
-msgstr "Alinear a otros nodos"
+msgstr "Ajustar a Otros Nodos"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
-msgstr "Alinear a guías"
+msgstr "Ajustar a las Guías"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock the selected object in place (can't be moved)."
-msgstr "Inmovilizar el objeto."
+msgstr "Bloquear el objeto seleccionado en su sitio (no se puede mover)."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unlock the selected object (can be moved)."
-msgstr "Liberar objeto inmovilizado."
+msgstr "Desbloquear el objeto seleccionado (puede ser movido)."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Makes sure the object's children are not selectable."
-msgstr "Asegurarse que los hijos de un objeto no sean seleccionables."
+msgstr "Asegura que los hijos del objeto no sean seleccionables."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Restores the object's children's ability to be selected."
-msgstr "Restaurar la habilidad de seleccionar los hijos de un objeto."
+msgstr "Restaura la capacidad de selección de los hijos del objeto."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton Options"
@@ -5189,7 +5171,7 @@ msgstr "Opciones de Esqueleto"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
-msgstr "Mostrar huesos"
+msgstr "Mostrar Huesos"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make Custom Bone(s) from Node(s)"
@@ -5207,44 +5189,43 @@ msgstr "Ver"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Show Grid"
-msgstr "Mostrar cuadrícula"
+msgstr "Ver Grid"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Helpers"
-msgstr "Mostrar ayudas"
+msgstr "Ver Ayudas"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Rulers"
-msgstr "Mostrar reglas"
+msgstr "Ver Reglas"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Guides"
-msgstr "Mostrar guías"
+msgstr "Ver Guías"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Origin"
-msgstr "Ver origen"
+msgstr "Ver Origen"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Viewport"
-msgstr "Ver viewport"
+msgstr "Ver Viewport"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Group And Lock Icons"
-msgstr "Mostrar Grupo y Bloquear Iconos"
+msgstr "Ver Grupo y Bloquear Iconos"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
-msgstr "Centrar selección"
+msgstr "Centrar Selección"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Frame Selection"
-msgstr "Encuadrar selección"
+msgstr "Encuadrar Selección"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Preview Canvas Scale"
-msgstr "Vista previa del atlas"
+msgstr "Previsualización de la Escala del Lienzo"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
@@ -5285,24 +5266,23 @@ msgstr "Insertar clave (pistas existentes)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Copy Pose"
-msgstr "Copiar pose"
+msgstr "Copiar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Clear Pose"
-msgstr "Restablecer pose"
+msgstr "Limpiar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
-msgstr "Multiplicar step de cuadrícula por 2"
+msgstr "Multiplicar grid step por 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Divide grid step by 2"
-msgstr "Dividir step de cuadrícula por 2"
+msgstr "Dividir grid step por 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Pan View"
-msgstr "Vista posterior"
+msgstr "Vista Panorámica"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -5319,7 +5299,7 @@ msgstr "No se pueden instanciar varios nodos sin un nodo raíz."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Create Node"
-msgstr "Crear nodo"
+msgstr "Crear Nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
@@ -5327,17 +5307,16 @@ msgid "Error instancing scene from %s"
msgstr "Error al instanciar escena desde %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
-msgstr "Cambiar tipo por defecto"
+msgstr "Cambiar Tipo por Defecto"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
"Drag & drop + Shift : Add node as sibling\n"
"Drag & drop + Alt : Change node type"
msgstr ""
-"Arrastrar y soltar + Shift : Añadir nodo como hermano\n"
-"Arrastrar y soltar + Alt : Cambiar tipo de nodo"
+"Arrastrar y Soltar + Shift : Añadir nodo como hermano\n"
+"Arrastrar y Soltar + Alt : Cambiar tipo de nodo"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Create Polygon3D"
@@ -5345,15 +5324,15 @@ msgstr "Crear Polygon3D"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly"
-msgstr "Editar polígono"
+msgstr "Editar Polígono"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly (Remove Point)"
-msgstr "Editar polígono (quitar punto)"
+msgstr "Editar Polígono (Eliminar Punto)"
#: editor/plugins/collision_shape_2d_editor_plugin.cpp
msgid "Set Handle"
-msgstr "Establecer handle"
+msgstr "Establecer Handle"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5368,7 +5347,15 @@ msgstr "No hay píxeles con transparencia > 128 en la imagen..."
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Load Emission Mask"
-msgstr "Cargar máscara de emisión"
+msgstr "Cargar Máscara de Emisión"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Reiniciar Ahora"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5384,7 +5371,7 @@ msgstr "Partículas"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Generated Point Count:"
-msgstr "Conteo de puntos generados:"
+msgstr "Conteo de Puntos Generados:"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5408,83 +5395,76 @@ msgstr "CPUParticles"
#: editor/plugins/cpu_particles_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emission Points From Mesh"
-msgstr "Crear Puntos de Emisión desde Mesh"
+msgstr "Crear Puntos de Emisión Desde Mesh"
#: editor/plugins/cpu_particles_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emission Points From Node"
-msgstr "Crear puntos de emisión desde el nodo"
+msgstr "Crear Puntos de Emisión Desde el Nodo"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "Flat0"
+msgstr "Flat 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "Flat1"
+msgstr "Flat 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
-msgstr "Transición entrada"
+msgstr "Ease In"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease Out"
-msgstr "Transición salida"
+msgstr "Ease Out"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
-msgstr "Paso suavizado"
+msgstr "Smoothstep"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Modify Curve Point"
-msgstr "Modificar punto de la curva"
+msgstr "Modificar Punto de Curva"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Modify Curve Tangent"
-msgstr "Modificar tangente de la curva"
+msgstr "Modificar Tangente de Curva"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Load Curve Preset"
-msgstr "Cargar ajuste predeterminado de curva"
+msgstr "Cargar Preset de Curva"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
-msgstr "Añadir punto"
+msgstr "Añadir Punto"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
-msgstr "Quitar punto"
+msgstr "Eliminar Punto"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
-msgstr "Izquierda lineal"
+msgstr "Izquierda Lineal"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
-msgstr "Derecha lineal"
+msgstr "Derecha Lineal"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
-msgstr "Cargar ajuste predeterminado"
+msgstr "Cargar Ajuste Predeterminado"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Curve Point"
-msgstr "Quitar punto de la curva"
+msgstr "Eliminar Punto de Curva"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Toggle Curve Linear Tangent"
-msgstr "Act/desact. curva de tangente lineal"
+msgstr "Act./Desact. Curva de Tangente Lineal"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Hold Shift to edit tangents individually"
-msgstr "Mantén Mayús para editar las tangentes individualmente"
+msgstr "Mantén Shift para editar las tangentes individualmente"
#: editor/plugins/gi_probe_editor_plugin.cpp
msgid "Bake GI Probe"
@@ -5504,11 +5484,11 @@ msgstr "Elementos"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item List Editor"
-msgstr "Editor de lista de elementos"
+msgstr "Editor de Lista de Items"
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Occluder Polygon"
-msgstr "Crear polígono oclusor"
+msgstr "Crear Polígono Oclusor"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh is empty!"
@@ -5516,33 +5496,31 @@ msgstr "¡El Mesh está vacío!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Static Trimesh Body"
-msgstr "Crear cuerpo estático \"Trimesh\""
+msgstr "Crear Static Trimesh Body"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Static Convex Body"
-msgstr "Crear cuerpo estático convexo"
+msgstr "Crear Static Convex Body"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "This doesn't work on scene root!"
msgstr "¡No puedes hacer esto en una escena raíz!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "Crear forma triangular"
+msgstr "Crear Forma Estática de Trimesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "¡Falló en la creación de los shapes!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Crear forma convexa"
+msgstr "Crear Shape(s) Convexo(s)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
-msgstr "Crear Mesh de Navegación"
+msgstr "Crear Navigation Mesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Contained Mesh is not of type ArrayMesh."
@@ -5575,11 +5553,11 @@ msgstr "¡El tipo primitivo de mesh no es PRIMITIVE_TRIANGLES!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Could not create outline!"
-msgstr "¡No se pudo crear el contorno!"
+msgstr "¡No se pudo crear el outline!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline"
-msgstr "Crear contorno"
+msgstr "Crear Outline"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh"
@@ -5587,16 +5565,15 @@ msgstr "Mesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
-msgstr "Crear cuerpo estático triangular"
+msgstr "Crear Trimesh Static Body"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Collision Sibling"
-msgstr "Crear colisión hermanada triangular"
+msgstr "Crear Trimesh Collision Hermano"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
-msgstr "Crear colisión hermanada convexa"
+msgstr "Crear Convex Collision Hermano(s)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -5620,7 +5597,7 @@ msgstr "Crear Outline Mesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Outline Size:"
-msgstr "Tamaño del contorno:"
+msgstr "Tamaño del Outline:"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Remove item %d?"
@@ -5629,7 +5606,7 @@ msgstr "¿Quieres borrar el elemento %d?"
#: editor/plugins/mesh_library_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Item"
-msgstr "Añadir elemento"
+msgstr "Añadir Item"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Remove Selected Item"
@@ -5714,15 +5691,15 @@ msgstr "Mesh de Origen:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "X-Axis"
-msgstr "Eje X"
+msgstr "Eje-X"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Y-Axis"
-msgstr "Eje Y"
+msgstr "Eje-Y"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Z-Axis"
-msgstr "Eje Z"
+msgstr "Eje-Z"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh Up Axis:"
@@ -5760,7 +5737,7 @@ msgstr "Generando Rect. de Visibilidad"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Generate Visibility Rect"
-msgstr "Generar rectángulo de visibilidad"
+msgstr "Generar Rect. de Visibilidad"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Can only set point into a ParticlesMaterial process material"
@@ -5770,7 +5747,7 @@ msgstr ""
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Generation Time (sec):"
-msgstr "Tiempo de generación (seg):"
+msgstr "Tiempo de Generación (seg):"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
@@ -5790,15 +5767,15 @@ msgstr "El nodo no posee geometría (caras)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
-msgstr "Crear emisor"
+msgstr "Crear Emisor"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Emission Points:"
-msgstr "Puntos de emisión:"
+msgstr "Puntos de Emisión:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Surface Points"
-msgstr "Puntos de la superficie"
+msgstr "Puntos de Superficie"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Surface Points+Normal (Directed)"
@@ -5810,7 +5787,7 @@ msgstr "Volumen"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Emission Source: "
-msgstr "Fuente de emisión: "
+msgstr "Fuente de Emisión: "
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -5830,7 +5807,7 @@ msgstr "Generar AABB"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Point from Curve"
-msgstr "Borrar punto de la curva"
+msgstr "Borrar Punto de la Curva"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Out-Control from Curve"
@@ -5843,7 +5820,7 @@ msgstr "Eliminar \"In-Control\" de la curva"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Add Point to Curve"
-msgstr "Añadir punto a curva"
+msgstr "Añadir Punto a Curva"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Split Curve"
@@ -5864,12 +5841,12 @@ msgstr "Mover Out-Control en curva"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Select Points"
-msgstr "Seleccionar puntos"
+msgstr "Seleccionar Puntos"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Shift+Drag: Select Control Points"
-msgstr "Mayús + arrastrar: Seleccionar puntos de control"
+msgstr "Shift + Arrastrar: Seleccionar puntos de control"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -5883,11 +5860,11 @@ msgstr "Clic Izquierdo: Partir Segmento (en curva)"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Right Click: Delete Point"
-msgstr "Clic derecho: Eliminar punto"
+msgstr "Clic derecho: Eliminar Punto"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Select Control Points (Shift+Drag)"
-msgstr "Seleccionar puntos de control (Mayús + arrastrar)"
+msgstr "Seleccionar puntos de control (Shift + Arrastrar)"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -5897,12 +5874,12 @@ msgstr "Añadir punto (en espacio vacío)"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Delete Point"
-msgstr "Eliminar punto"
+msgstr "Eliminar Punto"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Close Curve"
-msgstr "Cerrar curva"
+msgstr "Cerrar Curva"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
@@ -5922,44 +5899,43 @@ msgstr "Manejadores de Tamaño de Espejo"
#: editor/plugins/path_editor_plugin.cpp
msgid "Curve Point #"
-msgstr "Punto de curva #"
+msgstr "Punto de Curva #"
#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve Point Position"
-msgstr "Establecer posición de punto de curva"
+msgstr "Establecer Posición de Punto de Curva"
#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve In Position"
-msgstr "Establecer posición de entrada de curva"
+msgstr "Establecer Posición de Entrada de Curva"
#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve Out Position"
-msgstr "Establecer posición de salida de curva"
+msgstr "Establecer Posición de Salida de Curva"
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Path"
-msgstr "Dividir ruta"
+msgstr "Dividir Ruta"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove Path Point"
-msgstr "Quitar punto de ruta"
+msgstr "Eliminar Punto de Ruta"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove Out-Control Point"
-msgstr "Eliminar punto Out-Control"
+msgstr "Eliminar Punto Out-Control"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove In-Control Point"
-msgstr "Eliminar punto In-Control"
+msgstr "Eliminar Punto In-Control"
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Segment (in curve)"
-msgstr "Dividir segmento (en curva)"
+msgstr "Dividir Segmento (en curva)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
-msgstr "Mover unión"
+msgstr "Mover Unión"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid ""
@@ -5980,7 +5956,7 @@ msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
-msgstr "Crear mapa UV"
+msgstr "Crear Mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid ""
@@ -5996,11 +5972,11 @@ msgstr "Crear Polígono y UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create Internal Vertex"
-msgstr "Crear vértice interno"
+msgstr "Crear Vértice Interno"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Remove Internal Vertex"
-msgstr "Eliminar vértice interno"
+msgstr "Eliminar Vértice Interno"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Invalid Polygon (need 3 different vertices)"
@@ -6008,11 +5984,11 @@ msgstr "Polígono no válido (necesita 3 vértices diferentes)"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Add Custom Polygon"
-msgstr "Añadir polígono personalizado"
+msgstr "Añadir Polígono Personalizado"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Remove Custom Polygon"
-msgstr "Eliminar polígono personalizado"
+msgstr "Eliminar Polígono Personalizado"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
@@ -6060,23 +6036,23 @@ msgstr "Ctrl: Rotar"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Shift: Move All"
-msgstr "Mayús: Mover todos"
+msgstr "Shift: Mover todos"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Shift+Ctrl: Scale"
-msgstr "Mayús + Ctrl: Escalar"
+msgstr "Shift + Ctrl: Escalar"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Polygon"
-msgstr "Mover polígono"
+msgstr "Mover Polígono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Rotate Polygon"
-msgstr "Rotar polígono"
+msgstr "Rotar Polígono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Scale Polygon"
-msgstr "Escalar polígono"
+msgstr "Escalar Polígono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create a custom polygon. Enables custom polygon rendering."
@@ -6118,7 +6094,7 @@ msgstr "Limpiar UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Settings"
-msgstr "Ajustes de cuadrícula"
+msgstr "Configuración del Grid"
#: editor/plugins/polygon_2d_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -6131,27 +6107,27 @@ msgstr "Activar Snap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid"
-msgstr "Cuadrícula"
+msgstr "Grid"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Configure Grid:"
-msgstr "Configurar cuadrícula:"
+msgstr "Configurar Grid:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset X:"
-msgstr "Desplazamiento de Cuadrícula en X:"
+msgstr "Grid Offset X:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset Y:"
-msgstr "Desplazamiento de Cuadrícula en Y:"
+msgstr "Grid Offset Y:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step X:"
-msgstr "Step de cuadrícula en X:"
+msgstr "Grid Step X:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step Y:"
-msgstr "Step de cuadrícula en Y:"
+msgstr "Grid Step Y:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Sync Bones to Polygon"
@@ -6163,16 +6139,16 @@ msgstr "¡ERROR: No se pudo cargar el recurso!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Add Resource"
-msgstr "Añadir recurso"
+msgstr "Añadir Recurso"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Rename Resource"
-msgstr "Renombrar recurso"
+msgstr "Renombrar Recurso"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Resource"
-msgstr "Eliminar recurso"
+msgstr "Eliminar Recurso"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Resource clipboard is empty!"
@@ -6180,7 +6156,7 @@ msgstr "¡El portapapeles de recursos está vacío!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Paste Resource"
-msgstr "Pegar recurso"
+msgstr "Pegar Recurso"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_editor.cpp
@@ -6196,15 +6172,15 @@ msgstr "Tipo:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
-msgstr "Abrir en el editor"
+msgstr "Abrir en el Editor"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Load Resource"
-msgstr "Cargar recurso"
+msgstr "Cargar Recurso"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
-msgstr "Precargador de recursos"
+msgstr "Precargador de Recursos"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "AnimationTree has no path set to an AnimationPlayer"
@@ -6216,7 +6192,7 @@ msgstr "La ruta al AnimationPlayer es inválida"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
-msgstr "Limpiar lista archivos recientes"
+msgstr "Limpiar Archivos Recientes"
#: editor/plugins/script_editor_plugin.cpp
msgid "Close and save changes?"
@@ -6260,15 +6236,15 @@ msgstr "Nuevo TextFile..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Open File"
-msgstr "Abrir archivo"
+msgstr "Abrir Archivo"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save File As..."
-msgstr "Guardar archivo como..."
+msgstr "Guardar Archivo Como..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
-msgstr "Importar tema"
+msgstr "Importar Tema"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
@@ -6280,7 +6256,7 @@ msgstr "Error al guardar"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save Theme As..."
-msgstr "Guardar tema como..."
+msgstr "Guardar Tema Como..."
#: editor/plugins/script_editor_plugin.cpp
msgid "%s Class Reference"
@@ -6289,13 +6265,23 @@ msgstr "%s Referencia de Clase"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
-msgstr "Buscar siguiente"
+msgstr "Buscar Siguiente"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtrar propiedades"
#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Alternar la ordenación alfabética de la lista de métodos."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Modo de filtrado:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordenar"
@@ -6329,7 +6315,7 @@ msgstr "Abrir..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
-msgstr "Guardar todo"
+msgstr "Guardar Todo"
#: editor/plugins/script_editor_plugin.cpp
msgid "Soft Reload Script"
@@ -6337,7 +6323,7 @@ msgstr "Recargar parcialmente el script"
#: editor/plugins/script_editor_plugin.cpp
msgid "Copy Script Path"
-msgstr "Copiar ruta del script"
+msgstr "Copiar Ruta del Script"
#: editor/plugins/script_editor_plugin.cpp
msgid "History Previous"
@@ -6345,7 +6331,7 @@ msgstr "Previo en Historial"
#: editor/plugins/script_editor_plugin.cpp
msgid "History Next"
-msgstr "Siguiente en el historial"
+msgstr "Siguiente en el Historial"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -6358,19 +6344,19 @@ msgstr "Importar Tema..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
-msgstr "Recargar tema"
+msgstr "Recargar Tema"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save Theme"
-msgstr "Guardar tema"
+msgstr "Guardar Tema"
#: editor/plugins/script_editor_plugin.cpp
msgid "Close Docs"
-msgstr "Cerrar documentación"
+msgstr "Cerrar Documentación"
#: editor/plugins/script_editor_plugin.cpp
msgid "Close All"
-msgstr "Cerrar todo"
+msgstr "Cerrar Todo"
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
msgid "Run"
@@ -6378,7 +6364,7 @@ msgstr "Ejecutar"
#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle Scripts Panel"
-msgstr "Act/desact. panel de scripts"
+msgstr "Act./Desact. Panel de Scripts"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Over"
@@ -6399,25 +6385,23 @@ msgstr "Continuar"
#: editor/plugins/script_editor_plugin.cpp
msgid "Keep Debugger Open"
-msgstr "Mantener el depurador abierto"
+msgstr "Mantener el Depurador Abierto"
#: editor/plugins/script_editor_plugin.cpp
msgid "Debug with External Editor"
msgstr "Depurar con Editor Externo"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Abrir documentación online de Godot"
+msgstr "Abrir la documentación en línea de Godot."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "Solicitar Documentos"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "Ayuda a mejorar la documentación de Godot dando feedback"
+msgstr "Ayuda a mejorar la documentación de Godot aportando retroalimentación."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6446,12 +6430,12 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/shader_editor_plugin.cpp
msgid "Reload"
-msgstr "Volver a cargar"
+msgstr "Recargar"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/shader_editor_plugin.cpp
msgid "Resave"
-msgstr "Volver a guardar"
+msgstr "Volver a Guardar"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Debugger"
@@ -6462,29 +6446,27 @@ msgid "Search Results"
msgstr "Resultados de la Búsqueda"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "Conectar a nodo:"
+msgstr "Conexiones al método:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Fuente:"
+msgstr "Fuente"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Señales"
+msgstr "Señal"
#: editor/plugins/script_text_editor.cpp
msgid "Target"
msgstr "Objetivo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "Nada conectado a la entrada '%s' del nodo '%s'."
+msgstr ""
+"Falta el método de conexión '%s' para la señal '%s' del nodo '%s' al nodo "
+"'%s'."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6508,11 +6490,11 @@ msgstr "Buscar Símbolo"
#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
-msgstr "Seleccionar color"
+msgstr "Seleccionar Color"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
-msgstr "Convertir Mayús/Minúsculas"
+msgstr "Convertir Mayúsculas y Minúsculas"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
@@ -6524,86 +6506,77 @@ msgstr "Minúscula"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
-msgstr "Poner en mayúsculas"
+msgstr "Capitalizar"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Syntax Highlighter"
-msgstr "Resaltador de sintaxis"
+msgstr "Resaltador de Sintaxis"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "Marcadores"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Cortar"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Seleccionar todo"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
-msgstr "Eliminar línea"
+msgstr "Eliminar Línea"
#: editor/plugins/script_text_editor.cpp
msgid "Indent Left"
-msgstr "Indentar a la izquierda"
+msgstr "Indentar a la Izquierda"
#: editor/plugins/script_text_editor.cpp
msgid "Indent Right"
-msgstr "Indentar a la derecha"
+msgstr "Indentar a la Derecha"
#: editor/plugins/script_text_editor.cpp
msgid "Toggle Comment"
-msgstr "Act/desact. comentario"
+msgstr "Act./Desact. Comentario"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "Act/desact. Vista Libre"
+msgstr "Act./Desact. Marcador"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Ir al Siguente Breakpoint"
+msgstr "Ir al Siguiente Marcador"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "Ir al Breakpoint Anterior"
+msgstr "Ir al Marcador Anterior"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "Quitar todos los elementos"
+msgstr "Eliminar Todos los Marcadores"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
-msgstr "Plegar/Desplegar línea"
+msgstr "Plegar/Desplegar Línea"
#: editor/plugins/script_text_editor.cpp
msgid "Fold All Lines"
-msgstr "Plegar todas las líneas"
+msgstr "Plegar Todas las Líneas"
#: editor/plugins/script_text_editor.cpp
msgid "Unfold All Lines"
-msgstr "Desplegar todas las líneas"
+msgstr "Desplegar Todas las Líneas"
#: editor/plugins/script_text_editor.cpp
msgid "Clone Down"
-msgstr "Clonar hacia abajo"
+msgstr "Clonar Hacia Abajo"
#: editor/plugins/script_text_editor.cpp
msgid "Complete Symbol"
-msgstr "Completar símbolo"
+msgstr "Completar Símbolo"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
-msgstr "Borrar espacios sobrantes al final"
+msgstr "Eliminar Espacios Sobrantes al Final"
#: editor/plugins/script_text_editor.cpp
msgid "Convert Indent to Spaces"
@@ -6620,11 +6593,11 @@ msgstr "Autoindentar"
#: editor/plugins/script_text_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Toggle Breakpoint"
-msgstr "Act/desact. Breakpoint"
+msgstr "Act./Desact. Breakpoint"
#: editor/plugins/script_text_editor.cpp
msgid "Remove All Breakpoints"
-msgstr "Borrar todos los Breakpoints"
+msgstr "Eliminar Todos los Breakpoints"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Next Breakpoint"
@@ -6636,7 +6609,7 @@ msgstr "Ir al Breakpoint Anterior"
#: editor/plugins/script_text_editor.cpp
msgid "Find Previous"
-msgstr "Buscar anterior"
+msgstr "Buscar Anterior"
#: editor/plugins/script_text_editor.cpp
msgid "Find in Files..."
@@ -6652,16 +6625,15 @@ msgstr "Ir a Línea..."
#: editor/plugins/script_text_editor.cpp
msgid "Contextual Help"
-msgstr "Ayuda contextual"
+msgstr "Ayuda Contextual"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"Los siguientes archivos son nuevos en disco.\n"
-"¿Qué es lo que quieres hacer?:"
+"Este shader ha sido modificado en disco.\n"
+"¿Qué acciones deben tomarse?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -6685,11 +6657,11 @@ msgstr "Skeleton2D"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Make Rest Pose (From Bones)"
-msgstr "Crear Pose de Descanso (De los Huesos)"
+msgstr "Crear Pose de Descanso (Desde Huesos)"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Set Bones to Rest Pose"
-msgstr "Establecer Huesos a la Pose de Descanso"
+msgstr "Asignar Pose de Descanso a Huesos"
#: editor/plugins/skeleton_editor_plugin.cpp
msgid "Create physical bones"
@@ -6717,23 +6689,23 @@ msgstr "Perspectiva"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Aborted."
-msgstr "Se ha cancelado la transformación."
+msgstr "Transformación Abortada."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
-msgstr "Transformación en el eje X."
+msgstr "Transformación en Eje-X."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Y-Axis Transform."
-msgstr "Transformación en el eje Y."
+msgstr "Transformación en Eje-Y."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Z-Axis Transform."
-msgstr "Transformación en el eje Z."
+msgstr "Transformación en Eje-Z."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Plane Transform."
-msgstr "Ver transformación de plano."
+msgstr "Ver Transformación en Plano."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling: "
@@ -6745,7 +6717,7 @@ msgstr "Trasladando: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
-msgstr "Girando %s grados."
+msgstr "Rotando %s grados."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Keying is disabled (no key inserted)."
@@ -6765,23 +6737,23 @@ msgstr "Yaw"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn"
-msgstr "Objetos dibujados"
+msgstr "Objetos Dibujados"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Material Changes"
-msgstr "Cambios del material"
+msgstr "Cambios del Material"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Shader Changes"
-msgstr "Cambios del shader"
+msgstr "Cambios del Shader"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Surface Changes"
-msgstr "Cambios de superficie"
+msgstr "Cambios de Superficie"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Draw Calls"
-msgstr "Llamadas de dibujado"
+msgstr "Llamadas de Dibujado"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Vertices"
@@ -6789,11 +6761,11 @@ msgstr "Vértices"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
-msgstr "Vista superior."
+msgstr "Vista Superior."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View."
-msgstr "Vista inferior."
+msgstr "Vista Inferior."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom"
@@ -6801,7 +6773,7 @@ msgstr "Abajo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left View."
-msgstr "Vista izquierda."
+msgstr "Vista Izquierda."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left"
@@ -6845,35 +6817,35 @@ msgstr "Esta operación requiere un solo nodo seleccionado."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock View Rotation"
-msgstr "Bloquear rotación de vista"
+msgstr "Bloquear Rotación de Vista"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
-msgstr "Mostrar normales"
+msgstr "Mostrar Normal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Wireframe"
-msgstr "Mostrar polígonos"
+msgstr "Mostrar Wireframe"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Overdraw"
-msgstr "Mostrar superposiciones"
+msgstr "Mostrar Overdraw"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Unshaded"
-msgstr "Mostrar sin sombra"
+msgstr "Mostrar Sin Sombreado"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Environment"
-msgstr "Ver entorno"
+msgstr "Ver Entorno"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Gizmos"
-msgstr "Ver gizmos"
+msgstr "Ver Gizmos"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Information"
-msgstr "Ver información"
+msgstr "Ver Información"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View FPS"
@@ -6881,11 +6853,11 @@ msgstr "Ver FPS"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Half Resolution"
-msgstr "Media resolución"
+msgstr "Media Resolución"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Audio Listener"
-msgstr "Oyente de audio"
+msgstr "Oyente de Audio"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Doppler Enable"
@@ -6893,35 +6865,35 @@ msgstr "Activar Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Cinematic Preview"
-msgstr "Vista previa cinemática"
+msgstr "Vista Previa Cinemática"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
-msgstr "Vista libre izquierda"
+msgstr "Vista Libre Izquierda"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Right"
-msgstr "Vista libre derecha"
+msgstr "Vista Libre Derecha"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Forward"
-msgstr "Vista libre frontal"
+msgstr "Vista Libre Frontal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Backwards"
-msgstr "Vista libre posterior"
+msgstr "Vista Libre Posterior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Up"
-msgstr "Vista libre arriba"
+msgstr "Vista Libre Arriba"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Down"
-msgstr "Vista libre abajo"
+msgstr "Vista Libre Abajo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Speed Modifier"
-msgstr "Modificador de velocidad de vista libre"
+msgstr "Modificador de Velocidad de Vista Libre"
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -6945,7 +6917,7 @@ msgstr "Ajustar Nodos al Suelo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Select Mode (Q)"
-msgstr "Modo de selección (Q)"
+msgstr "Modo de Selección (Q)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -6959,23 +6931,23 @@ msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Move Mode (W)"
-msgstr "Modo movimiento (W)"
+msgstr "Modo Movimiento (W)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotate Mode (E)"
-msgstr "Modo rotación (E)"
+msgstr "Modo Rotación (E)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scale Mode (R)"
-msgstr "Modo escalado (R)"
+msgstr "Modo Escalado (R)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
-msgstr "Coordenadas locales"
+msgstr "Coordenadas Locales"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Local Space Mode (%s)"
-msgstr "Modo de espacio local (%s)"
+msgstr "Modo de Espacio Local (%s)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Mode (%s)"
@@ -6983,68 +6955,67 @@ msgstr "Modo de Snap (%s)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
-msgstr "Vista inferior"
+msgstr "Vista Inferior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View"
-msgstr "Vista superior"
+msgstr "Vista Superior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rear View"
-msgstr "Vista posterior"
+msgstr "Vista Posterior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Front View"
-msgstr "Vista frontal"
+msgstr "Vista Frontal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left View"
-msgstr "Vista izquierda"
+msgstr "Vista Izquierda"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Right View"
-msgstr "Vista derecha"
+msgstr "Vista Derecha"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
-msgstr "Intercambiar vista perspectiva/ortogonal"
+msgstr "Cambiar Vista Perspectiva/Ortogonal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
-msgstr "Insertar clave de animación"
+msgstr "Insertar Clave de Animación"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Focus Origin"
-msgstr "Enfocar origen"
+msgstr "Foco en Origen"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Focus Selection"
-msgstr "Enfocar selección"
+msgstr "Foco en Selección"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Align Selection With View"
-msgstr "Alinear selección con visor"
+msgstr "Alinear Selección Con Vista"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Tool Select"
-msgstr "Seleccionar"
+msgstr "Seleccionar Herramienta"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Tool Move"
-msgstr "Mover"
+msgstr "Herramienta Mover"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Tool Rotate"
-msgstr "Rotar"
+msgstr "Herramienta Rotar"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Tool Scale"
-msgstr "Escalar"
+msgstr "Herramienta Escalar"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
-msgstr "Act/desact. Vista Libre"
+msgstr "Act./Desact. Vista Libre"
#: editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7052,9 +7023,8 @@ msgid "Transform"
msgstr "Transformar"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
-msgstr "Ajustar objeto al suelo"
+msgstr "Ajustar Objeto al Suelo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
@@ -7090,16 +7060,16 @@ msgstr "Gizmos"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
-msgstr "Ver origen"
+msgstr "Ver Origen"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Grid"
-msgstr "Ver cuadrícula"
+msgstr "Ver Grid"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Settings"
-msgstr "Ajustes"
+msgstr "Configuración"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
@@ -7119,43 +7089,43 @@ msgstr "Snap de Escala (%):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Viewport Settings"
-msgstr "Ajustes del viewport"
+msgstr "Ajustes de Viewport"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Perspective FOV (deg.):"
-msgstr "Anchura de perspectiva (en grados):"
+msgstr "FOV de Perspectiva (grados.):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Z-Near:"
-msgstr "Profundidad mínima de vista:"
+msgstr "Profundidad Mínima de Vista:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Z-Far:"
-msgstr "Profundidad máxima de vista:"
+msgstr "Profundidad Máxima de Vista:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Change"
-msgstr "Cambio de transformación"
+msgstr "Cambio de Transformación"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translate:"
-msgstr "Mover:"
+msgstr "Trasladar:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotate (deg.):"
-msgstr "Girar (grados):"
+msgstr "Rotar (grados.):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scale (ratio):"
-msgstr "Escalar (porcentaje):"
+msgstr "Escalar (ratio):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Type"
-msgstr "Tipo de transformación"
+msgstr "Tipo de Transformación"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Pre"
-msgstr "Previa"
+msgstr "Anterior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Post"
@@ -7235,29 +7205,27 @@ msgstr "Crecer (Pixeles): "
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
-msgstr "Actualizar vista previa"
+msgstr "Actualizar Vista Previa"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Settings:"
-msgstr "Ajustes:"
+msgstr "Configuración:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "Encuadrar selección"
+msgstr "No hay Frames Seleccionados"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Añadir fotograma"
+msgstr "Añadir %d Frame(s)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
-msgstr "Añadir fotograma"
+msgstr "Añadir Frame"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
-msgstr "ERROR: ¡No se pudo cargar el recurso de fotogramas!"
+msgstr "ERROR: ¡No se pudo cargar el recurso de frames!"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Resource clipboard is empty or not a texture!"
@@ -7265,15 +7233,15 @@ msgstr "¡El portapapeles de recursos esta vacío o no es una textura!"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Paste Frame"
-msgstr "Pegar fotograma"
+msgstr "Pegar Frame"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Empty"
-msgstr "Añadir elemento vacío"
+msgstr "Añadir Vacío"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation FPS"
-msgstr "Cambiar FPS de animación"
+msgstr "Cambiar FPS de Animación"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "(empty)"
@@ -7293,28 +7261,27 @@ msgstr "Velocidad (FPS):"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Loop"
-msgstr "Repetir"
+msgstr "Loop"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animation Frames:"
-msgstr "Fotogramas de animación:"
+msgstr "Frames de Animación:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Agregar Textura(s) al TileSet."
+msgstr "Añadir Textura desde Archivo"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "Añadir Frames de un Sprite Sheet"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
-msgstr "Insertar vacío (antes)"
+msgstr "Insertar Vacío (Antes)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (After)"
-msgstr "Insertar vacío (después)"
+msgstr "Insertar Vacío (Después)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Move (Before)"
@@ -7325,29 +7292,24 @@ msgid "Move (After)"
msgstr "Mover (Después)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select Frames"
-msgstr "Frames del stack"
+msgstr "Seleccionar Frames"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Voltear horizontalmente"
+msgstr "Horizontal:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Vértices"
+msgstr "Vertical:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "Seleccionar todo"
+msgstr "Seleccionar/Limpiar Todos los Frames"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "Crear desde escena"
+msgstr "Crear Frames a partir de Sprite Sheet"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7355,7 +7317,7 @@ msgstr "SpriteFrames"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
-msgstr "Establecer rectángulo de región"
+msgstr "Establecer Region Rect"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Margin"
@@ -7376,15 +7338,15 @@ msgstr "Pixel Snap"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid Snap"
-msgstr "Snap de cuadrícula"
+msgstr "Grid Snap"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Auto Slice"
-msgstr "Autotrocear"
+msgstr "Corte Automático"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Offset:"
-msgstr "Desplazamiento:"
+msgstr "Offset:"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Step:"
@@ -7396,7 +7358,7 @@ msgstr "Sep.:"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "TextureRegion"
-msgstr "Región de textura"
+msgstr "Región de Textura"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
@@ -7404,24 +7366,23 @@ msgstr "No se pudo guardar el tema a un archivo:"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add All Items"
-msgstr "Añadir todos los elementos"
+msgstr "Añadir Todos los Elementos"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add All"
-msgstr "Añadir todos"
+msgstr "Añadir Todos"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
-msgstr "Quitar todos los elementos"
+msgstr "Eliminar Todos los Ãtems"
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
msgid "Remove All"
-msgstr "Quitar todos"
+msgstr "Eliminar Todos"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "Editar tema..."
+msgstr "Editar Tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7433,11 +7394,11 @@ msgstr "Añadir elementos de clase"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove Class Items"
-msgstr "Quitar elementos de clases"
+msgstr "Eliminar Ãtems de Clases"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Create Empty Template"
-msgstr "Crear plantilla vacía"
+msgstr "Crear Plantilla Vacía"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Create Empty Editor Template"
@@ -7448,57 +7409,52 @@ msgid "Create From Current Editor Theme"
msgstr "Crear desde el tema actual del editor"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "Botón del ratón"
+msgstr "Botón de Conmutación"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Botón del medio"
+msgstr "Botón Desactivado"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
-msgstr "Elemento"
+msgstr "Ãtem"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "Desactivado"
+msgstr "Desactivar Ãtem"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
-msgstr "Casilla de verificación"
+msgstr "Activar Ãtem"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Checked Item"
-msgstr "Casilla de verificación activa"
+msgstr "Ãtem Activado"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Radio Item"
-msgstr "Radio Item"
+msgstr "Radio Ãtem"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Checked Radio Item"
-msgstr "Ratio item activo"
+msgstr "Radio Ãtem Activo"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "Separador con nombre."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Submenú"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "Elemento"
+msgstr "Ãtem 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "Elemento"
+msgstr "Ãtem 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7509,9 +7465,8 @@ msgid "Many"
msgstr "Muchas"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "Desactivado"
+msgstr "Desactivar LineEdit"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7526,13 +7481,12 @@ msgid "Tab 3"
msgstr "Tab 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "Hijos editables"
+msgstr "Ãtem Editable"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "Subárbol"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7564,7 +7518,7 @@ msgstr "Constante"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
-msgstr "Borrar selección"
+msgstr "Borrar Selección"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Fix Invalid Tiles"
@@ -7581,15 +7535,15 @@ msgstr "Dibujar TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Line Draw"
-msgstr "Dibujar línea"
+msgstr "Dibujar Línea"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rectangle Paint"
-msgstr "Dibujar rectángulo"
+msgstr "Dibujar Rectángulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Bucket Fill"
-msgstr "Cubo de relleno"
+msgstr "Bote de Relleno"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase TileMap"
@@ -7605,21 +7559,19 @@ msgstr "Transponer"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Mirror X"
-msgstr "Voltear horizontalmente"
+msgstr "Voltear X"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Mirror Y"
-msgstr "Voltear verticalmente"
+msgstr "Voltear Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "Autotiles"
+msgstr "Desactivar Autotile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "Editar Prioridad del Tile"
+msgstr "Activar Prioridad"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7630,35 +7582,32 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift + Clic derecho: Trazar línea\n"
+"Shift + Ctrl + Clic derecho: Pintar Rectángulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
-msgstr "Elegir tile"
+msgstr "Elegir Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
-msgstr "Rotar a la izquierda"
+msgstr "Rotar a la Izquierda"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
-msgstr "Rotar a la derecha"
+msgstr "Rotar a la Derecha"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
-msgstr "Voltear horizontalmente"
+msgstr "Voltear Horizontalmente"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
-msgstr "Voltear verticalmente"
+msgstr "Voltear Verticalmente"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
-msgstr "Reestablecer transform"
+msgstr "Reestablecer Transformación"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Add Texture(s) to TileSet."
@@ -7666,7 +7615,7 @@ msgstr "Agregar Textura(s) al TileSet."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove selected Texture from TileSet."
-msgstr "Quitar Textura seleccionada del TileSet."
+msgstr "Eliminar Textura seleccionada del TileSet."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create from Scene"
@@ -7678,7 +7627,7 @@ msgstr "Unir desde escena"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Next Coordinate"
-msgstr "Coordenada Siguiente"
+msgstr "Siguiente Coordenada"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Select the next shape, subtile, or Tile."
@@ -7686,51 +7635,43 @@ msgstr "Seleccionar la próxima forma, subtile o Tile."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Previous Coordinate"
-msgstr "Coordenada Anterior"
+msgstr "Anterior Coordenada"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Select the previous shape, subtile, or Tile."
msgstr "Seleccionar la anterior forma, subtile, o Tile."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "Modo de ejecución:"
+msgstr "Modo Región"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Modo de Interpolación"
+msgstr "Modo Colisión"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "Editar Polígono de Oclusión"
+msgstr "Modo Oclusión"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "Crear Mesh de Navegación"
+msgstr "Modo Navegación"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "Modo rotación"
+msgstr "Modo Bitmask"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "Modo de exportación:"
+msgstr "Modo Prioridad"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "Modo desplazamiento lateral"
+msgstr "Modo Icono"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "Modo desplazamiento lateral"
+msgstr "Modo Ãndice Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7758,7 +7699,7 @@ msgstr "Mantener el polígono dentro del region Rect."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Enable snap and show grid (configurable via the Inspector)."
-msgstr "Activar snap y mostrar cuadricula (configurable vía el Inspector)."
+msgstr "Activar snap y mostrar grid (configurable a través del Inspector)."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Display Tile Names (Hold Alt Key)"
@@ -7776,11 +7717,11 @@ msgstr "No elegiste una textura para eliminar."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create from scene? This will overwrite all current tiles."
-msgstr "¿Crear desde la escena? Esto sobrescribirá todos los tiles actuales."
+msgstr "¿Crear desde escena? Esto sobrescribirá todos los tiles actuales."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Merge from scene?"
-msgstr "¿Mezclar desde escena?"
+msgstr "¿Unir desde escena?"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Texture"
@@ -7815,16 +7756,16 @@ msgid "Delete polygon."
msgstr "Eliminar polígono."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
"Shift+LMB: Set wildcard bit.\n"
"Click on another Tile to edit it."
msgstr ""
-"Clic izq: Activar bit.\n"
-"Clic der: Desactivar bit.\n"
-"Clic en otro Tile para editarlo."
+"Clic Izquierdo: Activar bit.\n"
+"Clic Derecho: Desactivar bit.\n"
+"Shift + Clic Izquierdo: Establecer valor de bit comodín.\n"
+"Haz clic en otro Tile para editarlo."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
@@ -7849,8 +7790,8 @@ msgid ""
"Select sub-tile to change its z index.\n"
"Click on another Tile to edit it."
msgstr ""
-"Seleccionar sub-tile para cambiar su z index.\n"
-"Clic en otro Tile para editarlo."
+"Selecciona sub-tile para cambiar su índice z.\n"
+"Haz clic en otro Tile para editarlo."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Set Tile Region"
@@ -7890,11 +7831,11 @@ msgstr "Reestablecer Máscara de Bits de Tile"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Make Polygon Concave"
-msgstr "Hacer Polígono Cóncavo"
+msgstr "Crear Polígono Cóncavo"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Make Polygon Convex"
-msgstr "Hacer Póligono Convexo"
+msgstr "Crear Póligono Convexo"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Tile"
@@ -7910,7 +7851,7 @@ msgstr "Eliminar Polígono de Oclusión"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Navigation Polygon"
-msgstr "Crear Polígono de Navegación"
+msgstr "Eliminar Polígono de Navegación"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Tile Priority"
@@ -7918,7 +7859,7 @@ msgstr "Editar Prioridad del Tile"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Tile Z Index"
-msgstr "Editar Z Index de Tile"
+msgstr "Editar Ãndice Z de Tile"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create Collision Polygon"
@@ -7937,77 +7878,64 @@ msgid "TileSet"
msgstr "TileSet"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "Añadir Entrada"
+msgstr "Añadir entrada +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "Añadir Entrada"
+msgstr "Añadir salida +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "Escala:"
+msgstr "Escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "Inspector"
+msgstr "Vector"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Booleano"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "Añadir Entrada"
+msgstr "Agregar puerto de entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "Añadir puerto de salida"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "Cambiar tipo por defecto"
+msgstr "Cambiar tipo de puerto de entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "Cambiar tipo por defecto"
+msgstr "Cambiar tipo de puerto de salida"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "Cambiar nombre de entrada"
+msgstr "Cambiar nombre del puerto de entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "Cambiar nombre de entrada"
+msgstr "Cambiar nombre del puerto de salida"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "Quitar punto"
+msgstr "Eliminar puerto de entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "Quitar punto"
+msgstr "Eliminar puerto de salida"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "Cambiar expresión"
+msgstr "Establecer expresión"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "VisualShader"
+msgstr "Redimensionar nodo VisualShader"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
@@ -8046,540 +7974,321 @@ msgid "Light"
msgstr "Luz"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "Crear nodo"
+msgstr "Crear Nodo Shader"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "Ir a Función"
+msgstr "Función Color."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
-msgstr ""
+msgstr "Operador Color."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "Crear función"
+msgstr "Función Grayscale."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "Convertir vector HSV a equivalente RGB."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "Convertir vector RGB a equivalente HSV."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "Renombrar función"
+msgstr "Función Sepia."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "Operador Burn."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
-msgstr ""
+msgstr "Operador Darken."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Difference operator."
-msgstr "Solo las diferencias"
+msgstr "Operador diferencial."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
-msgstr ""
+msgstr "Operador Dodge."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "HardLight operator"
-msgstr ""
+msgstr "Operador HardLight"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Lighten operator."
-msgstr ""
+msgstr "Operador Lighten."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Overlay operator."
-msgstr ""
+msgstr "Operador Overlay."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Screen operator."
-msgstr ""
+msgstr "Operador Screen."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "SoftLight operator."
-msgstr ""
+msgstr "Operador SoftLight."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "Constante"
+msgstr "Constante de color."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "Reestablecer transform"
+msgstr "Color uniforme."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
msgstr ""
+"Devuelve un vector asociado si los escalares proporcionados son iguales, "
+"mayores o menores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
msgstr ""
+"Devuelve un vector asociado si el valor booleano proporcionado es verdadero "
+"o falso."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Boolean constant."
-msgstr "Cambiar Constante Vec."
+msgstr "Constante booleana."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
-msgstr ""
+msgstr "Boolean uniforme."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
-msgid "Input parameter."
-msgstr "Alinear al Padre"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
+msgid "'%s' input parameter for all shader modes."
+msgstr "Parámetro de entrada 'uv' para todos los modos de shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
+msgid "Input parameter."
+msgstr "Parámetro de entrada."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr "Parámetro de entrada 'uv' para vértices y fragmentos en modo shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr "Parámetro de entrada 'view' para fragmentos y luces en modo shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment shader mode."
+msgstr "Parámetro de entrada 'side' para fragmentos en modo de shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for light shader mode."
+msgstr "Parámetro de entrada 'diffuse' para luces en modo shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex shader mode."
+msgstr "Parámetro de entrada 'custom' para vértices en modo shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr "Parámetro de entrada 'uv' para vértices y fragmentos en modo shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar function."
-msgstr "Cambiar función Scalar"
+msgstr "Función Scalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar operator."
-msgstr "Cambiar operador escalar"
+msgstr "Operador de Scalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "Constante E (2.718282). Representa la base del logaritmo natural."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "Constante de Épsilon (0.00001). El número escalar más pequeño posible."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "Constante Phi (1.618034). Ratio de oro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "Constante Pi/4 (0.785398) o 45 grados."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "Constante Pi/2 (1.570796) o 90 grados."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "Constante Pi (3.141593) o 180 grados."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "Constante Tau (6.283185) o 360 grados."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "Constante Sqrt2 (1.414214). Raíz cuadrada de 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "Devuelve el valor absoluto del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "Devuelve el arcocoseno del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Sólo GLES3) Devuelve el coseno hiperbólico inverso del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "Devuelve el arcoseno del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Sólo GLES3) Devuelve el seno hiperbólico inverso del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "Devuelve el arcotangente del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "Devuelve el arcotangente de los parámetros."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Sólo GLES3) Devuelve la tangente hiperbólica inversa del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
+msgstr "Encuentra el entero más cercano mayor o igual que el parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "Limita un valor a estar entre dos valores más."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "Devuelve el coseno del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Sólo GLES3) Devuelve el coseno hiperbólico del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "Convierte una cantidad en radianes a grados."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "Exponencial en base e."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "Exponencial en base 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
+msgstr "Encuentra el número entero más cercano menor o igual que el parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
-msgstr ""
+msgstr "Calcula la parte fraccional del argumento."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "Devuelve el inverso de la raíz cuadrada del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
-msgstr ""
+msgstr "Logaritmo natural."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "Logaritmo de la base 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
-msgstr ""
+msgstr "Devuelve el mayor de dos valores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the lesser of two values."
-msgstr ""
+msgstr "Devuelve el menor de dos valores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
-msgstr ""
+msgstr "Interpolación lineal entre dos escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the opposite value of the parameter."
-msgstr ""
+msgstr "Devuelve el valor opuesto del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - scalar"
-msgstr ""
+msgstr "1.0 - escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the value of the first parameter raised to the power of the second."
msgstr ""
+"Devuelve el valor del primer parámetro elevado a la potencia del segundo."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in degrees to radians."
-msgstr ""
+msgstr "Convierte una cantidad de grados a radianes."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / scalar"
-msgstr ""
+msgstr "1.0 / escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest integer to the parameter."
-msgstr ""
+msgstr "(Sólo GLES3) Encuentra el entero más cercano al parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest even integer to the parameter."
-msgstr ""
+msgstr "(Sólo GLES3) Encuentra el entero más cercano al parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
+msgstr "Ajusta el valor entre 0.0 y 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Extracts the sign of the parameter."
-msgstr ""
+msgstr "Extrae el signo del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the sine of the parameter."
-msgstr ""
+msgstr "Devuelve el seno del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Sólo GLES3) Devuelve el seno hiperbólico del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the square root of the parameter."
-msgstr ""
+msgstr "Devuelve la raíz cuadrada del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8589,6 +8298,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
+"\n"
+"Devuelve 0.0 si 'x' es menor que 'edge0' y 1.0 si x es mayor que 'edge1'. De "
+"lo contrario, el valor de retorno se interpola entre 0.0 y 1.0 utilizando "
+"polinomios de Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8596,71 +8310,69 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Step function( scalar(edge), scalar(x) ).\n"
+"\n"
+"Devuelve 0.0 si 'x' es menor que 'edge' y en caso contrario devuelve 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
-msgstr ""
+msgstr "Devuelve la tangente del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Sólo GLES3) Devuelve la tangente hiperbólica del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the truncated value of the parameter."
-msgstr ""
+msgstr "(Sólo GLES3) Encuentra el valor truncado del parámetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds scalar to scalar."
-msgstr ""
+msgstr "Añade escalar a escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides scalar by scalar."
-msgstr ""
+msgstr "Divide escalar por escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies scalar by scalar."
-msgstr ""
+msgstr "Multiplica escalar por escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two scalars."
-msgstr ""
+msgstr "Devuelve el resto de dos escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts scalar from scalar."
-msgstr ""
+msgstr "Resta escalar de escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar constant."
-msgstr "Cambiar constante escalar"
+msgstr "Constante de escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar uniform."
-msgstr "Cambiar Scalar uniforme"
+msgstr "Escalar uniforme."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
-msgstr ""
+msgstr "Realiza una búsqueda de texturas cúbicas."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the texture lookup."
-msgstr ""
+msgstr "Realiza una búsqueda de texturas."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Cubic texture uniform."
-msgstr "Cambiar textura uniforme"
+msgstr "Textura cúbica uniforme."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "2D texture uniform."
-msgstr "Cambiar textura uniforme"
+msgstr "Textura 2D uniforme."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform function."
-msgstr "Dialogo de Transformación..."
+msgstr "Función Transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8672,74 +8384,77 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
+"(GLES3 solamente) Calcula el producto exterior de un par de vectores.\n"
+"\n"
+"OuterProduct trata el primer parámetro 'c' como un vector de columna (matriz "
+"con una columna) y el segundo parámetro 'r' como un vector de fila (matriz "
+"con una fila) y multiplica una matriz algebraica lineal 'c * r', dando como "
+"resultado una matriz cuyo número de filas es el número de componentes en 'c' "
+"y cuyo número de columnas es el número de componentes en 'r'."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr ""
+msgstr "Compone una transformación a partir de cuatro vectores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
-msgstr ""
+msgstr "Se descompone y transforma en cuatro vectores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the determinant of a transform."
-msgstr ""
+msgstr "(Sólo GLES3) Calcula el determinante de una transformación."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the inverse of a transform."
-msgstr ""
+msgstr "(Sólo GLES3) Calcula el inverso de una transformación."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the transpose of a transform."
-msgstr ""
+msgstr "(Sólo GLES3) Calcula la transposición de una transformación."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies transform by transform."
-msgstr ""
+msgstr "Multiplica transformación por transformación."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by transform."
-msgstr ""
+msgstr "Multiplica vector por transformación."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform constant."
-msgstr "Se ha cancelado la transformación."
+msgstr "Constante Transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform uniform."
-msgstr "Se ha cancelado la transformación."
+msgstr "Transform uniforme."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector function."
-msgstr "Asignación a función."
+msgstr "Función Vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector operator."
-msgstr "Cambiar operador Vec"
+msgstr "Operador de Vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
-msgstr ""
+msgstr "Compone vector a partir de tres escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr ""
+msgstr "Descompone vector a tres escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
-msgstr ""
+msgstr "Calcula el producto cruzado de dos vectores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the distance between two points."
-msgstr ""
+msgstr "Devuelve la distancia entre dos puntos."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr ""
+msgstr "Calcula el producto punto de dos vectores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8748,36 +8463,43 @@ msgid ""
"incident vector, and Nref, the reference vector. If the dot product of I and "
"Nref is smaller than zero the return value is N. Otherwise -N is returned."
msgstr ""
+"Devuelve un vector que apunta en la misma dirección que un vector de "
+"referencia. La función tiene tres parámetros vectoriales: N, el vector a "
+"orientar, I, el vector incidente, y Nref, el vector de referencia. Si el "
+"producto punto de I y Nref es menor que cero, el valor de retorno es N. De "
+"lo contrario, se devuelve -N."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr ""
+msgstr "Calcula la longitud de un vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
-msgstr ""
+msgstr "Interpolación lineal entre dos vectores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr ""
+msgstr "Calcula el producto normalizado del vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
-msgstr ""
+msgstr "1.0 - vector"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / vector"
-msgstr ""
+msgstr "1.0 / vector"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns a vector that points in the direction of reflection ( a : incident "
"vector, b : normal vector )."
msgstr ""
+"Devuelve un vector que apunta en dirección a su reflexión ( a : vector "
+"incidente, b : vector normal)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns a vector that points in the direction of refraction."
-msgstr ""
+msgstr "Devuelve un vector que apunta en dirección a su refracción."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8787,6 +8509,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
+"\n"
+"Devuelve 0.0 si 'x' es menor que 'edge0' y 1.0 si 'x' es mayor que 'edge1'. "
+"De lo contrario, el valor de retorno se interpola entre 0.0 y 1.0 utilizando "
+"polinomios de Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8796,6 +8523,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
+"\n"
+"Devuelve 0.0 si 'x' es menor que 'edge0' y 1.0 si 'x' es mayor que 'edge1'. "
+"De lo contrario, el valor de retorno se interpola entre 0.0 y 1.0 utilizando "
+"polinomios de Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8803,6 +8535,9 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Step function( vector(edge), vector(x) ).\n"
+"\n"
+"Devuelve 0.0 si 'x' es menor que 'edge' y 1.0 en caso contrario."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8810,36 +8545,37 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Step function( scalar(edge), vector(x) ).\n"
+"\n"
+"Devuelve 0.0 si 'x' es menor que 'edge' y 1.0 en caso contrario."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
-msgstr ""
+msgstr "Añade vector a vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr ""
+msgstr "Divide vector por vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
-msgstr ""
+msgstr "Multiplica vector por vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two vectors."
-msgstr ""
+msgstr "Devuelve el resto de los dos vectores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts vector from vector."
-msgstr ""
+msgstr "Sustrae vector de vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector constant."
-msgstr "Cambiar Constante Vec."
+msgstr "Constante Vector."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector uniform."
-msgstr "Asignación a uniform."
+msgstr "Vector uniforme."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8847,56 +8583,76 @@ msgid ""
"output ports. This is a direct injection of code into the vertex/fragment/"
"light function, do not use it to write the function declarations inside."
msgstr ""
+"Expresión personalizada del lenguaje de shaders de Godot, con una cantidad "
+"determinada de puertos de entrada y salida. Esta es una inyección directa de "
+"código en la función vertex/fragment/light, no la uses para escribir "
+"declaraciones de funciones en su interior."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
msgstr ""
+"Los retornos decrecen en función del producto punto de la superficie normal "
+"y de la dirección de visión de la cámara (pasando las entradas asociadas a "
+"esta)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Scalar derivative function."
-msgstr ""
+msgstr "(Sólo GLES3) (Sólo modo Fragmento/Luz) Función de derivación escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Vector derivative function."
msgstr ""
+"(Sólo GLES3) (Sólo modo Fragmento/Luz) Función de derivación vectorial."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(Sólo GLES3) (Sólo modo Fragmento/Luz) (Vector) Derivado en 'x' utilizando "
+"diferenciación local."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(Sólo GLES3) (Sólo modo Fragmento/Luz) (Escalar) Derivado en 'x' utilizando "
+"diferenciación local."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(Sólo GLES3) (Sólo modo Fragmento/Luz) (Vector) Derivado en 'y' utilizando "
+"diferenciación local."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(Sólo GLES3) (Sólo modo Fragmento/Luz) (Escalar) Derivado en 'y' utilizando "
+"diferenciación local."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(Sólo GLES3) (Sólo modo Fragmento/Luz) (Vector) Suma de la derivada absoluta "
+"en 'x' e 'y'."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(Sólo GLES3) (Sólo modo Fragmento/Luz) (Escalar) Suma del derivado absoluto "
+"en 'x' e 'y'."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "VisualShader"
@@ -8987,7 +8743,7 @@ msgstr "Exportar los recursos seleccionado (incluyendo dependencias)"
#: editor/project_export.cpp
msgid "Export Mode:"
-msgstr "Modo de exportación:"
+msgstr "Modo de Exportación:"
#: editor/project_export.cpp
msgid "Resources to export:"
@@ -9009,7 +8765,7 @@ msgstr ""
#: editor/project_export.cpp
msgid "Patches"
-msgstr "Exportaciones previas"
+msgstr "Parches"
#: editor/project_export.cpp
msgid "Make Patch"
@@ -9025,7 +8781,7 @@ msgstr "Personalizado (separado por comas):"
#: editor/project_export.cpp
msgid "Feature List:"
-msgstr "Lista de características:"
+msgstr "Lista de Características:"
#: editor/project_export.cpp
msgid "Script"
@@ -9033,7 +8789,7 @@ msgstr "Script"
#: editor/project_export.cpp
msgid "Script Export Mode:"
-msgstr "Modo de exportación de scipts:"
+msgstr "Modo de Exportación de Scipts:"
#: editor/project_export.cpp
msgid "Text"
@@ -9098,15 +8854,15 @@ msgstr "El directorio ya contiene un proyecto de Godot."
#: editor/project_manager.cpp
msgid "New Game Project"
-msgstr "Nuevo proyecto de juego"
+msgstr "Nuevo Proyecto de Juego"
#: editor/project_manager.cpp
msgid "Imported Project"
-msgstr "Proyecto importado"
+msgstr "Proyecto Importado"
#: editor/project_manager.cpp
msgid "Invalid Project Name."
-msgstr "Nombre de proyecto inválido."
+msgstr "Nombre de Proyecto Inválido."
#: editor/project_manager.cpp
msgid "Couldn't create folder."
@@ -9146,15 +8902,15 @@ msgstr "Los siguientes archivos no se pudieron extraer del paquete:"
#: editor/project_manager.cpp
msgid "Rename Project"
-msgstr "Renombrar proyecto"
+msgstr "Renombrar Proyecto"
#: editor/project_manager.cpp
msgid "Import Existing Project"
-msgstr "Importar proyecto existente"
+msgstr "Importar Proyecto Existente"
#: editor/project_manager.cpp
msgid "Import & Edit"
-msgstr "Importar y editar"
+msgstr "Importar y Editar"
#: editor/project_manager.cpp
msgid "Create New Project"
@@ -9166,11 +8922,11 @@ msgstr "Crear y editar"
#: editor/project_manager.cpp
msgid "Install Project:"
-msgstr "Instalar proyecto:"
+msgstr "Instalar Proyecto:"
#: editor/project_manager.cpp
msgid "Install & Edit"
-msgstr "Instalar y editar"
+msgstr "Instalar y Editar"
#: editor/project_manager.cpp
msgid "Project Name:"
@@ -9178,11 +8934,11 @@ msgstr "Nombre del Proyecto:"
#: editor/project_manager.cpp
msgid "Project Path:"
-msgstr "Ruta del proyecto:"
+msgstr "Ruta del Proyecto:"
#: editor/project_manager.cpp
msgid "Project Installation Path:"
-msgstr "Ruta de instalación del proyecto:"
+msgstr "Ruta de Instalación del Proyecto:"
#: editor/project_manager.cpp
msgid "Renderer:"
@@ -9228,7 +8984,7 @@ msgstr ""
#: editor/project_manager.cpp
msgid "Unnamed Project"
-msgstr "Proyecto sin nombre"
+msgstr "Proyecto Sin Nombre"
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -9239,7 +8995,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"
@@ -9251,8 +9006,8 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"El siguiente archivo de configuración del proyecto no especifica la versión "
-"de Godot con la que fue creado.\n"
+"El archivo de configuración del proyecto no especifica la versión de Godot "
+"con la que fue creado.\n"
"\n"
"%s\n"
"\n"
@@ -9262,7 +9017,6 @@ msgstr ""
"motor."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"The following project settings file was generated by an older engine "
"version, and needs to be converted for this version:\n"
@@ -9273,13 +9027,13 @@ msgid ""
"Warning: You won't 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 archivo de configuración del proyecto fue generado en una versión "
+"anterior del motor, por lo que es necesario convertirlo para esta versión:\n"
"\n"
"%s\n"
"\n"
"¿Quieres convertirlo?\n"
-"Advertencia: ya no podrá abrir el proyecto con versiones anteriores del "
+"Advertencia: Ya no podrá abrir el proyecto con versiones anteriores del "
"motor."
#: editor/project_manager.cpp
@@ -9291,15 +9045,14 @@ msgstr ""
"cuya configuración no es compatible con esta versión."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
-"No hay una escena principal definida para ejecutar el proyecto.\n"
-"Por favor elija la escena principal en \"Ajustes del Proyecto\" en la "
-"categoría \"Application\"."
+"No se puede ejecutar el proyecto: no hay una escena principal definida.\n"
+"Por favor, edita el proyecto y configura la escena principal en los Ajustes "
+"del proyecto, en la categoría \"Application\"."
#: editor/project_manager.cpp
msgid ""
@@ -9310,63 +9063,58 @@ msgstr ""
"Por favor, edita el proyecto para activar el importado inicial."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Are you sure to run %d projects at once?"
-msgstr "¿Seguro que quieres ejecutar más de un proyecto?"
+msgstr "¿Estás seguro de que vas a ejecutar %d proyectos a la vez?"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove %d projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"¿Quieres quitar el proyecto de la lista? (El contenido de la carpeta no se "
-"modificará)"
+"¿Eliminar %d proyectos de la lista?\n"
+"El contenido de las carpetas del proyecto no se modificará."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove this project from the list?\n"
"The project folder's contents won't be modified."
msgstr ""
-"¿Quieres quitar el proyecto de la lista? (El contenido de la carpeta no se "
-"modificará)"
+"¿Eliminar este proyecto de la lista?\n"
+"El contenido de la carpeta de proyecto no se modificará."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list? (Folders contents will not be "
"modified)"
msgstr ""
-"¿Quieres quitar el proyecto de la lista? (El contenido de la carpeta no se "
-"modificará)"
+"¿Eliminar todos los proyectos faltantes de la lista? (El contenido de las "
+"carpetas no se modificará)"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
msgstr ""
"Idioma cambiado.\n"
-"La interfaz se actualizará la próxima vez que se inicie el editor o el "
-"gestor de proyectos."
+"La interfaz se actualizará después de reiniciar el editor o el gestor de "
+"proyectos."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
msgstr ""
-"Estás a punto de analizar %s carpetas en busca de proyectos de Godot. "
-"¿Quieres continuar?"
+"¿Está seguro de escanear %s carpetas para los proyectos de Godot "
+"existentes?\n"
+"Esto puede tardar un poco."
#: editor/project_manager.cpp
msgid "Project Manager"
-msgstr "Administrador de proyectos"
+msgstr "Administrador de Proyectos"
#: editor/project_manager.cpp
msgid "Project List"
-msgstr "Lista de proyectos"
+msgstr "Listado de Proyectos"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9378,12 +9126,11 @@ msgstr "Selecciona una carpeta para escanear"
#: editor/project_manager.cpp
msgid "New Project"
-msgstr "Nuevo proyecto"
+msgstr "Nuevo Proyecto"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Remove Missing"
-msgstr "Quitar punto"
+msgstr "Eliminar Faltantes"
#: editor/project_manager.cpp
msgid "Templates"
@@ -9395,21 +9142,19 @@ msgstr "Salir"
#: editor/project_manager.cpp
msgid "Restart Now"
-msgstr "Reiniciar ahora"
+msgstr "Reiniciar Ahora"
#: editor/project_manager.cpp
msgid "Can't run project"
msgstr "No se puede ejecutar el proyecto"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
"Actualmente no tienes ningún proyecto.\n"
-"¿Quieres explorar los proyectos de ejemplo oficiales en la Biblioteca de "
-"Assets?"
+"¿Quieres explorar proyectos de ejemplo oficiales en la Biblioteca de Assets?"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -9417,15 +9162,15 @@ msgstr "Tecla "
#: editor/project_settings_editor.cpp
msgid "Joy Button"
-msgstr "Botón del mando"
+msgstr "Botón del Mando"
#: editor/project_settings_editor.cpp
msgid "Joy Axis"
-msgstr "Eje del mando"
+msgstr "Eje del Mando"
#: editor/project_settings_editor.cpp
msgid "Mouse Button"
-msgstr "Botón del ratón"
+msgstr "Botón del Mouse"
#: editor/project_settings_editor.cpp
msgid ""
@@ -9436,9 +9181,8 @@ msgstr ""
"'\\' o '\"'"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "An action with the name '%s' already exists."
-msgstr "¡La acción «%s» ya existe!"
+msgstr "Ya existe una acción con el nombre '%s'."
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
@@ -9450,11 +9194,11 @@ msgstr "Cambiar zona muerta de la acción"
#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
-msgstr "Añadir evento de acción de entrada"
+msgstr "Añadir Evento de Acción de Entrada"
#: editor/project_settings_editor.cpp
msgid "All Devices"
-msgstr "Todos los dispositivos"
+msgstr "Todos los Dispositivos"
#: editor/project_settings_editor.cpp
msgid "Device"
@@ -9462,7 +9206,7 @@ msgstr "Dispositivo"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
-msgstr "Mayús+"
+msgstr "Shift+"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Alt+"
@@ -9478,35 +9222,35 @@ msgstr "Presiona una tecla..."
#: editor/project_settings_editor.cpp
msgid "Mouse Button Index:"
-msgstr "Ãndice de botón del ratón:"
+msgstr "Ãndice de Botones del Mouse:"
#: editor/project_settings_editor.cpp
msgid "Left Button"
-msgstr "Botón izquierdo"
+msgstr "Botón Izquierdo"
#: editor/project_settings_editor.cpp
msgid "Right Button"
-msgstr "Botón derecho"
+msgstr "Botón Derecho"
#: editor/project_settings_editor.cpp
msgid "Middle Button"
-msgstr "Botón del medio"
+msgstr "Botón Central"
#: editor/project_settings_editor.cpp
msgid "Wheel Up Button"
-msgstr "Botón rueda arriba"
+msgstr "Botón Subir la Rueda"
#: editor/project_settings_editor.cpp
msgid "Wheel Down Button"
-msgstr "Botón rueda abajo"
+msgstr "Botón Bajar la Rueda"
#: editor/project_settings_editor.cpp
msgid "Wheel Left Button"
-msgstr "Botón rueda izquierda"
+msgstr "Botón Rueda Izquierda"
#: editor/project_settings_editor.cpp
msgid "Wheel Right Button"
-msgstr "Botón rueda derecha"
+msgstr "Botón Rueda Derecha"
#: editor/project_settings_editor.cpp
msgid "X Button 1"
@@ -9518,7 +9262,7 @@ msgstr "Botón X 2"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
-msgstr "Ãndice de eje del mando:"
+msgstr "Ãndice de Ejes del Mando:"
#: editor/project_settings_editor.cpp
msgid "Axis"
@@ -9526,19 +9270,19 @@ msgstr "Eje"
#: editor/project_settings_editor.cpp
msgid "Joypad Button Index:"
-msgstr "Ãndice de boton del mando:"
+msgstr "Ãndice de Botones del Mando:"
#: editor/project_settings_editor.cpp
msgid "Erase Input Action"
-msgstr "Borrar acción de entrada"
+msgstr "Eliminar Acción de Entrada"
#: editor/project_settings_editor.cpp
msgid "Erase Input Action Event"
-msgstr "Borrar evento de acción de entrada"
+msgstr "Eliminar Evento de Acción de Entrada"
#: editor/project_settings_editor.cpp
msgid "Add Event"
-msgstr "Añadir evento"
+msgstr "Añadir Evento"
#: editor/project_settings_editor.cpp
msgid "Button"
@@ -9546,27 +9290,27 @@ msgstr "Botón"
#: editor/project_settings_editor.cpp
msgid "Left Button."
-msgstr "Botón izquierdo."
+msgstr "Botón Izquierdo."
#: editor/project_settings_editor.cpp
msgid "Right Button."
-msgstr "Botón derecho."
+msgstr "Botón Derecho."
#: editor/project_settings_editor.cpp
msgid "Middle Button."
-msgstr "Botón central."
+msgstr "Botón Central."
#: editor/project_settings_editor.cpp
msgid "Wheel Up."
-msgstr "Rueda hacia arriba."
+msgstr "Rueda Hacia Arriba."
#: editor/project_settings_editor.cpp
msgid "Wheel Down."
-msgstr "Rueda hacia abajo."
+msgstr "Rueda Hacia Abajo."
#: editor/project_settings_editor.cpp
msgid "Add Global Property"
-msgstr "Añadir propiedad global"
+msgstr "Añadir Propiedad Global"
#: editor/project_settings_editor.cpp
msgid "Select a setting item first!"
@@ -9582,7 +9326,7 @@ msgstr "El ajuste '%s' es interno y no puede ser eliminado."
#: editor/project_settings_editor.cpp
msgid "Delete Item"
-msgstr "Eliminar elemento"
+msgstr "Eliminar Ãtem"
#: editor/project_settings_editor.cpp
msgid ""
@@ -9606,47 +9350,47 @@ msgstr "Los ajustes se han guardado correctamente."
#: editor/project_settings_editor.cpp
msgid "Override for Feature"
-msgstr "Sobrescribir la característica"
+msgstr "Sobrescribir la Característica"
#: editor/project_settings_editor.cpp
msgid "Add Translation"
-msgstr "Añadir traducción"
+msgstr "Añadir Traducción"
#: editor/project_settings_editor.cpp
msgid "Remove Translation"
-msgstr "Quitar traducción"
+msgstr "Eliminar Traducción"
#: editor/project_settings_editor.cpp
msgid "Add Remapped Path"
-msgstr "Añadir ruta remapeada"
+msgstr "Añadir Ruta Remapeada"
#: editor/project_settings_editor.cpp
msgid "Resource Remap Add Remap"
-msgstr "Añadir remapeo de recursos"
+msgstr "Añadir Remapeo de Recursos"
#: editor/project_settings_editor.cpp
msgid "Change Resource Remap Language"
-msgstr "Cambiar idioma de remapeo de recursos"
+msgstr "Cambiar Idioma de Remapeo de Recursos"
#: editor/project_settings_editor.cpp
msgid "Remove Resource Remap"
-msgstr "Quitar remapeo de recursos"
+msgstr "Eliminar Remapeo de Recursos"
#: editor/project_settings_editor.cpp
msgid "Remove Resource Remap Option"
-msgstr "Quitar opción de remapeo de recursos"
+msgstr "Eliminar Opción de Remapeo de Recursos"
#: editor/project_settings_editor.cpp
msgid "Changed Locale Filter"
-msgstr "Cambiar filtro de localización"
+msgstr "Cambiar Filtro de Localización"
#: editor/project_settings_editor.cpp
msgid "Changed Locale Filter Mode"
-msgstr "Modo de filtro de localización cambiado"
+msgstr "Cambiar Modo de Filtro Local"
#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
-msgstr "Ajustes del proyecto (project.godot)"
+msgstr "Ajustes del Proyecto (project.godot)"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "General"
@@ -9657,13 +9401,12 @@ msgid "Override For..."
msgstr "Sustituir por..."
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-#, fuzzy
msgid "The editor must be restarted for changes to take effect."
-msgstr "Se debe reiniciar el editor para que los cambios surtan efecto"
+msgstr "Debe reiniciarse el editor para que los cambios surtan efecto."
#: editor/project_settings_editor.cpp
msgid "Input Map"
-msgstr "Mapa de entradas"
+msgstr "Mapa de Entrada"
#: editor/project_settings_editor.cpp
msgid "Action:"
@@ -9715,17 +9458,15 @@ msgstr "Idioma"
#: editor/project_settings_editor.cpp
msgid "Locales Filter"
-msgstr "Filtro de localizaciones"
+msgstr "Filtro de Idioma"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show All Locales"
-msgstr "Mostrar todas las localizaciones"
+msgstr "Mostrar Todos los Idiomas"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show Selected Locales Only"
-msgstr "Mostrar solo las configuraciones regionales seleccionadas"
+msgstr "Mostrar Sólo las Localizaciones Seleccionadas"
#: editor/project_settings_editor.cpp
msgid "Filter mode:"
@@ -9745,11 +9486,11 @@ msgstr "Cero"
#: editor/property_editor.cpp
msgid "Easing In-Out"
-msgstr "Transición entrada-salida"
+msgstr "Easing In-Out"
#: editor/property_editor.cpp
msgid "Easing Out-In"
-msgstr "Transición salida-entrada"
+msgstr "Easing Out-In"
#: editor/property_editor.cpp
msgid "File..."
@@ -9765,7 +9506,7 @@ msgstr "Asignar"
#: editor/property_editor.cpp
msgid "Select Node"
-msgstr "Seleccionar nodo"
+msgstr "Seleccionar Nodo"
#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
@@ -9773,7 +9514,7 @@ msgstr "Error al cargar el archivo: ¡No es un recurso!"
#: editor/property_editor.cpp
msgid "Pick a Node"
-msgstr "Selecciona un nodo"
+msgstr "Selecciona un Nodo"
#: editor/property_editor.cpp
msgid "Bit %d, val %d."
@@ -9781,15 +9522,15 @@ msgstr "Bit %d, valor %d."
#: editor/property_selector.cpp
msgid "Select Property"
-msgstr "Seleccionar propiedad"
+msgstr "Seleccionar Propiedad"
#: editor/property_selector.cpp
msgid "Select Virtual Method"
-msgstr "Seleccionar método virtual"
+msgstr "Seleccionar Método Virtual"
#: editor/property_selector.cpp
msgid "Select Method"
-msgstr "Seleccionar método"
+msgstr "Seleccionar Método"
#: editor/pvrtc_compress.cpp
msgid "Could not execute PVRTC tool:"
@@ -9802,7 +9543,7 @@ msgstr ""
#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
msgid "Batch Rename"
-msgstr "Renombrar en masa"
+msgstr "Renombrar por lote"
#: editor/rename_dialog.cpp
msgid "Prefix"
@@ -9813,9 +9554,8 @@ msgid "Suffix"
msgstr "Sufijo"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Advanced Options"
-msgstr "Opciones avanzadas"
+msgstr "Opciones Avanzadas"
#: editor/rename_dialog.cpp
msgid "Substitute"
@@ -9851,7 +9591,7 @@ msgstr ""
#: editor/rename_dialog.cpp
msgid "Per Level counter"
-msgstr "Contador por nivel"
+msgstr "Contador por Nivel"
#: editor/rename_dialog.cpp
msgid "If set the counter restarts for each group of child nodes"
@@ -9943,19 +9683,19 @@ msgstr "Modo de ejecución:"
#: editor/run_settings_dialog.cpp
msgid "Current Scene"
-msgstr "Escena actual"
+msgstr "Escena Actual"
#: editor/run_settings_dialog.cpp
msgid "Main Scene"
-msgstr "Escena principal"
+msgstr "Escena Principal"
#: editor/run_settings_dialog.cpp
msgid "Main Scene Arguments:"
-msgstr "Argumentos de escena principal:"
+msgstr "Argumentos de Escena Principal:"
#: editor/run_settings_dialog.cpp
msgid "Scene Run Settings"
-msgstr "Ajustes de ejecución de escena"
+msgstr "Configuración de Ejecución de Escena"
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
@@ -9975,15 +9715,15 @@ msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Instance Scene(s)"
-msgstr "Instanciar escenas"
+msgstr "Instanciar Escena(s)"
#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
-msgstr "Instanciar escena hija"
+msgstr "Instanciar Escena Hija"
#: editor/scene_tree_dock.cpp
msgid "Clear Script"
-msgstr "Quitar script"
+msgstr "Eliminar Script"
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
@@ -9991,15 +9731,15 @@ msgstr "Esta operación no puede ser hecha en el árbol raíz."
#: editor/scene_tree_dock.cpp
msgid "Move Node In Parent"
-msgstr "Mover nodo dentro del padre"
+msgstr "Mover Nodo Dentro del Padre"
#: editor/scene_tree_dock.cpp
msgid "Move Nodes In Parent"
-msgstr "Mover nodos dentro del padre"
+msgstr "Mover Nodos Dentro del Padre"
#: editor/scene_tree_dock.cpp
msgid "Duplicate Node(s)"
-msgstr "Duplicar nodo(s)"
+msgstr "Duplicar Nodo(s)"
#: editor/scene_tree_dock.cpp
msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
@@ -10021,7 +9761,7 @@ msgstr "Convertir nodo como Raíz"
#: editor/scene_tree_dock.cpp
msgid "Delete Node(s)?"
-msgstr "¿Eliminar nodo(s)?"
+msgstr "¿Eliminar Nodo(s)?"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -10033,7 +9773,7 @@ msgstr "Esta operación no puede realizarse en escenas instanciadas."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
-msgstr "Guardar nueva escena como..."
+msgstr "Guardar Nueva Escena Como..."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10045,7 +9785,7 @@ msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Editable Children"
-msgstr "Hijos editables"
+msgstr "Hijos Editables"
#: editor/scene_tree_dock.cpp
msgid "Load As Placeholder"
@@ -10053,7 +9793,7 @@ msgstr "Cargar como Placeholder"
#: editor/scene_tree_dock.cpp
msgid "Make Local"
-msgstr "Crear local"
+msgstr "Crear Local"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -10076,9 +9816,8 @@ msgid "User Interface"
msgstr "Interfaz de usuario"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Other Node"
-msgstr "Eliminar Nodo"
+msgstr "Otro Nodo"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -10094,15 +9833,15 @@ msgstr "Añadir Script"
#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
-msgstr "Eliminar nodo(s)"
+msgstr "Eliminar Nodo(s)"
#: editor/scene_tree_dock.cpp
msgid ""
"Couldn't save new scene. Likely dependencies (instances) couldn't be "
"satisfied."
msgstr ""
-"No se pudo guardar la escena nueva. Es posible que no se hayan podido "
-"resolver las dependencias (instancias)."
+"No se pudo guardar la nueva escena. Las posibles dependencias (instancias) "
+"no pudieron ser resueltas."
#: editor/scene_tree_dock.cpp
msgid "Error saving scene."
@@ -10118,20 +9857,24 @@ msgstr "Sub-Recursos"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
-msgstr "Limpiar heredado"
+msgstr "Limpiar Heredado"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Open Documentation"
-msgstr "Abrir documentación"
+msgstr "Abrir Documentación"
#: editor/scene_tree_dock.cpp
msgid "Add Child Node"
-msgstr "Añadir nodo hijo"
+msgstr "Añadir Nodo Hijo"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Colapsar Todo"
#: editor/scene_tree_dock.cpp
msgid "Change Type"
-msgstr "Cambiar tipo"
+msgstr "Cambiar Tipo"
#: editor/scene_tree_dock.cpp
msgid "Extend Script"
@@ -10139,27 +9882,28 @@ msgstr "Extender Script"
#: editor/scene_tree_dock.cpp
msgid "Make Scene Root"
-msgstr "Convertir en raíz de escena"
+msgstr "Convertir en Raíz de Escena"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
-msgstr "Unir desde escena"
+msgstr "Unir Desde Escena"
#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
-msgstr "Guardar rama como escena"
+msgstr "Guardar Rama como Escena"
#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Copy Node Path"
-msgstr "Copiar ruta del nodo"
+msgstr "Copiar Ruta del Nodo"
#: editor/scene_tree_dock.cpp
msgid "Delete (No Confirm)"
msgstr "Eliminar (Sin confirmar)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr "Añadir/Crear un nuevo nodo"
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Añadir/Crear un Nuevo Nodo"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10191,22 +9935,19 @@ msgstr "¿Quieres limpiar la herencia? (No se puede deshacer)"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visible"
-msgstr "Act/Desact. Visible"
+msgstr "Act./Desact. Visible"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Unlock Node"
-msgstr "Seleccionar nodo"
+msgstr "Desbloquear Nodo"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Button Group"
-msgstr "Botón 7"
+msgstr "Grupo de Botones"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "(Connecting From)"
-msgstr "Error de conexión"
+msgstr "(Conectando Desde)"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -10237,9 +9978,8 @@ msgstr ""
"Haz clic para mostrar el panel de grupos."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Open Script:"
-msgstr "Abrir script"
+msgstr "Abrir Script:"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10259,7 +9999,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid "Toggle Visibility"
-msgstr "Cambiar visibilidad"
+msgstr "Cambiar Visibilidad"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10276,11 +10016,11 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid "Rename Node"
-msgstr "Renombrar nodo"
+msgstr "Renombrar Nodo"
#: editor/scene_tree_editor.cpp
msgid "Scene Tree (Nodes):"
-msgstr "Ãrbol de escenas (nodos):"
+msgstr "Ãrbol de Escenas (Nodos):"
#: editor/scene_tree_editor.cpp
msgid "Node Configuration Warning!"
@@ -10288,42 +10028,35 @@ msgstr "¡Alerta de configuración de nodos!"
#: editor/scene_tree_editor.cpp
msgid "Select a Node"
-msgstr "Selecciona un nodo"
+msgstr "Selecciona un Nodo"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is empty."
-msgstr "La ruta está vacia"
+msgstr "La ruta está vacía."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Filename is empty."
-msgstr "Nombre de archivo vacío"
+msgstr "El nombre del archivo está vacío."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is not local."
-msgstr "La ruta no es local"
+msgstr "La ruta no es local."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid base path."
-msgstr "Ruta base incorrecta"
+msgstr "Ruta base incorrecta."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "A directory with the same name exists."
-msgstr "Ya existe un directorio con el mismo nombre"
+msgstr "Ya existe un directorio con el mismo nombre."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid extension."
-msgstr "La extensión no es correcta"
+msgstr "Extensión inválida."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Wrong extension chosen."
-msgstr "Se ha elegido una extensión incorrecta"
+msgstr "Se ha elegido una extensión incorrecta."
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
@@ -10342,52 +10075,44 @@ msgid "N/A"
msgstr "N/D"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Open Script / Choose Location"
-msgstr "Abrir script/Elegir ubicación"
+msgstr "Abrir Script / Seleccionar Ubicación"
#: editor/script_create_dialog.cpp
msgid "Open Script"
-msgstr "Abrir script"
+msgstr "Abrir Script"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, it will be reused."
-msgstr "El archivo ya existe, será reutilizado"
+msgstr "El archivo ya existe, será reutilizado."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid class name."
-msgstr "El nombre de clase no es correcto"
+msgstr "Nombre de clase inválido."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid inherited parent name or path."
-msgstr "Nombre heredado o ruta inválida"
+msgstr "Nombre o ruta del padre heredado inválido."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script is valid."
-msgstr "Script válido"
+msgstr "El script es válido."
#: editor/script_create_dialog.cpp
msgid "Allowed: a-z, A-Z, 0-9 and _"
msgstr "Permitido: a-z, A-Z, 0-9 y _"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Built-in script (into scene file)."
-msgstr "Script integrado (en el archivo de escena)"
+msgstr "Script Integrado (en el archivo de escena)."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will create a new script file."
-msgstr "Crear nuevo archivo de script"
+msgstr "Se creará un nuevo archivo de script."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will load an existing script file."
-msgstr "Cargar archivo de script existente"
+msgstr "Se cargará un archivo de script existente."
#: editor/script_create_dialog.cpp
msgid "Language"
@@ -10407,7 +10132,7 @@ msgstr "Plantilla"
#: editor/script_create_dialog.cpp
msgid "Built-in Script"
-msgstr "Script integrado"
+msgstr "Script Integrado"
#: editor/script_create_dialog.cpp
msgid "Attach Node Script"
@@ -10439,7 +10164,7 @@ msgstr "Proceso Hijo Conectado"
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
-msgstr "Error de copia"
+msgstr "Error de Copia"
#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
@@ -10451,7 +10176,7 @@ msgstr "Inspeccionar Instancia Siguiente"
#: editor/script_editor_debugger.cpp
msgid "Stack Frames"
-msgstr "Frames del stack"
+msgstr "Frames del Stack"
#: editor/script_editor_debugger.cpp
msgid "Profiler"
@@ -10479,11 +10204,11 @@ msgstr "Total:"
#: editor/script_editor_debugger.cpp
msgid "Video Mem"
-msgstr "Memoria de vídeo"
+msgstr "Memoria de Vídeo"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
-msgstr "Ruta de recursos"
+msgstr "Ruta de Recursos"
#: editor/script_editor_debugger.cpp
msgid "Type"
@@ -10507,7 +10232,7 @@ msgstr "Controles seleccionados:"
#: editor/script_editor_debugger.cpp
msgid "Clicked Control Type:"
-msgstr "Tipo de controles seleccionados:"
+msgstr "Tipos de Control Seleccionados:"
#: editor/script_editor_debugger.cpp
msgid "Live Edit Root:"
@@ -10515,11 +10240,11 @@ msgstr "Raíz de edición en vivo:"
#: editor/script_editor_debugger.cpp
msgid "Set From Tree"
-msgstr "Establecer desde árbol"
+msgstr "Establecer Desde Ãrbol"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
-msgstr ""
+msgstr "Exportar los datos como CSV"
#: editor/settings_config_dialog.cpp
msgid "Erase Shortcut"
@@ -10539,23 +10264,23 @@ msgstr "Atajos"
#: editor/settings_config_dialog.cpp
msgid "Binding"
-msgstr "Asignación"
+msgstr "Binding"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
-msgstr "Cambiar radio de luces"
+msgstr "Cambiar Radio de Luces"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
-msgstr "Cambiar el ángulo de emisión de AudioStreamPlayer3D"
+msgstr "Cambiar Ãngulo de Emisión de AudioStreamPlayer3D"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera FOV"
-msgstr "Cambiar FOV de cámara"
+msgstr "Cambiar FOV de Cámara"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera Size"
-msgstr "Cambiar tamaño de cámara"
+msgstr "Cambiar Tamaño de Cámara"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Notifier AABB"
@@ -10567,51 +10292,51 @@ msgstr "Cambiar partículas AABB"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Probe Extents"
-msgstr "Cambiar alcance de la sonda"
+msgstr "Cambiar Alcance de la Sonda"
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
-msgstr "Cambiar radio de shape esférico"
+msgstr "Cambiar Radio de Sphere Shape"
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
-msgstr "Cambiar radio de shape caja"
+msgstr "Cambiar Radio de Box Shape"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Capsule Shape Radius"
-msgstr "Cambiar radio de shape cápsula"
+msgstr "Cambiar Radio de Capsule Shape"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Capsule Shape Height"
-msgstr "Cambiar altura de shape cápsula"
+msgstr "Cambiar Altura de Capsule Shape"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Cylinder Shape Radius"
-msgstr "Cambiar radio de Shape Cilindro"
+msgstr "Cambiar Radio de Cylinder Shape"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Cylinder Shape Height"
-msgstr "Cambiar altura de Shape Cilindro"
+msgstr "Cambiar Altura de Cylinder Shape"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Ray Shape Length"
-msgstr "Cambiar longitud de forma de rayo"
+msgstr "Cambiar Longitud de Ray Shape"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
-msgstr "Cambiar Radio de Cilindro"
+msgstr "Cambiar Radio de Cylinder"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Height"
-msgstr "Cambiar Altura de Cilindro"
+msgstr "Cambiar Altura de Cylinder"
#: modules/csg/csg_gizmos.cpp
msgid "Change Torus Inner Radius"
-msgstr "Cambiar radio interno de Toro"
+msgstr "Cambiar Radio Interno de Torus"
#: modules/csg/csg_gizmos.cpp
msgid "Change Torus Outer Radius"
-msgstr "Cambiar radio externo de Toro"
+msgstr "Cambiar Radio Externo de Torus"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -10639,7 +10364,7 @@ msgstr "Plataforma"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Dynamic Library"
-msgstr "Librería dinámica"
+msgstr "Librería Dinámica"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Add an architecture entry"
@@ -10651,12 +10376,11 @@ msgstr "GDNativeLibrary"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
-msgstr ""
+msgstr "Activar Singleton GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Disabled GDNative Singleton"
-msgstr "Desactivar indicador de actividad"
+msgstr "GDNative Singleton desactivado"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Library"
@@ -10716,11 +10440,11 @@ msgstr "El objeto no puede proporcionar una longitud."
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
-msgstr "Siguiente plano"
+msgstr "Siguiente Plano"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Previous Plane"
-msgstr "Plano anterior"
+msgstr "Anterior Plano"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Plane:"
@@ -10728,11 +10452,11 @@ msgstr "Plano:"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Floor"
-msgstr "Siguiente suelo"
+msgstr "Siguiente Suelo"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Previous Floor"
-msgstr "Suelo anterior"
+msgstr "Anterior Suelo"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Floor:"
@@ -10740,16 +10464,15 @@ msgstr "Suelo:"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Delete Selection"
-msgstr "GridMap Quitar seleccionados"
+msgstr "GridMap Eliminar Seleccionados"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Fill Selection"
-msgstr "Llenar selección en GridMap"
+msgstr "Rellenar Selección en GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Paste Selection"
-msgstr "GridMap Quitar seleccionados"
+msgstr "Pegar lo Seleccionado en GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Paint"
@@ -10757,63 +10480,63 @@ msgstr "Pintar GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Grid Map"
-msgstr "Mapa de cuadrícula"
+msgstr "Grid Map"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Snap View"
-msgstr "Anclar Vista"
+msgstr "Ajustar Vista"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Disabled"
-msgstr "Clip deshabilitado"
+msgstr "Clip Deshabilitado"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Above"
-msgstr "Clip arriba"
+msgstr "Clip Arriba"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Below"
-msgstr "Clip debajo"
+msgstr "Clip Abajo"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Edit X Axis"
-msgstr "Editar eje X"
+msgstr "Editar Eje X"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Edit Y Axis"
-msgstr "Editar eje Y"
+msgstr "Editar Eje Y"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Edit Z Axis"
-msgstr "Editar eje Z"
+msgstr "Editar Eje Z"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cursor Rotate X"
-msgstr "Rotar cursor X"
+msgstr "Rotar Cursor X"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cursor Rotate Y"
-msgstr "Rotar cursor Y"
+msgstr "Rotar Cursor Y"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cursor Rotate Z"
-msgstr "Rotar cursor Z"
+msgstr "Rotar Cursor Z"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cursor Back Rotate X"
-msgstr "Rotar cursor trasero X"
+msgstr "Rotar Cursor Trasero X"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cursor Back Rotate Y"
-msgstr "Rotar cursor trasero Y"
+msgstr "Rotar Cursor Trasero Y"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cursor Back Rotate Z"
-msgstr "Rotar cursor trasero Z"
+msgstr "Rotar Cursor Trasero Z"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cursor Clear Rotation"
-msgstr "Quitar rotación del cursor"
+msgstr "Eliminar Rotación del Cursor"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clear Selection"
@@ -10821,15 +10544,15 @@ msgstr "Deseleccionar"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Fill Selection"
-msgstr "Llenar la selección"
+msgstr "Rellenar Selección"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
-msgstr "Ajustes del GridMap"
+msgstr "Configuración de GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Pick Distance:"
-msgstr "Seleccionar distancia:"
+msgstr "Seleccionar Distancia:"
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
@@ -10893,7 +10616,7 @@ msgstr "Bake NavMesh"
#: modules/recast/navigation_mesh_editor_plugin.cpp
msgid "Clear the navigation mesh."
-msgstr "Restablecer mesh de navegación."
+msgstr "Limpiar el navigation mesh."
#: modules/recast/navigation_mesh_generator.cpp
msgid "Setting up Configuration..."
@@ -10901,7 +10624,7 @@ msgstr "Estableciendo la configuración..."
#: modules/recast/navigation_mesh_generator.cpp
msgid "Calculating grid size..."
-msgstr "Calculando tamaño de cuadrícula..."
+msgstr "Calculando tamaño de grid..."
#: modules/recast/navigation_mesh_generator.cpp
msgid "Creating heightfield..."
@@ -10933,11 +10656,11 @@ msgstr "Creando polymesh..."
#: modules/recast/navigation_mesh_generator.cpp
msgid "Converting to native navigation mesh..."
-msgstr "Convirtiendo a mesh de navegación nativo..."
+msgstr "Convertir a navigation mesh nativo..."
#: modules/recast/navigation_mesh_generator.cpp
msgid "Navigation Mesh Generator Setup:"
-msgstr "Configuración del Generador de Meshes de Navegación:"
+msgstr "Configuración del Generador de Navigation Mesh:"
#: modules/recast/navigation_mesh_generator.cpp
msgid "Parsing Geometry..."
@@ -10987,23 +10710,23 @@ msgstr "Desbordamiento de pila en el nivel: "
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Signal Arguments"
-msgstr "Cambiar argumentos de la señal"
+msgstr "Cambiar Argumentos de la Señal"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Argument Type"
-msgstr "Cambiar tipo del argumento"
+msgstr "Cambiar Tipo del Argumento"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Argument name"
-msgstr "Cambiar nombre del argumento"
+msgstr "Cambiar Nombre del Argumento"
#: modules/visual_script/visual_script_editor.cpp
msgid "Set Variable Default Value"
-msgstr "Establecer valor por defecto de la variable"
+msgstr "Establecer Valor por Defecto de la Variable"
#: modules/visual_script/visual_script_editor.cpp
msgid "Set Variable Type"
-msgstr "Establecer tipo de la variable"
+msgstr "Establecer Tipo de la Variable"
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
@@ -11019,39 +10742,39 @@ msgstr "Otra función/variable/señal ya utiliza este nombre:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Function"
-msgstr "Renombrar función"
+msgstr "Renombrar Función"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Variable"
-msgstr "Renombrar variable"
+msgstr "Renombrar Variable"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Signal"
-msgstr "Renombrar señal"
+msgstr "Renombrar Señal"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Function"
-msgstr "Añadir función"
+msgstr "Añadir Función"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Variable"
-msgstr "Añadir variable"
+msgstr "Añadir Variable"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Signal"
-msgstr "Añadir señal"
+msgstr "Añadir Señal"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Expression"
-msgstr "Cambiar expresión"
+msgstr "Cambiar Expresión"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove VisualScript Nodes"
-msgstr "Quitar nodos de VisualScript"
+msgstr "Eliminar Nodos de VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Duplicate VisualScript Nodes"
-msgstr "Duplicar nodos de VisualScript"
+msgstr "Duplicar Nodos de VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
@@ -11062,12 +10785,12 @@ msgstr ""
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."
msgstr ""
-"Mantén pulsado Ctrl para soltar un «Getter». Mantén pulsado Mayús para "
+"Mantén pulsado Ctrl para soltar un «Getter». Mantén pulsado Shift para "
"soltar una signatura genérica."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a simple reference to the node."
-msgstr "Mantén pulsado %s para quitar una referencia simple del nodo."
+msgstr "Mantén pulsado %s para eliminar una referencia simple del nodo."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold Ctrl to drop a simple reference to the node."
@@ -11075,7 +10798,7 @@ msgstr "Mantén pulsado Ctrl para soltar una referencia simple al nodo."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a Variable Setter."
-msgstr "Mantén pulsado %s para quitar un Setter de variable."
+msgstr "Mantén pulsado %s para eliminar un Setter de Variable."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold Ctrl to drop a Variable Setter."
@@ -11083,43 +10806,43 @@ msgstr "Mantén pulsado Ctrl para soltar un Setter de variable."
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Preload Node"
-msgstr "Añadir nodo Preload"
+msgstr "Añadir Nodo Preload"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Node(s) From Tree"
-msgstr "Añadir nodo(s) desde árbol"
+msgstr "Añadir Nodo(s) Desde Ãrbol"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Getter Property"
-msgstr "Añadir propiedad Getter"
+msgstr "Añadir Propiedad Getter"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Setter Property"
-msgstr "Añadir propiedad Setter"
+msgstr "Añadir Propiedad Setter"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Base Type"
-msgstr "Cambiar tipo base"
+msgstr "Cambiar Tipo Base"
#: modules/visual_script/visual_script_editor.cpp
msgid "Move Node(s)"
-msgstr "Mover nodo(s)"
+msgstr "Mover Nodo(s)"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove VisualScript Node"
-msgstr "Quitar nodo de VisualScript"
+msgstr "Eliminar Nodo de VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Connect Nodes"
-msgstr "Conectar nodos"
+msgstr "Conectar Nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Connect Node Data"
-msgstr "Conectar datos de nodos"
+msgstr "Conectar Datos de Nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Connect Node Sequence"
-msgstr "Conectar secuencia de nodos"
+msgstr "Conectar Secuencia de Nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -11127,7 +10850,7 @@ msgstr "El script ya contiene la función '%s'"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Input Value"
-msgstr "Cambiar valor de entrada"
+msgstr "Cambiar Valor de Entrada"
#: modules/visual_script/visual_script_editor.cpp
msgid "Resize Comment"
@@ -11147,19 +10870,19 @@ msgstr "Pegar nodos de VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Function"
-msgstr "Quitar función"
+msgstr "Eliminar Función"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
-msgstr "Quitar variable"
+msgstr "Eliminar Variable"
#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Variable:"
-msgstr "Editando variable:"
+msgstr "Editar Variable:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
-msgstr "Quitar señal"
+msgstr "Eliminar Señal"
#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
@@ -11167,7 +10890,7 @@ msgstr "Editando señal:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
-msgstr "Tipo base:"
+msgstr "Tipo Base:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Members:"
@@ -11178,29 +10901,28 @@ msgid "Available Nodes:"
msgstr "Nodos disponibles:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Select or create a function to edit its graph."
-msgstr "Selecciona o crea una función para editar el gráfico"
+msgstr "Selecciona o crea una función para editar el gráfico."
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
-msgstr "Quitar seleccionados"
+msgstr "Eliminar Seleccionados"
#: modules/visual_script/visual_script_editor.cpp
msgid "Find Node Type"
-msgstr "Buscar tipo de nodo"
+msgstr "Buscar Tipo de Nodo"
#: modules/visual_script/visual_script_editor.cpp
msgid "Copy Nodes"
-msgstr "Copiar nodos"
+msgstr "Copiar Nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Cut Nodes"
-msgstr "Cortar nodos"
+msgstr "Cortar Nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Paste Nodes"
-msgstr "Pegar nodos"
+msgstr "Pegar Nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Edit Member"
@@ -11278,7 +11000,7 @@ msgstr "Establecer %s"
#: platform/android/export/export.cpp
msgid "Package name is missing."
-msgstr "Nombre de paquete faltante."
+msgstr "Falta el nombre del paquete."
#: platform/android/export/export.cpp
msgid "Package segments must be of non-zero length."
@@ -11305,28 +11027,35 @@ msgstr "El paquete debe tener al menos un '.' como separador."
#: platform/android/export/export.cpp
msgid "ADB executable not configured in the Editor Settings."
-msgstr "Ejecutable ADB no configurado en Ajustes del Editor."
+msgstr "Ejecutable ADB no configurado en Configuración del Editor."
#: platform/android/export/export.cpp
msgid "OpenJDK jarsigner not configured in the Editor Settings."
-msgstr "OpenJDK jarsigner no configurado en Ajustes del Editor."
+msgstr "OpenJDK jarsigner no configurado en Configuración del Editor."
#: platform/android/export/export.cpp
msgid "Debug keystore not configured in the Editor Settings nor in the preset."
-msgstr "Keystore debug no configurada en Ajustes del Editor ni en el preset."
+msgstr ""
+"Keystore debug no configurada en Configuración del Editor ni en el preset."
#: platform/android/export/export.cpp
msgid "Custom build requires a valid Android SDK path in Editor Settings."
msgstr ""
+"La compilación personalizada requiere una ruta de Android SDK válida en "
+"Configuración del Editor."
#: platform/android/export/export.cpp
msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr ""
+"Ruta del SDK de Android inválida para la compilación personalizada en "
+"Configuración del Editor."
#: platform/android/export/export.cpp
msgid ""
"Android project is not installed for compiling. Install from Editor menu."
msgstr ""
+"El proyecto Android no está instalado para la compilación. Instálalo desde "
+"el menú Editor."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -11341,6 +11070,9 @@ msgid ""
"Trying to build from a custom built template, but no version info for it "
"exists. Please reinstall from the 'Project' menu."
msgstr ""
+"Intentando construir a partir de una plantilla personalizada, pero no existe "
+"información de la versión para ello. Por favor, reinstala desde el menú "
+"'Proyecto'."
#: platform/android/export/export.cpp
msgid ""
@@ -11349,20 +11081,28 @@ msgid ""
" Godot Version: %s\n"
"Please reinstall Android build template from 'Project' menu."
msgstr ""
+"La versión de compilación de Android no coincide:\n"
+" Plantilla instalada: %s\n"
+" Versión de Godot: %s\n"
+"Por favor, reinstala la plantilla de compilación de Android desde el menú "
+"'Proyecto'."
#: platform/android/export/export.cpp
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "Construir Proyecto Android (gradle)"
#: platform/android/export/export.cpp
msgid ""
"Building of Android project failed, check output for the error.\n"
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
+"La construcción del proyecto Android falló, comprueba la salida del error.\n"
+"También puedes visitar docs.godotengine.org para consultar la documentación "
+"de compilación de Android."
#: platform/android/export/export.cpp
msgid "No build apk generated at: "
-msgstr ""
+msgstr "No se ha generado ninguna compilación apk en: "
#: platform/iphone/export/export.cpp
msgid "Identifier is missing."
@@ -11407,7 +11147,7 @@ msgstr "El icono requerido no está especificado en el preset."
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
-msgstr "Ejecutar en navegador"
+msgstr "Ejecutar en Navegador"
#: platform/javascript/export/export.cpp
msgid "Run exported HTML in the system's default browser."
@@ -11499,8 +11239,8 @@ msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite to display frames."
msgstr ""
-"Se debe crear un recurso SpriteFrames o asignar uno en la propiedad 'Frames' "
-"para que AnimatedSprite pueda mostrar fotogramas."
+"Se debe crear o establecer un recurso SpriteFrames en la propiedad 'Frames' "
+"para que AnimatedSprite pueda mostrar frames."
#: scene/2d/canvas_modulate.cpp
msgid ""
@@ -11669,6 +11409,17 @@ msgstr ""
"Este hueso no tiene una pose de DESCANSO adecuada. Ve al nodo Skeleton2D y "
"asígnale una."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D solo sirve para proveer de una forma de colisión a un nodo "
+"derivado de CollisionObject2D. Por favor, úsalo solo como hijo de Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para dotarlos de forma."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11682,37 +11433,32 @@ msgid "ARVRCamera must have an ARVROrigin node as its parent"
msgstr "ARVRCamera tiene que tener un nodo ARVROrigin como padre"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr "ARVRController tiene que tener un nodo ARVROrigin como padre"
+msgstr "ARVRController debe tener un nodo ARVROrigin como padre."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The controller ID must not be 0 or this controller won't be bound to an "
"actual controller."
msgstr ""
-"El id del controlador no puede ser 0 o este controlador no será asignado a "
-"un controlador de verdad"
+"El ID del controlador no debe ser 0 o este controlador no estará asociado a "
+"un controlador real."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr "ARVRAnchor tiene que tener un nodo ARVROrigin como padre"
+msgstr "ARVRAnchor debe tener un nodo ARVROrigin como su padre."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The anchor ID must not be 0 or this anchor won't be bound to an actual "
"anchor."
msgstr ""
-"El id del ancla no puede ser 0 o este ancla no será asignada a un ancla de "
-"verdad"
+"El ID del ancla no puede ser 0 o este ancla no estará asociada a una ancla "
+"real."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr "ARVROrigin necesita un nodo ARVRCamera hijo"
+msgstr "ARVROrigin requiere un nodo hijo ARVRCamera."
#: scene/3d/baked_lightmap.cpp
msgid "%d%%"
@@ -11724,19 +11470,19 @@ msgstr "(Tiempo restante: %d:%02d s)"
#: scene/3d/baked_lightmap.cpp
msgid "Plotting Meshes: "
-msgstr "Trazando mallas: "
+msgstr "Trazando Meshes: "
#: scene/3d/baked_lightmap.cpp
msgid "Plotting Lights:"
-msgstr "Trazando iluminación:"
+msgstr "Trazando Iluminación:"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Finishing Plot"
-msgstr "Desentramado final"
+msgstr "Finalizar Trazado"
#: scene/3d/baked_lightmap.cpp
msgid "Lighting Meshes: "
-msgstr "Iluminando mallas: "
+msgstr "Iluminando Meshes: "
#: scene/3d/collision_object.cpp
msgid ""
@@ -11794,17 +11540,16 @@ msgid "Nothing is visible because no mesh has been assigned."
msgstr "Nada visible ya que no se asignó ningún mesh."
#: scene/3d/cpu_particles.cpp
-#, fuzzy
msgid ""
"CPUParticles animation requires the usage of a SpatialMaterial whose "
"Billboard Mode is set to \"Particle Billboard\"."
msgstr ""
-"La animación CPUParticles requiere el uso de un SpatialMaterial con "
-"\"Billboard Particles\" activado."
+"La animación de CPUParticles requiere el uso de un SpatialMaterial cuyo Modo "
+"Billboard esté ajustado a \"Particle Billboard\"."
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
-msgstr "Trazando mallas"
+msgstr "Trazando Meshes"
#: scene/3d/gi_probe.cpp
msgid ""
@@ -11846,13 +11591,12 @@ msgstr ""
"Nada es visible porque las mallas no se han asignado a los pases de dibujo."
#: scene/3d/particles.cpp
-#, fuzzy
msgid ""
"Particles animation requires the usage of a SpatialMaterial whose Billboard "
"Mode is set to \"Particle Billboard\"."
msgstr ""
-"La animación de partículas requiere el uso de un SpatialMaterial con "
-"\"Billboard Particles\" activado."
+"La animación de partículas requiere el uso de un SpatialMaterial cuyo Modo "
+"Billboard esté ajustado a \"Particle Billboard\"."
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -11883,9 +11627,8 @@ msgstr ""
"La propiedad Path debe apuntar a un nodo Spatial válido para funcionar."
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "This body will be ignored until you set a mesh."
-msgstr "Este cuerpo sera ignorado hasta que le asignes un mesh"
+msgstr "Este cuerpo será ignorado hasta que se establezca un mesh."
#: scene/3d/soft_body.cpp
msgid ""
@@ -11902,8 +11645,8 @@ msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
-"Se debe crear un recurso \"SpriteFrames\" y asignarlo en la propiedad "
-"'Frames' para que AnimatedSprite3D pueda mostrar fotogramas."
+"Se debe crear o establecer un recurso SpriteFrames en la propiedad 'Frames' "
+"para que AnimatedSprite3D pueda mostrar frames."
#: scene/3d/vehicle_body.cpp
msgid ""
@@ -11980,8 +11723,13 @@ msgid "Pick a color from the screen."
msgstr "Selecciona un color de la pantalla."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Modo Raw"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Yaw"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11994,15 +11742,21 @@ msgstr "Añadir el color actual como preset."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
-"El contenedor por sí mismo no sirve para nada a menos que un script "
-"configure el comportamiento de posicionamiento de sus hijos.\n"
-"Si no tienes intención de añadir un script, utiliza en su lugar un nodo "
-"'Control' sencillo."
+"Container por sí mismo no sirve para nada a menos que un script configure el "
+"comportamiento de colocación de sus hijos.\n"
+"Si no tienes intención de añadir un script, utiliza un nodo 'Control' "
+"sencillo."
+
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
#: scene/gui/dialogs.cpp
msgid "Alert!"
@@ -12010,7 +11764,7 @@ msgstr "¡Alerta!"
#: scene/gui/dialogs.cpp
msgid "Please Confirm..."
-msgstr "Por favor, confirma..."
+msgstr "Por favor, Confirma..."
#: scene/gui/popup.cpp
msgid ""
@@ -12098,7 +11852,203 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice."
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Las constantes no pueden modificarse."
+
+#~ msgid "Enabled Classes"
+#~ msgstr "Clases Activadas"
+
+#~ msgid "Update Always"
+#~ msgstr "Actualizar Siempre"
+
+#~ msgid "'camera' input parameter for all shader modes."
+#~ msgstr "Parámetro de entrada de 'camera' para todos los modos de shader."
+
+#~ msgid "'inv_camera' input parameter for all shader modes."
+#~ msgstr "Parámetro de entrada 'inv_camera' para todos los modos de shader."
+
+#~ msgid "'inv_projection' input parameter for all shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada' inv_projection' para todos los modos de shader."
+
+#~ msgid "'normal' input parameter for all shader modes."
+#~ msgstr "Parámetro de entrada 'normal' para todos los modos de shader."
+
+#~ msgid "'projection' input parameter for all shader modes."
+#~ msgstr "Parámetro de entrada 'projection' para todos los modos de shader."
+
+#~ msgid "'time' input parameter for all shader modes."
+#~ msgstr "Parámetro de entrada 'time' para todos los modos de shader."
+
+#~ msgid "'viewport_size' input parameter for all shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'viewport_size' para todos los modos de shader."
+
+#~ msgid "'world' input parameter for all shader modes."
+#~ msgstr "Parámetro de entrada 'world' para todos los modos de shader."
+
+#~ msgid "'alpha' input parameter for all shader modes."
+#~ msgstr "Parámetro de entrada 'alpha' para todos los modos de shader."
+
+#~ msgid "'color' input parameter for all shader modes."
+#~ msgstr "Parámetro de entrada 'color' para todos los modos de shader."
+
+#~ msgid "'texture_pixel_size' input parameter for all shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'texture_pixel_size' para todos los modos de shader."
+
+#~ msgid "'alpha' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'alpha' para vértices y fragmentos en modo shader."
+
+#~ msgid "'binormal' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'binormal' para vértices y fragmentos en modo shader."
+
+#~ msgid "'color' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'color' para vértices y fragmentos en modo shader."
+
+#~ msgid "'fragcoord' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'fragcoord' para fragmentos y luces en modo shader."
+
+#~ msgid "'point_coord' input parameter for fragment shader mode."
+#~ msgstr ""
+#~ "Parámetro de entrada 'point_coord' para fragmentos en modo de shader."
+
+#~ msgid "'screen_uv' input parameter for fragment shader mode."
+#~ msgstr "Parámetro de entrada 'screen_uv' para fragmentos en modo de shader."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'tangent' para vértices y fragmentos en modo shader."
+
+#~ msgid "'uv2' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'uv2' para vértices y fragmentos en modo shader."
+
+#~ msgid "'vertex' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'vertex' para vértices y fragmentos en modo shader."
+
+#~ msgid "'albedo' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'albedo' para luces en modo shader."
+
+#~ msgid "'attenuation' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'attenuation' para luces en modo shader."
+
+#~ msgid "'light' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'light' para luces en modo shader."
+
+#~ msgid "'light_color' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'light_color' para luces en modo shader."
+
+#~ msgid "'roughness' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'roughness' para luces en modo shader."
+
+#~ msgid "'specular' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'specular' para luces en modo shader."
+
+#~ msgid "'transmission' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'transmission' para luces en modo shader."
+
+#~ msgid "'modelview' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'modelview' para vértices en modo shader."
+
+#~ msgid "'point_size' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'point_size' para vértices en modo shader."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader mode."
+#~ msgstr ""
+#~ "Parámetro de entrada 'tangent' para vértices y fragmentos en modo shader."
+
+#~ msgid "'light_pass' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'light_pass' para vértices y fragmentos en modo "
+#~ "shader."
+
+#~ msgid "'point_coord' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'point_coord' para fragmentos y luces en modo shader."
+
+#~ msgid "'screen_pixel_size' input parameter for fragment shader mode."
+#~ msgstr ""
+#~ "Parámetro de entrada 'screen_pixel_size' para fragmentos en modo de "
+#~ "shader."
+
+#~ msgid "'screen_uv' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "Parámetro de entrada 'screen_uv' para fragmentos y luces en modo shader."
+
+#~ msgid "'light_alpha' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'light_alpha' para luces en modo shader."
+
+#~ msgid "'light_height' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'light_height' para luces en modo shader."
+
+#~ msgid "'light_uv' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'light_uv' para luces en modo shader."
+
+#~ msgid "'light_vec' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'light_vec' para luces en modo shader."
+
+#~ msgid "'normal' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'normal' para luces en modo shader."
+
+#~ msgid "'shadow_color' input parameter for light shader mode."
+#~ msgstr "Parámetro de entrada 'shadow_color' para luces en modo shader."
+
+#~ msgid "'extra' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'extra' para vértices en modo shader."
+
+#~ msgid "'projection' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'projection' para vértices en modo shader."
+
+#~ msgid "'vertex' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'vertex' para vértices en modo shader."
+
+#~ msgid "'world' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'world' para vértices en modo shader."
+
+#~ msgid "'active' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'active' para vértices en modo shader."
+
+#~ msgid "'alpha' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'alpha' para vértices en modo shader."
+
+#~ msgid "'color' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'color' para vértices en modo shader."
+
+#~ msgid "'custom_alpha' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'custom_alpha' para vértices en modo shader."
+
+#~ msgid "'delta' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'delta' para vértices en modo shader."
+
+#~ msgid "'emission_transform' input parameter for vertex shader mode."
+#~ msgstr ""
+#~ "Parámetro de entrada 'emission_transform' para vértices en modo shader."
+
+#~ msgid "'index' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'index' para vértices en modo shader."
+
+#~ msgid "'lifetime' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'lifetime' para vértices en modo shader."
+
+#~ msgid "'restart' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'restart' para vértices en modo shader."
+
+#~ msgid "'time' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'time' para vértices en modo shader."
+
+#~ msgid "'transform' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'transform' para vértices en modo shader."
+
+#~ msgid "'velocity' input parameter for vertex shader mode."
+#~ msgstr "Parámetro de entrada 'velocity' para vértices en modo shader."
+
+#~ msgid "Raw Mode"
+#~ msgstr "Modo Raw"
#~ msgid "Path to Node:"
#~ msgstr "Ruta al nodo:"
@@ -12663,9 +12613,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Act/desact. Spatial visible"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Act/desact. CanvasItem visible"
-
#~ msgid "Condition"
#~ msgstr "Condición"
@@ -13638,9 +13585,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "Imágenes:"
-#~ msgid "Select None"
-#~ msgstr "Deseleccionar todo"
-
#~ msgid "Group"
#~ msgstr "Grupo"
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index cc6522a41a..acf2394702 100644
--- a/editor/translations/es_AR.po
+++ b/editor/translations/es_AR.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-05-28 10:40+0000\n"
+"PO-Revision-Date: 2019-07-02 10:51+0000\n"
"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/"
"godot-engine/godot/es_AR/>\n"
@@ -25,7 +25,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -448,6 +448,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Seleccionar Todo"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "No Seleccionar Ninguno"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Mostrar solo las pistas de los nodos seleccionados en el árbol."
@@ -924,7 +933,7 @@ msgstr "Dependencias:"
#: editor/dependency_editor.cpp
msgid "Fix Broken"
-msgstr "Arreglar Rota(s)"
+msgstr "Corregir Errores"
#: editor/dependency_editor.cpp
msgid "Dependency Editor"
@@ -976,19 +985,19 @@ msgstr "Fallo la carga debido a dependencias faltantes:"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Open Anyway"
-msgstr "Abrir de Todos Modos"
+msgstr "Abrir Igualmente"
#: editor/dependency_editor.cpp
msgid "Which action should be taken?"
-msgstr "Que Acción Se Debería Tomar?"
+msgstr "¿Qué acciones se deberían tomar?"
#: editor/dependency_editor.cpp
msgid "Fix Dependencies"
-msgstr "Arreglar Dependencias"
+msgstr "Corregir Dependencias"
#: editor/dependency_editor.cpp
msgid "Errors loading!"
-msgstr "Errores al cargar!"
+msgstr "¡Errores al cargar!"
#: editor/dependency_editor.cpp
msgid "Permanently delete %d item(s)? (No undo!)"
@@ -1130,7 +1139,7 @@ msgstr "El Paquete se instaló exitosamente!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Success!"
-msgstr "¡Conseguido!"
+msgstr "¡Éxito!"
#: editor/editor_asset_installer.cpp editor/editor_node.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -1163,7 +1172,7 @@ msgstr "Act./Desact. Solo de Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Mute"
-msgstr "Slienciar/Desilenciar Bus de Audio"
+msgstr "Act./Desact. Silencio de Bus de Audio"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Bypass Effects"
@@ -1306,7 +1315,7 @@ msgstr "Cargar el Bus Layout predeterminado."
#: editor/editor_audio_buses.cpp
msgid "Create a new Bus Layout."
-msgstr "Crear un nuevo Layout Bus."
+msgstr "Crear un nuevo Bus Layout."
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -1325,7 +1334,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"Nombre inválido. No debe colisionar con un nombre existente de un tipo built-"
"in."
@@ -1543,7 +1552,7 @@ msgstr "Nodo Movido"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Sistema de Archivos"
#: editor/editor_feature_profile.cpp
@@ -1605,7 +1614,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1620,7 +1629,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Version Actual:"
#: editor/editor_feature_profile.cpp
@@ -1645,16 +1654,11 @@ msgstr "Exportar"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "Nodos Disponibles:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Buscar Clases"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "Descripción de Clase"
@@ -1718,7 +1722,7 @@ msgstr "Refrescar"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "All Recognized"
-msgstr "Todas Reconocidas"
+msgstr "Todos Reconocidos"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "All Files (*)"
@@ -1836,7 +1840,7 @@ msgstr "Debe ser una extensión válida."
#: editor/editor_file_system.cpp
msgid "ScanSources"
-msgstr "EscanearFuentes"
+msgstr "Escanear Fuentes"
#: editor/editor_file_system.cpp
msgid ""
@@ -1967,7 +1971,7 @@ msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"Actualmente no existe descripción para este método. Por favor ayudanos "
+"Actualmente no existe descripción para este método. Por favor ayúdanos "
"[color=$color][url=$url]contribuyendo una[/url][/color]!"
#: editor/editor_help_search.cpp editor/editor_node.cpp
@@ -2080,11 +2084,11 @@ msgstr "No se puede abrir el archivo para escribir:"
#: editor/editor_node.cpp
msgid "Requested file format unknown:"
-msgstr "Formato requerido de archivo desconocido:"
+msgstr "Formato de archivo requerido desconocido:"
#: editor/editor_node.cpp
msgid "Error while saving."
-msgstr "Error al grabar."
+msgstr "Error al guardar."
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Can't open '%s'. The file could have been moved or deleted."
@@ -2101,7 +2105,7 @@ msgstr "Final de archivo inesperado en '%s'."
#: editor/editor_node.cpp
msgid "Missing '%s' or its dependencies."
-msgstr "No se encuentra '%s' o sus dependecias."
+msgstr "No se encuentra '%s' o sus dependencias."
#: editor/editor_node.cpp
msgid "Error while loading '%s'."
@@ -2166,7 +2170,7 @@ msgstr "Error al tratar de guardar el layout!"
#: editor/editor_node.cpp
msgid "Default editor layout overridden."
-msgstr "Layout por defecto del editor sobreescrito."
+msgstr "Se ha sobreescrito el layout del editor por defecto."
#: editor/editor_node.cpp
msgid "Layout name not found!"
@@ -2251,17 +2255,16 @@ msgid "Open Base Scene"
msgstr "Abrir Escena Base"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Abrir Escena Rapido..."
+msgstr "Apertura Rápida..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
-msgstr "Abrir Escena Rapido..."
+msgstr "Apertura Rápida de Escena..."
#: editor/editor_node.cpp
msgid "Quick Open Script..."
-msgstr "Abrir Script Rapido..."
+msgstr "Apertura Rápida de Script..."
#: editor/editor_node.cpp
msgid "Save & Close"
@@ -2329,11 +2332,11 @@ msgstr "Revertir"
#: editor/editor_node.cpp
msgid "This action cannot be undone. Revert anyway?"
-msgstr "Esta acción no se puede deshacer. Revertir de todos modos?"
+msgstr "Esta acción no se puede deshacer. ¿Revertir de todos modos?"
#: editor/editor_node.cpp
msgid "Quick Run Scene..."
-msgstr "Ejecutar Escena Rapido..."
+msgstr "Ejecución Rápida de Escena..."
#: editor/editor_node.cpp
msgid "Quit"
@@ -2442,9 +2445,9 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"No se ha definido ninguna escena principal, ¿elegir una?\n"
+"No se ha definido ninguna escena principal, ¿seleccionar una?\n"
"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoría "
-"'aplicación'."
+"'application'."
#: editor/editor_node.cpp
msgid ""
@@ -2452,9 +2455,9 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"La escena '%s' seleccionada no existe, ¿seleccionar una válida?\n"
-"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoria "
-"'aplicacion'."
+"La escena seleccionada '%s' no existe, ¿seleccionar una válida?\n"
+"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoría "
+"'application'."
#: editor/editor_node.cpp
msgid ""
@@ -2464,8 +2467,8 @@ msgid ""
msgstr ""
"La escena '%s' seleccionada no es un archivo de escena, ¿seleccionar uno "
"válido?\n"
-"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoria "
-"'aplicacion'."
+"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoría "
+"'application'."
#: editor/editor_node.cpp
msgid "Save Layout"
@@ -2750,10 +2753,34 @@ msgid "Editor Layout"
msgstr "Layout del Editor"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Convertir en Raíz de Escena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Abrir Carpeta de Datos/Configuración del Editor"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Abrir el Editor siguiente"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Act./Desact. Pantalla Completa"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Act/Desact. CanvasItem Visible"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Abrir Carpeta de Datos/Configuración del Editor"
@@ -2821,7 +2848,7 @@ msgstr "Pausar la escena"
#: editor/editor_node.cpp
msgid "Pause Scene"
-msgstr "Pausar la Escena"
+msgstr "Pausar Escena"
#: editor/editor_node.cpp
msgid "Stop the scene."
@@ -2861,15 +2888,18 @@ msgid "Spins when the editor window redraws."
msgstr "Gira cuando la ventana del editor se redibuja."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Siempre Actualizar"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Contínuo"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Actualizar Cambios"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Desactivar Update Spinner"
#: editor/editor_node.cpp
@@ -3026,7 +3056,7 @@ msgstr "Medida:"
#: editor/editor_profiler.cpp
msgid "Frame Time (sec)"
-msgstr "Duracion de Frame (seg)"
+msgstr "Duración de Frame (seg)"
#: editor/editor_profiler.cpp
msgid "Average Time (sec)"
@@ -3166,6 +3196,11 @@ msgid "Page: "
msgstr "Página: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Remover Item"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nueva Clave:"
@@ -3177,11 +3212,6 @@ msgstr "Nuevo Valor:"
msgid "Add Key/Value Pair"
msgstr "Agregar Par Clave/Valor"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Remover Item"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -4412,7 +4442,7 @@ msgstr "Incluir Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pin AnimationPlayer"
-msgstr "Pinear el AnimationPlayer"
+msgstr "Fijar AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
@@ -5131,12 +5161,12 @@ msgstr "Alinear a guías"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock the selected object in place (can't be moved)."
-msgstr "Inmovilizar Objeto."
+msgstr "Bloquear el objeto seleccionado en su sitio (no se puede mover)."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unlock the selected object (can be moved)."
-msgstr "Desinmovilizar Objeto."
+msgstr "Desbloquear el objeto seleccionado (puede ser movido)."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5336,6 +5366,14 @@ msgid "Load Emission Mask"
msgstr "Cargar Máscara de Emisión"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Reiniciar Ahora"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Limpiar Máscara de Emisión"
@@ -5481,11 +5519,11 @@ msgstr "¡El Mesh está vacío!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Static Trimesh Body"
-msgstr "Crear Trimesh Body Estático"
+msgstr "Crear Static Trimesh Body"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Static Convex Body"
-msgstr "Crear Body Convexo Estático"
+msgstr "Crear Static Convex Body"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "This doesn't work on scene root!"
@@ -5501,13 +5539,12 @@ msgid "Failed creating shapes!"
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Crear Shape Convexa"
+msgstr "Crear Shape(s) Convexo(s)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
-msgstr "Crear Mesh de Navegación"
+msgstr "Crear Navigation Mesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Contained Mesh is not of type ArrayMesh."
@@ -6257,10 +6294,20 @@ msgid "Find Next"
msgstr "Encontrar Siguiente"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtrar propiedades"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Alternar la ordenación alfabética de la lista de métodos."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Filtrar modo:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordenar"
@@ -6473,11 +6520,11 @@ msgstr "Buscar Símbolo"
#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
-msgstr "Elegir Color"
+msgstr "Seleccionar Color"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
-msgstr "Convertir Mayusculas"
+msgstr "Convertir Mayúsculas"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
@@ -6493,7 +6540,7 @@ msgstr "Capitalizar"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Syntax Highlighter"
-msgstr "Resaltador de sintaxis"
+msgstr "Resaltador de Sintaxis"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
@@ -6505,11 +6552,6 @@ msgstr ""
msgid "Cut"
msgstr "Cortar"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Seleccionar Todo"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Eliminar Línea"
@@ -6826,7 +6868,7 @@ msgstr "Mostrar Overdraw"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Unshaded"
-msgstr "Mostrar sin Sombreado"
+msgstr "Mostrar Sin Sombreado"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Environment"
@@ -7207,14 +7249,12 @@ msgid "Settings:"
msgstr "Configuración:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "Encuadrar Selección"
+msgstr "No hay Frames Seleccionados"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Agregar Frame"
+msgstr "Agregar %d Frame(s)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7345,7 +7385,7 @@ msgstr "Snap de Grilla"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Auto Slice"
-msgstr "Auto Rebanar"
+msgstr "Corte Automático"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Offset:"
@@ -7398,7 +7438,7 @@ msgstr "Agregar Items de Clases"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove Class Items"
-msgstr "Quitar Items de Clases"
+msgstr "Quitar Ãtems de Clases"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Create Empty Template"
@@ -7424,7 +7464,7 @@ msgstr "Botón del Medio"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
-msgstr "Item"
+msgstr "Ãtem"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -7437,15 +7477,15 @@ msgstr "Tildar Item"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Checked Item"
-msgstr "Item Tildado"
+msgstr "Ãtem Tildado"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Radio Item"
-msgstr "Radio Item"
+msgstr "Radio Ãtem"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Checked Radio Item"
-msgstr "Radio Item Tildado"
+msgstr "Radio Ãtem Tildado"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
@@ -7497,7 +7537,7 @@ msgstr "Hijos Editables"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "Subárbol"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7554,7 +7594,7 @@ msgstr "Pintar Rectángulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Bucket Fill"
-msgstr "Balde"
+msgstr "Bote de Relleno"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase TileMap"
@@ -7577,9 +7617,8 @@ msgid "Mirror Y"
msgstr "Espejar Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "Autotiles"
+msgstr "Desactivar Autotile"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -7740,11 +7779,11 @@ msgstr "No elegiste una textura para remover."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create from scene? This will overwrite all current tiles."
-msgstr "¿Crear desde escena? Esto sobreescribirá todos los tiles actuales."
+msgstr "¿Crear desde escena? Esto sobrescribirá todos los tiles actuales."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Merge from scene?"
-msgstr "¿Mergear desde escena?"
+msgstr "¿Unir desde escena?"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Texture"
@@ -7854,11 +7893,11 @@ msgstr "Reestablecer Máscara de Bits de Tile"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Make Polygon Concave"
-msgstr "Hacer el Polígono Cóncavo"
+msgstr "Crear Polígono Cóncavo"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Make Polygon Convex"
-msgstr "Hacer el Póligono Convexo"
+msgstr "Crear Polígono Convexo"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Remove Tile"
@@ -7911,9 +7950,8 @@ msgid "Add output +"
msgstr "Agregar Entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "Escala:"
+msgstr "Escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8109,51 +8147,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8162,203 +8156,27 @@ msgid "Input parameter."
msgstr "Alinear al Padre"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10096,6 +9914,11 @@ msgid "Add Child Node"
msgstr "Agregar Nodo Hijo"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Colapsar Todos"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Cambiar Tipo"
@@ -10124,7 +9947,8 @@ msgid "Delete (No Confirm)"
msgstr "Eliminar (Sin Confirmación)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Agregar/Crear un Nuevo Nodo"
#: editor/scene_tree_dock.cpp
@@ -11628,6 +11452,17 @@ msgstr ""
"Este hueso no tiene una pose de DESCANSO adecuada. Andá al nodo Skeleton2D y "
"asígnale una."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D solo sirve para proveer de un collision shape a un nodo "
+"derivado de CollisionObject2D. Favor de usarlo solo como un hijo de Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para darles un shape."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11683,15 +11518,15 @@ msgstr "(Tiempo Restante: %d:%02d s)"
#: scene/3d/baked_lightmap.cpp
msgid "Plotting Meshes: "
-msgstr "Ploteando Meshes: "
+msgstr "Trazando Meshes: "
#: scene/3d/baked_lightmap.cpp
msgid "Plotting Lights:"
-msgstr "Ploteando Luces:"
+msgstr "Trazando Luces:"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Finishing Plot"
-msgstr "Terminando Ploteo"
+msgstr "Finalizar Trazado"
#: scene/3d/baked_lightmap.cpp
msgid "Lighting Meshes: "
@@ -11763,7 +11598,7 @@ msgstr ""
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
-msgstr "Ploteando Meshes"
+msgstr "Trazando Meshes"
#: scene/3d/gi_probe.cpp
msgid ""
@@ -11937,8 +11772,13 @@ msgid "Pick a color from the screen."
msgstr "Elegir un color de la pantalla."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Modo Raw"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Yaw"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11951,7 +11791,7 @@ msgstr "Agregar color actual como preset."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -11961,6 +11801,12 @@ msgstr ""
"Si no tenés pensado usar un script, entonces simplemente usá un nodo "
"'Control' en su lugar."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Alerta!"
@@ -12057,6 +11903,16 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice."
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Buscar Clases"
+
+#~ msgid "Update Always"
+#~ msgstr "Siempre Actualizar"
+
+#~ msgid "Raw Mode"
+#~ msgstr "Modo Raw"
+
#~ msgid "Path to Node:"
#~ msgstr "Ruta al Nodo:"
@@ -12620,9 +12476,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Act/Desact. Espacial Visible"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Act/Desact. CanvasItem Visible"
-
#~ msgid "Condition"
#~ msgstr "Condición"
@@ -13564,9 +13417,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "Imágenes:"
-#~ msgid "Select None"
-#~ msgstr "No Seleccionar Ninguno"
-
#~ msgid "Group"
#~ msgstr "Grupo"
diff --git a/editor/translations/et.po b/editor/translations/et.po
index 9733b52c71..6f4dbb8452 100644
--- a/editor/translations/et.po
+++ b/editor/translations/et.po
@@ -421,6 +421,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr ""
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1269,7 +1278,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1465,7 +1474,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1518,7 +1527,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1531,7 +1540,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1554,11 +1563,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2564,10 +2569,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2674,15 +2699,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2970,20 +2995,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5047,6 +5072,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5947,10 +5979,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6187,11 +6227,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7709,51 +7744,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7761,203 +7752,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9584,6 +9399,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9612,7 +9431,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -10999,6 +10818,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11246,7 +11072,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11259,12 +11089,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/extract.py b/editor/translations/extract.py
index 70eb15da62..07b34f7562 100755
--- a/editor/translations/extract.py
+++ b/editor/translations/extract.py
@@ -116,7 +116,7 @@ shutil.move("editor.pot", "editor/translations/editor.pot")
# TODO: Make that in a portable way, if we care; if not, kudos to Unix users
if (os.name == "posix"):
- added = subprocess.check_output("git diff editor/translations/editor.pot | grep \+msgid | wc -l", shell=True)
- removed = subprocess.check_output("git diff editor/translations/editor.pot | grep \\\-msgid | wc -l", shell=True)
+ added = subprocess.check_output(r"git diff editor/translations/editor.pot | grep \+msgid | wc -l", shell=True)
+ removed = subprocess.check_output(r"git diff editor/translations/editor.pot | grep \\\-msgid | wc -l", shell=True)
print("\n# Template changes compared to the staged status:")
print("# Additions: %s msgids.\n# Deletions: %s msgids." % (int(added), int(removed)))
diff --git a/editor/translations/fa.po b/editor/translations/fa.po
index bd1c52ff57..7ae3bd3c8f 100644
--- a/editor/translations/fa.po
+++ b/editor/translations/fa.po
@@ -465,6 +465,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "انتخاب همه"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "گره انتخاب"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1353,7 +1363,7 @@ msgstr "نام نامعتبر. نباید با یک نام کلاس موجود Ø
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "نام نامعتبر. نباید یا یک نام نوع توکار برخوردی داشته باشد."
#: editor/editor_autoload_settings.cpp
@@ -1558,7 +1568,7 @@ msgstr "نام گره:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "سامانه پرونده"
#: editor/editor_feature_profile.cpp
@@ -1620,7 +1630,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1635,7 +1645,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "نسخه اخیر:"
#: editor/editor_feature_profile.cpp
@@ -1660,16 +1670,11 @@ msgstr "صدور"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "گره های موجود:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "جستجوی کلاسها"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "توضیحات"
@@ -2715,12 +2720,35 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "ویرایشگر ترجیحات"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "گشودن ویرایشگر متن"
+
+#: editor/editor_node.cpp
#, fuzzy
msgid "Toggle Fullscreen"
msgstr "حالت تمام ØµÙØ­Ù‡"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "یک Breakpoint درج کن"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "ویرایشگر ترجیحات"
@@ -2830,15 +2858,17 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "به روز رسانی دامی"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "مستمر"
#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
+#, fuzzy
+msgid "Update When Changed"
+msgstr "تغییر بده"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3135,20 +3165,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5329,6 +5359,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "راه اندازی دوباره"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6267,11 +6305,21 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "صاÙÛŒ کردن گره‌ها"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
+msgid "Filter methods"
+msgstr "حالت صاÙÛŒ:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Sort"
msgstr "مرتب‌سازی:"
@@ -6523,11 +6571,6 @@ msgstr ""
msgid "Cut"
msgstr "بریدن"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "انتخاب همه"
-
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Delete Line"
@@ -8161,51 +8204,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8213,203 +8212,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10099,6 +9922,11 @@ msgid "Add Child Node"
msgstr "Ø§ÙØ²ÙˆØ¯Ù† گره ÙØ±Ø²Ù†Ø¯"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "بستن"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "تغییر نوع"
@@ -10128,7 +9956,8 @@ msgid "Delete (No Confirm)"
msgstr "حذ٠(بدون تأیید)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Ø§ÙØ²ÙˆØ¯Ù†/ساختن گره جدید"
#: editor/scene_tree_dock.cpp
@@ -11632,6 +11461,18 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D تنها برای ÙØ±Ø§Ù‡Ù… کردن یک Ø´Ú©Ù„ برخورد برای یک گره مشتق‌شده‌ی "
+"CollisionObject2D بکار می‌رود. Ù„Ø·ÙØ§ از آن تنها به عنوان یک ÙØ±Ø²Ù†Ø¯ Area2D Ùˆ "
+"StaticBody2D Ùˆ RigidBody2D Ùˆ KinematicBody2D Ùˆ غیره Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید تا به آن‌ها "
+"یک شکل بدهید."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11906,7 +11747,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11919,12 +11764,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "هشدار!"
@@ -12017,6 +11868,13 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "جستجوی کلاسها"
+
+#~ msgid "Update Always"
+#~ msgstr "به روز رسانی دامی"
+
#~ msgid "Path to Node:"
#~ msgstr "مسیر به سمت گره:"
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index 6347cfe06f..00049ac967 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-05-30 03:41+0000\n"
+"PO-Revision-Date: 2019-07-02 10:51+0000\n"
"Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/"
"godot/fi/>\n"
@@ -22,7 +22,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -82,9 +82,8 @@ msgid "Time:"
msgstr "Aika:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Arvo"
+msgstr "Arvo:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -434,10 +433,28 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Tämä animaatio kuuluu tuotuun skeneen, joten muutoksia tuotuihin raitoihin "
+"ei tallenneta.\n"
+"\n"
+"Lisätäksesi mukautettuja raitoja, mene skenen tuontiasetuksiin ja aseta\n"
+"\"Animation > Storage\" arvoksi \"Files\", kytke päälle \"Animation > Keep "
+"Custom Tracks\" ja tee tuonti sen jälkeen uudelleen.\n"
+"Vaihtoehtoisesti, käytä sellaisia tuonnin esiasetuksia, jotka tuovat "
+"animaatiot erillisiin tiedostoihin."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Varoitus: muokataan tuotua animaatiota"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Valitse kaikki"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Valitse solmu"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -671,38 +688,32 @@ msgid "Line and column numbers."
msgstr "Rivi- ja sarakenumerot."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "Kohdesolmun metodi täytyy määrittää!"
+msgstr "Kohdesolmun metodi täytyy määrittää."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Kohdemetodia ei löytynyt! Määrittele voimassa oleva metodi tai kiinnitä "
-"skripti solmuun."
+"Kohdemetodia ei löytynyt. Määrittele kelvollinen metodi tai kiinnitä "
+"kohdesolmulle skripti."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
msgstr "Yhdistä solmuun:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Isäntään yhdistäminen epäonnistui:"
+msgstr "Yhdistä skriptiin:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Signaalit:"
+msgstr "Signaalista:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "Solmu ei sisällä geometriaa."
+msgstr "Skene ei sisällä yhtään skriptiä."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -730,9 +741,8 @@ msgid "Extra Call Arguments:"
msgstr "Ylimääräiset argumentit:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Edistyneet asetukset"
+msgstr "Edistyneet"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -742,6 +752,7 @@ msgstr "Lykätty"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Lykkää signaalia, tallentaen sen jonoon ja laukaisten sen vain joutoajalla."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -749,12 +760,11 @@ msgstr "Ainutkertainen"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Katkaisee signaalin ensimmäisen lähetyksen jälkeen."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Yhdistä signaali: "
+msgstr "Ei voida yhdistää signaalia"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -796,14 +806,12 @@ msgid "Disconnect"
msgstr "Katkaise yhteys"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Yhdistä signaali: "
+msgstr "Yhdistä signaali metodiin"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Muokkaa yhteyttä: "
+msgstr "Muokkaa yhteyttä:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -879,22 +887,20 @@ msgid "Dependencies For:"
msgstr "Riippuvuudet:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
"Skeneä '%s' muokataan parhaillaan.\n"
-"Muutokset tulevat voimaan vasta päivityksen jälkeen."
+"Muutokset tulevat voimaan vasta uudelleenlatauksen jälkeen."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
"Resurssi '%s' on käytössä.\n"
-"Muutokset tulevat voimaan päivitettäessä."
+"Muutokset tulevat voimaan uudelleenlatauksen jälkeen."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -987,9 +993,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "Poista pysyvästi %d kohdetta? (Ei voi kumota!)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Riippuvuudet"
+msgstr "Näytä riippuvuudet"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1252,7 +1257,7 @@ msgstr "Avaa ääniväylän asettelu"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "Tiedostoa '%s' ei ole."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1309,29 +1314,24 @@ msgid "Valid characters:"
msgstr "Kelvolliset merkit:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"Virheellinen nimi. Ei saa mennä päällekkäin olemassa olevan luokan nimen "
-"kanssa."
+msgstr "Ei saa mennä päällekkäin olemassa olevan engine-luokkanimen kanssa."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
-"Virheellinen nimi. Ei saa mennä päällekkäin jo olemassa olevan, "
-"sisäänrakennetun tyypin nimen kanssa."
+"Ei saa mennä päällekkäin olemassa olevan sisäänrakennetun tyypin nimen "
+"kanssa."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
msgstr ""
-"Virheellinen nimi. Ei saa mennä päällekkäin jo olemassa olevan globaalin "
-"vakion nimen kanssa."
+"Ei saa mennä päällekkäin olemassa olevan globaalin vakion nimen kanssa."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "Avainsanaa ei voi käyttää automaattisesti latautuvien nimenä."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1362,7 +1362,6 @@ msgid "Rearrange Autoloads"
msgstr "Järjestele uudelleen automaattiset lataukset"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "Virheellinen polku."
@@ -1417,9 +1416,8 @@ msgid "[unsaved]"
msgstr "[tallentamaton]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Valitse ensin päähakemisto"
+msgstr "Ole hyvä ja valitse ensin päähakemisto."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1503,121 +1501,109 @@ msgid "Template file not found:"
msgstr "Mallitiedostoa ei löytynyt:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Editori"
+msgstr "3D-editori"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Avaa skriptieditori"
+msgstr "Skriptieditori"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Avaa asset-kirjasto"
+msgstr "Asset-kirjasto"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Skenepuu (solmut):"
+msgstr "Skenepuun muokkaus"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Tuo"
+msgstr "Tuontitelakka"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Solmu siirretty"
+msgstr "Solmutelakka"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "Tiedostojärjestelmä"
+msgid "FileSystem and Import Docks"
+msgstr "Tiedostojärjestelmätelakka"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Korvaa kaikki (ei voi perua)"
+msgstr "Poista profiili '%s'? (ei voi perua)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
msgstr ""
+"Profiilin täytyy olla kelvollinen tiedostonimi ja se ei voi sisältää merkkiä "
+"'.'"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Tällä nimellä löytyy jo kansio tai tiedosto."
+msgstr "Tällä nimellä löytyy jo profiili."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Editori pois käytöstä, ominaisuudet pois käytöstä)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Vain ominaisuudet"
+msgstr "(Ominaisuudet pois käytöstä)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Leikkaus pois käytöstä"
+msgstr "(Editori pois käytöstä)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Luokan kuvaus:"
+msgstr "Luokan valinnat:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Avaa seuraava editori"
+msgstr "Ota asiayhteydellinen editori käyttöön"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Ominaisuudet:"
+msgstr "Käytössä olevat ominaisuudet:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Ominaisuudet"
+msgstr "Käytössä olevat ominaisuudet:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Etsi luokkia"
+msgstr "Käytössä olevat luokat:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Tiedoston '%s' tiedostomuoto on virheellinen, tuonti keskeytetty."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"Profiili '%s' on jo olemassa. Poista se ensin ennen tuontia, tuonti "
+"keskeytetty."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Virhe ladattaessa mallia '%s'"
+msgstr "Virhe tallennettaessa profiilia polkuun: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "Poista asetus"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Nykyinen versio:"
+msgid "Current Profile:"
+msgstr "Nykyinen profiili"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Nykyinen:"
+msgstr "Aseta nykyiseksi"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1636,43 +1622,32 @@ msgstr "Vie"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Saatavilla olevat solmut:"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Etsi luokkia"
+msgid "Available Profiles:"
+msgstr "Saatavilla olevat profiilit"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Luokan kuvaus"
+msgstr "Luokan valinnat"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Uusi nimi:"
+msgstr "Uusi profiilin nimi:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Tyhjennä alue"
+msgstr "Tyhjennä profiili"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Tuotu projekti"
+msgstr "Tuo profiileja"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Vie projekti"
+msgstr "Vie profiili"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "Hallinnoi vientimalleja"
+msgstr "Hallinnoi editorin ominaisuusprofiileja"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1795,9 +1770,8 @@ msgid "(Un)favorite current folder."
msgstr "Kansio suosikkeihin."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Näytä piilotiedostot"
+msgstr "Aseta piilotiedostojen näyttäminen."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1834,6 +1808,7 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"Tiedostoon %s osoittaville eri tyypeille on useita tuojia, tuonti keskeytetty"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -2176,14 +2151,13 @@ msgstr ""
"Lue ohjeet skenejen tuomisesta, jotta ymmärrät paremmin tämän työnkulun."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
"Tämä resurssi kuuluu skeneen, josta on luotu ilmentymä, tai joka on "
-"periytyvä.\n"
-"Muutokset siihen eivät ole pysyviä, kun tallennat nykyisen skenen."
+"peritty.\n"
+"Siihen tehtyjä muutoksia ei säilytetä, kun tallennat nykyisen skenen."
#: editor/editor_node.cpp
msgid ""
@@ -2194,7 +2168,6 @@ msgstr ""
"paneelista ja tuo se uudelleen."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
@@ -2208,7 +2181,6 @@ msgstr ""
"ymmärrät paremmin tämän työnkulun."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
@@ -2239,9 +2211,8 @@ msgid "Open Base Scene"
msgstr "Avaa kantaskene"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Skenen pika-avaus..."
+msgstr "Pika-avaus..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2474,12 +2445,11 @@ msgstr "Sulje muut välilehdet"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Sulje oikealla olevat välilehdet"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Sulje kaikki"
+msgstr "Sulje kaikki välilehdet"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2613,7 +2583,7 @@ msgstr "Avaa projektin datakansio"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Asenna Androidin käännösmalli"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2723,10 +2693,34 @@ msgid "Editor Layout"
msgstr "Editorin ulkoasu"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Tee skenen juuri"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Avaa editorin data/asetuskansio"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Avaa seuraava editori"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Siirry koko näytön tilaan"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Aseta CanvasItem näkyvyys päälle/pois"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Avaa editorin data/asetuskansio"
@@ -2739,9 +2733,8 @@ msgid "Open Editor Settings Folder"
msgstr "Avaa editorin asetuskansio"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "Hallinnoi vientimalleja"
+msgstr "Hallinnoi editorin ominaisuuksia"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2834,15 +2827,18 @@ msgid "Spins when the editor window redraws."
msgstr "Pyörii kun editorin ikkuna päivittyy."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Päivitä aina"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Jatkuva"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Päivitä muutokset"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Poista päivitysanimaatio"
#: editor/editor_node.cpp
@@ -2871,18 +2867,20 @@ msgstr "Älä tallenna"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
-msgstr ""
+msgstr "Androidin käännösmalli puuttuu, ole hyvä ja asenna olennaiset mallit."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Hallinnoi vientimalleja"
+msgstr "Hallinnoi malleja"
#: editor/editor_node.cpp
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"Tämä asentaa Android-projektin mukautettuja käännöksiä varten.\n"
+"Huomaa, että käyttääksesi sitä, se täytyy ottaa käyttöön kussakin "
+"vientiesiasetuksessa."
#: editor/editor_node.cpp
msgid ""
@@ -2890,6 +2888,9 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"Androidin käännösmalli on jo asennettu, eikä sitä ylikirjoiteta.\n"
+"Poista \"build\" hakemisto käsin ennen kuin yrität tätä toimenpidettä "
+"uudelleen."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3140,6 +3141,11 @@ msgid "Page: "
msgstr "Sivu: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Poista"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Uusi avain:"
@@ -3151,11 +3157,6 @@ msgstr "Uusi arvo:"
msgid "Add Key/Value Pair"
msgstr "Lisää avain/arvopari"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Poista"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3362,9 +3363,8 @@ msgid "SSL Handshake Error"
msgstr "Virhe SSL kättelyssä"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "Puretaan assetteja"
+msgstr "Puretaan Android-käännöksen lähdetiedostoja"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3383,9 +3383,8 @@ msgid "Remove Template"
msgstr "Poista malli"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
-msgstr "Valitse mallin tiedosto"
+msgstr "Valitse mallitiedosto"
#: editor/export_template_manager.cpp
msgid "Export Template Manager"
@@ -3445,9 +3444,8 @@ msgid "No name provided."
msgstr "Nimeä ei annettu."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "Annettu nimi sisältää virheellisiä kirjainmerkkejä"
+msgstr "Annettu nimi sisältää virheellisiä kirjainmerkkejä."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3474,26 +3472,22 @@ msgid "Duplicating folder:"
msgstr "Kahdennetaan kansio:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Uusi peritty skene..."
+msgstr "Uusi periytetty skene"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Avaa skene"
+msgstr "Avaa skenejä"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Luo ilmentymä"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
msgstr "Lisää suosikkeihin"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
msgstr "Poista suosikeista"
@@ -3543,21 +3537,18 @@ msgid "Rename"
msgstr "Nimeä uudelleen"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Edellinen kansio"
+msgstr "Edellinen kansio/tiedosto"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Seuraava kansio"
+msgstr "Seuraava kansio/tiedosto"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "Skannaa tiedostojärjestelmä uudelleen"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
msgstr "Aseta jaettu tila"
@@ -3610,6 +3601,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Sisällä tiedostot seuraavilla tiedostopäätteillä. Lisää tai poista niitä "
+"projektin asetuksista."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4051,9 +4044,8 @@ msgid "Open Animation Node"
msgstr "Avaa animaatiosolmu"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "Kolmio on jo olemassa"
+msgstr "Kolmio on jo olemassa."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4198,7 +4190,6 @@ msgid "Edit Filtered Tracks:"
msgstr "Muokkaa suodatettuja raitoja:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
msgstr "Kytke suodatus"
@@ -4334,9 +4325,8 @@ msgid "Enable Onion Skinning"
msgstr "Käytä onion skinningiä"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "Onion skinning"
+msgstr "Onion skinning -valinnat"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4904,6 +4894,8 @@ msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Aktiivisena ollessaan, Control solmujen siirtäminen muuttaa niiden "
+"ankkureita marginaalien sijaan."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -4919,41 +4911,35 @@ msgstr "Muuta ankkureita"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "Valintatyökalu"
+msgstr "Lukitse valitut"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "Poista valitut"
+msgstr "Vapauta valitut"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Kopioi valinta"
+msgstr "Ryhmitä valitut"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Kopioi valinta"
+msgstr "Poista ryhmitys valituilta"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "Liitä asento"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
msgstr "Luo mukautetut luut solmuista"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "Tyhjennä asento"
+msgstr "Poista luut"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5041,7 +5027,6 @@ msgid "Snapping Options"
msgstr "Tarttumisen asetukset"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
msgstr "Tartu ruudukkoon"
@@ -5063,37 +5048,30 @@ msgid "Use Pixel Snap"
msgstr "Tartu pikseleihin"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
msgstr "Älykäs tarttuminen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
msgstr "Tartu isäntään"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
msgstr "Tartu solmun ankkuriin"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
msgstr "Tartu solmun reunoihin"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
msgstr "Tartu solmun keskipisteeseen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
msgstr "Tartu muihin solmuihin"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
msgstr "Tartu apuviivoihin"
@@ -5177,7 +5155,7 @@ msgstr "Rajaa valintaan"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
-msgstr ""
+msgstr "Esikatsele kankaan skaalausta"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
@@ -5233,9 +5211,8 @@ msgid "Divide grid step by 2"
msgstr "Jaa ruudukon välistys kahdella"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Pan View"
-msgstr "Takanäkymä"
+msgstr "Panorointinäkymä"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -5260,7 +5237,6 @@ msgid "Error instancing scene from %s"
msgstr "Virhe luotaessa ilmentymää kohteesta %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
msgstr "Muuta oletustyyppiä"
@@ -5304,6 +5280,14 @@ msgid "Load Emission Mask"
msgstr "Lataa emissiomaski"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Käynnistä uudelleen nyt"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Tyhjennä emissiomaski"
@@ -5349,14 +5333,12 @@ msgid "Create Emission Points From Node"
msgstr "Luo säteilypisteet solmusta"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "Tasainen0"
+msgstr "Tasainen 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "Tasainen1"
+msgstr "Tasainen 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5383,27 +5365,22 @@ msgid "Load Curve Preset"
msgstr "Lataa käyrän esiasetus"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
msgstr "Lisää piste"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
msgstr "Poista piste"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
msgstr "Vasen lineaarinen"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
msgstr "Oikea lineaarinen"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
msgstr "Lataa esiasetus"
@@ -5460,18 +5437,16 @@ msgid "This doesn't work on scene root!"
msgstr "Tämä ei toimi skenen juuressa!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "Luo konkaavi muoto"
+msgstr "Luo staattinen konkaavi muoto"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Muotojen luonti epäonnistui!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Luo konveksi muoto"
+msgstr "Luo konvekseja muotoja"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -5527,9 +5502,8 @@ msgid "Create Trimesh Collision Sibling"
msgstr "Luo konkaavi törmäysmuoto sisareksi"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
-msgstr "Luo konveksi törmäysmuoto sisareksi"
+msgstr "Luo konvekseja törmäysmuotoja sisariksi"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -5891,7 +5865,6 @@ msgid "Split Segment (in curve)"
msgstr "Puolita osa (käyrässä)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
msgstr "Siirrä liitosta"
@@ -6225,10 +6198,20 @@ msgid "Find Next"
msgstr "Etsi seuraava"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Suodata ominaisuuksia"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Käytä metodilistalla aakkosellista järjestystä."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Suodatustila:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Lajittele"
@@ -6339,18 +6322,16 @@ msgid "Debug with External Editor"
msgstr "Debuggaa ulkoisella editorilla"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Avaa Godotin online-dokumentaatio"
+msgstr "Avaa Godotin online-dokumentaatio."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "Pyydä dokumentaatiota"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "Auta parantamaan Godotin dokumentaatiota antamalla palautetta"
+msgstr "Auta parantamaan Godotin dokumentaatiota antamalla palautetta."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6395,30 +6376,26 @@ msgid "Search Results"
msgstr "Haun tulokset"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "Yhdistä solmuun:"
+msgstr "Yhteydet metodiin:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Lähde:"
+msgstr "Lähde"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Signaalit"
+msgstr "Signaali"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Target"
-msgstr "Kohdepolku:"
+msgstr "Kohde"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "Mitään ei ole yhdistetty syötteeseen '%s' solmussa '%s'."
+msgstr ""
+"Yhdistetty metodi '%s' signaalille '%s' puuttuu solmusta '%s' solmuun '%s'."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6467,18 +6444,13 @@ msgstr "Syntaksin korostaja"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "Kirjanmerkit"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Leikkaa"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Valitse kaikki"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Poista rivi"
@@ -6496,24 +6468,20 @@ msgid "Toggle Comment"
msgstr "Lisää tai poista kommentit"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "Kytke liikkuminen päälle/pois"
+msgstr "Aseta kirjanmerkki"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Mene seuraavaan keskeytyskohtaan"
+msgstr "Mene seuraavaan kirjanmerkkiin"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "Mene edelliseen keskeytyskohtaan"
+msgstr "Mene edelliseen kirjanmerkkiin"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "Poista kaikki"
+msgstr "Poista kaikki kirjanmerkit"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -6589,13 +6557,12 @@ msgid "Contextual Help"
msgstr "Asiayhteydellinen ohje"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"Seuraavat tiedostot ovat uudempia levyllä.\n"
-"Mikä toimenpide tulisi suorittaa?:"
+"Tätä sävytintä on muokattu levyllä.\n"
+"Mikä toimenpide tulisi suorittaa?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -6940,7 +6907,6 @@ msgid "Right View"
msgstr "Oikea näkymä"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
msgstr "Vaihda perspektiiviseen/ortogonaaliseen näkymään"
@@ -6986,7 +6952,6 @@ msgid "Transform"
msgstr "Muunna"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
msgstr "Kohdista objekti lattiaan"
@@ -7176,22 +7141,20 @@ msgid "Settings:"
msgstr "Asetukset:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "Rajaa valintaan"
+msgstr "Ei valittuja ruutuja"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Lisää frame"
+msgstr "Lisää %d ruutua"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
-msgstr "Lisää frame"
+msgstr "Lisää ruutu"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
-msgstr "VIRHE: Ei voitu ladata framen resurssia!"
+msgstr "VIRHE: Ei voitu ladata ruudun resurssia!"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Resource clipboard is empty or not a texture!"
@@ -7199,7 +7162,7 @@ msgstr "Resurssileikepöytä on tyhjä tai ei sisällä tekstuuria!"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Paste Frame"
-msgstr "Liitä frame"
+msgstr "Liitä ruutu"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Empty"
@@ -7234,13 +7197,12 @@ msgid "Animation Frames:"
msgstr "Animaatioruudut:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Lisää tekstuurit ruutuvalikoimaan."
+msgstr "Lisää tekstuuri tiedostosta"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "Lisää ruudut Sprite Sheetistä"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
@@ -7259,29 +7221,24 @@ msgid "Move (After)"
msgstr "Siirrä (jälkeen)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select Frames"
-msgstr "Pinokehykset"
+msgstr "Valitse ruudut"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Käännä vaakasuorasti"
+msgstr "Vaakasuora:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Kärkipisteet"
+msgstr "Pystysuora:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "Valitse kaikki"
+msgstr "Valitse tai tyhjää kaikki ruudut"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "Luo skenestä"
+msgstr "Luo ruudut Sprite Sheetistä"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7353,9 +7310,8 @@ msgid "Remove All"
msgstr "Poista kaikki"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "Muokkaa teemaa..."
+msgstr "Muokkaa teemaa"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7382,23 +7338,20 @@ msgid "Create From Current Editor Theme"
msgstr "Luo nykyisestä editorin teemasta"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "Hiiren painike"
+msgstr "Vaihtopainike"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Keskipainike"
+msgstr "Toimintakyvytön painike"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "Osanen"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "Poistettu käytöstä"
+msgstr "Toimintakyvytön osanen"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7418,21 +7371,19 @@ msgstr "Valittu valintapainike"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "Nimetty erotin"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Alivalikko"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "Osanen"
+msgstr "Osanen 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "Osanen"
+msgstr "Osanen 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7443,9 +7394,8 @@ msgid "Many"
msgstr "Useita"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "Poistettu käytöstä"
+msgstr "Toimintakyvytön LineEdit"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7460,13 +7410,12 @@ msgid "Tab 3"
msgstr "Välilehti 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "Muokattavat alisolmut"
+msgstr "Muokattava osanen"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "Alipuu"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7546,14 +7495,12 @@ msgid "Mirror Y"
msgstr "Peilaa Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "Automaattiruudutus"
+msgstr "Poista automaattiruudutus käytöstä"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "Muokkaa ruudun prioriteettia"
+msgstr "Ota prioriteetti käyttöön"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7564,33 +7511,30 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift+Hiiren oikea: Piirrä viiva\n"
+"Shift+Ctrl+Hiiren oikea: Suorakaidemaalaus"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
msgstr "Poimi ruutu"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
msgstr "Kierrä vasemmalle"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
msgstr "Kierrä oikealle"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
msgstr "Käännä vaakasuorasti"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
msgstr "Käännä pystysuorasti"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
msgstr "Tyhjennä muunnos"
@@ -7627,44 +7571,36 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Valitse edellinen muoto, aliruutu tai ruutu."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "Käynnistystila:"
+msgstr "Aluetila"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Interpolaatiotila"
+msgstr "Törmäystila"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "Muokkaa peittopolygonia"
+msgstr "Peittotila"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "Luo navigointiverkko"
+msgstr "Siirtymistila"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "Kääntötila"
+msgstr "Bittimaskitila"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "Vientitila:"
+msgstr "Prioriteettitila"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "Panorointitila"
+msgstr "Kuvaketila"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "Panorointitila"
+msgstr "Z-indeksitila"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7748,7 +7684,6 @@ msgid "Delete polygon."
msgstr "Poista polygoni."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
@@ -7757,6 +7692,7 @@ msgid ""
msgstr ""
"Hiiren vasen: aseta bitti päälle.\n"
"Hiiren oikea: aseta bitti pois päältä.\n"
+"Shift+Hiiren vasen: aseta jokeribitti.\n"
"Napsauta toista ruutua muokataksesi sitä."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -7870,77 +7806,64 @@ msgid "TileSet"
msgstr "Ruutuvalikoima"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "Lisää syöte"
+msgstr "Lisää tulo +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "Lisää syöte"
+msgstr "Lisää lähtö +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "Skaalaus:"
+msgstr "Skalaari"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "Tarkastelu"
+msgstr "Vektori"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Totuusarvo"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "Lisää syöte"
+msgstr "Lisää tuloportti"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "Lisää lähtöportti"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "Muuta oletustyyppiä"
+msgstr "Muuta tuloportin tyyppiä"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "Muuta oletustyyppiä"
+msgstr "Muuta lähtöportin tyyppiä"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "Vaihda syötteen nimi"
+msgstr "Vaihda tuloportin nimi"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "Vaihda syötteen nimi"
+msgstr "Vaihda lähtöportin nimi"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "Poista piste"
+msgstr "Poista tuloportti"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "Poista piste"
+msgstr "Poista lähtöportti"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "Vaihda lauseketta"
+msgstr "Aseta lauseke"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "VisualShader"
+msgstr "Muuta VisualShader solmun kokoa"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
@@ -7979,83 +7902,77 @@ msgid "Light"
msgstr "Valo"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "Luo solmu"
+msgstr "Luo Shader solmu"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "Mene funktioon"
+msgstr "Värifunktio."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
-msgstr ""
+msgstr "Värioperaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "Tee funktio"
+msgstr "Harmaasävyfunktio."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "Muuntaa HSV-vektorin RGB-vastaavaksi."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "Muuntaa RGB-vektori HSV-vastaavaksi."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "Nimeä funktio uudelleen"
+msgstr "Seepia-funktio."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "Poltto-operaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
-msgstr ""
+msgstr "Tummennusoperaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Difference operator."
-msgstr "Vain eroavaisuudet"
+msgstr "Eroavaisuusoperaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
-msgstr ""
+msgstr "Värinväistöoperaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "HardLight operator"
-msgstr ""
+msgstr "HardLight-operaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Lighten operator."
-msgstr ""
+msgstr "Vaalennusoperaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Overlay operator."
-msgstr ""
+msgstr "Peitto-operaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Screen operator."
-msgstr ""
+msgstr "Näyttöoperaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "SoftLight operator."
-msgstr ""
+msgstr "SoftLight-operaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "Muuttumaton"
+msgstr "Värivakio."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "Tyhjennä muunnos"
+msgstr "Väri-uniform."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8078,52 +7995,9 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for all shader modes."
+msgstr "'normal' syöteparametri valosävytintilaan."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8131,335 +8005,165 @@ msgid "Input parameter."
msgstr "Tartu isäntään"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr "'custom' syöteparametri kärkipistesävytintilaan."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr "'normal' syöteparametri valosävytintilaan."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment shader mode."
+msgstr "'custom' syöteparametri kärkipistesävytintilaan."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for light shader mode."
+msgstr "'normal' syöteparametri valosävytintilaan."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex shader mode."
+msgstr "'custom' syöteparametri kärkipistesävytintilaan."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr "'custom' syöteparametri kärkipistesävytintilaan."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar function."
-msgstr "Muuta skalaarifunktiota"
+msgstr "Skalaarifunktio."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar operator."
-msgstr "Muuta skalaarioperaattoria"
+msgstr "Skalaarioperaattori."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "E-vakio (2.718282). Kuvastaa luonnollisen logaritmin kantalukua."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "Epsilon-vakio (0.00001). Pienin mahdollinen skaalariluku."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "Fii-vakio (1.618034). Kultainen leikkaus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "Pii/4-vakio (0.785398) eli 45 astetta."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "Pii/2-vakio (1.570796) eli 90 astetta."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "Pii-vakio (3.141593) eli 180 astetta."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "Tau-vakio (6.283185) eli 360 astetta."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "Sqrt2-vakio (1.414214). Kahden neliöjuuri."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "Palauttaa parametrin absoluuttisen arvon."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "Palauttaa parametrin arkuskosinin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Vain GLES3) Palauttaa parametrin käänteisen hyperbolisen kosinin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "Palauttaa parametrin arkussinin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Vain GLES3) Palauttaa parametrin käänteisen hyperbolisen sinin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "Palauttaa parametrin arkustangentin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "Palauttaa parametrien arkustangentin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Vain GLES3) Palauttaa parametrin käänteisen hyperbolisen tangentin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
msgstr ""
+"Etsii lähimmän kokonaisluvun, joka on suurempi tai yhtä suuri kuin parametri."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "Rajoittaa arvon kahden muun arvon rajoittamaan väliin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "Palauttaa parametrin kosinin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Vain GLES3) Palauttaa parametrin hyperbolisen kosinin."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "Muuntaa suureen radiaaneista asteiksi."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "E-kantainen eksponentti."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "2-kantainen eksponentti."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
msgstr ""
+"Etsii lähimmän kokonaisluvun, joka on vähemmän tai yhtä suuri kuin parametri."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
-msgstr ""
+msgstr "Laskee argumentin desimaaliosan."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "Palauttaa parametrin käänteisen neliöjuuren."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
-msgstr ""
+msgstr "Luonnollinen logaritmi."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "2-kantainen logaritmi."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
-msgstr ""
+msgstr "Palauttaa suuremman kahdesta arvosta."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the lesser of two values."
-msgstr ""
+msgstr "Palauttaa pienemmän kahdesta arvosta."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
@@ -10052,6 +9756,11 @@ msgid "Add Child Node"
msgstr "Lisää alisolmu"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Tiivistä kaikki"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Muuta tyyppiä"
@@ -10080,7 +9789,8 @@ msgid "Delete (No Confirm)"
msgstr "Poista (ei varmistusta)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Lisää/Luo uusi solmu"
#: editor/scene_tree_dock.cpp
@@ -11566,6 +11276,17 @@ msgstr ""
"Tältä luulta puuttuu kunnollinen lepoasento (REST). Mene Skeleton2D solmuun "
"ja aseta sellainen."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D toimii törmäysmuotona ainoastaan CollisionObject2D solmusta "
+"perityille solmuille. Käytä sitä ainoastaan Area2D, StaticBody2D, "
+"RigidBody2D, KinematicBody2D, jne. alla antaaksesi niille muodon."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11873,8 +11594,13 @@ msgid "Pick a color from the screen."
msgstr "Valitse väri ruudulta."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Raakatila"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Käännös (yaw)"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11887,7 +11613,7 @@ msgstr "Lisää nykyinen väri esiasetukseksi."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -11897,6 +11623,12 @@ msgstr ""
"Jos et aio lisätä skriptiä, ole hyvä ja käytä sen sijaan tavallista "
"'Control' solmua."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Huomio!"
@@ -11993,6 +11725,72 @@ msgstr "Varying tyypin voi sijoittaa vain vertex-funktiossa."
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Enabled Classes"
+#~ msgstr "Käytössä olevat luokat"
+
+#~ msgid "Update Always"
+#~ msgstr "Päivitä aina"
+
+#~ msgid "'light_uv' input parameter for light shader mode."
+#~ msgstr "'light_uv' syöteparametri valosävytintilaan."
+
+#~ msgid "'light_vec' input parameter for light shader mode."
+#~ msgstr "'light_vec' syöteparametri valosävytintilaan."
+
+#~ msgid "'shadow_color' input parameter for light shader mode."
+#~ msgstr "'shadow_color' syöteparametri valosävytintilaan."
+
+#~ msgid "'extra' input parameter for vertex shader mode."
+#~ msgstr "'extra' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'projection' input parameter for vertex shader mode."
+#~ msgstr "'projection' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'vertex' input parameter for vertex shader mode."
+#~ msgstr "'vertex' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'world' input parameter for vertex shader mode."
+#~ msgstr "'world' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'active' input parameter for vertex shader mode."
+#~ msgstr "'active' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'alpha' input parameter for vertex shader mode."
+#~ msgstr "'alpha' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'color' input parameter for vertex shader mode."
+#~ msgstr "'color' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'custom_alpha' input parameter for vertex shader mode."
+#~ msgstr "'custom_alpha' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'delta' input parameter for vertex shader mode."
+#~ msgstr "'delta' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'emission_transform' input parameter for vertex shader mode."
+#~ msgstr "'emission_transform' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'index' input parameter for vertex shader mode."
+#~ msgstr "'index' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'lifetime' input parameter for vertex shader mode."
+#~ msgstr "'lifetime' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'restart' input parameter for vertex shader mode."
+#~ msgstr "'restart' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'time' input parameter for vertex shader mode."
+#~ msgstr "'time' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'transform' input parameter for vertex shader mode."
+#~ msgstr "'transform' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "'velocity' input parameter for vertex shader mode."
+#~ msgstr "'velocity' syöteparametri kärkipistesävytintilaan."
+
+#~ msgid "Raw Mode"
+#~ msgstr "Raakatila"
+
#~ msgid "Path to Node:"
#~ msgstr "Polku solmuun:"
@@ -12541,9 +12339,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Aseta Spatial näkyvyys päälle/pois"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Aseta CanvasItem näkyvyys päälle/pois"
-
#~ msgid "Condition"
#~ msgstr "Ehtolause"
diff --git a/editor/translations/fil.po b/editor/translations/fil.po
index 0e8ec31005..70dcd9056e 100644
--- a/editor/translations/fil.po
+++ b/editor/translations/fil.po
@@ -427,6 +427,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr ""
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1275,7 +1284,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1471,7 +1480,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1524,7 +1533,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1537,7 +1546,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1560,11 +1569,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2570,10 +2575,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2680,15 +2705,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Tuloy-tuloy"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2976,20 +3002,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5053,6 +5079,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5956,10 +5989,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6196,11 +6237,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7719,51 +7755,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7771,203 +7763,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9595,6 +9411,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9623,7 +9443,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -11010,6 +10830,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11257,7 +11084,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11270,12 +11101,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index 3c504aed8c..12b915efbf 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -6,7 +6,7 @@
# ARocherVj <a.rocher.vj@gmail.com>, 2017.
# Arthur Templé <tuturtemple@gmail.com>, 2018.
# Brice <bbric@free.fr>, 2016.
-# Chenebel Dorian <LoubiTek54@gmail.com>, 2016-2017.
+# Chenebel Dorian <LoubiTek54@gmail.com>, 2016-2017, 2019.
# Cindy Dallaire <c.dallaire93@gmail.com>, 2018.
# derderder77 <derderder77380@gmail.com>, 2016.
# finkiki <specialpopol@gmx.fr>, 2016.
@@ -36,7 +36,7 @@
# Robin Arys <robinarys@hotmail.com>, 2017.
# Roger BR <drai_kin@hotmail.com>, 2016.
# salty64 <cedric.arrabie@univ-pau.fr>, 2018.
-# Thomas Baijot <thomasbaijot@gmail.com>, 2016.
+# Thomas Baijot <thomasbaijot@gmail.com>, 2016, 2019.
# Tommy Melançon-Roy <tommel1234@hotmail.com>, 2017-2018.
# Willow <theotimefd@aol.com>, 2018.
# Xananax <xananax@yelostudio.com>, 2017-2018.
@@ -60,8 +60,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-05-20 11:49+0000\n"
-"Last-Translator: Caye Pierre <pierrecaye@laposte.net>\n"
+"PO-Revision-Date: 2019-07-02 10:50+0000\n"
+"Last-Translator: Chenebel Dorian <LoubiTek54@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -69,7 +69,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -129,9 +129,8 @@ msgid "Time:"
msgstr "Temps :"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Valeur"
+msgstr "Valeur :"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -490,10 +489,29 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Cette animation appartient à une scène importée, donc les changements "
+"apportés aux pistes importées ne seront pas sauvegardés.\n"
+"\n"
+"Pour activer la possibilité d'ajouter des pistes personnalisées, naviguez "
+"dans les paramètres d'importation de la scène et définissez\n"
+"\"Animation > Stockage\" à \"Fichiers\", activez \"Animation > Garder Pistes "
+"Courantes\" puis ré-importez.\n"
+"Alternativement, utilise un préréglage d'import qui importe les animations "
+"dans des fichiers différents."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Avertissement : Édition d'une animation importée"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Tout sélectionner"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Sélectionner un nœud"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -544,7 +562,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 à partir du curseur"
#: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp
msgid "Duplicate Selection"
@@ -661,7 +679,7 @@ msgstr "Modifier le type de valeurs du tableau"
#: editor/array_property_edit.cpp
msgid "Change Array Value"
-msgstr "Modifier la valeur du tableau"
+msgstr "Changer la valeur du tableau"
#: editor/code_editor.cpp
msgid "Go to Line"
@@ -729,38 +747,32 @@ msgid "Line and column numbers."
msgstr "Numéros de ligne et de colonne."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "La méthode du nœud cible doit être spécifiée !"
+msgstr "La méthode du nœud cible doit être spécifiée."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"La méthode cible n'a pas été trouvée ! Spécifiez une méthode valide ou "
+"La méthode cible n'a pas été trouvée. Spécifiez une méthode valide ou "
"attachez un script au nœud cible."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
msgstr "Connecter au nœud :"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Connexion à l'hôte impossible :"
+msgstr "Connecter au script :"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Signaux :"
+msgstr "Depuis le signal :"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "Le nœud ne contient pas de géométrie."
+msgstr "La scène ne comprend pas de script."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -788,7 +800,6 @@ msgid "Extra Call Arguments:"
msgstr "Arguments supplémentaires :"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
msgstr "Options avancées"
@@ -800,6 +811,8 @@ msgstr "Différé"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Diffère le signal, le stockant dans une file d'attente et l'active pendant "
+"un temps d'inactivité."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -807,12 +820,11 @@ msgstr "One-shot"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Déconnecte le signal après sa première émission."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Signal de connexion : "
+msgstr "Impossible de connecter le signal"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -854,14 +866,12 @@ msgid "Disconnect"
msgstr "Déconnecter"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Signal de connexion : "
+msgstr "Connecter un signal à une méthode"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Modifier les connexions : "
+msgstr "Modifier la connexion :"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -937,22 +947,20 @@ msgid "Dependencies For:"
msgstr "Dépendances pour :"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
"La scène « %s » est actuellement en cours de modification.\n"
-"Les changements n'auront pas d'effet avant un rechargement."
+"Les changements ne prendront effet qu'après un rechargement."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
"La ressource « %s » est utilisée.\n"
-"Les changements n'auront pas d'effet avant un rechargement."
+"Les changements ne prendront effet qu'après un rechargement."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -1046,9 +1054,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "Supprimer de manière permanente %d objet(s) ? (Annulation impossible!)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Dépendances"
+msgstr "Afficher les dépendances"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1311,7 +1318,7 @@ msgstr "Ouvrir une disposition de bus audio"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "'%s' n'existe pas."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1368,29 +1375,24 @@ msgid "Valid characters:"
msgstr "Caractères valides :"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
msgstr ""
-"Nom invalide. Le nom ne doit pas rentrer en conflit avec le nom d'une classe "
-"moteur existante."
+"Ne doit pas entrer en collision avec un nom de classe du moteur existant."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
-"Nom invalide. Le nom ne doit pas rentrer en conflit avec le nom d'un type "
-"intégré au moteur."
+"Ne doit pas entrer en collision avec un nom de type intégré au moteur "
+"existant."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr ""
-"Nom invalide. Le nom ne doit pas rentrer en conflit avec le nom d'une "
-"constante globale."
+msgstr "Ne doit pas entrer en collision avec une constante globale existante."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "Un mot-clé ne peut pas être utilisé comme nom de chargement auto."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1421,7 +1423,6 @@ msgid "Rearrange Autoloads"
msgstr "Ré-organiser les AutoLoads"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "Chemin invalide."
@@ -1476,9 +1477,8 @@ msgid "[unsaved]"
msgstr "[non enregistré]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Veuillez sélectionner un répertoire de base en premier"
+msgstr "Veuillez sélectionner un répertoire de base en premier."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1563,106 +1563,92 @@ msgid "Template file not found:"
msgstr "Fichier modèle introuvable :"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Éditeur"
+msgstr "Éditeur 3D"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Ouvrir l'éditeur de script"
+msgstr "Éditeur de Script"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Ouvrir bibliothèque de ressource"
+msgstr "Bibliothèque d'assets"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Arbre de scène (nœuds) :"
+msgstr "Édition de l'arbre de scène"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Importer"
+msgstr "Dock d'importation"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Nœud déplacé"
+msgstr "Dock nœud"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "Système de fichiers"
+msgid "FileSystem and Import Docks"
+msgstr "Dock système de fichiers"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Remplacer tout (pas de retour en arrière)"
+msgstr "Effacer le profil '%s' ? (pas d'annulation)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
msgstr ""
+"Le profil doit être un nom de fichier valide et ne doit pas contenir '.'"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Un fichier ou un dossier avec ce nom existe déjà."
+msgstr "Un profil avec ce nom existe déjà."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Éditeur désactivé, Propriétés désactivées)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Propriétés seulement"
+msgstr "(Propriétés désactivées)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Âgrafe désactivée"
+msgstr "(Éditeur désactivé)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Description de la classe :"
+msgstr "Options de classe :"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Ouvrir l'éditeur suivant"
+msgstr "Ouvrir l'éditeur contextuel"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Propriétés :"
+msgstr "Propriétés activées :"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Fonctionnalités"
+msgstr "Fonctionnalités activées :"
#: editor/editor_feature_profile.cpp
msgid "Enabled Classes:"
-msgstr ""
+msgstr "Classes activées :"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Le format du fichier '%s' est invalide, fin de l'import."
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Erreur lors du chargement du modèle « %s »"
+msgstr "Erreur lors de l'enregistrement du profil au chemin: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
@@ -1670,8 +1656,8 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Version courante :"
+msgid "Current Profile:"
+msgstr "Profil actuel"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1695,38 +1681,28 @@ msgstr "Exporter"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Nœuds disponibles :"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Activer l'alignement"
+msgid "Available Profiles:"
+msgstr "Profils disponibles"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Description de la classe"
+msgstr "Options de classe"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Nouveau nom :"
+msgstr "Nouveau nom de profil :"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Effacer zone"
+msgstr "Effacer le profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Projet importé"
+msgstr "Profil(s) d'importation"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Exporter le projet"
+msgstr "Profil d'exportation"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1854,9 +1830,8 @@ msgid "(Un)favorite current folder."
msgstr "Ajouter ou supprimer des favoris le dossier courant."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Basculer les fichiers cachés"
+msgstr "Activer / désactiver la visibilité des fichiers cachés."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -2059,7 +2034,7 @@ msgstr "Type de membre"
#: editor/editor_help_search.cpp
msgid "Class"
-msgstr "Classe"
+msgstr "Classe :"
#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
msgid "Property:"
@@ -2237,7 +2212,6 @@ msgstr ""
"comprendre le processus."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
@@ -2268,7 +2242,6 @@ msgstr ""
"mieux comprendre ce processus."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
@@ -2277,7 +2250,7 @@ msgstr ""
"Ceci est un objet distant, les changements qui y sont faits ne seront pas "
"sauvegardés.\n"
"Merci de lire la section de la documentation portant sur le débogage pour "
-"mieux comprendre ce mécanisme."
+"mieux comprendre ce flux de travail."
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -2302,9 +2275,8 @@ msgid "Open Base Scene"
msgstr "Ouvrir scène de base"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Ouvrir une scène rapidement…"
+msgstr "Ouverture Rapide..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2558,9 +2530,8 @@ msgid "Close Tabs to the Right"
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Fermer tout"
+msgstr "Fermer tous les onglets"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2807,10 +2778,34 @@ msgid "Editor Layout"
msgstr "Disposition de l'éditeur"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Choisir comme racine de scène"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Ouvrir le dossier de données/paramètres de l'éditeur"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Ouvrir l'éditeur suivant"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Activer/Désactiver le plein écran"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Activer/désactiver le mode scindé"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Ouvrir le dossier de données/paramètres de l'éditeur"
@@ -2823,9 +2818,8 @@ msgid "Open Editor Settings Folder"
msgstr "Ouvrir le dossier des paramètres de l'éditeur"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "Gérer les modèles d'exportation"
+msgstr "Gérer les fonctionnalités de l'éditeur"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2918,15 +2912,18 @@ msgid "Spins when the editor window redraws."
msgstr "Tourne lorsque la fenêtre de l'éditeur est redessinée."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Toujours repeindre"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Continu"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Repeindre quand modifié"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Désactiver l'indicateur d'activité"
#: editor/editor_node.cpp
@@ -2958,9 +2955,8 @@ msgid "Android build template is missing, please install relevant templates."
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Gérer les modèles d'exportation"
+msgstr "Gérer les modèles"
#: editor/editor_node.cpp
msgid ""
@@ -3224,6 +3220,11 @@ msgid "Page: "
msgstr "Page : "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Supprimer l'item"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nouvelle Clé :"
@@ -3235,11 +3236,6 @@ msgstr "Nouvelle Valeur :"
msgid "Add Key/Value Pair"
msgstr "Ajouter une paire clé/valeur"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Supprimer l'item"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3449,7 +3445,7 @@ msgstr "Erreurs de la négociation SSL"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "Décompression des assets"
+msgstr "Décompresser les sources de compilation Android"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3468,7 +3464,6 @@ msgid "Remove Template"
msgstr "Supprimer le modèle"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
msgstr "Sélectionner le fichier de modèle"
@@ -3533,9 +3528,8 @@ msgid "No name provided."
msgstr "Aucun nom renseigné."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "Le nom renseigné contient des caractères invalides"
+msgstr "Le nom renseigné contient des caractères invalides."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3562,9 +3556,8 @@ msgid "Duplicating folder:"
msgstr "Duplication du dossier :"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Nouvelle scène héritée…"
+msgstr "Nouvelle scène héritée"
#: editor/filesystem_dock.cpp
#, fuzzy
@@ -3576,12 +3569,10 @@ msgid "Instance"
msgstr "Instance"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
msgstr "Ajouter aux favoris"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
msgstr "Supprimer des favoris"
@@ -3631,21 +3622,18 @@ msgid "Rename"
msgstr "Renommer"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Dossier précédent"
+msgstr "Dossier/Fichier précédent"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Dossier suivant"
+msgstr "Dossier/Fichier suivant"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "Analyser à nouveau le système de fichiers"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
msgstr "Activer/désactiver le mode scindé"
@@ -4141,9 +4129,8 @@ msgid "Open Animation Node"
msgstr "Ouvrir le Nœud Animation"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "Le triangle existe déjà"
+msgstr "Le triangle existe déjà."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4292,7 +4279,6 @@ msgid "Edit Filtered Tracks:"
msgstr "Modifier les pistes filtrées :"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
msgstr "Activer le filtrage"
@@ -4429,9 +4415,8 @@ msgid "Enable Onion Skinning"
msgstr "Activer l'effet « pelure d'oignon »"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "Effet pelure d'oignon"
+msgstr "Options effet pelure d'oignon"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -5015,41 +5000,35 @@ msgstr "Modifier les ancres"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "Outil sélection"
+msgstr "Verrouillage Sélectionné"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "Supprimer la selection"
+msgstr "Déverrouillage Sélectionné"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Copier la sélection"
+msgstr "Groupe sélectionné"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Copier la sélection"
+msgstr "Dégrouper Sélectionné"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "Coller la pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
msgstr "Créer des os personnalisés à partir d'un ou de plusieurs nœuds"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "Vider la pose"
+msgstr "Effacer les os"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5137,9 +5116,8 @@ msgid "Snapping Options"
msgstr "Options de magnétisme"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
-msgstr "Accrocher à la grille"
+msgstr "Aimanter à la grille"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
@@ -5159,39 +5137,32 @@ msgid "Use Pixel Snap"
msgstr "Aligner au pixel près"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
msgstr "Magnétisme intelligent"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
msgstr "Aimanter au parent"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
-msgstr "Accrocher à l'ancre du nœud"
+msgstr "Aimanter à l'ancre du nœud"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
-msgstr "Accrocher aux flancs du nœud"
+msgstr "Aimanter aux flancs du nœud"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
-msgstr "Accrocher au centre du nœud"
+msgstr "Aimanter au centre du nœud"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
-msgstr "Accrocher aux autres nœuds"
+msgstr "Aimanter aux autres nœuds"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
-msgstr "Accrocher aux guides"
+msgstr "Aimanter aux guides"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5356,7 +5327,6 @@ msgid "Error instancing scene from %s"
msgstr "Erreur d'instanciation de la scène depuis %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
msgstr "Changer le type par défaut"
@@ -5400,6 +5370,14 @@ msgid "Load Emission Mask"
msgstr "Charger Masque d'Émission"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Redémarrer maintenant"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Effacer Masque d'Émission"
@@ -5445,14 +5423,12 @@ msgid "Create Emission Points From Node"
msgstr "Créer des points d'émission depuis le nœud"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "Plat0"
+msgstr "Plat 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "Plat1"
+msgstr "Plat 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5479,29 +5455,24 @@ msgid "Load Curve Preset"
msgstr "Charger un pré-réglage de courbe"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
msgstr "Ajouter un point"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
-msgstr "Supprimer point"
+msgstr "Supprimer un point"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
msgstr "Linéaire gauche"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
msgstr "Linéaire droite"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
-msgstr "Charger prérèglage"
+msgstr "Charger un préréglage"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Curve Point"
@@ -5556,18 +5527,16 @@ msgid "This doesn't work on scene root!"
msgstr "Cela ne fonctionne pas sur la racine de la scène !"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "Créer une forme Trimesh"
+msgstr "Créer une forme Trimesh statique"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Créer une forme convexe"
+msgstr "Créer une(des) forme(s) convexe(s)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -5626,9 +5595,8 @@ msgid "Create Trimesh Collision Sibling"
msgstr "Créer une collision Trimesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
-msgstr "Créer une collision convexe"
+msgstr "Créer une(des) collision(s) convexe(s) sœur(s)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -5993,7 +5961,6 @@ msgid "Split Segment (in curve)"
msgstr "Diviser le segment (en courbe)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
msgstr "Déplacer la jointure"
@@ -6328,10 +6295,20 @@ msgid "Find Next"
msgstr "Correspondance suivante"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtrer les propriétés"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Basculer le tri alphabétique de la liste de méthodes."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Mode de filtre :"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Trier"
@@ -6442,18 +6419,16 @@ msgid "Debug with External Editor"
msgstr "Déboguer avec un éditeur externe"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Ouvrir la documentation Godot en ligne"
+msgstr "Ouvrir la documentation de Godot en ligne."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "Demande de documentation"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "Aider à améliorer la documentation de Godot en donnant vos réactions"
+msgstr "Aider à améliorer la documentation de Godot en donnant vos réactions."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6498,17 +6473,14 @@ msgid "Search Results"
msgstr "Résultats de recherche"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "Connecter au nœud :"
+msgstr "Connexions à la méthode :"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Ressource"
+msgstr "Source"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
msgstr "Signaux"
@@ -6576,11 +6548,6 @@ msgstr ""
msgid "Cut"
msgstr "Couper"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Tout sélectionner"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Supprimer ligne"
@@ -6691,13 +6658,12 @@ msgid "Contextual Help"
msgstr "Aide contextuelle"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"Les fichiers suivants sont plus récents sur le disque.\n"
-"Quelle action doit être prise ? :"
+"Ce shader a été modifié sur le disque.\n"
+"Quelles sont les mesures à prendre ?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -7045,7 +7011,6 @@ msgid "Right View"
msgstr "Vue de droite"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
msgstr "Basculer entre la vue perspective et orthogonale"
@@ -7091,9 +7056,8 @@ msgid "Transform"
msgstr "Transformation"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
-msgstr "Aligner l'objet sur le sol"
+msgstr "Aimanter l'objet au sol"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
@@ -7341,9 +7305,8 @@ msgid "Animation Frames:"
msgstr "Trames d'animation :"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Ajouter des textures au TileSet."
+msgstr "Ajouter une texture à partir d'un fichier"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
@@ -7371,14 +7334,12 @@ msgid "Select Frames"
msgstr "Pile des appels"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Retourner horizontalement"
+msgstr "Horizontal :"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Vertex"
+msgstr "Vertical :"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
@@ -7460,9 +7421,8 @@ msgid "Remove All"
msgstr "Supprimer tout"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "Modifier le thème…"
+msgstr "Modifier le thème"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7494,18 +7454,16 @@ msgid "Toggle Button"
msgstr "Bouton de souris"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Bouton du milieu"
+msgstr "Bouton désactivé"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "Item"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "Supprimer élément"
+msgstr "Élément Désactivé"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7532,14 +7490,12 @@ msgid "Submenu"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "Item"
+msgstr "Élément 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "Item"
+msgstr "Élément 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7567,9 +7523,8 @@ msgid "Tab 3"
msgstr "Onglet 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "Enfants modifiables"
+msgstr "Élément modifiable"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
@@ -7657,9 +7612,8 @@ msgid "Disable Autotile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "Modifier la priorité de la tuile"
+msgstr "Activer la priorité"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7676,27 +7630,22 @@ msgid "Pick Tile"
msgstr "Sélectionner une case"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
-msgstr "Rotation à gauche"
+msgstr "Rotation vers la gauche"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
-msgstr "Rotation à droite"
+msgstr "Rotation vers la droite"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
msgstr "Retourner horizontalement"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
msgstr "Retourner verticalement"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
msgstr "Supprimer la transformation"
@@ -7733,29 +7682,24 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Sélectionner la forme précédente, sous-tuile, ou tuile."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "Mode d'exécution :"
+msgstr "Mode Région"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Mode d'interpolation"
+msgstr "Mode collision"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "Modifier le polygone d'occlusion"
+msgstr "Mode Occlusion"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "Créer un maillage de navigation"
+msgstr "Mode Navigation"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "Mode rotation"
+msgstr "Mode Bitmask"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -7763,14 +7707,12 @@ msgid "Priority Mode"
msgstr "Mode d'exportation :"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "Mode navigation"
+msgstr "Mode Icône"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "Mode navigation"
+msgstr "Mode Index Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7993,9 +7935,8 @@ msgid "Scalar"
msgstr "Échelle :"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "Inspecteur"
+msgstr "Vecteur"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
@@ -8185,51 +8126,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8238,203 +8135,27 @@ msgid "Input parameter."
msgstr "Aimanter au parent"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10163,6 +9884,11 @@ msgid "Add Child Node"
msgstr "Ajouter un nœud enfant"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Réduire tout"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Changer le type"
@@ -10191,7 +9917,8 @@ msgid "Delete (No Confirm)"
msgstr "Effacer (pas de confirmation)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Ajouter/Créer un nouveau nœud"
#: editor/scene_tree_dock.cpp
@@ -11711,6 +11438,17 @@ msgstr ""
"Cet os ne dispose pas d'une position de repos appropriée. Accédez au nœud "
"Skeleton2D et définissez-en une."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"Un CollisionShape2D n'est utile que lorsqu'il est enfant d'un nœud dérivé de "
+"CollisionObject2D, comme Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, "
+"etc."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -12023,8 +11761,13 @@ msgid "Pick a color from the screen."
msgstr "Échantillonner une couleur depuis l'écran."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Mode brut"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Lacet (hauteur)"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -12037,7 +11780,7 @@ msgstr "Ajouter la couleur courante comme pré-réglage."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -12047,6 +11790,12 @@ msgstr ""
"Si vous n'avez pas l'intention d'ajouter un script, utilisez plutôt un nœud "
"'Control'."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Alerte !"
@@ -12145,6 +11894,15 @@ msgstr "Les variations ne peuvent être affectées que dans la fonction vertex."
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Enabled Classes"
+#~ msgstr "Classes activées"
+
+#~ msgid "Update Always"
+#~ msgstr "Toujours repeindre"
+
+#~ msgid "Raw Mode"
+#~ msgstr "Mode brut"
+
#~ msgid "Path to Node:"
#~ msgstr "Chemin vers le nœud :"
diff --git a/editor/translations/he.po b/editor/translations/he.po
index 13c06339a6..747a45b6b2 100644
--- a/editor/translations/he.po
+++ b/editor/translations/he.po
@@ -8,12 +8,13 @@
# Yaron Shahrabani <sh.yaron@gmail.com>, 2018, 2019.
# RaikaRakka <shaiyatta@gmail.com>, 2018.
# Ido Dana <idodana01@gmail.com>, 2019.
+# Daniel Dovgun <daniel.dovgun@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-03-28 09:36+0000\n"
-"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:49+0000\n"
+"Last-Translator: Daniel Dovgun <daniel.dovgun@gmail.com>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/"
"godot/he/>\n"
"Language: he\n"
@@ -22,7 +23,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
-"X-Generator: Weblate 3.6-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -33,7 +34,7 @@ msgstr ""
#: 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"
@@ -45,15 +46,16 @@ msgstr ""
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr ""
+msgstr "××•×¤×¨× ×“×™× ×œ× ×ª×§×™× ×™× ×œ×ופרטור %s, %s ו%s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
msgstr "×©× ×ž×פיין ×”×ינדקס מסוג %s עבור בסיס %s שגוי"
#: core/math/expression.cpp
+#, fuzzy
msgid "Invalid named index '%s' for base type %s"
-msgstr ""
+msgstr "×©× ×ינדקס ×œ× ×ª×§×™×Ÿ '%s' לסוג בסיס '%s'"
#: core/math/expression.cpp
#, fuzzy
@@ -84,7 +86,7 @@ msgstr "זמן:"
#: editor/animation_bezier_editor.cpp
msgid "Value:"
-msgstr ""
+msgstr "ערך:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -100,26 +102,29 @@ msgstr "למחוק ×ת ×”×§×‘×¦×™× ×”× ×‘×—×¨×™×"
#: editor/animation_bezier_editor.cpp
msgid "Add Bezier Point"
-msgstr "הוסף נקודה"
+msgstr "הוסף נקודת בזייה"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Move Bezier Points"
-msgstr "הזזת נקודה"
+msgstr "הזזת נקודות בזייה"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+#, fuzzy
msgid "Anim Duplicate Keys"
-msgstr ""
+msgstr "שכפול מפתחות הנפשה"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+#, fuzzy
msgid "Anim Delete Keys"
-msgstr ""
+msgstr "מחיקת מפתחות הנפשה"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Anim Change Keyframe Time"
msgstr "שינוי זמן פריי×-מפתח ×נימציה"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Anim Change Transition"
msgstr "שינוי ×ž×™×§×•× ×נימציה"
@@ -138,7 +143,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
-msgstr "החלפת ערך ×נימציה"
+msgstr "שנה ×ורך ×נימציה"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
@@ -148,48 +153,49 @@ msgstr "שינוי לופ ×נימציה"
#: editor/animation_track_editor.cpp
msgid "Property Track"
-msgstr ""
+msgstr "רצועת מ×פיין"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "3D Transform Track"
-msgstr "התמרה"
+msgstr "רצועת שינוי 3D"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Call Method Track"
-msgstr ""
+msgstr "רצועת שיטה"
#: editor/animation_track_editor.cpp
msgid "Bezier Curve Track"
-msgstr ""
+msgstr "רצועת ×¢×§×•× ×‘×–×™×™×”"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Audio Playback Track"
-msgstr ""
+msgstr "רצועת שמע"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Animation Playback Track"
-msgstr "שקופיות ההנפשה"
+msgstr "רצועת הנפשה"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (frames)"
-msgstr "משך ההנפשה (בשניות)"
+msgstr "משך ההנפשה (פריימי×)"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Animation length (seconds)"
-msgstr "משך ההנפשה (בשניות)"
+msgstr "משך ההנפשה (שניות)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add Track"
-msgstr "הוספת רצועות חדשות."
+msgstr "הוספת רצועה"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Animation Looping"
-msgstr "תקריב הנפשה"
+msgstr "לול×ת הנפשה"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -211,12 +217,10 @@ msgid "Change Track Path"
msgstr "החלפת ערך רצועה"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Toggle this track on/off."
msgstr "הפעל/כבה רצועה"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Update Mode (How this property is set)"
msgstr "עדכן מצב (×יך המ×פיין ×”×–×” נקבע)"
@@ -258,7 +262,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
@@ -268,7 +272,7 @@ msgstr "ליני×רי"
#: editor/animation_track_editor.cpp
msgid "Cubic"
-msgstr ""
+msgstr "מעוקב"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
@@ -285,17 +289,16 @@ msgstr "הכנס מפתח"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
-msgstr "שכפול מפתח"
+msgstr "שכפול מפתח(ות)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Delete Key(s)"
-msgstr "מחיקת שורה"
+msgstr "מחיקת מפתח(ות)"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Change Animation Update Mode"
-msgstr "החלפת ערך מילון"
+msgstr "שינוי מצב עדכון הנפשה"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -305,7 +308,7 @@ msgstr "החלפת ערך מילון"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Change Animation Loop Mode"
-msgstr "×©× ×”× ×¤×©×” חדשה:"
+msgstr "שינוי מצב לול×ת הנפשה"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -313,7 +316,6 @@ msgid "Remove Anim Track"
msgstr "מחק רצועת הנפשה"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Create NEW track for %s and insert key?"
msgstr "ליצור רצועה חדשה ל%s ולהכניס מפתח?"
@@ -333,12 +335,14 @@ msgid "Create"
msgstr "יצירה"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Anim Insert"
-msgstr ""
+msgstr "הוסף הנפשה"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
+msgstr "נגן הנפשות ×œ× ×™×›×•×œ להנפיש ×ת עצמו, רק ×©×—×§× ×™× ×חרי×."
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -464,6 +468,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "לבחור הכול"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "בחירה"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1335,7 +1349,7 @@ msgstr "×©× ×©×’×•×™. ×œ× ×™×›×•×œ לחפוף ×œ×©× ×ž×—×œ×§×ª מנוע ×§×™×
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "×©× ×©×’×•×™. ×œ× ×™×›×•×œ לחפוף ×œ×©× ×¡×•×’ מובנה ×§×™×™×."
#: editor/editor_autoload_settings.cpp
@@ -1541,7 +1555,7 @@ msgstr "×©× ×”×ž×¤×¨×§:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "מערכת קבצי×"
#: editor/editor_feature_profile.cpp
@@ -1602,7 +1616,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1617,7 +1631,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "גרסה נוכחית:"
#: editor/editor_feature_profile.cpp
@@ -1641,13 +1655,9 @@ msgid "Export"
msgstr "ייצו×"
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "חיפוש במחלקות"
+msgid "Available Profiles:"
+msgstr "מ×פייני×"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2702,11 +2712,35 @@ msgid "Editor Layout"
msgstr "פריסת עורך"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "שמירת סצנה"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "הגדרות עורך"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "פתיחת העורך הב×"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "כניסה ×ל/יצי××” ממסך מל×"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "החלפת מצב"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "הגדרות עורך"
@@ -2747,7 +2781,7 @@ msgstr "×ž×¡×ž×›×™× ×ž×§×•×•× ×™×"
#: editor/editor_node.cpp
msgid "Q&A"
-msgstr "שו״ת"
+msgstr "ש×לות ותשובות נפוצות"
#: editor/editor_node.cpp
msgid "Issue Tracker"
@@ -2759,7 +2793,7 @@ msgstr "קהילה"
#: editor/editor_node.cpp
msgid "About"
-msgstr "על ×ודות"
+msgstr "על"
#: editor/editor_node.cpp
msgid "Play the project."
@@ -2817,15 +2851,18 @@ msgid "Spins when the editor window redraws."
msgstr "מסתובב ×›×שר חלון העורך מצויר מחדש!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "לעדכן תמיד"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "מתמשך"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "עדכון שינויי×"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "השבתת שבשבת עדכון"
#: editor/editor_node.cpp
@@ -3119,20 +3156,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5305,6 +5342,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "להפעיל מחדש כעת"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6239,10 +6284,20 @@ msgid "Find Next"
msgstr "×יתור הב×"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "מ×פייני פריט."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "מ×פייני פריט."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "מיון"
@@ -6492,11 +6547,6 @@ msgstr ""
msgid "Cut"
msgstr "גזירה"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "לבחור הכול"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "מחיקת שורה"
@@ -8119,51 +8169,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8171,203 +8177,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10040,6 +9870,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "×œ×¦×ž×¦× ×”×›×•×œ"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10070,8 +9905,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "יצירת %s חדש"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11492,6 +11328,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11745,8 +11588,12 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "מצב גולמי"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11759,12 +11606,18 @@ msgstr "הוספת הצבע הנוכחי כערכה"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
@@ -11850,6 +11703,16 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "חיפוש במחלקות"
+
+#~ msgid "Update Always"
+#~ msgstr "לעדכן תמיד"
+
+#~ msgid "Raw Mode"
+#~ msgstr "מצב גולמי"
+
#~ msgid "Path to Node:"
#~ msgstr "נתיב המפרק:"
diff --git a/editor/translations/hi.po b/editor/translations/hi.po
index 601d09371e..3e55d0a16f 100644
--- a/editor/translations/hi.po
+++ b/editor/translations/hi.po
@@ -449,6 +449,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "डà¥à¤ªà¥à¤²à¤¿à¤•ेट चयन"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1348,7 +1358,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1547,7 +1557,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1602,7 +1612,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1616,7 +1626,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1639,11 +1649,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2663,10 +2669,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2773,15 +2799,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3071,20 +3097,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5192,6 +5218,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6108,10 +6141,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6355,11 +6396,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7921,51 +7957,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7973,203 +7965,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9811,6 +9627,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9839,8 +9659,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "à¤à¤• नया बनाà¤à¤‚"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11241,6 +11062,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11490,7 +11318,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11503,12 +11335,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/hr.po b/editor/translations/hr.po
index 89729b2173..232c2d1e4d 100644
--- a/editor/translations/hr.po
+++ b/editor/translations/hr.po
@@ -430,6 +430,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr ""
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Pokaži samo staze Ävorova oznaÄenih u stablu."
@@ -1279,7 +1288,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1475,7 +1484,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1528,7 +1537,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1541,7 +1550,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1564,11 +1573,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2574,10 +2579,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2684,15 +2709,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Kontinuirano"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2980,20 +3006,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5057,6 +5083,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5962,10 +5995,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6202,11 +6243,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7728,51 +7764,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7780,203 +7772,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9603,6 +9419,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9631,7 +9451,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -11020,6 +10840,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11267,7 +11094,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11280,12 +11111,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index fe752d1863..d4429e1631 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -469,6 +469,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Összes Kijelölése"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Kiválasztó Mód"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1359,7 +1369,7 @@ msgstr "Érvénytelen név. Nem ütközhet egy már meglévő motor osztálynév
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "Érvénytelen név. Nem ütközhet egy már meglévő beépített típusnévvel."
#: editor/editor_autoload_settings.cpp
@@ -1566,7 +1576,7 @@ msgstr "Mozgás Mód"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Fájlrendszer"
#: editor/editor_feature_profile.cpp
@@ -1627,7 +1637,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1642,7 +1652,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Jelenlegi Verzió:"
#: editor/editor_feature_profile.cpp
@@ -1666,13 +1676,9 @@ msgid "Export"
msgstr "Exportálás"
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Osztályok Keresése"
+msgid "Available Profiles:"
+msgstr "Tulajdonságok"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2802,11 +2808,35 @@ msgid "Editor Layout"
msgstr "Szerkesztő Elrendezés"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Scene mentés"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Szerkesztő Beállítások"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Következő Szerkesztő Megnyitása"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Teljes Képernyő"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "Mód Váltása"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "Szerkesztő Beállítások"
@@ -2917,15 +2947,18 @@ msgid "Spins when the editor window redraws."
msgstr "Fordul egyet, amikor a szerkesztőablak újrarajzolódik!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Frissítés Mindig"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Folyamatos"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Változások Frissítése"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Frissítési Forgó Kikapcsolása"
#: editor/editor_node.cpp
@@ -3220,6 +3253,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "Új név:"
@@ -3233,11 +3271,6 @@ msgstr "Új név:"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5457,6 +5490,14 @@ msgid "Load Emission Mask"
msgstr "Kibocsátási Maszk Betöltése"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Újraindítás (mp):"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Kibocsátási Maszk Törlése"
@@ -6407,10 +6448,20 @@ msgid "Find Next"
msgstr "Következő Keresése"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Objektumtulajdonságok."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Objektumtulajdonságok."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Rendezés"
@@ -6662,11 +6713,6 @@ msgstr ""
msgid "Cut"
msgstr "Kivágás"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Összes Kijelölése"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Sor Törlése"
@@ -8300,51 +8346,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8353,203 +8355,27 @@ msgid "Input parameter."
msgstr "Illesztés szülőhöz"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10225,6 +10051,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Összes összecsukása"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10255,8 +10086,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Új %s Létrehozása"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11687,6 +11519,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11941,7 +11780,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11954,12 +11797,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Figyelem!"
@@ -12050,6 +11899,13 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Osztályok Keresése"
+
+#~ msgid "Update Always"
+#~ msgstr "Frissítés Mindig"
+
#~ msgid "Path to Node:"
#~ msgstr "Út a Node-hoz:"
diff --git a/editor/translations/id.po b/editor/translations/id.po
index 283c0e3e61..c8a1573410 100644
--- a/editor/translations/id.po
+++ b/editor/translations/id.po
@@ -9,9 +9,9 @@
# Damar S. M <the.last.walla@gmail.com>, 2017.
# Fajar Ru <kzofajar@gmail.com>, 2018.
# Khairul Hidayat <khairulcyber4rt@gmail.com>, 2016.
-# Reza Hidayat Bayu Prabowo <rh.bayu.prabowo@gmail.com>, 2018.
+# Reza Hidayat Bayu Prabowo <rh.bayu.prabowo@gmail.com>, 2018, 2019.
# Romi Kusuma Bakti <romikusumab@gmail.com>, 2017, 2018.
-# Sofyan Sugianto <sofyanartem@gmail.com>, 2017-2018.
+# Sofyan Sugianto <sofyanartem@gmail.com>, 2017-2018, 2019.
# Tito <ijavadroid@gmail.com>, 2018.
# Tom My <tom.asadinawan@gmail.com>, 2017.
# yursan9 <rizal.sagi@gmail.com>, 2016.
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-04-05 13:04+0000\n"
-"Last-Translator: I Dewa Agung Adhinata <agungnata2003@gmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:50+0000\n"
+"Last-Translator: Reza Hidayat Bayu Prabowo <rh.bayu.prabowo@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
"godot/id/>\n"
"Language: id\n"
@@ -32,13 +32,13 @@ 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.6-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Invalid type argument to convert(), use TYPE_* constants."
msgstr ""
-"Tipe argument salah dalam menggunakan convert(), gunakan konstanta TYPE_*."
+"Tipe argumen salah dalam menggunakan convert(), gunakan konstanta TYPE_*."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
@@ -53,15 +53,15 @@ msgstr "Masukkan tidak sah %i (tidak diberikan) dalam ekspresi"
#: core/math/expression.cpp
#, fuzzy
msgid "self can't be used because instance is null (not passed)"
-msgstr "self tidak dapat digunakan karena instansi adalah null (not passed)"
+msgstr "self tidak dapat digunakan karena tidak memiliki instance (not passed)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr "operan untuk operator %s, %s dan %s tidak sah."
+msgstr "operan salah untuk operator %s, %s dan %s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
-msgstr "index tipe %s tidak sah untuk tipe dasar %s"
+msgstr "Tipe index %s tidak valid untuk tipe dasar %s"
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
@@ -93,9 +93,8 @@ msgid "Time:"
msgstr "Waktu:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Nama baru:"
+msgstr "Nilai:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -179,12 +178,10 @@ msgid "Animation Playback Track"
msgstr "Track Pemutar Animasi"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (frames)"
-msgstr "Panjang Animasi (detik)"
+msgstr "Panjang Animasi (frame)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (seconds)"
msgstr "Panjang Animasi (detik)"
@@ -450,10 +447,29 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Animasi ini dimiliki oleh skena yang diimpor, sehingga perubahan track yang "
+"diimpor tidak akan disimpan.\n"
+"\n"
+"Supaya bisa menambahkan track kustom, arahkan ke pengaturan impor skena dan "
+"atur\n"
+"\"Animasi > Penyimpanan\" ke \"Berkas\", nyalakan \"Animasi > Pertahankan "
+"Track Kustom\", lalu impor ulang.\n"
+"Sebagai alternatif, gunakan preset impor yang mengimpor animasi ke dalam "
+"berkas terpisah."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Peringatan: Menyunting animasi yang diimpor"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Pilih Semua"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Metode Publik:"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -464,9 +480,8 @@ msgid "Group tracks by node or display them as plain list."
msgstr "Susun Track-track dengan node atau tampilkan sebagai daftar biasa."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Snap:"
-msgstr "Snap (d): "
+msgstr "Snap:"
#: editor/animation_track_editor.cpp
msgid "Animation step value."
@@ -474,11 +489,11 @@ msgstr "Nilai Langkah Animasi."
#: editor/animation_track_editor.cpp
msgid "Seconds"
-msgstr ""
+msgstr "Detik"
#: editor/animation_track_editor.cpp
msgid "FPS"
-msgstr ""
+msgstr "FPS"
#: editor/animation_track_editor.cpp editor/editor_properties.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -661,7 +676,7 @@ msgstr "Hanya yang Dipilih"
#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/text_editor.cpp
msgid "Standard"
-msgstr ""
+msgstr "Standar"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
@@ -688,37 +703,32 @@ msgid "Line and column numbers."
msgstr "Nomor baris dan kolom."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "Method dalam Node target harus spesifik!"
+msgstr "Method dalam node target harus ditentukan."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Target metode tidak ditemukan! Tentukan metode yang sah atau lampirkan skrip "
-"ke target Node."
+"Target method tidak ditemukan. Tentukan method yang valid atau lampirkan "
+"skrip ke target node."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
-msgstr "Sambungkan Ke Node:"
+msgstr "Hubungkan ke Node:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Tidak bisa terhubung ke host:"
+msgstr "Hubungkan ke Skrip:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Sinyal-sinyal:"
+msgstr "Dari Sinyal:"
#: editor/connections_dialog.cpp
msgid "Scene does not contain any script."
-msgstr ""
+msgstr "Skena tidak berisi skrip apapun."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -746,9 +756,8 @@ msgid "Extra Call Arguments:"
msgstr "Argumen-argumen Panggilan Ekstra:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Seimbang"
+msgstr "Lanjut"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -758,6 +767,7 @@ msgstr "Ditunda"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Menahan sinyal, menyimpannya dalam antrean dan hanya memicunya saat idle."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -765,12 +775,11 @@ msgstr "Satu Waktu"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Memutuskan sinyal setelah pemicuan pertama."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Sambungkan Sinyal: "
+msgstr "Tidak dapat menghubungkan sinyal"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -812,14 +821,12 @@ msgid "Disconnect"
msgstr "Putuskan"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Sambungkan Sinyal: "
+msgstr "Hubungkan Sinyal ke Method"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Ubah koneksi: "
+msgstr "Sunting Koneksi:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -895,22 +902,20 @@ msgid "Dependencies For:"
msgstr "Ketergantungan Untuk:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Scene '%s' sedang disunting saat ini.\n"
-"Perubahan-perubahan tidak akan berefek kecuali dimuat ulang."
+"Skena '%s' sedang disunting saat ini.\n"
+"Perubahan hanya akan berlaku saat dimuat ulang."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
"Resource '%s' sedang digunakan.\n"
-"Perubahan-perubahan akan terjadi ketika dimuat ulang."
+"Perubahan hanya akan berlaku saat dimuat ulang."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -1004,9 +1009,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "Hapus secara permanen %d item? (Tidak dapat dikembalikan!)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Ketergantungan"
+msgstr "Tampilkan Ketergantungan"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1269,12 +1273,11 @@ msgstr "Buka Layout Suara Bus"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "Tidak ada berkas '%s'."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Layout"
-msgstr "Simpan Penampilan"
+msgstr "Tata Letak"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -1327,25 +1330,21 @@ msgid "Valid characters:"
msgstr "Karakter sah:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"Nama tidak valid. Tidak boleh sama dengan nama kelas bawaan engine yang ada."
+msgstr "Tidak boleh sama dengan nama kelas engine yang sudah ada."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr "Nama tidak sah. Tidak boleh serupa dengan nama bawaan."
+msgid "Must not collide with an existing built-in type name."
+msgstr "Tidak boleh sama dengan nama tipe bawaan yang ada."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr ""
-"Nama tidak sah. Tidak boleh serupa dengan nama konstanta global yang ada."
+msgstr "Tidak boleh sama dengan nama konstanta global yang ada."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "Keyword tidak dapat dijadikan sebagai nama autoload."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1376,9 +1375,8 @@ msgid "Rearrange Autoloads"
msgstr "Mengatur kembali Autoload-autoload"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
-msgstr "Path Tidak Sah."
+msgstr "Path tidak valid."
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
msgid "File does not exist."
@@ -1412,7 +1410,7 @@ msgstr "Singleton"
#: editor/editor_data.cpp
msgid "Updating Scene"
-msgstr "Memperbaharui Scene"
+msgstr "Memperbarui Skena"
#: editor/editor_data.cpp
msgid "Storing local changes..."
@@ -1420,7 +1418,7 @@ msgstr "Menyimpan perubahan-perubahan lokal..."
#: editor/editor_data.cpp
msgid "Updating scene..."
-msgstr "Memperbaharui scene..."
+msgstr "Memperbarui skena..."
#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
@@ -1431,9 +1429,8 @@ msgid "[unsaved]"
msgstr "[belum disimpan]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Slahkan pilih direktori kerja terlebih dahulu"
+msgstr "Slahkan pilih direktori kerja terlebih dahulu."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1474,22 +1471,20 @@ msgid "Packing"
msgstr "Mengemas"
#: editor/editor_export.cpp
-#, fuzzy
msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
msgstr ""
-"Platform target membutuhkan kompressi tekstur 'ETC' untuk GLES2. Aktifkan "
-"dukungan di Pengaturan Proyek."
+"Platform target membutuhkan kompresi tekstur 'ETC' untuk GLES2. Aktifkan "
+"'Impor Lainnya' di Pengaturan Proyek."
#: editor/editor_export.cpp
-#, fuzzy
msgid ""
"Target platform requires 'ETC2' texture compression for GLES3. Enable "
"'Import Etc 2' in Project Settings."
msgstr ""
-"Platform target membutuhkan kompressi tekstur 'ETC2' untuk GLES3. Aktifkan "
-"dukungan di Pengaturan Proyek."
+"Platform target membutuhkan kompresi tekstur 'ETC2' untuk GLES3. Aktifkan "
+"'Impor Lainnya 2' di Pengaturan Proyek."
#: editor/editor_export.cpp
#, fuzzy
@@ -1499,8 +1494,9 @@ msgid ""
"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
"Enabled'."
msgstr ""
-"Platform target membutuhkan kompressi tekstur 'ETC' untuk GLES2. Aktifkan "
-"dukungan di Pengaturan Proyek."
+"Platform target membutuhkan kompressi tekstur 'ETC' untuk mengembalikan "
+"driver ke GLES2. Aktifkan 'Impor Lainnya' di Pengaturan Proyek, atau matikan "
+"'Driver Fallback Enabled'."
#: editor/editor_export.cpp platform/android/export/export.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -1519,120 +1515,107 @@ msgid "Template file not found:"
msgstr "Templat berkas tidak ditemukan:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Editor"
+msgstr "Penyunting 3D"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Buka Penyunting Skrip"
+msgstr "Penyunting Skrip"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Buka Pustaka Aset"
+msgstr "Pustaka Aset"
#: editor/editor_feature_profile.cpp
msgid "Scene Tree Editing"
-msgstr ""
+msgstr "Menyunting Pohon Skena"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Impor"
+msgstr "Dok Impor"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Nama Node:"
+msgstr "Dok Node"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "Berkas Sistem"
+msgid "FileSystem and Import Docks"
+msgstr "Dok Berkas Sistem"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Ganti Semua"
+msgstr "Hapus profil '%s'? (tidak bisa dibatalkan)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "Profil harus memiliki nama berkas yang valid dan tidak mengandung '.'"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Sudah ada nama berkas atau folder seperti itu."
+msgstr "Sudah ada profil dengan nama seperti ini."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Penyunting Dinonaktifkan, Properti Dinonaktifkan)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Hanya Properti"
+msgstr "(Properti Dinonaktifkan)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Dinonaktifkan"
+msgstr "(Penyunting Dinonaktifkan)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Deskripsi Kelas:"
+msgstr "Opsi Kelas:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Buka Penyunting Selanjutnya"
+msgstr "Aktifkan Penyunting Kontekstual"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Properti:"
+msgstr "Properti yang Diaktifkan:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Daftar Fungsi:"
+msgstr "Fitur yang Diaktifkan:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Cari Kelas"
+msgstr "Kelas yang Diaktifkan:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Format Berkas '%s' tidak valid, impor dibatalkan."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"Sudah ada profil '%s'. Remote profil ini terlebih dahulu sebelum mengimpor, "
+"impor dibatalkan."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Error memuat font."
+msgstr "Galat saat menyimpan profil ke: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "Tidak diatur"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Versi sekarang:"
+msgid "Current Profile:"
+msgstr "Profil Sekarang"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Saat ini:"
+msgstr "Jadikan Profil Saat Ini"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1651,43 +1634,32 @@ msgstr "Ekspor"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Node-node yang Tersedia:"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Cari Kelas"
+msgid "Available Profiles:"
+msgstr "Profil yang Tersedia"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Deskripsi Kelas"
+msgstr "Opsi Kelas"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Nama baru:"
+msgstr "Nama profil baru:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Beri Skala Seleksi"
+msgstr "Hapus Profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "%d file lagi"
+msgstr "Impor Profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Ekspor Projek"
+msgstr "Ekspor Profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "Mengatur Templat Ekspor"
+msgstr "Kelola Penyunting Fitur Profil"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1794,28 +1766,24 @@ msgid "Move Favorite Down"
msgstr "Pindahkan Favorit Kebawah"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Previous Folder"
-msgstr "Tab sebelumnya"
+msgstr "Direktori Sebelumnya"
#: editor/editor_file_dialog.cpp
msgid "Next Folder"
msgstr "Folder Berikutnya"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder."
-msgstr "Pergi ke direktori induk"
+msgstr "Pergi ke direktori atasnya."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "(Un)favorite current folder."
-msgstr "Tidak dapat membuat folder."
+msgstr "Hapus favorit direktori saat ini."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Beralih File Tersembunyi"
+msgstr "Beralih visibilitas berkas yang tersembunyi."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1852,6 +1820,8 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"Ada beberapa importir untuk berbagai tipe yang mengacu pada berkas %s, impor "
+"dibatalkan"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -2037,9 +2007,8 @@ msgid "Output:"
msgstr "Keluaran:"
#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Copy Selection"
-msgstr "Hapus Pilihan"
+msgstr "Salin Seleksi"
#: editor/editor_log.cpp editor/editor_profiler.cpp
#: editor/editor_properties.cpp
@@ -2060,9 +2029,8 @@ msgid "Project export failed with error code %d."
msgstr "Ekspor proyek gagal dengan kode kesalahan% d."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Imported resources can't be saved."
-msgstr "Resource yang telah diimpor tidak dapat disimpan."
+msgstr "Sumber daya yang diimpor tidak dapat disimpan."
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: scene/gui/dialogs.cpp
@@ -2074,13 +2042,12 @@ msgid "Error saving resource!"
msgstr "Error menyimpan resource!"
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource can't be saved because it does not belong to the edited scene. "
"Make it unique first."
msgstr ""
-"Resourse ini tidak dapat disimpan karena bukan di scene yang diedit. Buat "
-"unik dahulu."
+"Sumber daya ini tidak dapat disimpan karena bukan milik skena yang "
+"disunting. Buatlah unik terlebih dahulu."
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Save Resource As..."
@@ -2120,7 +2087,7 @@ msgstr "Terjadi kesalahan saat memuat '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
-msgstr "Menyimpan Scene"
+msgstr "Menyimpan Skena"
#: editor/editor_node.cpp
msgid "Analyzing"
@@ -2139,7 +2106,7 @@ msgid ""
"This scene can't be saved because there is a cyclic instancing inclusion.\n"
"Please resolve it and then attempt to save again."
msgstr ""
-"Scene ini tidak bisa disimpan karena ada inklusi penginstansian yang "
+"Skena ini tidak bisa disimpan karena ada inklusi penginstansian yang "
"siklik.\n"
"Mohon betulkan dan coba simpan lagi."
@@ -2148,12 +2115,12 @@ msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
-"Tidak dapat menyimpan scene. Dependensi (instance atau turunannya) mungkin "
+"Tidak dapat menyimpan skena Dependensi (instance atau turunannya) mungkin "
"tidak terpenuhi."
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "Can't overwrite scene that is still open!"
-msgstr "Tidak bisa menimpa scene yang masih terbuka!"
+msgstr "Tidak bisa menimpa skena yang masih terbuka!"
#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
@@ -2193,86 +2160,82 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"Sumber ini termasuk pada scene yang telah terimpor, jadi tidak dapat "
-"diubah.\n"
-"Tolong baca dokumentasi yang relevan dalam impor scenes untuk pemahaman cara "
-"kerja."
+"Sumber daya ini milik skena yang telah diimpor, jadi tidak dapat disunting.\n"
+"Harap baca dokumentasi yang relevan dalam mengimpor skena untuk lebih "
+"memahami alur kerjanya."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
-"Sumber ini termasuk ke scene warisan.\n"
-"Perubahan tidak akan tersimpan ke scene ini."
+"Sumber daya ini milik skena yang di-instance atau diwariskan.\n"
+"Perubahan tidak akan disimpan ketika menyimpan skena saat ini."
#: editor/editor_node.cpp
msgid ""
"This resource was imported, so it's not editable. Change its settings in the "
"import panel and then re-import."
msgstr ""
-"Sumber ini telah terimpor, jadi tidak dapat diubah. Umbah pengaturan pada "
-"panel impor dan impor kembali."
+"Sumber daya ini telah diimpor, jadi tidak dapat disunting. Ubah "
+"pengaturannya pada panel impor kemudian impor kembali."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"Scene ini telah terimpor, jadi pengubahan tidak tersimpan.\n"
-"Instansi atau warisan membuat perubahan diperbolehkan.\n"
-"Baca dokumentasi yang relevan untuk impor scene dan pemahaman lebih lanjut "
-"tentang workflow ini."
+"Skena ini telah diimpor, jadi perubahan itu tidak akan tersimpan.\n"
+"Meng-instansi atau Mewariskannya akan memungkinkan melakukan perubahan "
+"padanya.\n"
+"Harap baca dokumentasi yang relevan untuk mengimpor skena untuk lebih "
+"memahami alur kerjanya."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
-"Ini merupakan objek remote, jadi perubahan tidak tersimpan.\n"
-"Baca dokumentasi yang relevan untuk pemahaman lebih lanjut tentang workflow "
-"ini."
+"Ini merupakan objek jarak jauh, jadi perubahan tidak akan tersimpan.\n"
+"Harap baca dokumentasi yang relevan dalam mengawakutu untuk lebih memahami "
+"alur kerjanya."
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
-msgstr "Tidak ada definisi scene untuk dijalankan."
+msgstr "Tidak ada skena yang didefinisikan untuk dijalankan."
#: editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
msgstr ""
-"Scene saat ini belum pernah disimpan, mohon simpat dahulu untuk "
+"Skena saat ini belum pernah disimpan, harap simpan terlebih dahulu sebelum "
"menjalankannya."
#: editor/editor_node.cpp
msgid "Could not start subprocess!"
-msgstr "Tidak dapat memulai subprocess!"
+msgstr "Tidak dapat memulai subproses!"
#: editor/editor_node.cpp editor/filesystem_dock.cpp
msgid "Open Scene"
-msgstr "Buka Scene"
+msgstr "Buka Skena"
#: editor/editor_node.cpp
msgid "Open Base Scene"
-msgstr "Buka Scene Dasar"
+msgstr "Buka Skena Dasar"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Buka Cepat Scene..."
+msgstr "Buka Cepat..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
-msgstr "Buka Cepat Scene..."
+msgstr "Buka Cepat Skena..."
#: editor/editor_node.cpp
msgid "Quick Open Script..."
-msgstr "Buka Cepat Script..."
+msgstr "Buka Cepat Skrip..."
#: editor/editor_node.cpp
msgid "Save & Close"
@@ -2280,19 +2243,19 @@ msgstr "Simpan & Tutup"
#: editor/editor_node.cpp
msgid "Save changes to '%s' before closing?"
-msgstr "Simpan perubahan '%s' sebelum tutup?"
+msgstr "Simpan perubahan '%s' sebelum menutupnya?"
#: editor/editor_node.cpp
msgid "Saved %s modified resource(s)."
-msgstr "Tersimpan %s resource berubah."
+msgstr "Menyimpan sumber daya %s yang diubah."
#: editor/editor_node.cpp
msgid "A root node is required to save the scene."
-msgstr "Node akar diperlukan untuk menyimpan scene."
+msgstr "Node akar diperlukan untuk menyimpan skena."
#: editor/editor_node.cpp
msgid "Save Scene As..."
-msgstr "Simpan Scene Sebagai..."
+msgstr "Simpan Skena Sebagai..."
#: editor/editor_node.cpp
msgid "No"
@@ -2304,19 +2267,19 @@ msgstr "Ya"
#: editor/editor_node.cpp
msgid "This scene has never been saved. Save before running?"
-msgstr "Scene ini belum pernah disimpan. Simpan sebelum menjalankan?"
+msgstr "Skena ini belum pernah disimpan. Simpan sebelum menjalankan?"
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "This operation can't be done without a scene."
-msgstr "Operasi ini tidak dapat diselesaikan tanpa scene."
+msgstr "Operasi ini tidak dapat diselesaikan tanpa skena."
#: editor/editor_node.cpp
msgid "Export Mesh Library"
-msgstr "Ekspor Mesh Library"
+msgstr "Ekspor Pustaka Mesh"
#: editor/editor_node.cpp
msgid "This operation can't be done without a root node."
-msgstr "Tindakan ini tidak bisa dilakukan tanpa node dasar."
+msgstr "Tindakan ini tidak bisa dilakukan tanpa node akar."
#: editor/editor_node.cpp
msgid "Export Tile Set"
@@ -2328,11 +2291,11 @@ msgstr "Operasi ini tidak dapat diselesaikan tanpa node yang terpilih."
#: editor/editor_node.cpp
msgid "Current scene not saved. Open anyway?"
-msgstr "Scene saat ini tidak disimpan. Buka saja?"
+msgstr "Skena saat ini belum disimpan. Buka saja?"
#: editor/editor_node.cpp
msgid "Can't reload a scene that was never saved."
-msgstr "Tidak bisa memuat ulang scene yang tidak pernah disimpan."
+msgstr "Tidak bisa memuat ulang skena yang belum pernah disimpan."
#: editor/editor_node.cpp
msgid "Revert"
@@ -2344,7 +2307,7 @@ msgstr "Tindakan ini tidak dapat dibatalkan. Pulihkan saja?"
#: editor/editor_node.cpp
msgid "Quick Run Scene..."
-msgstr "Jalankan Cepat Scene..."
+msgstr "Jalankan Cepat Skena..."
#: editor/editor_node.cpp
msgid "Quit"
@@ -2364,11 +2327,11 @@ msgstr "Simpan & Keluar"
#: editor/editor_node.cpp
msgid "Save changes to the following scene(s) before quitting?"
-msgstr "Simpan perubahan scene saat ini sebelum keluar?"
+msgstr "Simpan perubahan skena saat ini sebelum keluar?"
#: editor/editor_node.cpp
msgid "Save changes the following scene(s) before opening Project Manager?"
-msgstr "Simpan perubahan scene saat ini sebelum membuka Manajer Projek?"
+msgstr "Simpan perubahan skena saat ini sebelum membuka Manajer Proyek?"
#: editor/editor_node.cpp
msgid ""
@@ -2380,7 +2343,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
-msgstr "Pilih sebuah Scene Utama"
+msgstr "Pilih Skena Utama"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2422,20 +2385,20 @@ msgid ""
"Scene '%s' was automatically imported, so it can't be modified.\n"
"To make changes to it, a new inherited scene can be created."
msgstr ""
-"Scene '%s' terimpor otomatis, jadi tidak dapat diubah.\n"
-"Untuk melakukan perubahan, warisan baru scene dapat dibuat."
+"Skena '%s' terimpor otomatis, jadi tidak dapat dimodifikasi.\n"
+"Untuk melakukan perubahan, skena warisan baru dapat dibuat."
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
"open the scene, then save it inside the project path."
msgstr ""
-"Gagal memuat scene, harus dalam alamat proyek. Gunakan 'Impor\" untuk "
-"membuka scene tersebut, kemudian simpan di dalam alamat proyek."
+"Gagal memuat skena, harus dalam lokasi proyek. Gunakan 'Impor\" untuk "
+"membuka skena tersebut, kemudian simpan di dalam lokasi proyek."
#: editor/editor_node.cpp
msgid "Scene '%s' has broken dependencies:"
-msgstr "Scene '%s' memiliki dependensi yang rusak:"
+msgstr "Skena '%s' memiliki dependensi yang rusak:"
#: editor/editor_node.cpp
msgid "Clear Recent Scenes"
@@ -2447,9 +2410,9 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"Tidak ada scene utama yang pernah didefinisikan, pilih satu?\n"
-"Anda dapat mengubahnya nanti di \"Project Settings\" di bawah kategori "
-"'application'."
+"Tidak ada skena utama yang pernah didefinisikan, pilih satu?\n"
+"Anda dapat mengubahnya nanti di \"Pengaturan Proyek\" di bawah kategori "
+"'aplikasi'."
#: editor/editor_node.cpp
msgid ""
@@ -2457,8 +2420,8 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"Scene '%s' tidak tersedia, pilih yang sah?\n"
-"Anda dapat menggantinya kemudian di \"Pengaturan Proyek\" di bawah kategori "
+"Skena '%s' tidak ada, pilih yang valid?\n"
+"Anda dapat mengubahnya nanti di \"Pengaturan Proyek\" di bawah kategori "
"'aplikasi'."
#: editor/editor_node.cpp
@@ -2467,8 +2430,8 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"Scene '%s' bukanlah sebuah file scene, pilih yang sah?\n"
-"Anda dapat menggantinya kemudian di \"Pengaturan Proyek\" di bawah kategori "
+"Skena yang dipilih '%s' bukanlah berkas skena, pilih yang valid?\n"
+"Anda dapat menggantinya nanti di \"Pengaturan Proyek\" di bawah kategori "
"'aplikasi'."
#: editor/editor_node.cpp
@@ -2491,7 +2454,7 @@ msgstr "Tampilkan dalam FileSystem"
#: editor/editor_node.cpp
msgid "Play This Scene"
-msgstr "Mainkan Scene Ini"
+msgstr "Mainkan Skena Ini"
#: editor/editor_node.cpp
msgid "Close Tab"
@@ -2499,20 +2462,19 @@ msgstr "Tutup Tab"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
-msgstr ""
+msgstr "Tutup Tab Lainnya"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Tutup Tab Sebelah Kanan"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Tutup Semua"
+msgstr "Tutup Semua Tab"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
-msgstr "Pilih Tab Scene"
+msgstr "Beralih Tab Skena"
#: editor/editor_node.cpp
msgid "%d more files or folders"
@@ -2540,7 +2502,7 @@ msgstr "Toggle mode tanpa gangguan."
#: editor/editor_node.cpp
msgid "Add a new scene."
-msgstr "Tambah scene baru."
+msgstr "Tambah skena baru."
#: editor/editor_node.cpp
msgid "Scene"
@@ -2548,7 +2510,7 @@ msgstr "Suasana"
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
-msgstr "Pergi ke scene yang dibuka sebelumnya."
+msgstr "Pergi ke skena yang sebelumnya dibuka."
#: editor/editor_node.cpp
msgid "Next tab"
@@ -2564,31 +2526,31 @@ msgstr "Saring berkas..."
#: editor/editor_node.cpp
msgid "Operations with scene files."
-msgstr "Operasi dengan file scene."
+msgstr "Operasi dengan berkas skena."
#: editor/editor_node.cpp
msgid "New Scene"
-msgstr "Scene Baru"
+msgstr "Skena Baru"
#: editor/editor_node.cpp
msgid "New Inherited Scene..."
-msgstr "Scene Turunan Baru..."
+msgstr "Skena Warisan Baru..."
#: editor/editor_node.cpp
msgid "Open Scene..."
-msgstr "Buka Scene..."
+msgstr "Buka Skena..."
#: editor/editor_node.cpp
msgid "Save Scene"
-msgstr "Simpan Scene"
+msgstr "Simpan Skena"
#: editor/editor_node.cpp
msgid "Save All Scenes"
-msgstr "Simpan Semua Scene"
+msgstr "Simpan Semua Skena"
#: editor/editor_node.cpp
msgid "Close Scene"
-msgstr "Tutup Scene"
+msgstr "Tutup Skena"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Open Recent"
@@ -2618,11 +2580,11 @@ msgstr "Ulangi"
#: editor/editor_node.cpp
msgid "Revert Scene"
-msgstr "Kembalikan Scene"
+msgstr "Kembalikan Skena"
#: editor/editor_node.cpp
msgid "Miscellaneous project or scene-wide tools."
-msgstr "Macam-macam proyek atau alat scene-wide."
+msgstr "Perkakas macam-macam proyek atau lingkup skena."
#: editor/editor_node.cpp
msgid "Project"
@@ -2642,7 +2604,7 @@ msgstr "Buka Project Data Manager"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Pasang Templat Build Android"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2710,7 +2672,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr "Sinkronkan Perubahan Scene"
+msgstr "Sinkronkan Perubahan Skena"
#: editor/editor_node.cpp
msgid ""
@@ -2753,27 +2715,48 @@ msgid "Editor Layout"
msgstr "Tata Letak Editor"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Jadikan Skena Dasar"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Buka Penyunting Direktori Data/Pengaturan"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Buka Penyunting Selanjutnya"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Mode Layar Penuh"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "Beralih Mode Split"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
-msgstr "Buka Editor Data/Folder Pengaturan"
+msgstr "Buka Penyunting Direktori Data/Pengaturan"
#: editor/editor_node.cpp
msgid "Open Editor Data Folder"
msgstr "Buka Folder Data Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Editor Settings Folder"
-msgstr "Buka Folder Pengaturan Editor"
+msgstr "Buka Penyunting Direktori Pengaturan"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "Mengatur Templat Ekspor"
+msgstr "Kelola Penyunting Fitur"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2822,15 +2805,15 @@ msgstr "Mainkan"
#: editor/editor_node.cpp
msgid "Pause the scene"
-msgstr "Hentikan sementara scene ini"
+msgstr "Hentikan sementara skena ini"
#: editor/editor_node.cpp
msgid "Pause Scene"
-msgstr "Hentikan Sementara Scene"
+msgstr "Hentikan Sementara Skena"
#: editor/editor_node.cpp
msgid "Stop the scene."
-msgstr "Hentikan scene."
+msgstr "Hentikan skena."
#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
@@ -2842,15 +2825,15 @@ msgstr "Mainkan scene redaksi."
#: editor/editor_node.cpp
msgid "Play Scene"
-msgstr "Mainkan Scene"
+msgstr "Mainkan Skena"
#: editor/editor_node.cpp
msgid "Play custom scene"
-msgstr "Mainkan custom scene"
+msgstr "Mainkan skena kustom"
#: editor/editor_node.cpp
msgid "Play Custom Scene"
-msgstr "Mainkan Custom Scene"
+msgstr "Mainkan Skena Kustom"
#: editor/editor_node.cpp
msgid "Changing the video driver requires restarting the editor."
@@ -2862,20 +2845,22 @@ msgid "Save & Restart"
msgstr "Simpan & Mulai Ulang"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Spins when the editor window redraws."
-msgstr "Putar ketika jendela editor cat ulang!"
+msgstr "Putar ketika jendela penyunting digambar ulang."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Selalu Perbarui"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Lanjut"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Perbarui Perubahan"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Nonaktifkan Perbaruan Spinner"
#: editor/editor_node.cpp
@@ -2904,18 +2889,19 @@ msgstr "Jangan Simpan"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
-msgstr ""
+msgstr "Templat build Android tidak ada, harap pasang templat yang relevan."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Mengatur Templat Ekspor"
+msgstr "Kelola Templat"
#: editor/editor_node.cpp
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"Ini akan memasang proyek Android untuk build kustom.\n"
+"Sebagai catatan, untuk menggunakannya, harus diaktifkan per preset ekspor."
#: editor/editor_node.cpp
msgid ""
@@ -2923,6 +2909,9 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"Templat build Android sudah terpasang sebelumnya dan tidak akan ditimpa.\n"
+"Hapus direktori \"build\" secara manual sebelum menjalankan perintah ini "
+"lagi."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3083,14 +3072,12 @@ msgid "[Empty]"
msgstr "[Kosong]"
#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
-#, fuzzy
msgid "Assign..."
msgstr "Terapkan.."
#: editor/editor_properties.cpp
-#, fuzzy
msgid "Invalid RID"
-msgstr "Path Tidak Sah."
+msgstr "RID tidak valid"
#: editor/editor_properties.cpp
msgid ""
@@ -3105,9 +3092,9 @@ msgid ""
"Can't create a ViewportTexture on resources saved as a file.\n"
"Resource needs to belong to a scene."
msgstr ""
-"Tidak dapat membuat ViewportTexture pada sumber yang tersimpan sebagai "
+"Tidak dapat membuat ViewportTexture pada sumber daya yang disimpan sebagai "
"berkas.\n"
-"Sumber harus dimiliki oleh sebuah scene."
+"Sumber daya harus dimiliki oleh sebuah skena."
#: editor/editor_properties.cpp
msgid ""
@@ -3116,10 +3103,10 @@ msgid ""
"Please switch on the 'local to scene' property on it (and all resources "
"containing it up to a node)."
msgstr ""
-"Tidak dapat membuat ViewportTexture karena resource ini tidak dibuat lokal "
-"untuk scene.\n"
-"Mohon ubah properti 'lokal untuk scene' resource ini (dan semua resource "
-"yang memuatnya sampai satu node ke atas)."
+"Tidak dapat membuat ViewportTexture pada resource ini karena tidak dibuat "
+"lokal ke skena.\n"
+"Silakan aktifkan properti 'lokal ke skena' di atasnya (dan semua sumber daya "
+"yang memuatnya sampai node)."
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Pick a Viewport"
@@ -3134,9 +3121,8 @@ msgid "New %s"
msgstr "%s baru"
#: editor/editor_properties.cpp editor/property_editor.cpp
-#, fuzzy
msgid "Make Unique"
-msgstr "Membuat sub-Resource Unik"
+msgstr "Jadikan Unik"
#: editor/editor_properties.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
@@ -3153,17 +3139,15 @@ msgid "Paste"
msgstr "Tempel"
#: editor/editor_properties.cpp editor/property_editor.cpp
-#, fuzzy
msgid "Convert To %s"
-msgstr "Sambungkan Ke Node:"
+msgstr "Konversikan ke %s"
#: editor/editor_properties.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Open Editor"
-msgstr "Buka Editor"
+msgstr "Buka Penyunting"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Selected node is not a Viewport!"
@@ -3178,24 +3162,22 @@ msgid "Page: "
msgstr "Halaman: "
#: editor/editor_properties_array_dict.cpp
-#, fuzzy
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Hapus item"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
-msgstr "Nama baru:"
+msgstr "Key Baru:"
#: editor/editor_properties_array_dict.cpp
-#, fuzzy
msgid "New Value:"
-msgstr "Nama baru:"
+msgstr "Nilai Baru:"
#: editor/editor_properties_array_dict.cpp
msgid "Add Key/Value Pair"
msgstr "Tambahkan pasangan Key/Value"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Hapus item"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3210,7 +3192,7 @@ msgstr "Tulis logika di dalam fungsi _run()."
#: editor/editor_run_script.cpp
msgid "There is an edited scene already."
-msgstr "Ada scene yang disunting."
+msgstr "Sudah ada skena yang disunting."
#: editor/editor_run_script.cpp
msgid "Couldn't instance script:"
@@ -3234,11 +3216,11 @@ msgstr "Pilih node untuk diimpor"
#: editor/editor_sub_scene.cpp editor/project_manager.cpp
msgid "Browse"
-msgstr ""
+msgstr "Telusur"
#: editor/editor_sub_scene.cpp
msgid "Scene Path:"
-msgstr "Lokasi Scene:"
+msgstr "Lokasi Skena:"
#: editor/editor_sub_scene.cpp
msgid "Import From Node:"
@@ -3282,9 +3264,8 @@ msgid "Can't open export templates zip."
msgstr "Tidak dapat membuka ekspor template-template zip."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Invalid version.txt format inside templates: %s."
-msgstr "Format version.txt tidak valid dalam berkas templat."
+msgstr "Format version.txt tidak valid dalam berkas templat: %s."
#: editor/export_template_manager.cpp
msgid "No version.txt found inside templates."
@@ -3332,9 +3313,8 @@ msgstr "Permintaan Gagal."
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Redirect Loop."
-msgstr "Mengarahkan Loop"
+msgstr "Mengalihkan Loop."
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3425,7 +3405,6 @@ msgid "Remove Template"
msgstr "Hapus Templat"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
msgstr "Pilih berkas templat"
@@ -3438,9 +3417,8 @@ msgid "Download Templates"
msgstr "Unduh Templat"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select mirror from list: (Shift+Click: Open in Browser)"
-msgstr "Pilih cermin dari daftar: "
+msgstr "Pilih cermin dari daftar: (Shift+Click: Buka di Peramban)"
#: editor/file_type_cache.cpp
msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
@@ -3449,9 +3427,8 @@ msgstr ""
"disimpan!"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Favorites"
-msgstr "Favorit:"
+msgstr "Favorit"
#: editor/filesystem_dock.cpp
msgid "Cannot navigate to '%s' as it has not been found in the file system!"
@@ -3489,9 +3466,8 @@ msgid "No name provided."
msgstr "Nama masih kosong."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "Nama yang dimasukkan tidak valid"
+msgstr "Nama yang dimasukkan mengandung karakter tidak valid."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3518,28 +3494,24 @@ msgid "Duplicating folder:"
msgstr "Menggandakan folder:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Scene Turunan Baru..."
+msgstr "Skena Warisan Baru"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Buka Scene"
+msgstr "Buka Skena"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Instansi"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
-msgstr "Favorit:"
+msgstr "Tambahkan ke Favorit"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
-msgstr "Hapus dari Grup"
+msgstr "Hapus dari Favorit"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
@@ -3562,26 +3534,23 @@ msgid "Move To..."
msgstr "Pindahkan ke..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Script..."
-msgstr "Scene Baru"
+msgstr "Skrip Baru..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Resource..."
-msgstr "Simpan Resource Sebagai..."
+msgstr "Sumber Daya Baru..."
#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Expand All"
-msgstr "Perluas semua"
+msgstr "Bentangkan Semua"
#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_editor_debugger.cpp
#, fuzzy
msgid "Collapse All"
-msgstr "Ciutkan semua"
+msgstr "Ciutkan Semua"
#: editor/filesystem_dock.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -3591,14 +3560,12 @@ msgid "Rename"
msgstr "Ubah Nama"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Tab sebelumnya"
+msgstr "Berkas/Direktori sebelumnya"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Folder Berikutnya"
+msgstr "Berkas/DIrektori Berikutnya"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
@@ -3607,12 +3574,11 @@ msgstr "Pindai Ulang Berkas Sistem"
#: editor/filesystem_dock.cpp
#, fuzzy
msgid "Toggle Split Mode"
-msgstr "Beralih Mode"
+msgstr "Beralih Mode Split"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Search files"
-msgstr "Cari Kelas"
+msgstr "Cari berkas"
#: editor/filesystem_dock.cpp
msgid ""
@@ -3627,9 +3593,8 @@ msgid "Move"
msgstr "Pindahkan"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "There is already file or folder with the same name in this location."
-msgstr "Sudah ada nama berkas atau folder seperti itu."
+msgstr "Sudah ada nama berkas atau folder seperti itu di lokasi ini."
#: editor/filesystem_dock.cpp
msgid "Overwrite"
@@ -3640,30 +3605,29 @@ msgid "Create Script"
msgstr "Buat Script"
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Find in Files"
-msgstr "%d file lagi"
+msgstr "Cari dalam Berkas"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Find:"
-msgstr "Cari"
+msgstr "Cari:"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Folder:"
-msgstr "Buat Folder"
+msgstr "Direktori:"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Filters:"
msgstr "Filter:"
#: editor/find_in_files.cpp
+#, fuzzy
msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Muat berkas dengan ekstensi berikut. Tambah atau Buang dalam "
+"PengaturanProyek."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3747,7 +3711,7 @@ msgstr "Grup"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
-msgstr "Impor sebagai Scene Tunggal"
+msgstr "Impor sebagai Skena Tunggal"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Animations"
@@ -3779,20 +3743,20 @@ msgstr "Impor dengan Objek+Material+Animasi Terpisah"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes"
-msgstr "Impor sebagai Beberapa Scene"
+msgstr "Impor sebagai Beberapa Skena"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes+Materials"
-msgstr "Impor Beberapa Scene+Material"
+msgstr "Impor sebagai Beberapa Skena+Material"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
-msgstr "Impor Scene"
+msgstr "Impor Skena"
#: editor/import/resource_importer_scene.cpp
msgid "Importing Scene..."
-msgstr "Mengimpor scene..."
+msgstr "Mengimpor Skena..."
#: editor/import/resource_importer_scene.cpp
msgid "Generating Lightmaps"
@@ -3848,7 +3812,7 @@ msgstr "Impor ulang"
#: editor/import_dock.cpp
msgid "Save scenes, re-import and restart"
-msgstr "Simpan scene-scene, impor ulang dan mulai ulang"
+msgstr "Simpan skena, impor ulang, dan mulai ulang"
#: editor/import_dock.cpp
#, fuzzy
@@ -4253,7 +4217,7 @@ msgstr "Metode Publik:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/scene_tree_dock.cpp
msgid "Delete Node(s)"
-msgstr ""
+msgstr "Hapus Node"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#, fuzzy
@@ -4917,15 +4881,14 @@ msgid "Assets ZIP File"
msgstr "Berkas Aset ZIP"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
-#, fuzzy
msgid ""
"Can't determine a save path for lightmap images.\n"
"Save your scene (for images to be saved in the same dir), or pick a save "
"path from the BakedLightmap properties."
msgstr ""
-"Tidak dapat menentukan lokasi penyimpanan untuk gambar lightmap\n"
-"Simpan scene-mu (untuk gambar silakan simpan di direktori yang sama dengan "
-"scene), atau tentukan lokasi penyimpanan dari properti BakedLightmap"
+"Tidak dapat menentukan lokasi penyimpanan untuk gambar lightmap.\n"
+"Simpan skena Anda (untuk gambar yang akan disimpan di direktori yang sama), "
+"atau pilih lokasi penyimpanan dari properti BakedLightmap."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid ""
@@ -5047,6 +5010,8 @@ msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Ketika aktif, memindahkan node Control akan mengubah jangkarnya daripada "
+"batasnya."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -5094,9 +5059,8 @@ msgid "Create Custom Bone(s) from Node(s)"
msgstr "Buat Tulang Kustom(satu/lebih) dari Node(satu/lebih)"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "Mainkan Custom Scene"
+msgstr "Bersihkan Pertulangan"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5276,9 +5240,8 @@ msgid "Make Custom Bone(s) from Node(s)"
msgstr "Buat Tulang Kustom(satu/lebih) dari Node(satu/lebih)"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Custom Bones"
-msgstr "Mainkan Custom Scene"
+msgstr "Bersihkan Pertulangan Kustom"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5316,27 +5279,27 @@ msgstr "Tampilkan Ikon Kunci Dan Grup"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
-msgstr ""
+msgstr "Seleksi Tengah"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Frame Selection"
-msgstr ""
+msgstr "Seleksi Bingkai"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
-msgstr ""
+msgstr "Pratinjau Skala Kanvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
-msgstr ""
+msgstr "Masker translasi untuk menyisipkan key."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation mask for inserting keys."
-msgstr ""
+msgstr "Masker rotasi untuk menyisipkan key."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale mask for inserting keys."
-msgstr ""
+msgstr "Masker skala untuk menyisipkan key."
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -5350,6 +5313,11 @@ msgid ""
"Keys are only added to existing tracks, no new tracks will be created.\n"
"Keys must be inserted manually for the first time."
msgstr ""
+"Menyisipkan key otomatis ketika objek ditranslasi, dirotasi atau diskala "
+"(berdasarkan masker).\n"
+"Key hanya ditambahkan ke trek yang ada, tidak ada trek baru yang akan "
+"dibuat.\n"
+"Key harus disisipkan secara manual untuk pertama kali."
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -5358,23 +5326,23 @@ msgstr "Sisipkan Key Anim"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
-msgstr ""
+msgstr "Sisip Key (ke Trek yang Ada)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Copy Pose"
-msgstr ""
+msgstr "Salin Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Clear Pose"
-msgstr ""
+msgstr "Hapus Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
-msgstr ""
+msgstr "Gandakan langkah kisi demi 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Divide grid step by 2"
-msgstr ""
+msgstr "Bagi langkah kisi demi 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -5383,25 +5351,26 @@ msgstr "Tampilan Belakang."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
-msgstr ""
+msgstr "Tambah %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Adding %s..."
-msgstr ""
+msgstr "Menambahkan %s..."
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Cannot instantiate multiple nodes without root."
-msgstr ""
+msgstr "Tidak dapat menginstansiasi beberapa node tanpa root."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Create Node"
-msgstr ""
+msgstr "Buat Node"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Error instancing scene from %s"
-msgstr ""
+msgstr "Gagal meng-instance skena dari %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -5413,6 +5382,8 @@ msgid ""
"Drag & drop + Shift : Add node as sibling\n"
"Drag & drop + Alt : Change node type"
msgstr ""
+"Seret & lepas + Shift : Tambahkan node sebagai saudara\n"
+"Seret & lepas + Alt : Ubah tipe node"
#: editor/plugins/collision_polygon_editor_plugin.cpp
#, fuzzy
@@ -5429,8 +5400,9 @@ msgid "Edit Poly (Remove Point)"
msgstr "Sunting Bidang (Hapus Titik)"
#: editor/plugins/collision_shape_2d_editor_plugin.cpp
+#, fuzzy
msgid "Set Handle"
-msgstr ""
+msgstr "Atur Pegangan"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5440,17 +5412,25 @@ msgstr "Galat saat memuat gambar:"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "No pixels with transparency > 128 in image..."
-msgstr ""
+msgstr "Tidak ada piksel dengan transparansi > 128 di dalam gambar..."
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Load Emission Mask"
-msgstr ""
+msgstr "Muat Masker Emisi"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Mulai Ulang:"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
-msgstr ""
+msgstr "Hapus Masker Emisi"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5461,22 +5441,22 @@ msgstr "Partikel"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Generated Point Count:"
-msgstr ""
+msgstr "Jumlah Titik yang Dihasilkan:"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Mask"
-msgstr ""
+msgstr "Masker Emisi"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Capture from Pixel"
-msgstr ""
+msgstr "Tangkap dari Piksel"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Colors"
-msgstr ""
+msgstr "Warna Emisi"
#: editor/plugins/cpu_particles_editor_plugin.cpp
#, fuzzy
@@ -5486,44 +5466,44 @@ msgstr "Partikel"
#: editor/plugins/cpu_particles_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emission Points From Mesh"
-msgstr ""
+msgstr "Buat Titik Emisi dari Mesh"
#: editor/plugins/cpu_particles_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emission Points From Node"
-msgstr ""
+msgstr "Buat Titik Emisi dari Node"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat 0"
-msgstr ""
+msgstr "Flat 0"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat 1"
-msgstr ""
+msgstr "Flat 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
-msgstr ""
+msgstr "Perlahan Masuk"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease Out"
-msgstr ""
+msgstr "Perlahan Keluar"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
-msgstr ""
+msgstr "Tingkat Kemulusan"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Modify Curve Point"
-msgstr ""
+msgstr "Modifikasi Titik Kurva"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Modify Curve Tangent"
-msgstr ""
+msgstr "Modifikasi Tangen Kurva"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Load Curve Preset"
-msgstr ""
+msgstr "Muat Preset Kurva"
#: editor/plugins/curve_editor_plugin.cpp
#, fuzzy
@@ -5557,7 +5537,7 @@ msgstr "Hapus Sinyal"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Toggle Curve Linear Tangent"
-msgstr ""
+msgstr "Beralih Kurva Linear Tangen"
#: editor/plugins/curve_editor_plugin.cpp
#, fuzzy
@@ -5574,11 +5554,11 @@ msgstr ""
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
-msgstr ""
+msgstr "Item %d"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Items"
-msgstr ""
+msgstr "Item"
#: editor/plugins/item_list_editor_plugin.cpp
#, fuzzy
@@ -5587,15 +5567,15 @@ msgstr "Penyunting Daftar Item"
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Occluder Polygon"
-msgstr ""
+msgstr "Buat Poligon Occluder"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh is empty!"
-msgstr ""
+msgstr "Mesh kosong!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Static Trimesh Body"
-msgstr ""
+msgstr "Buat Badan Trimesh Statis"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Static Convex Body"
@@ -5603,15 +5583,15 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "This doesn't work on scene root!"
-msgstr ""
+msgstr "Ini tidak bekerja di skena akar!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Shape"
-msgstr ""
+msgstr "Buat Bentuk Trimesh Statis"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Gagal membuat bentuk!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
#, fuzzy
@@ -5620,15 +5600,15 @@ msgstr "Buat Baru %s"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
-msgstr ""
+msgstr "Buat Mesh Navigasi"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Contained Mesh is not of type ArrayMesh."
-msgstr ""
+msgstr "Mesh yang terkandung bukan bertipe ArrayMesh."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "UV Unwrap failed, mesh may not be manifold?"
-msgstr ""
+msgstr "UV Unwrap gagal, mesh mungkin tidak bermacam-macam?"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "No mesh to debug."
@@ -5637,11 +5617,11 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
-msgstr ""
+msgstr "Model tidak memiliki UV dalam lapisan ini"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "MeshInstance lacks a Mesh!"
-msgstr ""
+msgstr "MeshInstance tidak memiliki Mesh!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh has not surface to create outlines from!"
@@ -5649,15 +5629,16 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr ""
+msgstr "Jenis Mesh primitif bukan PRIMITIVE_TRIANGLES!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Could not create outline!"
-msgstr ""
+msgstr "Tidak dapat membuat garis!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#, fuzzy
msgid "Create Outline"
-msgstr ""
+msgstr "Buat Garis"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh"
@@ -5665,11 +5646,12 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
-msgstr ""
+msgstr "Buat Tubuh Statis Trimesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#, fuzzy
msgid "Create Trimesh Collision Sibling"
-msgstr ""
+msgstr "Buat Saudara Tabrakan Trimesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
#, fuzzy
@@ -5678,7 +5660,7 @@ msgstr "Buat Bidang"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
-msgstr ""
+msgstr "Buat Garis Mesh..."
#: editor/plugins/mesh_instance_editor_plugin.cpp
#, fuzzy
@@ -5692,72 +5674,75 @@ msgstr "File:"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Unwrap UV2 for Lightmap/AO"
-msgstr ""
+msgstr "Buka UV2 untuk Lightmap/AO"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh"
-msgstr ""
+msgstr "Buat Garis Mesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Outline Size:"
-msgstr ""
+msgstr "Ukuran Garis Tepi:"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Remove item %d?"
-msgstr ""
+msgstr "Hapus item %d?"
#: editor/plugins/mesh_library_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Item"
-msgstr ""
+msgstr "Tambah Item"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Remove Selected Item"
-msgstr ""
+msgstr "Hapus Item yang Dipilih"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import from Scene"
-msgstr ""
+msgstr "Impor dari Skena"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Update from Scene"
-msgstr ""
+msgstr "Perbarui dari Skena"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
+"Tidak ada sumber mesh yang ditentukan (dan tidak ada MultiMesh yang diatur "
+"dalam node)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and MultiMesh contains no Mesh)."
msgstr ""
+"Tidak ada sumber mesh yang ditentukan (dan MultiMesh tidak mengandung Mesh)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (invalid path)."
-msgstr ""
+msgstr "Sumber mesh tidak valid (salah lokasi)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (not a MeshInstance)."
-msgstr ""
+msgstr "Sumber mesh tidak valid (bukan MeshInstance)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (contains no Mesh resource)."
-msgstr ""
+msgstr "Sumber mesh tidak valid (tidak mengandung resource Mesh)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No surface source specified."
-msgstr ""
+msgstr "Sumber permukaan tidak ditentukan."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (invalid path)."
-msgstr ""
+msgstr "Sumber permukaan tidak valid (salah lokasi)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (no geometry)."
-msgstr ""
+msgstr "Sumber permukaan tidak valid (tidak ada geometri)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (no faces)."
-msgstr ""
+msgstr "Sumber permukaan tidak valid (tidak ada bidang)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Parent has no solid faces to populate."
@@ -6256,16 +6241,16 @@ msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Rename Resource"
-msgstr ""
+msgstr "Ubah Nama Sumber Daya"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Resource"
-msgstr ""
+msgstr "Hapus Sumber Daya"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Resource clipboard is empty!"
-msgstr ""
+msgstr "Papan klip sumber daya kosong!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Paste Resource"
@@ -6273,14 +6258,15 @@ msgstr "Tempel Resource"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid "Instance:"
-msgstr ""
+msgstr "Instansi:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
#: editor/scene_tree_editor.cpp
msgid "Type:"
-msgstr ""
+msgstr "Jenis:"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
@@ -6290,7 +6276,7 @@ msgstr "Buka dalam Penyunting"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Load Resource"
-msgstr ""
+msgstr "Muat Sumber Daya"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
@@ -6299,20 +6285,19 @@ msgstr "Resource"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr ""
+msgstr "AnimationTree tidak memiliki jalur yang diatur ke AnimationPlayer"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "Path to AnimationPlayer is invalid"
-msgstr ""
+msgstr "Jalur ke AnimationPlayer tidak valid"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
-msgstr ""
+msgstr "Bersihkan Berkas Akhir-akhir ini"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Close and save changes?"
-msgstr "Tutup scene? (Perubahan-perubahan yang belum disimpan akan hilang)"
+msgstr "Tutup dan simpan perubahan?"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -6371,23 +6356,23 @@ msgstr "Simpan Sebagai..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
-msgstr ""
+msgstr "Impor Tema"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
-msgstr ""
+msgstr "Gagal saat menyimpan tema"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error saving"
-msgstr ""
+msgstr "Gagal menyimpan"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save Theme As..."
-msgstr ""
+msgstr "Simpan Tema sebagai..."
#: editor/plugins/script_editor_plugin.cpp
msgid "%s Class Reference"
-msgstr ""
+msgstr "Referensi Kelas %s"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -6395,8 +6380,18 @@ msgid "Find Next"
msgstr "Pencarian Selanjutnya"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filter:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
-msgstr ""
+msgstr "Beralih penyortiran alfabetis dari daftar fungsi."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Filter:"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -6407,21 +6402,21 @@ msgstr "Sortir:"
#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Move Up"
-msgstr ""
+msgstr "Naikkan"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Move Down"
-msgstr ""
+msgstr "Turunkan"
#: editor/plugins/script_editor_plugin.cpp
msgid "Next script"
-msgstr ""
+msgstr "Skrip berikutnya"
#: editor/plugins/script_editor_plugin.cpp
msgid "Previous script"
-msgstr ""
+msgstr "Skrip sebelumnya"
#: editor/plugins/script_editor_plugin.cpp
msgid "File"
@@ -6461,9 +6456,8 @@ msgid "Theme"
msgstr "Simpan Tema"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Import Theme..."
-msgstr "Mengimpor scene..."
+msgstr "Impor Tema..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
@@ -6653,11 +6647,6 @@ msgstr ""
msgid "Cut"
msgstr "Potong"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Pilih Semua"
-
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Delete Line"
@@ -6791,9 +6780,8 @@ msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
#: editor/plugins/skeleton_2d_editor_plugin.cpp
-#, fuzzy
msgid "Create Rest Pose from Bones"
-msgstr "Mainkan Custom Scene"
+msgstr "Buat Pose Istirahat dari Pertulangan"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Set Rest Pose to Bones"
@@ -8088,9 +8076,8 @@ msgid "Create Occlusion Polygon"
msgstr "Buat Bidang"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "This property can't be changed."
-msgstr "Operasi ini tidak dapat diselesaikan tanpa scene."
+msgstr "Properti ini tidak dapat diubah."
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -8310,51 +8297,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8363,203 +8306,27 @@ msgid "Input parameter."
msgstr "Snap ke orang-tua"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9187,9 +8954,8 @@ msgid "Feature List:"
msgstr "Daftar Fungsi:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Script"
-msgstr "Scene Baru"
+msgstr "Skrip"
#: editor/project_export.cpp
#, fuzzy
@@ -9429,15 +9195,14 @@ msgid ""
msgstr ""
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
-"Tidak ada scene utama yang pernah didefinisikan, pilih satu?\n"
-"Anda dapat mengubahnya nanti di akhir dalam \"Project Settings\" dibawah "
-"kategori 'application'."
+"Tidak dapat menjalankan proyek: tidak ada skena utama yang didefinisikan.\n"
+"Harap sunting proyek Anda dan atur skena utama dalam Pengaturan Proyek di "
+"bawah kategori \"Aplikasi\"."
#: editor/project_manager.cpp
msgid ""
@@ -9969,9 +9734,8 @@ msgid "Node type"
msgstr "Cari Tipe Node"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Current scene name"
-msgstr "Scene saat ini tidak disimpan. Buka saja?"
+msgstr "Nama skena saat ini"
#: editor/rename_dialog.cpp
#, fuzzy
@@ -10117,9 +9881,8 @@ msgid "Instance Child Scene"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Clear Script"
-msgstr "Scene Baru"
+msgstr "Bersihkan Skrip"
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
@@ -10150,9 +9913,8 @@ msgid "Instantiated scenes can't become root"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Make node as Root"
-msgstr "Simpan Scene"
+msgstr "Jadikan node sebagai Dasar"
#: editor/scene_tree_dock.cpp
msgid "Delete Node(s)?"
@@ -10189,9 +9951,8 @@ msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "New Scene Root"
-msgstr "Simpan Scene"
+msgstr "Skena Dasar Baru"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10226,9 +9987,8 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Attach Script"
-msgstr "Scene Baru"
+msgstr "Lampirkan Skrip"
#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
@@ -10267,6 +10027,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Ciutkan Semua"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10276,9 +10041,8 @@ msgid "Extend Script"
msgstr "Buka Cepat Script..."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Make Scene Root"
-msgstr "Simpan Scene"
+msgstr "Jadikan Skena Dasar"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
@@ -10298,8 +10062,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Buat Baru %s"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10505,9 +10270,8 @@ msgid "Allowed: a-z, A-Z, 0-9 and _"
msgstr ""
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Built-in script (into scene file)."
-msgstr "Operasi dengan file scene."
+msgstr "Skrip tanam (ke dalam berkas skena)."
#: editor/script_create_dialog.cpp
#, fuzzy
@@ -10543,9 +10307,8 @@ msgid "Built-in Script"
msgstr ""
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Attach Node Script"
-msgstr "Scene Baru"
+msgstr "Lampirkan Skrip Node"
#: editor/script_editor_debugger.cpp
#, fuzzy
@@ -11680,9 +11443,9 @@ msgid ""
"Only one visible CanvasModulate is allowed per scene (or set of instanced "
"scenes). The first created one will work, while the rest will be ignored."
msgstr ""
-"Hanya satu visible CanvasModulate yang diizinkan per scene (atau atur pada "
-"scene-scene yang diacu). Yang diciptakan pertama akan bekerja, sedangkan "
-"sisanya akan diabaikan."
+"Hanya satu CanvasModulate yang terlihat diizinkan per skena (atau set skena "
+"yang di-instance). Yang pertama dibuat akan bekerja, sedangkan sisanya akan "
+"diabaikan."
#: scene/2d/collision_object_2d.cpp
msgid ""
@@ -11824,13 +11587,25 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D hanya berfungsi untuk menyediakan sebuah bentuk collision "
+"pada sebuah CollisionObject2D node asal. Mohon hanya gunakan itu sebagai "
+"sebuah child dari Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, dll. "
+"untuk memberikan mereka sebuah bentuk."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
"as parent."
msgstr ""
"VisibilityEnable2D bekerja dengan sangat baik ketika digunakan dengan "
-"mengedit root scene secara langsung sebagai parent."
+"menyunting skena dasar secara langsung sebagai parent."
#: scene/3d/arvr_nodes.cpp
msgid "ARVRCamera must have an ARVROrigin node as its parent"
@@ -12043,8 +11818,8 @@ msgstr ""
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)."
+"Hanya satu WorldEnvironment yang diizinkan per skena (atau set skena yang di-"
+"instance)."
#: scene/3d/world_environment.cpp
msgid ""
@@ -12054,7 +11829,7 @@ msgstr ""
#: scene/animation/animation_blend_tree.cpp
msgid "On BlendTree node '%s', animation not found: '%s'"
-msgstr ""
+msgstr "Di Node BlendTree '%s', animasi tidak ditemukan: '%s'"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
@@ -12063,7 +11838,7 @@ msgstr "Perkakas Animasi"
#: scene/animation/animation_tree.cpp
msgid "In node '%s', invalid animation: '%s'."
-msgstr ""
+msgstr "Di node '%s', animasi tidak valid: '%s'."
#: scene/animation/animation_tree.cpp
#, fuzzy
@@ -12077,36 +11852,43 @@ msgstr "Memutuskan '%s' dari '%s'"
#: scene/animation/animation_tree.cpp
msgid "A root AnimationNode for the graph is not set."
-msgstr ""
+msgstr "Akar AnimationNode untuk grafik belum diatur."
#: scene/animation/animation_tree.cpp
#, fuzzy
msgid "Path to an AnimationPlayer node containing animations is not set."
-msgstr "Pilih sebuah AnimationPlayer dari Scene Tree untuk menyunting animasi."
+msgstr ""
+"Lokasi untuk node AnimationPlayer yang mengandung animasi belum diatur."
#: scene/animation/animation_tree.cpp
msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
msgstr ""
+"Lokasi yang ditetapkan untuk AnimationPlayer tidak mengarah ke node "
+"AnimationPlayer."
#: scene/animation/animation_tree.cpp
msgid "AnimationPlayer root is not a valid node."
-msgstr ""
+msgstr "Akar AnimationPlayer bukanlah node yang valid."
#: scene/animation/animation_tree_player.cpp
msgid "This node has been deprecated. Use AnimationTree instead."
-msgstr ""
+msgstr "Node ini telah usang. Gunakan AnimationTree sebagai gantinya."
#: scene/gui/color_picker.cpp
msgid "Pick a color from the screen."
+msgstr "Ambil warna dari layar."
+
+#: scene/gui/color_picker.cpp
+msgid "HSV"
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
-msgstr ""
+msgstr "Beralih antara nilai heksadesimal dan kode."
#: scene/gui/color_picker.cpp
#, fuzzy
@@ -12114,12 +11896,23 @@ msgid "Add current color as a preset."
msgstr "Tambahkan warna yang sekarang sebagai preset"
#: scene/gui/container.cpp
+#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+"Container dengan dirinya sendiri tidak berguna kecuali ada skrip yang "
+"mengkonfigurasi perilaku penempatan anak-anaknya.\n"
+"Jika Anda tidak ingin menambahkan skrip, silakan gunakan node 'Control' "
+"biasa."
+
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
#: scene/gui/dialogs.cpp
msgid "Alert!"
@@ -12150,6 +11943,9 @@ msgid ""
"Use a container as child (VBox,HBox,etc), or a Control and set the custom "
"minimum size manually."
msgstr ""
+"ScrollContainer dimaksudkan untuk bekerja dengan kontrol anak tunggal.\n"
+"Gunakan satu kontainer sebagai anak (VBox,HBox,dkk), atau Control, dan atur "
+"manual ukuran minimumnya."
#: scene/gui/tree.cpp
msgid "(Other)"
@@ -12195,7 +11991,7 @@ msgstr "Ukuran font tidak sah."
#: scene/resources/visual_shader.cpp
msgid "Input"
-msgstr ""
+msgstr "Masukan"
#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
@@ -12203,20 +11999,32 @@ msgid "Invalid source for shader."
msgstr "Ukuran font tidak sah."
#: servers/visual/shader_language.cpp
+#, fuzzy
msgid "Assignment to function."
-msgstr ""
+msgstr "Penugasan ke fungsi."
#: servers/visual/shader_language.cpp
+#, fuzzy
msgid "Assignment to uniform."
-msgstr ""
+msgstr "Penugasan untuk menyeragamkan."
#: servers/visual/shader_language.cpp
+#, fuzzy
msgid "Varyings can only be assigned in vertex function."
-msgstr ""
+msgstr "Variasi hanya bisa ditetapkan dalam fungsi vertex."
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Konstanta tidak dapat dimodifikasi."
+
+#~ msgid "Enabled Classes"
+#~ msgstr "Kelas yang Diaktifkan"
+
+#~ msgid "Update Always"
+#~ msgstr "Selalu Perbarui"
+
+#~ msgid "Raw Mode"
+#~ msgstr "Mode Mentah"
#~ msgid "Path to Node:"
#~ msgstr "Path ke Node:"
diff --git a/editor/translations/is.po b/editor/translations/is.po
index 88a59309ff..98063e6482 100644
--- a/editor/translations/is.po
+++ b/editor/translations/is.po
@@ -448,6 +448,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Afrita val"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1303,7 +1313,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1500,7 +1510,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1554,7 +1564,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1567,7 +1577,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1590,11 +1600,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2603,10 +2609,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2713,15 +2739,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Samfellt"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3009,20 +3036,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5101,6 +5128,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6008,10 +6042,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6248,11 +6290,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7798,51 +7835,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7850,203 +7843,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9682,6 +9499,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9710,7 +9531,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -11101,6 +10922,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11348,7 +11176,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11361,12 +11193,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/it.po b/editor/translations/it.po
index 6fd9d77343..94b2c13192 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -34,12 +34,13 @@
# MARCO BANFI <mbanfi@gmail.com>, 2019.
# Marco <rodomar705@gmail.com>, 2019.
# Davide Giuliano <davidegiuliano00@gmail.com>, 2019.
+# Stefano Merazzi <asso99@hotmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
-"Last-Translator: RHC <rhc.throwaway@gmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:50+0000\n"
+"Last-Translator: Marco <rodomar705@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -47,7 +48,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -108,9 +109,8 @@ msgid "Time:"
msgstr "Tempo:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Valore"
+msgstr "Valore:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -178,9 +178,8 @@ msgid "3D Transform Track"
msgstr "Traccia trasformazione 3D"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Call Method Track"
-msgstr "Traccia Chiamata di Funzione"
+msgstr "Traccia di Chiamata di Metodi"
#: editor/animation_track_editor.cpp
msgid "Bezier Curve Track"
@@ -195,14 +194,12 @@ msgid "Animation Playback Track"
msgstr "Traccia di riproduzione animazione"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (frames)"
-msgstr "Durata Animazione (in secondi)"
+msgstr "Durata Animazione (frames)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (seconds)"
-msgstr "Durata Animazione (in secondi)"
+msgstr "Durata Animazione (secondi)"
#: editor/animation_track_editor.cpp
msgid "Add Track"
@@ -467,10 +464,28 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Questa animazione appartiene a una scena importata, eventuali modifiche alle "
+"tracce importate non saranno salvate.\n"
+"\n"
+"Per abilitare la possibilità di aggiungere ulteriori tracce, vai alle "
+"impostazioni di importazione della scena e imposta\n"
+"\"Animation > Storage\" su \"Files\", abilita \"Animation > Keep Custom "
+"Tracks\", e infine reimporta la scena.\n"
+"Altrimenti, usa un preset di importazione che importa le animazioni in file "
+"separati."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Attenzione: stai modificando un'animazione importata"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Seleziona tutti"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "Seleziona Nulla"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -481,16 +496,14 @@ msgid "Group tracks by node or display them as plain list."
msgstr "Raggruppa le tracce per nodo o mostra una lista semplice."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Snap:"
-msgstr "Snap"
+msgstr "Snap:"
#: editor/animation_track_editor.cpp
msgid "Animation step value."
msgstr "Valore del passo dell'animazione."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Seconds"
msgstr "Secondi"
@@ -706,38 +719,32 @@ msgid "Line and column numbers."
msgstr "Numeri di riga e colonna."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "Deve essere specificato il metodo nel nodo di target!"
+msgstr "Il metodo del nodo designato deve essere specificato."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Metodo di destinazione non trovato! Specifica un metodo valido o annetti uno "
-"script al nodo di destinazione."
+"Metodo di destinazione non trovato. Specifica un metodo valido o attribuisci "
+"uno script al nodo di destinazione."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
-msgstr "Connetti al nodo:"
+msgstr "Connetti al Nodo:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Impossibile connetersi all'host:"
+msgstr "Connetti allo Script:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Segnali:"
+msgstr "Dal Segnale:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "Il nodo non contiene geometria."
+msgstr "La scena non contiene alcuno script."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -765,7 +772,6 @@ msgid "Extra Call Arguments:"
msgstr "Argomenti chiamata extra:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
msgstr "Opzioni avanzate"
@@ -777,6 +783,8 @@ msgstr "Differita"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Differisce il segnale memorizzandolo in una coda ed emettendolo in fase di "
+"inattività."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -784,12 +792,11 @@ msgstr "Oneshot"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Disconnette il segnale dopo la sua prima emissione."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Connetti il segnale: "
+msgstr "Impossibile connettere il segnale"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -831,14 +838,12 @@ msgid "Disconnect"
msgstr "Disconnetti"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Connetti il segnale: "
+msgstr "Connetti un Segnale a un Metodo"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Modifica connessione: "
+msgstr "Modifica Connessione:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -914,16 +919,14 @@ msgid "Dependencies For:"
msgstr "Dipendenze per:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
"La scena '%s' è al momento in modifica.\n"
-"I cambiamenti non avranno effetto a meno che venga ricaricata."
+"I cambiamenti avranno effetto quando sarà ricaricata."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
@@ -1022,9 +1025,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "Eliminare permanentemente %d elementi? (Non annullabile!)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Dipendenze"
+msgstr "Mostra Dipendenze"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1072,7 +1074,7 @@ msgstr "Sviluppatore principale"
#: editor/editor_about.cpp
msgid "Project Manager "
-msgstr "Gestione progetto "
+msgstr "Gestore progetto "
#: editor/editor_about.cpp
msgid "Developers"
@@ -1279,7 +1281,7 @@ msgstr "Salva disposizione del bus audio come..."
#: editor/editor_audio_buses.cpp
msgid "Location for New Layout..."
-msgstr "Posizione per Nuovo Layout..."
+msgstr "Posizione della nuova disposizione…"
#: editor/editor_audio_buses.cpp
msgid "Open Audio Bus Layout"
@@ -1287,15 +1289,15 @@ msgstr "Apri disposizione bus audio"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "File '%s' assente."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
-msgstr "Layout"
+msgstr "Disposizione"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
-msgstr "File non valido, non è una disposizione del bus audio."
+msgstr "File non valido, non è una disposizione di un bus audio."
#: editor/editor_audio_buses.cpp
msgid "Add Bus"
@@ -1344,29 +1346,23 @@ msgid "Valid characters:"
msgstr "Caratteri validi:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
msgstr ""
-"Nome non valido. Non deve essere in conflitto con un nome di classe "
-"dell'engine esistente."
+"Non deve essere in conflitto con un nome di una classe esistente dell'engine."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr ""
-"Nome non valido. Non deve essere in conflitto con un nome di tipo built-in "
-"esistente."
+msgid "Must not collide with an existing built-in type name."
+msgstr "Non deve essere in conflitto con un nome di tipo built-in esistente."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
msgstr ""
-"Nome non valido. Non deve essere in conflitto con un nome di una costante "
-"globale esistente."
+"Non deve essere in conflitto con un nome di una costante globale esistente."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "La parola chiave non può essere utilizzata come nome di un Autoload."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1374,7 +1370,7 @@ msgstr "Autoload '%s' esiste già!"
#: editor/editor_autoload_settings.cpp
msgid "Rename Autoload"
-msgstr "Rinomina autoload"
+msgstr "Rinomina Autoload"
#: editor/editor_autoload_settings.cpp
msgid "Toggle AutoLoad Globals"
@@ -1397,7 +1393,6 @@ msgid "Rearrange Autoloads"
msgstr "Riordina gli Autoload"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "Percorso non valido."
@@ -1411,7 +1406,7 @@ msgstr "Non è nel percorso risorse."
#: editor/editor_autoload_settings.cpp
msgid "Add AutoLoad"
-msgstr "Aggiungi AutoLoad"
+msgstr "Aggiungi Autoload"
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp
@@ -1437,7 +1432,7 @@ msgstr "Aggiornamento scena"
#: editor/editor_data.cpp
msgid "Storing local changes..."
-msgstr "Memorizzazione dei cambiamenti locali..."
+msgstr "Memorizzazione dei cambiamenti locali…"
#: editor/editor_data.cpp
msgid "Updating scene..."
@@ -1452,9 +1447,8 @@ msgid "[unsaved]"
msgstr "[non salvato]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Si prega di selezionare prima una cartella di base"
+msgstr "Si prega di selezionare prima una cartella di base."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1488,7 +1482,7 @@ msgstr "Memorizzazione file:"
#: editor/editor_export.cpp
msgid "No export template found at the expected path:"
-msgstr "Nessun template di esportazione trovato nel percorso previsto:"
+msgstr "Nessun modello di esportazione trovato nel percorso previsto:"
#: editor/editor_export.cpp
msgid "Packing"
@@ -1526,37 +1520,33 @@ msgstr ""
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
msgid "Custom debug template not found."
-msgstr "Template di debug personalizzato non trovato."
+msgstr "Modello di debug personalizzato non trovato."
#: 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
msgid "Custom release template not found."
-msgstr "Template di release personalizzato non trovato."
+msgstr "Modello di release personalizzato non trovato."
#: editor/editor_export.cpp platform/javascript/export/export.cpp
msgid "Template file not found:"
-msgstr "Template non trovato:"
+msgstr "Modello non trovato:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Editor"
+msgstr "Editor 3D"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Apri Editor Script"
+msgstr "Editor degli script"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Apri Libreria degli Asset"
+msgstr "Libreria degli asset"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Scene Tree (Nodi):"
+msgstr "Editor delle scene"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1564,96 +1554,87 @@ msgid "Import Dock"
msgstr "Importa"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Nodo Spostato"
+msgstr "Nodo"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Filesystem"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Sostituisci tutto (no undo)"
+msgstr "Eliminare il profilo '%s'? (non annullabile)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "Il profilo deve essere un nome di file valido e non può contenere '.'"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Un file o cartella con questo nome é già esistente."
+msgstr "Esiste già un profilo con questo nome."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(editor disabilitato, proprietà disabilitate)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Solo le proprietà"
+msgstr "(proprietà disabilitate)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Clip Disabilitata"
+msgstr "(editor disabilitato)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Descrizione della classe:"
+msgstr "Opzioni della classe:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Apri l'Editor successivo"
+msgstr "Abilita l'editor contestuale"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Proprietà:"
+msgstr "Proprietà abilitate:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Funzionalità"
+msgstr "Funzionalità abilitate:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Cerca Classi"
+msgstr "Classi abilitate:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Il formato del file '%s' non è valido, importazione annullata."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"Il profilo '%s' è già presente, rimuovilo prima dell'importazione. "
+"Operazione annullata."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Errore caricamento template '%s'"
+msgstr "Errore di salvataggio del profilo nel percorso: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "Disattiva"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Versione Corrente:"
+msgid "Current Profile:"
+msgstr "Profilo attuale"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Corrente:"
+msgstr "Rendi attuale"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1672,43 +1653,32 @@ msgstr "Esporta"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Nodi Disponibili:"
+msgid "Available Profiles:"
+msgstr "Profili disponibili"
#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Cerca Classi"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Descrizione della classe"
+msgstr "Opzioni della classe"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Nuovo nome:"
+msgstr "Nome del nuovo profilo:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Cancella Area"
+msgstr "Cancella profilo"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Progetto Importato"
+msgstr "Importa profili"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Esporta progetto"
+msgstr "Esporta profilo"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "Gestisci template d'esportazione"
+msgstr "Gestisci i profili delle funzionalità dell'editor"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1745,7 +1715,7 @@ msgstr "Aggiorna"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "All Recognized"
-msgstr "Tutti Riconosciuti"
+msgstr "Tutti i risconosciuti"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "All Files (*)"
@@ -1792,19 +1762,19 @@ msgstr "Va' su"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Toggle Hidden Files"
-msgstr "Commuta visibilità file nascosti"
+msgstr "Attiva/disattiva file nascosti"
#: editor/editor_file_dialog.cpp
msgid "Toggle Favorite"
-msgstr "Commuta preferito"
+msgstr "Attiva/disattiva preferito"
#: editor/editor_file_dialog.cpp
msgid "Toggle Mode"
-msgstr "Modalità Attivazione"
+msgstr "Modalità Attivazione/Disattivazione"
#: editor/editor_file_dialog.cpp
msgid "Focus Path"
-msgstr "Percorso Di Fuoco"
+msgstr "Percorso di Focus"
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Up"
@@ -1824,24 +1794,23 @@ msgstr "Cartella successiva"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Go to parent folder."
-msgstr "Vai alla cartella genitore."
+msgstr "Va' alla cartella superiore."
#: editor/editor_file_dialog.cpp
msgid "(Un)favorite current folder."
msgstr "Aggiungi/rimuovi cartella attuale dai preferiti."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Commuta visibilità file nascosti"
+msgstr "Attiva/disattiva visibilità dei file nascosti."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
-msgstr "Visualizza elementi come una griglia di miniature."
+msgstr "Visualizza elementi in una griglia di miniature."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a list."
-msgstr "Visualizza elementi come una lista."
+msgstr "Visualizza elementi in una lista."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1863,21 +1832,23 @@ msgstr "È necessaria un'estensione valida."
#: editor/editor_file_system.cpp
msgid "ScanSources"
-msgstr "ScansionaSorgenti"
+msgstr "Scansiona sorgenti"
#: editor/editor_file_system.cpp
msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"Ci sono importatori multipli per tipi differenti che puntano al file %s, "
+"importazione annullata"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
-msgstr "(Re)Importando gli asset"
+msgstr "Reimportazione degli asset"
#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Top"
-msgstr "Alto"
+msgstr "In alto"
#: editor/editor_help.cpp
msgid "Class:"
@@ -1953,7 +1924,7 @@ msgstr "Descrizione della classe:"
#: editor/editor_help.cpp
msgid "Online Tutorials:"
-msgstr "Tutorial online:"
+msgstr "Guide online:"
#: editor/editor_help.cpp
msgid ""
@@ -1967,19 +1938,19 @@ msgstr ""
#: editor/editor_help.cpp
msgid "Property Descriptions"
-msgstr "Descrizione proprietà"
+msgstr "Descrizioni delle proprietà"
#: editor/editor_help.cpp
msgid "Property Descriptions:"
-msgstr "Descrizione proprietà:"
+msgstr "Descrizioni delle proprietà:"
#: editor/editor_help.cpp
msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"Al momento una descrizione per questa proprietà non esiste. Aiutaci [color="
-"$color][url=$url]aggiungendone una[/url][/color]!"
+"Al momento non esiste alcuna descrizione per questa proprietà. Aiutaci "
+"[color=$color][url=$url]aggiungendone una[/url][/color]!"
#: editor/editor_help.cpp
msgid "Method Descriptions"
@@ -2056,7 +2027,7 @@ msgstr "Output:"
#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Copy Selection"
-msgstr "Copia Selezione"
+msgstr "Copia selezione"
#: editor/editor_log.cpp editor/editor_profiler.cpp
#: editor/editor_properties.cpp
@@ -2066,7 +2037,7 @@ msgstr "Copia Selezione"
#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Clear"
-msgstr "Rimuovi"
+msgstr "Rimuovi tutto"
#: editor/editor_log.cpp
msgid "Clear Output"
@@ -2124,7 +2095,7 @@ msgstr "Errore durante l'elaborazione di '%s'."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
-msgstr "Fine file '%s' non prevista."
+msgstr "Fine del file '%s' non prevista."
#: editor/editor_node.cpp
msgid "Missing '%s' or its dependencies."
@@ -2140,7 +2111,7 @@ msgstr "Salvataggio scena"
#: editor/editor_node.cpp
msgid "Analyzing"
-msgstr "Analizzo"
+msgstr "Analizzando"
#: editor/editor_node.cpp
msgid "Creating Thumbnail"
@@ -2178,7 +2149,7 @@ msgstr "Impossibile caricare MeshLibrary per l'unione!"
#: editor/editor_node.cpp
msgid "Error saving MeshLibrary!"
-msgstr "Errore nel salvataggio di MeshLibrary!"
+msgstr "Errore nel salvataggio della MeshLibrary!"
#: editor/editor_node.cpp
msgid "Can't load TileSet for merging!"
@@ -2186,23 +2157,23 @@ msgstr "Impossibile caricare TileSet per unione!"
#: editor/editor_node.cpp
msgid "Error saving TileSet!"
-msgstr "Errore di salvataggio TileSet!"
+msgstr "Errore di salvataggio del TileSet!"
#: editor/editor_node.cpp
msgid "Error trying to save layout!"
-msgstr "Errore nel salvataggio del layout!"
+msgstr "Errore nel salvataggio della disposizione!"
#: editor/editor_node.cpp
msgid "Default editor layout overridden."
-msgstr "Layout predefinito dell'editor sovrascritto."
+msgstr "Disposizione predefinita dell'editor sovrascritta."
#: editor/editor_node.cpp
msgid "Layout name not found!"
-msgstr "Nome layout non trovato!"
+msgstr "Nome della disposizione non trovato!"
#: editor/editor_node.cpp
msgid "Restored default layout to base settings."
-msgstr "Ripristinato il layout di default alle impostazioni originali."
+msgstr "Ripristinata la disposizione predefinita alle impostazioni originali."
#: editor/editor_node.cpp
msgid ""
@@ -2216,7 +2187,6 @@ msgstr ""
"scene per comprendere al meglio questo workflow."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
@@ -2233,7 +2203,6 @@ msgstr ""
"impostazioni nel pannello di importazione e re-importala."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
@@ -2242,12 +2211,11 @@ msgid ""
msgstr ""
"Questa scena è stata importata, pertanto i cambiamenti ad essa non verranno "
"mantenuti.\n"
-"Istanziarla o ereditarla permetterà modificarla.\n"
+"Istanziarla o ereditarla permetterà di modificarla.\n"
"Si consiglia di leggere la documentazione relativa all'importazione delle "
"scene per comprendere meglio questo workflow."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
@@ -2256,7 +2224,7 @@ msgstr ""
"Questa risorsa appartiene a una scena che è stata importata, di conseguenza "
"non è modificabile.\n"
"Si consiglia di leggere la documentazione riguardante l'importazione delle "
-"scene per comprendere al meglio questa procedura."
+"scene per comprendere al meglio questo workflow."
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -2270,7 +2238,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Could not start subprocess!"
-msgstr "Impossibile avviare sottoprocesso!"
+msgstr "Impossibile avviare il sottoprocesso!"
#: editor/editor_node.cpp editor/filesystem_dock.cpp
msgid "Open Scene"
@@ -2278,20 +2246,19 @@ msgstr "Apri scena"
#: editor/editor_node.cpp
msgid "Open Base Scene"
-msgstr "Apri scena base"
+msgstr "Apri scena di base"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Apri scena rapidamente..."
+msgstr "Apri scena rapidamente…"
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
-msgstr "Apri scena rapidamente..."
+msgstr "Apri scena rapidamente…"
#: editor/editor_node.cpp
msgid "Quick Open Script..."
-msgstr "Apri script rapidamente..."
+msgstr "Apri script rapidamente…"
#: editor/editor_node.cpp
msgid "Save & Close"
@@ -2311,7 +2278,7 @@ msgstr "È necessario un nodo radice per salvare la scena."
#: editor/editor_node.cpp
msgid "Save Scene As..."
-msgstr "Salva scena con nome..."
+msgstr "Salva scena come…"
#: editor/editor_node.cpp
msgid "No"
@@ -2323,7 +2290,7 @@ msgstr "Sì"
#: editor/editor_node.cpp
msgid "This scene has never been saved. Save before running?"
-msgstr "Questa scena non è mai stata salvata. Salvare prima di eseguire?"
+msgstr "Questa scena non è mai stata salvata. Salvarla prima di eseguirla?"
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "This operation can't be done without a scene."
@@ -2331,7 +2298,7 @@ msgstr "Questa operazione non può essere eseguita senza una scena."
#: editor/editor_node.cpp
msgid "Export Mesh Library"
-msgstr "Esporta Libreria Mesh"
+msgstr "Esporta libreria di Mesh"
#: editor/editor_node.cpp
msgid "This operation can't be done without a root node."
@@ -2347,7 +2314,7 @@ msgstr "Questa operazione non può essere eseguita senza un nodo selezionato."
#: editor/editor_node.cpp
msgid "Current scene not saved. Open anyway?"
-msgstr "Scena attuale non salvata. Aprirla comunque?"
+msgstr "Scena attuale non salvata. Aprire comunque?"
#: editor/editor_node.cpp
msgid "Can't reload a scene that was never saved."
@@ -2363,7 +2330,7 @@ msgstr "Questa azione non può essere annullata. Ripristinare comunque?"
#: editor/editor_node.cpp
msgid "Quick Run Scene..."
-msgstr "Esegui scena rapidamente..."
+msgstr "Esegui scena rapidamente…"
#: editor/editor_node.cpp
msgid "Quit"
@@ -2375,7 +2342,7 @@ msgstr "Uscire dall'editor?"
#: editor/editor_node.cpp
msgid "Open Project Manager?"
-msgstr "Aprire Gestione Progetti?"
+msgstr "Aprire il gestore dei progetti?"
#: editor/editor_node.cpp
msgid "Save & Quit"
@@ -2388,7 +2355,7 @@ msgstr "Salvare le modifiche alle scene seguenti prima di uscire?"
#: editor/editor_node.cpp
msgid "Save changes the following scene(s) before opening Project Manager?"
msgstr ""
-"Salvare le modifiche alle scene seguenti prima di aprire la Gestione "
+"Salvare le modifiche alle scene seguenti prima di aprire il gestore dei "
"progetti?"
#: editor/editor_node.cpp
@@ -2396,24 +2363,24 @@ msgid ""
"This option is deprecated. Situations where refresh must be forced are now "
"considered a bug. Please report."
msgstr ""
-"Questa opzione è deprecata. Situazioni dove un refresh è obbligatorio sono "
-"ora considerate come bug. Si prega di segnalarlo."
+"Questa opzione è deprecata. Situazioni in cui si è obbligati a ricaricare "
+"sono ora considerate errori. Si prega di segnalarlo."
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
-msgstr "Scegli una Scena principale"
+msgstr "Scegli una scena principale"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
-"Non riesco ad abilitare il plugin aggiunto a: '%s' è fallita la lettura "
-"della configurazione."
+"Impossibile abilitare il componente aggiuntivo in: '%s' lettura della "
+"configurazione fallita."
#: editor/editor_node.cpp
msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
-"Impossibile trovare il campo per lo script del plugin aggiuntivo in: 'res://"
-"addons/%s'."
+"Impossibile trovare il campo per lo script del componente aggiuntivo in: "
+"'res://addons/%s'."
#: editor/editor_node.cpp
msgid "Unable to load addon script from path: '%s'."
@@ -2447,15 +2414,15 @@ msgid ""
msgstr ""
"La scena '%s' è stata automaticamente importata, pertanto non può essere "
"modificata.\n"
-"Per modificarla, puoi essere creata una nuova scena ereditata."
+"Per modificarla, può essere creata una nuova scena ereditata."
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
"open the scene, then save it inside the project path."
msgstr ""
-"Errore di caricamento scena, deve essere all'interno del percorso del "
-"progetto. Usare 'Importa' per aprire la scena, salvarla poi nel percorso del "
+"Errore di caricamento della scena, deve essere all'interno del percorso del "
+"progetto. Usare 'Importa' per aprire la scena e salvarla nel percorso del "
"progetto."
#: editor/editor_node.cpp
@@ -2472,8 +2439,8 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"Nessuna scena principale è stata definita, selezionarne una?\n"
-"Puoi cambiarla successivamente da \"Impostazioni progetto\" sotto la "
+"Non è stata definita alcuna scena principale, selezionarne una?\n"
+"Potrai cambiarla successivamente da \"Impostazioni progetto\" sotto la "
"categoria 'applicazioni'."
#: editor/editor_node.cpp
@@ -2528,12 +2495,11 @@ msgstr "Chiudi le altre schede"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Chiudi le Schede a Destra"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Chiudi Tutto"
+msgstr "Chiudi Tutte le Schede"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2778,10 +2744,34 @@ msgid "Editor Layout"
msgstr "Layout dell'editor"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Rendi Scena Radice"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Apri cartella dati/impostazioni editor"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Apri l'Editor successivo"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Abilita/Disabilita modalità a schermo intero"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Abilita CanvasItem Visibile"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Apri cartella dati/impostazioni editor"
@@ -2889,15 +2879,18 @@ msgid "Spins when the editor window redraws."
msgstr "Gira quando la finestra dell'editor viene ridisegnata."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Aggiorna sempre"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Continuo"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Aggiorna cambiamenti"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Disabilita l'icona girevole di aggiornamento"
#: editor/editor_node.cpp
@@ -2934,10 +2927,14 @@ msgid "Manage Templates"
msgstr "Gestisci template d'esportazione"
#: editor/editor_node.cpp
+#, fuzzy
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"Questo installerà il progetto Android per builds personalizzate.\n"
+"Nota bene: per essere usato, deve essere abilitato secondo l'esportazione "
+"del preset."
#: editor/editor_node.cpp
msgid ""
@@ -3194,6 +3191,11 @@ msgid "Page: "
msgstr "Pagina: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Rimuovi Elemento"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nuova Chiave:"
@@ -3205,11 +3207,6 @@ msgstr "Nuovo Valore:"
msgid "Add Key/Value Pair"
msgstr "Aggiungi Coppia Chiave/Valore"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Rimuovi Elemento"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3438,7 +3435,6 @@ msgid "Remove Template"
msgstr "Rimuovi Template"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
msgstr "Seleziona file template"
@@ -3500,9 +3496,8 @@ msgid "No name provided."
msgstr "Nessun nome fornito."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "Il nome fornito contiene caratteri non validi"
+msgstr "Il nome fornito contiene caratteri non validi."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3531,26 +3526,23 @@ msgstr "Duplicando cartella:"
#: editor/filesystem_dock.cpp
#, fuzzy
msgid "New Inherited Scene"
-msgstr "Nuova scena ereditata..."
+msgstr "Nuova scena ereditata"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Apri scena"
+msgstr "Apri scene"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Istanza"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
msgstr "Aggiungi ai preferiti"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
-msgstr "Rimuovi dai preferiti"
+msgstr "Rimuovi dai Preferiti"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
@@ -3598,14 +3590,12 @@ msgid "Rename"
msgstr "Rinomina"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Cartella precedente"
+msgstr "Cartella/File precedente"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Cartella successiva"
+msgstr "Cartella/File successivo"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
@@ -3665,6 +3655,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Includi i file con le seguenti estensioni. Aggiungile o rimuovile nelle "
+"Impostazioni del Progetto."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3772,7 +3764,6 @@ msgid "Import as Multiple Scenes"
msgstr "Importa come Scene Multiple"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import as Multiple Scenes+Materials"
msgstr "Importa come Scene+Materiali Multipli"
@@ -4106,9 +4097,8 @@ msgid "Open Animation Node"
msgstr "Apri Nodo Animazione"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "Il triangolo è già esistente"
+msgstr "Il triangolo esiste già."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4959,10 +4949,13 @@ msgid "Presets for the anchors and margins values of a Control node."
msgstr "Preset per i valori di ancoraggio e margini di un nodo Control."
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Quando è attivo, il movimento dei nodi di Controllo cambia le loro ancore "
+"invece dei loro margini."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -4984,15 +4977,13 @@ msgstr "Strumento Seleziona"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "Elimina selezionati"
+msgstr "Sblocca selezionati"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Copia Selezione"
+msgstr "Gruppo Selezionato"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5005,9 +4996,8 @@ msgid "Paste Pose"
msgstr "Incolla Posa"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
-msgstr "Crea ossa personalizzate a partire da uno o più nodi"
+msgstr "Crea Ossa personalizzate a partire da uno o più Nodi"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -5246,16 +5236,15 @@ msgstr "Maschera di traduzione per inserimento chiavi"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation mask for inserting keys."
-msgstr ""
+msgstr "Maschera di rotazione per l'inserimento delle chiavi."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale mask for inserting keys."
-msgstr ""
+msgstr "Maschera di scala per l'inserimento delle chiavi."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Insert keys (based on mask)."
-msgstr "Inserisci Keys (Ins)"
+msgstr "Inserisci chiavi (in base alla maschera)."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5266,9 +5255,8 @@ msgid ""
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Auto Insert Key"
-msgstr "Inserisci una chiave d'animazione"
+msgstr "Inserimento Automatico Chiave"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -5362,6 +5350,14 @@ msgid "Load Emission Mask"
msgstr "Carica Maschera Emissione"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Riavvia Ora"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Cancella Maschera Emissione"
@@ -5407,14 +5403,12 @@ msgid "Create Emission Points From Node"
msgstr "Crea Punti Emissione Da Nodo"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "Flat0"
+msgstr "Flat 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "Flat1"
+msgstr "Flat 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5456,7 +5450,6 @@ msgid "Left Linear"
msgstr "Lineare sinistra"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
msgstr "Lineare destra"
@@ -5518,18 +5511,16 @@ msgid "This doesn't work on scene root!"
msgstr "Questo non funziona sulla root della scena!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "Crea Forma Trimesh"
+msgstr "Crea Forma Statica Trimesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Errore nella creazione delle forme!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Crea Forma Convessa"
+msgstr "Crea una o più forme Convesse"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -6092,7 +6083,6 @@ msgid "Paint weights with specified intensity."
msgstr "Colora i pesi con le intensità specificate."
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Unpaint weights with specified intensity."
msgstr "Rimuovi i pesi con le intensità specificate."
@@ -6279,9 +6269,8 @@ msgid "Save Theme As..."
msgstr "Salva Tema Come..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "%s Class Reference"
-msgstr " Riferimento di Classe"
+msgstr "%s Riferimento di Classe"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -6289,10 +6278,20 @@ msgid "Find Next"
msgstr "Trova Successivo"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtra proprietà"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Ordina in ordine alfabetico la lista dei metodi."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Modalità di filtro:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordina"
@@ -6403,7 +6402,6 @@ msgid "Debug with External Editor"
msgstr "Debug con Editor Esterno"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
msgstr "Apri la documentazione online di Godot"
@@ -6412,9 +6410,8 @@ msgid "Request Docs"
msgstr "Documentazione richiesta"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "Aiutate a migliorare la documentazione di Godot fornendo feedback"
+msgstr "Aiutate a migliorare la documentazione di Godot fornendo feedback."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6459,29 +6456,26 @@ msgid "Search Results"
msgstr "Cerca Risultati"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "Connetti al nodo:"
+msgstr "Connessioni al metodo:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Sorgente:"
+msgstr "Sorgente"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Segnali"
+msgstr "Segnale"
#: editor/plugins/script_text_editor.cpp
msgid "Target"
msgstr "Target"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "Nulla collegato all'ingresso '%s' del nodo '%s'."
+msgstr ""
+"Manca il metodo '%s' connesso per il segnale '%s' dal nodo '%s' al nodo '%s'."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6530,18 +6524,13 @@ msgstr "Evidenziatore di Sintassi"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "Segnalibri"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Taglia"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Seleziona tutti"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Elimina Linea"
@@ -6559,24 +6548,20 @@ msgid "Toggle Comment"
msgstr "Cambia a Commento"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "Abilita/Disabilita Vista libera"
+msgstr "Abilita/Disabilita Segnalibri"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Vai a Breakpoint Successivo"
+msgstr "Vai al Segnalibri Successivo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "Vai a Breakpoint Precedente"
+msgstr "Vai al Segnalibri Precedente"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "Rimuovi tutti gli elementi"
+msgstr "Rimuovi tutti i Segnalibri"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -6652,13 +6637,12 @@ msgid "Contextual Help"
msgstr "Aiuto Contestuale"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"I file seguenti sono più recenti su disco.\n"
-"Che azione deve essere intrapresa?:"
+"Questo shader è stato modificato sul disco.\n"
+"Che azione deve essere intrapresa?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -6754,11 +6738,11 @@ msgstr "Key d'Animazione Inserito."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Pitch"
-msgstr ""
+msgstr "Inclinazione"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Yaw"
-msgstr ""
+msgstr "Imbardata"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn"
@@ -7170,19 +7154,16 @@ msgid "Create Mesh2D"
msgstr "Crea Mesh 2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create Polygon2D"
-msgstr "Crea Polygon3D"
+msgstr "Crea Poligono 2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create CollisionPolygon2D"
-msgstr "Crea Poligono di Collisione"
+msgstr "Crea Poligono di Collisione 2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create LightOccluder2D"
-msgstr "Crea Poligono di occlusione"
+msgstr "Crea Occlusore di Luce 2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Sprite is empty!"
@@ -7204,34 +7185,28 @@ msgid "Convert to Mesh2D"
msgstr "Converti in Mesh 2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Invalid geometry, can't create polygon."
-msgstr "Geometria non valida, impossibile sostituirla con una mesh."
+msgstr "Geometria non valida, impossibile creare il poligono."
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Convert to Polygon2D"
-msgstr "Sposta Poligono"
+msgstr "Converti in Poligono 2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Invalid geometry, can't create collision polygon."
-msgstr "Geometria non valida, impossibile sostituirla con una mesh."
+msgstr "Geometria non valida, impossibile creare un poligono di collisione."
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create CollisionPolygon2D Sibling"
-msgstr "Crea Poligono di Collisione"
+msgstr "Crea fratello del Poligono di Collisione 2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Invalid geometry, can't create light occluder."
-msgstr "Geometria non valida, impossibile sostituirla con una mesh."
+msgstr "Geometria non valida, impossibile creare un occlusore di luce."
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create LightOccluder2D Sibling"
-msgstr "Crea Poligono di occlusione"
+msgstr "Crea fratello di Occlusore di Luce 2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Sprite"
@@ -7254,14 +7229,12 @@ msgid "Settings:"
msgstr "Impostazioni:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "Selezione Frame"
+msgstr "Nessun Frame selezionato"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Aggiungi frame"
+msgstr "Aggiungi %d frame(s)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7312,13 +7285,12 @@ msgid "Animation Frames:"
msgstr "Frame Animazione:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Aggiungi Texture al TileSet."
+msgstr "Aggiungi una Texture da File"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "Aggiungi Frames da uno Spritesheet"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
@@ -7337,29 +7309,24 @@ msgid "Move (After)"
msgstr "Sposta (Dopo)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select Frames"
-msgstr "Impila Frame"
+msgstr "Seleziona Frames"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Ribalta in orizzontale"
+msgstr "Orizzontale:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Vertici"
+msgstr "Verticale:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "Seleziona tutti"
+msgstr "Seleziona/De-Seleziona tutti i Frame"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "Crea da Scena"
+msgstr "Crea Frames da uno Spritesheet"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7431,9 +7398,8 @@ msgid "Remove All"
msgstr "Rimuovi Tutto"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "Modifica Tema…"
+msgstr "Modifica Tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7460,23 +7426,20 @@ msgid "Create From Current Editor Theme"
msgstr "Crea da Tema Editor corrente"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "Pulsante Mouse"
+msgstr "Attiva/Disattiva pulsante"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Pulsante Centrale"
+msgstr "Pulsante disabilitato"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "Elemento"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "Disabilitato"
+msgstr "Oggetto disabilitato"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7496,21 +7459,19 @@ msgstr "Elemento Radio Controllato"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "Chiamato Sep."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Sottomenù"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "Elemento"
+msgstr "Elemento 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "Elemento"
+msgstr "Elemento 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7521,9 +7482,8 @@ msgid "Many"
msgstr "Molte"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "Disabilitato"
+msgstr "Editor di Linea disabilitato"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7538,13 +7498,12 @@ msgid "Tab 3"
msgstr "Tab 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "Figlio Modificabile"
+msgstr "Elemento Modificabile"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "Sottoalbero"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7624,14 +7583,12 @@ msgid "Mirror Y"
msgstr "Specchia Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "Auto Divisione"
+msgstr "Disabilita Autotile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "Modifica Priorità Tile"
+msgstr "Abilita Priorità Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7642,6 +7599,8 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift + PDM: Traccia una linea\n"
+"Shift + Ctrl + PDM: Colora il rettangolo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7710,39 +7669,32 @@ msgid "Region Mode"
msgstr "Modalità esecuzione:"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Modalità di Interpolazione"
+msgstr "Modalità di Collisione"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "Modifica Poligono di Occlusione"
+msgstr "Modalità di occlusione"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "Crea Mesh di Navigazione"
+msgstr "Modalità di navigazione"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "Modalità Rotazione"
+msgstr "Modalità Maschera di Bit"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "Modalità d'Esportazione:"
+msgstr "Modalità prioritaria"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "Modalità di Pan"
+msgstr "Modalità Icona"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "Modalità di Pan"
+msgstr "Modalità indice Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7766,7 +7718,7 @@ msgstr "Crea un nuovo poligono."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Keep polygon inside region Rect."
-msgstr ""
+msgstr "Mantieni il poligono all'interno dell'area del rettangolo."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Enable snap and show grid (configurable via the Inspector)."
@@ -7809,11 +7761,12 @@ msgid ""
"Drag handles to edit Rect.\n"
"Click on another Tile to edit it."
msgstr ""
+"Sposta gli angoli per modificare il rettangolo.\n"
+"Clicca su un altro pezzo per modificarlo."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Delete selected Rect."
-msgstr "Cancella il ret. selezionato."
+msgstr "Cancella il rett. selezionato."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
@@ -7828,16 +7781,16 @@ msgid "Delete polygon."
msgstr "Elimina poligono."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
"Shift+LMB: Set wildcard bit.\n"
"Click on another Tile to edit it."
msgstr ""
-"Tasto Sinistro Mouse: Imposta bit on.\n"
-"Tasto Destro Mouse: Imposta bit off.\n"
-"Clicca su un'altra Tile per modificarla."
+"PSM: Imposta bit on.\n"
+"PDM: Imposta bit off.\n"
+"Shift+PSM: Imposta bit come wildcard.\n"
+"Clicca su un'altro pezzo per modificarlo."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
@@ -7950,77 +7903,64 @@ msgid "TileSet"
msgstr "TileSet"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "Aggiungi Input"
+msgstr "Aggiungi Input +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "Aggiungi Input"
+msgstr "Aggiungi ouput +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "Scala:"
+msgstr "Scalare"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "Ispettore"
+msgstr "Vettore"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Booleano"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "Aggiungi Input"
+msgstr "Aggiungi porta di Input"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "Aggiungi porta di Output"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "Cambia tipo di default"
+msgstr "Cambia tipo di porta di input"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "Cambia tipo di default"
+msgstr "Cambia tipo di porta di output"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "Cambia Nome Input"
+msgstr "Cambia Nome porta Input"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "Cambia Nome Input"
+msgstr "Cambia Nome porta Input"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "Rimuovi punto"
+msgstr "Rimuovi porta input"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "Rimuovi punto"
+msgstr "Rimuovi porta output"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "Cambia Espressione"
+msgstr "Cambia espressione"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "VisualShader"
+msgstr "Ridimensiona nodo VisualShader"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
@@ -8039,9 +7979,8 @@ msgid "Duplicate Nodes"
msgstr "Duplica Nodi"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Delete Nodes"
-msgstr "Elimina Nodo"
+msgstr "Elimina Nodi"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Visual Shader Input Type Changed"
@@ -8060,44 +7999,40 @@ msgid "Light"
msgstr "Luce"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "Crea Nodo"
+msgstr "Crea Nodo Shader"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "Vai a Funzione"
+msgstr "Colora funzione."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "Rendi funzione"
+msgstr "Funzione Grayscale."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "Converti vettore HSV nell'equivalente RGB."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "Converti vettore RGB nell'equivalente HSV."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "Rinomina Funzione"
+msgstr "Funzione seppia."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "Operatore Burn."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
-msgstr ""
+msgstr "Operatore Darken."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8159,51 +8094,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8212,203 +8103,27 @@ msgid "Input parameter."
msgstr "Snap su Genitore"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9357,14 +9072,13 @@ msgstr ""
"modificati)"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
msgstr ""
"Lingua cambiata.\n"
"L'interfaccia utente sarà aggiornata la prossima volta che l'editor o il "
-"project manager si avvia."
+"gestore dei progetti sarà avviato."
#: editor/project_manager.cpp
#, fuzzy
@@ -9375,7 +9089,7 @@ msgstr "Stai per esaminare %s cartelle per progetti Godot esistenti. Confermi?"
#: editor/project_manager.cpp
msgid "Project Manager"
-msgstr "Gestione Progetti"
+msgstr "Gestore dei progetti"
#: editor/project_manager.cpp
msgid "Project List"
@@ -10141,6 +9855,11 @@ msgid "Add Child Node"
msgstr "Aggiungi Nodo Figlio"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Comprimi Tutto"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Cambia Tipo"
@@ -10169,7 +9888,8 @@ msgid "Delete (No Confirm)"
msgstr "Elimina (Senza Conferma)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Aggiungi/Crea un Nuovo Nodo"
#: editor/scene_tree_dock.cpp
@@ -11680,6 +11400,18 @@ msgstr ""
"Questo osso ha bisogno di una corretta postura di RIPOSO. Vai al nodo "
"Skeleton2D e impostane una."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D serve a fornire una forma di collisione ad un nodo derivato "
+"di CollisionObject2D. Si prega di utilizzarlo solamente come figlio di "
+"Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, etc. in modo da dargli "
+"una forma."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11989,8 +11721,13 @@ msgid "Pick a color from the screen."
msgstr "Scegliere un colore dallo schermo."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Modalità Raw"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Imbardata"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -12003,7 +11740,7 @@ msgstr "Aggiungi il colore corrente come preset."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -12013,6 +11750,12 @@ msgstr ""
"Se non avete intenzione di aggiungere uno script, utilizzate invece un "
"semplice nodo \"Controllo\"."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Attenzione!"
@@ -12110,6 +11853,15 @@ msgstr "Varyings può essere assegnato solo nella funzione del vertice."
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Enabled Classes"
+#~ msgstr "Classi abilitate"
+
+#~ msgid "Update Always"
+#~ msgstr "Aggiorna sempre"
+
+#~ msgid "Raw Mode"
+#~ msgstr "Modalità Raw"
+
#~ msgid "Path to Node:"
#~ msgstr "Percorso per il nodo:"
@@ -12673,9 +12425,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Abilita Spatial Visibile"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Abilita CanvasItem Visibile"
-
#~ msgid "Condition"
#~ msgstr "Condizione"
@@ -13613,9 +13362,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "Immagini:"
-#~ msgid "Select None"
-#~ msgstr "Seleziona Nulla"
-
#~ msgid "Group"
#~ msgstr "Gruppo"
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index 91217afd8a..b3ac446b7f 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -22,12 +22,13 @@
# Rob Matych <robertsmatych@gmail.com>, 2018.
# Hidetsugu Takahashi <manzyun@gmail.com>, 2019.
# Wataru Onuki <watonu@magadou.com>, 2019.
+# John Smith <weblater_jp@susa.eek.jp>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-05-16 18:49+0000\n"
-"Last-Translator: Wataru Onuki <watonu@magadou.com>\n"
+"PO-Revision-Date: 2019-07-02 10:49+0000\n"
+"Last-Translator: John Smith <weblater_jp@susa.eek.jp>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
"Language: ja\n"
@@ -35,7 +36,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -94,9 +95,8 @@ msgid "Time:"
msgstr "時間:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "値"
+msgstr "値:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -180,9 +180,8 @@ msgid "Animation Playback Track"
msgstr "アニメーションå†ç”Ÿãƒˆãƒ©ãƒƒã‚¯"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation length (frames)"
-msgstr "アニメーションã®é•·ã• (ç§’)"
+msgstr "アニメーションã®é•·ã• (フレーム)"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -211,9 +210,8 @@ msgid "Anim Clips:"
msgstr "アニメーションクリップ:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Track Path"
-msgstr "é…列ã®å€¤ã‚’変更"
+msgstr "トラックパスを変更"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
@@ -240,9 +238,8 @@ msgid "Time (s): "
msgstr "時間 (秒): "
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Toggle Track Enabled"
-msgstr "有効ã«ã™ã‚‹"
+msgstr "トラックを有効ã«ã™ã‚‹"
#: editor/animation_track_editor.cpp
msgid "Continuous"
@@ -295,14 +292,12 @@ msgid "Delete Key(s)"
msgstr "キーを削除"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Update Mode"
-msgstr "アニメーションåを変更:"
+msgstr "アニメーション更新モードを変更"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Interpolation Mode"
-msgstr "補間モード"
+msgstr "アニメーション補間モードã®å¤‰æ›´"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -396,9 +391,8 @@ msgid "Not possible to add a new track without a root"
msgstr "root ãŒç„¡ã‘ã‚Œã°æ–°è¦ãƒˆãƒ©ãƒƒã‚¯ã¯è¿½åŠ ã§ãã¾ã›ã‚“"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add Bezier Track"
-msgstr "トラックを追加"
+msgstr "ベジェトラックを追加"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a key."
@@ -409,9 +403,8 @@ msgid "Track is not of type Spatial, can't insert key"
msgstr "トラック㌠spatial åž‹ã§ã¯ãªã„ãŸã‚ã€ã‚­ãƒ¼ã‚’挿入ã§ãã¾ã›ã‚“"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add Transform Track Key"
-msgstr "3Dトランスフォームトラック"
+msgstr "変æ›ãƒˆãƒ©ãƒƒã‚¯ã‚­ãƒ¼ã‚’追加"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -464,10 +457,29 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"ã“ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¯ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•れãŸã‚·ãƒ¼ãƒ³ã«å±žã—ã¦ã„ã‚‹ãŸã‚ã€ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•れãŸ"
+"トラックã¸ã®å¤‰æ›´ã¯ä¿å­˜ã•れã¾ã›ã‚“。\n"
+"\n"
+"カスタムトラックを追加ã™ã‚‹æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã«ã¯ã€ã‚·ãƒ¼ãƒ³ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆè¨­å®šã«ç§»å‹•"
+"ã—ã¦è¨­å®šã—ã¾ã™ã€‚\n"
+"[アニメーション]> [ä¿å­˜]ã‚’[ファイル]ã«å¤‰æ›´ã—ã€[アニメーション]> [カスタムト"
+"ãƒ©ãƒƒã‚¯ã‚’ä¿æŒ]を有効ã«ã—ã¦ã‹ã‚‰ã€å†åº¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆã—ã¾ã™ã€‚\n"
+"ã¾ãŸã¯ã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’別々ã®ãƒ•ァイルã«èª­ã¿è¾¼ã‚€ã‚¤ãƒ³ãƒãƒ¼ãƒˆãƒ—リセットを使用ã—"
+"ã¾ã™ã€‚"
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "警告:インãƒãƒ¼ãƒˆã—ãŸã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’編集ã—ã¦ã„ã¾ã™"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "ã™ã¹ã¦é¸æŠž"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "ãƒŽãƒ¼ãƒ‰ã‚’é¸æŠž"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -489,7 +501,7 @@ msgstr "アニメーションステップã®å€¤ã€‚"
#: editor/animation_track_editor.cpp
msgid "Seconds"
-msgstr ""
+msgstr "ç§’"
#: editor/animation_track_editor.cpp
msgid "FPS"
@@ -620,11 +632,11 @@ msgstr "オーディオクリップ:"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip Start Offset"
-msgstr ""
+msgstr "オーディオトラッククリップã®é–‹å§‹ã‚ªãƒ•セットを変更"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip End Offset"
-msgstr ""
+msgstr "オーディオトラッククリップã®çµ‚了オフセットを変更"
#: editor/array_property_edit.cpp
msgid "Resize Array"
@@ -723,14 +735,12 @@ msgid "Connect to Node:"
msgstr "ãƒŽãƒ¼ãƒ‰ã«æŽ¥ç¶š:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "ãƒ›ã‚¹ãƒˆã«æŽ¥ç¶šã§ãã¾ã›ã‚“:"
+msgstr "ã‚¹ã‚¯ãƒªãƒ—ãƒˆã«æŽ¥ç¶š:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "シグナル:"
+msgstr "シグナルã‹ã‚‰:"
#: editor/connections_dialog.cpp
#, fuzzy
@@ -774,7 +784,7 @@ msgstr "é…å»¶"
#: editor/connections_dialog.cpp
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
+msgstr "シグナルをä¿ç•™ã—ã€ã‚­ãƒ¥ãƒ¼ã«æ ¼ç´ã—ã¦ã€ã‚¢ã‚¤ãƒ‰ãƒ«æ™‚ã«ã®ã¿èµ·å‹•ã—ã¾ã™ã€‚"
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -782,7 +792,7 @@ msgstr "å˜ç™º"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "最åˆã®æ”¾å‡ºå¾Œã«ä¿¡å·ã‚’切断ã—ã¾ã™ã€‚"
#: editor/connections_dialog.cpp
#, fuzzy
@@ -1283,7 +1293,7 @@ msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "'ï¼…s' ファイルãŒã‚りã¾ã›ã‚“。"
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1346,7 +1356,7 @@ msgstr "無効ãªåå‰ã§ã™ã€‚既存ã®ã‚¨ãƒ³ã‚¸ãƒ³ã‚¯ãƒ©ã‚¹åã¨é‡è¤‡ã—ã¦
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "無効ãªåå‰ã§ã™ã€‚既存ã®çµ„è¾¼ã¿åž‹åã¨é‡è¤‡ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“。"
#: editor/editor_autoload_settings.cpp
@@ -1356,7 +1366,7 @@ msgstr "無効ãªåå‰ã§ã™ã€‚既存ã®ã‚°ãƒ­ãƒ¼ãƒãƒ«å®šæ•°åã¨é‡è¤‡ã—ã¦
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "キーワードã¯è‡ªå‹•ロードåã¨ã—ã¦ä½¿ç”¨ã§ãã¾ã›ã‚“。"
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1538,9 +1548,8 @@ msgid "Script Editor"
msgstr "スクリプトエディタを開ã"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "アセットライブラリを開ã"
+msgstr "アセットライブラリ"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1559,7 +1568,7 @@ msgstr "追加ã—ãŸã‚­ãƒ¼ã‚’移動"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "ファイルシステム"
#: editor/editor_feature_profile.cpp
@@ -1570,6 +1579,7 @@ msgstr "ã™ã¹ã¦ç½®æ›ï¼ˆã€Œå…ƒã«æˆ»ã™ã€ä¸å¯ï¼‰"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
msgstr ""
+"ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ã¯æœ‰åйãªãƒ•ァイルåã§ãªã‘れã°ãªã‚‰ãšã€ '.' ã‚’å«ã‚“ã§ã¯ã„ã‘ã¾ã›ã‚“"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1578,7 +1588,7 @@ msgstr "åŒåã®ãƒ•ァイルã¾ãŸã¯ãƒ•ォルダãŒã‚りã¾ã™ã€‚"
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(エディタ無効ã€ãƒ—ロパティ無効)"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1617,13 +1627,16 @@ msgstr "ã‚¯ãƒ©ã‚¹ã®æ¤œç´¢"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "ファイル '%s' ã®ãƒ•ォーマットãŒç„¡åйã§ã™ã€‚インãƒãƒ¼ãƒˆãŒä¸­æ­¢ã•れã¾ã—ãŸã€‚"
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"プロファイル '%s' ã¯ã™ã§ã«å­˜åœ¨ã—ã¾ã™ã€‚インãƒãƒ¼ãƒˆå‰ã«æœ€åˆã«ãƒªãƒ¢ãƒ¼ãƒˆã§å®Ÿè¡Œã™ã‚‹"
+"ã¨ã€ã‚¤ãƒ³ãƒãƒ¼ãƒˆã¯ä¸­æ­¢ã•れã¾ã™ã€‚"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1632,11 +1645,11 @@ msgstr "テンプレート %s 読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼"
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "未設定"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³:"
#: editor/editor_feature_profile.cpp
@@ -1661,16 +1674,11 @@ msgstr "エクスãƒãƒ¼ãƒˆ"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "利用å¯èƒ½ãªãƒŽãƒ¼ãƒ‰:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "ã‚¯ãƒ©ã‚¹ã®æ¤œç´¢"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "クラスã®èª¬æ˜Ž"
@@ -1863,6 +1871,8 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"ファイル%sã‚’ãƒã‚¤ãƒ³ãƒˆã—ã¦ã„ã‚‹ç•°ãªã‚‹ã‚¿ã‚¤ãƒ—ã®è¤‡æ•°ã®ã‚¤ãƒ³ãƒãƒ¼ã‚¿ãŒã‚りã¾ã™ã€‚イン"
+"ãƒãƒ¼ãƒˆã¯ä¸­æ–­ã•れã¾ã—ãŸ"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -2072,7 +2082,7 @@ msgstr "プロジェクトã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãŒã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ %d ã§å¤±æ•
#: editor/editor_node.cpp
msgid "Imported resources can't be saved."
-msgstr ""
+msgstr "インãƒãƒ¼ãƒˆã—ãŸãƒªã‚½ãƒ¼ã‚¹ã¯ä¿å­˜ã§ãã¾ã›ã‚“。"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: scene/gui/dialogs.cpp
@@ -2088,6 +2098,8 @@ msgid ""
"This resource can't be saved because it does not belong to the edited scene. "
"Make it unique first."
msgstr ""
+"ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ç·¨é›†ã—ãŸã‚·ãƒ¼ãƒ³ã«å±žã—ã¦ã„ãªã„ãŸã‚ä¿å­˜ã§ãã¾ã›ã‚“。ã¾ãšä¸€æ„ã«ã—ã¾"
+"ã™ã€‚"
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Save Resource As..."
@@ -2510,7 +2522,7 @@ msgstr "ä»–ã®ã‚¿ãƒ–ã‚’é–‰ã˜ã‚‹"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "タブをå³ã«é–‰ã˜ã‚‹"
#: editor/editor_node.cpp
#, fuzzy
@@ -2649,7 +2661,7 @@ msgstr "プロジェクトã®ãƒ‡ãƒ¼ã‚¿ãƒ•ォルダを開ã"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Androidビルドテンプレートã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2759,10 +2771,34 @@ msgid "Editor Layout"
msgstr "エディタレイアウト"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "シーンをルートã«ã™ã‚‹"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "エディタã®ãƒ‡ãƒ¼ã‚¿ãƒ»è¨­å®šãƒ•ォルダを開ã"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "次ã®ã‚¨ãƒ‡ã‚£ã‚¿ã‚’é–‹ã"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "フルスクリーン切り替ãˆ"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "分割モード切り替ãˆ"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "エディタã®ãƒ‡ãƒ¼ã‚¿ãƒ»è¨­å®šãƒ•ォルダを開ã"
@@ -2870,15 +2906,18 @@ msgid "Spins when the editor window redraws."
msgstr "エディタ ウィンドウã®å†æç”»æ™‚ã«ã‚¹ãƒ”ンã—ã¾ã™ã€‚"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "å¸¸ã«æ›´æ–°"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "継続的"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "å¤‰æ›´æ™‚ã«æ›´æ–°"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "アップデートスピナーを無効化"
#: editor/editor_node.cpp
@@ -2908,6 +2947,8 @@ msgstr "ä¿å­˜ã—ãªã„"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
msgstr ""
+"AndroidビルドテンプレートãŒã‚りã¾ã›ã‚“。関連ã™ã‚‹ãƒ†ãƒ³ãƒ—レートをインストールã—ã¦"
+"ãã ã•ã„。"
#: editor/editor_node.cpp
#, fuzzy
@@ -2919,6 +2960,8 @@ msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"ã“れã«ã‚ˆã‚Šã€ã‚«ã‚¹ã‚¿ãƒ ãƒ“ルド用ã®AndroidプロジェクトãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã™ã€‚\n"
+"使用ã™ã‚‹ã«ã¯ã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ—リセットã”ã¨ã«æœ‰åйã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: editor/editor_node.cpp
msgid ""
@@ -2926,6 +2969,8 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"Androidビルドテンプレートã¯ã™ã§ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ãŠã‚Šã€ä¸Šæ›¸ãã•れã¾ã›ã‚“。\n"
+"ã“ã®æ“作をå†è©¦è¡Œã™ã‚‹å‰ã«ã€ \"build\"ディレクトリを手動ã§å‰Šé™¤ã—ã¦ãã ã•ã„。"
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3116,6 +3161,10 @@ msgid ""
"Please switch on the 'local to scene' property on it (and all resources "
"containing it up to a node)."
msgstr ""
+"ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã‚·ãƒ¼ãƒ³ã«å¯¾ã—ã¦ãƒ­ãƒ¼ã‚«ãƒ«ã«è¨­å®šã•れã¦ã„ãªã„ãŸã‚ã€ViewportTextureã‚’"
+"作æˆã§ãã¾ã›ã‚“。\n"
+"'シーンã«ãƒ­ãƒ¼ã‚«ãƒ« 'プロパティをオンã«ã—ã¦ãã ã•ã„(ノードã¾ã§ã‚’å«ã‚€ã™ã¹ã¦ã®ãƒª"
+"ソース)。"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Pick a Viewport"
@@ -3171,6 +3220,11 @@ msgid "Page: "
msgstr "ページ: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "アイテムを除去"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "æ–°è¦ã‚­ãƒ¼:"
@@ -3182,11 +3236,6 @@ msgstr "æ–°è¦ã®å€¤:"
msgid "Add Key/Value Pair"
msgstr "キー・値ã®ãƒšã‚¢ã‚’追加"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "アイテムを除去"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3642,6 +3691,7 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"æ¬¡ã®æ‹¡å¼µå­ã‚’æŒã¤ãƒ•ァイルをå«ã‚ã¾ã™ã€‚ProjectSettingsã§è¿½åŠ ã¾ãŸã¯å‰Šé™¤ã—ã¾ã™ã€‚"
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3826,6 +3876,8 @@ msgstr "インãƒãƒ¼ãƒˆã—ãŸãƒ•ァイルã®ã‚¿ã‚¤ãƒ—ã®å¤‰æ›´ã«ã¯ã‚¨ãƒ‡ã‚£ã‚¿
msgid ""
"WARNING: Assets exist that use this resource, they may stop loading properly."
msgstr ""
+"警告:ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’使用ã™ã‚‹ã‚¢ã‚»ãƒƒãƒˆãŒå­˜åœ¨ã™ã‚‹ãŸã‚ã€æ­£ã—ãロードã•れãªã„å¯èƒ½æ€§"
+"ãŒã‚りã¾ã™ã€‚"
#: editor/inspector_dock.cpp
msgid "Failed to load resource."
@@ -4042,7 +4094,7 @@ msgstr "パスã®ãƒã‚¤ãƒ³ãƒˆã‚’除去"
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Move BlendSpace1D Node Point"
-msgstr ""
+msgstr "BlendSpace1Dノードãƒã‚¤ãƒ³ãƒˆã‚’移動"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4490,7 +4542,7 @@ msgstr "終りã«"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Travel"
-msgstr ""
+msgstr "トラベル"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Start and end nodes are needed for a sub-transition."
@@ -4512,7 +4564,7 @@ msgstr "トランジション ノード"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Set Start Node (Autoplay)"
-msgstr ""
+msgstr "開始ノードã®è¨­å®š(自動å†ç”Ÿ)"
#: editor/plugins/animation_state_machine_editor.cpp
msgid ""
@@ -4945,16 +4997,19 @@ msgid ""
"Children of containers have their anchors and margins values overridden by "
"their parent."
msgstr ""
+"コンテナã®å­ã¯ã€ã‚¢ãƒ³ã‚«ãƒ¼ã¨ãƒžãƒ¼ã‚¸ãƒ³ã®å€¤ãŒè¦ªã«ã‚ˆã£ã¦ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã¾ã™ã€‚"
#: 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
msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"オンã®å ´åˆã€ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ãƒŽãƒ¼ãƒ‰ã‚’移動ã™ã‚‹ã¨ã€ãƒžãƒ¼ã‚¸ãƒ³ã®ä»£ã‚りã«ã‚¢ãƒ³ã‚«ãƒ¼ãŒå¤‰æ›´"
+"ã•れã¾ã™ã€‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -5018,7 +5073,7 @@ msgstr "IKãƒã‚§ãƒ¼ãƒ³ã‚’クリア"
msgid ""
"Warning: Children of a container get their position and size determined only "
"by their parent."
-msgstr ""
+msgstr "警告:コンテナã®å­ã®ä½ç½®ã¨ã‚µã‚¤ã‚ºã¯ã€è¦ªã«ã‚ˆã£ã¦ã®ã¿æ±ºå®šã•れã¾ã™ã€‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
@@ -5178,7 +5233,7 @@ msgstr "ボーンを表示ã™ã‚‹"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make Custom Bone(s) from Node(s)"
-msgstr ""
+msgstr "ノードã‹ã‚‰ã‚«ã‚¹ã‚¿ãƒ ãƒœãƒ¼ãƒ³ã‚’作æˆ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Clear Custom Bones"
@@ -5216,7 +5271,7 @@ msgstr "ビューãƒãƒ¼ãƒˆã‚’表示"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Group And Lock Icons"
-msgstr ""
+msgstr "グループアイコンã¨ãƒ­ãƒƒã‚¯ã‚¢ã‚¤ã‚³ãƒ³ã‚’表示"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -5230,19 +5285,19 @@ msgstr "é¸æŠžå¯¾è±¡ã‚’ãƒ•ãƒ¬ãƒ¼ãƒ ã®ä¸­å¤®ã«"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
-msgstr ""
+msgstr "キャンãƒã‚¹ã‚¹ã‚±ãƒ¼ãƒ«ã®ãƒ—レビュー"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
-msgstr ""
+msgstr "キーを挿入ã™ã‚‹ãŸã‚ã®å¤‰æ›ãƒžã‚¹ã‚¯ã€‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation mask for inserting keys."
-msgstr ""
+msgstr "キーを挿入ã™ã‚‹ãŸã‚ã®å›žè»¢ãƒžã‚¹ã‚¯ã€‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale mask for inserting keys."
-msgstr ""
+msgstr "キーを挿入ã™ã‚‹ãŸã‚ã®ã‚¹ã‚±ãƒ¼ãƒ«ãƒžã‚¹ã‚¯ã€‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -5256,6 +5311,10 @@ msgid ""
"Keys are only added to existing tracks, no new tracks will be created.\n"
"Keys must be inserted manually for the first time."
msgstr ""
+"スケール時ã«ã‚ªãƒ–ジェクトを移動ã€å›žè»¢ã™ã‚‹ã¨ã€è‡ªå‹•çš„ã«ã‚­ãƒ¼ãŒæŒ¿å…¥ã•れã¾ã™(マスク"
+"ã«åŸºã¥ã)。\n"
+"ã‚­ãƒ¼ã¯æ—¢å­˜ã®ãƒˆãƒ©ãƒƒã‚¯ã«ã®ã¿è¿½åŠ ã•ã‚Œã€æ–°ã—ã„トラックã¯ä½œæˆã•れã¾ã›ã‚“。\n"
+"åˆã‚ã¦ã‚­ãƒ¼ã‚’æ‰‹å‹•ã§æŒ¿å…¥ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -5358,6 +5417,14 @@ msgid "Load Emission Mask"
msgstr "発光(Emission)マスクを読ã¿è¾¼ã‚€"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "今ã™ãå†èµ·å‹•"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
#, fuzzy
msgid "Clear Emission Mask"
@@ -5482,7 +5549,7 @@ msgstr "グローãƒãƒ«ã‚¤ãƒ«ãƒŸãƒãƒ¼ã‚·ãƒ§ãƒ³ã®äº‹å‰è¨ˆç®—"
#: editor/plugins/gradient_editor_plugin.cpp
msgid "Gradient Edited"
-msgstr ""
+msgstr "グラデーション編集"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -5525,7 +5592,7 @@ msgstr "三角形メッシュ ã®ã‚·ã‚§ã‚¤ãƒ—を生æˆ"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "図形ã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
#, fuzzy
@@ -5935,12 +6002,12 @@ msgstr "オプション"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Mirror Handle Angles"
-msgstr ""
+msgstr "ミラーãƒãƒ³ãƒ‰ãƒ«è§’度"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Mirror Handle Lengths"
-msgstr ""
+msgstr "ミラーãƒãƒ³ãƒ‰ãƒ«ã®é•·ã•"
#: editor/plugins/path_editor_plugin.cpp
msgid "Curve Point #"
@@ -5990,7 +6057,7 @@ msgstr "ジョイントを移動"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid ""
"The skeleton property of the Polygon2D does not point to a Skeleton2D node"
-msgstr ""
+msgstr "Polygon2Dã®skeletonプロパティãŒSkeleton2Dノードを指ã—ã¦ã„ã¾ã›ã‚“"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Sync Bones"
@@ -6012,7 +6079,7 @@ msgstr "UVマップを生æˆ"
msgid ""
"Polygon 2D has internal vertices, so it can no longer be edited in the "
"viewport."
-msgstr ""
+msgstr "ãƒãƒªã‚´ãƒ³2Dã«ã¯å†…部頂点ãŒã‚ã‚‹ãŸã‚ã€ãƒ“ューãƒãƒ¼ãƒˆã§ç·¨é›†ã§ãã¾ã›ã‚“。"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create Polygon & UV"
@@ -6049,7 +6116,7 @@ msgstr "トランスフォーム"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Paint Bone Weights"
-msgstr ""
+msgstr "ボーンウェイトをペイント"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Open Polygon 2D UV editor."
@@ -6119,11 +6186,11 @@ msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Paint weights with specified intensity."
-msgstr ""
+msgstr "指定ã—ãŸå¼·åº¦ã§ã‚¦ã‚§ã‚¤ãƒˆã‚’ペイントã—ã¾ã™ã€‚"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Unpaint weights with specified intensity."
-msgstr ""
+msgstr "指定ã—ãŸå¼·åº¦ã§ã‚¦ã‚§ã‚¤ãƒˆã®ãƒšã‚¤ãƒ³ãƒˆã‚’解除ã—ã¾ã™ã€‚"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Radius:"
@@ -6239,7 +6306,7 @@ msgstr "リソースã®ãƒ‘ス"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr ""
+msgstr "AnimationTreeã«ã¯AnimationPlayerã¸ã®ãƒ‘スãŒè¨­å®šã•れã¦ã„ã¾ã›ã‚“"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "Path to AnimationPlayer is invalid"
@@ -6330,10 +6397,20 @@ msgid "Find Next"
msgstr "次を検索"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "フィルタプロパティ"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "メソッドリストã®ã‚¢ãƒ«ãƒ•ァベット順ソートを切り替ãˆã‚‹ã€‚"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "フィルターモード:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "ソート"
@@ -6450,11 +6527,12 @@ msgstr "Godotã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³æ–‡æ›¸ã‚’é–‹ã"
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
-msgstr ""
+msgstr "ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’è¦æ±‚"
#: editor/plugins/script_editor_plugin.cpp
msgid "Help improve the Godot documentation by giving feedback."
msgstr ""
+"フィードãƒãƒƒã‚¯ã‚’æä¾›ã—ã¦ã€Godotã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æ”¹å–„ã«å½¹ç«‹ã¦ã¦ãã ã•ã„。"
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6573,18 +6651,13 @@ msgstr "シンタックスãƒã‚¤ãƒ©ã‚¤ãƒˆ"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "ブックマーク"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "切りå–り"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "ã™ã¹ã¦é¸æŠž"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "行を削除"
@@ -6719,7 +6792,7 @@ msgstr "メッシュã‹ã‚‰æ”¾å‡ºç‚¹ã‚’生æˆ"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Set Rest Pose to Bones"
-msgstr ""
+msgstr "ボーンã¸ãƒ¬ã‚¹ãƒˆãƒ»ãƒãƒ¼ã‚ºã‚’設定ã™ã‚‹"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
#, fuzzy
@@ -6728,11 +6801,11 @@ msgstr "スケルトン..."
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Make Rest Pose (From Bones)"
-msgstr ""
+msgstr "レスト・ãƒãƒ¼ã‚ºã®ä½œæˆ(ボーンã‹ã‚‰)"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Set Bones to Rest Pose"
-msgstr ""
+msgstr "レスト・ãƒãƒ¼ã‚ºã¸ãƒœãƒ¼ãƒ³ã‚’設定ã™ã‚‹"
#: editor/plugins/skeleton_editor_plugin.cpp
#, fuzzy
@@ -6985,6 +7058,8 @@ msgid ""
"Note: The FPS value displayed is the editor's framerate.\n"
"It cannot be used as a reliable indication of in-game performance."
msgstr ""
+"注æ„:表示ã•れるFPS値ã¯ã€ã‚¨ãƒ‡ã‚£ã‚¿ã®ãƒ•レームレートã§ã™ã€‚\n"
+"ゲーム内ã®ãƒ‘フォーマンスを確実ã«ç¤ºã™ã‚‚ã®ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
@@ -7193,7 +7268,7 @@ msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Change"
-msgstr ""
+msgstr "変æ›ã®å¤‰æ›´"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
@@ -7211,15 +7286,15 @@ msgstr "縮尺(比):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Type"
-msgstr ""
+msgstr "変æ›ã‚¿ã‚¤ãƒ—"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Pre"
-msgstr ""
+msgstr "å‰"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Post"
-msgstr ""
+msgstr "後"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Nameless gizmo"
@@ -7252,11 +7327,11 @@ msgstr "ä¿å­˜ã™ã‚‹ãƒ‘スãŒã‚りã¾ã›ã‚“!"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Can't convert a sprite using animation frames to mesh."
-msgstr ""
+msgstr "アニメーションフレームを使用ã—ã¦ã‚¹ãƒ—ライトをメッシュã«å¤‰æ›ã§ãã¾ã›ã‚“。"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't replace by mesh."
-msgstr ""
+msgstr "ジオメトリãŒç„¡åйã§ã™ã€‚メッシュã«ç½®ãæ›ãˆã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
@@ -7265,7 +7340,7 @@ msgstr "2Dメッシュã«å¤‰æ›"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
-msgstr ""
+msgstr "ジオメトリãŒç„¡åйã§ã™ã€‚ãƒãƒªã‚´ãƒ³ã‚’作æˆã§ãã¾ã›ã‚“。"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
@@ -7274,7 +7349,7 @@ msgstr "ãƒãƒªã‚´ãƒ³ã‚’移動"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create collision polygon."
-msgstr ""
+msgstr "ジオメトリãŒç„¡åйã§ã™ã€‚è¡çªãƒãƒªã‚´ãƒ³ã‚’作æˆã§ãã¾ã›ã‚“。"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
@@ -7283,7 +7358,7 @@ msgstr "コリジョン ãƒãƒªã‚´ãƒ³ã‚’生æˆ"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create light occluder."
-msgstr ""
+msgstr "ジオメトリãŒç„¡åйã§ã™ã€‚ライトオクールダーを作æˆã§ãã¾ã›ã‚“。"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
@@ -7296,7 +7371,7 @@ msgstr "スプライト"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Simplification: "
-msgstr ""
+msgstr "簡略化:"
#: editor/plugins/sprite_editor_plugin.cpp
#, fuzzy
@@ -7378,7 +7453,7 @@ msgstr "シーンã‹ã‚‰ã®ãƒŽãƒ¼ãƒ‰"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "スプライトシートã‹ã‚‰ãƒ•レームを追加ã™ã‚‹"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
@@ -7405,7 +7480,7 @@ msgstr "スタックフレーム"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Horizontal:"
-msgstr ""
+msgstr "æ°´å¹³:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
@@ -7569,7 +7644,7 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "サブメニュー"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -7613,7 +7688,7 @@ msgstr "編集å¯èƒ½ãªå­"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "サブツリー"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -7672,7 +7747,7 @@ msgstr "等速"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rectangle Paint"
-msgstr ""
+msgstr "矩形ペイント"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Bucket Fill"
@@ -7694,11 +7769,11 @@ msgstr "転置"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Mirror X"
-msgstr ""
+msgstr "ミラーX"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Mirror Y"
-msgstr ""
+msgstr "ミラーY"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -7719,6 +7794,8 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift+å³ãƒžã‚¦ã‚¹ãƒœã‚¿ãƒ³:ç·šã®æç”»\n"
+"Shift+Ctrl+å³ãƒžã‚¦ã‚¹ãƒœã‚¿ãƒ³:矩形ペイント"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7736,11 +7813,11 @@ msgstr "å³ã«ç§»å‹•"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Flip Horizontally"
-msgstr ""
+msgstr "å·¦å³å転"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Flip Vertically"
-msgstr ""
+msgstr "上下å転"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -7772,7 +7849,7 @@ msgstr "次ã®åºŠé¢"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Select the next shape, subtile, or Tile."
-msgstr ""
+msgstr "次ã®ã‚·ã‚§ã‚¤ãƒ—ã€ã‚µãƒ–タイルã€ã¾ãŸã¯ã‚¿ã‚¤ãƒ«ã‚’é¸æŠžã—ã¾ã™ã€‚"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -7781,7 +7858,7 @@ msgstr "å‰ã®åºŠé¢"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Select the previous shape, subtile, or Tile."
-msgstr ""
+msgstr "å‰ã®ã‚·ã‚§ã‚¤ãƒ—ã€ã‚µãƒ–タイルã€ã¾ãŸã¯ã‚¿ã‚¤ãƒ«ã‚’é¸æŠžã—ã¾ã™ã€‚"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -7825,7 +7902,7 @@ msgstr "パンモード"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
-msgstr ""
+msgstr "ビットマスクをコピー。"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Paste bitmask."
@@ -7870,6 +7947,7 @@ msgstr "除去ã™ã‚‹ãƒ†ã‚¯ã‚¹ãƒãƒ£ãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create from scene? This will overwrite all current tiles."
msgstr ""
+"シーンã‹ã‚‰ä½œæˆã—ã¾ã™ã‹?ã“れã«ã‚ˆã‚Šã€ç¾åœ¨ã®ã™ã¹ã¦ã®ã‚¿ã‚¤ãƒ«ãŒä¸Šæ›¸ãã•れã¾ã™ã€‚"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -7922,12 +8000,17 @@ msgid ""
"bindings.\n"
"Click on another Tile to edit it."
msgstr ""
+"アイコンã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã‚µãƒ–ã‚¿ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„。ã“れã¯ç„¡åйãªè‡ªå‹•タイルãƒ"
+"インドã«ã‚‚使用ã•れã¾ã™ã€‚\n"
+"別ã®ã‚¿ã‚¤ãƒ«ã‚’クリックã—ã¦ç·¨é›†ã—ã¾ã™ã€‚"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"Select sub-tile to change its priority.\n"
"Click on another Tile to edit it."
msgstr ""
+"優先度を変更ã™ã‚‹ã‚µãƒ–ã‚¿ã‚¤ãƒ«ã‚’é¸æŠžã—ã¾ã™ã€‚\n"
+"別ã®ã‚¿ã‚¤ãƒ«ã‚’クリックã—ã¦ç·¨é›†ã—ã¾ã™ã€‚"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -8007,7 +8090,7 @@ msgstr "タイル プロパティを編集"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Edit Tile Z Index"
-msgstr ""
+msgstr "タイルã®Zインデックスを編集"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create Collision Polygon"
@@ -8048,7 +8131,7 @@ msgstr "インスペクタ"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "ブール"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8057,7 +8140,7 @@ msgstr "入力を追加"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "出力ãƒãƒ¼ãƒˆã‚’追加"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8125,7 +8208,7 @@ msgstr "ノードを削除"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Visual Shader Input Type Changed"
-msgstr ""
+msgstr "ビジュアルシェーダã®å…¥åŠ›ã‚¿ã‚¤ãƒ—ãŒå¤‰æ›´ã•れã¾ã—ãŸ"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Vertex"
@@ -8162,11 +8245,11 @@ msgstr "関数を作æˆ"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "HSVベクトルをRGBベクトルã«å¤‰æ›ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "RGBベクトルをHSVベクトルã«å¤‰æ›ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8225,11 +8308,14 @@ msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
msgstr ""
+"指定ã•れãŸã‚¹ã‚«ãƒ©ãƒ¼ãŒç­‰ã—ã„ã‹ã€ã‚ˆã‚Šå¤§ãã„ã‹ã€ã¾ãŸã¯ã‚ˆã‚Šå°ã•ã„å ´åˆã€é–¢é€£ä»˜ã‘ら"
+"れãŸãƒ™ã‚¯ãƒˆãƒ«ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
msgstr ""
+"指定ã•れãŸãƒ–ール値ãŒtrueã¾ãŸã¯falseã®å ´åˆã€é–¢é€£ä»˜ã‘られãŸãƒ™ã‚¯ãƒˆãƒ«ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8241,51 +8327,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8294,203 +8336,27 @@ msgid "Input parameter."
msgstr "親ã«ã‚¹ãƒŠãƒƒãƒ—"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8537,145 +8403,145 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "パラメータã®çµ¶å¯¾å€¤ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "パラメータã®é€†ã‚³ã‚µã‚¤ãƒ³ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(GLES3ã®ã¿)パラメータã®åŒæ›²ç·šé€†ã‚³ã‚µã‚¤ãƒ³ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "パラメータã®é€†ã‚µã‚¤ãƒ³ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(GLES3ã®ã¿)パラメータã®åŒæ›²ç·šé€†ã‚µã‚¤ãƒ³ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "パラメータã®é€†ã‚¿ãƒ³ã‚¸ã‚§ãƒ³ãƒˆã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "複数パラメータã®é€†ã‚¿ãƒ³ã‚¸ã‚§ãƒ³ãƒˆã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(GLES3ã®ã¿)パラメータã®åŒæ›²ç·šé€†ã‚¿ãƒ³ã‚¸ã‚§ãƒ³ãƒˆã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
+msgstr "ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ä»¥ä¸Šã®æœ€ã‚‚è¿‘ã„æ•´æ•°ã‚’検索ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "値をã•らã«2ã¤ã®å€¤ã®é–“ã«ã‚るよã†ã«åˆ¶ç´„ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "パラメータã®ã‚³ã‚µã‚¤ãƒ³ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(GLES3ã®ã¿)パラメータã®åŒæ›²ç·šã‚³ã‚µã‚¤ãƒ³ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "ラジアンå˜ä½ã®æ•°é‡ã‚’度ã«å¤‰æ›ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "ベースe指数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "2を底ã¨ã™ã‚‹æŒ‡æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
+msgstr "ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ä»¥ä¸‹ã®æœ€ã‚‚è¿‘ã„æ•´æ•°ã‚’検索ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
-msgstr ""
+msgstr "引数ã®å°æ•°éƒ¨ã‚’計算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "パラメータã®å¹³æ–¹æ ¹ã®é€†æ•°ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
-msgstr ""
+msgstr "自然対数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "2を底ã¨ã™ã‚‹å¯¾æ•°ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
-msgstr ""
+msgstr "2ã¤ã®å€¤ã®ã†ã¡å¤§ãã„æ–¹ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the lesser of two values."
-msgstr ""
+msgstr "2ã¤ã®å€¤ã®ã†ã¡å°ã•ã„æ–¹ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
-msgstr ""
+msgstr "2ã¤ã®ã‚¹ã‚«ãƒ©é–“ã®ãƒªãƒ‹ã‚¢è£œé–“。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the opposite value of the parameter."
-msgstr ""
+msgstr "パラメータã®å対ã®å€¤ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - scalar"
-msgstr ""
+msgstr "1.0 - スカラー"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
+msgstr "最åˆã®ãƒ‘ラメータã®å€¤ã‚’2ã®ã¹ãä¹—ã§è¿”ã—ãŸå€¤ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in degrees to radians."
-msgstr ""
+msgstr "度å˜ä½ã®é‡ã‚’ラジアンã«å¤‰æ›ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / scalar"
-msgstr ""
+msgstr "1.0 / スカラー"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest integer to the parameter."
-msgstr ""
+msgstr "(GLES3ã®ã¿)ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã«æœ€ã‚‚è¿‘ã„æ•´æ•°ã‚’検索ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest even integer to the parameter."
-msgstr ""
+msgstr "(GLES3ã®ã¿)ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã«æœ€ã‚‚è¿‘ã„å¶æ•°ã®æ•´æ•°ã‚’検索ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
+msgstr "値を0.0ã‹ã‚‰1.0ã®é–“ã«å›ºå®šã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Extracts the sign of the parameter."
-msgstr ""
+msgstr "パラメータã®ç¬¦å·ã‚’抽出ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the sine of the parameter."
-msgstr ""
+msgstr "パラメータã®ç¬¦å·ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(GLES3ã®ã¿)パラメータã®åŒæ›²ã‚µã‚¤ãƒ³ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the square root of the parameter."
-msgstr ""
+msgstr "パラメータã®å¹³æ–¹æ ¹ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8685,6 +8551,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep関数(scalar(エッジ0)ã€scalar(エッジ1)ã€scalar (x))。\n"
+"\n"
+"'x' ㌠'edge0' よりå°ã•ã„å ´åˆã¯0.0ã‚’è¿”ã—ã€x㌠'edge1' より大ãã„å ´åˆã¯1.0ã‚’è¿”"
+"ã—ã¾ã™ã€‚ãれ以外ã®å ´åˆã€æˆ»ã‚Šå€¤ã¯ã‚¨ãƒ«ãƒŸãƒ¼ãƒˆå¤šé …å¼ã‚’使用ã—ã¦0.0ã¨1.0ã®é–“ã§è£œé–“"
+"ã•れã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8692,38 +8563,41 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Step関数( scalar(edge)ã€scalar(x))。\n"
+"\n"
+"'x' ㌠'edge' よりå°ã•ã„å ´åˆã¯0.0ã‚’è¿”ã—ã€ãれ以外ã®å ´åˆã¯1.0ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
-msgstr ""
+msgstr "パラメータã®ã‚¿ãƒ³ã‚¸ã‚§ãƒ³ãƒˆã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(GLES3ã®ã¿)パラメータã®åŒæ›²ã‚¿ãƒ³ã‚¸ã‚§ãƒ³ãƒˆã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the truncated value of the parameter."
-msgstr ""
+msgstr "(GLES3ã®ã¿)パラメータã®ãƒˆãƒ©ãƒ³ã‚±ãƒ¼ãƒˆã•れãŸå€¤ã‚’検索ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds scalar to scalar."
-msgstr ""
+msgstr "スカラーã«ã‚¹ã‚«ãƒ©ãƒ¼ã‚’追加ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides scalar by scalar."
-msgstr ""
+msgstr "スカラーをスカラーã§é™¤ç®—ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies scalar by scalar."
-msgstr ""
+msgstr "スカラーをスカラーã§ä¹—ç®—ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two scalars."
-msgstr ""
+msgstr "2ã¤ã®ã‚¹ã‚«ãƒ©ãƒ¼ã®æ®‹ã‚Šã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts scalar from scalar."
-msgstr ""
+msgstr "スカラーã‹ã‚‰ã‚¹ã‚«ãƒ©ãƒ¼ã‚’減算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8737,11 +8611,11 @@ msgstr "スカラUniformを変更"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
-msgstr ""
+msgstr "立体テクスãƒãƒ£ãƒ»ãƒ«ãƒƒã‚¯ã‚¢ãƒƒãƒ—を実行ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the texture lookup."
-msgstr ""
+msgstr "テクスãƒãƒ£ãƒ»ãƒ«ãƒƒã‚¯ã‚¢ãƒƒãƒ—を実行ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8768,34 +8642,40 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
+"(GLES3ã®ã¿)ベクトルã®ãƒšã‚¢ã®å¤–ç©ã‚’計算ã—ã¾ã™ã€‚\n"
+"\n"
+"OuterProductã¯ã€æœ€åˆã®ãƒ‘ラメータ 'c' を列ベクトル(1列ã®è¡Œåˆ—)ã¨ã—ã¦ã€2番目ã®ãƒ‘"
+"ラメータ 'r' を行ベクトル(1行ã®è¡Œåˆ—)ã¨ã—ã¦å‡¦ç†ã—ã€ç·šå½¢ä»£æ•°è¡Œåˆ—ä¹—ç®— 'c * r' ã‚’"
+"実行ã—ã¦ã€è¡Œã®æ•°ãŒ 'c' ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®æ•°ã§ã€åˆ—ã®æ•°ãŒ 'r' ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ"
+"ã®æ•°ã§ã‚る行列を生æˆã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr ""
+msgstr "4ã¤ã®ãƒ™ã‚¯ãƒˆãƒ«ã‹ã‚‰å¤‰æ›ã‚’作æˆã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
-msgstr ""
+msgstr "変æ›ã‚’4ã¤ã®ãƒ™ã‚¯ãƒˆãƒ«ã«åˆ†è§£ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the determinant of a transform."
-msgstr ""
+msgstr "(GLES3ã®ã¿)変æ›ã®è¡Œåˆ—å¼ã‚’計算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the inverse of a transform."
-msgstr ""
+msgstr "(GLES3ã®ã¿)変æ›ã®é€†é–¢æ•°ã‚’計算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the transpose of a transform."
-msgstr ""
+msgstr "(GLES3ã®ã¿)変æ›ã®è»¢ç½®ã‚’計算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies transform by transform."
-msgstr ""
+msgstr "変æ›ã§å¤‰æ›ã‚’ä¹—ç®—ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by transform."
-msgstr ""
+msgstr "変æ›ã§ãƒ™ã‚¯ãƒˆãƒ«ã‚’ä¹—ç®—ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8819,23 +8699,23 @@ msgstr "ベクトル演算å­ã‚’変更"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
-msgstr ""
+msgstr "3ã¤ã®ã‚¹ã‚«ãƒ©ãƒ¼ã‹ã‚‰ãƒ™ã‚¯ãƒˆãƒ«ã‚’作æˆã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr ""
+msgstr "ベクトルã‹ã‚‰3ã¤ã®ã‚¹ã‚«ãƒ©ãƒ¼ã‚’作æˆã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
-msgstr ""
+msgstr "2ã¤ã®ãƒ™ã‚¯ãƒˆãƒ«ã®å¤–ç©ã‚’計算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the distance between two points."
-msgstr ""
+msgstr "2点間ã®è·é›¢ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr ""
+msgstr "2ã¤ã®ãƒ™ã‚¯ãƒˆãƒ«ã®å†…ç©ã‚’計算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8844,36 +8724,40 @@ msgid ""
"incident vector, and Nref, the reference vector. If the dot product of I and "
"Nref is smaller than zero the return value is N. Otherwise -N is returned."
msgstr ""
+"å‚照ベクトルã¨åŒã˜æ–¹å‘を指ã™ãƒ™ã‚¯ãƒˆãƒ«ã‚’è¿”ã—ã¾ã™ã€‚ ã“ã®é–¢æ•°ã«ã¯3ã¤ã®ãƒ™ã‚¯ãƒˆãƒ«ãƒ‘"
+"ラメータãŒã‚りã¾ã™ã€‚Nã¯é…å‘ã™ã‚‹ãƒ™ã‚¯ãƒˆãƒ«ã€Iã¯å…¥å°„ベクトルã€Nrefã¯å‚照ベクトル"
+"ã§ã™ã€‚ Iã¨Nrefã®å†…ç©ãŒ0よりå°ã•ã„å ´åˆã€æˆ»ã‚Šå€¤ã¯Nã§ã™ã€‚ãれ以外ã®å ´åˆã€-NãŒè¿”"
+"ã•れã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr ""
+msgstr "ベクトルã®é•·ã•を計算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
-msgstr ""
+msgstr "2ã¤ã®ãƒ™ã‚¯ãƒˆãƒ«é–“ã®ãƒªãƒ‹ã‚¢è£œé–“。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr ""
+msgstr "ãƒ™ã‚¯ãƒˆãƒ«ã®æ­£è¦åŒ–ç©ã‚’計算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
-msgstr ""
+msgstr "1.0 - ベクトル"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / vector"
-msgstr ""
+msgstr "1.0 / ベクトル"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns a vector that points in the direction of reflection ( a : incident "
"vector, b : normal vector )."
-msgstr ""
+msgstr "åå°„ã®æ–¹å‘(a:入射ベクトルã€b:法線ベクトル)を指ã™ãƒ™ã‚¯ãƒˆãƒ«ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns a vector that points in the direction of refraction."
-msgstr ""
+msgstr "å±ˆæŠ˜ã®æ–¹å‘を指ã™ãƒ™ã‚¯ãƒˆãƒ«ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8883,6 +8767,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep関数(vector(エッジ0)ã€vector(エッジ1)ã€vector (x))。\n"
+"\n"
+"'x' ㌠'edge0' よりå°ã•ã„å ´åˆã¯0.0ã‚’è¿”ã—ã€x㌠'edge1' より大ãã„å ´åˆã¯1.0ã‚’è¿”"
+"ã—ã¾ã™ã€‚ãれ以外ã®å ´åˆã€æˆ»ã‚Šå€¤ã¯ã‚¨ãƒ«ãƒŸãƒ¼ãƒˆå¤šé …å¼ã‚’使用ã—ã¦0.0ã¨1.0ã®é–“ã§è£œé–“"
+"ã•れã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8892,6 +8781,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep関数(scalar(エッジ0)ã€scalar(エッジ1)ã€vector (x))。\n"
+"\n"
+"'x' ㌠'edge0' よりå°ã•ã„å ´åˆã¯0.0ã‚’è¿”ã—ã€x㌠'edge1' より大ãã„å ´åˆã¯1.0ã‚’è¿”"
+"ã—ã¾ã™ã€‚ãれ以外ã®å ´åˆã€æˆ»ã‚Šå€¤ã¯ã‚¨ãƒ«ãƒŸãƒ¼ãƒˆå¤šé …å¼ã‚’使用ã—ã¦0.0ã¨1.0ã®é–“ã§è£œé–“"
+"ã•れã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8899,6 +8793,9 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Step関数( vector(edge)ã€vector(x))。\n"
+"\n"
+"'x' ㌠'edge' よりå°ã•ã„å ´åˆã¯0.0ã‚’è¿”ã—ã€ãれ以外ã®å ´åˆã¯1.0ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8906,26 +8803,29 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Step関数( scalar(edge)ã€vector(x))。\n"
+"\n"
+"'x' ㌠'edge' よりå°ã•ã„å ´åˆã¯0.0ã‚’è¿”ã—ã€ãれ以外ã®å ´åˆã¯1.0ã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
-msgstr ""
+msgstr "ベクトルã«ãƒ™ã‚¯ãƒˆãƒ«ã‚’加算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr ""
+msgstr "ベクトルã§ãƒ™ã‚¯ãƒˆãƒ«ã‚’除算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
-msgstr ""
+msgstr "ベクトルã§ãƒ™ã‚¯ãƒˆãƒ«ã‚’ä¹—ç®—ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two vectors."
-msgstr ""
+msgstr "2ã¤ã®ãƒ™ã‚¯ãƒˆãƒ«ã®æ®‹ã‚Šã‚’è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts vector from vector."
-msgstr ""
+msgstr "ベクトルã«ãƒ™ã‚¯ãƒˆãƒ«ã‚’減算ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8943,56 +8843,73 @@ msgid ""
"output ports. This is a direct injection of code into the vertex/fragment/"
"light function, do not use it to write the function declarations inside."
msgstr ""
+"カスタムã®Godotシェーダ言語å¼ã€‚カスタムã®é‡ã®å…¥å‡ºåŠ›ãƒãƒ¼ãƒˆã‚’æŒã¡ã¾ã™ã€‚ ã“れã¯"
+"vertex / fragment / light関数ã¸ã®ã‚³ãƒ¼ãƒ‰ã®ç›´æŽ¥æ³¨å…¥ã§ã™ã€‚内部ã§é–¢æ•°å®£è¨€ã‚’書ããŸ"
+"ã‚ã«ãれを使用ã—ãªã„ã§ãã ã•ã„。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
msgstr ""
+"サーフェス法線ã¨ã‚«ãƒ¡ãƒ©ã®ãƒ“ュー方å‘(関連ã™ã‚‹å…¥åŠ›ã‚’æ¸¡ã™)ã®å†…ç©ã«åŸºã¥ã„ã¦æ¸›è¡°ã‚’"
+"è¿”ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Scalar derivative function."
-msgstr ""
+msgstr "(GLES3ã®ã¿)(フラグメント/ライトモードã®ã¿)スカラー導関数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Vector derivative function."
-msgstr ""
+msgstr "(GLES3ã®ã¿)(フラグメント/ライトモードã®ã¿)ベクトル導関数。"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(GLES3ã®ã¿)(フラグメント/ライトモードã®ã¿)(ベクトル)ローカル差分を使用ã—㦠"
+"'x' ã§å¾®åˆ†ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(GLES3ã®ã¿)(フラグメント/ライトモードã®ã¿)(スカラー)ローカル差分を使用ã—㦠"
+"'x' ã§å¾®åˆ†ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(GLES3ã®ã¿)(フラグメント/ライトモードã®ã¿)(ベクトル)ローカル差分を使用ã—㦠"
+"'y' ã§å¾®åˆ†ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(GLES3ã®ã¿)(フラグメント/ライトモードã®ã¿)(スカラー)ローカル差分を使用ã—㦠"
+"'y' ã§å¾®åˆ†ã—ã¾ã™ã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(GLES3ã®ã¿)(フラグメント/ライトモードã®ã¿)(ベクトル) 'x' 㨠'y' ã®çµ¶å¯¾å°Žé–¢æ•°"
+"ã®åˆè¨ˆã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(GLES3ã®ã¿)(フラグメント/ライトモードã®ã¿)(スカラー) 'x' 㨠'y' ã®çµ¶å¯¾å°Žé–¢æ•°"
+"ã®åˆè¨ˆã€‚"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -9150,15 +9067,15 @@ msgstr "圧縮"
#: editor/project_export.cpp
msgid "Encrypted (Provide Key Below)"
-msgstr ""
+msgstr "æš—å·åŒ–(下ã«ã‚­ãƒ¼ã‚’入力)"
#: editor/project_export.cpp
msgid "Invalid Encryption Key (must be 64 characters long)"
-msgstr ""
+msgstr "ç„¡åŠ¹ãªæš—å·åŒ–キー(64文字ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™)"
#: editor/project_export.cpp
msgid "Script Encryption Key (256-bits as hex):"
-msgstr ""
+msgstr "スクリプト暗å·åŒ–キー(16進数ã§256ビット):"
#: editor/project_export.cpp
msgid "Export PCK/Zip"
@@ -9390,6 +9307,8 @@ msgid ""
"The project settings were created by a newer engine version, whose settings "
"are not compatible with this version."
msgstr ""
+"プロジェクト設定ã¯ã€ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨äº’æ›æ€§ã®ãªã„æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¨ãƒ³ã‚¸ãƒ³ã§"
+"作æˆã•れã¦ã„ã¾ã™ã€‚"
#: editor/project_manager.cpp
#, fuzzy
@@ -9407,6 +9326,8 @@ msgid ""
"Can't run project: Assets need to be imported.\n"
"Please edit the project to trigger the initial import."
msgstr ""
+"プロジェクトを実行ã§ãã¾ã›ã‚“:アセットをインãƒãƒ¼ãƒˆã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚\n"
+"プロジェクトを編集ã—ã¦åˆæœŸã‚¤ãƒ³ãƒãƒ¼ãƒˆã‚’é–‹å§‹ã—ã¦ãã ã•ã„。"
#: editor/project_manager.cpp
#, fuzzy
@@ -9451,6 +9372,8 @@ msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
msgstr ""
+"既存ã®Godotプロジェクトã®%sフォルダをスキャンã—ã¾ã™ã‹?\n"
+"ã“れã«ã¯ã—ã°ã‚‰ã時間ãŒã‹ã‹ã‚Šã¾ã™ã€‚"
#: editor/project_manager.cpp
msgid "Project Manager"
@@ -9525,6 +9448,8 @@ msgid ""
"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
msgstr ""
+"アクションåãŒç„¡åйã§ã™ã€‚空ã«ã—ãŸã‚Šã€ã€Œ/ ã€ã€ã€Œ: ã€ã€ã€Œ= ã€ã€ã€Œ\\ ã€ã‚’å«ã‚ã‚‹ã“"
+"ã¨ã¯ã§ãã¾ã›ã‚“"
#: editor/project_settings_editor.cpp
#, fuzzy
@@ -9684,7 +9609,7 @@ msgstr "プロパティ:"
#: editor/project_settings_editor.cpp
msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr ""
+msgstr "設定 'ï¼…s'ã¯å†…部的ãªã‚‚ã®ã§ã‚りã€å‰Šé™¤ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
#: editor/project_settings_editor.cpp
msgid "Delete Item"
@@ -9713,7 +9638,7 @@ msgstr "設定ã®ä¿å­˜ã«æˆåŠŸã—ã¾ã—ãŸ."
#: editor/project_settings_editor.cpp
msgid "Override for Feature"
-msgstr ""
+msgstr "機能ã®ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰"
#: editor/project_settings_editor.cpp
msgid "Add Translation"
@@ -9754,7 +9679,7 @@ msgstr "ブレンドã™ã‚‹æ™‚間を変更"
#: editor/project_settings_editor.cpp
msgid "Changed Locale Filter Mode"
-msgstr ""
+msgstr "ロケールフィルタモードã®å¤‰æ›´"
#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
@@ -9787,7 +9712,7 @@ msgstr "アクション"
#: editor/project_settings_editor.cpp
msgid "Deadzone"
-msgstr ""
+msgstr "デッドゾーン"
#: editor/project_settings_editor.cpp
msgid "Device:"
@@ -9914,7 +9839,7 @@ msgstr "PVRTCツールを実行ã§ãã¾ã›ã‚“ã§ã—ãŸ:"
#: editor/pvrtc_compress.cpp
msgid "Can't load back converted image using PVRTC tool:"
-msgstr ""
+msgstr "PVRTCツールを使用ã—ã¦å¤‰æ›ã•れãŸã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’å…ƒã«æˆ»ã™ã“ã¨ãŒã§ãã¾ã›ã‚“:"
#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
#, fuzzy
@@ -9936,7 +9861,7 @@ msgstr "アニメーションã®ã‚ªãƒ—ション"
#: editor/rename_dialog.cpp
msgid "Substitute"
-msgstr ""
+msgstr "代替"
#: editor/rename_dialog.cpp
msgid "Node name"
@@ -9944,7 +9869,7 @@ msgstr "ノードå"
#: editor/rename_dialog.cpp
msgid "Node's parent name, if available"
-msgstr ""
+msgstr "ノードã®è¦ªã®åå‰ (使用å¯èƒ½ãªå ´åˆ)"
#: editor/rename_dialog.cpp
#, fuzzy
@@ -9964,18 +9889,20 @@ msgid ""
"Sequential integer counter.\n"
"Compare counter options."
msgstr ""
+"シーケンシャル整数カウンタ。\n"
+"カウンタオプションを比較ã—ã¾ã™ã€‚"
#: editor/rename_dialog.cpp
msgid "Per Level counter"
-msgstr ""
+msgstr "レベルã”ã¨ã®ã‚«ã‚¦ãƒ³ã‚¿"
#: editor/rename_dialog.cpp
msgid "If set the counter restarts for each group of child nodes"
-msgstr ""
+msgstr "設定ã™ã‚‹ã¨ã€å­ãƒŽãƒ¼ãƒ‰ã®ã‚°ãƒ«ãƒ¼ãƒ—ã”ã¨ã«ã‚«ã‚¦ãƒ³ã‚¿ãŒå†èµ·å‹•ã—ã¾ã™"
#: editor/rename_dialog.cpp
msgid "Initial value for the counter"
-msgstr ""
+msgstr "カウンタã®åˆæœŸå€¤"
#: editor/rename_dialog.cpp
msgid "Step"
@@ -9983,7 +9910,7 @@ msgstr "ステップ"
#: editor/rename_dialog.cpp
msgid "Amount by which counter is incremented for each node"
-msgstr ""
+msgstr "å„ノードã®ã‚«ã‚¦ãƒ³ã‚¿ã®å¢—分é‡"
#: editor/rename_dialog.cpp
msgid "Padding"
@@ -9994,6 +9921,8 @@ msgid ""
"Minimum number of digits for the counter.\n"
"Missing digits are padded with leading zeros."
msgstr ""
+"ã‚«ã‚¦ãƒ³ã‚¿ã®æœ€å°æ¡æ•°ã€‚\n"
+"欠è½ã—ãŸæ•°å­—ã¯ã€å…ˆé ­ã«ã‚¼ãƒ­ãŒåŸ‹ã‚è¾¼ã¾ã‚Œã¾ã™ã€‚"
#: editor/rename_dialog.cpp
#, fuzzy
@@ -10006,7 +9935,7 @@ msgstr "ãƒã‚¹ãƒˆãƒ—ロセス"
#: editor/rename_dialog.cpp
msgid "Keep"
-msgstr ""
+msgstr "ä¿æŒ"
#: editor/rename_dialog.cpp
msgid "CamelCase to under_scored"
@@ -10018,7 +9947,7 @@ msgstr ""
#: editor/rename_dialog.cpp
msgid "Case"
-msgstr ""
+msgstr "ケース"
#: editor/rename_dialog.cpp
msgid "To Lowercase"
@@ -10042,11 +9971,11 @@ msgstr "親ノードを変更"
#: editor/reparent_dialog.cpp
msgid "Reparent Location (Select new Parent):"
-msgstr ""
+msgstr "親を変更(æ–°ã—ã„è¦ªã‚’é¸æŠž):"
#: editor/reparent_dialog.cpp
msgid "Keep Global Transform"
-msgstr ""
+msgstr "グローãƒãƒ«å¤‰æ›ã‚’ä¿æŒ"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent"
@@ -10075,7 +10004,7 @@ msgstr "シーン実行ã®è¨­å®š"
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
-msgstr ""
+msgstr "シーンをインスタンス化ã™ã‚‹è¦ªãŒã‚りã¾ã›ã‚“。"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10125,14 +10054,15 @@ msgstr "ノードを複製"
#: editor/scene_tree_dock.cpp
msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
msgstr ""
+"継承シーンã®ãƒŽãƒ¼ãƒ‰ã‚’親ã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。ノードã®é †åºã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
#: editor/scene_tree_dock.cpp
msgid "Node must belong to the edited scene to become root."
-msgstr ""
+msgstr "ルートã«ã™ã‚‹ã«ã¯ã€ãƒŽãƒ¼ãƒ‰ãŒç·¨é›†ã•れãŸã‚·ãƒ¼ãƒ³ã«å±žã—ã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: editor/scene_tree_dock.cpp
msgid "Instantiated scenes can't become root"
-msgstr ""
+msgstr "インスタンス化ã•れãŸã‚·ãƒ¼ãƒ³ã¯ãƒ«ãƒ¼ãƒˆã«ã§ãã¾ã›ã‚“"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10162,6 +10092,8 @@ msgid ""
"Disabling \"editable_instance\" will cause all properties of the node to be "
"reverted to their default."
msgstr ""
+"\"editable_instance\" を無効ã«ã™ã‚‹ã¨ã€ãƒŽãƒ¼ãƒ‰ã®ã™ã¹ã¦ã®ãƒ—ロパティãŒãƒ‡ãƒ•ォルト"
+"ã«æˆ»ã‚Šã¾ã™ã€‚"
#: editor/scene_tree_dock.cpp
msgid "Editable Children"
@@ -10169,7 +10101,7 @@ msgstr "編集å¯èƒ½ãªå­"
#: editor/scene_tree_dock.cpp
msgid "Load As Placeholder"
-msgstr ""
+msgstr "プレースホルダーã¨ã—ã¦ãƒ­ãƒ¼ãƒ‰"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10256,6 +10188,11 @@ msgstr "å­ãƒŽãƒ¼ãƒ‰ã‚’追加"
#: editor/scene_tree_dock.cpp
#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "ã™ã¹ã¦æŠ˜ã‚ŠãŸãŸã‚€"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Change Type"
msgstr "型(type)を変更"
@@ -10284,7 +10221,8 @@ msgid "Delete (No Confirm)"
msgstr "削除 (確èªãªã—)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "æ–°ã—ã„ノードを追加/生æˆ"
#: editor/scene_tree_dock.cpp
@@ -10397,6 +10335,8 @@ msgid ""
"AnimationPlayer is pinned.\n"
"Click to unpin."
msgstr ""
+"AnimationPlayerãŒå›ºå®šã•れã¾ã™ã€‚\n"
+"クリックã—ã¦å›ºå®šã‚’解除ã—ã¾ã™ã€‚"
#: editor/scene_tree_editor.cpp
msgid "Invalid node name, the following characters are not allowed:"
@@ -10645,15 +10585,15 @@ msgstr "クリックã•れãŸã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ã®ã‚¿ã‚¤ãƒ—:"
#: editor/script_editor_debugger.cpp
msgid "Live Edit Root:"
-msgstr ""
+msgstr "ルートã®ãƒ©ã‚¤ãƒ–編集:"
#: editor/script_editor_debugger.cpp
msgid "Set From Tree"
-msgstr ""
+msgstr "ツリーã‹ã‚‰è¨­å®š"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
-msgstr ""
+msgstr "数値データをCSVã¨ã—ã¦ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ"
#: editor/settings_config_dialog.cpp
#, fuzzy
@@ -10676,7 +10616,7 @@ msgstr "ショートカット"
#: editor/settings_config_dialog.cpp
msgid "Binding"
-msgstr ""
+msgstr "ãƒã‚¤ãƒ³ãƒ‰"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
@@ -10684,7 +10624,7 @@ msgstr "å…‰æºã®åŠå¾„を変更"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
-msgstr ""
+msgstr "AudioStreamPlayer3Dã®æ”¾å°„角度を変更ã™ã‚‹"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera FOV"
@@ -10705,7 +10645,7 @@ msgstr "パーティクルã®è»¸å¹³è¡Œå¢ƒç•Œãƒœãƒƒã‚¯ã‚¹ã‚’変更"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Probe Extents"
-msgstr ""
+msgstr "プローブã®ç¯„囲を変更"
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
#, fuzzy
@@ -10739,7 +10679,7 @@ msgstr "カプセル形状ã®é«˜ã•変更"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Ray Shape Length"
-msgstr ""
+msgstr "レイシェイプã®é•·ã•を変更"
#: modules/csg/csg_gizmos.cpp
#, fuzzy
@@ -10763,11 +10703,11 @@ msgstr "å…‰æºã®åŠå¾„を変更"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
-msgstr ""
+msgstr "ã“ã®ã‚¨ãƒ³ãƒˆãƒªã®ãƒ€ã‚¤ãƒŠãƒŸãƒƒã‚¯ãƒ©ã‚¤ãƒ–ãƒ©ãƒªã‚’é¸æŠžã—ã¦ãã ã•ã„"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select dependencies of the library for this entry"
-msgstr ""
+msgstr "ã“ã®ã‚¨ãƒ³ãƒˆãƒªã®ãƒ©ã‚¤ãƒ–ラリã®ä¾å­˜é–¢ä¿‚ã‚’é¸æŠžã—ã¦ãã ã•ã„"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
#, fuzzy
@@ -10792,7 +10732,7 @@ msgstr "ダイナミック ライブラリ"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Add an architecture entry"
-msgstr ""
+msgstr "アーキテクãƒãƒ£ã‚¨ãƒ³ãƒˆãƒªã‚’追加ã™ã‚‹"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "GDNativeLibrary"
@@ -10800,7 +10740,7 @@ msgstr "GDNative ライブラリ"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
-msgstr ""
+msgstr "有効ãªGDNative Singleton"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
#, fuzzy
@@ -10876,7 +10816,7 @@ msgstr "以å‰ã®ã‚¿ãƒ–"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Plane:"
-msgstr ""
+msgstr "å¹³é¢:"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Floor"
@@ -10926,11 +10866,11 @@ msgstr "無効"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Above"
-msgstr ""
+msgstr "上クリップ"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Below"
-msgstr ""
+msgstr "下クリップ"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Edit X Axis"
@@ -10973,7 +10913,7 @@ msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cursor Clear Rotation"
-msgstr ""
+msgstr "カーソル回転をクリア"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clear Selection"
@@ -10995,7 +10935,7 @@ msgstr "インスタンス:"
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
-msgstr ""
+msgstr "クラスåを予約キーワードã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
#: modules/mono/editor/godotsharp_editor.cpp
#, fuzzy
@@ -11049,7 +10989,7 @@ msgstr "ログを表示"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
-msgstr ""
+msgstr "内部例外スタックトレースã®çµ‚了"
#: modules/recast/navigation_mesh_editor_plugin.cpp
msgid "Bake NavMesh"
@@ -11129,6 +11069,7 @@ msgid ""
"Node yielded, but did not return a function state in the first working "
"memory."
msgstr ""
+"ノードã¯ç”Ÿæˆã—ã¾ã—ãŸãŒã€æœ€åˆã®ä½œæ¥­ãƒ¡ãƒ¢ãƒªãƒ¼ã«é–¢æ•°çŠ¶æ…‹ã‚’è¿”ã—ã¾ã›ã‚“ã§ã—ãŸã€‚"
#: modules/visual_script/visual_script.cpp
#, fuzzy
@@ -11261,7 +11202,7 @@ msgstr "Ctrlã‚­ãƒ¼ã‚’ä¿æŒã—ã¦å¤‰æ•°ã®setterã‚’è½ã¨ã™."
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Preload Node"
-msgstr ""
+msgstr "プリロードノードを追加"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
@@ -11471,11 +11412,11 @@ msgstr "VisualScriptを検索"
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Get %s"
-msgstr ""
+msgstr "%s ã‚’å–å¾—"
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Set %s"
-msgstr ""
+msgstr "%s を設定"
#: platform/android/export/export.cpp
msgid "Package name is missing."
@@ -11483,7 +11424,7 @@ msgstr "パッケージåãŒã‚りã¾ã›ã‚“。"
#: platform/android/export/export.cpp
msgid "Package segments must be of non-zero length."
-msgstr ""
+msgstr "パッケージセグメントã®é•·ã•ã¯0以外ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“。"
#: platform/android/export/export.cpp
msgid "The character '%s' is not allowed in Android application package names."
@@ -11491,7 +11432,7 @@ msgstr "文字 '%s' ã¯Androidアプリケーション パッケージåã«ä½¿ç
#: platform/android/export/export.cpp
msgid "A digit cannot be the first character in a package segment."
-msgstr ""
+msgstr "数字をパッケージセグメントã®å…ˆé ­ã«ä½¿ç”¨ã§ãã¾ã›ã‚“。"
#: platform/android/export/export.cpp
msgid "The character '%s' cannot be the first character in a package segment."
@@ -11503,7 +11444,7 @@ msgstr "パッケージã«ã¯ä¸€ã¤ä»¥ä¸Šã®åŒºåˆ‡ã‚Šæ–‡å­— '.' ãŒå¿…è¦ã§ã™ã
#: platform/android/export/export.cpp
msgid "ADB executable not configured in the Editor Settings."
-msgstr ""
+msgstr "ADB実行å¯èƒ½ãƒ•ァイルãŒã‚¨ãƒ‡ã‚£ã‚¿è¨­å®šã§è¨­å®šã•れã¦ã„ã¾ã›ã‚“。"
#: platform/android/export/export.cpp
msgid "OpenJDK jarsigner not configured in the Editor Settings."
@@ -11511,20 +11452,22 @@ msgstr "OpenJDK jarsignerãŒã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼è¨­å®šã§è¨­å®šã•れã¦ã„ã¾ã›ã‚“ã
#: platform/android/export/export.cpp
msgid "Debug keystore not configured in the Editor Settings nor in the preset."
-msgstr ""
+msgstr "デãƒãƒƒã‚°ã‚­ãƒ¼ã‚¹ãƒˆã‚¢ãŒã‚¨ãƒ‡ã‚£ã‚¿è¨­å®šã«ã‚‚プリセットã«ã‚‚設定ã•れã¦ã„ã¾ã›ã‚“。"
#: platform/android/export/export.cpp
msgid "Custom build requires a valid Android SDK path in Editor Settings."
-msgstr ""
+msgstr "カスタムビルドã«ã¯ã‚¨ãƒ‡ã‚£ã‚¿è¨­å®šã§æœ‰åйãªAndroid SDKパスãŒå¿…è¦ã§ã™ã€‚"
#: platform/android/export/export.cpp
msgid "Invalid Android SDK path for custom build in Editor Settings."
-msgstr ""
+msgstr "エディタ設定ã®ã‚«ã‚¹ã‚¿ãƒ ãƒ“ルドã®Android SDKパスãŒç„¡åйã§ã™ã€‚"
#: platform/android/export/export.cpp
msgid ""
"Android project is not installed for compiling. Install from Editor menu."
msgstr ""
+"Androidプロジェクトã¯ã‚³ãƒ³ãƒ‘イル用ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã¾ã›ã‚“。 エディタメ"
+"ニューã‹ã‚‰ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¾ã™ã€‚"
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -11539,6 +11482,8 @@ msgid ""
"Trying to build from a custom built template, but no version info for it "
"exists. Please reinstall from the 'Project' menu."
msgstr ""
+"カスタムビルドã•れãŸãƒ†ãƒ³ãƒ—レートã‹ã‚‰ãƒ“ルドã—よã†ã¨ã—ã¾ã—ãŸãŒã€ãã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³"
+"情報ãŒå­˜åœ¨ã—ã¾ã›ã‚“。 「プロジェクトã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã ã•ã„。"
#: platform/android/export/export.cpp
msgid ""
@@ -11547,20 +11492,28 @@ msgid ""
" Godot Version: %s\n"
"Please reinstall Android build template from 'Project' menu."
msgstr ""
+"Androidビルドãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ä¸ä¸€è‡´:\n"
+"インストールã•れãŸãƒ†ãƒ³ãƒ—レート:%s\n"
+"ゴドーãƒãƒ¼ã‚¸ãƒ§ãƒ³:%s\n"
+"「プロジェクト ã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰Androidビルドテンプレートをå†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ã"
+"ã ã•ã„。"
#: platform/android/export/export.cpp
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "Androidãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆã®æ§‹ç¯‰(gradle)"
#: platform/android/export/export.cpp
msgid ""
"Building of Android project failed, check output for the error.\n"
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
+"Androidプロジェクトã®ãƒ“ルドã«å¤±æ•—ã—ã¾ã—ãŸã€‚エラーã®å‡ºåŠ›ã‚’ç¢ºèªã—ã¦ãã ã•ã„。\n"
+"ã‚ã‚‹ã„ã¯ã€Androidビルドドキュメントã«ã¤ã„ã¦ã¯docs.godotengine.orgã‚’ã”覧ãã ã•"
+"ã„。"
#: platform/android/export/export.cpp
msgid "No build apk generated at: "
-msgstr ""
+msgstr "ビルドAPKã¯ç”Ÿæˆã•れã¦ã„ã¾ã›ã‚“:"
#: platform/iphone/export/export.cpp
msgid "Identifier is missing."
@@ -11568,7 +11521,7 @@ msgstr "識別å­ãŒã‚りã¾ã›ã‚“。"
#: platform/iphone/export/export.cpp
msgid "Identifier segments must be of non-zero length."
-msgstr ""
+msgstr "識別å­ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã¯ã‚¼ãƒ­ä»¥å¤–ã®é•·ã•ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“。"
#: platform/iphone/export/export.cpp
msgid "The character '%s' is not allowed in Identifier."
@@ -11576,7 +11529,7 @@ msgstr "文字 '%s' ã¯è­˜åˆ¥å­ã«ä½¿ç”¨ã§ãã¾ã›ã‚“。"
#: platform/iphone/export/export.cpp
msgid "A digit cannot be the first character in a Identifier segment."
-msgstr ""
+msgstr "数字を識別å­ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã®å…ˆé ­ã«ä½¿ç”¨ã§ãã¾ã›ã‚“。"
#: platform/iphone/export/export.cpp
msgid ""
@@ -11597,7 +11550,7 @@ msgstr "無効ãªè­˜åˆ¥å­:"
#: platform/iphone/export/export.cpp
msgid "Required icon is not specified in the preset."
-msgstr ""
+msgstr "必須アイコンãŒãƒ—ãƒªã‚»ãƒƒãƒˆã«æŒ‡å®šã•れã¦ã„ã¾ã›ã‚“。"
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
@@ -11708,6 +11661,10 @@ msgid ""
"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
"define its shape."
msgstr ""
+"ã“ã®ãƒŽãƒ¼ãƒ‰ã«ã¯ã‚·ã‚§ã‚¤ãƒ—ãŒãªã„ãŸã‚ã€ä»–ã®ã‚ªãƒ–ジェクトã¨è¡çªã¾ãŸã¯ç›¸äº’作用ã™ã‚‹ã“"
+"ã¨ã¯ã§ãã¾ã›ã‚“。\n"
+"CollisionShape2Dã¾ãŸã¯CollisionPolygon2Dã‚’å­ã¨ã—ã¦è¿½åŠ ã—ã¦ã€ã‚·ã‚§ã‚¤ãƒ—を定義ã™"
+"ã‚‹ã“ã¨ã‚’検討ã—ã¦ãã ã•ã„。"
#: scene/2d/collision_polygon_2d.cpp
#, fuzzy
@@ -11750,6 +11707,8 @@ msgid ""
"CPUParticles2D animation requires the usage of a CanvasItemMaterial with "
"\"Particles Animation\" enabled."
msgstr ""
+"CPUParticles2Dアニメーションã§ã¯ã€ \"Particles Animation\" を有効ã«ã—ãŸ"
+"CanvasItemMaterialを使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: scene/2d/light_2d.cpp
msgid ""
@@ -11797,6 +11756,9 @@ msgid ""
"Use the CPUParticles2D node instead. You can use the \"Convert to "
"CPUParticles\" option for this purpose."
msgstr ""
+"GPUベースã®ãƒ‘ーティクルã¯ã€GLES2ビデオドライãƒã§ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。\n"
+"代ã‚りã«CPUParticles2Dノードを使用ã—ã¦ãã ã•ã„。 ã“ã®ç›®çš„ã®ãŸã‚ã« \"Convert "
+"to CPUParticles\" オプションを使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
#, fuzzy
@@ -11812,6 +11774,8 @@ msgid ""
"Particles2D animation requires the usage of a CanvasItemMaterial with "
"\"Particles Animation\" enabled."
msgstr ""
+"Particles2Dアニメーションã§ã¯ã€ \"Particles Animation\"ãŒæœ‰åйã«ãªã£ã¦ã„ã‚‹"
+"CanvasItemMaterialを使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
@@ -11824,6 +11788,9 @@ msgid ""
"by the physics engine when running.\n"
"Change the size in children collision shapes instead."
msgstr ""
+"RigidBody2D(キャラクタモードã¾ãŸã¯ãƒªã‚¸ãƒƒãƒ‰ãƒ¢ãƒ¼ãƒ‰)ã«å¯¾ã™ã‚‹ã‚µã‚¤ã‚ºå¤‰æ›´ã¯ã€å®Ÿè¡Œæ™‚"
+"ã«ç‰©ç†ã‚¨ãƒ³ã‚¸ãƒ³ã«ã‚ˆã£ã¦ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã¾ã™ã€‚\n"
+"代ã‚りã«ã€å­ã®è¡çªã‚·ã‚§ã‚¤ãƒ—ã®ã‚µã‚¤ã‚ºã‚’変更ã—ã¦ãã ã•ã„。"
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
@@ -11832,16 +11799,32 @@ msgstr ""
#: scene/2d/skeleton_2d.cpp
msgid "This Bone2D chain should end at a Skeleton2D node."
-msgstr ""
+msgstr "ã“ã®Bone2Dãƒã‚§ã‚¤ãƒ³ã¯Skeleton2Dノードã§çµ‚了ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: scene/2d/skeleton_2d.cpp
msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node."
msgstr ""
+"Bone2Dã¯ã€Skeleton2Dã¾ãŸã¯åˆ¥ã®Bone2Dを親ノードã¨ã—ã¦ä½¿ç”¨ã—ã¦ã„ã‚‹å ´åˆã«ã®ã¿æ©Ÿ"
+"能ã—ã¾ã™ã€‚"
#: scene/2d/skeleton_2d.cpp
msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+"ã“ã®ãƒœãƒ¼ãƒ³ã«ã¯é©åˆ‡ãªRESTãƒãƒ¼ã‚ºãŒã‚りã¾ã›ã‚“。 Skeleton2Dノードã«ç§»å‹•ã—ã¦è¨­å®šã—"
+"ã¾ã™ã€‚"
+
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D ã¯ã€CollisionObject2D 派生ノードã«ã‚³ãƒªã‚¸ãƒ§ãƒ³ã‚·ã‚§ã‚¤ãƒ—ã‚’æä¾›ã™"
+"ã‚‹ãŸã‚ã«ã®ã¿æ©Ÿèƒ½ã—ã¾ã™ã€‚ï¼’Dã®å½¢çŠ¶ï¼ˆã‚·ã‚§ã‚¤ãƒ—ï¼‰ã‚’ä»˜ä¸Žã™ã‚‹ãŸã‚ã«ã¯ Area2Dã€"
+"StaticBody2Dã€RigidBody2Dã€KinematicBody2D ãªã©ã®å­ã‚ªãƒ–ジェクトã¨ã—ã¦åˆ©ç”¨ã—ã¦"
+"ãã ã•ã„."
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
@@ -11865,6 +11848,8 @@ msgid ""
"The controller ID must not be 0 or this controller won't be bound to an "
"actual controller."
msgstr ""
+"コントローラIDã‚’0ã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。0ã«ã™ã‚‹ã¨ã€ã“ã®ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ©ã¯å®Ÿéš›ã®"
+"コントローラã«ãƒã‚¤ãƒ³ãƒ‰ã•れã¾ã›ã‚“。"
#: scene/3d/arvr_nodes.cpp
#, fuzzy
@@ -11876,6 +11861,8 @@ msgid ""
"The anchor ID must not be 0 or this anchor won't be bound to an actual "
"anchor."
msgstr ""
+"アンカーIDã‚’0ã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。0ã«ã™ã‚‹ã¨ã€ã“ã®ã‚¢ãƒ³ã‚«ãƒ¼ã¯å®Ÿéš›ã®ã‚¢ãƒ³ã‚«ãƒ¼"
+"ã«ãƒã‚¤ãƒ³ãƒ‰ã•れã¾ã›ã‚“。"
#: scene/3d/arvr_nodes.cpp
#, fuzzy
@@ -11915,6 +11902,10 @@ msgid ""
"Consider adding a CollisionShape or CollisionPolygon as a child to define "
"its shape."
msgstr ""
+"ã“ã®ãƒŽãƒ¼ãƒ‰ã«ã¯ã‚·ã‚§ã‚¤ãƒ—ãŒãªã„ãŸã‚ã€ä»–ã®ã‚ªãƒ–ジェクトã¨è¡çªã¾ãŸã¯ç›¸äº’作用ã™ã‚‹ã“"
+"ã¨ã¯ã§ãã¾ã›ã‚“。\n"
+"CollisionShapeã¾ãŸã¯CollisionPolygonã‚’å­ã¨ã—ã¦è¿½åŠ ã—ã¦ã€ãã®ã‚·ã‚§ã‚¤ãƒ—を定義ã™"
+"ã‚‹ã“ã¨ã‚’検討ã—ã¦ãã ã•ã„。"
#: scene/3d/collision_polygon.cpp
#, fuzzy
@@ -11955,6 +11946,8 @@ msgid ""
"Plane shapes don't work well and will be removed in future versions. Please "
"don't use them."
msgstr ""
+"å¹³é¢ã‚·ã‚§ã‚¤ãƒ—ã¯ã†ã¾ã機能ã›ãšã€å°†æ¥ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯å‰Šé™¤ã•れる予定ã§ã™ã€‚使ã‚ãª"
+"ã„ã§ãã ã•ã„。"
#: scene/3d/cpu_particles.cpp
#, fuzzy
@@ -11966,6 +11959,8 @@ msgid ""
"CPUParticles animation requires the usage of a SpatialMaterial whose "
"Billboard Mode is set to \"Particle Billboard\"."
msgstr ""
+"CPUParticlesアニメーションã§ã¯ã€Billboard Mode㌠\"Particle Billboard\" ã«è¨­"
+"定ã•れã¦ã„ã‚‹SpatialMaterialを使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: scene/3d/gi_probe.cpp
#, fuzzy
@@ -11977,6 +11972,8 @@ msgid ""
"GIProbes are not supported by the GLES2 video driver.\n"
"Use a BakedLightmap instead."
msgstr ""
+"GIProbesã¯GLES2ビデオドライãƒã§ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。\n"
+"代ã‚りã«BakedLightmapを使用ã—ã¦ãã ã•ã„。"
#: scene/3d/navigation_mesh.cpp
msgid "A NavigationMesh resource must be set or created for this node to work."
@@ -11998,6 +11995,9 @@ msgid ""
"Use the CPUParticles node instead. You can use the \"Convert to CPUParticles"
"\" option for this purpose."
msgstr ""
+"GPUベースã®ãƒ‘ーティクルã¯ã€GLES2ビデオドライãƒã§ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。\n"
+"代ã‚りã«CPUParticlesノードを使用ã—ã¦ãã ã•ã„。 ã“ã®ç›®çš„ã®ãŸã‚ã« \"Convert to "
+"CPUParticles\"オプションを使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
#: scene/3d/particles.cpp
#, fuzzy
@@ -12010,6 +12010,8 @@ msgid ""
"Particles animation requires the usage of a SpatialMaterial whose Billboard "
"Mode is set to \"Particle Billboard\"."
msgstr ""
+"パーティクルアニメーションã§ã¯ã€Billboard Mode㌠\"Particle Billboard\" ã«è¨­"
+"定ã•れã¦ã„ã‚‹SpatialMaterialを使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -12020,6 +12022,8 @@ msgid ""
"PathFollow ROTATION_ORIENTED requires \"Up Vector\" enabled in its parent "
"Path's Curve resource."
msgstr ""
+"PathFollow ROTATION_ORIENTEDã§ã¯ã€è¦ªãƒ‘スã®Curveリソース㧠\"Up Vector\"を有効"
+"ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: scene/3d/physics_body.cpp
msgid ""
@@ -12027,6 +12031,9 @@ msgid ""
"by the physics engine when running.\n"
"Change the size in children collision shapes instead."
msgstr ""
+"RigidBody(キャラクタモードã¾ãŸã¯ãƒªã‚¸ãƒƒãƒ‰ãƒ¢ãƒ¼ãƒ‰)ã«å¯¾ã™ã‚‹ã‚µã‚¤ã‚ºå¤‰æ›´ã¯ã€å®Ÿè¡Œæ™‚ã«"
+"物ç†ã‚¨ãƒ³ã‚¸ãƒ³ã«ã‚ˆã£ã¦ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã¾ã™ã€‚\n"
+"代ã‚りã«ã€å­ã®è¡çªã‚·ã‚§ã‚¤ãƒ—ã®ã‚µã‚¤ã‚ºã‚’変更ã—ã¦ãã ã•ã„。"
#: scene/3d/remote_transform.cpp
#, fuzzy
@@ -12037,7 +12044,7 @@ msgstr ""
#: scene/3d/soft_body.cpp
msgid "This body will be ignored until you set a mesh."
-msgstr ""
+msgstr "ã“ã®ãƒœãƒ‡ã‚£ã¯ã€ãƒ¡ãƒƒã‚·ãƒ¥ã‚’設定ã™ã‚‹ã¾ã§ç„¡è¦–ã•れã¾ã™ã€‚"
#: scene/3d/soft_body.cpp
msgid ""
@@ -12045,6 +12052,9 @@ msgid ""
"running.\n"
"Change the size in children collision shapes instead."
msgstr ""
+"SoftBodyã¸ã®ã‚µã‚¤ã‚ºå¤‰æ›´ã¯ã€å®Ÿè¡Œæ™‚ã«ç‰©ç†ã‚¨ãƒ³ã‚¸ãƒ³ã«ã‚ˆã£ã¦ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã¾"
+"ã™ã€‚\n"
+"代ã‚りã«ã€å­ã®è¡çªã‚·ã‚§ã‚¤ãƒ—ã®ã‚µã‚¤ã‚ºã‚’変更ã—ã¦ãã ã•ã„。"
#: scene/3d/sprite_3d.cpp
msgid ""
@@ -12059,10 +12069,12 @@ msgid ""
"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
"it as a child of a VehicleBody."
msgstr ""
+"VehicleWheelã¯ã€è»Šè¼ªã‚·ã‚¹ãƒ†ãƒ ã‚’VehicleBodyã«æä¾›ã™ã‚‹ãŸã‚ã®ã‚‚ã®ã§ã™ã€‚"
+"VehicleBodyã®å­ã¨ã—ã¦ä½¿ç”¨ã—ã¦ãã ã•ã„。"
#: scene/3d/world_environment.cpp
msgid "WorldEnvironment needs an Environment resource."
-msgstr ""
+msgstr "WorldEnvironmentã«ã¯EnvironmentリソースãŒå¿…è¦ã§ã™ã€‚"
#: scene/3d/world_environment.cpp
#, fuzzy
@@ -12083,7 +12095,7 @@ msgstr ""
#: scene/animation/animation_blend_tree.cpp
msgid "On BlendTree node '%s', animation not found: '%s'"
-msgstr ""
+msgstr "BlendTreeノード 'ï¼…s' ã§ã¯ã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: 'ï¼…s'"
#: scene/animation/animation_blend_tree.cpp
msgid "Animation not found: '%s'"
@@ -12104,7 +12116,7 @@ msgstr "'%s' ã‚’ '%s' ã«æŽ¥ç¶š"
#: scene/animation/animation_tree.cpp
msgid "A root AnimationNode for the graph is not set."
-msgstr ""
+msgstr "グラフã®ãƒ«ãƒ¼ãƒˆAnimationNodeãŒè¨­å®šã•れã¦ã„ã¾ã›ã‚“。"
#: scene/animation/animation_tree.cpp
msgid "Path to an AnimationPlayer node containing animations is not set."
@@ -12113,7 +12125,7 @@ msgstr ""
#: scene/animation/animation_tree.cpp
msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
-msgstr ""
+msgstr "AnimationPlayerã«è¨­å®šã•れãŸãƒ‘スã‹ã‚‰AnimationPlayerノードãŒè¾¿ã‚Œã¾ã›ã‚“。"
#: scene/animation/animation_tree.cpp
#, fuzzy
@@ -12130,13 +12142,17 @@ msgid "Pick a color from the screen."
msgstr "スクリーンã‹ã‚‰è‰²ã‚’é¸æŠžã—ã¦ãã ã•ã„。"
#: scene/gui/color_picker.cpp
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
#, fuzzy
-msgid "Raw Mode"
-msgstr "パン・モード"
+msgid "Raw"
+msgstr "ヨー"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
-msgstr ""
+msgstr "16進数ã¨ã‚³ãƒ¼ãƒ‰å€¤ã‚’切り替ãˆã¾ã™ã€‚"
#: scene/gui/color_picker.cpp
#, fuzzy
@@ -12144,12 +12160,23 @@ msgid "Add current color as a preset."
msgstr "ç¾åœ¨ã®è‰²ã‚’プリセットã¨ã—ã¦è¿½åŠ "
#: scene/gui/container.cpp
+#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+"コンテナ自体ã¯ã€ã‚¹ã‚¯ãƒªãƒ—トã§å­ã®é…置動作を設定ã—ãªã„é™ã‚Šã€ä½•ã®å½¹å‰²ã‚‚æžœãŸã—ã¾"
+"ã›ã‚“。\n"
+"スクリプトを追加ã—ãªã„å ´åˆã¯ã€ä»£ã‚りã«ãƒ—レーン「コントロール ã€ãƒŽãƒ¼ãƒ‰ã‚’使用ã—"
+"ã¦ãã ã•ã„。"
+
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
#: scene/gui/dialogs.cpp
msgid "Alert!"
@@ -12235,7 +12262,7 @@ msgstr "無効ãªã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ã®ã‚½ãƒ¼ã‚¹ã§ã™ã€‚"
#: servers/visual/shader_language.cpp
msgid "Assignment to function."
-msgstr ""
+msgstr "関数ã¸ã®å‰²ã‚Šå½“ã¦ã€‚"
#: servers/visual/shader_language.cpp
msgid "Assignment to uniform."
@@ -12248,7 +12275,18 @@ msgstr "Varyingã¯é ‚点関数ã«ã®ã¿å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
+
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "ã‚¯ãƒ©ã‚¹ã®æ¤œç´¢"
+
+#~ msgid "Update Always"
+#~ msgstr "å¸¸ã«æ›´æ–°"
+
+#, fuzzy
+#~ msgid "Raw Mode"
+#~ msgstr "パン・モード"
#~ msgid "Path to Node:"
#~ msgstr "ノードã¸ã®ãƒ‘ス:"
diff --git a/editor/translations/ka.po b/editor/translations/ka.po
index 0eff93389d..d4451b86c6 100644
--- a/editor/translations/ka.po
+++ b/editor/translations/ka.po
@@ -464,6 +464,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის áƒáƒ¡áƒšáƒ˜áƒ¡ შექმნáƒ"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "მხáƒáƒšáƒáƒ“ áƒáƒ©áƒ•ენე ჩáƒáƒœáƒáƒ¬áƒ”რები კვáƒáƒœáƒ«áƒ”ბიდáƒáƒœ მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ ხეში."
@@ -1345,7 +1355,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1544,7 +1554,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1601,7 +1611,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1615,7 +1625,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1639,12 +1649,9 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
-msgstr ""
+#, fuzzy
+msgid "Available Profiles:"
+msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ . პáƒáƒ áƒáƒ›áƒ”ტრები."
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2666,10 +2673,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2776,15 +2803,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "უწყვეტი"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3074,20 +3102,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5197,6 +5225,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6114,10 +6149,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6362,11 +6405,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7939,51 +7977,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7991,203 +7985,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9829,6 +9647,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "ყველáƒáƒ¡ ჩáƒáƒœáƒáƒªáƒ•ლებáƒ"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9857,8 +9680,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "áƒáƒ®áƒáƒšáƒ˜ %s შექმნáƒ"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11262,6 +11086,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11513,7 +11344,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11526,12 +11361,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index 44699e75e8..388ca02bfa 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
+"PO-Revision-Date: 2019-07-02 10:51+0000\n"
"Last-Translator: 송태섭 <xotjq237@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
@@ -26,7 +26,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -86,9 +86,8 @@ msgid "Time:"
msgstr "시간:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "ê°’"
+msgstr "ê°’:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -440,10 +439,26 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"ì´ ì• ë‹ˆë©”ì´ì…˜ì€ 가져온 ì”¬ì— ì†í•´ìžˆìŠµë‹ˆë‹¤, ë”°ë¼ì„œ 가져온 트랙ì—는 ë³€ê²½ì‚¬í•­ì´ "
+"저장ë˜ì§€ 않습니다.\n"
+"\n"
+"커스텀 íŠ¸ëžŸì„ ì¶”ê°€í•˜ê¸° 위해서는, ì”¬ì˜ ê°€ì ¸ì˜¤ê¸° 설정으로 가서\n"
+"\"Animation > Storage\"를 \"Files\"로 설정하고 \"Animation > Keep Custom "
+"Tracks\"ì„ ì¼  ë‹¤ìŒ ë‹¤ì‹œ 가져오세요.\n"
+"ë˜ëŠ” 애니메ì´ì…˜ì„ 개별 파ì¼ë¡œ 가져오는 가져오기 í”„ë¦¬ì…‹ì„ ì‚¬ìš©í•˜ì„¸ìš”."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "경고: 가져온 애니메ì´ì…˜ì„ 편집하고 있ìŒ"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "ì „ì²´ì„ íƒ"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "모든 ì„ íƒ í•´ì œ"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -677,38 +692,32 @@ msgid "Line and column numbers."
msgstr "ë¼ì¸ ë° ì»¬ëŸ¼ 번호."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "ëŒ€ìƒ ë…¸ë“œì˜ ë©”ì„œë“œë¥¼ 명시해야 합니다!"
+msgstr "ëŒ€ìƒ ë…¸ë“œì˜ ë©”ì„œë“œê°€ 명시ë˜ì–´ì•¼ 합니다."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
"ëŒ€ìƒ ë©”ì„œë“œë¥¼ ì°¾ì„ ìˆ˜ 없습니다! 유효한 메서드를 지정하거나, ëŒ€ìƒ ë…¸ë“œì— ìŠ¤í¬"
-"립트를 추가하세요."
+"립트를 ë¶™ì´ì„¸ìš”."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
-msgstr "연결할 노드:"
+msgstr "ë‹¤ìŒ ë…¸ë“œì— ì—°ê²°:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "í˜¸ìŠ¤íŠ¸ì— ì—°ê²°í•  수 ì—†ìŒ:"
+msgstr "ë‹¤ìŒ ìŠ¤í¬ë¦½íŠ¸ì— ì—°ê²°:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "시그ë„:"
+msgstr "ë‹¤ìŒ ì‹œê·¸ë„로부터:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "노드가 지오미트리를 í¬í•¨í•˜ê³  있지 않습니다."
+msgstr "ì”¬ì´ ìŠ¤í¬ë¦½íŠ¸ë¥¼ ê°–ê³  있지 않습니다."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -736,9 +745,8 @@ msgid "Extra Call Arguments:"
msgstr "별ë„ì˜ í˜¸ì¶œ ì¸ìˆ˜:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "고급 옵션"
+msgstr "고급"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -747,7 +755,7 @@ msgstr "지연"
#: editor/connections_dialog.cpp
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
+msgstr "시그ë„ì„ ì§€ì—°í•˜ëŠ” 것으로, íì— ì €ìž¥í•˜ê³  대기 ì‹œê°„ì— ì‹¤í–‰í•©ë‹ˆë‹¤."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -755,12 +763,11 @@ msgstr "1회"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "첫 ë°©ì¶œ ì´í›„ 시그ë„ì„ ì—°ê²° 해제합니다."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "ì‹œê·¸ë„ ì—°ê²°: "
+msgstr "시그ë„ì„ ì—°ê²°í•  수 ì—†ìŒ"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -799,21 +806,19 @@ msgstr "연결하기..."
#: editor/connections_dialog.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
-msgstr "연결해제"
+msgstr "연결 해제"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "ì‹œê·¸ë„ ì—°ê²°: "
+msgstr "시그ë„ì„ ë©”ì„œë“œì— ì—°ê²°"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "연결 편집 "
+msgstr "연결 편집:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr "\"%s\" 시그ë„ì—서 모든 ì—°ê²°ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+msgstr "\"%s\" 시그ë„ì˜ ëª¨ë“  ì—°ê²°ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
@@ -885,22 +890,20 @@ msgid "Dependencies For:"
msgstr "ì¢…ì† ê´€ê³„:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
"씬 '%s'ì´(ê°€) 현재 편집 중입니다.\n"
-"다시 불러올 때 변경 ì‚¬í•­ì´ ì ìš©ë©ë‹ˆë‹¤."
+"다시 불러올 때 ë³€ê²½ì‚¬í•­ì´ ì ìš©ë©ë‹ˆë‹¤."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
"리소스 '%s'ì´(ê°€) 사용 중입니다.\n"
-"다시 불러올 때 변경 ì‚¬í•­ì´ ì ìš©ë©ë‹ˆë‹¤."
+"다시 불러올 때 ë³€ê²½ì‚¬í•­ì´ ì ìš©ë©ë‹ˆë‹¤."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -992,9 +995,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "%dê°œ í•­ëª©ì„ ì˜êµ¬ì ìœ¼ë¡œ 삭제하시겠습니까? (ë˜ëŒë¦¬ê¸° 불가)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "ì¢…ì† ê´€ê³„"
+msgstr "ì¢…ì† ê´€ê³„ ë³´ì´ê¸°"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1256,7 +1258,7 @@ msgstr "오디오 버스 ë ˆì´ì•„웃 열기"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "'%s' 파ì¼ì´ 없습니다."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1313,25 +1315,21 @@ msgid "Valid characters:"
msgstr "유효한 문ìž:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"유효하지 ì•Šì€ ì´ë¦„입니다. ì—”ì§„ì— ì¡´ìž¬í•˜ëŠ” í´ëž˜ìФ ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니"
-"다."
+msgstr "ì—”ì§„ì— ì¡´ìž¬í•˜ëŠ” í´ëž˜ìФ ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr "유효하지 ì•Šì€ ì´ë¦„입니다. 내장 타입 ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
+msgid "Must not collide with an existing built-in type name."
+msgstr "내장 타입 ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr "유효하지 ì•Šì€ ì´ë¦„입니다. ì „ì—­ ìƒìˆ˜ ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
+msgstr "ì „ì—­ ìƒìˆ˜ ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "키워드를 오토로드 ì´ë¦„으로 사용할 수 없습니다."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1362,9 +1360,8 @@ msgid "Rearrange Autoloads"
msgstr "오토로드 재정렬"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
-msgstr "유효하지 ì•Šì€ ê²½ë¡œ."
+msgstr "올바르지 ì•Šì€ ê²½ë¡œ."
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
msgid "File does not exist."
@@ -1417,9 +1414,8 @@ msgid "[unsaved]"
msgstr "[저장ë˜ì§€ 않ìŒ]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "먼저 기본 디렉토리를 ì„ íƒí•´ì£¼ì„¸ìš”"
+msgstr "먼저 기본 디렉토리를 ì„ íƒí•´ì£¼ì„¸ìš”."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1504,126 +1500,112 @@ msgid "Template file not found:"
msgstr "í…œí”Œë¦¿ì„ ì°¾ì„ ìˆ˜ 없습니다:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "ì—디터"
+msgstr "3D ì—디터"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "스í¬ë¦½íЏ ì—디터 열기"
+msgstr "스í¬ë¦½íЏ ì—디터"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "ì—ì…‹ ë¼ì´ë¸ŒëŸ¬ë¦¬ 열기"
+msgstr "ì—ì…‹ ë¼ì´ë¸ŒëŸ¬ë¦¬"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "씬 트리 (노드):"
+msgstr "씬 트리 편집하기"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "가져오기"
+msgstr "ë… ê°€ì ¸ì˜¤ê¸°"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "노드 ì´ë™ë¨"
+msgstr "노드 ë…"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "íŒŒì¼ ì‹œìŠ¤í…œ"
+msgid "FileSystem and Import Docks"
+msgstr "íŒŒì¼ ì‹œìŠ¤í…œ ë…"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "ì „ì²´ 바꾸기 (취소할 수 ì—†ìŒ)"
+msgstr "프로필 '%s'ì„(를) 지우시겠습니까? (뒤로가기 ì—†ìŒ)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "í”„ë¡œí•„ì€ ì˜¬ë°”ë¥¸ íŒŒì¼ ì´ë¦„ì´ë©°, '.'ì„ í¬í•¨í•˜ì§€ 않아야 합니다"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "파ì¼ì´ë‚˜ í´ë”ê°€ 해당 ì´ë¦„ì„ ì‚¬ìš©ì¤‘ìž…ë‹ˆë‹¤."
+msgstr "ì´ ì´ë¦„ì„ ê°€ì§„ í”„ë¡œí•„ì´ ì´ë¯¸ 존재합니다."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(ì—디터 비활성화ë¨, ì†ì„± 비활성화ë¨)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "ì†ì„±ë§Œ"
+msgstr "(ì†ì„± 비활성화ë¨)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "í´ë¦½ 사용 안함"
+msgstr "(ì—디터 비활성화ë¨)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "í´ëž˜ìФ 설명:"
+msgstr "í´ëž˜ìФ 옵션:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "ë‹¤ìŒ ì—디터 열기"
+msgstr "컨í…스트 ì—디터 활성화"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "ì†ì„±:"
+msgstr "í™œì„±í™”ëœ ì†ì„±:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "기능"
+msgstr "í™œì„±í™”ëœ ê¸°ëŠ¥:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "í´ëž˜ìФ 검색"
+msgstr "í™œì„±í™”ëœ í´ëž˜ìФ:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "íŒŒì¼ '%s' 형ì‹ì´ 올바르지 않습니다, 가져오기가 중단ë˜ì—ˆìŠµë‹ˆë‹¤."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"프로필 '%s'ì´(ê°€) ì´ë¯¸ 존재함니다. 가져오기 ì „ì— ë¨¼ì € í”„ë¡œí•„ì„ ì›ê²©ìœ¼ë¡œ 하세"
+"ìš”, 가져오기가 중단ë˜ì—ˆìŠµë‹ˆë‹¤."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "'%s' 템플릿 불러오기 오류"
+msgstr "í”„ë¡œí•„ì„ ê²½ë¡œì— ì €ìž¥í•˜ëŠ” 중 오류: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "비설정"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "현재 버전:"
+msgid "Current Profile:"
+msgstr "현재 프로필"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "현재:"
+msgstr "현재 만들기"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New"
-msgstr "새 파ì¼"
+msgstr "새 것"
#: editor/editor_feature_profile.cpp editor/editor_node.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
@@ -1637,43 +1619,32 @@ msgstr "내보내기"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "사용 가능한 노드:"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "í´ëž˜ìФ 검색"
+msgid "Available Profiles:"
+msgstr "사용 가능한 프로필"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "í´ëž˜ìФ 설명"
+msgstr "í´ëž˜ìФ 옵션"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "새 ì´ë¦„:"
+msgstr "새 프로필 ì´ë¦„:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "ì˜ì—­ 지우기"
+msgstr "프로필 지우기"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "가져온 프로ì íЏ"
+msgstr "가져온 프로필"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "프로ì íЏ 내보내기"
+msgstr "프로필 내보내기"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "내보내기 템플릿 관리"
+msgstr "ì—디터 기능 프로필 관리"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1796,9 +1767,8 @@ msgid "(Un)favorite current folder."
msgstr "현재 í´ë”를 ì¦ê²¨ì°¾ê¸° (안) 합니다."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "숨김 íŒŒì¼ í† ê¸€"
+msgstr "숨김 íŒŒì¼ ê°€ì‹œì„± 토글하기."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1835,6 +1805,8 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"íŒŒì¼ %sì„(를) 가리키는 다른 ìœ í˜•ì˜ ê°€ì ¸ì˜¤ê¸°ë“¤ì´ ìžˆìŠ´ë‹ˆë‹¤, 가져오기가 중단ë˜"
+"었습니다"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -2177,13 +2149,12 @@ msgstr ""
"를 확ì¸í•´ì£¼ì‹­ì‹œì˜¤."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
-"ì´ ë¦¬ì†ŒìŠ¤ëŠ” ì¸ìŠ¤í„´ìŠ¤ ë˜ì—ˆê±°ë‚˜ ìƒì†ëœ ê²ƒì— ì†í•©ë‹ˆë‹¤.\n"
-"ì´ ë¦¬ì†ŒìŠ¤ì— ëŒ€í•œ ìˆ˜ì •ì€ í˜„ìž¬ ì”¬ì„ ì €ìž¥í•˜ëŠ” 경우 유지ë˜ì§€ 않습니다."
+"ì´ ë¦¬ì†ŒìŠ¤ëŠ” ì¸ìŠ¤í„´ìŠ¤ë˜ê±°ë‚˜ ìƒì†ëœ ì”¬ì— ì†í•´ìžˆìŠ´ë‹ˆë‹¤.\n"
+"현재 ì”¬ì„ ì €ìž¥í•˜ëŠ” 경우, ë³€ê²½ì‚¬í•­ì´ ìœ ì§€ë˜ì§€ 않습니다."
#: editor/editor_node.cpp
msgid ""
@@ -2194,28 +2165,25 @@ msgstr ""
"변경한 뒤 다시 가져오십시오."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"ì´ ì”¬ì€ ê°€ì ¸ì˜¤ê¸°ë˜ì—ˆìœ¼ë¯€ë¡œ ë³€ê²½ì‚¬í•­ì´ ìœ ì§€ë˜ì§€ ì•Šì„ ê²ƒìž…ë‹ˆë‹¤.\n"
+"ì´ ì”¬ì€ ê°€ì ¸ì˜¨ 것으로 ë³€ê²½ì‚¬í•­ì´ ìœ ì§€ë˜ì§€ 않습니다.\n"
"ì¸ìŠ¤í„´ìŠ¤í™” í˜¹ì€ ìƒì†ì„ 하면 ì”¬ì„ ìˆ˜ì •í•  수 있게 ë©ë‹ˆë‹¤.\n"
-"관련 작업 절차를 ë” ìž˜ ì´í•´í•˜ë ¤ë©´ 씬 가져오기(scene importing)와 ê´€ë ¨ëœ ë¬¸ì„œ"
-"를 확ì¸í•´ì£¼ì‹­ì‹œì˜¤."
+"ì´ ì›Œí¬í”Œë¡œë¥¼ ë” ìž˜ ì´í•´í•˜ë ¤ë©´ 씬 가져오기와 ê´€ë ¨ëœ ë¬¸ì„œë¥¼ 확ì¸í•´ì£¼ì‹­ì‹œì˜¤."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
-"ì´ê²ƒì€ ì›ê²© 오브ì íŠ¸ì— ëŒ€í•œ 변경ì´ë©° ë³€ê²½ì‚¬í•­ì´ ì €ìž¥ë˜ì§€ 않습니다.\n"
-"ì´ ì›Œí¬í”Œë¡œì— 대해 ë” ìžì„¸ížˆ ì´í•´í•˜ê¸° 위해서 디버깅 관련 문서를 ì½ì–´ë³´ì‹œê¸° ë°”"
-"ëžë‹ˆë‹¤."
+"ì´ê²ƒì€ ì›ê²© 오브ì íŠ¸ìž…ë‹ˆë‹¤, ë³€ê²½ì‚¬í•­ì´ ìœ ì§€ë˜ì§€ 않습니다.\n"
+"ì´ ì›Œí¬í”Œë¡œì— 대해 ë” ìžì„¸ížˆ ì´í•´í•˜ë ¤ë©´ 디버깅 관련 문서를 ì½ì–´ë³´ì‹œê¸° ë°”ëžë‹ˆ"
+"다."
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -2238,9 +2206,8 @@ msgid "Open Base Scene"
msgstr "기본 씬 열기"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "빠른 씬 열기..."
+msgstr "빠른 열기..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2474,12 +2441,11 @@ msgstr "다른 탭 닫기"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "íƒ­ì„ ì˜¤ë¥¸ìª½ìœ¼ë¡œ 닫기"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "ëª¨ë‘ ë‹«ê¸°"
+msgstr "모든 탭 닫기"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2613,7 +2579,7 @@ msgstr "프로ì íЏ ë°ì´í„° í´ë” 열기"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "안드로ì´ë“œ 빌드 템플릿 설치하기"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2725,10 +2691,34 @@ msgid "Editor Layout"
msgstr "ì—디터 ë ˆì´ì•„웃"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "씬 루트 만들기"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "ì—디터 ë°ì´í„°/설정 í´ë” 열기"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "ë‹¤ìŒ ì—디터 열기"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "전체 화면 토글"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "CanvasItem ë³´ì´ê¸° 토글"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "ì—디터 ë°ì´í„°/설정 í´ë” 열기"
@@ -2741,9 +2731,8 @@ msgid "Open Editor Settings Folder"
msgstr "ì—디터 설정 í´ë” 열기"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "내보내기 템플릿 관리"
+msgstr "ì—디터 기능 관리"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2836,15 +2825,18 @@ msgid "Spins when the editor window redraws."
msgstr "ì—디터 윈ë„ìš°ê°€ 다시 그려질 때 회전합니다."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "í•­ìƒ ì—…ë°ì´íЏ"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "ì—°ì†ì "
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "변경사항만 ì—…ë°ì´íЏ"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "ì—…ë°ì´íЏ 스피너 비활성화"
#: editor/editor_node.cpp
@@ -2874,17 +2866,19 @@ msgstr "저장하지 않ìŒ"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
msgstr ""
+"안드로ì´ë“œ 빌드 í…œí”Œë¦¿ì´ ì¡´ìž¬í•˜ì§€ 않습니다, 관련 í…œí”Œë¦¿ì„ ì„¤ì¹˜í•˜ê¸° ë°”ëžë‹ˆë‹¤."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "내보내기 템플릿 관리"
+msgstr "템플릿 관리"
#: editor/editor_node.cpp
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"ì´ê²ƒì€ 커스텀 빌드를 위해 안드로ì´ë“œ 프로ì íŠ¸ë¥¼ 설치합니다.\n"
+"사용하려면 ê°ê° 내보내기 í”„ë¦¬ì…‹ì„ í™œì„±í™”í•´ì•¼ 합니다."
#: editor/editor_node.cpp
msgid ""
@@ -2892,6 +2886,8 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"안드로ì´ë“œ 빌드 í…œí”Œë¦¿ì´ ì´ë¯¸ 설치ë˜ì–´ 있고 ë®ì–´ 쓸 수 없습니다.\n"
+"ëª…ë ¹ì„ ë‹¤ì‹œ 시ë„하기 ì „ì— ìˆ˜ë™ìœ¼ë¡œ \"build\" 디렉토리를 삭제하세요."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3139,6 +3135,11 @@ msgid "Page: "
msgstr "페ì´ì§€: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "ì•„ì´í…œ ì‚­ì œ"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "새 키:"
@@ -3150,11 +3151,6 @@ msgstr "새 값:"
msgid "Add Key/Value Pair"
msgstr "키/ê°’ ìŒ ì¶”ê°€"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "ì•„ì´í…œ ì‚­ì œ"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3361,9 +3357,8 @@ msgid "SSL Handshake Error"
msgstr "SSL 핸드ì‰ì´í¬ 오류"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "ì—ì…‹ ì••ì¶•í•´ì œ"
+msgstr "안드로ì´ë“œ 빌드 소스 ì••ì¶• í•´ì œ"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3382,7 +3377,6 @@ msgid "Remove Template"
msgstr "템플릿 삭제"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
msgstr "템플릿 íŒŒì¼ ì„ íƒ"
@@ -3440,9 +3434,8 @@ msgid "No name provided."
msgstr "ì´ë¦„ì´ ì œê³µë˜ì§€ 않았습니다."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "ì´ë¦„ì— ìœ íš¨í•˜ì§€ ì•Šì€ ë¬¸ìžê°€ í¬í•¨ë¨"
+msgstr "ì œê³µëœ ì´ë¦„ì— ìœ íš¨í•˜ì§€ ì•Šì€ ë¬¸ìžê°€ 있습니다."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3469,12 +3462,10 @@ msgid "Duplicating folder:"
msgstr "복제 ì¤‘ì¸ í´ë”:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "새 ìƒì† 씬..."
+msgstr "새 ìƒì† 씬"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
msgstr "씬 열기"
@@ -3483,12 +3474,10 @@ msgid "Instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
msgstr "ì¦ê²¨ì°¾ê¸°ë¡œ 추가"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
msgstr "ì¦ê²¨ì°¾ê¸°ì—서 ì‚­ì œ"
@@ -3538,21 +3527,18 @@ msgid "Rename"
msgstr "ì´ë¦„ 변경"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "ì´ì „ í´ë”"
+msgstr "ì´ì „ í´ë”/파ì¼"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "ë‹¤ìŒ í´ë”"
+msgstr "ë‹¤ìŒ í´ë”/파ì¼"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "íŒŒì¼ ì‹œìŠ¤í…œ 재검사"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
msgstr "분할 모드 토글"
@@ -3605,6 +3591,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"ë‹¤ìŒ í™•ìž¥ìžëª…ì„ ê°–ëŠ” 파ì¼ì´ 있습니다. 프로ì íЏ 설정ì—서 추가하거나 제거하세"
+"ìš”."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4043,9 +4031,8 @@ msgid "Open Animation Node"
msgstr "애니메ì´ì…˜ 노드 열기"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "삼ê°í˜•ì´ ì´ë¯¸ 존재함"
+msgstr "삼ê°í˜•ì´ ì´ë¯¸ 존재합니다."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4188,7 +4175,6 @@ msgid "Edit Filtered Tracks:"
msgstr "필터 트랙 편집:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
msgstr "필터 활성화"
@@ -4324,9 +4310,8 @@ msgid "Enable Onion Skinning"
msgstr "어니언 ìŠ¤í‚¤ë‹ í™œì„±í™”"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "어니언 스키ë‹"
+msgstr "어니언 ìŠ¤í‚¤ë‹ ì„¤ì •"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4888,7 +4873,7 @@ msgstr "Control ë…¸ë“œì˜ ì•µì»¤ì™€ 여백 ê°’ì˜ í”„ë¦¬ì…‹."
msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
-msgstr ""
+msgstr "활성화하면, 움ì§ì´ëŠ” Control 노드는 ë§ˆì§„ì´ ì•„ë‹Œ 앵커를 변경합니다."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -4904,41 +4889,35 @@ msgstr "앵커 변경"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "ì„ íƒ íˆ´"
+msgstr "ì„ íƒ í•­ëª© 잠금"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "ì„ íƒ í•­ëª© ì‚­ì œ"
+msgstr "ì„ íƒ í•­ëª© 잠금 í•´ì œ"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "ì„ íƒ ë³µì‚¬"
+msgstr "ì„ íƒ í•­ë…¹ 그룹화"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "ì„ íƒ ë³µì‚¬"
+msgstr "ì„ íƒ í•­ëª© 그룹 í•´ì œ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "í¬ì¦ˆ 붙여넣기"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
msgstr "노드ì—서 커스텀 본 만들기"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "í¬ì¦ˆ 정리"
+msgstr "본 지우기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5022,7 +5001,6 @@ msgid "Snapping Options"
msgstr "스냅 옵션"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
msgstr "격ìžì— 스냅"
@@ -5044,37 +5022,30 @@ msgid "Use Pixel Snap"
msgstr "픽셀 스냅 사용"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
msgstr "스마트 스냅"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
msgstr "ë¶€ëª¨ì— ìŠ¤ëƒ…"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
msgstr "노드 ì•µì»¤ì— ìŠ¤ëƒ…"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
-msgstr "노드 ì˜†ì— ìŠ¤ëƒ…"
+msgstr "노드 ì˜†ë©´ì— ìŠ¤ëƒ…"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
msgstr "노드 ì¤‘ì‹¬ì— ìŠ¤ëƒ…"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
msgstr "다른 ë…¸ë“œì— ìŠ¤ëƒ…"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
msgstr "ê°€ì´ë“œì— 스냅"
@@ -5157,9 +5128,8 @@ msgid "Frame Selection"
msgstr "ì„ íƒ í•­ëª© 화면 꽉차게 표시"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Preview Canvas Scale"
-msgstr "ì•„í‹€ë¼ìФ 미리보기"
+msgstr "캔버스 규모 미리보기"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
@@ -5213,9 +5183,8 @@ msgid "Divide grid step by 2"
msgstr "ê²©ìž ë‹¨ê³„ë¥¼ 반으로 ê°ì†Œ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Pan View"
-msgstr "후면 뷰"
+msgstr "팬 뷰"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -5240,7 +5209,6 @@ msgid "Error instancing scene from %s"
msgstr "'%s'ì—서 씬 ì¸ìŠ¤í„´ìŠ¤ 중 오류"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
msgstr "기본 타입 변경"
@@ -5284,6 +5252,14 @@ msgid "Load Emission Mask"
msgstr "ì—미션 ë§ˆìŠ¤í¬ ë¶ˆëŸ¬ì˜¤ê¸°"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "지금 재시작"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "ì—미션 ë§ˆìŠ¤í¬ ì •ë¦¬"
@@ -5312,7 +5288,7 @@ msgstr "픽셀로부터 캡ì³"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Colors"
-msgstr "ì—미션 ì¹¼ë¼"
+msgstr "ë°©ì¶œ 색ìƒ"
#: editor/plugins/cpu_particles_editor_plugin.cpp
msgid "CPUParticles"
@@ -5329,14 +5305,12 @@ msgid "Create Emission Points From Node"
msgstr "노드로부터 ì—미터 í¬ì¸íЏ 만들기"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "플랫0"
+msgstr "플랫 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "플랫1"
+msgstr "플랫 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5363,27 +5337,22 @@ msgid "Load Curve Preset"
msgstr "커브 프리셋 불러오기"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
msgstr "í¬ì¸íЏ 추가"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
msgstr "í¬ì¸íЏ ì‚­ì œ"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
msgstr "왼쪽 선형"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
msgstr "오른쪽 선형"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
msgstr "프리셋 불러오기"
@@ -5440,18 +5409,16 @@ msgid "This doesn't work on scene root!"
msgstr "씬 루트ì—서는 í•  수 없습니다!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "Trimesh 모양 만들기"
+msgstr "Trimesh Static Shape 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Shape 만들기 실패!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Convex 모양 만들기"
+msgstr "Convex Shape 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -5507,7 +5474,6 @@ msgid "Create Trimesh Collision Sibling"
msgstr "Trimesh ì¶©ëŒ í˜•ì œ 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
msgstr "Convex ì¶©ëŒ í˜•ì œ 만들기"
@@ -5868,7 +5834,6 @@ msgid "Split Segment (in curve)"
msgstr "선분 분할 (커브)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
msgstr "관절 ì´ë™"
@@ -6201,10 +6166,20 @@ msgid "Find Next"
msgstr "ë‹¤ìŒ ì°¾ê¸°"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "í•„í„° ì†ì„±"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "메서드 목ë¡ì˜ 사전 ì‹ ì •ë ¬ì„ í‚¤ê±°ë‚˜ ë•니다."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "필터 모드:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "ì •ë ¬"
@@ -6315,18 +6290,16 @@ msgid "Debug with External Editor"
msgstr "외부 ì—디터로 디버깅"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Godot 온ë¼ì¸ 문서 열기"
+msgstr "Godot 온ë¼ì¸ 문서 열기."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "문서 요청"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "피드백으로 Godot 문서를 ê°œì„ í•˜ëŠ”ë° ë„ì›€ì„ ì£¼ì„¸ìš”"
+msgstr "피드백으로 Godot 문서를 ê°œì„ í•˜ëŠ”ë° ë„와주세요."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6371,17 +6344,14 @@ msgid "Search Results"
msgstr "검색 결과"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "연결할 노드:"
+msgstr "ë©”ì„œë“œì— ì—°ê²°:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "소스:"
+msgstr "소스"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
msgstr "시그ë„"
@@ -6390,10 +6360,11 @@ msgid "Target"
msgstr "대ìƒ"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "노드 '%s'ì˜ '%s' ìž…ë ¥ì— ì•„ë¬´ê²ƒë„ ì—°ê²°ë˜ì§€ 않ìŒ."
+msgstr ""
+"노드 '%s'ì—서 노드 '%s'ê¹Œì§€ì˜ ì—°ê²°ì—서 ì‹œê·¸ë„ '%s'ì— ëŒ€í•œ 메서드 '%s'ê°€ 존재"
+"하지 않습니ë”."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6442,18 +6413,13 @@ msgstr "구문 강조"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "ë¶ë§ˆí¬"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "잘ë¼ë‚´ê¸°"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "ì „ì²´ì„ íƒ"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "ë¼ì¸ ì‚­ì œ"
@@ -6471,24 +6437,20 @@ msgid "Toggle Comment"
msgstr "ì£¼ì„ í† ê¸€"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "ìžìœ  ì‹œì  í† ê¸€"
+msgstr "ë¶ë§ˆí¬ 토글"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "ë‹¤ìŒ ì¤‘ë‹¨ì ìœ¼ë¡œ ì´ë™"
+msgstr "ë‹¤ìŒ ë¶ë§ˆí¬ë¡œ ì´ë™"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "ì´ì „ 중단ì ìœ¼ë¡œ ì´ë™"
+msgstr "ì´ì „ ë¶ë§ˆí¬ë¡œ ì´ë™"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "모든 항목 삭제"
+msgstr "모든 ë¶ë§ˆí¬ ì‚­ì œ"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -6564,13 +6526,12 @@ msgid "Contextual Help"
msgstr "ë„ì›€ë§ ë³´ê¸°"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"다ìŒì˜ 파ì¼ë“¤ì´ 디스í¬ìƒ ë” ìµœì‹ ìž…ë‹ˆë‹¤.\n"
-"ì–´ë–¤ ìž‘ì—…ì„ ìˆ˜í–‰í•˜ì‹œê² ìŠµë‹ˆê¹Œ?:"
+"ì´ ì…°ì´ë”는 디스í¬ì—서 수정ë˜ì—ˆìŠµë‹ˆë‹¤.\n"
+"ì–´ë–¤ ìž‘ì—…ì„ í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -6916,7 +6877,6 @@ msgid "Right View"
msgstr "우측 뷰"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
msgstr "ì›ê·¼/ì§êµ ë·° 전환"
@@ -6962,7 +6922,6 @@ msgid "Transform"
msgstr "변형"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
msgstr "물체를 ë°”ë‹¥ì— ìŠ¤ëƒ…"
@@ -7152,14 +7111,12 @@ msgid "Settings:"
msgstr "설정:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "ì„ íƒ í•­ëª© 화면 꽉차게 표시"
+msgstr "í”„ë ˆìž„ì´ ì„ íƒë˜ì§€ 않ìŒ"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "프레임 추가"
+msgstr "%d 프레임 추가"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7210,13 +7167,12 @@ msgid "Animation Frames:"
msgstr "애니메ì´ì…˜ 프레임:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "TileSetì— í…ìŠ¤ì³ ì¶”ê°€í•˜ê¸°."
+msgstr "파ì¼ì—서 í…ìŠ¤ì³ ì¶”ê°€í•˜ê¸°"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "스프ë¼ì´íЏ 시트ì—서 프레임 추가하기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
@@ -7235,29 +7191,24 @@ msgid "Move (After)"
msgstr "ì´ë™ (ì´í›„)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select Frames"
-msgstr "ìŠ¤íƒ í”„ë ˆìž„"
+msgstr "프레임 ì„ íƒ"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "가로로 뒤집기"
+msgstr "수í‰:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "버틱스"
+msgstr "수ì§:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "ì „ì²´ì„ íƒ"
+msgstr "모든 프레임 ì„ íƒ/지우기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "씬으로부터 만들기"
+msgstr "스프ë¼ì´íЏ 시트ì—서 프레임 만들기"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7329,9 +7280,8 @@ msgid "Remove All"
msgstr "ëª¨ë‘ ì‚­ì œ"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "테마 편집..."
+msgstr "테마 편집"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7358,31 +7308,28 @@ msgid "Create From Current Editor Theme"
msgstr "현재 ì—디터 테마로부터 만들기"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "마우스 버튼"
+msgstr "토글 버튼"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "ê°€ìš´ë° ë²„íŠ¼"
+msgstr "비활성화 버튼"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "항목"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "비활성화ë¨"
+msgstr "ë¹„í™œì„±í™”ëœ í•­ëª©"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
-msgstr "항목 확ì¸"
+msgstr "ì²´í¬ í•­ëª©"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Checked Item"
-msgstr "항목 확ì¸ë¨"
+msgstr "ì²´í¬ëœ 항목"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Radio Item"
@@ -7390,38 +7337,35 @@ msgstr "ë¼ë””오 항목"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Checked Radio Item"
-msgstr "ë¼ë””오 항목 확ì¸ë¨"
+msgstr "ì²´í¬ëœ ë¼ë””오 항목"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "ì´ë¦„있는 분기."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "하위 메뉴"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "항목"
+msgstr "항목 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "항목"
+msgstr "항목 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
-msgstr "가진다"
+msgstr "갖춤"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Many"
msgstr "ë§Žì€"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "비활성화ë¨"
+msgstr "ë¹„í™œì„±í™”ëœ LineEdit"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7436,13 +7380,12 @@ msgid "Tab 3"
msgstr "탭 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "ìžì‹ë…¸ë“œ 편집 가능"
+msgstr "편집 가능한 항목"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "하위 트리"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7522,14 +7465,12 @@ msgid "Mirror Y"
msgstr "Y축 뒤집기"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "ìžë™ 타ì¼"
+msgstr "ì˜¤í† íƒ€ì¼ ë¹„í™œì„±í™”"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "필터 우선 순위 편집"
+msgstr "우선 순위 편집"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7540,33 +7481,30 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift+ìš°í´ë¦­: ì„  그리기\n"
+"Shift+Ctrl+ìš°í´ë¦­:사ê°í˜• 페ì¸íЏ"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
msgstr "íƒ€ì¼ ì„ íƒ"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
-msgstr "왼쪽으로 회전"
+msgstr "왼쪽으로 회전하기"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
-msgstr "오른쪽으로 회전"
+msgstr "오른쪽으로 회전하기"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
-msgstr "가로로 뒤집기"
+msgstr "수í‰ìœ¼ë¡œ 뒤집기"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
-msgstr "세로로 뒤집기"
+msgstr "수ì§ìœ¼ë¡œ 뒤집기"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
msgstr "변형 지우기"
@@ -7603,44 +7541,36 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "ì´ì „ 모양, 하위 타ì¼, í˜¹ì€ íƒ€ì¼ì„ ì„ íƒí•˜ì„¸ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "실행 모드:"
+msgstr "지역 모드"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "보간 모드"
+msgstr "ì¶©ëŒ ëª¨ë“œ"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "ì–´í´ë£¨ì „ í´ë¦¬ê³¤ 편집"
+msgstr "ì–´í´ë£¨ì „ 모드"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "내비게ì´ì…˜ 메시 만들기"
+msgstr "내비게ì´ì…˜ 모드"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "회전 모드"
+msgstr "비트 ë§ˆìŠ¤í¬ ëª¨ë“œ"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "내보내기 모드:"
+msgstr "우선 순위 모드"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "팬 모드"
+msgstr "ì•„ì´ì½˜ 모드"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "팬 모드"
+msgstr "Z ì¸ë±ìФ 모드"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7725,15 +7655,15 @@ msgid "Delete polygon."
msgstr "í´ë¦¬ê³¤ 삭제하기."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
"Shift+LMB: Set wildcard bit.\n"
"Click on another Tile to edit it."
msgstr ""
-"좌í´ë¦­: 비트 켜기를 설정함.\n"
-"ìš°í´ë¦­: 비트 ë„기를 설정함.\n"
+"좌í´ë¦­: 비트를 켬.\n"
+"ìš°í´ë¦­: 비트를 ë”.\n"
+"Shift+좌í´ë¦­: 와ì¼ë“œì¹´ë“œ 비트를 설정함.\n"
"다른 타ì¼ì„ 편집하려면 í´ë¦­í•˜ì„¸ìš”."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -7847,77 +7777,64 @@ msgid "TileSet"
msgstr "타ì¼ì…‹"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "입력 추가"
+msgstr "입력 추가 +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "입력 추가"
+msgstr "출력 추가 +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "í¬ê¸°:"
+msgstr "스칼ë¼"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "ì¸ìŠ¤íŽ™í„°"
+msgstr "벡터"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "불리언"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "입력 추가"
+msgstr "ìž…ë ¥ í¬íЏ 추가"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "출력 í¬íЏ 추가"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "기본 타입 변경"
+msgstr "ìž…ë « í¬íЏ 타입 변경"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "기본 타입 변경"
+msgstr "출력 í¬íЏ 타입 변경"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "ìž…ë ¥ ì´ë¦„ 변경"
+msgstr "ìž…ë ¥ í¬íЏ ì´ë¦„ 변경"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "ìž…ë ¥ ì´ë¦„ 변경"
+msgstr "출력 í¬íЏ ì´ë¦„ 변경"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "í¬ì¸íЏ ì‚­ì œ"
+msgstr "ìž…ë ¥ í¬íЏ ì‚­ì œ"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "í¬ì¸íЏ ì‚­ì œ"
+msgstr "출력 í¬íЏ ì‚­ì œ"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "í‘œí˜„ì‹ ë³€ê²½"
+msgstr "í‘œí˜„ì‹ ì„¤ì •"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "비주얼 ì…°ì´ë”"
+msgstr "비주얼 ì…°ì´ë” 노드 í¬ê¸° ì¡°ì •"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
@@ -7953,543 +7870,319 @@ msgstr "프래그먼트"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Light"
-msgstr "ë¹›"
+msgstr "조명"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "노드 만들기"
+msgstr "ì…°ì´ë” 노드 만들기"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "함수로 ì´ë™"
+msgstr "ìƒ‰ìƒ í•¨ìˆ˜."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
-msgstr ""
+msgstr "ìƒ‰ìƒ ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "함수 만들기"
+msgstr "회색조 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "HSV 벡터를 RGB로 변환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "RGB 벡터를 HSV로 변환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "함수명 변경"
+msgstr "세피아 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "번 ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
-msgstr ""
+msgstr "ì–´ë‘움 ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Difference operator."
-msgstr "변경사항만"
+msgstr "ì°¨ì´ ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
-msgstr ""
+msgstr "ë‹·ì§€ ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "HardLight operator"
-msgstr ""
+msgstr "하드 ë¼ì´íЏ ì—°ì‚°ìž"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Lighten operator."
-msgstr ""
+msgstr "ë°ìŒ ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Overlay operator."
-msgstr ""
+msgstr "ì˜¤ë²„ë ˆì´ ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Screen operator."
-msgstr ""
+msgstr "화면 ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "SoftLight operator."
-msgstr ""
+msgstr "소프트 ë¼ì´íЏ ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "비선형"
+msgstr "ìƒ‰ìƒ ìƒìˆ˜."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "변형 지우기"
+msgstr "ìƒ‰ìƒ ìœ ë‹ˆí¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
-msgstr ""
+msgstr "ì œê³µëœ ìŠ¤ì¹¼ë¼ê°€ 같거나, ë” í¬ê±°ë‚˜, ë” ìž‘ìœ¼ë©´ 관련 벡터를 반환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
-msgstr ""
+msgstr "불리언 ê°’ì´ ì°¸ì´ê±°ë‚˜ ê±°ì§“ì´ë©´ 관련 벡터를 반환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Boolean constant."
-msgstr "Vec ìƒìˆ˜ 변경"
+msgstr "불리언 ìƒìˆ˜."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
-msgstr ""
+msgstr "불리언 유니í¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
-msgid "Input parameter."
-msgstr "ë¶€ëª¨ì— ìŠ¤ëƒ…"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
+msgid "'%s' input parameter for all shader modes."
+msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'uv' ìž…ë ¥ 매개변수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
+msgid "Input parameter."
+msgstr "입력 매개변수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'uv' ìž…ë ¥ 매개변수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'view' ìž…ë ¥ 매개변수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment shader mode."
+msgstr "프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'side' ìž…ë ¥ 매개변수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for light shader mode."
+msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'diffuse' ìž…ë ¥ 매개변수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex shader mode."
+msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'custom' ìž…ë ¥ 매개변수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'uv' ìž…ë ¥ 매개변수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar function."
-msgstr "Scalar 함수 변경"
+msgstr "Scalar 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar operator."
-msgstr "Scalar ì—°ì‚°ìž ë³€ê²½"
+msgstr "Scalar ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "E ìƒìˆ˜ (2.718282). ìžì—° ë¡œê·¸ì˜ ë°‘ì„ ë‚˜íƒ€ëƒ„."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "Epsilon ìƒìˆ˜ (0.00001). ìŠ¤ì¹¼ë¼ ìˆ˜ì—서 가능한 가장 ìž‘ì€ ìˆ˜."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "Phi ìƒìˆ˜ (1.618034). 황금 비율."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "Pi/4 ìƒìˆ˜ (0.785398) í˜¹ì€ 45ë„."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "Pi/2 ìƒìˆ˜ (1.570796) í˜¹ì€ 90ë„."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "Pi ìƒìˆ˜ (3.141593) í˜¹ì€ 180ë„."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "Tau ìƒìˆ˜ (6.283185) í˜¹ì€ 360ë„."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "Sqrt2 ìƒìˆ˜ (1.414214). 2ì˜ ì œê³±ê·¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì ˆëŒ€ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë§¤ê°œë³€ìˆ˜ì˜ ì—­ìŒê³¡ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë§¤ê°œë³€ìˆ˜ì˜ ì—­ìŒê³¡ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬íƒ„젠트 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ë“¤ì˜ ì•„í¬íƒ„젠트 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë§¤ê°œë³€ìˆ˜ì˜ ì—­ìŒê³¡íƒ„젠트 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
+msgstr "매개변수보다 í¬ê±°ë‚˜ ê°™ì€ ê°€ìž¥ 가까운 정수를 찾습니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "ë‘ ê°œì˜ ë‹¤ë¥¸ ê°’ 사ì´ì— 놓ì´ëŠ” ê°’ì„ ì œí•œí•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë§¤ê°œë³€ìˆ˜ì˜ ìŒê³¡ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "ê°ë„ 단위를 ë¼ë””안ì—서 ë„로 변환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "eê°€ ë°‘ì¸ ì§€ìˆ˜ 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "2ê°€ ë°‘ì¸ ì§€ìˆ˜ 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
+msgstr "매개변수보다 ì ê±°ë‚˜ ê°™ì€ ê°€ìž¥ 가까운 정수를 찾습니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
-msgstr ""
+msgstr "ì¸ìˆ˜ì˜ 프랙탈 구조를 계산합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì œê³±ê·¼ 역함수 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
-msgstr ""
+msgstr "ìžì—°ë¡œê·¸."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "2ê°€ ë°‘ì¸ ë¡œê·¸ 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
-msgstr ""
+msgstr "ë‘ ê°’ 중 ë” í° ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the lesser of two values."
-msgstr ""
+msgstr "ë‘ ê°’ 중 ë” ìž‘ì€ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
-msgstr ""
+msgstr "ë‘ ìŠ¤ì¹¼ë¼ ê°’ ì‚¬ì´ ì„ í˜• ë³´ê°„."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the opposite value of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ë°˜ëŒ€ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - scalar"
-msgstr ""
+msgstr "1.0 - 스칼ë¼"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
+msgstr "첫 번째 매개변수를 ë‘ ë²ˆì§¸ 매개변수로 제곱한 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in degrees to radians."
-msgstr ""
+msgstr "ê°ë„ 단위를 ë„ì—서 ë¼ë””안으로 변환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / scalar"
-msgstr ""
+msgstr "1.0 / 스칼ë¼"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest integer to the parameter."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) 매개변수ì—서 가장 가까운 정수를 찾습니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest even integer to the parameter."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) 매개변수ì—서 가장 가까운 ì§ìˆ˜ 정수를 찾습니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
+msgstr "ê°’ì„ 0.0ì—서 1.0 사ì´ë¡œ 고정합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Extracts the sign of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ë¶€í˜¸ë¥¼ 추출합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the sine of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë§¤ê°œë³€ìˆ˜ì˜ ìŒê³¡ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the square root of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì œê³±ê·¼ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8499,6 +8192,10 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep 함수( 스칼ë¼(edge0), 스칼ë¼(edge1), 스칼ë¼(x) ).\n"
+"\n"
+"'x'ê°€ 'edge0'보다 작고, 'edge1'보다 í¬ë©´ 0.0ì„ ë°˜í™˜í•©ë‹ˆë‹¤. 그렇지 ì•Šì€ ê²½ìš°, "
+"ë°˜í™˜ê°’ì€ ì—르미트 다항ì‹ì„ 통해 0.0ê³¼ 1.0사ì´ë¡œ ë³´ê°„ë©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8506,71 +8203,69 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Step 함수( 스칼ë¼(edge), 스칼ë¼(x) ).\n"
+"\n"
+"'x'ê°€ 'edge'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  그렇지 않으면 1.0ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
-msgstr ""
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ íƒ„ì  íŠ¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë§¤ê°œë³€ìˆ˜ì˜ ìŒê³¡íƒ„젠트 ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the truncated value of the parameter."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë§¤ê°œë³€ìˆ˜ì˜ ì ˆì‚¬ ê°’ì„ ì°¾ìŠµë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds scalar to scalar."
-msgstr ""
+msgstr "스칼ë¼ì— 스칼ë¼ë¥¼ ë”합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides scalar by scalar."
-msgstr ""
+msgstr "스칼ë¼ë¥¼ 스칼ë¼ë¡œ 나눕니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies scalar by scalar."
-msgstr ""
+msgstr "스칼ë¼ë¥¼ 스칼ë¼ë¡œ 곱합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two scalars."
-msgstr ""
+msgstr "ë‘ ìŠ¤ì¹¼ë¼ì˜ 나머지를 반환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts scalar from scalar."
-msgstr ""
+msgstr "스칼ë¼ì—서 스칼ë¼ë¥¼ ëºë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar constant."
-msgstr "Scalar ìƒìˆ˜ 변경"
+msgstr "ìŠ¤ì¹¼ë¼ ìƒìˆ˜."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar uniform."
-msgstr "Scalar uniform 변경"
+msgstr "ìŠ¤ì¹¼ë¼ ìœ ë‹ˆí¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
-msgstr ""
+msgstr "세제곱 í…ìŠ¤ì³ ë£©ì—…ì„ ìˆ˜í–‰í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the texture lookup."
-msgstr ""
+msgstr "í…ìŠ¤ì³ ë£©ì—…ì„ ìˆ˜í–‰í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Cubic texture uniform."
-msgstr "í…ìŠ¤ì³ uniform 변경"
+msgstr "세제곱 í…ìŠ¤ì³ ìœ ë‹ˆí¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "2D texture uniform."
-msgstr "í…ìŠ¤ì³ uniform 변경"
+msgstr "2D í…ìŠ¤ì³ ìœ ë‹ˆí¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform function."
-msgstr "변형 대화 ìƒìž..."
+msgstr "변형 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8582,74 +8277,76 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
+"(GLES3ë§Œ 가능) 한 ìŒì˜ ë²¡í„°ì˜ ì™¸ì ì„ 계산합니다.\n"
+"\n"
+"OuterProduct는 첫 매개변수 'c'를 ì—´ 벡터로 취급합니다 (1열로 ì´ë£¨ì–´ì§„ 행렬) "
+"그리고 ë‘ ë²ˆì§¸ 매개변수 'r'ì„ í–‰ 벡터로 취급합니다 (1행으로 ì´ë£¨ì–´ì§„ 행렬) ê·¸"
+"리고 선형 대수 í–‰ë ¬ì— 'c * r'ì„ ê³±í•©ë‹ˆë‹¤, í–‰ë ¬ì„ ì‚°ì¶œí•˜ëŠ”ë°, í–‰ì˜ ìˆ˜ëŠ” 'c'ì˜ "
+"구성 요소 수ì´ê³  ì—´ì˜ ìˆ˜ëŠ” 'r'ì˜ êµ¬ì„± 요소 수입니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr ""
+msgstr "4ê°œì˜ ë²¡í„°ë¡œ ë³€í˜•ì„ í•©ì„±í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
-msgstr ""
+msgstr "ë³€í˜•ì„ 4ê°œì˜ ë²¡í„°ë¡œ 분해합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the determinant of a transform."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë³€í˜•ì˜ í–‰ë ¬ì‹ì„ 계산합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the inverse of a transform."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë³€í˜•ì˜ ì—­í•¨ìˆ˜ë¥¼ 계산합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the transpose of a transform."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) ë³€í˜•ì˜ ì „ì¹˜ë¥¼ 계산합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies transform by transform."
-msgstr ""
+msgstr "ë³€í˜•ì— ë³€í˜•ì„ ê³±í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by transform."
-msgstr ""
+msgstr "ë³€í˜•ì— ë²¡í„°ë¥¼ 곱합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform constant."
-msgstr "변형 중단."
+msgstr "변형 ìƒìˆ˜."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform uniform."
-msgstr "변형 중단."
+msgstr "변형 유니í¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector function."
-msgstr "í•¨ìˆ˜ì— ë°°ì¹˜í•¨."
+msgstr "벡터 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector operator."
-msgstr "Vec ì—°ì‚°ìž ë³€ê²½"
+msgstr "벡터 ì—°ì‚°ìž."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
-msgstr ""
+msgstr "세 ê°œì˜ ìŠ¤ì¹¼ë¼ë¡œ 벡터를 합성합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr ""
+msgstr "벡터를 세 ê°œì˜ ìŠ¤ì¹¼ë¼ë¡œ 분해합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
-msgstr ""
+msgstr "ë‘ ë²¡í„°ì˜ ë²¡í„°ê³± ê°’ì„ ê³„ì‚°í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the distance between two points."
-msgstr ""
+msgstr "ë‘ ì  ì‚¬ì´ì˜ 거리를 반환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr ""
+msgstr "ë‘ ë²¡í„°ì˜ ìŠ¤ì¹¼ë¼ê³± ê°’ì„ ê³„ì‚°í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8658,36 +8355,41 @@ msgid ""
"incident vector, and Nref, the reference vector. If the dot product of I and "
"Nref is smaller than zero the return value is N. Otherwise -N is returned."
msgstr ""
+"참조 벡터와 ê°™ì€ ë°©í–¥ì„ ê°€ë¦¬í‚¤ëŠ” 벡터를 반환합니다. 함수ì—는 세 ê°œì˜ ë²¡í„° 매"
+"개변수가 있습니다 : ë°©í–¥ì„ ì§€ì •í•˜ëŠ” 벡터 N, ì¸ì‹œë˜íЏ 벡터 I, 그리고 참조 벡"
+"í„° Nref. I와 Nrefì˜ ìŠ¤ì¹¼ë¼ê³± ê°’ì´ 0보다 작으면 ë°˜í™˜ê°’ì€ Nì´ ë©ë‹ˆë‹¤. 그렇지 않"
+"으면 -Nì´ ë°˜í™˜ë©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr ""
+msgstr "ë²¡í„°ì˜ ê¸¸ì´ë¥¼ 계산합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
-msgstr ""
+msgstr "ë‘ ë²¡í„° ê°„ì˜ ì„ í˜• ë³´ê°„."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr ""
+msgstr "ë²¡í„°ì˜ ë…¸ë©€ ê°’ì„ ê³„ì‚°í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
-msgstr ""
+msgstr "1.0 - 벡터"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / vector"
-msgstr ""
+msgstr "1.0 / 벡터"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns a vector that points in the direction of reflection ( a : incident "
"vector, b : normal vector )."
msgstr ""
+"반사 ë°©í–¥ì„ ê°€ë¦¬í‚¤ëŠ” 벡터를 반환합니다 (a : ì¸ì‹œë˜íЏ 벡터, b : 노멀 벡터)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns a vector that points in the direction of refraction."
-msgstr ""
+msgstr "반사 ë°©í–¥ì„ ê°€ë¦¬í‚¤ëŠ” 벡터를 반환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8697,6 +8399,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep 함수( 벡터(edge0), 벡터(edge1), 벡터(x) ).\n"
+"\n"
+"'x'ê°€ 'edge0'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  'x'ê°€ 'edge1'보다 í¬ë©´ 1.0ì„ ë°˜í™˜í•©ë‹ˆ"
+"다. 그렇지 않으면 반환 ê°’ì€ ì—르미트 다항ì‹ì„ 통해 0.0ê³¼ 1.0 사ì´ë¡œ ë³´ê°„ë©ë‹ˆ"
+"다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8706,6 +8413,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"SmoothStep 함수( 스칼ë¼(edge0), 스칼ë¼(edge1), 벡터(x) ).\n"
+"\n"
+"'x'ê°€ 'edge0'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  'x'ê°€ 'edge1'보다 í¬ë©´ 1.0ì„ ë°˜í™˜í•©ë‹ˆ"
+"다. 그렇지 않으면 반환 ê°’ì€ ì—르미트 다항ì‹ì„ 통해 0.0ê³¼ 1.0 사ì´ë¡œ ë³´ê°„ë©ë‹ˆ"
+"다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8713,6 +8425,9 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Step 함수( 벡터(edge), 벡터(x) ).\n"
+"\n"
+"'x'ê°€ 'edge'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  그렇지 않으면 1.0ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8720,36 +8435,37 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Step 함수( 스칼ë¼(edge), 벡터(x) ).\n"
+"\n"
+"'x'ê°€ 'edge'보다 작으면 0.0ì„ ë°˜í™˜í•˜ê³  그렇지 않으면 1.0ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
-msgstr ""
+msgstr "ë²¡í„°ì— ë²¡í„°ë¥¼ ë”합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr ""
+msgstr "벡터를 벡터로 나눕니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
-msgstr ""
+msgstr "벡터를 벡터로 곱합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two vectors."
-msgstr ""
+msgstr "ë‘ ë²¡í„°ì˜ ë‚˜ë¨¸ì§€ë¥¼ 반환합니다."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts vector from vector."
-msgstr ""
+msgstr "벡터ì—서 벡터를 ëºë‹ˆë‹¤."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector constant."
-msgstr "Vec ìƒìˆ˜ 변경"
+msgstr "벡터 ìƒìˆ˜."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector uniform."
-msgstr "ê· ì¼í•˜ê²Œ 배치함."
+msgstr "벡터 유니í¼."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8757,56 +8473,73 @@ msgid ""
"output ports. This is a direct injection of code into the vertex/fragment/"
"light function, do not use it to write the function declarations inside."
msgstr ""
+"커스텀 Godot ì…°ì´ë” 언어 명령문으로, 커스텀 ìž…ë ¥ ë° ì¶œë ¥ í¬íŠ¸ê°€ 있습니다. 버"
+"í…스/프래그먼트/조명 í•¨ìˆ˜ì— ì§ì ‘ 코드를 넣는 것ì´ë¯€ë¡œ, 코드 ë‚´ì— í•¨ìˆ˜ ì„ ì–¸ì„ "
+"ì ëŠ” ìš©ë„로 ì“°ì§€ 마세요."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
msgstr ""
+"ì¹´ë©”ë¼ì˜ 화면 방향과 표면 ë…¸ë©€ì˜ ìŠ¤ì¹¼ë¼ê³±ì„ 기반으로 하는 í´ì˜¤í”„를 반환합니"
+"다 (í´ì˜¤í”„와 ê´€ë ¨ëœ ìž…ë ¥ì„ ì „ë‹¬í•¨)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Scalar derivative function."
-msgstr ""
+msgstr "(GLES3ë§Œ 가능) (프래그먼트/조명 모드만 가능) ìŠ¤ì¹¼ë¼ ë¯¸ë¶„ 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Vector derivative function."
-msgstr ""
+msgstr "(GLES3만 가능) (프래그먼트/조명 모드만 가능) 벡터 미분 함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(GLES3ë§Œ 가능) (프래그먼트/조명 모드만 가능) 지역 ì°¨ë¶„ì„ ì´ìš©í•œ 'x'ì˜ (벡터) "
+"ë„함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(GLES3ë§Œ 가능) (프래그먼트/조명 모드만 가능) 지역 ì°¨ë¶„ì„ ì´ìš©í•œ 'x'ì˜ (스칼"
+"ë¼) ë„함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(GLES3ë§Œ 가능) (프래그먼트/조명 모드만 가능) 지역 ì°¨ë¶„ì„ ì´ìš©í•œ 'y'ì˜ (벡터) "
+"ë„함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(GLES3ë§Œ 가능) (프래그먼트/조명 모드만 가능) 지역 ì°¨ë¶„ì„ ì´ìš©í•œ 'y'ì˜ (스칼"
+"ë¼) ë„함수."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(GLES3ë§Œ 가능) (프래그먼트/조명 모드만 가능) (벡터) 'x'와 'y'ì˜ ì ˆëŒ€ 미분 ê°’"
+"ì˜ í•©."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(GLES3ë§Œ 가능) (프래그먼트/조명 모드만 가능) (스칼ë¼) 'x'와 'y'ì˜ ì ˆëŒ€ 미분 "
+"ê°’ì˜ í•©."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "VisualShader"
@@ -8814,7 +8547,7 @@ msgstr "비주얼 ì…°ì´ë”"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Edit Visual Property"
-msgstr "비주얼 ì†ì„± 편집ë¨"
+msgstr "비주얼 ì†ì„± 편집"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Visual Shader Mode Changed"
@@ -9141,7 +8874,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"
@@ -9153,15 +8885,14 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"ë‹¤ìŒ í”„ë¡œì íЏ 설정 파ì¼ì€ ì´ ë²„ì „ì˜ Godot로 ìƒì„±ë˜ì§€ 않았습니다.\n"
+"ë‹¤ìŒ í”„ë¡œì íЏ 설정 파ì¼ì€ 현재 ë²„ì „ì˜ Godotì—서 ìƒì„±í•œ ê²ƒì´ ì•„ë‹™ë‹ˆë‹¤.\n"
"↵\n"
"%s↵\n"
"↵\n"
"파ì¼ì„ 연다면, 현재 Godotì˜ êµ¬ì„± íŒŒì¼ í˜•ì‹ìœ¼ë¡œ 변환ë©ë‹ˆë‹¤.\n"
-"경고: ì´ì „ ë²„ì „ì˜ ì—”ì§„ìœ¼ë¡œ ë” ì´ìƒ ì—´ 수 없게 ë  ê²ƒìž…ë‹ˆë‹¤."
+"경고: ë” ì´ìƒ ì´ í”„ë¡œì íŠ¸ë¥¼ ì´ì „ ë²„ì „ì˜ ì—”ì§„ì—서 ì—´ 수 없게 ë©ë‹ˆë‹¤."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"The following project settings file was generated by an older engine "
"version, and needs to be converted for this version:\n"
@@ -9172,13 +8903,13 @@ msgid ""
"Warning: You won't 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 ""
@@ -9189,15 +8920,14 @@ msgstr ""
"지 않습니다."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
"프로ì íŠ¸ë¥¼ 실행할 수 없습니다: ë©”ì¸ ì”¬ì´ ì§€ì •ë˜ì§€ 않았습니다.\n"
-"\"프로ì íЏ 설정\"ì˜ \"Application\" 카테고리ì—서 ë©”ì¸ ì”¬ì„ ì„¤ì •í•˜ê³  프로ì íЏ"
-"를 편집하세요."
+"프로ì íŠ¸ë¥¼ 편집하고 프로ì íЏ ì„¤ì •ì˜ \"Application\" 카테고리ì—서 ë©”ì¸ ì”¬ì„ ì„¤"
+"정하세요."
#: editor/project_manager.cpp
msgid ""
@@ -9208,49 +8938,48 @@ msgstr ""
"프로ì íŠ¸ë¥¼ 편집하여 최초 가져오기가 실행ë˜ë„ë¡ í•˜ì„¸ìš”."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Are you sure to run %d projects at once?"
-msgstr "ë‘ ê°œ ì´ìƒì˜ 프로ì íŠ¸ë¥¼ 실행하려는 ê²ƒì´ í™•ì‹¤í•©ë‹ˆê¹Œ?"
+msgstr "한 ë²ˆì— %dê°œì˜ í”„ë¡œì íŠ¸ë¥¼ 실행하시겠습니까?"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove %d projects from the list?\n"
"The project folders' contents won't be modified."
msgstr ""
-"목ë¡ì—서 프로ì íŠ¸ë¥¼ 삭제하시겠습니까? (í´ë”ì˜ ë‚´ìš©ë¬¼ì€ ì‚¬ë¼ì§€ì§€ 않습니다)"
+"%dê°œì˜ í”„ë¡œì íŠ¸ë¥¼ 삭제하시겠습니까?\n"
+"프로ì íЏ í´ë”ì˜ ë‚´ìš©ì€ ìˆ˜ì •ë˜ì§€ 않습니다."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove this project from the list?\n"
"The project folder's contents won't be modified."
msgstr ""
-"목ë¡ì—서 프로ì íŠ¸ë¥¼ 삭제하시겠습니까? (í´ë”ì˜ ë‚´ìš©ë¬¼ì€ ì‚¬ë¼ì§€ì§€ 않습니다)"
+"ì´ í”„ë¡œì íŠ¸ë¥¼ 목ë¡ì—서 삭제하시겠습니까?\n"
+"프로ì íЏ í´ë”ì˜ ë‚´ìš©ì€ ìˆ˜ì •ë˜ì§€ 않습니다."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list? (Folders contents will not be "
"modified)"
msgstr ""
-"목ë¡ì—서 프로ì íŠ¸ë¥¼ 삭제하시겠습니까? (í´ë”ì˜ ë‚´ìš©ë¬¼ì€ ì‚¬ë¼ì§€ì§€ 않습니다)"
+"목ë¡ì—서 모든 ì´ë¦„없는 프로ì íŠ¸ë¥¼ 삭제하시겠습니까? (í´ë”ì˜ ë‚´ìš©ë¬¼ì€ ìˆ˜ì •ë˜"
+"지 않습니다)"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
msgstr ""
"언어가 변경ë˜ì—ˆìŠµë‹ˆë‹¤.\n"
-"UI는 ì—디터나 프로ì íЏ 매니저가 ë‹¤ìŒ ë²ˆì— ì‹¤í–‰ë  ë•Œ ì—…ë°ì´íЏ ë©ë‹ˆë‹¤."
+"ì¸í„°íŽ˜ì´ìŠ¤ëŠ” ì—디터나 프로ì íЏ 매니저를 재시작할 때 ì—…ë°ì´íЏë©ë‹ˆë‹¤."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
-msgstr "%sì—서 기존 Godot 프로ì íŠ¸ë“¤ì„ ìŠ¤ìº”í•˜ë ¤ê³  합니다. 진행하시겠습니까?"
+msgstr ""
+"Godot 프로ì íŠ¸ê°€ 있는지 %s í´ë”를 스캔하시겠습니까?\n"
+"약간 ì‹œê°„ì´ ê±¸ë¦´ 수 있습니다."
#: editor/project_manager.cpp
msgid "Project Manager"
@@ -9273,9 +9002,8 @@ msgid "New Project"
msgstr "새 프로ì íЏ"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Remove Missing"
-msgstr "í¬ì¸íЏ ì‚­ì œ"
+msgstr "누ë½ëœ 부분 ì‚­ì œ"
#: editor/project_manager.cpp
msgid "Templates"
@@ -9294,12 +9022,11 @@ msgid "Can't run project"
msgstr "프로ì íŠ¸ë¥¼ 실행할 수 ì—†ìŒ"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
-"프로ì íŠ¸ê°€ 현재 í•˜ë‚˜ë„ ì—†ìŠµë‹ˆë‹¤.\n"
+"현재 프로ì íŠ¸ê°€ í•˜ë‚˜ë„ ì—†ìŠµë‹ˆë‹¤.\n"
"ì—ì…‹ ë¼ì´ë¸ŒëŸ¬ë¦¬ì—서 ê³µì‹ ì˜ˆì œ 프로ì íŠ¸ë¥¼ 찾아보시겠습니까?"
#: editor/project_settings_editor.cpp
@@ -9327,9 +9054,8 @@ msgstr ""
"안 ë©ë‹ˆë‹¤"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "An action with the name '%s' already exists."
-msgstr "ì•¡ì…˜ '%s'ì´(ê°€) ì´ë¯¸ 존재합니다!"
+msgstr "ì´ë¦„ '%s'ì„(를) 가진 ì•¡ì…˜ì´ ì´ë¯¸ 존재합니다."
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
@@ -9548,9 +9274,8 @@ msgid "Override For..."
msgstr "재정ì˜..."
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-#, fuzzy
msgid "The editor must be restarted for changes to take effect."
-msgstr "변경 ì‚¬í•­ì„ ì ìš©í•˜ë ¤ë©´ ì—디터를 다시 실행해야 합니다"
+msgstr "변경 ì‚¬í•­ì„ ì ìš©í•˜ë ¤ë©´ ì—디터를 다시 실행해야 합니다."
#: editor/project_settings_editor.cpp
msgid "Input Map"
@@ -9609,14 +9334,12 @@ msgid "Locales Filter"
msgstr "ë¡œì¼€ì¼ í•„í„°"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show All Locales"
msgstr "모든 ë¡œì¼€ì¼ ë³´ê¸°"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show Selected Locales Only"
-msgstr "ì„ íƒí•œ 로케ì¼ë§Œ 표시"
+msgstr "ì„ íƒí•œ 로케ì¼ë§Œ 보기"
#: editor/project_settings_editor.cpp
msgid "Filter mode:"
@@ -9703,7 +9426,6 @@ msgid "Suffix"
msgstr "접미사"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Advanced Options"
msgstr "고급 옵션"
@@ -9965,9 +9687,8 @@ msgid "User Interface"
msgstr "ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìФ"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Other Node"
-msgstr "노드 삭제"
+msgstr "다른 노드"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -10009,7 +9730,6 @@ msgid "Clear Inheritance"
msgstr "ìƒì† 지우기"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Open Documentation"
msgstr "문서 열기"
@@ -10018,6 +9738,11 @@ msgid "Add Child Node"
msgstr "ìžì‹ 노드 추가"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "ëª¨ë‘ ì ‘ê¸°"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "타입 변경"
@@ -10046,7 +9771,8 @@ msgid "Delete (No Confirm)"
msgstr "ì‚­ì œ (í™•ì¸ ì—†ìŒ)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "새 노드 추가/만들기"
#: editor/scene_tree_dock.cpp
@@ -10081,23 +9807,20 @@ msgid "Toggle Visible"
msgstr "ë³´ì´ê¸° 토글"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Unlock Node"
-msgstr "노드 ì„ íƒ"
+msgstr "노드 잠금 해제"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Button Group"
-msgstr "버튼 7"
+msgstr "버튼 그룹"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "(Connecting From)"
-msgstr "연결 오류"
+msgstr "(ì—°ê²° 시작 ì§€ì )"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
-msgstr "노드 배열 경고:"
+msgstr "노드 구성 경고:"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10105,15 +9828,15 @@ msgid ""
"Click to show signals dock."
msgstr ""
"노드가 ì—°ê²°ê³¼ ê·¸ë£¹ì„ ê°–ê³  있습니다.\n"
-"í´ë¦­í•´ì„œ ì‹œê·¸ë„ ë…ì„ ì—¬ì„¸ìš”."
+"ì‹œê·¸ë„ ë…ì„ í´ë¦­í•˜ì—¬ 보세요."
#: editor/scene_tree_editor.cpp
msgid ""
"Node has connections.\n"
"Click to show signals dock."
msgstr ""
-"노드가 ì»¤ë„¥ì…˜ë“¤ì„ ê°–ê³ ìžˆìŠµë‹ˆë‹¤\n"
-"í´ë¦­í•´ì„œ ì‹œê·¸ë„ ë…ì„ ë³´ì‹­ì‹œì˜¤."
+"노드가 ì—°ê²°ì„ ê°–ê³  있습니다\n"
+"ì‹œê·¸ë„ ë…ì„ í´ë¦­í•˜ì—¬ 보세요."
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10121,12 +9844,11 @@ msgid ""
"Click to show groups dock."
msgstr ""
"노드가 그룹 ì•ˆì— ìžˆìŠµë‹ˆë‹¤.\n"
-"í´ë¦­í•´ì„œ 그룹 ë…ì„ ë³´ì‹­ì‹œì˜¤."
+"그룹 ë…ì„ í´ë¦­í•˜ì—¬ 보세요."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Open Script:"
-msgstr "스í¬ë¦½íЏ 열기"
+msgstr "스í¬ë¦½íЏ 열기:"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10153,8 +9875,8 @@ msgid ""
"AnimationPlayer is pinned.\n"
"Click to unpin."
msgstr ""
-"AnimationPlayerê°€ ê³ ì •ë˜ì—ˆìŠµë‹ˆë‹¤.\n"
-"í´ë¦­í•´ì„œ ê³ ì •ì„ í’‰ë‹ˆë‹¤."
+"AnimationPlayerê°€ ê³ ì •ë˜ì–´ìžˆìŠµë‹ˆë‹¤.\n"
+"í´ë¦­í•˜ì„œ ê³ ì •ì„ í‘¸ì„¸ìš”."
#: editor/scene_tree_editor.cpp
msgid "Invalid node name, the following characters are not allowed:"
@@ -10177,39 +9899,32 @@ msgid "Select a Node"
msgstr "노드 ì„ íƒ"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is empty."
-msgstr "경로가 비어 있ìŒ"
+msgstr "경로가 비었습니다."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Filename is empty."
-msgstr "íŒŒì¼ ì´ë¦„ì´ ë¹„ì—ˆìŠµë‹ˆë‹¤"
+msgstr "íŒŒì¼ ì´ë¦„ì´ ë¹„ì—ˆìŠµë‹ˆë‹¤."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is not local."
-msgstr "경로가 ë¡œì»¬ì´ ì•„ë‹˜"
+msgstr "경로가 ë¡œì»¬ì´ ì•„ë‹™ë‹ˆë‹¤."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid base path."
-msgstr "유효하지 ì•Šì€ ê¸°ë³¸ 경로"
+msgstr "올바르지 ì•Šì€ ê¸°ë³¸ 경로."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "A directory with the same name exists."
-msgstr "ê°™ì€ ì´ë¦„ì˜ ë””ë ‰í† ë¦¬ê°€ 존재함"
+msgstr "ê°™ì€ ì´ë¦„ì˜ ë””ë ‰í† ë¦¬ê°€ 존재합니다."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid extension."
-msgstr "유효하지 ì•Šì€ í™•ìž¥ìž"
+msgstr "올바르지 ì•Šì€ í™•ìž¥ìž."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Wrong extension chosen."
-msgstr "ìž˜ëª»ëœ í™•ìž¥ìž ì„ íƒ"
+msgstr "ìž˜ëª»ëœ í™•ìž¥ìž ì„ íƒìž…니다."
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
@@ -10228,52 +9943,44 @@ msgid "N/A"
msgstr "해당 ì—†ìŒ"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Open Script / Choose Location"
-msgstr "스í¬ë¦½íЏ 열기/위치 ì„ íƒ"
+msgstr "스í¬ë¦½íЏ 열기 / 위치 ì„ íƒ"
#: editor/script_create_dialog.cpp
msgid "Open Script"
msgstr "스í¬ë¦½íЏ 열기"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, it will be reused."
-msgstr "파ì¼ì´ 존재하여, 재사용합니다"
+msgstr "파ì¼ì´ 존재합니다, 재사용ë©ë‹ˆë‹¤."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid class name."
-msgstr "유효하지 ì•Šì€ í´ëž˜ìŠ¤ëª…"
+msgstr "올바르지 ì•Šì€ í´ëž˜ìŠ¤ëª…."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid inherited parent name or path."
-msgstr "유효하지 ì•Šì€ ìƒì†ëœ 부모 ì´ë¦„ ë˜ëŠ” 경로"
+msgstr "올바르지 ì•Šì€ ìƒì†ëœ 부모 ì´ë¦„ ë˜ëŠ” 경로."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script is valid."
-msgstr "유효한 스í¬ë¦½íЏ"
+msgstr "스í¬ë¦½íŠ¸ê°€ 유효합니다."
#: editor/script_create_dialog.cpp
msgid "Allowed: a-z, A-Z, 0-9 and _"
-msgstr "허용ë¨:a-z, A-z, 0-9 그리고 _"
+msgstr "허용ë¨: a-z, A-z, 0-9 그리고 _"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Built-in script (into scene file)."
-msgstr "(씬 íŒŒì¼ ì•ˆì—) ë‚´ìž¥ëœ ìŠ¤í¬ë¦½íЏ"
+msgstr "내장 스í¬ë¦½íЏ (씬 íŒŒì¼ ì•ˆ)."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will create a new script file."
-msgstr "새 스í¬ë¦½íЏ íŒŒì¼ ë§Œë“¤ê¸°"
+msgstr "새 스í¬ë¦½íЏ 파ì¼ì„ 만듭니다."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will load an existing script file."
-msgstr "기존 스í¬ë¦½íЏ íŒŒì¼ ë¶ˆëŸ¬ì˜¤ê¸°"
+msgstr "기존 스í¬ë¦½íЏ 파ì¼ì„ 불러옵니다."
#: editor/script_create_dialog.cpp
msgid "Language"
@@ -10405,7 +10112,7 @@ msgstr "트리로부터 설정"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
-msgstr ""
+msgstr "CSV로 측정 값 내보내기"
#: editor/settings_config_dialog.cpp
msgid "Erase Shortcut"
@@ -10537,12 +10244,11 @@ msgstr "GD네ì´í‹°ë¸Œ ë¼ì´ë¸ŒëŸ¬ë¦¬"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
-msgstr ""
+msgstr "í™œì„±í™”ëœ GDNative 싱글톤"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Disabled GDNative Singleton"
-msgstr "ì—…ë°ì´íЏ 스피너 비활성화"
+msgstr "ë¹„í™œì„±í™”ëœ GDNative 싱글톤"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Library"
@@ -10631,9 +10337,8 @@ msgid "GridMap Fill Selection"
msgstr "그리드맵 채우기 ì„ íƒ"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Paste Selection"
-msgstr "그리드맵 ì„ íƒ ì‚­ì œ"
+msgstr "그리드맵 ì„ íƒ ë¶™ì—¬ë„£ê¸°"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Paint"
@@ -11061,9 +10766,8 @@ msgid "Available Nodes:"
msgstr "사용 가능한 노드:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Select or create a function to edit its graph."
-msgstr "그래프를 편집하기 위한 함수를 ì„ íƒí•˜ê±°ë‚˜ 만들기"
+msgstr "그래프를 편집하기 위한 함수를 ì„ íƒí•˜ê±°ë‚˜ 만드세요."
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
@@ -11198,15 +10902,18 @@ msgstr "Debug keystoreì´ ì—디터 설정 ë˜ëŠ” 프리셋ì—서 구성ë˜ì§€ ì
#: platform/android/export/export.cpp
msgid "Custom build requires a valid Android SDK path in Editor Settings."
msgstr ""
+"커스텀 빌드ì—는 ì—디터 설정ì—서 유효한 안드로ì´ë“œ SDK 경로가 필요합니다."
#: platform/android/export/export.cpp
msgid "Invalid Android SDK path for custom build in Editor Settings."
-msgstr ""
+msgstr "ì—디터 설정ì—서 커스텀 ë¹Œë“œì— ì˜¬ë°”ë¥´ì§€ ì•Šì€ ì•ˆë“œë¡œì´ë“œ SDK 경로입니다."
#: platform/android/export/export.cpp
msgid ""
"Android project is not installed for compiling. Install from Editor menu."
msgstr ""
+"컴파ì¼ì„ 하기 위한 안드로ì´ë“œ 프로ì íŠ¸ê°€ 설치ë˜ì§€ 않았습니다. ì—디터 메뉴ì—"
+"서 설치하세요."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -11221,6 +10928,8 @@ msgid ""
"Trying to build from a custom built template, but no version info for it "
"exists. Please reinstall from the 'Project' menu."
msgstr ""
+"커스텀 빌드 템플릿으로 빌드하려 했으나, 버전 정보가 존재하지 않습니다. '프로"
+"ì íЏ' 메뉴ì—서 다시 설치해주세요."
#: platform/android/export/export.cpp
msgid ""
@@ -11229,20 +10938,26 @@ msgid ""
" Godot Version: %s\n"
"Please reinstall Android build template from 'Project' menu."
msgstr ""
+"안드로ì´ë“œ 빌드 ë²„ì „ì´ ë§žì§€ 않습니다:\n"
+" ì„¤ì¹˜ëœ í…œí”Œë¦¿: %s\n"
+" Godot 버전: %s\n"
+"'프로ì íЏ' 메뉴ì—서 안드로ì´ë“œ 빌드 í…œí”Œë¦¿ì„ ë‹¤ì‹œ 설치해주세요."
#: platform/android/export/export.cpp
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "안드로ì´ë“œ 프로ì íЏ 빌드 중 (gradle)"
#: platform/android/export/export.cpp
msgid ""
"Building of Android project failed, check output for the error.\n"
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
+"안드로ì´ë“œ 프로ì íŠ¸ì˜ ë¹Œë“œì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤, 출력한 오류를 확ì¸í•˜ì„¸ìš”.\n"
+"ë˜ëŠ” docs.godotengine.orgì—서 안드로ì´ë“œ 빌드 문서를 ì°¾ì„ ìˆ˜ 있습니다."
#: platform/android/export/export.cpp
msgid "No build apk generated at: "
-msgstr ""
+msgstr "ì—¬ê¸°ì— ë¹Œë“œ apkê°€ ìƒì„±ë˜ì§€ 않았습니다: "
#: platform/iphone/export/export.cpp
msgid "Identifier is missing."
@@ -11522,6 +11237,17 @@ msgstr ""
"ì´ ë³¸ì— ì ì ˆí•œ íœ´ì‹ ìžì„¸ê°€ 없습니다. Skeleton2D 노드로 ê°€ 휴ì‹ìœ¼ë¡œ í•  ìžì„¸ë¥¼ "
"설정하세요."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D는 CollisionObject2Dì— ì¶©ëŒ Shapeì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©"
+"니다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì˜ ìžì‹ 노드로 ì¶”"
+"가하여 사용합니다."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11535,33 +11261,29 @@ msgid "ARVRCamera must have an ARVROrigin node as its parent"
msgstr "ARVRCamera는 반드시 ARVROrigin 노드를 부모로 가지고 있어야 함"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr "ARVRController는 반드시 ARVROrigin 노드를 부모로 가지고 있어야 함"
+msgstr "ARVRController는 반드시 ARVROrigin 노드를 부모로 가지고 있어야 합니다."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The controller ID must not be 0 or this controller won't be bound to an "
"actual controller."
-msgstr "컨트롤러 idê°€ 0ì´ ë˜ë©´ 컨트롤러가 실제 ì»¨íŠ¸ë¡¤ëŸ¬ì— ë°”ì¸ë”©í•˜ì§€ 않게 ë¨"
+msgstr ""
+"컨트롤러 IDê°€ 0ì´ ë˜ë©´ 컨트롤러가 실제 ì»¨íŠ¸ë¡¤ëŸ¬ì— ë°”ì¸ë”©í•˜ì§€ 않게 ë©ë‹ˆë‹¤."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr "ARVRAnchor는 반드시 ARVROrigin 노드를 부모로 가지고 있어야 함"
+msgstr "ARVRAnchor는 반드시 ARVROrigin 노드를 부모로 가지고 있어야 합니다."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The anchor ID must not be 0 or this anchor won't be bound to an actual "
"anchor."
-msgstr "앵커 idê°€ 0ì´ ë˜ë©´ 앵커가 실제 ì•µì»¤ì— ë°”ì¸ë”©í•˜ì§€ 않게 ë¨"
+msgstr "앵커 IDê°€ 0ì´ ë˜ë©´ 앵커가 실제 ì•µì»¤ì— ë°”ì¸ë”©í•˜ì§€ 않게 ë©ë‹ˆë‹¤."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr "ARVROriginì€ ARVRCamera ìžì‹ 노드를 요구 함"
+msgstr "ARVROriginì€ ìžì‹ìœ¼ë¡œ ARVRCamera 노드가 필요합니다."
#: scene/3d/baked_lightmap.cpp
msgid "%d%%"
@@ -11643,13 +11365,12 @@ msgid "Nothing is visible because no mesh has been assigned."
msgstr "ì§€ì •ëœ ë©”ì‹œê°€ 없으므로 메시를 ë³¼ 수 없습니다."
#: scene/3d/cpu_particles.cpp
-#, fuzzy
msgid ""
"CPUParticles animation requires the usage of a SpatialMaterial whose "
"Billboard Mode is set to \"Particle Billboard\"."
msgstr ""
-"CPUParticles 애니메ì´ì…˜ì„ 사용하려면 \"Billboard Particles\"ì´ í™œì„±í™”ëœ "
-"SpatialMaterialì´ í•„ìš”í•©ë‹ˆë‹¤."
+"CPUParticles 애니메ì´ì…˜ì„ 사용하려면 Billboard Modeê°€ \"Particle Billboard"
+"\"로 ì„¤ì •ëœ SpatialMaterialì´ í•„ìš”í•©ë‹ˆë‹¤."
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
@@ -11693,13 +11414,12 @@ msgid ""
msgstr "ë©”ì‹œë“¤ì„ íŒ¨ìŠ¤ë¥¼ 그리ë„ë¡ í• ë‹¹í•˜ì§€ 않았으므로 ë³´ì´ì§€ 않습니다."
#: scene/3d/particles.cpp
-#, fuzzy
msgid ""
"Particles animation requires the usage of a SpatialMaterial whose Billboard "
"Mode is set to \"Particle Billboard\"."
msgstr ""
-"Particles 애니메ì´ì…˜ì„ 사용하려면 \"Billboard Particles\"ì´ í™œì„±í™”ëœ "
-"SpatialMaterialì´ í•„ìš”í•©ë‹ˆë‹¤."
+"Particles 애니메ì´ì…˜ì„ 사용하려면 Billboard Modeê°€ \"Particle Billboard\"로 "
+"ì„¤ì •ëœ SpatialMaterialì´ í•„ìš”í•©ë‹ˆë‹¤."
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -11728,9 +11448,8 @@ msgid "Path property must point to a valid Spatial node to work."
msgstr "Path ì†ì„±ì€ 유효한 Spatial 노드를 가리켜야 합니다."
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "This body will be ignored until you set a mesh."
-msgstr "ì´ ë°”ë””ëŠ” 메시를 설정할 때 까지 무시ë©ë‹ˆë‹¤"
+msgstr "ì´ ë°”ë””ëŠ” 메시를 설정할 때까지 무시ë©ë‹ˆë‹¤."
#: scene/3d/soft_body.cpp
msgid ""
@@ -11823,8 +11542,13 @@ msgid "Pick a color from the screen."
msgstr "화면ì—서 색ìƒì„ ì„ íƒí•˜ì„¸ìš”."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Raw 모드"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "ìš”"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11837,14 +11561,20 @@ msgstr "현재 색ìƒì„ 프리셋으로 추가합니다."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
-"컨테ì´ë„ˆ ìžì²´ëŠ” ìžì‹ 배치 í–‰ë™ì„ 구성하지 않는 한 ìš©ë„ê°€ 없습니다.\n"
+"컨테ì´ë„ˆ ìžì²´ëŠ” ìžì‹ 배치 í–‰ë™ì„ 구성하는 스í¬ë¦½íЏ 외ì—는 목ì ì´ 없습니다.\n"
"스í¬ë¦½íŠ¸ë¥¼ 추가하지 않는 경우, 순수한 'Control' 노드를 사용해주세요."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "경고!"
@@ -11938,7 +11668,184 @@ msgstr "Varyings는 ì˜¤ì§ ë²„í…스 함수ì—서만 지정할 수 있습니다.
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "ìƒìˆ˜ëŠ” 수정할 수 없습니다."
+
+#~ msgid "Enabled Classes"
+#~ msgstr "í™œì„±í™”ëœ í´ëž˜ìФ"
+
+#~ msgid "Update Always"
+#~ msgstr "í•­ìƒ ì—…ë°ì´íЏ"
+
+#~ msgid "'camera' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'camera' ìž…ë ¥ 매개변수."
+
+#~ msgid "'inv_camera' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'inv_camera' ìž…ë ¥ 매개변수."
+
+#~ msgid "'inv_projection' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'inv_projection' ìž…ë ¥ 매개변수."
+
+#~ msgid "'normal' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'normal' ìž…ë ¥ 매개변수."
+
+#~ msgid "'projection' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'projection' ìž…ë ¥ 매개변수."
+
+#~ msgid "'time' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'time' ìž…ë ¥ 매개변수."
+
+#~ msgid "'viewport_size' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'viewport_size' ìž…ë ¥ 매개변수."
+
+#~ msgid "'world' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'world' ìž…ë ¥ 매개변수."
+
+#~ msgid "'alpha' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'alpha' ìž…ë ¥ 매개변수."
+
+#~ msgid "'color' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'color' ìž…ë ¥ 매개변수."
+
+#~ msgid "'texture_pixel_size' input parameter for all shader modes."
+#~ msgstr "모든 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'texture_pixel_size' ìž…ë ¥ 매개변수."
+
+#~ msgid "'alpha' input parameter for vertex and fragment shader modes."
+#~ msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'alpha' ìž…ë ¥ 매개변수."
+
+#~ msgid "'binormal' input parameter for vertex and fragment shader modes."
+#~ msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'binormal' ìž…ë ¥ 매개변수."
+
+#~ msgid "'color' input parameter for vertex and fragment shader modes."
+#~ msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'color' ìž…ë ¥ 매개변수."
+
+#~ msgid "'fragcoord' input parameter for fragment and light shader modes."
+#~ msgstr "프래그먼트와 조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'fragcoord' ìž…ë ¥ 매개변수."
+
+#~ msgid "'point_coord' input parameter for fragment shader mode."
+#~ msgstr "프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'point_coord' ìž…ë ¥ 매개변수."
+
+#~ msgid "'screen_uv' input parameter for fragment shader mode."
+#~ msgstr "프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'screen_uv' ìž…ë ¥ 매개변수."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader modes."
+#~ msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'tangent' ìž…ë ¥ 매개변수."
+
+#~ msgid "'uv2' input parameter for vertex and fragment shader modes."
+#~ msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'uv2' ìž…ë ¥ 매개변수."
+
+#~ msgid "'vertex' input parameter for vertex and fragment shader modes."
+#~ msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'vertex' ìž…ë ¥ 매개변수."
+
+#~ msgid "'albedo' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'albedo' ìž…ë ¥ 매개변수."
+
+#~ msgid "'attenuation' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'attenuation' ìž…ë ¥ 매개변수."
+
+#~ msgid "'light' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'light' ìž…ë ¥ 매개변수."
+
+#~ msgid "'light_color' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'light_color' ìž…ë ¥ 매개변수."
+
+#~ msgid "'roughness' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'roughness' ìž…ë ¥ 매개변수."
+
+#~ msgid "'specular' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'specular' ìž…ë ¥ 매개변수."
+
+#~ msgid "'transmission' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'transmission' ìž…ë ¥ 매개변수."
+
+#~ msgid "'modelview' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'modelview' ìž…ë ¥ 매개변수."
+
+#~ msgid "'point_size' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'point_size' ìž…ë ¥ 매개변수."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader mode."
+#~ msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'tangent' ìž…ë ¥ 매개변수."
+
+#~ msgid "'light_pass' input parameter for vertex and fragment shader modes."
+#~ msgstr "ê¼­ì§“ì ê³¼ 프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'light_pass' ìž…ë ¥ 매개변수."
+
+#~ msgid "'point_coord' input parameter for fragment and light shader modes."
+#~ msgstr "프래그먼트와 조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'point_coord' ìž…ë ¥ 매개변수."
+
+#~ msgid "'screen_pixel_size' input parameter for fragment shader mode."
+#~ msgstr "프래그먼트 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'screen_pixel_size' ìž…ë ¥ 매개변수."
+
+#~ msgid "'screen_uv' input parameter for fragment and light shader modes."
+#~ msgstr "프래그먼트와 조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'screen_uv' ìž…ë ¥ 매개변수."
+
+#~ msgid "'light_alpha' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'light_alpha' ìž…ë ¥ 매개변수."
+
+#~ msgid "'light_height' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'light_height' ìž…ë ¥ 매개변수."
+
+#~ msgid "'light_uv' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'light_uv' ìž…ë ¥ 매개변수."
+
+#~ msgid "'light_vec' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'light_vec' ìž…ë ¥ 매개변수."
+
+#~ msgid "'normal' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'normal' ìž…ë ¥ 매개변수."
+
+#~ msgid "'shadow_color' input parameter for light shader mode."
+#~ msgstr "조명 ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'shadow_color' ìž…ë ¥ 매개변수."
+
+#~ msgid "'extra' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'extra' ìž…ë ¥ 매개변수."
+
+#~ msgid "'projection' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'projection' ìž…ë ¥ 매개변수."
+
+#~ msgid "'vertex' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'vertex' ìž…ë ¥ 매개변수."
+
+#~ msgid "'world' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'world' ìž…ë ¥ 매개변수."
+
+#~ msgid "'active' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'active' ìž…ë ¥ 매개변수."
+
+#~ msgid "'alpha' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'alpha' ìž…ë ¥ 매개변수."
+
+#~ msgid "'color' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'color' ìž…ë ¥ 매개변수."
+
+#~ msgid "'custom_alpha' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'custom_alpha' ìž…ë ¥ 매개변수."
+
+#~ msgid "'delta' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'delta' ìž…ë ¥ 매개변수."
+
+#~ msgid "'emission_transform' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'emission_transform' ìž…ë ¥ 매개변수."
+
+#~ msgid "'index' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'index' ìž…ë ¥ 매개변수."
+
+#~ msgid "'lifetime' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'lifetime' ìž…ë ¥ 매개변수."
+
+#~ msgid "'restart' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'restart' ìž…ë ¥ 매개변수."
+
+#~ msgid "'time' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'time' ìž…ë ¥ 매개변수."
+
+#~ msgid "'transform' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'transform' ìž…ë ¥ 매개변수."
+
+#~ msgid "'velocity' input parameter for vertex shader mode."
+#~ msgstr "ê¼­ì§“ì  ì…°ì´ë” ëª¨ë“œì— ëŒ€í•œ 'velocity' ìž…ë ¥ 매개변수."
+
+#~ msgid "Raw Mode"
+#~ msgstr "Raw 모드"
#~ msgid "Path to Node:"
#~ msgstr "노드 경로:"
@@ -12496,9 +12403,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Spatial ë³´ì´ê¸° 토글"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "CanvasItem ë³´ì´ê¸° 토글"
-
#~ msgid "Condition"
#~ msgstr "ì¡°ê±´"
@@ -13382,9 +13286,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "ì´ë¯¸ì§€:"
-#~ msgid "Select None"
-#~ msgstr "모든 ì„ íƒ í•´ì œ"
-
#~ msgid "Group"
#~ msgstr "그룹"
diff --git a/editor/translations/lt.po b/editor/translations/lt.po
index 4fbba5cd26..a799b557a3 100644
--- a/editor/translations/lt.po
+++ b/editor/translations/lt.po
@@ -449,6 +449,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Pasirinkite Nodus, kuriuos norite importuoti"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1314,7 +1324,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1515,7 +1525,7 @@ msgid "Node Dock"
msgstr "Naujas pavadinimas:"
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1571,7 +1581,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1586,7 +1596,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "PradÄ—ti ProfiliavimÄ…"
#: editor/editor_feature_profile.cpp
@@ -1610,12 +1620,9 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
-msgstr ""
+#, fuzzy
+msgid "Available Profiles:"
+msgstr "Animacija"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2639,10 +2646,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2749,15 +2776,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3051,6 +3078,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "Naujas pavadinimas:"
@@ -3064,11 +3096,6 @@ msgstr "Naujas pavadinimas:"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5186,6 +5213,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "PradÄ—ti!"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6106,10 +6141,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtrai..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Filtrai..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6352,11 +6397,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7930,51 +7970,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7982,203 +7978,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9826,6 +9646,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9855,8 +9679,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Sukurti NaujÄ…"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11261,6 +11086,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11515,7 +11347,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11528,12 +11364,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Įspėjimas!"
diff --git a/editor/translations/lv.po b/editor/translations/lv.po
index 88a44ac770..cce75dd34a 100644
--- a/editor/translations/lv.po
+++ b/editor/translations/lv.po
@@ -447,6 +447,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Dzēst izvēlētos"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "RÄdÄ«t celiņus tikai no mezgliem izvÄ“lÄ“tajÄ kokÄ."
@@ -1322,7 +1332,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"Nederīgs nosaukums. Nedrīkst sadurties ar eksistējošu iebūvēto tipa "
"nosaukumu."
@@ -1525,7 +1535,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1581,7 +1591,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1595,7 +1605,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1619,12 +1629,9 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
-msgstr ""
+#, fuzzy
+msgid "Available Profiles:"
+msgstr "AnimÄcijas Ä«pašības."
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2647,10 +2654,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2757,15 +2784,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "NepÄrtraukti"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3054,20 +3082,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5171,6 +5199,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6089,10 +6124,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6336,11 +6379,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7912,51 +7950,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7964,203 +7958,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9798,6 +9616,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9826,8 +9648,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Izveidot Jaunu %s"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11230,6 +11053,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11480,7 +11310,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11494,12 +11328,18 @@ msgstr "Pievienot paÅ¡reizÄ“jo krÄsu kÄ iepriekÅ¡noteiktu krÄsu"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "BrÄ«dinÄjums!"
diff --git a/editor/translations/mi.po b/editor/translations/mi.po
index 96c2290611..84d5742b21 100644
--- a/editor/translations/mi.po
+++ b/editor/translations/mi.po
@@ -419,6 +419,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr ""
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1267,7 +1276,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1463,7 +1472,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1516,7 +1525,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1529,7 +1538,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1552,11 +1561,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2562,10 +2567,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2672,15 +2697,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2968,20 +2993,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5045,6 +5070,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5945,10 +5977,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6185,11 +6225,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7707,51 +7742,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7759,203 +7750,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9582,6 +9397,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9610,7 +9429,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -10997,6 +10816,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11244,7 +11070,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11257,12 +11087,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/ml.po b/editor/translations/ml.po
index 57bf923ff0..b510dd739d 100644
--- a/editor/translations/ml.po
+++ b/editor/translations/ml.po
@@ -427,6 +427,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr ""
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1275,7 +1284,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1471,7 +1480,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1524,7 +1533,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1537,7 +1546,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1560,11 +1569,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2570,10 +2575,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2680,15 +2705,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2976,20 +3001,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5053,6 +5078,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5953,10 +5985,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6193,11 +6233,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7715,51 +7750,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7767,203 +7758,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9590,6 +9405,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9618,7 +9437,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -11005,6 +10824,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11252,7 +11078,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11265,12 +11095,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/ms.po b/editor/translations/ms.po
index 887415936d..9e9ed1379e 100644
--- a/editor/translations/ms.po
+++ b/editor/translations/ms.po
@@ -439,6 +439,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Semua Pilihan"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1289,7 +1299,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1485,7 +1495,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1539,7 +1549,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1552,7 +1562,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1575,11 +1585,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2586,10 +2592,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2696,15 +2722,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2992,20 +3018,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5080,6 +5106,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5982,10 +6015,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6222,11 +6263,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7757,51 +7793,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7809,203 +7801,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9636,6 +9452,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9664,7 +9484,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -11054,6 +10874,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11301,7 +11128,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11314,12 +11145,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/nb.po b/editor/translations/nb.po
index cc71c187e1..5ffc9673fb 100644
--- a/editor/translations/nb.po
+++ b/editor/translations/nb.po
@@ -7,19 +7,20 @@
# Elias <eliasnykrem@gmail.com>, 2018.
# flesk <eivindkn@gmail.com>, 2017, 2019.
# Frank T. Rambol <frank@d-fect.com>, 2018.
-# Jørgen Aarmo Lund <jorgen.aarmo@gmail.com>, 2016.
+# Jørgen Aarmo Lund <jorgen.aarmo@gmail.com>, 2016, 2019.
# 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.
# Hans-Marius Øverås <hansmariusoveras@gmail.com>, 2019.
# Revolution <revosw@gmail.com>, 2019.
+# Petter Reinholdtsen <pere-weblate@hungry.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-05-04 13:48+0000\n"
-"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
+"PO-Revision-Date: 2019-07-02 10:51+0000\n"
+"Last-Translator: Petter Reinholdtsen <pere-weblate@hungry.com>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/godot-"
"engine/godot/nb_NO/>\n"
"Language: nb\n"
@@ -27,12 +28,12 @@ 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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Ugyldig typeargument til convert(), bruk TYPE_*-konstantene."
+msgstr "Ugyldig argumenttype til convert(), bruk TYPE_*-konstantene."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
@@ -487,6 +488,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Velg Alle"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Kutt Noder"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Vis kun spor fra noder valgt i treet."
@@ -969,7 +980,7 @@ msgstr "Ressurs"
#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp
#: editor/project_settings_editor.cpp editor/script_create_dialog.cpp
msgid "Path"
-msgstr "Søkesti"
+msgstr "Bane"
#: editor/dependency_editor.cpp
msgid "Dependencies:"
@@ -1154,7 +1165,7 @@ msgid ""
"is an exhaustive list of all such thirdparty components with their "
"respective copyright statements and license terms."
msgstr ""
-"Godot Engine avhenger av en rekke tredjeparts fri og åpen kildekode-"
+"Godot Engine avhenger av en rekke tredjeparts frie og åpne kildekode-"
"biblioteker, alle kompatible med begrepene i MIT-lisensen. Følgende er en "
"utfyllende liste over alle slike tredjepartskomponenter med sine respektive "
"opphavsrettserklæringer og lisensbegreper."
@@ -1383,7 +1394,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"Ugyldig navn. Kan ikke kollidere med et eksisterende innebygd type navn."
@@ -1601,7 +1612,7 @@ msgstr "Flytt Modus"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "FilSystem"
#: editor/editor_feature_profile.cpp
@@ -1662,7 +1673,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1677,7 +1688,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Gjeldende Versjon:"
#: editor/editor_feature_profile.cpp
@@ -1702,16 +1713,11 @@ msgstr "Eksporter"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "Tilgjengelige Noder:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Søk i klasser"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "Beskrivelse"
@@ -2837,11 +2843,35 @@ msgid "Editor Layout"
msgstr "Redigeringsverktøy Layout"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Lagre Scene"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Redigeringsverktøy-instillinger"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Ã…pne den neste Editoren"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Skru av/på Fullskjerm"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "Veksle modus"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "Redigeringsverktøy-instillinger"
@@ -2954,15 +2984,18 @@ msgid "Spins when the editor window redraws."
msgstr "Snurrer når editorvinduet rendrer om!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Oppdater Alltid"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Kontinuerlig"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Oppdater Endringer"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Deaktiver Oppdateringsspinner"
#: editor/editor_node.cpp
@@ -3269,6 +3302,11 @@ msgid "Page: "
msgstr "Side: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Fjern Gjenstand"
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "Nytt navn:"
@@ -3282,11 +3320,6 @@ msgstr "Nytt navn:"
msgid "Add Key/Value Pair"
msgstr "Legg Til Nøkkel/Verdi Par"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Fjern Gjenstand"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5542,6 +5575,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Omstart NÃ¥"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6498,10 +6539,20 @@ msgid "Find Next"
msgstr "Finn neste"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Lim inn Noder"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Lim inn Noder"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sorter"
@@ -6750,11 +6801,6 @@ msgstr ""
msgid "Cut"
msgstr "Klipp ut"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Velg Alle"
-
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Delete Line"
@@ -8402,51 +8448,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8455,203 +8457,27 @@ msgid "Input parameter."
msgstr "Snap til foreldre"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10342,6 +10168,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Kollaps alle"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10373,8 +10204,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Lag ny %s"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11837,6 +11669,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -12089,7 +11928,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -12102,12 +11945,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
@@ -12194,6 +12043,13 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Søk i klasser"
+
+#~ msgid "Update Always"
+#~ msgstr "Oppdater Alltid"
+
#~ msgid "Path to Node:"
#~ msgstr "Sti til Node:"
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index 63437bc723..3a2df2aa72 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -472,6 +472,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Alles Selecteren"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Alles Selecteren"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Toon alleen sporen die horen bij de geselecteerde node in de boom."
@@ -1354,7 +1364,7 @@ msgstr "Ongeldige naam. Moet niet botsen met een bestaande engine klasse naam."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"Ongeldige naam. Mag niet botsen met een bestaande ingebouwde type naam."
@@ -1565,7 +1575,7 @@ msgstr "Verplaatsingsmodus"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Bestandssysteem"
#: editor/editor_feature_profile.cpp
@@ -1627,7 +1637,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1642,7 +1652,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Huidige Versie:"
#: editor/editor_feature_profile.cpp
@@ -1667,16 +1677,11 @@ msgstr "Exporteren"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "Beschikbare Nodes:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Zoek Klasses"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "Klassebeschrijving"
@@ -2785,10 +2790,34 @@ msgid "Editor Layout"
msgstr "Editor Layout"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Klinkt logisch!"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Open Editor Data/Instellingen Map"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Open de volgende Editor"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Schakel Volledig Scherm"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Gesplitste modus omschakelen"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Open Editor Data/Instellingen Map"
@@ -2897,15 +2926,18 @@ msgid "Spins when the editor window redraws."
msgstr "Draait wanneer het editor venster opnieuw ververst wordt!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Altijd Updaten"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Doorlopend"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Update Veranderingen"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Schakel Update Draaier Uit"
#: editor/editor_node.cpp
@@ -3203,6 +3235,11 @@ msgid "Page: "
msgstr "Pagina: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Verwijder Item"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nieuwe Sleutel:"
@@ -3214,11 +3251,6 @@ msgstr "Nieuwe Waarde:"
msgid "Add Key/Value Pair"
msgstr "Sleutel-Waarde Paar Toevoegen"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Verwijder Item"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5417,6 +5449,14 @@ msgid "Load Emission Mask"
msgstr "Laad Emissie Masker"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Herstart Nu"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Leeg Emissie Masker"
@@ -6381,10 +6421,20 @@ msgid "Find Next"
msgstr "Vind Volgende"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filter eigenschappen"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Schakel het alfabetisch sorteren van de methode lijst in of uit."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Filter:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sorteren"
@@ -6638,11 +6688,6 @@ msgstr ""
msgid "Cut"
msgstr "Knippen"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Alles Selecteren"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Verwijder Regel"
@@ -8321,51 +8366,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8374,203 +8375,27 @@ msgid "Input parameter."
msgstr "Snap naar ouder"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10348,6 +10173,11 @@ msgstr ""
#: editor/scene_tree_dock.cpp
#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Alles inklappen"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Change Type"
msgstr "Verander Type"
@@ -10380,7 +10210,8 @@ msgid "Delete (No Confirm)"
msgstr "Verwijder (Geen bevestiging)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Voeg nieuwe knooppunt aan"
#: editor/scene_tree_dock.cpp
@@ -11896,6 +11727,18 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D dient enkel om een bots vorm te koppelen aan een node "
+"afgeleid van CollisionObject2D. Gebruik het alsjeblieft als een child van "
+"Area2D, StaticBody2D, RigidBody2D, KinematicBody2D etc. om ze een vorm te "
+"geven."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -12169,8 +12012,13 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Raw-modus"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Yaw"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -12183,12 +12031,18 @@ msgstr "Huidige kleur als een preset toevoegen"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Alarm!"
@@ -12283,6 +12137,16 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Zoek Klasses"
+
+#~ msgid "Update Always"
+#~ msgstr "Altijd Updaten"
+
+#~ msgid "Raw Mode"
+#~ msgstr "Raw-modus"
+
#~ msgid "Path to Node:"
#~ msgstr "Pad naar Node:"
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index 912df265a7..b4a6a3d9cc 100644
--- a/editor/translations/pl.po
+++ b/editor/translations/pl.po
@@ -38,7 +38,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
+"PO-Revision-Date: 2019-07-02 10:49+0000\n"
"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
@@ -48,7 +48,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -77,19 +77,19 @@ msgstr "Nieprawidłowe operandy dla operatora %s, %s i %s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
-msgstr "Nieprawidłowy indeks we właściwości '%s' węzła %s"
+msgstr "Nieprawidłowy indeks we właściwości \"%s\" węzła %s"
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr "Niepoprawny nazwany indeks '%s' dla bazowego typu %s"
+msgstr "Niepoprawny nazwany indeks \"%s\" dla bazowego typu %s"
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
-msgstr "Niepoprawne argumenty do utworzenia '%s'"
+msgstr "Niepoprawne argumenty do utworzenia \"%s\""
#: core/math/expression.cpp
msgid "On call to '%s':"
-msgstr "Przy wywołaniu '%s':"
+msgstr "Przy wywołaniu \"%s\":"
#: editor/animation_bezier_editor.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -109,9 +109,8 @@ msgid "Time:"
msgstr "Czas:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Wartość"
+msgstr "Wartość:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -464,10 +463,29 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Ta animacja należy do importowanej sceny, więc zmiany w importowanych "
+"ścieżkach nie zostaną zapisane.\n"
+"\n"
+"By umożliwić dodawanie własnych ścieżek, przejdź do ustawień importu i "
+"zmień\n"
+"\"Animation > Storage\" na \"Files\", włącz \"Animation > Keep Custom Tracks"
+"\", a potem importuj ponownie.\n"
+"Alternatywnie, użyj profilu importu, który importuje animacje do oddzielnych "
+"plików."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Ostrzeżenie: Edytowanie importowanej animacji"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Zaznacz wszystko"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Wybierz węzeł"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -701,38 +719,32 @@ msgid "Line and column numbers."
msgstr "Numery linii i kolumn."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "Wybierz metodę w wybranym węźle!"
+msgstr "Metoda w węźle docelowym musi zostać podana."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Nie znaleziono wybranej metody! Podaj właściwą metodę, lub dołącz skrypt do "
+"Docelowa metoda nie znaleziona. Podaj właściwą metodę lub dołącz skrypt do "
"wybranego węzła."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
-msgstr "Podłącz do węzła:"
+msgstr "Połącz do węzła:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Nie można połączyć do hosta:"
+msgstr "Połącz do skryptu:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Sygnały:"
+msgstr "Z sygnału:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "Węzeł nie zawiera geometrii."
+msgstr "Scena nie posiada żadnego skryptu."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -760,9 +772,8 @@ msgid "Extra Call Arguments:"
msgstr "Dodatkowe argumenty wywołania:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Opcje zaawansowane"
+msgstr "Zaawansowane"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -772,6 +783,7 @@ msgstr "Opóźniony"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Opóźnij sygnał, kolejkując go i uruchamiając tylko w czasie bezczynności."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -779,12 +791,11 @@ msgstr "Wywołaj raz"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Odłącza sygnał po pierwszej emisji."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Połącz sygnał: "
+msgstr "Nie można połączyć sygnału"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -806,15 +817,15 @@ msgstr "Połącz"
#: editor/connections_dialog.cpp
msgid "Connect '%s' to '%s'"
-msgstr "Połącz '%s' z '%s'"
+msgstr "Połącz \"%s\" z \"%s\""
#: editor/connections_dialog.cpp
msgid "Disconnect '%s' from '%s'"
-msgstr "Rozłącz '%s' z '%s'"
+msgstr "Rozłącz \"%s\" z \"%s\""
#: editor/connections_dialog.cpp
msgid "Disconnect all from signal: '%s'"
-msgstr "Rozłącz wszystko z sygnału: '%s'"
+msgstr "Rozłącz wszystko z sygnału: \"%s\""
#: editor/connections_dialog.cpp
msgid "Connect..."
@@ -826,14 +837,12 @@ msgid "Disconnect"
msgstr "Rozłącz"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Połącz sygnał: "
+msgstr "Połącz sygnał do metody"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Edytuj połączenie: "
+msgstr "Edytuj połączenie:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -909,21 +918,19 @@ msgid "Dependencies For:"
msgstr "Zależności:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Scena '%s' jest obecnie edytowana.\n"
-"Zmiany nie zajdą do czasu przeładowania."
+"Scena \"%s\" jest obecnie edytowana.\n"
+"Zmiany zajdą dopiero po przeładowaniu."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Zasób '%s' jest w użyciu.\n"
+"Zasób \"%s\" jest w użyciu.\n"
"Zmiany zajdą dopiero po jego przeładowaniu."
#: editor/dependency_editor.cpp
@@ -1016,9 +1023,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "Permanentnie usuń %d obiekt(ów) (Nie można tego cofnąć)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Zależności"
+msgstr "Pokaż zależności"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1281,7 +1287,7 @@ msgstr "Otwórz układ magistrali audio"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "Nie ma pliku \"%s\"."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1338,28 +1344,25 @@ msgid "Valid characters:"
msgstr "Dopuszczalne znaki:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"Niepoprawna nazwa. Nie może być taka sama jak istniejąca klasa silnika."
+msgstr "Nie może kolidować z nazwą istniejącej klasy silnika."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr "Niepoprawna nazwa. Nie może być taka sama jak wbudowany typ."
+msgid "Must not collide with an existing built-in type name."
+msgstr "Nie może kolidować z nazwą istniejącego wbudowanego typu."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr "Niepoprawna nazwa. Nie może być taka sama jak nazwa globalnej stałej."
+msgstr "Nie może kolidować z nazwą istniejącej globalnej stałej."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "Słowo kluczowe nie może zostać użyte jako nazwa autoładowania."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
-msgstr "AutoLoad '%s' już istnieje!"
+msgstr "Autoładowanie \"%s\" już istnieje!"
#: editor/editor_autoload_settings.cpp
msgid "Rename Autoload"
@@ -1386,9 +1389,8 @@ msgid "Rearrange Autoloads"
msgstr "Przestaw Autoloady"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
-msgstr "Niewłaściwa ścieżka."
+msgstr "Niepoprawna ścieżka."
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
msgid "File does not exist."
@@ -1441,9 +1443,8 @@ msgid "[unsaved]"
msgstr "[niezapisany]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Najpierw wybierz katalog podstawowy"
+msgstr "Najpierw wybierz katalog podstawowy."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1488,16 +1489,16 @@ msgid ""
"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
"Etc' in Project Settings."
msgstr ""
-"Platforma docelowa wymaga dla GLES2 kompresji tekstur 'ETC'. Włącz 'Import "
-"Etc' w Ustawieniach Projektu."
+"Platforma docelowa wymaga dla GLES2 kompresji tekstur \"ETC\". Włącz "
+"\"Import Etc\" w Ustawieniach Projektu."
#: editor/editor_export.cpp
msgid ""
"Target platform requires 'ETC2' texture compression for GLES3. Enable "
"'Import Etc 2' in Project Settings."
msgstr ""
-"Platforma docelowa wymaga dla GLES3 kompresji tekstur 'ETC2'. Włącz 'Import "
-"Etc 2' w Ustawieniach Projektu."
+"Platforma docelowa wymaga dla GLES3 kompresji tekstur \"ETC2\". Włącz "
+"\"Import Etc 2\" w Ustawieniach Projektu."
#: editor/editor_export.cpp
msgid ""
@@ -1506,10 +1507,10 @@ msgid ""
"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
"Enabled'."
msgstr ""
-"Platforma docelowa wymaga kompresji tekstur 'ETC', by sterownik awaryjny "
+"Platforma docelowa wymaga kompresji tekstur \"ETC\", by sterownik awaryjny "
"GLES2 mógł zadziałać.\n"
-"Włącz 'Import Etc' w Ustawieniach Projektu lub wyłącz 'Driver Fallback "
-"Enabled'."
+"Włącz \"Import Etc\" w Ustawieniach Projektu lub wyłącz \"Driver Fallback "
+"Enabled\"."
#: editor/editor_export.cpp platform/android/export/export.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -1528,121 +1529,106 @@ msgid "Template file not found:"
msgstr "Nie znaleziono pliku szablonu:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Edytor"
+msgstr "Edytor 3D"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Otwórz edytor skryptów"
+msgstr "Edytor skryptów"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Otwórz bibliotekę zasobów"
+msgstr "Biblioteka zasobów"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Drzewo sceny (węzły):"
+msgstr "Edycja drzewa sceny"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Importuj"
+msgstr "Dok importowania"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Węzeł przesunięty"
+msgstr "Dok węzła"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "System plików"
+msgid "FileSystem and Import Docks"
+msgstr "Dok systemu plików"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Zastąp wszystkie (nie można cofnąć)"
+msgstr "Usunąć profil \"%s\"? (nieodwracalne)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "Nazwa profilu musi być poprawną nazwą pliku i nie może zawierać \".\""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Plik lub katalog o tej nazwie już istnieje."
+msgstr "Profil o tej nazwie już istnieje."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Edytor wyłączony, Właściwości wyłączone)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Tylko właściwości"
+msgstr "(Właściwości wyłączone)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Wyłącz przycinanie"
+msgstr "(Edytor wyłączony)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Opis klasy:"
+msgstr "Opcje klasy:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Otwórz następny edytor"
+msgstr "Włącz edytor kontekstowy"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Właściwości:"
+msgstr "Włączone właściwości:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Funkcje"
+msgstr "Włączone funkcjonalności:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Przeszukaj klasy"
+msgstr "Włączone klasy:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Format pliku \"%s\" jest nieprawidłowy, import przerwany."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"Profil \"%s\" już istnieje. Usuń go przed importowaniem, import przerwany."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Błąd podczas ładowania szablonu '%s'"
+msgstr "Błąd zapisywania profilu do ścieżki \"%s\"."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "Wymaż"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Aktualna wersja:"
+msgid "Current Profile:"
+msgstr "Bieżący profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Bieżący:"
+msgstr "Ustaw na bieżący"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1661,43 +1647,32 @@ msgstr "Eksportuj"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Dostępne węzły:"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Przeszukaj klasy"
+msgid "Available Profiles:"
+msgstr "Dostępne profile"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Opis klasy"
+msgstr "Opcje klasy"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Nowa nazwa:"
+msgstr "Nazwa nowego profilu:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Usuń obszar"
+msgstr "Usuń profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Zaimportowano projekt"
+msgstr "Importuj profil(e)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Wyeksportuj projekt"
+msgstr "Eksportuj profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "ZarzÄ…dzaj szablonami eksportu"
+msgstr "Zarządzaj profilami funkcjonalności edytora"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1820,9 +1795,8 @@ msgid "(Un)favorite current folder."
msgstr "Dodaj/usuń aktualny folder z ulubionych."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Przełącz ukryte pliki"
+msgstr "Przełącz widoczność ukrytych plików."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1858,7 +1832,7 @@ msgstr "Przeszukaj źródła"
msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
-msgstr ""
+msgstr "Istnieje wiele importerów różnych typów dla pliku %s, import przerwany"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -1989,7 +1963,7 @@ msgstr ""
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
msgid "Search Help"
-msgstr "Wyszukaj w Pomocy"
+msgstr "Wyszukaj w pomocy"
#: editor/editor_help_search.cpp
msgid "Display All"
@@ -2104,23 +2078,23 @@ msgstr "Błąd podczas zapisywania."
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Can't open '%s'. The file could have been moved or deleted."
-msgstr "Nie można otworzyć '%s'. Plik mógł zostać przeniesiony lub usunięty."
+msgstr "Nie można otworzyć \"%s\". Plik mógł zostać przeniesiony lub usunięty."
#: editor/editor_node.cpp
msgid "Error while parsing '%s'."
-msgstr "Błąd analizy '%s'."
+msgstr "Błąd analizy \"%s\"."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
-msgstr "Niespodziewane zakończenie pliku '%s'."
+msgstr "Niespodziewane zakończenie pliku \"%s\"."
#: editor/editor_node.cpp
msgid "Missing '%s' or its dependencies."
-msgstr "Brak '%s' lub ich zależności."
+msgstr "Brak \"%s\" lub ich zależności."
#: editor/editor_node.cpp
msgid "Error while loading '%s'."
-msgstr "Błąd ładowania '%s'."
+msgstr "Błąd ładowania \"%s\"."
#: editor/editor_node.cpp
msgid "Saving Scene"
@@ -2202,14 +2176,13 @@ msgstr ""
"zrozumieć ten proces."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
"Ten zasób należy do sceny, która została zainstancjonowana lub "
"odziedziczona.\n"
-"Zmiany do niego nie zostanÄ… zachowane w momencie zapisania obecnej sceny."
+"Zmiany w nim nie zostanÄ… zachowane w momencie zapisania obecnej sceny."
#: editor/editor_node.cpp
msgid ""
@@ -2220,28 +2193,26 @@ msgstr ""
"ustawienia w panelu importów, po czym zaimportuj go ponownie."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"Ta scena została zaimportowana, więc zmiany do niej nie będą zachowane.\n"
+"Ta scena została zaimportowana, więc zmiany w niej nie będą zachowane.\n"
"Instancjacja lub dziedziczenie jest pozwoli na prowadzenie zmian.\n"
"Proszę zapoznać się z dokumentacją dotyczącą importowania scen, by lepiej "
"zrozumieć ten proces."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
-"To jest zdalny obiekt więc zmiany nie zostaną zachowane.\n"
-"Przeczytaj dokumentację dotyczącą debugowania by lepiej zrozumieć ten sposób "
-"pracy."
+"To jest zdalny obiekt, więc zmiany nie zostaną zachowane.\n"
+"Przeczytaj dokumentację dotyczącą debugowania, by lepiej zrozumieć ten "
+"proces."
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -2266,9 +2237,8 @@ msgid "Open Base Scene"
msgstr "Otwórz scenę bazową"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Szybkie otwieranie sceny..."
+msgstr "Szybkie otwieranie..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2284,7 +2254,7 @@ msgstr "Zapisz i zamknij"
#: editor/editor_node.cpp
msgid "Save changes to '%s' before closing?"
-msgstr "Zapisać zmiany w '%s' przed zamknięciem?"
+msgstr "Zapisać zmiany w \"%s\" przed zamknięciem?"
#: editor/editor_node.cpp
msgid "Saved %s modified resource(s)."
@@ -2390,43 +2360,43 @@ msgstr "Wybierz główną scenę"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
-"Nie można włączyć dodatku: '%s' - parsowanie konfiguracji nie powiodło się."
+"Nie można włączyć dodatku: \"%s\" - parsowanie konfiguracji nie powiodło się."
#: editor/editor_node.cpp
msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
-msgstr "Nie można odnaleźć pola 'skrypt' w dodatku: 'res://addons/%s'."
+msgstr "Nie można odnaleźć pola skryptu w dodatku: \"res://addons/%s\"."
#: editor/editor_node.cpp
msgid "Unable to load addon script from path: '%s'."
-msgstr "Nie można załadować skryptu dodatku z ścieżki: '%s'."
+msgstr "Nie można załadować skryptu dodatku z ścieżki: \"%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 ""
-"Nie można załadować skryptu dodatku ze ścieżki: '%s' W kodzie znajduje się "
+"Nie można załadować skryptu dodatku ze ścieżki: \"%s\" W kodzie znajduje się "
"błąd, sprawdź składnię."
#: editor/editor_node.cpp
msgid ""
"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
msgstr ""
-"Nie można wczytać skryptu dodatku ze ścieżki: '%s' Skrypt nie dziedziczy po "
-"klasie EditorPlugin."
+"Nie można wczytać skryptu dodatku ze ścieżki: \"%s\" Skrypt nie dziedziczy "
+"po klasie EditorPlugin."
#: editor/editor_node.cpp
msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
-"Nie można załadować skryptu dodatku z ścieżki: '%s' Skrypt nie jest w trybie "
-"narzędzia (tool)."
+"Nie można załadować skryptu dodatku z ścieżki: \"%s\" Skrypt nie jest w "
+"trybie narzędzia (tool)."
#: editor/editor_node.cpp
msgid ""
"Scene '%s' was automatically imported, so it can't be modified.\n"
"To make changes to it, a new inherited scene can be created."
msgstr ""
-"Scena '%s' została automatycznie zaimportowana, więc nie może być "
+"Scena \"%s\" została automatycznie zaimportowana, więc nie może być "
"zmodyfikowana.\n"
"Aby dokonać na niej zmian, można utworzyć nową odziedziczoną scenę."
@@ -2441,7 +2411,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Scene '%s' has broken dependencies:"
-msgstr "Scena '%s' ma niespełnione zależności:"
+msgstr "Scena \"%s\" ma niespełnione zależności:"
#: editor/editor_node.cpp
msgid "Clear Recent Scenes"
@@ -2462,7 +2432,7 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"Wybrana scena '%s' nie istnieje, wybrać poprawną? \n"
+"Wybrana scena \"%s\" nie istnieje, wybrać poprawną? \n"
"Można to później zmienić w \"Ustawienia projektu\" w kategorii \"aplikacja\"."
#: editor/editor_node.cpp
@@ -2471,7 +2441,7 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
-"Wybrany plik '%s' nie jest sceną, wybrać poprawny?\n"
+"Wybrany plik \"%s\" nie jest sceną, wybrać poprawny?\n"
"Można to później zmienić w \"Ustawienia projektu\" w kategorii \"aplikacja\"."
#: editor/editor_node.cpp
@@ -2506,12 +2476,11 @@ msgstr "Zamknij inne karty"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Zamknij karty po prawej"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Zamknij wszystkie"
+msgstr "Zamknij wszystkie karty"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2645,7 +2614,7 @@ msgstr "Otwórz folder danych projektu"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Zainstaluj szablon eksportu dla Androida"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2753,10 +2722,34 @@ msgid "Editor Layout"
msgstr "Układ edytora"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Zmień na korzeń sceny"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Otwórz folder ustawień/danych edytora"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Otwórz następny edytor"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Pełny ekran"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Przełącz widoczność CanvasItem"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Otwórz folder ustawień/danych edytora"
@@ -2769,9 +2762,8 @@ msgid "Open Editor Settings Folder"
msgstr "Otwórz folder ustawień edytora"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "ZarzÄ…dzaj szablonami eksportu"
+msgstr "Zarządzaj funkcjonalnościami edytora"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2864,15 +2856,18 @@ msgid "Spins when the editor window redraws."
msgstr "Obraca siÄ™, gdy okno edytora jest przerysowywane."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Zawsze Odświeżaj"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Ciągłe"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Odśwież Zmiany"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Wyłącz wiatraczek aktualizacji"
#: editor/editor_node.cpp
@@ -2901,18 +2896,19 @@ msgstr "Nie zapisuj"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
-msgstr ""
+msgstr "Brakuje szablonu budowania Androida, zainstaluj odpowiednie szablony."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "ZarzÄ…dzaj szablonami eksportu"
+msgstr "ZarzÄ…dzaj szablonami"
#: editor/editor_node.cpp
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"To zainstaluje projekt Androida dla dostosowanych wydań.\n"
+"W celu użycia go, musi zostać dołączony do każdego profilu eksportu."
#: editor/editor_node.cpp
msgid ""
@@ -2920,6 +2916,8 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"Szablon budowania Androida jest już zainstalowany i nie będzie nadpisany.\n"
+"Usuń ręcznie folder \"build\" przed spróbowaniem tej operacji ponownie."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3169,6 +3167,11 @@ msgid "Page: "
msgstr "Strona: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Usuń element"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nowy klucz:"
@@ -3180,11 +3183,6 @@ msgstr "Nowa wartość:"
msgid "Add Key/Value Pair"
msgstr "Dodaj parę klucz/wartość"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Usuń element"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3208,7 +3206,7 @@ msgstr "Nie udało się utworzyć instancji skryptu:"
#: editor/editor_run_script.cpp
msgid "Did you forget the 'tool' keyword?"
-msgstr "Zapomniałeś nazwy 'narzędzia' ?"
+msgstr "Zapomniano słowa kluczowego \"tool\"?"
#: editor/editor_run_script.cpp
msgid "Couldn't run script:"
@@ -3216,7 +3214,7 @@ msgstr "Nie można uruchomić skryptu:"
#: editor/editor_run_script.cpp
msgid "Did you forget the '_run' method?"
-msgstr "Zapomniałeś metody '_run'?"
+msgstr "Zapomniano metody \"_run\"?"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
@@ -3339,7 +3337,7 @@ msgid ""
"found at '%s'."
msgstr ""
"Instalacja szablonów się nie udała. Problematyczne archiwa szablonów mogą "
-"być znalezione w '%s'."
+"być znalezione w \"%s\"."
#: editor/export_template_manager.cpp
msgid "Error requesting url: "
@@ -3392,9 +3390,8 @@ msgid "SSL Handshake Error"
msgstr "Błąd podczas wymiany (handshake) SSL"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "Dekompresja zasobów"
+msgstr "Dekompresja źródeł budowania Androida"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3413,7 +3410,6 @@ msgid "Remove Template"
msgstr "Usuń szablon"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
msgstr "Wybierz plik szablonu"
@@ -3441,7 +3437,7 @@ msgstr "Ulubione"
#: editor/filesystem_dock.cpp
msgid "Cannot navigate to '%s' as it has not been found in the file system!"
-msgstr "Nie można przejść do '%s' - nie znaleziono w tym systemie plików!"
+msgstr "Nie można przejść do \"%s\" - nie znaleziono w tym systemie plików!"
#: editor/filesystem_dock.cpp
msgid "Status: Import of file failed. Please fix file and reimport manually."
@@ -3474,9 +3470,8 @@ msgid "No name provided."
msgstr "Nie podano nazwy."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "Podana nazwa zawiera niedozwolone znaki"
+msgstr "Podana nazwa zawiera niedozwolone znaki."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3503,26 +3498,22 @@ msgid "Duplicating folder:"
msgstr "Duplikowanie Folderu:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Nowa scena dziedziczÄ…ca..."
+msgstr "Nowa scena dziedziczÄ…ca"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Otwórz scenę"
+msgstr "Otwórz sceny"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Instancja"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
msgstr "Dodaj do ulubionych"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
msgstr "Usuń z ulubionych"
@@ -3572,21 +3563,18 @@ msgid "Rename"
msgstr "Zmień nazwę"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Poprzedni folder"
+msgstr "Poprzedni folder/plik"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Następny folder"
+msgstr "Następny folder/plik"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "Przeskanuj system plików ponownie"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
msgstr "Przełącz tryb podziału"
@@ -3639,6 +3627,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Dołącz pliki z podanymi rozszerzeniami. Dodaj lub usuń je w Ustawieniach "
+"Projektu."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3790,11 +3780,11 @@ msgstr "Zapisywanie..."
#: editor/import_dock.cpp
msgid "Set as Default for '%s'"
-msgstr "Ustaw jako domyślne dla '%s'"
+msgstr "Ustaw jako domyślne dla \"%s\""
#: editor/import_dock.cpp
msgid "Clear Default for '%s'"
-msgstr "Usuń domyślne dla '%s'"
+msgstr "Usuń domyślne dla \"%s\""
#: editor/import_dock.cpp
msgid " Files"
@@ -4079,9 +4069,8 @@ msgid "Open Animation Node"
msgstr "Otwórz węzeł animacji"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "Trójkąt już istnieje"
+msgstr "Trójkąt już istnieje."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4227,7 +4216,6 @@ msgid "Edit Filtered Tracks:"
msgstr "Edytuj filtrowane ścieżki:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
msgstr "Włącz filtrowanie"
@@ -4360,12 +4348,11 @@ msgstr "Auto odtwarzanie po załadowaniu"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Enable Onion Skinning"
-msgstr "Włącz Onion skinning"
+msgstr "Włącz tryb warstw cebuli (onion skinning)"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "Onion skinning"
+msgstr "Opcje trybu warstw cebuli"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4828,7 +4815,7 @@ msgid ""
"Light' flag is on."
msgstr ""
"Brak siatek do cieniowania. Upewnij się, że zawierają kanał UV2 i że flaga "
-"'Bake Light' jest ustawiona."
+"\"Bake Light\" jest ustawiona."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Failed creating lightmap images, make sure path is writable."
@@ -4935,6 +4922,8 @@ msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Gdy aktywne, poruszanie węzłów typu Control zmienia ich zakotwiczenie, "
+"zamiast marginesów."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -4950,41 +4939,35 @@ msgstr "Zmień zakotwiczenie"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "Narzędzie wyboru"
+msgstr "Zablokuj wybrane"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "Usuń zaznaczone"
+msgstr "Odblokuj wybrane"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Kopiuj zaznaczenie"
+msgstr "Grupuj wybrane"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Kopiuj zaznaczenie"
+msgstr "Rozgrupuj wybrane"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "Wklej pozÄ™"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
msgstr "Utwórz własne kości z węzłów"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "Wyczyść pozę"
+msgstr "Wyczyść kości"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5023,8 +5006,8 @@ msgstr "Alt+Przeciągnij: Przesuń"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
msgstr ""
-"Wciśnij 'v' by Zmienić Pivot, 'Shift+v' by Przesunąć Pivot (podczas "
-"poruszania)."
+"Wciśnij \"v\" by zmienić punkt zaczepienia (pivot), \"Shift+v\" by przesunąć "
+"punkt zaczepienia (podczas poruszania)."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+RMB: Depth list selection"
@@ -5072,7 +5055,6 @@ msgid "Snapping Options"
msgstr "Opcje przyciÄ…gania"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
msgstr "PrzyciÄ…gaj do siatki"
@@ -5094,37 +5076,30 @@ msgid "Use Pixel Snap"
msgstr "Użyj krokowania na poziomie pikseli"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
msgstr "Inteligentne przyciÄ…ganie"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
msgstr "PrzyciÄ…gaj do rodzica"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
-msgstr "Przyciągaj do kotwicy węzła"
+msgstr "Przyciągaj do zakotwiczenia węzła"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
msgstr "Przyciągaj do boków węzła"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
msgstr "Przyciągaj do środka węzła"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
msgstr "Przyciągaj do innych węzłów"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
msgstr "PrzyciÄ…gaj do prowadnic"
@@ -5208,7 +5183,7 @@ msgstr "Powiększ do zaznaczenia"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
-msgstr ""
+msgstr "Skala płótna podglądu"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
@@ -5264,9 +5239,8 @@ msgid "Divide grid step by 2"
msgstr "Zmniejsz wielkość siatki dwukrotnie"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Pan View"
-msgstr "Widok z tyłu"
+msgstr "Przesuń widok"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -5291,7 +5265,6 @@ msgid "Error instancing scene from %s"
msgstr "Błąd instancjacji sceny z %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
msgstr "Zmienić domyślny typ"
@@ -5335,6 +5308,14 @@ msgid "Load Emission Mask"
msgstr "Wczytaj maskÄ™ emisji"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Uruchom ponownie"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Usuń maskę emisji"
@@ -5380,14 +5361,12 @@ msgid "Create Emission Points From Node"
msgstr "Twórz punkty emisji z węzła"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "Flat0"
+msgstr "Płaskie 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "Flat1"
+msgstr "Płaskie 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5414,29 +5393,24 @@ msgid "Load Curve Preset"
msgstr "Wczytaj predefiniowanÄ… krzywÄ…"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
msgstr "Dodaj punkt"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
msgstr "Usuń punkt"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
msgstr "Lewe liniowe"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
msgstr "Prawe liniowe"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
-msgstr "Wczytaj ustawienia predefiniowane"
+msgstr "Wczytaj profil"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Curve Point"
@@ -5491,16 +5465,14 @@ msgid "This doesn't work on scene root!"
msgstr "Nie działa na głównym węźle sceny!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "Utwórz kształt trójsiatki"
+msgstr "Utwórz statyczny kształt trójsiatki"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Tworzenie kształtów nieudane!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
msgstr "Utwórz kształt wypukły"
@@ -5558,7 +5530,6 @@ msgid "Create Trimesh Collision Sibling"
msgstr "Utwórz sąsiadującą trójsiatkę kolizji"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
msgstr "Utwórz wypukłego sąsiada kolizji"
@@ -5919,7 +5890,6 @@ msgid "Split Segment (in curve)"
msgstr "Podziel Segment (na krzywej)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
msgstr "Przesuń złącze"
@@ -6252,10 +6222,20 @@ msgid "Find Next"
msgstr "Znajdź następny"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtruj właściwości"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Przełącz alfabetyczne sortowanie listy metod."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Tryb filtrowania:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sortuj"
@@ -6366,18 +6346,16 @@ msgid "Debug with External Editor"
msgstr "Debugowanie z zewnętrznym edytorem"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Otwórz dokumentację online"
+msgstr "Otwórz dokumentację Godota online."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "PoproÅ› o dokumentacjÄ™"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "Pomóż polepszyć dokumentację Godota przesyłając opinię"
+msgstr "Pomóż polepszyć dokumentację Godota przesyłając opinię."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6422,29 +6400,27 @@ msgid "Search Results"
msgstr "Wyniki wyszukiwania"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "Podłącz do węzła:"
+msgstr "Połączenia do metody:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Źródło:"
+msgstr "Źródło"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Sygnały"
+msgstr "Sygnał"
#: editor/plugins/script_text_editor.cpp
msgid "Target"
msgstr "Cel"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "Nic nie podłączono do wejścia '%s' węzła '%s'."
+msgstr ""
+"Brakuje połączonej metody \"%s\" dla sygnału \"%s\" z węzła \"%s\" do węzła "
+"\"%s\"."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6493,18 +6469,13 @@ msgstr "Podświetlacz składni"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "Zakładki"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Wytnij"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Zaznacz wszystko"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Usuń wiersz"
@@ -6522,24 +6493,20 @@ msgid "Toggle Comment"
msgstr "Przełącz komentarz"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "Przełącz swobodny widok"
+msgstr "Przełącz zakładkę"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Przejdź do następnego punktu wstrzymania"
+msgstr "Przejdź do następnej zakładki"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "Przejdź do poprzedniego punktu wstrzymania"
+msgstr "Przejdź do poprzedniej zakładki"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "Usuń wszystkie elementy"
+msgstr "Usuń wszystkie zakładki"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -6615,13 +6582,12 @@ msgid "Contextual Help"
msgstr "Pomoc kontekstowa"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"Następujące pliki są nowsze na dysku.\n"
-"Jakie działania należy podjąć?:"
+"Ten shader został zmieniony na dysku.\n"
+"Jakie działania podjąć?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -6966,7 +6932,6 @@ msgid "Right View"
msgstr "Widok z prawej"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
msgstr "Przełącz widok perspektywiczny/ortogonalny"
@@ -7012,7 +6977,6 @@ msgid "Transform"
msgstr "Przekształcanie"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
msgstr "Przyciągnij obiekt do podłogi"
@@ -7203,14 +7167,12 @@ msgid "Settings:"
msgstr "Ustawienia:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "Powiększ do zaznaczenia"
+msgstr "Nie wybrano klatek"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Dodaj klatkÄ™"
+msgstr "Dodaj %d klatek"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7261,13 +7223,12 @@ msgid "Animation Frames:"
msgstr "Klatki animacji:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Dodaj teksturÄ™/y do TileSetu."
+msgstr "Dodaj teksturÄ™ z pliku"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "Dodaj klatki ze Sprite Sheeta"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
@@ -7286,29 +7247,24 @@ msgid "Move (After)"
msgstr "PrzenieÅ› (za)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select Frames"
-msgstr "Ramki stosu"
+msgstr "Zaznacz klatki"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Odbij poziomo"
+msgstr "Poziomo:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Wierzchołki"
+msgstr "Pionowo:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "Zaznacz wszystko"
+msgstr "Wybierz/wyczyść wszystkie klatki"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "Utwórz ze sceny"
+msgstr "Utwórz klatki ze Sprite Sheeta"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7380,9 +7336,8 @@ msgid "Remove All"
msgstr "Usuń wszystkie"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "Edytuj motyw interfejsu..."
+msgstr "Edytuj motyw"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7409,23 +7364,20 @@ msgid "Create From Current Editor Theme"
msgstr "Utwórz z aktualnego motywu edytora"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "Przycisk myszy"
+msgstr "Przełączany przycisk"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Åšrodkowy guzik"
+msgstr "Wyłączony przycisk"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "Element"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "Wyłączone"
+msgstr "Wyłączony element"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7445,21 +7397,19 @@ msgstr "Zaznaczony element opcji"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "Nazwany sep."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Podmenu"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "Element"
+msgstr "Element 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "Element"
+msgstr "Element 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7470,9 +7420,8 @@ msgid "Many"
msgstr "Wiele"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "Wyłączone"
+msgstr "Wyłączony LineEdit"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7487,13 +7436,12 @@ msgid "Tab 3"
msgstr "Zakładka 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "Edytowalne dzieci"
+msgstr "Edytowalny element"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "Poddrzewo"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7573,14 +7521,12 @@ msgid "Mirror Y"
msgstr "Odbij Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "Autotiles"
+msgstr "Wyłącz autokafelki"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "Edytuj priorytet Kafelka"
+msgstr "Włącz priorytety"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7591,33 +7537,30 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift+PPM: Rysuj liniÄ™\n"
+"Shift+Ctrl+PPM: Maluj prostokÄ…t"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
msgstr "Wybierz kafelek"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
msgstr "Obróć w lewo"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
msgstr "Obróć w prawo"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
msgstr "Odbij poziomo"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
msgstr "Odbij pionowo"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
msgstr "Wyczyść przekształcenie"
@@ -7654,44 +7597,36 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Wybierz poprzedni kształt, podkafelek lub Kafelek."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "Tryb uruchamiania:"
+msgstr "Tryb obszaru"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Sposób interpolacji"
+msgstr "Tryb kolizji"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "Edytuj wielokÄ…t okluzji"
+msgstr "Tryb okluzji"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "Utwórz siatkę nawigacyjną (Navigation Mesh)"
+msgstr "Tryb nawigacji"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "Tryb Rotacji"
+msgstr "Tryb maski bitowej"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "Tryb eksportu:"
+msgstr "Tryb priorytetów"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "Tryb przesuwania"
+msgstr "Tryb ikon"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "Tryb przesuwania"
+msgstr "Tryb indeksów Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7775,7 +7710,6 @@ msgid "Delete polygon."
msgstr "Usuń wielokąt."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
@@ -7784,6 +7718,7 @@ msgid ""
msgstr ""
"LPM: Włącz bit.\n"
"PPM: Wyłącz bit.\n"
+"Shift+LPM: Ustaw bit typu wildcard.\n"
"Kliknij inny Kafelek, by go edytować."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -7897,77 +7832,64 @@ msgid "TileSet"
msgstr "TileSet"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "Dodaj Wejście"
+msgstr "Dodaj wejście+"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "Dodaj Wejście"
+msgstr "Dodaj wyjście+"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "Skala:"
+msgstr "Skalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "Inspektor"
+msgstr "Wektor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Prawda/fałsz"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "Dodaj Wejście"
+msgstr "Dodaj port wejściowy"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "Dodaj port wyjściowy"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "Zmienić domyślny typ"
+msgstr "Zmień typ portu wejściowego"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "Zmienić domyślny typ"
+msgstr "Zmień typ portu wyjściowego"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "Zmień nazwę wejścia"
+msgstr "Zmień nazwę portu wejściowego"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "Zmień nazwę wejścia"
+msgstr "Zmień nazwę portu wyjściowego"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "Usuń punkt"
+msgstr "Usuń port wejściowy"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "Usuń punkt"
+msgstr "Usuń port wyjściowy"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "Zmień wyrażenie"
+msgstr "Ustaw wyrażenie"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "Shader wizualny"
+msgstr "Zmień rozmiar węzła VisualShader"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
@@ -8006,459 +7928,238 @@ msgid "Light"
msgstr "Światło"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "Utwórz węzeł"
+msgstr "Utwórz węzeł shadera"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "Przejdź do funkcji"
+msgstr "Funkcja koloru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
-msgstr ""
+msgstr "Operator koloru."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "Utwórz funkcję"
+msgstr "Funkcja odcieni szarości."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "Konwertuje wektor HSV do odpowiednika RGB."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "Konwertuje wektor RGB do odpowiednika HSV."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "Zmień nazwę funkcji"
+msgstr "Funkcja sepii."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "Operator wypalenia."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
-msgstr ""
+msgstr "Operator przyciemnienia."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Difference operator."
-msgstr "Tylko różnice"
+msgstr "Operator różnicy."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
-msgstr ""
+msgstr "Operator uniku."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "HardLight operator"
-msgstr ""
+msgstr "Operator twardego światła"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Lighten operator."
-msgstr ""
+msgstr "Operator rozjaśnienia."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Overlay operator."
-msgstr ""
+msgstr "Operator pokrycia."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Screen operator."
-msgstr ""
+msgstr "Operator ekranu."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "SoftLight operator."
-msgstr ""
+msgstr "Operator miękkiego światła."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "Stałe"
+msgstr "Stała koloru."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "Wyczyść przekształcenie"
+msgstr "Uniform koloru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
msgstr ""
+"Zwraca powiązany wektor, jeśli podane skalary są równe, większe lub mniejsze."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
msgstr ""
+"Zwraca powiązany wektor, jeśli podana wartość boolowska jest prawdziwa albo "
+"fałszywa."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Boolean constant."
-msgstr "Zmień stałą Vec"
+msgstr "Stała prawda/fałsz."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
-msgstr ""
+msgstr "Uniform prawda/fałsz."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
-msgid "Input parameter."
-msgstr "PrzyciÄ…gaj do rodzica"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
+msgid "'%s' input parameter for all shader modes."
+msgstr "Parametr wejściowy \"uv\" dla wszystkich trybów shadera."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
+msgid "Input parameter."
+msgstr "Parametr wejściowy."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr "Parametr wejściowy \"uv\" dla wszystkich trybów shadera."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr "Parametr wejściowy \"uv\" dla wszystkich trybów shadera."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment shader mode."
+msgstr "Parametr wejściowy \"uv\" dla wszystkich trybów shadera."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for light shader mode."
+msgstr "Parametr wejściowy \"uv\" dla wszystkich trybów shadera."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex shader mode."
+msgstr "Parametr wejściowy \"uv\" dla wszystkich trybów shadera."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr "Parametr wejściowy \"uv\" dla wszystkich trybów shadera."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar function."
-msgstr "Zamień funkcję skalarną"
+msgstr "Funkcja skalarna."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar operator."
-msgstr "Zmień operator skalara"
+msgstr "Operator skalarny."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "Stała e (2.718282). Reprezentuje podstawę logarytmu naturalnego."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "Stała epsilon (0.00001). Najmniejszy możliwy numer skalarny."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "Stała phi (1.618034). Złoty podział."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "Stała Pi/4 (0.785398) lub 45 stopni."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "Stała Pi/2 (1.570796) lub 90 stopni."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "Stała Pi (3.141593) lub 180 stopni."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "Stała tau (6.283185) lub 360 stopni."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "Stała sqrt2 (1.414214). Pierwiastek kwadratowy z 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "Zwraca wartość bezwzględną parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "Zwraca arcus cosinus parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Tylko GLES3) Zwraca odwrócony cosinus hiperboliczny parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "Zwraca arcus sinus parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Tylko GLES3) Zwraca odwrócony sinus hiperboliczny parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "Zwraca arcus tangens parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "Zwraca arcus tangens parametrów."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Tylko GLES3) Zwraca odwrócony tangens hiperboliczny parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
+msgstr "Znajduje najbliższą liczbę całkowitą większą lub równą parametrowi."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "Ogranicza wartość, by leżała pomiędzy dwiema podanymi wartościami."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "Zwraca cosinus parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Tylko GLES3) Zwraca cosinus hiperboliczny parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "Konwertuje wartość w radianach na stopnie."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "Eksponenta o podstawie e."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "Eksponenta o podstawie 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
@@ -8470,7 +8171,7 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "Zwraca odwrotność pierwiastka kwadratowego z parametru."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
@@ -9190,7 +8891,7 @@ msgstr "Projekt bez nazwy"
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
-msgstr "Nie można otworzyć projektu w '%s'."
+msgstr "Nie można otworzyć projektu w \"%s\"."
#: editor/project_manager.cpp
msgid "Are you sure to open more than one project?"
@@ -9381,8 +9082,8 @@ msgid ""
"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
msgstr ""
-"Niepoprawna nazwa akcji. Nie może być pusta ani zawierać '/', ':', '=', '\\' "
-"lub '\"'"
+"Niepoprawna nazwa akcji. Nie może być pusta ani zawierać \"/\", \":\", \"="
+"\", \"\\\" lub \""
#: editor/project_settings_editor.cpp
#, fuzzy
@@ -9523,11 +9224,11 @@ msgstr "Najpierw wybierz ustawienie z listy!"
#: editor/project_settings_editor.cpp
msgid "No property '%s' exists."
-msgstr "Właściwość '%s' nie istnieje."
+msgstr "Właściwość \"%s\" nie istnieje."
#: editor/project_settings_editor.cpp
msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr "Wbudowana opcja '%s' nie może zostać usunięta."
+msgstr "Wbudowana opcja \"%s\" nie może zostać usunięta."
#: editor/project_settings_editor.cpp
msgid "Delete Item"
@@ -9538,8 +9239,8 @@ msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'."
msgstr ""
-"Niepoprawna nazwa akcji. Nie może być pusta ani zawierać '/', ':', '=', '\\' "
-"lub '\"'."
+"Niepoprawna nazwa akcji. Nie może być pusta ani zawierać \"/\", \":\", \"="
+"\", \"\\\" lub \"."
#: editor/project_settings_editor.cpp
msgid "Add Input Action"
@@ -9919,7 +9620,8 @@ msgid ""
"Cannot instance the scene '%s' because the current scene exists within one "
"of its nodes."
msgstr ""
-"Nie można utworzyć sceny '%s' ponieważ obecna scena jest jednym z jej wezłów."
+"Nie można utworzyć sceny \"%s\" ponieważ obecna scena jest jednym z jej "
+"węzłów."
#: editor/scene_tree_dock.cpp
msgid "Instance Scene(s)"
@@ -10078,6 +9780,11 @@ msgid "Add Child Node"
msgstr "Dodaj węzeł"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Zwiń wszystko"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Zmień typ"
@@ -10106,7 +9813,8 @@ msgid "Delete (No Confirm)"
msgstr "Usuń (bez potwierdzenie)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Dodaj/Utwórz nowy węzeł"
#: editor/scene_tree_dock.cpp
@@ -10274,7 +9982,7 @@ msgstr "Wybrano błędne rozszeczenie"
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
-msgstr "Błąd podczas ładowania szablonu '%s'"
+msgstr "Błąd podczas ładowania szablonu \"%s\""
#: editor/script_create_dialog.cpp
msgid "Error - Could not create script in filesystem."
@@ -10873,7 +10581,7 @@ msgstr "Tworzenie konturów..."
#: modules/recast/navigation_mesh_generator.cpp
msgid "Creating polymesh..."
-msgstr "Tworzenie polymesh'a..."
+msgstr "Tworzenie siatki wielokÄ…tnej..."
#: modules/recast/navigation_mesh_generator.cpp
msgid "Converting to native navigation mesh..."
@@ -11065,7 +10773,7 @@ msgstr "Połącz sekwencję węzłów"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
-msgstr "Skrypt posiada już funkcję '%s'"
+msgstr "Skrypt posiada już funkcję \"%s\""
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Input Value"
@@ -11174,7 +10882,7 @@ msgstr "Ścieżka nie prowadzi do węzła!"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Invalid index property name '%s' in node %s."
-msgstr "Nieprawidłowy indeks we właściwości '%s' węzła %s."
+msgstr "Nieprawidłowy indeks we właściwości \"%s\" węzła %s."
#: modules/visual_script/visual_script_nodes.cpp
msgid ": Invalid argument of type: "
@@ -11227,7 +10935,7 @@ msgstr "Segmenty paczki muszą mieć niezerową długość."
#: platform/android/export/export.cpp
msgid "The character '%s' is not allowed in Android application package names."
-msgstr "Znak '%s' nie jest dozwolony w nazwach paczek aplikacji Androida."
+msgstr "Znak \"%s\" nie jest dozwolony w nazwach paczek aplikacji Androida."
#: platform/android/export/export.cpp
msgid "A digit cannot be the first character in a package segment."
@@ -11235,7 +10943,7 @@ msgstr "Cyfra nie może być pierwszym znakiem w segmencie paczki."
#: platform/android/export/export.cpp
msgid "The character '%s' cannot be the first character in a package segment."
-msgstr "Znak '%s' nie może być pierwszym znakiem w segmencie paczki."
+msgstr "Znak \"%s\" nie może być pierwszym znakiem w segmencie paczki."
#: platform/android/export/export.cpp
msgid "The package must have at least one '.' separator."
@@ -11314,7 +11022,7 @@ msgstr "Segmenty identyfikatora muszą mieć niezerową długość."
#: platform/iphone/export/export.cpp
msgid "The character '%s' is not allowed in Identifier."
-msgstr "Znak '%s' nie jest dozwolony w identyfikatorze."
+msgstr "Znak \"%s\" nie jest dozwolony w identyfikatorze."
#: platform/iphone/export/export.cpp
msgid "A digit cannot be the first character in a Identifier segment."
@@ -11323,7 +11031,7 @@ msgstr "Cyfra nie może być pierwszym znakiem w segmencie identyfikatora."
#: platform/iphone/export/export.cpp
msgid ""
"The character '%s' cannot be the first character in a Identifier segment."
-msgstr "Znak '%s' nie może być pierwszym znakiem w segmencie identyfikatora."
+msgstr "Znak \"%s\" nie może być pierwszym znakiem w segmencie identyfikatora."
#: platform/iphone/export/export.cpp
msgid "The Identifier must have at least one '.' separator."
@@ -11595,6 +11303,17 @@ msgstr ""
"Tej kości brakuje odpowiedniej pozy spoczynkowej. Pójdź do węzła Skeleton2D "
"i ustaw jÄ…."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D służy jedynie do określenia kształtu kolizji dla jednego z "
+"obiektów dziedziczących z CollisionObject2D. Używaj go tylko jako dziecko "
+"obiektów typu Area2D, StaticBody2D, RigidBody2D, KinematicBody2D itd."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11613,13 +11332,12 @@ msgid "ARVRController must have an ARVROrigin node as its parent."
msgstr "ARVRController musi posiadać węzeł ARVROrigin jako nadrzędny"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The controller ID must not be 0 or this controller won't be bound to an "
"actual controller."
msgstr ""
-"Id kontrolera nie może być '0' w innym przypadku kontroler nie zostanie "
-"przypisany do żadnego rzeczywistego kontrolera"
+"ID kontrolera nie może być 0, w innym przypadku kontroler nie zostanie "
+"przypisany do żadnego rzeczywistego kontrolera."
#: scene/3d/arvr_nodes.cpp
#, fuzzy
@@ -11825,8 +11543,8 @@ msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
-"Zasób SpriteFrames musi być ustawiony jako wartość właściwości 'Frames' żeby "
-"AnimatedSprite3D wyświetlał klatki."
+"Zasób SpriteFrames musi być ustawiony jako wartość właściwości \"Frames\" "
+"żeby AnimatedSprite3D wyświetlał klatki."
#: scene/3d/vehicle_body.cpp
msgid ""
@@ -11861,19 +11579,19 @@ msgstr "W węźle BlendTree '%s', animacja nie znaleziona: '%s'"
#: scene/animation/animation_blend_tree.cpp
msgid "Animation not found: '%s'"
-msgstr "Animacja nie znaleziona: '%s'"
+msgstr "Animacja nie znaleziona: \"%s\""
#: scene/animation/animation_tree.cpp
msgid "In node '%s', invalid animation: '%s'."
-msgstr "W węźle '%s', nieprawidłowa animacja: '%s'."
+msgstr "W węźle \"%s\", nieprawidłowa animacja: \"%s\"."
#: scene/animation/animation_tree.cpp
msgid "Invalid animation: '%s'."
-msgstr "Nieprawidłowa animacja: '%s'."
+msgstr "Nieprawidłowa animacja: \"%s\"."
#: scene/animation/animation_tree.cpp
msgid "Nothing connected to input '%s' of node '%s'."
-msgstr "Nic nie podłączono do wejścia '%s' węzła '%s'."
+msgstr "Nic nie podłączono do wejścia \"%s\" węzła \"%s\"."
#: scene/animation/animation_tree.cpp
msgid "A root AnimationNode for the graph is not set."
@@ -11902,8 +11620,13 @@ msgid "Pick a color from the screen."
msgstr "Pobierz kolor z ekranu."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Trybie RAW"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Odchylenie"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11916,7 +11639,7 @@ msgstr "Dodaj bieżący kolor do zapisanych."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -11926,6 +11649,12 @@ msgstr ""
"Jeśli nie zamierzasz dodać skryptu, zamiast tego użyj zwykłego węzła "
"\"Control\"."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Alarm!"
@@ -12021,7 +11750,51 @@ msgstr "Varying może być przypisane tylko w funkcji wierzchołków."
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Stałe nie mogą być modyfikowane."
+
+#~ msgid "Enabled Classes"
+#~ msgstr "Włączone klasy"
+
+#~ msgid "Update Always"
+#~ msgstr "Zawsze Odświeżaj"
+
+#~ msgid "'camera' input parameter for all shader modes."
+#~ msgstr "Parametr wejściowy \"camera\" dla wszystkich trybów shadera."
+
+#~ msgid "'inv_camera' input parameter for all shader modes."
+#~ msgstr "Parametr wejściowy \"inv_camera\" dla wszystkich trybów shadera."
+
+#~ msgid "'inv_projection' input parameter for all shader modes."
+#~ msgstr ""
+#~ "Parametr wejściowy \"inv_projection\" dla wszystkich trybów shadera."
+
+#~ msgid "'normal' input parameter for all shader modes."
+#~ msgstr "Parametr wejściowy \"normal\" dla wszystkich trybów shadera."
+
+#~ msgid "'projection' input parameter for all shader modes."
+#~ msgstr "Parametr wejściowy \"projection\" dla wszystkich trybów shadera."
+
+#~ msgid "'time' input parameter for all shader modes."
+#~ msgstr "Parametr wejściowy \"time\" dla wszystkich trybów shadera."
+
+#~ msgid "'viewport_size' input parameter for all shader modes."
+#~ msgstr "Parametr wejściowy \"viewport_size\" dla wszystkich trybów shadera."
+
+#~ msgid "'world' input parameter for all shader modes."
+#~ msgstr "Parametr wejściowy \"world\" dla wszystkich trybów shadera."
+
+#~ msgid "'alpha' input parameter for all shader modes."
+#~ msgstr "Parametr wejściowy \"alpha\" dla wszystkich trybów shadera."
+
+#~ msgid "'color' input parameter for all shader modes."
+#~ msgstr "Parametr wejściowy \"color\" dla wszystkich trybów shadera."
+
+#~ msgid "'texture_pixel_size' input parameter for all shader modes."
+#~ msgstr ""
+#~ "Parametr wejściowy \"texture_pixel_size\" dla wszystkich trybów shadera."
+
+#~ msgid "Raw Mode"
+#~ msgstr "Trybie RAW"
#~ msgid "Path to Node:"
#~ msgstr "Ścieżka do węzła:"
@@ -12557,9 +12330,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Przełącz widoczność Spatial"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Przełącz widoczność CanvasItem"
-
#~ msgid "Condition"
#~ msgstr "Warunek"
diff --git a/editor/translations/pr.po b/editor/translations/pr.po
index 4d976eb687..28c15c05c0 100644
--- a/editor/translations/pr.po
+++ b/editor/translations/pr.po
@@ -451,6 +451,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Slit th' Node"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1312,7 +1322,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1517,7 +1527,7 @@ msgid "Node Dock"
msgstr "Find ye Node Type"
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1573,7 +1583,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1588,7 +1598,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Slit th' Node"
#: editor/editor_feature_profile.cpp
@@ -1612,14 +1622,10 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "yer Nodes doing nothin':"
#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
msgid "Class Options"
msgstr "Yar, Blow th' Selected Down!"
@@ -2644,10 +2650,31 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Toggle ye Breakpoint"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2754,15 +2781,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
+#, fuzzy
+msgid "Update When Changed"
+msgstr "Change"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3056,20 +3084,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5199,6 +5227,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6120,10 +6155,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Paste yer Node"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Paste yer Node"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6366,11 +6411,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Delete Line"
@@ -7968,51 +8008,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8020,203 +8016,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9862,6 +9682,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9891,8 +9715,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Yar, Blow th' Selected Down!"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11339,6 +11164,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11587,7 +11419,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11600,12 +11436,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index d618b0b7d7..e055eecf16 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -62,12 +62,13 @@
# Klaus Dellano <klausdell@hotmail.com>, 2019.
# Esdras Tarsis <esdrastarsis@gmail.com>, 2019.
# Douglas Fiedler <dognew@gmail.com>, 2019.
+# Rarysson Guilherme <r_guilherme12@hotmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2019-06-16 19:41+0000\n"
-"Last-Translator: Douglas Fiedler <dognew@gmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:47+0000\n"
+"Last-Translator: Rarysson Guilherme <r_guilherme12@hotmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -75,7 +76,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -134,9 +135,8 @@ msgid "Time:"
msgstr "Tempo:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Valor"
+msgstr "Valor:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -490,10 +490,28 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Esta animação pertence a uma cena importada, dessa forma, mudanças das "
+"trilhas importadas não serão salvas.\n"
+"\n"
+"Para ativar a possibilidade de adicionar trilhas customizadas, navegue até "
+"as configurações de importação da cena e defina\n"
+"\"Animação > Armazenamento\" para \"Arquivos\", ative \"Animação > Mantenha "
+"Trilhas Customizadas\", então reimporte.\n"
+"Alternativamente, você pode usar um preset importado que importe animações "
+"em arquivos separados."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Aviso: Editando animação importada"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Selecionar Tudo"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "Remover Seleção"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -727,38 +745,32 @@ msgid "Line and column numbers."
msgstr "Números de linha e coluna."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "O método no Nó alvo precisa ser especificado!"
+msgstr "O método no nó alvo precisa ser especificado."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Método alvo não encontrado! Especifique um método válido ou anexe um script "
-"ao Nó alvo."
+"Método alvo não encontrado. Especifique um método válido ou anexe um script "
+"ao nó alvo."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
msgstr "Conectar ao Nó:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Não foi possível conectar ao host:"
+msgstr "Conectar ao Script:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Sinais:"
+msgstr "Sinal Origem:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "O nó não contém geometria."
+msgstr "A cena não contém nenhum script."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -798,6 +810,7 @@ msgstr "Postergado"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Adia o sinal, guardando em uma fila e o ativando somente em tempo ocioso."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -805,12 +818,11 @@ msgstr "Oneshot"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Desconecta o sinal depois da sua primeira emissão."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Conectar Sinal: "
+msgstr "Não foi possível conectar o sinal"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -852,14 +864,12 @@ msgid "Disconnect"
msgstr "Desconectar"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Conectar Sinal: "
+msgstr "Conectar um Sinal a um Método"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Editar Conexão: "
+msgstr "Editar Conexão:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -935,22 +945,20 @@ msgid "Dependencies For:"
msgstr "Dependências Para:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Cena \"%s\" está sendo editada atualmente.\n"
-"Alterações não terão efeito a menos que seja recarregada."
+"Cena '%s' está sendo editada atualmente.\n"
+"As alterações só serão feitas quando a cena for recarregada."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
-"Recurso \"%s\" está em uso.\n"
-"Alterações terão efeito ao recarregar."
+"Recurso '%s' está em uso.\n"
+"As alterações só serão feitas quando o recurso for recarregado."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -1043,9 +1051,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "Excluir permanentemente %d item(s)? (Irreversível)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Dependências"
+msgstr "Mostrar Dependências"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1308,7 +1315,7 @@ msgstr "Abrir Layout de Canais de Ãudio"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "Não existe o arquivo '%s'."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1365,30 +1372,25 @@ msgid "Valid characters:"
msgstr "Caracteres válidos:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr "Nome inválido. Não é permitido utilizar nomes de classes da engine."
+msgstr "Não é permitido utilizar nomes de classes da engine."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr ""
-"Nome inválido. Não é permitido utilizar nomes de tipos internos da engine."
+msgid "Must not collide with an existing built-in type name."
+msgstr "Não é permitido utilizar nomes de tipos internos da engine."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr ""
-"Nome inválido. Não é permitido utilizar nomes de constantes globais da "
-"engine."
+msgstr "Não é permitido utilizar nomes de constantes globais da engine."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "A palavra-chave não pode ser usada como um nome de autoload."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
-msgstr "Autoload \"%s\" já existe!"
+msgstr "Autoload '%s' já existe!"
#: editor/editor_autoload_settings.cpp
msgid "Rename Autoload"
@@ -1415,7 +1417,6 @@ msgid "Rearrange Autoloads"
msgstr "Reordenar Autoloads"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "Caminho inválido."
@@ -1470,9 +1471,8 @@ msgid "[unsaved]"
msgstr "[não salvo]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Por favor selecione um diretório base primeiro"
+msgstr "Por favor selecione um diretório base primeiro."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1557,29 +1557,25 @@ msgid "Template file not found:"
msgstr "Arquivo de modelo não encontrado:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Editor"
+msgstr "Editor 3D"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Abrir Editor de Scripts"
+msgstr "Editor de Script"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Abrir Biblioteca de Assets"
+msgstr "Biblioteca de Assets"
#: editor/editor_feature_profile.cpp
#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Ãrvore de Cena (Nodes):"
+msgstr "Edição de Ãrvore de Cena"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Importar"
+msgstr "Importar Dock"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1588,90 +1584,83 @@ msgstr "Nó Movido"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Arquivos"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Substituir Tudo (sem desfazer)"
+msgstr "Apagar perfil '%s'? (sem desfazer)"
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "O perfil precisa ser um nome de arquivo válido e não pode conter '.'"
#: editor/editor_feature_profile.cpp
#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Um arquivo ou pasta com esse nome já existe."
+msgstr "Um perfil com esse nome já existe."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Editor Desativado, Propriedades Desativadas)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Apenas Propriedades"
+msgstr "(Propriedades Desativadas)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Corte Desabilitado"
+msgstr "(Editor Desativado)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Descrição da Classe:"
+msgstr "Opções da Classe:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Abrir o próximo Editor"
+msgstr "Habilitar Editor Contextual"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Propriedades:"
+msgstr "Propriedades Ativadas:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Funcionalidades"
+msgstr "Funcionalidades Ativadas:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Pesquisar Classes"
+msgstr "Classes Ativadas:"
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Arquivo com formato '%s' é inválido, importação abortada."
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Erro ao carregar modelo '%s'"
+msgstr "Erro ao salvar perfil no caminho: '%s'."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid "Unset"
-msgstr ""
+msgstr "Não definido"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Versão Atual:"
+msgid "Current Profile:"
+msgstr "Perfil Atual"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Atual:"
+msgstr "Definir como atual"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1690,38 +1679,28 @@ msgstr "Exportar"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Nodes Disponíveis:"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Pesquisar Classes"
+msgid "Available Profiles:"
+msgstr "Perfis Disponíveis"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Descrição da Classe"
+msgstr "Opções da Classe"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Novo nome:"
+msgstr "Novo nome de perfil:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Apagar Ãrea"
+msgstr "Apagar Perfil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Projeto Importado"
+msgstr "Importar Perfil(s)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Exportar Projeto"
+msgstr "Exportar Perfil"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2232,13 +2211,12 @@ msgstr ""
"melhor esse procedimento."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
"Este recurso pertence a uma cena que foi instanciada ou herdada.\n"
-"Alterações nele não serão mantidas ao salvar a cena atual."
+"Alterações no recurso não serão mantidas ao salvar a cena atual."
#: editor/editor_node.cpp
msgid ""
@@ -2249,7 +2227,6 @@ msgstr ""
"no painel de importação e então re-importe."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
@@ -2262,7 +2239,6 @@ msgstr ""
"melhor esse procedimento."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
@@ -2293,9 +2269,8 @@ msgid "Open Base Scene"
msgstr "Abrir Cena Base"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Abrir Cena Rapidamente..."
+msgstr "Abrir Rapidamente..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2538,12 +2513,11 @@ msgstr "Fechas as outras abas"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Fechar Abas à Direita"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Fechar Tudo"
+msgstr "Fechar Todas Abas"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2788,10 +2762,34 @@ msgid "Editor Layout"
msgstr "Layout do Editor"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Fazer Raiz de Cena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Abrir Editor/Configurações de Pasta"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Abrir o próximo Editor"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Alternar Tela-Cheia"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Alternar CanvasItem Visível"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Abrir Editor/Configurações de Pasta"
@@ -2899,15 +2897,18 @@ msgid "Spins when the editor window redraws."
msgstr "Gira quando a janela do editor atualiza."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Atualizar Sempre"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Contínuo"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Atualizar Alterações"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Desabilitar Spinner de Atualização"
#: editor/editor_node.cpp
@@ -2939,9 +2940,8 @@ msgid "Android build template is missing, please install relevant templates."
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Gerenciar Modelos de Exportação"
+msgstr "Gerenciar Templates"
#: editor/editor_node.cpp
msgid ""
@@ -3205,6 +3205,11 @@ msgid "Page: "
msgstr "Página: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Remover Item"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nova Chave:"
@@ -3216,11 +3221,6 @@ msgstr "Novo Valor:"
msgid "Add Key/Value Pair"
msgstr "Adicionar Par de Chave/Valor"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Remover Item"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3510,9 +3510,8 @@ msgid "No name provided."
msgstr "Nenhum nome fornecido."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "O nome fornecido contém caracteres inválidos"
+msgstr "O nome fornecido contém caracteres inválidos."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3539,28 +3538,24 @@ msgid "Duplicating folder:"
msgstr "Duplicando pasta:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Nova Cena Herdada..."
+msgstr "Nova Cena Herdada"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Abrir Cena"
+msgstr "Abrir Cenas"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Instância"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
-msgstr "Adicionar aos favoritos"
+msgstr "Adicionar aos Favoritos"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
-msgstr "Remover dos favoritos"
+msgstr "Remover dos Favoritos"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
@@ -3608,14 +3603,12 @@ msgid "Rename"
msgstr "Renomear"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Pasta Anterior"
+msgstr "Pasta/Arquivo Anterior"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Próxima Pasta"
+msgstr "Próxima Pasta/Arquivo"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
@@ -3671,10 +3664,13 @@ msgid "Filters:"
msgstr "Filtros:"
#: editor/find_in_files.cpp
+#, fuzzy
msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Inclua os arquivos com as seguintes extensões. Adicione ou remova os "
+"arquivos em ProjectSettings."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4114,9 +4110,8 @@ msgid "Open Animation Node"
msgstr "Abrir Nó de Animação"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "Triângulo já existe"
+msgstr "Triângulo já existe."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4263,9 +4258,8 @@ msgid "Edit Filtered Tracks:"
msgstr "Editar trilhas filtradas:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
-msgstr "Habilitar filtragem"
+msgstr "Habilitar Filtragem"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -4989,25 +4983,23 @@ msgstr "Alterar Âncoras"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Lock Selected"
-msgstr "Ferramenta Selecionar"
+msgstr "Fixar Selecionado"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Unlock Selected"
-msgstr "Excluir Selecionados"
+msgstr "Destravar Selecionados"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Copiar Seleção"
+msgstr "Agrupar Selecionados"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Copiar Seleção"
+msgstr "Desagrupar Selecionados"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
@@ -5329,9 +5321,8 @@ msgid "Error instancing scene from %s"
msgstr "Erro ao instanciar cena de %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
-msgstr "Mudar tipo padrão"
+msgstr "Mudar Tipo Padrão"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5373,6 +5364,14 @@ msgid "Load Emission Mask"
msgstr "Carregar Máscara de Emissão"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Reiniciar Agora"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Limpar Máscara de Emissão"
@@ -5418,14 +5417,12 @@ msgid "Create Emission Points From Node"
msgstr "Criar Pontos de Emissão a Partir do Nó"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "Flat0"
+msgstr "Plano 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "Flat1"
+msgstr "Plano 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5452,14 +5449,12 @@ msgid "Load Curve Preset"
msgstr "Carregar Definição de Curva"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
-msgstr "Adicionar ponto"
+msgstr "Adicionar Ponto"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
-msgstr "Remover ponto"
+msgstr "Remover Ponto"
#: editor/plugins/curve_editor_plugin.cpp
#, fuzzy
@@ -5535,12 +5530,11 @@ msgstr "Criar Forma Trimesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Falha ao criar formas!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Criar Forma Convexa"
+msgstr "Criar Forma(s) Convexa(s)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -6295,10 +6289,20 @@ msgid "Find Next"
msgstr "Localizar próximo"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtrar propriedades"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Alternar ordenação alfabética da lista de métodos."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Modo de filtragem:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordenar"
@@ -6409,18 +6413,16 @@ msgid "Debug with External Editor"
msgstr "Depurar com o Editor Externo"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Abrir a documentação online da Godot"
+msgstr "Abrir a documentação online da Godot."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "Solicitar documentos"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "Ajude a melhorar a documentação do Godot dando seu feedback"
+msgstr "Ajude a melhorar a documentação do Godot dando seu feedback."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6465,19 +6467,16 @@ msgid "Search Results"
msgstr "Pesquisar resultados"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "Conectar ao Nó:"
+msgstr "Conexões com o método:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Origem:"
+msgstr "Origem"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Sinais"
+msgstr "Sinal"
#: editor/plugins/script_text_editor.cpp
msgid "Target"
@@ -6487,7 +6486,9 @@ msgstr "Destino"
#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "Nada está ligado à entrada '%s' do nó '%s'."
+msgstr ""
+"Está faltando o método conectado '%s' do sinal '%s' do nó '%s' para o nó "
+"'%s'."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6535,19 +6536,15 @@ msgstr "Realce de sintaxe"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#, fuzzy
msgid "Bookmarks"
-msgstr ""
+msgstr "Favoritos"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Recortar"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Selecionar Tudo"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Excluir Linha"
@@ -6567,7 +6564,7 @@ msgstr "Alternar Comentário"
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Toggle Bookmark"
-msgstr "Alternar Visão Livre"
+msgstr "Alternar Favoritos"
#: editor/plugins/script_text_editor.cpp
#, fuzzy
@@ -7009,9 +7006,8 @@ msgid "Right View"
msgstr "Visão Direita"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
-msgstr "Alternar visão Perspectiva/Ortogonal"
+msgstr "Alternar Visão Perspectiva/Ortogonal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
@@ -7055,9 +7051,8 @@ msgid "Transform"
msgstr "Transformação"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
-msgstr "Encaixar o objeto no chão"
+msgstr "Encaixar Objeto ao Chão"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
@@ -7251,9 +7246,8 @@ msgid "No Frames Selected"
msgstr "Seleção de Quadros"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Adicionar Quadro"
+msgstr "Adicionar %d Quadro(s)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7304,9 +7298,8 @@ msgid "Animation Frames:"
msgstr "Quadros da Animação:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Adicionar textura(s) ao TileSet."
+msgstr "Adicionar Textura de um Arquivo"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
@@ -7334,14 +7327,12 @@ msgid "Select Frames"
msgstr "Pilha de Quadros"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Girar horizontalmente"
+msgstr "Horizontal:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Vértices"
+msgstr "Vertical:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
@@ -7492,7 +7483,7 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Submenu"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -7536,7 +7527,7 @@ msgstr "Filhos Editáveis"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "Subárvore"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7634,6 +7625,8 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift+RMB: Desenhar Linha\n"
+"Shift+Ctrl+RMB: Pintar Retângulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -7960,7 +7953,7 @@ msgstr "Inspetor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Booleano"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -7969,7 +7962,7 @@ msgstr "Adicionar Entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "Adicionar porta de saída"
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8068,11 +8061,11 @@ msgstr "Fazer Função"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "Converter vetor HSV para um RGB equivalente."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "Converter vetor RGB para um HSV equivalente."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8127,15 +8120,21 @@ msgid "Color uniform."
msgstr "Limpar Transformação"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
msgstr ""
+"Retorna um vetor associado se as escalares providas forem iguais, maiores ou "
+"menores."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
msgstr ""
+"Retorna um vetor associado se o valor do boolean fornecido for verdadeiro ou "
+"falso."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8147,51 +8146,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8200,203 +8155,27 @@ msgid "Input parameter."
msgstr "Encaixar no pai"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8411,72 +8190,74 @@ msgstr "Alterar Operador Escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "Constante E (2,718282). Representa a base de um logaritmo natural."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "Constante Epsilon (0,00001). O menor número escalar possível."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "Constante Phi (1,618034). Proporção áurea."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "Constante Pi/4 (0,785398) or 45 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "Constante Pi/2 (1,570796) ou 90 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "Constante Pi (3,141593) ou 180 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "Constante Tau (6,283185) ou 360 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "Constante Sqrt2 (1,414214). Raiz quadrada de 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "Retorna o valor absoluto do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "Retorna o arco-cosseno do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Somente em GLES3) Retorna o coseno hiperbólico inverso do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "Retorna o arco-seno do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Somente em GLES3) Retorna o seno hiperbólico inverso do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "Retorna o arco-tangente do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "Retorna o arco-tangente dos parâmetros."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
msgstr ""
+"(Somente em GLES3) Retorna a tangente hiperbólica inversa do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
+msgstr "Localiza o inteiro mais próximo que é maior ou igual ao parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
@@ -8484,27 +8265,30 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "Retorna o cosseno do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Somente em GLES3) Retorna o coseno hiperbólico do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "Converte uma quantidade em radianos para graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Base-e Exponential."
-msgstr ""
+msgstr "Exponencial de Base-e."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "Exponencial de Base-2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
+msgstr "Encontra o inteiro mais próximo que é menor ou igual ao parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
@@ -8512,15 +8296,16 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "Retorna o inverso da raiz quadrada do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
-msgstr ""
+msgstr "Logaritmo natural."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "Logaritmo de Base-2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
@@ -8532,36 +8317,38 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
-msgstr ""
+msgstr "Interpolação linear entre dois escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the opposite value of the parameter."
-msgstr ""
+msgstr "Retorna o valor oposto do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - scalar"
-msgstr ""
+msgstr "1,0 - escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
+msgstr "Retorna o valor do primeiro parâmetro elevado a potência do segundo."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in degrees to radians."
-msgstr ""
+msgstr "Converte uma quantidade em graus para radianos."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / scalar"
-msgstr ""
+msgstr "1,0 / escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "(GLES3 only) Finds the nearest integer to the parameter."
-msgstr ""
+msgstr "(Somente em GLES3) Encontra o inteiro mais próximo ao parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "(GLES3 only) Finds the nearest even integer to the parameter."
-msgstr ""
+msgstr "(Somente em GLES3) Encontra o inteiro par mais próximo ao parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
@@ -8569,19 +8356,19 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Extracts the sign of the parameter."
-msgstr ""
+msgstr "Extrai o sinal do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the sine of the parameter."
-msgstr ""
+msgstr "Retorna o seno do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Somente em GLES3) Retorna o seno hiperbólico do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the square root of the parameter."
-msgstr ""
+msgstr "Retorna a raiz quadrada do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8601,35 +8388,40 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
-msgstr ""
+msgstr "Retorna a tangente do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Somente em GLES3) Retorna a tangente hiperbólica do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the truncated value of the parameter."
-msgstr ""
+msgstr "(Somente em GLES3) Encontra o valor truncado do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Adds scalar to scalar."
-msgstr ""
+msgstr "Adiciona escalar a escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Divides scalar by scalar."
-msgstr ""
+msgstr "Divide escalar por escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Multiplies scalar by scalar."
-msgstr ""
+msgstr "Multiplica escalar por escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Returns the remainder of the two scalars."
-msgstr ""
+msgstr "Retorna o resto das duas escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Subtracts scalar from scalar."
-msgstr ""
+msgstr "Subtrai escalar de escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8684,24 +8476,29 @@ msgid "Decomposes transform to four vectors."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "(GLES3 only) Calculates the determinant of a transform."
-msgstr ""
+msgstr "(Somente em GLES3) Calcula o determinante da transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "(GLES3 only) Calculates the inverse of a transform."
-msgstr ""
+msgstr "(Somente em GLES3) Calcula a inversa da transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "(GLES3 only) Calculates the transpose of a transform."
-msgstr ""
+msgstr "(Somente em GLES3) Calcula a transposta da transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Multiplies transform by transform."
-msgstr ""
+msgstr "Multiplica transform por transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid "Multiplies vector by transform."
-msgstr ""
+msgstr "Multiplica vetor por transform."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -8725,23 +8522,23 @@ msgstr "Alterar Operador Vet"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
-msgstr ""
+msgstr "Compõe um vetor de três escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr ""
+msgstr "Decompõe um vetor em três escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
-msgstr ""
+msgstr "Calcula o produto vetorial de dois vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the distance between two points."
-msgstr ""
+msgstr "Retorna a distância entre dois pontos."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr ""
+msgstr "Calcula o produto escalar de dois vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8750,36 +8547,43 @@ msgid ""
"incident vector, and Nref, the reference vector. If the dot product of I and "
"Nref is smaller than zero the return value is N. Otherwise -N is returned."
msgstr ""
+"Retorna um vetor que aponta na mesma direção que um vetor de referência. A "
+"função tem três vetores como parâmetros: N, o vetor para orientar, I, o "
+"vetor incidente, e Nref, o vetor de referência. Se o produto escalar de I e "
+"Nref for menor do que zero o valor de retorno é N. Caso contrário -N é "
+"retornado."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr ""
+msgstr "Calcula o comprimento de um vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
-msgstr ""
+msgstr "Interpolação linear entre dois vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr ""
+msgstr "Calcula o produto normalizado do vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
-msgstr ""
+msgstr "1,0 - vetor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / vector"
-msgstr ""
+msgstr "1,0 / vetor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns a vector that points in the direction of reflection ( a : incident "
"vector, b : normal vector )."
msgstr ""
+"Retorna um vetor que aponta na direção da reflexão ( a: vetor incidente, b: "
+"vetor normal )."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns a vector that points in the direction of refraction."
-msgstr ""
+msgstr "Retorna um vetor que aponta na direção da refração."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8815,23 +8619,23 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
-msgstr ""
+msgstr "Adiciona vetor ao vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr ""
+msgstr "Divide vetor por vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
-msgstr ""
+msgstr "Multiplica vetor por vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two vectors."
-msgstr ""
+msgstr "Retorna o resto dos dois vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts vector from vector."
-msgstr ""
+msgstr "Subtrai vetor de vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
@@ -10123,6 +9927,11 @@ msgid "Add Child Node"
msgstr "Adicionar Nó Filho"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Recolher Tudo"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Mudar Tipo"
@@ -10151,7 +9960,8 @@ msgid "Delete (No Confirm)"
msgstr "Excluir (Sem Confirmação)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Adicionar/Criar um Novo Nó"
#: editor/scene_tree_dock.cpp
@@ -10511,7 +10321,7 @@ msgstr "Definir a partir da árvore"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
-msgstr ""
+msgstr "Exporta medidas como CSV"
#: editor/settings_config_dialog.cpp
msgid "Erase Shortcut"
@@ -10642,8 +10452,9 @@ msgid "GDNativeLibrary"
msgstr "GDNativeLibrary"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
+#, fuzzy
msgid "Enabled GDNative Singleton"
-msgstr ""
+msgstr "Singleton GDBNative ativado"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
#, fuzzy
@@ -11643,6 +11454,17 @@ msgstr ""
"Este osso não possui uma pose REST adequada. Vá para o nó Skeleton2D e "
"defina um."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D apenas serve para fornecer a forma de colisão para um nó "
+"derivado de CollisionObject2D. Por favor use-o apenas como filho de Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para dá-los forma."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11951,8 +11773,13 @@ msgid "Pick a color from the screen."
msgstr "Escolha uma cor da tela."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Modo Bruto"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Guinada"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11965,7 +11792,7 @@ msgstr "Adicionar cor atual como uma predefinição."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -11975,6 +11802,12 @@ msgstr ""
"Se você não pretende adicionar um script, por favor use um nó simples "
"'Control'."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Alerta!"
@@ -12069,7 +11902,16 @@ msgstr "Variáveis só podem ser atribuídas na função de vértice."
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Constantes não podem serem modificadas."
+
+#~ msgid "Enabled Classes"
+#~ msgstr "Classes Ativadas"
+
+#~ msgid "Update Always"
+#~ msgstr "Atualizar Sempre"
+
+#~ msgid "Raw Mode"
+#~ msgstr "Modo Bruto"
#~ msgid "Path to Node:"
#~ msgstr "Caminho para o Nó:"
@@ -12635,9 +12477,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Alternar Spatial Visível"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Alternar CanvasItem Visível"
-
#~ msgid "Condition"
#~ msgstr "Condição"
@@ -13560,9 +13399,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "Imagens:"
-#~ msgid "Select None"
-#~ msgstr "Remover Seleção"
-
#~ msgid "Group"
#~ msgstr "Grupo"
diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po
index d9af00c3c3..76b1edfc3c 100644
--- a/editor/translations/pt_PT.po
+++ b/editor/translations/pt_PT.po
@@ -18,7 +18,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
+"PO-Revision-Date: 2019-07-02 10:51+0000\n"
"Last-Translator: João Lopes <linux-man@hotmail.com>\n"
"Language-Team: Portuguese (Portugal) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_PT/>\n"
@@ -27,7 +27,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -87,9 +87,8 @@ msgid "Time:"
msgstr "Tempo:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "Valor"
+msgstr "Valor:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -444,10 +443,29 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Esta animação pertence a uma cena importada; alterações não serão "
+"guardadas.\n"
+"\n"
+"Para ativar a capacidade de adicionar faixas personalizadas, vá à "
+"configuração de importação da cena e defina\n"
+"\"Animação > Armazenamento\" para \"Ficheiros\", ative \"Animação > Manter "
+"Faixas Personalizadas\"; depois reimporte.\n"
+"Em alternativa, use uma predefinição de importação que importe animações "
+"para ficheiros separados."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Aviso: A editar animação importada"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Selecionar tudo"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Selecionar Nó"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -681,38 +699,32 @@ msgid "Line and column numbers."
msgstr "Números de Linha e Coluna."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "Método no Nó alvo deve ser especificado!"
+msgstr "Método no Nó alvo deve ser especificado."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Método alvo não encontrado! Especifique um Método válido ou anexe um Script "
+"Método alvo não encontrado. Especifique um método válido ou anexe um script "
"ao Nó de destino."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
msgstr "Conectar ao Nó:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Impossível ligar ao host:"
+msgstr "Conectar ao Script:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Sinais:"
+msgstr "Do Sinal:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "O Nó não contêm geometria."
+msgstr "A Cena não contém qualquer script."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -740,9 +752,8 @@ msgid "Extra Call Arguments:"
msgstr "Argumentos de chamada extra:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Opções Avançadas"
+msgstr "Avançado"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -752,6 +763,8 @@ msgstr "Deferido"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Retarda o sinal, armazena-o numa fila e só ativando-o em tempo de "
+"inatividade."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -759,12 +772,11 @@ msgstr "Oneshot"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Desconecta o sinal após a primeira emissão."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Conectar sinal: "
+msgstr "Impossível conectar sinal"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -806,14 +818,12 @@ msgid "Disconnect"
msgstr "Desligar"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Conectar sinal: "
+msgstr "Conectar Sinal a Método"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Editar Conexão: "
+msgstr "Editar Conexão:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -889,22 +899,20 @@ msgid "Dependencies For:"
msgstr "Dependências para:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
"A Cena '%s' está a ser editada.\n"
-"As alterações não terão efeito até recarregar."
+"As alterações só terão efeito quando recarregar."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
"Recurso '%s' em uso.\n"
-"Alterações terão efeito após reinício."
+"As alterações só terão efeito quando recarregar."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -997,9 +1005,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "Apagar permanentemente %d itens? (Sem desfazer!)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "Dependências"
+msgstr "Mostra Dependências"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1262,7 +1269,7 @@ msgstr "Abrir Modelo de barramento de áudio"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "Não existe ficheiro '%s'."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1319,29 +1326,22 @@ msgid "Valid characters:"
msgstr "Carateres válidos:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"Nome inválido. Não pode coincidir com um nome de classe do motor já "
-"existente."
+msgstr "Não pode coincidir com um nome de classe do motor já existente."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr ""
-"Nome inválido. Não pode coincidir com um nome de um tipo incorporado, já "
-"existente."
+msgid "Must not collide with an existing built-in type name."
+msgstr "Não pode coincidir com um nome de um tipo incorporado já existente."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr ""
-"Nome inválido. Não pode coincidir com um nome de uma constante global, já "
-"existente."
+msgstr "Não pode coincidir com um nome de uma constante global já existente."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
msgstr ""
+"Palavras-chave não podem ser usadas como nome de carregamento automático."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1372,7 +1372,6 @@ msgid "Rearrange Autoloads"
msgstr "Reorganizar Carregamentos Automáticos"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "Caminho inválido."
@@ -1427,9 +1426,8 @@ msgid "[unsaved]"
msgstr "[não guardado]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Por favor, selecione a diretoria base primeiro"
+msgstr "Por favor selecione primeiro a diretoria base."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1514,121 +1512,106 @@ msgid "Template file not found:"
msgstr "Ficheiro Modelo não encontrado:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Editor"
+msgstr "Editor 3D"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Abrir Editor de Scripts"
+msgstr "Editor de Script"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Abrir Biblioteca de Ativos"
+msgstr "Biblioteca de Ativos"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Ãrvore de Cena (Nós):"
+msgstr "Edição da Ãrvore de Cena"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Importar"
+msgstr "Importar Doca"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Nó Movido"
+msgstr "Nó Doca"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "Sistema de Ficheiros"
+msgid "FileSystem and Import Docks"
+msgstr "Sistema de Ficheiros Doca"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Substituir tudo (não há desfazer)"
+msgstr "Substituir perfil '%s'? (não há desfazer)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "Perfil tem de ser um ficheiro válido e não pode conter '.'"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Um Ficheiro ou diretoria já existe com este nome."
+msgstr "Já existe um Perfil com este nome."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Editor Desativado, Propriedades Desativadas)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Apenas Propriedades"
+msgstr "(Propriedades Desativadas)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Recorte desativado"
+msgstr "(Editor Desativado)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Descrição da Classe:"
+msgstr "Opções da Classe:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Abrir o Editor seguinte"
+msgstr "Ativar Editor de Contexto"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Propriedades:"
+msgstr "Ativar Propriedades:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "Características"
+msgstr "Ativar Características:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Procurar Classes"
+msgstr "Ativar Classes:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Formato do ficheiro '%s' é inválido, importação interrompida."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"Perfil '%s' já existe. Remova-o antes de importar. Importação abortada."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Erro ao carregar Modelo '%s'"
+msgstr "Erro ao guardar perfil no caminho: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "Desativar"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Versão Atual:"
+msgid "Current Profile:"
+msgstr "Perfil Atual"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Atual:"
+msgstr "Tornar Atual"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1647,43 +1630,32 @@ msgstr "Exportar"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "Nós Disponíveis:"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Procurar Classes"
+msgid "Available Profiles:"
+msgstr "Perfis disponíveis"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Descrição da Classe"
+msgstr "Opções da Classe"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Novo nome:"
+msgstr "Novo nome do perfil:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Apagar Ãrea"
+msgstr "Apagar Perfil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Projeto importado"
+msgstr "Importar Perfil/Perfis"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Exportar Projeto"
+msgstr "Exportar Perfil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "Gerir Modelos de Exportação"
+msgstr "Gerir Editor de Perfis"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1806,9 +1778,8 @@ msgid "(Un)favorite current folder."
msgstr "(Não) tornar favorita atual pasta."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Alternar Ficheiros escondidos"
+msgstr "Alternar visibilidade de ficheiros escondidos."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1845,6 +1816,8 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"Existem vários importadores para diferentes tipos que apontam para o "
+"ficheiro %s. Importação abortada"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -2189,13 +2162,12 @@ msgstr ""
"melhor entendimento deste fluxo de trabalho."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
-"Este recurso pertence a uma Cena que foi instanciada ou herdada.\n"
-"As alterações ao mesmo não serão mantidas, ao guardar a Cena atual."
+"Este recurso pertence a uma cena que foi instanciada ou herdada.\n"
+"As alterações ao mesmo não serão mantidas ao guardar a cena atual."
#: editor/editor_node.cpp
msgid ""
@@ -2206,27 +2178,25 @@ msgstr ""
"configurações no painel de importação e então importe de novo."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"Esta Cena foi importada, portanto, as alterações à mesma não serão "
+"Esta cena foi importada, portanto, as alterações à mesma não serão "
"mantidas.\n"
-"Instanciando-a ou herdando-a vai permitir efetuar alterções à mesma.\n"
-"Por favor, leia a documentação relevante sobre importação de Cenas, para um "
+"Instanciando-a ou herdando-a vai permitir efetuar alterações à mesma.\n"
+"Por favor, leia a documentação relevante sobre importação de cenas, para um "
"melhor entendimento do fluxo de trabalho."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
-"Este é um Objeto remoto, portanto, as alterações ao mesmo não serão "
+"Este é um objeto remoto, portanto, as alterações ao mesmo não serão "
"mantidas.\n"
"Por favor, leia a documentação relevante sobre depuração para um melhor "
"entendimento deste fluxo de trabalho."
@@ -2252,9 +2222,8 @@ msgid "Open Base Scene"
msgstr "Abrir Cena Base"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Abrir Cena de forma rápida..."
+msgstr "Abertura rápida..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2494,12 +2463,11 @@ msgstr "Fechar outros separadores"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Fechar Separadores à Direita"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Fechar tudo"
+msgstr "Fechar Todos os Separadores"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2633,7 +2601,7 @@ msgstr "Abrir Pasta de Dados do Projeto"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Instalar Modelo Android de Compilação"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2743,10 +2711,34 @@ msgid "Editor Layout"
msgstr "Apresentação do Editor"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Tornar Nó Raiz"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Abrir Pasta do Editor de Dados/Configurações"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Abrir o Editor seguinte"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Alternar Ecrã completo"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Alternar visibilidade do CanvasItem"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Abrir Pasta do Editor de Dados/Configurações"
@@ -2759,9 +2751,8 @@ msgid "Open Editor Settings Folder"
msgstr "Abrir Pasta de Configurações do Editor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "Gerir Modelos de Exportação"
+msgstr "Gerir Características do Editor"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2854,15 +2845,18 @@ msgid "Spins when the editor window redraws."
msgstr "Roda quando a janela do editor atualiza."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Atualizar Sempre"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Contínuo"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Atualizar Alterações"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Desativar a roleta de atualização"
#: editor/editor_node.cpp
@@ -2891,18 +2885,19 @@ msgstr "Não Guardar"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
-msgstr ""
+msgstr "Modelo de compilação Android em falta. Instale os modelos necessários."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Gerir Modelos de Exportação"
+msgstr "Gerir Modelos"
#: editor/editor_node.cpp
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"O projeto Android para compilações personalizadas será instalado.\n"
+"Para o utilizar, terá de ser ativado nas predefinições de exportação."
#: editor/editor_node.cpp
msgid ""
@@ -2910,6 +2905,8 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"O modelo de compilação Android está instalado e não será substituído.\n"
+"Remova manualmente a diretoria \"build\" antes de repetir esta operação."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -3019,7 +3016,7 @@ msgstr "Medida:"
#: editor/editor_profiler.cpp
msgid "Frame Time (sec)"
-msgstr "Tempo de Quadro (seg)"
+msgstr "Tempo do Frame (seg)"
#: editor/editor_profiler.cpp
msgid "Average Time (sec)"
@@ -3027,11 +3024,11 @@ msgstr "Tempo Médio (seg)"
#: editor/editor_profiler.cpp
msgid "Frame %"
-msgstr "% Quadro"
+msgstr "Frame %"
#: editor/editor_profiler.cpp
msgid "Physics Frame %"
-msgstr "% Quadro de Física"
+msgstr "Frame de Física %"
#: editor/editor_profiler.cpp
msgid "Inclusive"
@@ -3043,7 +3040,7 @@ msgstr "Auto"
#: editor/editor_profiler.cpp
msgid "Frame #:"
-msgstr "# quadro:"
+msgstr "Frame #:"
#: editor/editor_profiler.cpp
msgid "Time"
@@ -3159,6 +3156,11 @@ msgid "Page: "
msgstr "Página: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Remover item"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Nova Chave:"
@@ -3170,11 +3172,6 @@ msgstr "Novo Valor:"
msgid "Add Key/Value Pair"
msgstr "Adicionar Par Chave/Valor"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Remover item"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3381,9 +3378,8 @@ msgid "SSL Handshake Error"
msgstr "Erro SSL Handshake"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "A descompactar Ativos"
+msgstr "A descompactar Fontes da Compilação Android"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3402,7 +3398,6 @@ msgid "Remove Template"
msgstr "Remover Modelo"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
msgstr "Selecionar Ficheiro de Modelo"
@@ -3463,9 +3458,8 @@ msgid "No name provided."
msgstr "Nome não fornecido."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "O nome contém carateres inválidos"
+msgstr "O nome fornecido contém carateres inválidos."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3492,26 +3486,22 @@ msgid "Duplicating folder:"
msgstr "A duplicar Diretoria:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Nova Cena Herdada..."
+msgstr "Nova Cena Herdada"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Abrir Cena"
+msgstr "Abrir Cenas"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "Instância"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
msgstr "Adicionar aos Favoritos"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
msgstr "Remover dos Favoritos"
@@ -3561,23 +3551,20 @@ msgid "Rename"
msgstr "Renomear"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Pasta Anterior"
+msgstr "Pasta/Ficheiro Anterior"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Próxima Pasta"
+msgstr "Próxima Pasta/Ficheiro"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "Carregar novamente o Sistema de Ficheiros"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
-msgstr "Alternar modo de divisão"
+msgstr "Alternar Modo de Divisão"
#: editor/filesystem_dock.cpp
msgid "Search files"
@@ -3628,6 +3615,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Inclui os ficheiros com as seguintes extensões. Adicione ou remova-os em "
+"ProjectSettings."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4065,9 +4054,8 @@ msgid "Open Animation Node"
msgstr "Abrir Nó Animação"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "Já existe triângulo"
+msgstr "Já existe triângulo."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4213,9 +4201,8 @@ msgid "Edit Filtered Tracks:"
msgstr "Editar Pistas Filtradas:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
-msgstr "Ativar filtragem"
+msgstr "Ativar Filtragem"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -4350,9 +4337,8 @@ msgid "Enable Onion Skinning"
msgstr "Ativar Onion Skinning"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "Onion Skinning"
+msgstr "Opções de Onion Skinning"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4916,6 +4902,8 @@ msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Quando ativo, mover nós Control altera as suas ancoras em vez das sua "
+"margens."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -4931,41 +4919,35 @@ msgstr "Mudar âncoras"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "Seleção de ferramenta"
+msgstr "Bloquear Seleção"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "Apagar Selecionados"
+msgstr "Desbloquear Seleção"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Copiar Seleção"
+msgstr "Agrupar Seleção"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Copiar Seleção"
+msgstr "Desagrupar Seleção"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "Colar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
-msgstr "Fazer Osso(s) Personalizados a partis de Nó(s)"
+msgstr "Criar Osso(s) Personalizado(s) a partis de Nó(s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "Limpar pose"
+msgstr "Apagar Ossos"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5052,9 +5034,8 @@ msgid "Snapping Options"
msgstr "Opções de Ajuste"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
-msgstr "Ajustar à grelha"
+msgstr "Ajustar à Grelha"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
@@ -5074,39 +5055,32 @@ msgid "Use Pixel Snap"
msgstr "Usar Ajuste de Pixel"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
-msgstr "Ajuste inteligente"
+msgstr "Ajuste Inteligente"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
-msgstr "Ajustar ao parente"
+msgstr "Ajustar ao Parente"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
-msgstr "Ajustar ao Nó âncora"
+msgstr "Ajustar ao Nó Âncora"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
-msgstr "Ajustar aos lados do Nó"
+msgstr "Ajustar aos Lados do Nó"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
-msgstr "Ajustar ao centro do Nó"
+msgstr "Ajustar ao Centro do Nó"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
-msgstr "Ajustar a outros Nós"
+msgstr "Ajustar a Outros Nós"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
-msgstr "Ajustar às guias"
+msgstr "Ajustar às Guias"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5184,11 +5158,11 @@ msgstr "Centrar seleção"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Frame Selection"
-msgstr "Emoldurar seleção"
+msgstr "Seleção de Frame"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
-msgstr ""
+msgstr "Pré-visualizar Escala do Canvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
@@ -5244,9 +5218,8 @@ msgid "Divide grid step by 2"
msgstr "Dividir passo da grelha por 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Pan View"
-msgstr "Vista de trás"
+msgstr "Vista Pan"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -5271,9 +5244,8 @@ msgid "Error instancing scene from %s"
msgstr "Erro a instanciar Cena de %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
-msgstr "Mudar tipo padrão"
+msgstr "Mudar Tipo Padrão"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5315,6 +5287,14 @@ msgid "Load Emission Mask"
msgstr "Carregar máscara de emissão"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Reiniciar agora"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Limpar máscara de emissão"
@@ -5333,7 +5313,7 @@ msgstr "Contagem de Pontos gerados:"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Mask"
-msgstr "Máscara de emissão"
+msgstr "Máscara de Emissão"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5343,7 +5323,7 @@ msgstr "Capturar a partir do pixel"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Colors"
-msgstr "Cores de emissão"
+msgstr "Cores de Emissão"
#: editor/plugins/cpu_particles_editor_plugin.cpp
msgid "CPUParticles"
@@ -5360,14 +5340,12 @@ msgid "Create Emission Points From Node"
msgstr "Criar Pontos de emissão a partir do Nó"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "Flat0"
+msgstr "Plano 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "Flat1"
+msgstr "Plano 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5394,29 +5372,24 @@ msgid "Load Curve Preset"
msgstr "Carregar curva predefinida"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
msgstr "Adicionar Ponto"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
msgstr "Remover Ponto"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
-msgstr "Linear esquerda"
+msgstr "Linear Esquerda"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
-msgstr "Linear direita"
+msgstr "Linear Direita"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
-msgstr "Carregar predefinição"
+msgstr "Carregar Predefinição"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Curve Point"
@@ -5471,18 +5444,16 @@ msgid "This doesn't work on scene root!"
msgstr "Não funciona na raiz da Cena!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "Criar forma Trimesh"
+msgstr "Criar Forma Estática Trimesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Falha na criação de formas!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Criar forma convexa"
+msgstr "Criar Forma(s) Convexa(s)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -5538,9 +5509,8 @@ msgid "Create Trimesh Collision Sibling"
msgstr "Criar irmão de colisão Trimesh"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
-msgstr "Criar irmão de colisão convexa"
+msgstr "Criar Irmão(s) de Colisão Convexa"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -5899,7 +5869,6 @@ msgid "Split Segment (in curve)"
msgstr "Separar segmento (na curva)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
msgstr "Mover Junta"
@@ -6232,10 +6201,20 @@ msgid "Find Next"
msgstr "Localizar Seguinte"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Propriedades do Filtro"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Alternar ordenação alfabética da lista de métodos."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Modo de filtro:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordenar"
@@ -6346,18 +6325,16 @@ msgid "Debug with External Editor"
msgstr "Depurar com Editor Externo"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Abrir documentação online do Godot"
+msgstr "Abrir documentação online do Godot."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "Requisitar Docs"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "Dê a sua opinião para ajudar a melhorar a documentação Godot"
+msgstr "Dê a sua opinião para ajudar a melhorar a documentação Godot."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6402,29 +6379,25 @@ msgid "Search Results"
msgstr "Resultados da Pesquisa"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "Conectar ao Nó:"
+msgstr "Conecções ao método:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Fonte:"
+msgstr "Fonte"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Sinais"
+msgstr "Sinal"
#: editor/plugins/script_text_editor.cpp
msgid "Target"
-msgstr ""
+msgstr "Alvo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "Nada conectado à entrada '%s' do nó '%s'."
+msgstr "Falta método conectado '%s' para sinal '%s' do nó '%s' para nó '%s'."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6473,18 +6446,13 @@ msgstr "Destaque de Sintaxe"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "Marcadores"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Cortar"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Selecionar tudo"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Apagar linha"
@@ -6502,24 +6470,20 @@ msgid "Toggle Comment"
msgstr "Alternar comentário"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "Alternar Freelook"
+msgstr "Alternar Marcador"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Ir para Próximo Breakpoint"
+msgstr "Ir para Próximo Marcador"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "Ir para Breakpoint Anterior"
+msgstr "Ir para Marcador Anterior"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "Remover todos os itens"
+msgstr "Remover todos os Marcadores"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -6595,13 +6559,12 @@ msgid "Contextual Help"
msgstr "Ajuda contextual"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"Os seguintes Ficheiros são mais recentes no disco.\n"
-"Que ação deve ser tomada?:"
+"Este Shader foi modificado no disco.\n"
+"Que ação deve ser tomada?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -6946,9 +6909,8 @@ msgid "Right View"
msgstr "Vista direita"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
-msgstr "Alternar vista perspetiva/ortogonal"
+msgstr "Alternar Vista Perspetiva/Ortogonal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
@@ -6992,9 +6954,8 @@ msgid "Transform"
msgstr "Transformar"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
-msgstr "Alinhar objetos ao chão"
+msgstr "Alinhar Objetos ao Chão"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
@@ -7182,14 +7143,12 @@ msgid "Settings:"
msgstr "Configuração:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "Emoldurar seleção"
+msgstr "Não há Frames Selecionados"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Adicionar Frame"
+msgstr "Adicionar %d Frame(s)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7197,7 +7156,7 @@ msgstr "Adicionar Frame"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
-msgstr "ERRO: Recurso de Frame não carregado!"
+msgstr "ERRO: Recurso de frame não carregado!"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Resource clipboard is empty or not a texture!"
@@ -7240,13 +7199,12 @@ msgid "Animation Frames:"
msgstr "Frames da Animação:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Adicionar Textura(s) ao TileSet."
+msgstr "Adicionar Textura do Ficheiro"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "Adicionar Frames de uma Folha de Sprites"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
@@ -7265,29 +7223,24 @@ msgid "Move (After)"
msgstr "Mover (depois)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select Frames"
-msgstr "Empilhar Frames"
+msgstr "Selecionar Frames"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Inverter horizontalmente"
+msgstr "Horizontal:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Vértices"
+msgstr "Vertical:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "Selecionar tudo"
+msgstr "Selecionar/Apagar Todos os Frames"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "Criar a partir da Cena"
+msgstr "Criar Frames a partir de Folha de Sprites"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7359,9 +7312,8 @@ msgid "Remove All"
msgstr "Remover tudo"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "Editar tema..."
+msgstr "Editar Tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7388,23 +7340,20 @@ msgid "Create From Current Editor Theme"
msgstr "Criar a partir de tema Editor atual"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "Botão do rato"
+msgstr "Alternar Botão"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Botão do meio"
+msgstr "Desativar Botão"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "Item"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "Desativado"
+msgstr "Item Desativado"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7424,21 +7373,19 @@ msgstr "Item Rádio marcado"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "Sep. Nomeado"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Sub-menu"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "Item"
+msgstr "Item 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "Item"
+msgstr "Item 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7449,9 +7396,8 @@ msgid "Many"
msgstr "Muitos"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "Desativado"
+msgstr "LineEdit Desativado"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7466,13 +7412,12 @@ msgid "Tab 3"
msgstr "Aba 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "Filhos editáveis"
+msgstr "Item Editável"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "Sub-árvore"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7552,14 +7497,12 @@ msgid "Mirror Y"
msgstr "Espelho Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "Tiles automáticos"
+msgstr "Desativar Autotile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "Editar Prioridade de Tile"
+msgstr "Ativar Prioridade"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7570,33 +7513,30 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift+RMB: Desenho de Linha\n"
+"Shift+Ctrl+RMB: Pintura de Retângulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
msgstr "Escolher Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
-msgstr "Rodar p/ esquerda"
+msgstr "Rodar Esquerda"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
-msgstr "Rodar p/ direita"
+msgstr "Rodar Direita"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
-msgstr "Inverter horizontalmente"
+msgstr "Inverter na Horizontal"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
-msgstr "Inverter verticalmente"
+msgstr "Inverter na Vertical"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
msgstr "Limpar Transformação"
@@ -7633,44 +7573,36 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Selecione a forma, subtile ou Tile anterior."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "Modo Execução:"
+msgstr "Modo Região"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Modo de Interpolação"
+msgstr "Modo Colisão"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "Editar Polígono de Oclusão"
+msgstr "Modo Oclusão"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "Criar Malha de Navegação"
+msgstr "Modo Navegação"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "Modo rodar"
+msgstr "Modo Bitmask"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "Modo exportação:"
+msgstr "Modo Prioridade"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "Modo deslocamento"
+msgstr "Modo Ãcone"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "Modo deslocamento"
+msgstr "Modo Ãndice Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7754,7 +7686,6 @@ msgid "Delete polygon."
msgstr "Apagar polígono."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
@@ -7763,6 +7694,7 @@ msgid ""
msgstr ""
"LMB: Ligar bit.\n"
"RMB: Desligar bit.\n"
+"Shift+LMB: Definir bit genérico.\n"
"Clique em outro Tile para o editar."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -7876,77 +7808,64 @@ msgid "TileSet"
msgstr "TileSet"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "Adicionar entrada"
+msgstr "Adicionar entrada +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "Adicionar entrada"
+msgstr "Adicionar saída +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "Escala:"
+msgstr "Escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "Inspetor"
+msgstr "Vetor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Lógico"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "Adicionar entrada"
+msgstr "Adicionar porta de entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "Adicionar porta de saída"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "Mudar tipo padrão"
+msgstr "Mudar tipo de porta de entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "Mudar tipo padrão"
+msgstr "Mudar tipo de porta de saída"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "Mudar nome de entrada"
+msgstr "Mudar nome de porta de entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "Mudar nome de entrada"
+msgstr "Mudar nome de porta de saída"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "Remover Ponto"
+msgstr "Remover porta de entrada"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "Remover Ponto"
+msgstr "Remover porta de saída"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "Mudar Expressão"
+msgstr "Definir expressão"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "VIsualShader"
+msgstr "Redimensionar nó VisualShader"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
@@ -7985,540 +7904,319 @@ msgid "Light"
msgstr "Luz"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "Criar Nó"
+msgstr "Criar Nó Shader"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "Ir para Função"
+msgstr "Função Cor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
-msgstr ""
+msgstr "Operador de Cor."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "Criar Função"
+msgstr "Função Cinza."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "Converte vetor HSV para equivalente RGB."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "Converte vetor RGB para equivalente HSV."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "Mudar nome da Função"
+msgstr "Função Sépia."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "Operador de Queima."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
-msgstr ""
+msgstr "Operador Escurecer."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Difference operator."
-msgstr "Apenas diferenças"
+msgstr "Operador Diferença."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
-msgstr ""
+msgstr "Operador Desvio."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "HardLight operator"
-msgstr ""
+msgstr "Operador HardLight"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Lighten operator."
-msgstr ""
+msgstr "Operador Clarear."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Overlay operator."
-msgstr ""
+msgstr "Operador Sobrepor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Screen operator."
-msgstr ""
+msgstr "Operador Ecrã."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "SoftLight operator."
-msgstr ""
+msgstr "Operador SoftLight."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "Constante"
+msgstr "Constante Cor."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "Limpar Transformação"
+msgstr "Uniforme Cor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
msgstr ""
+"Devolve um vetor associado se o escalar fornecido for igual, maior ou menor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
msgstr ""
+"Devolve um vetor associado se o valor lógico fornecido for verdadeiro ou "
+"falso."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Boolean constant."
-msgstr "Mudar constante vetorial"
+msgstr "Constante Lógica."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
-msgstr ""
+msgstr "Uniforme Lógico."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
-msgid "Input parameter."
-msgstr "Ajustar ao parente"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
+msgid "'%s' input parameter for all shader modes."
+msgstr "parâmetro de entrada 'uv' para todos os modos shader."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
+msgid "Input parameter."
+msgstr "Parâmetro de Entrada."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr "parâmetro de entrada 'uv' para os modos shader vertex e fragment."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr "parâmetro de entrada 'view' para os modos shader fragment e light."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment shader mode."
+msgstr "parâmetro de entrada 'side' para o modo shader fragment."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for light shader mode."
+msgstr "parâmetro de entrada 'diffuse' para o modo shader light."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex shader mode."
+msgstr "parâmetro de entrada 'custom' para modo shader vertex."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr "parâmetro de entrada 'uv' para os modos shader vertex e fragment."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar function."
-msgstr "Mudar Função escalar"
+msgstr "Função Escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar operator."
-msgstr "Mudar operador escalar"
+msgstr "Operador Escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "Constante E (2.718282). Base dos logaritmos naturais."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "Constante Epsilon (0.00001). O menor número escalar possível."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "Constante Phi (1.618034). Proporção áurea."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "Constante Pi/4 (0.785398) ou 45 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "Constante Pi/2 (1.570796) ou 90 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "Constante Pi (3.141593) ou 180 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "Constante Tau (6.283185) ou 360 graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "Constante Sqrt2 (1.414214). Raiz quadrada de 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "Devolve o valor absoluto do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "Devolve o arco seno do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Apenas GLES3) Devolve o arco cosseno hiperbólico do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "Devolve o arco seno do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Apenas GLES3) Devolve o arco seno hiperbólico do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "Devolve o arco tangente do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "Devolve o arco tangente do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Apenas GLES3) Devolve o arco tangente hiperbólico do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
-msgstr ""
+msgstr "Encontra o inteiro mais próximo que seja maior ou igual ao parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "Restringe um valor entre dois valores suplementares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "Devolve o cosseno do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Apenas GLES3) Devolve o cosseno hiperbólico do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "Converte um valor em radianos para graus."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "Exponencial base e."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "Exponencial base 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
-msgstr ""
+msgstr "Encontra o inteiro mais próximo que seja menor ou igual ao parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
-msgstr ""
+msgstr "Calcula a parte fracionária do argumento."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "Devolve o inverso da raiz quadrada do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
-msgstr ""
+msgstr "Logaritmo natural."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "Logaritmo base 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
-msgstr ""
+msgstr "Devolve o maior de dois valores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the lesser of two values."
-msgstr ""
+msgstr "Devolve o menor de dois valores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
-msgstr ""
+msgstr "Interpolação linear entre dois escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the opposite value of the parameter."
-msgstr ""
+msgstr "Devolve o valor oposto do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - scalar"
-msgstr ""
+msgstr "1.0 - escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the value of the first parameter raised to the power of the second."
-msgstr ""
+msgstr "Devolve o valor do primeiro parâmetro elevado à potência do segundo."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in degrees to radians."
-msgstr ""
+msgstr "Converte um valor em graus para radianos."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / scalar"
-msgstr ""
+msgstr "1.0 / escalar"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest integer to the parameter."
-msgstr ""
+msgstr "(Apenas GLES3) Encontra o inteiro mais próximo do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest even integer to the parameter."
-msgstr ""
+msgstr "(Apenas GLES3) Encontra o inteiro ímpar mais próximo do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
+msgstr "Limita o valor entre 0.0 e 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Extracts the sign of the parameter."
-msgstr ""
+msgstr "Extrai o sinal do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the sine of the parameter."
-msgstr ""
+msgstr "Devolve o seno do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Apenas GLES3) Devolve o seno hiperbólico do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the square root of the parameter."
-msgstr ""
+msgstr "Devolve a raiz quadrada do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8528,6 +8226,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"Função SmoothStep( escalar(limite0), escalar(limite1), escalar(x) ).\n"
+"\n"
+"Devolve 0.0 se 'x' for menor que 'limite0' e 1.0 se x for maior que "
+"'limite1'. Caso contrário o valor devolvido é interpolado entre 0.0 and 1.0 "
+"usando polinomiais Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8535,71 +8238,69 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Função Step( escalar(limite), escalar(x) ).\n"
+"\n"
+"Devolve 0.0 se 'x' for menor que 'limite' e 1.0 se não for."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
-msgstr ""
+msgstr "Devolve a tangente do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Apenas GLES3) Devolve a tangente hiperbólica do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the truncated value of the parameter."
-msgstr ""
+msgstr "(Apenas GLES3) Encontra o valor truncado do parâmetro."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds scalar to scalar."
-msgstr ""
+msgstr "Adiciona escalar a escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides scalar by scalar."
-msgstr ""
+msgstr "Divide escalar por escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies scalar by scalar."
-msgstr ""
+msgstr "Multiplica escalar por escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two scalars."
-msgstr ""
+msgstr "Devolve o resto dos dois escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts scalar from scalar."
-msgstr ""
+msgstr "Subtrai escalar a escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar constant."
-msgstr "Mudar constante escalar"
+msgstr "Constante Escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar uniform."
-msgstr "Mudar uniforme escalar"
+msgstr "Uniforme Escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
-msgstr ""
+msgstr "Executa cubic texture lookup."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the texture lookup."
-msgstr ""
+msgstr "Executa texture lookup."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Cubic texture uniform."
-msgstr "Mudar uniforme textura"
+msgstr "Uniforme Textura Cúbica."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "2D texture uniform."
-msgstr "Mudar uniforme textura"
+msgstr "Uniforme Textura 2D."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform function."
-msgstr "Diálogo de transformação..."
+msgstr "Função Transformação."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8611,74 +8312,77 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
+"(Apenas GLES3) Calcula o produto tensorial de um par de vetores.\n"
+"\n"
+"OuterProduct trata o primeiro parâmetro 'c' como um vetor coluna (matriz com "
+"uma coluna) e o segundo parâmetro 'r' como um vetor linha (matriz com uma "
+"linha) e faz uma multiplicação matricial algébrica linear 'c * r', "
+"resultando uma matriz cujo número de linhas é o número de componentes em 'c' "
+"e cujo número de colunas é o número de componentes de 'r'."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr ""
+msgstr "Compõe transformação a partir de quatro vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
-msgstr ""
+msgstr "Decompõe transformação em quatro vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the determinant of a transform."
-msgstr ""
+msgstr "(Apenas GLES3) Calcula o determinante de uma transformação."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the inverse of a transform."
-msgstr ""
+msgstr "(Apenas GLES3) Calcula o inverso de uma transformação."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the transpose of a transform."
-msgstr ""
+msgstr "(Apenas GLES3) Calcula a transposta de uma transformação."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies transform by transform."
-msgstr ""
+msgstr "Multiplica transformação por transformação."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by transform."
-msgstr ""
+msgstr "Multiplica vetor por transformação."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform constant."
-msgstr "Transformação abortada."
+msgstr "Constante Transformação."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform uniform."
-msgstr "Transformação abortada."
+msgstr "Uniforme Transformação."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector function."
-msgstr "Atribuição a função."
+msgstr "Função Vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector operator."
-msgstr "Mudar operador vetorial"
+msgstr "Operador Vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
-msgstr ""
+msgstr "Compõe vetor a partir de três escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr ""
+msgstr "Decompõe vetor em três escalares."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
-msgstr ""
+msgstr "Calcula o produto vetorial de dois vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the distance between two points."
-msgstr ""
+msgstr "Devolve a distância entre dois pontos."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr ""
+msgstr "Calcula o produto escalar de dois vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8687,36 +8391,42 @@ msgid ""
"incident vector, and Nref, the reference vector. If the dot product of I and "
"Nref is smaller than zero the return value is N. Otherwise -N is returned."
msgstr ""
+"Devolve um vetor com a mesma direção de um vetor referência. A função tem "
+"três parâmetro: N, o vetor a orientar, I, o vetor incidente, e Nref, o vetor "
+"referência. Se o produto escalar de I e Nref for menor que zero o valor de "
+"retorno é N, Caso contrário -N será devolvido."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr ""
+msgstr "Calcula o comprimento de um vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
-msgstr ""
+msgstr "Interpolação linear entre dois vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr ""
+msgstr "Calcula o produto normalizado do vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
-msgstr ""
+msgstr "1.0 - vetor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / vector"
-msgstr ""
+msgstr "1.0 / vetor"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns a vector that points in the direction of reflection ( a : incident "
"vector, b : normal vector )."
msgstr ""
+"Devolve um vetor que aponta na direção da reflexão ( a : vetor incidente, "
+"b : vetor normal )."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns a vector that points in the direction of refraction."
-msgstr ""
+msgstr "Devolve um vetor que aponta na direção da refração."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8726,6 +8436,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"Função SmoothStep( vetor(limite0), vetor(limite1), vetor(x) ).\n"
+"\n"
+"Devolve 0.0 se 'x' for menor que 'limite0' e 1.0 se x for maior que "
+"'limite1'. Caso contrário o valor devolvido é interpolado entre 0.0 and 1.0 "
+"usando polinomiais Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8735,6 +8450,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"Função SmoothStep( escalar(limite0), escalar(limite1), vetor(x) ).\n"
+"\n"
+"Devolve 0.0 se 'x' for menor que 'limite0' e 1.0 se x for maior que "
+"'limite1'. Caso contrário o valor devolvido é interpolado entre 0.0 and 1.0 "
+"usando polinomiais Hermite."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8742,6 +8462,9 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Função Step( vetor(limite), vetor(x) ).\n"
+"\n"
+"Devolve 0.0 se 'x' for menor que 'limite', senão devolve 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8749,36 +8472,37 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"Função Step( escalar(limite), vetor(x) ).\n"
+"\n"
+"Devolve 0.0 se 'x' for menor que 'limite', senão devolve 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
-msgstr ""
+msgstr "Adiciona vetor a vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr ""
+msgstr "Divide vetor com vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
-msgstr ""
+msgstr "Multiplica vetor com vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two vectors."
-msgstr ""
+msgstr "Devolve o resto dos dois vetores."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts vector from vector."
-msgstr ""
+msgstr "Subtrai vetor a vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector constant."
-msgstr "Mudar constante vetorial"
+msgstr "Constante Vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector uniform."
-msgstr "Atribuição a uniforme."
+msgstr "Uniforme Vetor."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8786,56 +8510,74 @@ msgid ""
"output ports. This is a direct injection of code into the vertex/fragment/"
"light function, do not use it to write the function declarations inside."
msgstr ""
+"Expressão personalizada da Linguagem Godot Shader, com quantidade variável "
+"de portas de entrada e saída. Isto é uma injeção direta de código na função "
+"vertex/fragment/light, não a use para escrever as declarações internas da "
+"função."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
msgstr ""
+"Devolve queda baseada no produto escalar da normal à superfície e da direção "
+"da câmara (passa entradas associadas)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Scalar derivative function."
-msgstr ""
+msgstr "(Apenas GLES3) (apenas modo Fragment/Light) Função derivada escalar."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Vector derivative function."
-msgstr ""
+msgstr "(Apenas GLES3) (apenas modo Fragment/Light) Função derivada vetorial."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(Apenas GLES3) (apenas modo Fragment/Light) Derivação em 'x' usando "
+"derivação local."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(Apenas GLES3) (apenas modo Fragment/Light) (Escalar) Derivação em 'x' "
+"usando derivação local."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(Apenas GLES3) (apenas modo Fragment/Light) (Vetor) Derivação em 'y' usando "
+"derivação local."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(Apenas GLES3) (apenas modo Fragment/Light) (Escalar) Derivação em 'y' "
+"usando derivação local."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(Apenas GLES3) (apenas modo Fragment/Light) (Vetor) Soma das derivadas "
+"absolutas em 'x' e 'y'."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(Apenas GLES3) (apenas modo Fragment/Light) (Escalar) Soma das derivadas "
+"absolutas em 'x' e 'y'."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "VisualShader"
@@ -9178,7 +8920,6 @@ msgid "Are you sure to open more than one project?"
msgstr "Está seguro que quer abrir mais do que um Projeto?"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"The following project settings file does not specify the version of Godot "
"through which it was created.\n"
@@ -9201,7 +8942,6 @@ msgstr ""
"motor."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"The following project settings file was generated by an older engine "
"version, and needs to be converted for this version:\n"
@@ -9230,15 +8970,14 @@ msgstr ""
"cuja configuração não é compatível com esta versão."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
"Impossível executar o Projeto: Cena principal não definida.\n"
-"Edite o Projeto e defina a Cena principal em \"Definições do Projeto\" "
-"dentro da categoria \"Aplicação\"."
+"Edite o Projeto e defina a Cena principal em Definições do Projeto dentro da "
+"categoria \"Aplicação\"."
#: editor/project_manager.cpp
msgid ""
@@ -9249,48 +8988,49 @@ msgstr ""
"Edite o Projeto para desencadear a importação inicial."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Are you sure to run %d projects at once?"
-msgstr "Está seguro que quer executar mais do que um Projeto?"
+msgstr "Está seguro que quer executar %d projetos em simultâneo?"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove %d projects from the list?\n"
"The project folders' contents won't be modified."
-msgstr "Remover Projeto da lista? (O conteúdo da pasta não será modificado)"
+msgstr ""
+"Remover %d projetos da lista?\n"
+"O conteúdo das pastas não será modificado."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove this project from the list?\n"
"The project folder's contents won't be modified."
-msgstr "Remover Projeto da lista? (O conteúdo da pasta não será modificado)"
+msgstr ""
+"Remover este projeto da lista?\n"
+"O conteúdo da pasta não será modificado."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list? (Folders contents will not be "
"modified)"
-msgstr "Remover Projeto da lista? (O conteúdo da pasta não será modificado)"
+msgstr ""
+"Remover da lista todos os projeto em falta? (O conteúdo da pasta não será "
+"modificado)"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
msgstr ""
"Linguagem alterada.\n"
-"A interface será atualizada da próxima vez que o Editor ou o Gestor de "
-"Projetos arrancar."
+"A interface será atualizada após o arranque do editor ou do gestor de "
+"projetos."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
msgstr ""
-"Está prestes a analisar %s pastas para Projetos Godot existentes. Confirma?"
+"Pretende pesquisar %s pastas por projetos Godot existentes?\n"
+"Pode demorar um pouco."
#: editor/project_manager.cpp
msgid "Project Manager"
@@ -9313,9 +9053,8 @@ msgid "New Project"
msgstr "Novo Projeto"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Remove Missing"
-msgstr "Remover Ponto"
+msgstr "Remover Ausente"
#: editor/project_manager.cpp
msgid "Templates"
@@ -9334,13 +9073,12 @@ msgid "Can't run project"
msgstr "Impossível executar o Projeto"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
-"Atualmente não tem quaisquer Projetos.\n"
-"Gostaria de explorar os Projetos de exemplo oficiais na Biblioteca de Ativos?"
+"Atualmente não tem quaisquer projetos.\n"
+"Gostaria de explorar os projetos de exemplo oficiais na Biblioteca de Ativos?"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -9367,9 +9105,8 @@ msgstr ""
"'\"'"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "An action with the name '%s' already exists."
-msgstr "Ação '%s' já existe!"
+msgstr "Já existe uma ação com o nome '%s'."
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
@@ -9588,9 +9325,8 @@ msgid "Override For..."
msgstr "Sobrepor por..."
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-#, fuzzy
msgid "The editor must be restarted for changes to take effect."
-msgstr "O editor deve ser reiniciado para que as alterações entrem em vigor"
+msgstr "O editor deve ser reiniciado para que as alterações entrem em vigor."
#: editor/project_settings_editor.cpp
msgid "Input Map"
@@ -9649,14 +9385,12 @@ msgid "Locales Filter"
msgstr "Filtro de localização"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show All Locales"
-msgstr "Mostrar todas as localizações"
+msgstr "Mostrar Todos os Idiomas"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show Selected Locales Only"
-msgstr "Mostrar apenas localizações selecionadas"
+msgstr "Mostrar Apenas Idiomas Selecionados"
#: editor/project_settings_editor.cpp
msgid "Filter mode:"
@@ -9743,7 +9477,6 @@ msgid "Suffix"
msgstr "Sufixo"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Advanced Options"
msgstr "Opções Avançadas"
@@ -10004,9 +9737,8 @@ msgid "User Interface"
msgstr "Interface do Utilizador"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Other Node"
-msgstr "Apagar Nó"
+msgstr "Outro Nó"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -10049,7 +9781,6 @@ msgid "Clear Inheritance"
msgstr "Limpar herança"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Open Documentation"
msgstr "Abrir documentação"
@@ -10058,6 +9789,11 @@ msgid "Add Child Node"
msgstr "Adicionar Nó filho"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Colapsar Tudo"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Mudar tipo"
@@ -10086,7 +9822,8 @@ msgid "Delete (No Confirm)"
msgstr "Apagar (sem confirmação)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Adicionar/criar novo Nó"
#: editor/scene_tree_dock.cpp
@@ -10122,19 +9859,16 @@ msgid "Toggle Visible"
msgstr "Alternar Visibilidade"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Unlock Node"
-msgstr "Selecionar Nó"
+msgstr "Desbloquear Nó"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Button Group"
-msgstr "Botão 7"
+msgstr "Grupo Botão"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "(Connecting From)"
-msgstr "Erro de Ligação"
+msgstr "(A Ligar de)"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -10165,9 +9899,8 @@ msgstr ""
"Clique para mostrar doca dos grupos."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Open Script:"
-msgstr "Abrir Script"
+msgstr "Abrir Script:"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10218,39 +9951,32 @@ msgid "Select a Node"
msgstr "Selecione um Nó"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is empty."
-msgstr "Caminho está vazio"
+msgstr "Caminho está vazio."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Filename is empty."
-msgstr "Nome do ficheiro vazio"
+msgstr "Nome do Ficheiro vazio."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is not local."
-msgstr "Caminho não é local"
+msgstr "Caminho não é local."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid base path."
-msgstr "Caminho base inválido"
+msgstr "Caminho base inválido."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "A directory with the same name exists."
-msgstr "Já existe diretoria com o mesmo nome"
+msgstr "Já existe diretoria com o mesmo nome."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid extension."
-msgstr "Extensão inválida"
+msgstr "Extensão inválida."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Wrong extension chosen."
-msgstr "Escolhida uma extensão errada"
+msgstr "Escolhida extensão errada."
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
@@ -10269,52 +9995,44 @@ msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Open Script / Choose Location"
-msgstr "Abrir Script/Escolher Localização"
+msgstr "Abrir Script/ Escolher Localização"
#: editor/script_create_dialog.cpp
msgid "Open Script"
msgstr "Abrir Script"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, it will be reused."
-msgstr "O Ficheiro já existe, será reutilizado"
+msgstr "O Ficheiro já existe, será reutilizado."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid class name."
-msgstr "Nome de classe inválida"
+msgstr "Nome de classe inválido."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid inherited parent name or path."
-msgstr "Nome ou Caminho de parente herdado inválido"
+msgstr "Nome ou Caminho de parente herdado inválido."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script is valid."
-msgstr "Script inválido"
+msgstr "Script é válido."
#: editor/script_create_dialog.cpp
msgid "Allowed: a-z, A-Z, 0-9 and _"
msgstr "Permitido: a-z, A-Z, 0-9 e _"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Built-in script (into scene file)."
-msgstr "Script incorporado (no Ficheiro da Cena)"
+msgstr "Script incorporado (no ficheiro da cena)."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will create a new script file."
-msgstr "Criar novo Ficheiro de Script"
+msgstr "Vai criar novo ficheiro de script."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will load an existing script file."
-msgstr "Carregar Ficheiro de Script existente"
+msgstr "Vai carregar ficheiro de script existente."
#: editor/script_create_dialog.cpp
msgid "Language"
@@ -10446,7 +10164,7 @@ msgstr "Definir a partir da árvore"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
-msgstr ""
+msgstr "Exporta medidas como CSV"
#: editor/settings_config_dialog.cpp
msgid "Erase Shortcut"
@@ -10578,12 +10296,11 @@ msgstr "GDNativeLibrary"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
-msgstr ""
+msgstr "Ativa Singleton GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Disabled GDNative Singleton"
-msgstr "Desativar a roleta de atualização"
+msgstr "Instância única GDNative desativada"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Library"
@@ -10672,9 +10389,8 @@ msgid "GridMap Fill Selection"
msgstr "Seleção de Preenchimento de GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Paste Selection"
-msgstr "Apagar seleção GridMap"
+msgstr "Colar Seleção GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Paint"
@@ -11101,9 +10817,8 @@ msgid "Available Nodes:"
msgstr "Nós Disponíveis:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Select or create a function to edit its graph."
-msgstr "Selecione ou crie uma Função para editar o grafo"
+msgstr "Selecionar ou criar uma função para editar o gráfico."
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
@@ -11239,15 +10954,19 @@ msgstr ""
#: platform/android/export/export.cpp
msgid "Custom build requires a valid Android SDK path in Editor Settings."
msgstr ""
+"Compilação personalizada necessita de um caminho válido para Android SDK no "
+"Editor de Configurações."
#: platform/android/export/export.cpp
msgid "Invalid Android SDK path for custom build in Editor Settings."
-msgstr ""
+msgstr "Caminho inválido para Android SDK no Editor de Configurações."
#: platform/android/export/export.cpp
msgid ""
"Android project is not installed for compiling. Install from Editor menu."
msgstr ""
+"Projeto Android não está instalado para compilação. Instale-o no menu do "
+"Editor."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -11262,6 +10981,8 @@ msgid ""
"Trying to build from a custom built template, but no version info for it "
"exists. Please reinstall from the 'Project' menu."
msgstr ""
+"A tentar compilar a partir de um modelo personalizado, mas sem informação de "
+"versão. Reinstale no menu 'Projeto'."
#: platform/android/export/export.cpp
msgid ""
@@ -11270,20 +10991,27 @@ msgid ""
" Godot Version: %s\n"
"Please reinstall Android build template from 'Project' menu."
msgstr ""
+"Incompatibilidade da versão Android:\n"
+" Modelo instalado: %s\n"
+" Versão Godot: %s\n"
+"Reinstale o modelo de compilação Android no menu 'Projeto'."
#: platform/android/export/export.cpp
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "A compilar Projeto Android (gradle)"
#: platform/android/export/export.cpp
msgid ""
"Building of Android project failed, check output for the error.\n"
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
+"Falhou a compilação do projeto Android, verifique o erro na saída.\n"
+"Em alternativa visite docs.godotengine.org para a documentação sobre "
+"compilação Android."
#: platform/android/export/export.cpp
msgid "No build apk generated at: "
-msgstr ""
+msgstr "Nenhum apk gerado em: "
#: platform/iphone/export/export.cpp
msgid "Identifier is missing."
@@ -11579,6 +11307,17 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr "Falta uma pose DESCANSO a este osso. Vá ao nó Skeleton2D e defina uma."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D serve apenas para fornecer uma forma de colisão a um Nó "
+"derivado de CollisionObject2D. Use-o apenas como um filho de Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para lhes dar uma forma."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11592,37 +11331,32 @@ msgid "ARVRCamera must have an ARVROrigin node as its parent"
msgstr "ARVRCamera precisa de um Nó ARVROrigin como parente"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr "ARVRController precisa de um Nó ARVROrigin como parente"
+msgstr "ARVRController precisa de um Nó ARVROrigin como parente."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The controller ID must not be 0 or this controller won't be bound to an "
"actual controller."
msgstr ""
-"O id do controlador não pode ser 0 senão este controlador não será vinculado "
-"a um controlador real"
+"O ID do controlador não pode ser 0 senão este controlador não será vinculado "
+"a um controlador real."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr "ARVRAnchor precisa de um Nó ARVROrigin como parente"
+msgstr "ARVRAnchor precisa de um Nó ARVROrigin como parente."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The anchor ID must not be 0 or this anchor won't be bound to an actual "
"anchor."
msgstr ""
-"O id da âncora não pode ser 0 senão esta âncora não será vinculada a uma "
-"âncora real"
+"O ID da âncora não pode ser 0 senão esta âncora não será vinculada a uma "
+"âncora real."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr "ARVROrigin exige um Nó filho ARVRCamera"
+msgstr "ARVROrigin exige um Nó filho ARVRCamera."
#: scene/3d/baked_lightmap.cpp
msgid "%d%%"
@@ -11704,13 +11438,12 @@ msgid "Nothing is visible because no mesh has been assigned."
msgstr "Nada é visível porque nenhuma Malha foi atribuída."
#: scene/3d/cpu_particles.cpp
-#, fuzzy
msgid ""
"CPUParticles animation requires the usage of a SpatialMaterial whose "
"Billboard Mode is set to \"Particle Billboard\"."
msgstr ""
-"Animação CPUParticles requer o uso de um SpatialMaterial com \"Billboard "
-"Particles\" ativada."
+"Animação CPUParticles requer o uso de um SpatialMaterial com Modo Billboard "
+"definido como \"Billboard Particles\"."
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
@@ -11755,13 +11488,12 @@ msgstr ""
"Nada é visível porque não foram atribuídas Meshes aos passos de desenho."
#: scene/3d/particles.cpp
-#, fuzzy
msgid ""
"Particles animation requires the usage of a SpatialMaterial whose Billboard "
"Mode is set to \"Particle Billboard\"."
msgstr ""
-"Animação Particles requer o uso de um SpatialMaterial com \"Billboard "
-"Particles\" ativada."
+"Animação Particles requer o uso de um SpatialMaterial com Modo Billboard "
+"definido como \"Billboard Particles\"."
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -11792,9 +11524,8 @@ msgstr ""
"válido."
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "This body will be ignored until you set a mesh."
-msgstr "Este corpo será ignorado até se definir uma Malha"
+msgstr "Este corpo será ignorado até se definir uma malha."
#: scene/3d/soft_body.cpp
msgid ""
@@ -11888,8 +11619,13 @@ msgid "Pick a color from the screen."
msgstr "Escolha uma cor do ecrã."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Modo Raw"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "Direção"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11902,16 +11638,22 @@ msgstr "Adicionar cor atual como predefinição."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
"Por si só um Contentor não tem utilidade, a não ser que um script configure "
-"o comportamento dos seu filhos.\n"
-"Se não pretende adicionar um script, será preferível usar um simples nó "
+"a disposição dos seu filhos.\n"
+"Se não pretende adicionar um script, será preferível usar um simples Nó "
"'Control'."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Alerta!"
@@ -12006,7 +11748,196 @@ msgstr "Variações só podem ser atribuídas na função vértice."
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Constantes não podem ser modificadas."
+
+#~ msgid "Enabled Classes"
+#~ msgstr "Ativar Classes"
+
+#~ msgid "Update Always"
+#~ msgstr "Atualizar Sempre"
+
+#~ msgid "'camera' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'camera' para todos os modos shader."
+
+#~ msgid "'inv_camera' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'inv_camera' para todos os modos shader."
+
+#~ msgid "'inv_projection' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'inv_projection' para todos os modos shader."
+
+#~ msgid "'normal' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'normal' para todos os modos shader."
+
+#~ msgid "'projection' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'projection' para todos os modos shader."
+
+#~ msgid "'time' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'time' para todos os modos shader."
+
+#~ msgid "'viewport_size' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'viewport_size' para todos os modos shader."
+
+#~ msgid "'world' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'world' para todos os modos shader."
+
+#~ msgid "'alpha' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'alpha' para todos os modos shader."
+
+#~ msgid "'color' input parameter for all shader modes."
+#~ msgstr "parâmetro de entrada 'color' para todos os modos shader."
+
+#~ msgid "'texture_pixel_size' input parameter for all shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'texture_pixel_size' para todos os modos shader."
+
+#~ msgid "'alpha' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'alpha' para os modos shader vertex e fragment."
+
+#~ msgid "'binormal' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'binormal' para os modos shader vertex e fragment."
+
+#~ msgid "'color' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'color' para os modos shader vertex e fragment."
+
+#~ msgid "'fragcoord' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'fragcoord' para os modos shader fragment e light."
+
+#~ msgid "'point_coord' input parameter for fragment shader mode."
+#~ msgstr "parâmetro de entrada 'point_coord' para o modo shader fragment."
+
+#~ msgid "'screen_uv' input parameter for fragment shader mode."
+#~ msgstr "parâmetro de entrada 'screen_uv' para o modo shader fragment."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'tangent' para os modos shader vertex e fragment."
+
+#~ msgid "'uv2' input parameter for vertex and fragment shader modes."
+#~ msgstr "parâmetro de entrada 'uv2' para os modos shader vertex e fragment."
+
+#~ msgid "'vertex' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'vertex' para os modos shader vertex e fragment."
+
+#~ msgid "'albedo' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'albedo' para o modo shader light."
+
+#~ msgid "'attenuation' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'attenuation' para o modo shader light."
+
+#~ msgid "'light' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'light' para o modo shader light."
+
+#~ msgid "'light_color' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'light_color' para o modo shader light."
+
+#~ msgid "'roughness' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'roughness' para o modo shader light."
+
+#~ msgid "'specular' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'specular' para o modo shader light."
+
+#~ msgid "'transmission' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'transmission' para o modo shader light."
+
+#~ msgid "'modelview' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'modelview' para o modo shader vertex."
+
+#~ msgid "'point_size' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'point_size' para o modo shader vertex."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader mode."
+#~ msgstr ""
+#~ "parâmetro de entrada 'tangent' para os modos shader vertex e fragment."
+
+#~ msgid "'light_pass' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'light_pass' para os modos shader vertex e fragment."
+
+#~ msgid "'point_coord' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'point_coord' para os modos shader fragment e light."
+
+#~ msgid "'screen_pixel_size' input parameter for fragment shader mode."
+#~ msgstr ""
+#~ "parâmetro de entrada 'screen_pixel_size' para o modo shader fragment."
+
+#~ msgid "'screen_uv' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "parâmetro de entrada 'screen_uv' para modos shader fragment e light."
+
+#~ msgid "'light_alpha' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'light_alpha' para modo shader light."
+
+#~ msgid "'light_height' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'light_height' para modo shader light."
+
+#~ msgid "'light_uv' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'light_uv' para modo shader light."
+
+#~ msgid "'light_vec' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'light_vec' para modo shader light."
+
+#~ msgid "'normal' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'normal' para modo shader light."
+
+#~ msgid "'shadow_color' input parameter for light shader mode."
+#~ msgstr "parâmetro de entrada 'shadow_color' para modo shader light."
+
+#~ msgid "'extra' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'extra' para modo shader vertex."
+
+#~ msgid "'projection' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'projection' para modo shader vertex."
+
+#~ msgid "'vertex' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'vertex' para modo shader vertex."
+
+#~ msgid "'world' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'world' para modo shader vertex."
+
+#~ msgid "'active' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'active' para modo shader vertex."
+
+#~ msgid "'alpha' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'alpha' para modo shader vertex."
+
+#~ msgid "'color' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'color' para modo shader vertex."
+
+#~ msgid "'custom_alpha' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'custom_alpha' para modo shader vertex."
+
+#~ msgid "'delta' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'delta' para modo shader vertex."
+
+#~ msgid "'emission_transform' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'emission_transform' para modo shader vertex."
+
+#~ msgid "'index' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'index' para modo shader vertex."
+
+#~ msgid "'lifetime' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'lifetime' para modo shader vertex."
+
+#~ msgid "'restart' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'restart' para modo shader vertex."
+
+#~ msgid "'time' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'time' para modo shader vertex."
+
+#~ msgid "'transform' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'transform' para modo shader vertex."
+
+#~ msgid "'velocity' input parameter for vertex shader mode."
+#~ msgstr "parâmetro de entrada 'velocity' para modo shader vertex."
+
+#~ msgid "Raw Mode"
+#~ msgstr "Modo Raw"
#~ msgid "Path to Node:"
#~ msgstr "Caminho para Nó:"
@@ -12555,9 +12486,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Alternar visibilidade espacial"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Alternar visibilidade do CanvasItem"
-
#~ msgid "Condition"
#~ msgstr "Condição"
diff --git a/editor/translations/ro.po b/editor/translations/ro.po
index 0cf2c4ef42..3ed7b5d092 100644
--- a/editor/translations/ro.po
+++ b/editor/translations/ro.po
@@ -462,6 +462,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Mod Selectare"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1356,7 +1366,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"Nume nevalid. Nu trebuie să se lovească cu un nume de tip deja existent în "
"motor tip."
@@ -1566,7 +1576,7 @@ msgstr "Mod Mutare"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Sistemul De Fișiere"
#: editor/editor_feature_profile.cpp
@@ -1627,7 +1637,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1642,7 +1652,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Versiune Curentă:"
#: editor/editor_feature_profile.cpp
@@ -1666,13 +1676,9 @@ msgid "Export"
msgstr "Exportare"
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Căutare Clase"
+msgid "Available Profiles:"
+msgstr "Proprietăți"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2795,11 +2801,35 @@ msgid "Editor Layout"
msgstr "Schema Editorului"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Salvează Scena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Setări ale Editorului"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Deschide Editorul următor"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Comută în Ecran Complet"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "Modul de Comutare"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "Setări ale Editorului"
@@ -2909,15 +2939,18 @@ msgid "Spins when the editor window redraws."
msgstr "Se rotește când ferestra editorului se recolorează!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Actualizează Întotdeauna"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Continuu"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Modificări ale Actualizării"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Dezactivează Cercul de Actualizare"
#: editor/editor_node.cpp
@@ -3212,6 +3245,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "Nume nou:"
@@ -3225,11 +3263,6 @@ msgstr "Nume nou:"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5448,6 +5481,14 @@ msgid "Load Emission Mask"
msgstr "Încărcare Mască de Emisie"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Restartare (s):"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Curăță Masca de Emisie"
@@ -6396,10 +6437,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Proprietățile obiectului."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Proprietățile obiectului."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6648,11 +6699,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -8278,51 +8324,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8331,203 +8333,27 @@ msgid "Input parameter."
msgstr "Snap către părinte"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10203,6 +10029,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Restrânge toate"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10233,8 +10064,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Creați %s Nou"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11657,6 +11489,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11909,7 +11748,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11922,12 +11765,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
@@ -12013,6 +11862,13 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Căutare Clase"
+
+#~ msgid "Update Always"
+#~ msgstr "Actualizează Întotdeauna"
+
#~ msgid "Path to Node:"
#~ msgstr "Drum la Nod:"
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index 90716403f1..b83c56eff5 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -49,12 +49,13 @@
# Breadp4ck <iii103@mail.ru>, 2019.
# Dark King <damir@t1c.ru>, 2019.
# Teashrock <kajitsu22@gmail.com>, 2019.
+# Дмитрий Ефимов <daefimov@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 02:33+0000\n"
-"Last-Translator: Teashrock <kajitsu22@gmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:48+0000\n"
+"Last-Translator: Дмитрий Ефимов <daefimov@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
"Language: ru\n"
@@ -63,7 +64,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -483,6 +484,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Выбрать вÑе"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "СброÑить выделение"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "Показывать треки только выделенных в дереве узлов."
@@ -721,12 +731,11 @@ msgid "Method in target node must be specified."
msgstr "Метод должен быть указан в целевом Узле!"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Целевой метод не найден! Укажите правильный метод или прикрепите Ñкрипт на "
+"Целевой метод не найден. Укажите правильный метод или прикрепите Ñкрипт на "
"целевой узел."
#: editor/connections_dialog.cpp
@@ -735,9 +744,8 @@ msgid "Connect to Node:"
msgstr "ПриÑоединить к узлу:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Ðе удаётÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ Ðº хоÑту:"
+msgstr "Соединить Ñо Ñкриптом:"
#: editor/connections_dialog.cpp
#, fuzzy
@@ -794,12 +802,11 @@ msgstr "Один раз"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Отключает Ñигнал поÑле его первого вызова."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Подключить Ñигнал: "
+msgstr "Ðе удаетÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ñигнал"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -1361,7 +1368,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"ÐедопуÑтимое имÑ. Ðе должно конфликтовать Ñ ÑущеÑтвующим вÑтроенным именем "
"типа."
@@ -1578,7 +1585,7 @@ msgstr "Режим перемещениÑ"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема"
#: editor/editor_feature_profile.cpp
@@ -1640,7 +1647,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1655,7 +1662,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑиÑ:"
#: editor/editor_feature_profile.cpp
@@ -1680,16 +1687,11 @@ msgstr "ЭкÑпорт"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "ДоÑтупные узлы:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "ПоиÑк клаÑÑов"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "ОпиÑание клаÑÑа"
@@ -2774,10 +2776,34 @@ msgid "Editor Layout"
msgstr "Макет редактора"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Создать корневой узел Ñцены"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Открыть папку Данные/ÐаÑтройки редактора"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Открыть Ñледующий редактор"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Переключить полноÑкранный режим"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Переключить видимоÑть CanvasItem"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Открыть папку Данные/ÐаÑтройки редактора"
@@ -2885,15 +2911,18 @@ msgid "Spins when the editor window redraws."
msgstr "ВращаетÑÑ, когда окно редактора перериÑовываетÑÑ."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "ОбновлÑть вÑегда"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "ÐепрерывнаÑ"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "ОбновлÑть при изменениÑÑ…"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Отключить Ñчётчик обновлений"
#: editor/editor_node.cpp
@@ -3190,6 +3219,11 @@ msgid "Page: "
msgstr "Страница: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Удалить Ñлемент"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Ðовый ключ:"
@@ -3201,11 +3235,6 @@ msgstr "Ðовое значение:"
msgid "Add Key/Value Pair"
msgstr "Добавить пару: Ключ/Значение"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Удалить Ñлемент"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5356,6 +5385,14 @@ msgid "Load Emission Mask"
msgstr "МаÑка выброÑа загружена"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "ПерезапуÑтить ÑейчаÑ"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "МаÑка выброÑа очищена"
@@ -6275,10 +6312,20 @@ msgid "Find Next"
msgstr "Ðайти Ñледующее"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "СвойÑтва фильтра"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Включить Ñортировку по алфавиту в ÑпиÑке методов."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Режим фильтра:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Сортировать"
@@ -6523,11 +6570,6 @@ msgstr ""
msgid "Cut"
msgstr "Вырезать"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Выбрать вÑе"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Удалить Ñтроку"
@@ -8143,51 +8185,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8196,203 +8194,27 @@ msgid "Input parameter."
msgstr "ПривÑзка к родителю"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10123,6 +9945,11 @@ msgid "Add Child Node"
msgstr "Добавить дочерний узел"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Свернуть вÑе"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Изменить тип"
@@ -10151,7 +9978,8 @@ msgid "Delete (No Confirm)"
msgstr "Удалить (без подтверждениÑ)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Добавить/Ñоздать новый узел"
#: editor/scene_tree_dock.cpp
@@ -11638,6 +11466,18 @@ msgstr ""
"У Ñтой коÑти отÑутÑтвует Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ REST-позициÑ. Перейдите к узлу "
"Skeleton2D и уÑтановите её."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D Ñлужит только Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñтолкновений фигурам типа "
+"CollisionObject2D. ПожалуйÑта иÑпользовать его только в качеÑтве дочернего "
+"Ð´Ð»Ñ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D и др. чтобы придать "
+"им форму."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11942,8 +11782,13 @@ msgid "Pick a color from the screen."
msgstr "Выбрать цвет Ñ Ñкрана."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "RAW режим"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "РыÑкание"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11957,7 +11802,7 @@ msgstr "Добавить текущий цвет как преÑет"
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -11967,6 +11812,12 @@ msgstr ""
"ЕÑли вы не ÑобираетеÑÑŒ добавлÑть Ñкрипт, иÑпользуйте вмеÑто Ñтого проÑтой "
"узел 'Control'."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Внимание!"
@@ -12066,6 +11917,16 @@ msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть назначены только Ð
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "ПоиÑк клаÑÑов"
+
+#~ msgid "Update Always"
+#~ msgstr "ОбновлÑть вÑегда"
+
+#~ msgid "Raw Mode"
+#~ msgstr "RAW режим"
+
#~ msgid "Path to Node:"
#~ msgstr "Путь к Узлу:"
@@ -12621,9 +12482,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Переключить видимоÑть Spatial"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Переключить видимоÑть CanvasItem"
-
#~ msgid "Condition"
#~ msgstr "УÑловие"
@@ -13563,9 +13421,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "ИзображениÑ:"
-#~ msgid "Select None"
-#~ msgstr "СброÑить выделение"
-
#~ msgid "Group"
#~ msgstr "Группа"
diff --git a/editor/translations/si.po b/editor/translations/si.po
index b1f4ea0acd..c4c0ab789a 100644
--- a/editor/translations/si.po
+++ b/editor/translations/si.po
@@ -441,6 +441,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr ""
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1291,7 +1300,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1487,7 +1496,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1540,7 +1549,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1553,7 +1562,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1576,11 +1585,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2586,10 +2591,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2696,15 +2721,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "අඛණ්ඩව"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2992,20 +3018,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5077,6 +5103,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5981,10 +6014,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6222,11 +6263,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7759,51 +7795,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7811,203 +7803,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9638,6 +9454,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9666,7 +9486,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -11053,6 +10873,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11300,7 +11127,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11313,12 +11144,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index 7a35e8905a..f693503c6d 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -7,12 +7,13 @@
# Zuzana Palenikova <sousana.is@gmail.com>, 2019.
# MineGame159 <petulko08@gmail.com>, 2019.
# Michal <alladinsiffon@gmail.com>, 2019.
+# Richard <rgarlik@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
-"Last-Translator: Michal <alladinsiffon@gmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:51+0000\n"
+"Last-Translator: Richard <rgarlik@gmail.com>\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/godot-engine/"
"godot/sk/>\n"
"Language: sk\n"
@@ -20,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 3.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -77,11 +78,11 @@ msgstr "Zrkadlový"
#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
msgid "Time:"
-msgstr ""
+msgstr "ÄŒas:"
#: editor/animation_bezier_editor.cpp
msgid "Value:"
-msgstr ""
+msgstr "Hodnota:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -96,9 +97,8 @@ msgid "Delete Selected Key(s)"
msgstr "ZmazaÅ¥ kľúÄ(e)"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Add Bezier Point"
-msgstr "Signály:"
+msgstr "Pridať Bezierov bod"
#: editor/animation_bezier_editor.cpp
msgid "Move Bezier Points"
@@ -446,6 +446,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Všetky vybrané"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1317,7 +1327,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1516,7 +1526,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1572,7 +1582,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1586,7 +1596,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Vytvoriť adresár"
#: editor/editor_feature_profile.cpp
@@ -1609,12 +1619,9 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
-msgstr ""
+#, fuzzy
+msgid "Available Profiles:"
+msgstr "Filter:"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2650,10 +2657,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2761,15 +2788,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Priebežný"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3065,20 +3093,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5203,6 +5231,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Uložiť súbor"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6129,10 +6165,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filter:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Filter:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6377,11 +6423,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7976,51 +8017,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8028,203 +8025,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9875,6 +9696,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9904,8 +9729,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Vytvoriť adresár"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11338,6 +11164,17 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D slúži iba na pridelenie kolízneho tvaru objektu vydedeného "
+"z CollisionObject2D uzlu. Prosím, použite ho iba ako dieťa objektu Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, atÄ. aby ste im dali tvar."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11586,7 +11423,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11599,12 +11440,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/sl.po b/editor/translations/sl.po
index 1e5ca2be9c..080553ddc3 100644
--- a/editor/translations/sl.po
+++ b/editor/translations/sl.po
@@ -466,6 +466,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Izberi Gradnik"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1355,7 +1365,7 @@ msgstr "Neveljavno ime. Ne sme se prekrivati z obstojeÄim imenom razreda."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
"Neveljavno ime. Ne sme se prekrivati z obstojeÄim vgrajenim imenom tipa."
@@ -1563,7 +1573,7 @@ msgstr "NaÄin Premika"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "DatoteÄniSistem"
#: editor/editor_feature_profile.cpp
@@ -1624,7 +1634,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1639,7 +1649,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Trenutna RazliÄica:"
#: editor/editor_feature_profile.cpp
@@ -1664,16 +1674,11 @@ msgstr "Izvozi"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "Na voljo Nodes:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "IÅ¡Äi Razrede"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "Opis"
@@ -2781,11 +2786,35 @@ msgid "Editor Layout"
msgstr "Postavitev Urejevalnika"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Shrani Prizor"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Nastavitve Urejevalnika"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Odpri naslednji Urejevalnik"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Preklopi na Celozaslonski NaÄin"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "Preklopi NaÄin"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "Nastavitve Urejevalnika"
@@ -2896,15 +2925,18 @@ msgid "Spins when the editor window redraws."
msgstr "Vrti se ob spremembi okna urejevalnika!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Posodobi Vedno"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Neprekinjeno"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Posodobi Spremembe"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "OnemogoÄi Posodobitve Kolesca"
#: editor/editor_node.cpp
@@ -3199,6 +3231,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "Novo ime:"
@@ -3212,11 +3249,6 @@ msgstr "Novo ime:"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5433,6 +5465,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Znova Zaženi (s):"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6370,10 +6410,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Lastnosti objekta."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Lastnosti objekta."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6622,11 +6672,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Izbriši Vrstico"
@@ -8251,51 +8296,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8304,203 +8305,27 @@ msgid "Input parameter."
msgstr "Pripni na Predhodnika"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10171,6 +9996,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "SkrÄi vse"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10201,8 +10031,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Ustvari Nov %s"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11652,6 +11483,18 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D služi le, da zagotavlja collision obliko nodu "
+"CollisionObject2D, ki izhaja iz njega. Naprošamo vas, da ga uporabite le kot "
+"otroka od Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, etc. da jim "
+"date obliko."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11905,8 +11748,12 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Neobdelan naÄin"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11919,12 +11766,18 @@ msgstr "Dodaj trenutno barvo kot prednastavljeno"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Opozorilo!"
@@ -12013,6 +11866,16 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "IÅ¡Äi Razrede"
+
+#~ msgid "Update Always"
+#~ msgstr "Posodobi Vedno"
+
+#~ msgid "Raw Mode"
+#~ msgstr "Neobdelan naÄin"
+
#~ msgid "Path to Node:"
#~ msgstr "Pot do Gradnika:"
diff --git a/editor/translations/sq.po b/editor/translations/sq.po
index b6db8eed22..0fd68aa976 100644
--- a/editor/translations/sq.po
+++ b/editor/translations/sq.po
@@ -432,6 +432,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Zgjidh"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1305,7 +1315,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "Emër i palejuar. Nuk duhet të përplaset me emrin e një tipi 'buit-in'."
#: editor/editor_autoload_settings.cpp
@@ -1519,7 +1529,7 @@ msgstr "Nyje"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "FileSystem"
#: editor/editor_feature_profile.cpp
@@ -1578,7 +1588,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1593,7 +1603,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Versioni Aktual:"
#: editor/editor_feature_profile.cpp
@@ -1617,12 +1627,9 @@ msgid "Export"
msgstr "Eksporto"
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
-msgstr ""
+#, fuzzy
+msgid "Available Profiles:"
+msgstr "Vetitë:"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2712,10 +2719,33 @@ msgid "Editor Layout"
msgstr "Faqosja e Editorit"
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Hap Folderin e Editorit për të Dhënat/Opsionet"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Hap Editorin tjetër"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Ndrysho Ekranin e Plotë"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Ndrysho metodën e ndarjes"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Hap Folderin e Editorit për të Dhënat/Opsionet"
@@ -2823,15 +2853,18 @@ msgid "Spins when the editor window redraws."
msgstr "Rrotullohet kur dritarja e editorit rivizaton."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Përditëso Gjithmonë"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "I Vazhdueshëm"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Përditëso Ndryshimet"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Çaktivizo Rrotulluesin e Përditësimit"
#: editor/editor_node.cpp
@@ -3130,6 +3163,11 @@ msgid "Page: "
msgstr "Faqja: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Hiq Artikullin"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Çelës i Ri:"
@@ -3141,11 +3179,6 @@ msgstr "Vlerë e Re:"
msgid "Add Key/Value Pair"
msgstr "Shto Palë Çelës/Vlerë"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Hiq Artikullin"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5244,6 +5277,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Ruaj & Rifillo"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6149,10 +6190,20 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtro vetitë."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Nyjet filtruese"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6392,11 +6443,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7940,51 +7986,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7992,203 +7994,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9824,6 +9650,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Mbyll të Gjitha"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9852,8 +9683,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Krijo një Folder"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11251,6 +11083,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11498,7 +11337,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11511,12 +11354,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
@@ -11601,6 +11450,9 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Update Always"
+#~ msgstr "Përditëso Gjithmonë"
+
#~ msgid "Delete selected files?"
#~ msgstr "Fshi skedarët e zgjedhur?"
diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po
index 19e6536f86..a260055c15 100644
--- a/editor/translations/sr_Cyrl.po
+++ b/editor/translations/sr_Cyrl.po
@@ -465,6 +465,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Одабери Ñве"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Одабери режим"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1361,7 +1371,7 @@ msgstr "Ðеважеће име. Име је резервиÑано за поÑÑ
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "Ðеважеће име. Име је резервиÑано за поÑтојећи уграђени тип."
#: editor/editor_autoload_settings.cpp
@@ -1569,7 +1579,7 @@ msgstr "Режим померања"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "Датотечни ÑиÑтем"
#: editor/editor_feature_profile.cpp
@@ -1631,7 +1641,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1646,7 +1656,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Тренутна верзија:"
#: editor/editor_feature_profile.cpp
@@ -1670,13 +1680,9 @@ msgid "Export"
msgstr "Извоз"
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Потражи клаÑе"
+msgid "Available Profiles:"
+msgstr "ОÑобине"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2793,11 +2799,35 @@ msgid "Editor Layout"
msgstr "РаÑпоред уредника"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Сачувај Ñцену"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "ПоÑтавке уредника"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Отвори Ñледећи уредник"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Укљ./ИÑкљ. режим целог екрана"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "Промени режим"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "ПоÑтавке уредника"
@@ -2908,15 +2938,18 @@ msgid "Spins when the editor window redraws."
msgstr "Окрене Ñе кад Ñе едиторÑки прозор поново обоји!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Увек ажурирај"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Трајан"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Ðжурирај промене"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "ИÑкључи индикатор ажурирања"
#: editor/editor_node.cpp
@@ -3214,6 +3247,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Обриши Ñтавку"
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "Ðово име:"
@@ -3227,11 +3265,6 @@ msgstr "Ðово име:"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Обриши Ñтавку"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5455,6 +5488,14 @@ msgid "Load Emission Mask"
msgstr "Учитај маÑку емиÑије"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "РеÑтартовање (Ñек.):"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "ОчиÑти маÑку емиÑије"
@@ -6409,10 +6450,20 @@ msgid "Find Next"
msgstr "Тражи Ñледећи"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "ПоÑтавке објекта."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "ПоÑтавке објекта."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Сортирање"
@@ -6668,11 +6719,6 @@ msgstr ""
msgid "Cut"
msgstr "ИÑеци"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Одабери Ñве"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Обриши линију"
@@ -8343,51 +8389,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8396,203 +8398,27 @@ msgid "Input parameter."
msgstr "Лепи за родитеља"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10285,6 +10111,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Умањи Ñве"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10315,8 +10146,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Ðаправи нов"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11759,6 +11591,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -12011,7 +11850,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -12024,12 +11867,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
@@ -12116,6 +11965,13 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Потражи клаÑе"
+
+#~ msgid "Update Always"
+#~ msgstr "Увек ажурирај"
+
#~ msgid "Path to Node:"
#~ msgstr "Пут ка чвору:"
diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po
index b4089a1d5a..2c874795e3 100644
--- a/editor/translations/sr_Latn.po
+++ b/editor/translations/sr_Latn.po
@@ -447,6 +447,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Uduplaj Selekciju"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1300,7 +1310,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1496,7 +1506,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1550,7 +1560,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1563,7 +1573,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1586,11 +1596,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2598,10 +2604,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2708,15 +2734,16 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Neprekidna"
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3004,20 +3031,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5100,6 +5127,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6010,10 +6044,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6251,11 +6293,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7817,51 +7854,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7869,203 +7862,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9702,6 +9519,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9730,8 +9551,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Napravi"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11121,6 +10943,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11368,7 +11197,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11381,12 +11214,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/sv.po b/editor/translations/sv.po
index e746cdadcc..a3d27df45e 100644
--- a/editor/translations/sv.po
+++ b/editor/translations/sv.po
@@ -455,6 +455,17 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#, fuzzy
+msgid "Select All"
+msgstr "Välj Alla"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Välj Node"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1445,7 +1456,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "Ogiltigt namn. FÃ¥r inte vara samma som ett befintligt inbyggt typnamn."
#: editor/editor_autoload_settings.cpp
@@ -1669,7 +1680,7 @@ msgid "Node Dock"
msgstr "Node Namn:"
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1729,7 +1740,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1744,7 +1755,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Nuvarande Version:"
#: editor/editor_feature_profile.cpp
@@ -1769,16 +1780,11 @@ msgstr "Exportera"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "Tillgängliga Noder:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Sök Klasser"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "Beskrivning"
@@ -2964,10 +2970,32 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Vettigt!"
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Växla Läge"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -3080,16 +3108,16 @@ msgstr ""
#: editor/editor_node.cpp
#, fuzzy
-msgid "Update Always"
-msgstr "Uppdatera Alltid"
+msgid "Update Continuously"
+msgstr "Kontinuerlig"
#: editor/editor_node.cpp
#, fuzzy
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr "Uppdatera Ändringar"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3392,6 +3420,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "Nytt namn:"
@@ -3405,11 +3438,6 @@ msgstr "Nytt namn:"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5657,6 +5685,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Starta om nu"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6609,11 +6645,21 @@ msgid "Find Next"
msgstr "Hitta Nästa"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Filtrera noder"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
+msgid "Filter methods"
+msgstr "Filtrera noder"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Sort"
msgstr "Sortera"
@@ -6877,12 +6923,6 @@ msgstr ""
msgid "Cut"
msgstr "Klipp"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-#, fuzzy
-msgid "Select All"
-msgstr "Välj Alla"
-
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Delete Line"
@@ -8548,51 +8588,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8600,203 +8596,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10529,6 +10349,11 @@ msgstr "Lägg till Barn-Node"
#: editor/scene_tree_dock.cpp
#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Stäng Alla"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Change Type"
msgstr "Ändra Typ"
@@ -10561,7 +10386,7 @@ msgstr ""
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr "Lägga till/Skapa en Ny Node"
#: editor/scene_tree_dock.cpp
@@ -12067,6 +11892,17 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D tjänar bara till att ge en kollisionsform till en "
+"CollisionObject2D-härledd nod. Använd endast det som ett barn till Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. för att ge dem en form."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -12330,9 +12166,12 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-#, fuzzy
-msgid "Raw Mode"
-msgstr "Raw-Läge"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -12345,12 +12184,18 @@ msgstr "Lägg till nuvarande färg som en förinställning"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
#, fuzzy
msgid "Alert!"
@@ -12443,6 +12288,18 @@ msgid "Constants cannot be modified."
msgstr ""
#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Sök Klasser"
+
+#, fuzzy
+#~ msgid "Update Always"
+#~ msgstr "Uppdatera Alltid"
+
+#, fuzzy
+#~ msgid "Raw Mode"
+#~ msgstr "Raw-Läge"
+
+#, fuzzy
#~ msgid "Path to Node:"
#~ msgstr "Sökväg till Node:"
diff --git a/editor/translations/ta.po b/editor/translations/ta.po
index 614ba6f47c..d8213fad4b 100644
--- a/editor/translations/ta.po
+++ b/editor/translations/ta.po
@@ -440,6 +440,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1291,7 +1301,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1487,7 +1497,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1541,7 +1551,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1554,7 +1564,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1577,11 +1587,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2588,10 +2594,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2698,15 +2724,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2994,20 +3020,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5084,6 +5110,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5988,10 +6021,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6228,11 +6269,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7763,51 +7799,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7815,203 +7807,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9642,6 +9458,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9670,7 +9490,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -11061,6 +10881,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11308,7 +11135,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11321,12 +11152,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/te.po b/editor/translations/te.po
index 5f79e35f08..d904600213 100644
--- a/editor/translations/te.po
+++ b/editor/translations/te.po
@@ -427,6 +427,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr ""
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1275,7 +1284,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1471,7 +1480,7 @@ msgid "Node Dock"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1524,7 +1533,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1537,7 +1546,7 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1560,11 +1569,7 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
+msgid "Available Profiles:"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -2570,10 +2575,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2680,15 +2705,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2976,20 +3001,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5053,6 +5078,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5953,10 +5985,18 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6193,11 +6233,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7715,51 +7750,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7767,203 +7758,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9590,6 +9405,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9618,7 +9437,7 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+msgid "Add/Create a New Node."
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -11005,6 +10824,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11252,7 +11078,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11265,12 +11095,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/th.po b/editor/translations/th.po
index 0407a59452..0054a30068 100644
--- a/editor/translations/th.po
+++ b/editor/translations/th.po
@@ -471,6 +471,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "เลือà¸à¸—ั้งหมด"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "ไม่เลือà¸"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1359,7 +1368,7 @@ msgstr "ชื่อผิดพลาด ต้องไม่ใช้ชืà¹
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "ชื่อผิดพลาด ต้องไม่ใช้ชื่อเดียวà¸à¸±à¸šà¸Šà¸™à¸´à¸”ตัวà¹à¸›à¸£"
#: editor/editor_autoload_settings.cpp
@@ -1570,7 +1579,7 @@ msgstr "โหมดเคลื่อนย้าย"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "ระบบไฟล์"
#: editor/editor_feature_profile.cpp
@@ -1632,7 +1641,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1647,7 +1656,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "รุ่นปัจจุบัน:"
#: editor/editor_feature_profile.cpp
@@ -1672,16 +1681,11 @@ msgstr "ส่งออà¸"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "โหนดที่มีให้ใช้:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "ค้นหาคลาส"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "รายละเอียด"
@@ -2760,11 +2764,35 @@ msgid "Editor Layout"
msgstr "เลย์เอาต์โปรà¹à¸à¸£à¸¡"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "เข้าใจ!"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "ตัวเลือà¸à¹‚ปรà¹à¸à¸£à¸¡à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸à¸¡"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "เปิดตัวà¹à¸à¹‰à¹„ขถัดไป"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "สลับเต็มจอ"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "ซ่อน/à¹à¸ªà¸”งโหนด CanvasItem"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "ตัวเลือà¸à¹‚ปรà¹à¸à¸£à¸¡à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸à¸¡"
@@ -2875,15 +2903,18 @@ msgid "Spins when the editor window redraws."
msgstr "หมุนเมื่อมีà¸à¸²à¸£à¸§à¸²à¸”หน้าต่างโปรà¹à¸à¸£à¸¡à¹ƒà¸«à¸¡à¹ˆ!"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "อัพเดทตลอดเวลา"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "ต่อเนื่อง"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "อัพเดทเมื่อเปลี่ยนà¹à¸›à¸¥à¸‡"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "ปิดà¸à¸²à¸£à¸­à¸±à¸žà¹€à¸”ทตัวหมุน"
#: editor/editor_node.cpp
@@ -3181,6 +3212,11 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "ลบไอเทม"
+
+#: editor/editor_properties_array_dict.cpp
#, fuzzy
msgid "New Key:"
msgstr "ชื่อใหม่:"
@@ -3194,11 +3230,6 @@ msgstr "ชื่อใหม่:"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "ลบไอเทม"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5411,6 +5442,14 @@ msgid "Load Emission Mask"
msgstr "โหลด Mask à¸à¸²à¸£à¸›à¸°à¸—ุ"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "เริ่มใหม่ทันที"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "ลบ Mask à¸à¸²à¸£à¸›à¸¥à¹ˆà¸­à¸¢"
@@ -6359,10 +6398,20 @@ msgid "Find Next"
msgstr "ค้นหาต่อไป"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "ตัวà¸à¸£à¸­à¸‡"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "โหมดà¸à¸²à¸£à¸à¸£à¸­à¸‡:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "เรียง"
@@ -6615,11 +6664,6 @@ msgstr ""
msgid "Cut"
msgstr "ตัด"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "เลือà¸à¸—ั้งหมด"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "ลบบรรทัด"
@@ -8286,51 +8330,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8339,203 +8339,27 @@ msgid "Input parameter."
msgstr "จำà¸à¸±à¸”ด้วยโหนดà¹à¸¡à¹ˆ"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10239,6 +10063,11 @@ msgid "Add Child Node"
msgstr "เพิ่มโหนดลูà¸"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "ยุบโฟลเดอร์"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "เปลี่ยนประเภท"
@@ -10269,7 +10098,8 @@ msgid "Delete (No Confirm)"
msgstr "ลบ (ไม่ยืนยัน)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "เพิ่ม/สร้างโหนดใหม่"
#: editor/scene_tree_dock.cpp
@@ -11734,6 +11564,17 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D ใช้เป็นรูปทรงสำหรับโหนดà¸à¸¥à¸¸à¹ˆà¸¡ CollisionObject2D "
+"จึงควรให้เป็นโหนดลูà¸à¸‚อง Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ฯลฯ "
+"เพื่อให้มีรูปทรง"
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -12007,8 +11848,12 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "โหมด Raw"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -12021,12 +11866,18 @@ msgstr "เพิ่มสีที่เลือà¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£à¹‚
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "à¹à¸ˆà¹‰à¸‡à¹€à¸•ือน!"
@@ -12123,6 +11974,16 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "ค้นหาคลาส"
+
+#~ msgid "Update Always"
+#~ msgstr "อัพเดทตลอดเวลา"
+
+#~ msgid "Raw Mode"
+#~ msgstr "โหมด Raw"
+
#~ msgid "Path to Node:"
#~ msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่อยู่โหนด:"
@@ -12678,9 +12539,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "ซ่อน/à¹à¸ªà¸”งโหนด Spatial"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "ซ่อน/à¹à¸ªà¸”งโหนด CanvasItem"
-
#~ msgid "Condition"
#~ msgstr "เงื่อนไข"
@@ -13546,9 +13404,6 @@ msgstr ""
#~ msgid "Shrink By:"
#~ msgstr "ลดไป:"
-#~ msgid "Select None"
-#~ msgstr "ไม่เลือà¸"
-
#~ msgid "Samples"
#~ msgstr "ไฟล์เสียง"
diff --git a/editor/translations/tr.po b/editor/translations/tr.po
index 16c42142ec..e27ab0131a 100644
--- a/editor/translations/tr.po
+++ b/editor/translations/tr.po
@@ -27,12 +27,13 @@
# Aiden Demir <dnm00110011@hotmail.com>, 2019.
# Anton Semchenko <semchenkoanton@protonmail.com>, 2019.
# Enes Can Yerlikaya <enescanyerlikaya@gmail.com>, 2019.
+# Ömer Akgöz <omerakgoz34@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-06-16 19:41+0000\n"
-"Last-Translator: Anton Semchenko <semchenkoanton@protonmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:47+0000\n"
+"Last-Translator: Ömer Akgöz <omerakgoz34@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/"
"godot/tr/>\n"
"Language: tr\n"
@@ -40,7 +41,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -62,9 +63,8 @@ msgid "self can't be used because instance is null (not passed)"
msgstr "\"self\" ifadesi kullanılamaz, çünkü nesne \"null\" (tanımlandı)."
#: core/math/expression.cpp
-#, fuzzy
msgid "Invalid operands to operator %s, %s and %s."
-msgstr "Geçersiz işlenen operatörler %s, %s ve %s"
+msgstr "%s, %s ve %s operatörleri için geçersiz işlem."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
@@ -84,7 +84,6 @@ msgstr "'%s' çağrıldığında:"
#: editor/animation_bezier_editor.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Free"
msgstr "Ücretsiz"
@@ -101,9 +100,8 @@ msgid "Time:"
msgstr "Süre:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "DeÄŸer"
+msgstr "DeÄŸer:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -163,9 +161,8 @@ msgid "Change Animation Loop"
msgstr "Animasyon Döngüsünü Değiştir"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Property Track"
-msgstr "Özellik:"
+msgstr "Özellik Parçası"
#: editor/animation_track_editor.cpp
msgid "3D Transform Track"
@@ -458,10 +455,28 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Bu animasyon içe aktarılmış bir sahneye ait, bu yüzden içe aktarılan "
+"parçalara yapılan değişiklikler kaydedilmeyecek.\n"
+"\n"
+"Özel parça ekleme özelliğini aktif etmek için, sahnenin içe aktarma "
+"ayarlarına gidin ve \"Animasyon > Depolama\" ayarını \"Dosyalama\" olarak "
+"ayarlayın, \"Animasyon > Özel Parçaları Sakla\"ayarını aktif edin ve sonra "
+"tekrar içe aktarın.\n"
+"Alternatif olarak, animasyonları ayrı dosyalara aktaran bir içe aktarma "
+"hazır ayarı kullanabilirsiniz."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Uyarı: İçe aktarılan animasyonu düzenleme"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Hepsini seç"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "Hiçbir Şey Seçilmedi"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -668,7 +683,7 @@ msgstr "Yalnızca Seçim"
#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/text_editor.cpp
msgid "Standard"
-msgstr ""
+msgstr "Standart"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
@@ -695,38 +710,32 @@ msgid "Line and column numbers."
msgstr "Satır ve sütun numaraları."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "Hedef Düğümdeki Metot tanımlanmış olmalı!"
+msgstr "Hedef düğümdeki metod tanımlanmalı."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
-"Amaçlanan metot bulunamadı! Geçerli bir metot tanımla ya da amaçlanan düğüme "
-"bir betik iliÅŸtirin."
+"Hedef metod bulunamadı. Geçerli bir metod tanımlayın ya da hedef düğüme bir "
+"komut bağlayın."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
msgstr "Düğüme Bağla:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Ana makineye bağlanılamadı:"
+msgstr "Komuta BaÄŸla:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
msgstr "Sinyaller:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "Düğüm uzambilgisi içermiyor."
+msgstr "Sahne hiç komut içermiyor."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -754,9 +763,8 @@ msgid "Extra Call Arguments:"
msgstr "Ekstra Çağrı Argümanları:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Yapışma ayarları"
+msgstr "GeliÅŸmiÅŸ"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -1339,7 +1347,7 @@ msgstr "Geçersiz isim. Varolan bir motor sınıf ismi ile çakışmamalı."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "Geçersiz ad. Var olan gömülü türdeki ad ile çakışmamalı."
#: editor/editor_autoload_settings.cpp
@@ -1553,7 +1561,7 @@ msgstr "Biçimi Taşı"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "DosyaSistemi"
#: editor/editor_feature_profile.cpp
@@ -1615,7 +1623,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1630,7 +1638,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "Şu Anki Sürüm:"
#: editor/editor_feature_profile.cpp
@@ -1655,16 +1663,11 @@ msgstr "Dışa Aktar"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
+msgid "Available Profiles:"
msgstr "Kullanılabilir Düğümler:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Sınıfları Ara"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
msgstr "Sınıf Açıklaması"
@@ -2754,10 +2757,34 @@ msgid "Editor Layout"
msgstr "Düzenleyici Yerleşim Düzeni"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Anlamlı!"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Düzenleyici Verileri/Ayarları Klasörünü Aç"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Sonraki Düzenleyiciyi aç"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Tam Ekran Aç / Kapat"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "CanvasItem'ı Görünür Duruma Getir"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Düzenleyici Verileri/Ayarları Klasörünü Aç"
@@ -2866,15 +2893,18 @@ msgid "Spins when the editor window redraws."
msgstr "Düzenleyici penceresi yeniden boyandığında döner."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Sürekli Güncelle"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Kesintisiz"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Değişiklikleri güncelle"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Güncelleme Topacını Devre Dışı Bırak"
#: editor/editor_node.cpp
@@ -3175,6 +3205,11 @@ msgid "Page: "
msgstr "Sayfa: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Öğeyi Kaldır"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Yeni Anahtar:"
@@ -3186,11 +3221,6 @@ msgstr "Yeni DeÄŸer:"
msgid "Add Key/Value Pair"
msgstr "Anahtar/Değer İkilisini Ekle"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Öğeyi Kaldır"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5378,6 +5408,14 @@ msgid "Load Emission Mask"
msgstr "Yayma Maskesini Yükle"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Åžimdi Yeniden BaÅŸlat"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "Yayma Maskesini Temizle"
@@ -6326,10 +6364,20 @@ msgid "Find Next"
msgstr "Sonraki Bul"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Özellikleri süz"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Süzgeç kipi:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sırala"
@@ -6581,11 +6629,6 @@ msgstr ""
msgid "Cut"
msgstr "Kes"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Hepsini seç"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Satırı Sil"
@@ -8250,51 +8293,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8303,203 +8302,27 @@ msgid "Input parameter."
msgstr "Ebeveyne yapıştır"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10214,6 +10037,11 @@ msgid "Add Child Node"
msgstr "Çocuk Düğüm Ekle"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Hepsini Daralt"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Türü Değiştir"
@@ -10244,7 +10072,8 @@ msgid "Delete (No Confirm)"
msgstr "Sil (DoÄŸrulama Yok)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Yeni Bir Düğüm Ekle / Oluştur"
#: editor/scene_tree_dock.cpp
@@ -11742,6 +11571,18 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D yalnızca CollisionObject2D'den türeyen düğümlere bir şekil "
+"elde etmeye hizmet eder. Lütfen onu yalnızca şunların çocuğu olarak kullanın "
+"ve Area2D, StaticBody2D, RigidBody2D, KinematicBody2D vs.'ye bir ÅŸekil "
+"vermek için kullanın."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -12044,8 +11885,12 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Ham Kip"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -12058,12 +11903,18 @@ msgstr "Şuanki rengi bir önayar olarak kaydet"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Uyarı!"
@@ -12162,6 +12013,16 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "Sınıfları Ara"
+
+#~ msgid "Update Always"
+#~ msgstr "Sürekli Güncelle"
+
+#~ msgid "Raw Mode"
+#~ msgstr "Ham Kip"
+
#~ msgid "Path to Node:"
#~ msgstr "Düğüm Yolu:"
@@ -12722,9 +12583,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Uzaysal Görünürlüğü Aç / Kapat"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "CanvasItem'ı Görünür Duruma Getir"
-
#~ msgid "Condition"
#~ msgstr "KoÅŸul"
@@ -13642,9 +13500,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "Bedizler:"
-#~ msgid "Select None"
-#~ msgstr "Hiçbir Şey Seçilmedi"
-
#~ msgid "Group"
#~ msgstr "Öbek"
diff --git a/editor/translations/uk.po b/editor/translations/uk.po
index 9c033bc4fc..5c3df4223f 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-05-22 10:19+0000\n"
+"PO-Revision-Date: 2019-07-02 10:48+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
@@ -25,7 +25,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -86,9 +86,8 @@ msgid "Time:"
msgstr "ЧаÑ:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "ЗначеннÑ"
+msgstr "ЗначеннÑ:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -442,10 +441,30 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Ð¦Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ до імпортованої Ñцени, тому зміни у імпортованих "
+"доріжках не буде збережено.\n"
+"\n"
+"Щоб увімкнути можливіÑть Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð½ÐµÑ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… доріжок, перейдіть до "
+"параметрів Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñцени Ñ–\n"
+"вÑтановіть Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ > Сховище» Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«Ð¤Ð°Ð¹Ð»Ð¸Â», позначте "
+"«ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ > Зберегти нетипові доріжки»,\n"
+"Ñ– виконайте повторне імпортуваннÑ. Крім того, ви можете ÑкориÑтатиÑÑ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ "
+"параметрів імпортуваннÑ,\n"
+"Ñкий надає змогу імпортувати анімації до окремих файлів."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "ПопередженнÑ: Редагуємо імпортовану анімацію"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "Виділити вÑе"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Позначити вузол"
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -680,12 +699,10 @@ msgid "Line and column numbers."
msgstr "Ðомери Ñ€Ñдків Ñ– позицій."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Method in target node must be specified."
-msgstr "Метод у цільовому вузлі повинен бути вказаний!"
+msgstr "Має бути вказано метод у цільовому вузлі."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
@@ -694,24 +711,20 @@ msgstr ""
"цільового вузла."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Node:"
-msgstr "ПідключитиÑÑ Ð´Ð¾ вузла:"
+msgstr "З'єднати з вузлом:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "Ðе вдалоÑÑ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ð¸ÑÑ Ð´Ð¾ хоÑту:"
+msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ñ– Ñкриптом:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "Сигнали:"
+msgstr "З Ñигналу:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Scene does not contain any script."
-msgstr "Вузол не міÑтить геометрії."
+msgstr "У Ñцені немає жодного Ñкрипту."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -739,9 +752,8 @@ msgid "Extra Call Arguments:"
msgstr "Додаткові аргументи виклику:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Advanced"
-msgstr "Додаткові параметри"
+msgstr "Додатково"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -751,6 +763,8 @@ msgstr "Відкладені"
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
msgstr ""
+"Відкладає Ñигнал, зберігаючи його у черзі Ñ– відпуÑкаючи, лише наÑтане Ñтан "
+"бездіÑльноÑті."
#: editor/connections_dialog.cpp
msgid "Oneshot"
@@ -758,12 +772,11 @@ msgstr "Один раз"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Від'єднує Ñигнал піÑÐ»Ñ Ð¹Ð¾Ð³Ð¾ першого виданнÑ."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "З'єднати Ñигнал: "
+msgstr "Ðе вдалоÑÑ Ð·'єднати Ñигнал"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -805,14 +818,12 @@ msgid "Disconnect"
msgstr "Роз'єднати"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "З'єднати Ñигнал: "
+msgstr "З'єднати Ñигнал із методом"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Редагувати з’єднаннÑ: "
+msgstr "Редагувати з’єднаннÑ:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
@@ -888,22 +899,20 @@ msgid "Dependencies For:"
msgstr "ЗалежноÑті длÑ:"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
"Сцена \"%s\" зараз редагуєтьÑÑ.\n"
-"Зміни не наберуть Ñили, Ñкщо не перезавантажитиÑÑ."
+"Зміни не наберуть чинноÑті до перезавантаженнÑ."
#: editor/dependency_editor.cpp
-#, fuzzy
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
"РеÑÑƒÑ€Ñ \"%S \" викориÑтовуєтьÑÑ.\n"
-"Зміни набудуть чинноÑті піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ."
+"Зміни набудуть чинноÑті лише піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -951,7 +960,7 @@ msgstr "ВлаÑники:"
#: editor/dependency_editor.cpp
msgid "Remove selected files from the project? (no undo)"
-msgstr "Видалити вибрані файли з проекту? (ÑкаÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ)"
+msgstr "Видалити вибрані файли з проєкту? (ÑкаÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ)"
#: editor/dependency_editor.cpp
msgid ""
@@ -996,9 +1005,8 @@ msgid "Permanently delete %d item(s)? (No undo!)"
msgstr "ОÑтаточно вилучити %d об'єкт(и)? (Ðеможливо ÑкаÑувати)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Show Dependencies"
-msgstr "ЗалежноÑті"
+msgstr "Показати залежноÑті"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -1038,7 +1046,7 @@ msgstr "Ðвтори Ñ€ÑƒÑˆÑ–Ñ Godot"
#: editor/editor_about.cpp
msgid "Project Founders"
-msgstr "ЗаÑновники проекту"
+msgstr "ЗаÑновники проєкту"
#: editor/editor_about.cpp
msgid "Lead Developer"
@@ -1261,7 +1269,7 @@ msgstr "Відкрити ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð°ÑƒÐ´Ñ–Ð¾ шини"
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "Ðемає файла «%s»."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
@@ -1318,27 +1326,21 @@ msgid "Valid characters:"
msgstr "ПрипуÑтимі Ñимволи:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr ""
-"ÐеприпуÑтима назва. Ðе повинно конфліктувати з Ñ–Ñнуючим ім'Ñм клаÑу рушіÑ."
+msgstr "Ðазва має відрізнÑтиÑÑ Ð²Ñ–Ð´ наÑвної назви клаÑу рушіÑ."
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
-msgstr ""
-"ÐеприпуÑтима назва. Ðе повинно ÑтикатиÑÑ Ð· Ñ–Ñнуючим вбудованим ім'Ñм типу."
+msgid "Must not collide with an existing built-in type name."
+msgstr "Ðазва не повинна збігатиÑÑ Ñ–Ð· наÑвною назвою вбудованого типу."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr ""
-"ÐеприпуÑтиме ім'Ñ. Ðе повинно збігатиÑÑŒ з іменем Ñ–Ñнуючої глобальної "
-"конÑтанти."
+msgstr "Ðазва не повинна збігатиÑÑ Ñ–Ð· назвою наÑвної загальної Ñталої."
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
-msgstr ""
+msgstr "У назві Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ðµ можна викориÑтовувати ключові Ñлова."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1369,7 +1371,6 @@ msgid "Rearrange Autoloads"
msgstr "Змінити порÑдок автозавантажень"
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid path."
msgstr "Ðеправильний шлÑÑ…."
@@ -1401,7 +1402,7 @@ msgstr "Ім'Ñ"
#: editor/editor_autoload_settings.cpp
msgid "Singleton"
-msgstr "Одинак (шаблон проектуваннÑ)"
+msgstr "Одинак (шаблон проєктуваннÑ)"
#: editor/editor_data.cpp
msgid "Updating Scene"
@@ -1424,9 +1425,8 @@ msgid "[unsaved]"
msgstr "[не збережено]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "Будь лаÑка, виберіть Ñпочатку базовий каталог"
+msgstr "Будь лаÑка, виберіть Ñпочатку базовий каталог."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1472,7 +1472,7 @@ msgid ""
"Etc' in Project Settings."
msgstr ""
"Платформа Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” ÑтиÑÐºÐ°Ð½Ð½Ñ Ñ‚ÐµÐºÑтур «ETC» Ð´Ð»Ñ GLES2. Увімкніть "
-"пункт «Імпортувати ETC» у параметрах проекту."
+"пункт «Імпортувати ETC» у параметрах проєкту."
#: editor/editor_export.cpp
msgid ""
@@ -1480,7 +1480,7 @@ msgid ""
"'Import Etc 2' in Project Settings."
msgstr ""
"Платформа Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” ÑтиÑÐºÐ°Ð½Ð½Ñ Ñ‚ÐµÐºÑтур «ETC2» Ð´Ð»Ñ GLES3. Увімкніть "
-"пункт «Імпортувати ETC 2» у параметрах проекту."
+"пункт «Імпортувати ETC 2» у параметрах проєкту."
#: editor/editor_export.cpp
msgid ""
@@ -1490,7 +1490,7 @@ msgid ""
"Enabled'."
msgstr ""
"Платформа Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” ÑтиÑÐºÐ°Ð½Ð½Ñ Ñ‚ÐµÐºÑтур «ETC» Ð´Ð»Ñ GLES2.\n"
-"Увімкніть пункт «Імпортувати ETC» у параметрах проекту або вимкніть пункт "
+"Увімкніть пункт «Імпортувати ETC» у параметрах проєкту або вимкніть пункт "
"«Увімкнено резервні драйвери»."
#: editor/editor_export.cpp platform/android/export/export.cpp
@@ -1510,121 +1510,107 @@ msgid "Template file not found:"
msgstr "Файл шаблону не знайдено:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "Редактор"
+msgstr "3D-редактор"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Відкрити редактор Ñкриптів"
+msgstr "Редактор Ñкриптів"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "Відкрити бібліотеку активів"
+msgstr "Бібліотека активів"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "Дерево Ñцени (вузли):"
+msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ñ”Ñ€Ð°Ñ€Ñ…Ñ–Ñ— Ñцени"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Імпортувати"
+msgstr "Бічна панель імпортуваннÑ"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "ПереÑунуто вузол"
+msgstr "Бічна панель вузлів"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "Файлова ÑиÑтема"
+msgid "FileSystem and Import Docks"
+msgstr "Бічна панель файлової ÑиÑтеми"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Замінити вÑе (без ÑкаÑовуваннÑ)"
+msgstr "Витерти профіль «%s»? (не можна ÑкаÑувати)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽ має бути вказано коректну назву файла, Ñка має міÑтити «.»"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Файл або тека з таким іменем вже Ñ–Ñнує."
+msgstr "Профіль із такою назвою вже Ñ–Ñнує."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Редактор вимкнено, влаÑтивоÑті вимкнено)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "Лише влаÑтивоÑті"
+msgstr "(ВлаÑтивоÑті вимкнено)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "ÐžÐ±Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾"
+msgstr "(Редактор вимкнено)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "ÐžÐ¿Ð¸Ñ ÐºÐ»Ð°Ñу:"
+msgstr "Параметри клаÑу:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "Відкрити наÑтупний редактор"
+msgstr "Увімкнути контекÑтуальний редактор"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "ВлаÑтивоÑті:"
+msgstr "Увімкнені влаÑтивоÑті:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "МожливоÑті"
+msgstr "Увімкнені можливоÑті:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Пошук клаÑів"
+msgstr "Увімкнені клаÑи:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Формат файла «%s» Ñ” некоректним, Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"Профіль із назвою «%s» вже Ñ–Ñнує. Перед імпортуваннÑм Ñлід вилучити наÑвний "
+"профіль. Ð†Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби завантажити шаблон «%s»"
+msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби зберегти профіль до каталогу: «%s»."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "Ðе вÑтановлено"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Поточна верÑÑ–Ñ:"
+msgid "Current Profile:"
+msgstr "Поточний профіль"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Поточний:"
+msgstr "Зробити поточним"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1643,43 +1629,32 @@ msgstr "ЕкÑпортуваннÑ"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "ДоÑтупні вузли:"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "Пошук клаÑів"
+msgid "Available Profiles:"
+msgstr "ДоÑтупні профілі"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "ÐžÐ¿Ð¸Ñ ÐºÐ»Ð°Ñу"
+msgstr "Параметри клаÑу"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Ðова назва:"
+msgstr "Ðазва нового профілю:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "Витерти облаÑть"
+msgstr "Витерти профіль"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "Імпортований проект"
+msgstr "Імпортувати профілі"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "ЕкÑпортувати проект"
+msgstr "ЕкÑпорт профілю"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ екÑпорту"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»Ñми можливоÑтей редактора"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -1763,11 +1738,11 @@ msgstr "Вгору"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Toggle Hidden Files"
-msgstr "Переключати приховані файли"
+msgstr "Перемкнути приховані файли"
#: editor/editor_file_dialog.cpp
msgid "Toggle Favorite"
-msgstr "Переключити обране"
+msgstr "Перемкнути обране"
#: editor/editor_file_dialog.cpp
msgid "Toggle Mode"
@@ -1802,9 +1777,8 @@ msgid "(Un)favorite current folder."
msgstr "Перемкнути Ñтан вибраноÑті Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— теки."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Переключати приховані файли"
+msgstr "Увімкнути або вимкнути видиміÑть прихованих файлів."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
@@ -1841,6 +1815,8 @@ msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
msgstr ""
+"ІÑнує декілька заÑобів Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… типів, Ñкі вказують на файл "
+"%s, Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
@@ -2045,7 +2021,7 @@ msgstr "ОчиÑтити вивід"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
-msgstr "Ðе вдалоÑÑ ÐµÐºÑпортувати проект, код помилки — %d."
+msgstr "Ðе вдалоÑÑ ÐµÐºÑпортувати проєкт, код помилки — %d."
#: editor/editor_node.cpp
msgid "Imported resources can't be saved."
@@ -2184,7 +2160,6 @@ msgstr ""
"краще зрозуміти цей робочий процеÑ."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
@@ -2201,7 +2176,6 @@ msgstr ""
"Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° панелі імпорту, а потім знову імпортуйте."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
@@ -2214,7 +2188,6 @@ msgstr ""
"зрозуміти цей робочий процеÑ."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
@@ -2246,9 +2219,8 @@ msgid "Open Base Scene"
msgstr "Відкрити оÑновну Ñцену"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Швидке Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñцени..."
+msgstr "Швидке відкриттÑ…"
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2340,7 +2312,7 @@ msgstr "Вийти з редактора?"
#: editor/editor_node.cpp
msgid "Open Project Manager?"
-msgstr "Відкрити менеджер проектів?"
+msgstr "Відкрити менеджер проєктів?"
#: editor/editor_node.cpp
msgid "Save & Quit"
@@ -2353,7 +2325,7 @@ msgstr "Зберегти зміни в наÑтупній(их) Ñцені(ах)
#: editor/editor_node.cpp
msgid "Save changes the following scene(s) before opening Project Manager?"
msgstr ""
-"Зберегти зміни в наÑтупній(их) Ñцені(ах) перед відкриттÑм менеджера проектів?"
+"Зберегти зміни в наÑтупній(их) Ñцені(ах) перед відкриттÑм менеджера проєктів?"
#: editor/editor_node.cpp
msgid ""
@@ -2416,9 +2388,9 @@ msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
"open the scene, then save it inside the project path."
msgstr ""
-"Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñцени, вона повинна бути вÑередині шлÑху проекту. "
+"Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñцени, вона повинна бути вÑередині шлÑху проєкту. "
"ВикориÑтовуйте \"Імпорт\", щоб відкрити Ñцену, а потім збережіть Ñ—Ñ— "
-"вÑередині шлÑху проекту."
+"вÑередині шлÑху проєкту."
#: editor/editor_node.cpp
msgid "Scene '%s' has broken dependencies:"
@@ -2435,7 +2407,7 @@ msgid ""
"category."
msgstr ""
"ÐÑ–Ñка головна Ñцена ніколи не була визначена, вибрати Ñ—Ñ—?\n"
-"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проекту\" в категорії "
+"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проєкту\" в категорії "
"\"Програма\"."
#: editor/editor_node.cpp
@@ -2445,7 +2417,7 @@ msgid ""
"category."
msgstr ""
"Вибрана Ñцена '%s' не Ñ–Ñнує, вибрати дійÑну?\n"
-"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проекту\" в категорії "
+"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проєкту\" в категорії "
"\"Програма\"."
#: editor/editor_node.cpp
@@ -2455,7 +2427,7 @@ msgid ""
"category."
msgstr ""
"Вибрана Ñцена '%s' не Ñ” файлом Ñцени, вибрати дійÑний файл?\n"
-"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проекту\" в категорії "
+"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проєкту\" в категорії "
"\"Програма\"."
#: editor/editor_node.cpp
@@ -2490,12 +2462,11 @@ msgstr "Закрити інші вкладки"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Закрити вкладки праворуч"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "Закрити вÑе"
+msgstr "Закрити уÑÑ– вкладки"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2609,15 +2580,15 @@ msgstr "Повернути Ñцену"
#: editor/editor_node.cpp
msgid "Miscellaneous project or scene-wide tools."
-msgstr "Різні проектні або Ñценографічні інÑтрументи."
+msgstr "Різні проєктні або Ñценографічні інÑтрументи."
#: editor/editor_node.cpp
msgid "Project"
-msgstr "Проект"
+msgstr "Проєкт"
#: editor/editor_node.cpp
msgid "Project Settings"
-msgstr "Параметри проекту"
+msgstr "Параметри проєкту"
#: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Tools"
@@ -2625,15 +2596,15 @@ msgstr "ІнÑтрументи"
#: editor/editor_node.cpp
msgid "Open Project Data Folder"
-msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚ÐµÐºÐ¸ даних проекту"
+msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚ÐµÐºÐ¸ даних проєкту"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Ð’Ñтановити шаблон Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Android"
#: editor/editor_node.cpp
msgid "Quit to Project List"
-msgstr "Вийти в ÑпиÑок проектів"
+msgstr "Вийти в ÑпиÑок проєктів"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: editor/project_export.cpp
@@ -2667,7 +2638,7 @@ msgid ""
msgstr ""
"Якщо цей параметр увімкнено, екÑпорт або Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð´Ð°ÑŽÑ‚ÑŒ мінімальний "
"виконуваний файл.\n"
-"Файлова ÑиÑтема буде надана редактором у проекті через мережу.\n"
+"Файлова ÑиÑтема буде надана редактором у проєкті через мережу.\n"
"Ðа Android Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð±ÑƒÐ´Ðµ швидше при підключенні через USB.. Цей параметр "
"значно приÑкорює теÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… ігор."
@@ -2740,10 +2711,34 @@ msgid "Editor Layout"
msgstr "Редактор компонуваннÑ"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "Зробити кореневим Ð´Ð»Ñ Ñцени"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚ÐµÐºÐ¸ даних/параметрів редактора"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "Відкрити наÑтупний редактор"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "Перемикач повноекранного режиму"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Перемкнути видиміÑть CanvasItem"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚ÐµÐºÐ¸ даних/параметрів редактора"
@@ -2756,9 +2751,8 @@ msgid "Open Editor Settings Folder"
msgstr "Відкрити теку параметрів редактора"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features"
-msgstr "Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ екÑпорту"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñми редактора"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
@@ -2799,7 +2793,7 @@ msgstr "Про"
#: editor/editor_node.cpp
msgid "Play the project."
-msgstr "ЗапуÑтити проект."
+msgstr "ЗапуÑтити проєкт."
#: editor/editor_node.cpp
msgid "Play"
@@ -2851,15 +2845,18 @@ msgid "Spins when the editor window redraws."
msgstr "ОбертаєтьÑÑ, коли перемальовуєтьÑÑ Ð²Ñ–ÐºÐ½Ð¾ редактора."
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "Завжди оновлювати"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Ðеперервна"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "Оновлювати зміни"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "Вимкнути Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ°"
#: editor/editor_node.cpp
@@ -2889,17 +2886,22 @@ msgstr "Ðе зберігати"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
msgstr ""
+"Ðе виÑтачає шаблона Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Android. Будь лаÑка, вÑтановіть відповідні "
+"шаблони."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ екÑпорту"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸"
#: editor/editor_node.cpp
msgid ""
"This will install the Android project for custom builds.\n"
"Note that, in order to use it, it needs to be enabled per export preset."
msgstr ""
+"У результаті Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— дії буде вÑтановлено проєкт Android Ð´Ð»Ñ "
+"нетипового збираннÑ.\n"
+"Зауважте, що Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб ним можна було ÑкориÑтатиÑÑ, його Ñлід увімкнути "
+"екÑпортуваннÑм набору правил."
#: editor/editor_node.cpp
msgid ""
@@ -2907,6 +2909,8 @@ msgid ""
"Remove the \"build\" directory manually before attempting this operation "
"again."
msgstr ""
+"Шаблон Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Android вже вÑтановлено. Його не буде перезапиÑано.\n"
+"Вилучіть каталог «build» вручну, перш ніж намагатиÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð¸Ñ‚Ð¸ цю дію."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -2914,7 +2918,7 @@ msgstr "Імпортувати шаблони з ZIP-файлу"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export Project"
-msgstr "ЕкÑпортувати проект"
+msgstr "ЕкÑпортувати проєкт"
#: editor/editor_node.cpp
msgid "Export Library"
@@ -3157,6 +3161,11 @@ msgid "Page: "
msgstr "Сторінка: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Вилучити елемент"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "Ðовий ключ:"
@@ -3168,11 +3177,6 @@ msgstr "Ðове значеннÑ:"
msgid "Add Key/Value Pair"
msgstr "Додати пару ключ-значеннÑ"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Вилучити елемент"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3379,9 +3383,8 @@ msgid "SSL Handshake Error"
msgstr "Помилка SSL РукоÑтиÑканнÑ"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð°ÐºÑ‚Ð¸Ð²Ñ–Ð²"
+msgstr "Розпаковуємо код Ð´Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Android"
#: editor/export_template_manager.cpp
msgid "Current Version:"
@@ -3400,9 +3403,8 @@ msgid "Remove Template"
msgstr "Вилучити шаблон"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Select Template File"
-msgstr "Вибрати файл шаблону"
+msgstr "Виберіть файл шаблону"
#: editor/export_template_manager.cpp
msgid "Export Template Manager"
@@ -3462,9 +3464,8 @@ msgid "No name provided."
msgstr "Ім'Ñ Ð½Ðµ вказано."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "Ðадане ім'Ñ Ð¼Ñ–Ñтить некоректні Ñимволи"
+msgstr "Ðадане ім'Ñ Ð¼Ñ–Ñтить некоректні Ñимволи."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
@@ -3491,28 +3492,24 @@ msgid "Duplicating folder:"
msgstr "Ð”ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÐ¸:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Ðова уÑпадкована Ñцена..."
+msgstr "Ðова уÑпадкована Ñцена"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Відкрити Ñцену"
+msgstr "Відкрити Ñцени"
#: editor/filesystem_dock.cpp
msgid "Instance"
msgstr "ЕкземплÑÑ€"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
-msgstr "Додати до вибраного"
+msgstr "Додати до улюблених"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
-msgstr "Вилучити з вибраного"
+msgstr "Вилучити з улюблених"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
@@ -3560,21 +3557,18 @@ msgid "Rename"
msgstr "Перейменувати"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñ‚ÐµÐºÐ°"
+msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñ‚ÐµÐºÐ° або файл"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "ÐаÑтупна тека"
+msgstr "ÐаÑтупна тека або файл"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "ПереÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
msgstr "Перемкнути режим поділу"
@@ -3627,6 +3621,8 @@ msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Включити файли із вказаними нижче ÑуфікÑами назв. Додати Ñ– вилучити ÑуфікÑи "
+"можна у параметрах проєкту."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4068,9 +4064,8 @@ msgid "Open Animation Node"
msgstr "Відкрити вузол анімації"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "Трикутник вже Ñ–Ñнує"
+msgstr "Трикутник вже Ñ–Ñнує."
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
@@ -4217,7 +4212,6 @@ msgid "Edit Filtered Tracks:"
msgstr "Редагувати фільтровані доріжки:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
msgstr "Увімкнути фільтруваннÑ"
@@ -4354,9 +4348,8 @@ msgid "Enable Onion Skinning"
msgstr "Увімкнути калькуваннÑ"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning Options"
-msgstr "КалькуваннÑ"
+msgstr "Параметри калькуваннÑ"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -4923,6 +4916,8 @@ msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Якщо позначено, переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÑƒÐ·Ð»Ñ–Ð² Control змінюватиме їхню прив'Ñзку, а не "
+"їхні полÑ."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
@@ -4938,41 +4933,35 @@ msgstr "Змінити прив'Ñзки"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "ІнÑтрумент позначеннÑ"
+msgstr "Заблокувати позначене"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "Вилучити вибране"
+msgstr "Розблокувати позначене"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Копіювати позначене"
+msgstr "Згрупувати позначені"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Копіювати позначене"
+msgstr "Розгрупувати позначені"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr "Ð’Ñтавити позу"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
msgstr "Створити нетипові кіÑтки з вузлів"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "ОчиÑтити позу"
+msgstr "ОчиÑтити кіÑтки"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5060,9 +5049,8 @@ msgid "Snapping Options"
msgstr "Параметри прив'Ñзки"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Grid"
-msgstr "Прив'Ñзати до Ñітки"
+msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ Ñітки"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
@@ -5082,37 +5070,30 @@ msgid "Use Pixel Snap"
msgstr "ВикориÑтати Ð¿Ñ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ пікÑелів"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart Snapping"
msgstr "Інтелектуальне прилипаннÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Parent"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ предка"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Anchor"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ прив'Ñзки вузла"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Sides"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ боків вузла"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Node Center"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ центру вузла"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Other Nodes"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ інших вузлів"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to Guides"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ напрÑмних"
@@ -5196,7 +5177,7 @@ msgstr "Кадрувати вибране"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
-msgstr ""
+msgstr "Попередній переглÑд маÑштабованого полотна"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
@@ -5252,9 +5233,8 @@ msgid "Divide grid step by 2"
msgstr "Розділити крок Ñітки на 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Pan View"
-msgstr "ВиглÑд ззаду"
+msgstr "ÐŸÐ°Ð½Ð¾Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -5280,9 +5260,8 @@ msgid "Error instancing scene from %s"
msgstr "Помилка Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñцени з %s"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
-msgstr "Змінити типовий тип"
+msgstr "Змінити Ñтандартний тип"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5324,6 +5303,14 @@ msgid "Load Emission Mask"
msgstr "Завантажити маÑку випромінюваннÑ"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Перезавантажити зараз"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "ОчиÑтити маÑку випромінюваннÑ"
@@ -5369,14 +5356,12 @@ msgid "Create Emission Points From Node"
msgstr "Створити випромінювач з вузла"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 0"
-msgstr "ПлаÑкий0"
+msgstr "ПлаÑкий 0"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Flat 1"
-msgstr "ПлаÑкий1"
+msgstr "ПлаÑкий 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -5403,29 +5388,24 @@ msgid "Load Curve Preset"
msgstr "Завантажити заготовку кривої"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
msgstr "Додати точку"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
msgstr "Вилучити точку"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
msgstr "Лівий лінійний"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right Linear"
msgstr "Правий лінійний"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Preset"
-msgstr "Завантажити заготовку"
+msgstr "Завантажити шаблон"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Curve Point"
@@ -5433,7 +5413,7 @@ msgstr "Видалити точку кривої"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Toggle Curve Linear Tangent"
-msgstr "Переключити криву лінійного тангенÑу"
+msgstr "Перемкнути дотичну до кривої"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Hold Shift to edit tangents individually"
@@ -5480,18 +5460,16 @@ msgid "This doesn't work on scene root!"
msgstr "Це не працює на корінь Ñцени!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Trimesh Static Shape"
-msgstr "Створити увігнуту форму"
+msgstr "Створити триÑіткову Ñтатичну форму"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Failed creating shapes!"
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ñтворити форми!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Shape(s)"
-msgstr "Створити вигнуту форму"
+msgstr "Створити вигнуті форми"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -5547,9 +5525,8 @@ msgid "Create Trimesh Collision Sibling"
msgstr "Створити увігнуту облаÑть зіткненнÑ"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Convex Collision Sibling(s)"
-msgstr "Створити опуклу облаÑть зіткненнÑ"
+msgstr "Створити опуклу облаÑті зіткненнÑ"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -5909,7 +5886,6 @@ msgid "Split Segment (in curve)"
msgstr "Розділити Ñегмент (кривої)"
#: editor/plugins/physical_bone_plugin.cpp
-#, fuzzy
msgid "Move Joint"
msgstr "ПереÑунути з'єднаннÑ"
@@ -6243,10 +6219,20 @@ msgid "Find Next"
msgstr "Знайти наÑтупне"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Фільтрувати влаÑтивоÑті"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "Увімкнути або вимкнути упорÑÐ´ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° абеткою у ÑпиÑку методів."
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Режим фільтруваннÑ:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Сортувати"
@@ -6357,18 +6343,16 @@ msgid "Debug with External Editor"
msgstr "Ð—Ð½ÐµÐ²Ð°Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð° допомогою зовнішнього редактора"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation."
-msgstr "Відкрити онлайнову документацію Godot"
+msgstr "Відкрити онлайнову документацію Godot."
#: editor/plugins/script_editor_plugin.cpp
msgid "Request Docs"
msgstr "Запит щодо документації"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Help improve the Godot documentation by giving feedback."
-msgstr "Допоможіть у поліпшенні документації до Godot, надіÑлавши Ñвій відгук"
+msgstr "Допоможіть у поліпшенні документації Godot наданнÑм відгуків."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -6413,29 +6397,27 @@ msgid "Search Results"
msgstr "Результати пошуку"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Connections to method:"
-msgstr "ПідключитиÑÑ Ð´Ð¾ вузла:"
+msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· методом:"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Source"
-msgstr "Джерело:"
+msgstr "Джерело"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "Сигнали"
+msgstr "Сигнал"
#: editor/plugins/script_text_editor.cpp
msgid "Target"
-msgstr ""
+msgstr "ПризначеннÑ"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
-msgstr "Ðічого не з'єднано із входом «%s» вузла «%s»."
+msgstr ""
+"Ðе Ñтворено з'єднаного методу «%s» Ð´Ð»Ñ Ñигналу «%s» з вузла «%s» до вузла "
+"«%s»."
#: editor/plugins/script_text_editor.cpp
msgid "Line"
@@ -6484,18 +6466,13 @@ msgstr "ЗаÑіб підÑÐ²Ñ–Ñ‡ÑƒÐ²Ð°Ð½Ð½Ñ ÑинтакÑиÑу"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Bookmarks"
-msgstr ""
+msgstr "Закладки"
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Вирізати"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "Виділити вÑе"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "Видалити Ñ€Ñдок"
@@ -6513,24 +6490,20 @@ msgid "Toggle Comment"
msgstr "Перемкнути коментар"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Toggle Bookmark"
-msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð¾Ð³Ð»Ñду"
+msgstr "Увімкнути або вимкнути закладку"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Перейти до наÑтупної точки зупинки"
+msgstr "Перейти до наÑтупної закладки"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "Перейти до попередньої точки зупинки"
+msgstr "Перейти до попередньої закладки"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Remove All Bookmarks"
-msgstr "Вилучити уÑÑ– елементи"
+msgstr "Вилучити вÑÑ– закладки"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -6606,13 +6579,12 @@ msgid "Contextual Help"
msgstr "КонтекÑтна довідка"
#: editor/plugins/shader_editor_plugin.cpp
-#, fuzzy
msgid ""
"This shader has been modified on on disk.\n"
"What action should be taken?"
msgstr ""
-"Такі файли на диÑку новіші.\n"
-"Що робити?:"
+"До цього шейдера внеÑено зміни на диÑку.\n"
+"Що Ñлід зробити?"
#: editor/plugins/shader_editor_plugin.cpp
msgid "Shader"
@@ -6958,7 +6930,6 @@ msgid "Right View"
msgstr "ВиглÑд Ñправа"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Switch Perspective/Orthogonal View"
msgstr "Перемкнути переглÑд перÑпективи/ортогональний переглÑд"
@@ -7004,7 +6975,6 @@ msgid "Transform"
msgstr "ПеретвореннÑ"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Object to Floor"
msgstr "Приліпити об'єкт до підлоги"
@@ -7196,14 +7166,12 @@ msgid "Settings:"
msgstr "Параметри:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "No Frames Selected"
-msgstr "Кадрувати вибране"
+msgstr "Кадрів не позначено"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add %d Frame(s)"
-msgstr "Додати кадр"
+msgstr "Додати %d кадри"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frame"
@@ -7254,13 +7222,12 @@ msgid "Animation Frames:"
msgstr "Кадри анімації:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Додати текÑтури до TileSet."
+msgstr "Додати текÑтуру з файла"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
-msgstr ""
+msgstr "Додати кадри із аркуша Ñпрайтів"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Insert Empty (Before)"
@@ -7279,29 +7246,24 @@ msgid "Move (After)"
msgstr "ПереÑунути (піÑлÑ)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select Frames"
-msgstr "СтоÑувати кадри"
+msgstr "Вибрати кадри"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Horizontal:"
-msgstr "Відзеркалити горизонтально"
+msgstr "Горизонтально:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Vertical:"
-msgstr "Вершини"
+msgstr "Вертикально:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Select/Clear All Frames"
-msgstr "Виділити вÑе"
+msgstr "Позначити або Ñпорожнити уÑÑ– кадри"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Create Frames from Sprite Sheet"
-msgstr "Створити зі Ñцени"
+msgstr "Створити кадри з аркуша Ñпрайтів"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "SpriteFrames"
@@ -7373,9 +7335,8 @@ msgid "Remove All"
msgstr "Вилучити уÑÑ–"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Edit Theme"
-msgstr "Редагувати тему..."
+msgstr "Редагувати тему"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme editing menu."
@@ -7402,23 +7363,20 @@ msgid "Create From Current Editor Theme"
msgstr "Створити на оÑнові поточної теми редактора"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Button"
-msgstr "Кнопка миші"
+msgstr "Кнопка-перемикач"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Button"
-msgstr "Ð¡ÐµÑ€ÐµÐ´Ð½Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°"
+msgstr "Вимкнена кнопка"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
msgstr "Елемент"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled Item"
-msgstr "Вимкнено"
+msgstr "Вимкнений елемент"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
@@ -7438,21 +7396,19 @@ msgstr "Позначений пункт варіанта"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Named Sep."
-msgstr ""
+msgstr "Імен. розд."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Submenu"
-msgstr ""
+msgstr "Підменю"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 1"
-msgstr "Елемент"
+msgstr "Елемент 1"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Item 2"
-msgstr "Елемент"
+msgstr "Елемент 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -7463,9 +7419,8 @@ msgid "Many"
msgstr "Багато"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Disabled LineEdit"
-msgstr "Вимкнено"
+msgstr "Вимкнений LineEdit"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -7480,13 +7435,12 @@ msgid "Tab 3"
msgstr "Вкладка 3"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Editable Item"
-msgstr "Редагований дочірній елемент"
+msgstr "Редагований елемент"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Subtree"
-msgstr ""
+msgstr "Піддерево"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
@@ -7566,14 +7520,12 @@ msgid "Mirror Y"
msgstr "Віддзеркалити за Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Disable Autotile"
-msgstr "Ðвтоплитки"
+msgstr "Вимкнути автоплитки"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Enable Priority"
-msgstr "Редагувати пріоритетніÑть плитки"
+msgstr "Увімкнути пріоритетніÑть"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
@@ -7584,33 +7536,30 @@ msgid ""
"Shift+RMB: Line Draw\n"
"Shift+Ctrl+RMB: Rectangle Paint"
msgstr ""
+"Shift+права кнопка: малювати лінію\n"
+"Shift+Ctrl+права кнопка: малювати прÑмокутник"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
msgstr "Вибрати плитку"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Left"
-msgstr "Обертати ліворуч"
+msgstr "Обернути ліворуч"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Right"
-msgstr "Обертати праворуч"
+msgstr "Обернути праворуч"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Horizontally"
-msgstr "Відзеркалити горизонтально"
+msgstr "Віддзеркалити горизонтально"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Flip Vertically"
msgstr "Віддзеркалити вертикально"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Clear Transform"
msgstr "ЗнÑти перетвореннÑ"
@@ -7647,44 +7596,36 @@ msgid "Select the previous shape, subtile, or Tile."
msgstr "Вибір попередньої форми, підплитки або плитки."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Region Mode"
-msgstr "Режим виконаннÑ:"
+msgstr "Режим облаÑті"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Collision Mode"
-msgstr "Режим інтерполÑції"
+msgstr "Режим перешкоди"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occlusion Mode"
-msgstr "Редагувати полігон перешкоди"
+msgstr "Режим перешкоди"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Mode"
-msgstr "Створити навігаційну Ñітку"
+msgstr "Режим навігації"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Bitmask Mode"
-msgstr "Режим повороту"
+msgstr "Режим бітової маÑки"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Priority Mode"
-msgstr "Режим екÑпортуваннÑ:"
+msgstr "Режим пріоритетноÑті"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Icon Mode"
-msgstr "Режим панорамуваннÑ"
+msgstr "Режим піктограм"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Z Index Mode"
-msgstr "Режим панорамуваннÑ"
+msgstr "Режим Z-покажчика"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -7772,7 +7713,6 @@ msgid "Delete polygon."
msgstr "Видалити полігон."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid ""
"LMB: Set bit on.\n"
"RMB: Set bit off.\n"
@@ -7781,6 +7721,7 @@ msgid ""
msgstr ""
"Ліва кнопка: вÑтановити біт.\n"
"Права кнопка: знÑти біт.\n"
+"Shift+ліва кнопка: вÑтановити біт-замінник.\n"
"Клацніть на іншій плитці, щоб редагувати її."
#: editor/plugins/tile_set_editor_plugin.cpp
@@ -7894,77 +7835,64 @@ msgid "TileSet"
msgstr "Ðабір плиток"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input +"
-msgstr "Додати вхід"
+msgstr "Додати вхід +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add output +"
-msgstr "Додати вхід"
+msgstr "Додати вихід +"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar"
-msgstr "МаÑштаб:"
+msgstr "СкалÑÑ€"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "ІнÑпектор"
+msgstr "Вектор"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
-msgstr ""
+msgstr "Булеве"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Add input port"
-msgstr "Додати вхід"
+msgstr "Додати вхідний порт"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add output port"
-msgstr ""
+msgstr "Додати вихідний порт"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port type"
-msgstr "Змінити типовий тип"
+msgstr "Змінити тип вхідного порту"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port type"
-msgstr "Змінити типовий тип"
+msgstr "Змінити тип вихідного порту"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change input port name"
-msgstr "Змінити назву входу"
+msgstr "Змінити назву вхідного порту"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Change output port name"
-msgstr "Змінити назву входу"
+msgstr "Змінити назву вихідного порту"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove input port"
-msgstr "Вилучити точку"
+msgstr "Вилучити вхідний порт"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Remove output port"
-msgstr "Вилучити точку"
+msgstr "Вилучити вихідний порт"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Set expression"
-msgstr "Змінити вираз"
+msgstr "Ð’Ñтановити вираз"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Resize VisualShader node"
-msgstr "VisualShader"
+msgstr "Змінити розмір вузла VisualShader"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Set Uniform Name"
@@ -8003,540 +7931,325 @@ msgid "Light"
msgstr "Світло"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Create Shader Node"
-msgstr "Створити вузол"
+msgstr "Створити вузол шейдера"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color function."
-msgstr "Перейти до функції"
+msgstr "Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñƒ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Color operator."
-msgstr ""
+msgstr "Оператор кольору."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Grayscale function."
-msgstr "Створити функцію"
+msgstr "Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð²Ñ–Ð´Ñ‚Ñ–Ð½ÐºÑ–Ð² Ñірого."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr ""
+msgstr "Перетворює вектор HSV на еквівалентний колір RGB."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr ""
+msgstr "Перетворює вектор RGB на еквівалентний колір HSV."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Sepia function."
-msgstr "Перейменувати функцію"
+msgstr "Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ñепії."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Burn operator."
-msgstr ""
+msgstr "Оператор вигорÑннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Darken operator."
-msgstr ""
+msgstr "Оператор затемненнÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Difference operator."
-msgstr "Тільки відмінноÑті"
+msgstr "Оператор різниці."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
-msgstr ""
+msgstr "Оператор виÑвітленнÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "HardLight operator"
-msgstr ""
+msgstr "Оператор ÑÑкравого Ñвітла"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Lighten operator."
-msgstr ""
+msgstr "Оператор оÑвітленнÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Overlay operator."
-msgstr ""
+msgstr "Оператор накладаннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Screen operator."
-msgstr ""
+msgstr "Оператор екрана."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "SoftLight operator."
-msgstr ""
+msgstr "Оператор розÑÑ–Ñного."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "Сталий"
+msgstr "Сталий колір."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "ЗнÑти перетвореннÑ"
+msgstr "Однорідний колір."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided scalars are equal, greater or "
"less."
msgstr ""
+"Повертає пов'Ñзаний вектор, Ñкщо задані ÑкалÑрні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” рівними, "
+"більшими або меншими одне за одне."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns an associated vector if the provided boolean value is true or false."
msgstr ""
+"Повертає пов'Ñзаний вектор за заданим булевим значеннÑм «true» або «false»."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Boolean constant."
-msgstr "Змінити векторну конÑтанту"
+msgstr "Булева Ñтала."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean uniform."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
-msgstr ""
+msgstr "Однорідне булеве."
#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
-msgid "Input parameter."
-msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ предка"
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
+msgid "'%s' input parameter for all shader modes."
+msgstr "Вхідний параметр «uv» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
+msgid "Input parameter."
+msgstr "Вхідний параметр."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr "Вхідний параметр «uv» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr "Вхідний параметр «view» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–Ð² фрагментів та Ñвітла шейдера."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for fragment shader mode."
+msgstr "Вхідний параметр «side» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–Ð² фрагментів шейдера."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for light shader mode."
+msgstr "Вхідний параметр «diffuse» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex shader mode."
+msgstr "Вхідний параметр «custom» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
-msgstr ""
+#, fuzzy
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr "Вхідний параметр «uv» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar function."
-msgstr "Змінити ÑкалÑрну функцію"
+msgstr "СкалÑрна функціÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar operator."
-msgstr "Змінити чиÑловий оператор"
+msgstr "СкалÑрний оператор."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "E constant (2.718282). Represents the base of the natural logarithm."
-msgstr ""
+msgstr "Стала Ойлера (2.718282). Це Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” оÑновою натурального логарифма."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Epsilon constant (0.00001). Smallest possible scalar number."
-msgstr ""
+msgstr "Стала ε (0.00001). Ðайменше можливе ÑкалÑрне чиÑло."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Phi constant (1.618034). Golden ratio."
-msgstr ""
+msgstr "Стала «золотого» перерізу (1.618034)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/4 constant (0.785398) or 45 degrees."
-msgstr ""
+msgstr "Стала Ï€/4 (0.785398), радіанна міра кута у 45 градуÑів."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi/2 constant (1.570796) or 90 degrees."
-msgstr ""
+msgstr "Стала Ï€/2 (1.570796), радіанна міра кута у 90 градуÑів."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Pi constant (3.141593) or 180 degrees."
-msgstr ""
+msgstr "Стала Ï€ (3.141593), радіанна міра кута у 180 градуÑів."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Tau constant (6.283185) or 360 degrees."
-msgstr ""
+msgstr "Стала Ï„ (6.283185), радіанна міра кута у 360 градуÑів."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sqrt2 constant (1.414214). Square root of 2."
-msgstr ""
+msgstr "Квадратний корінь з двох (1.414214)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the absolute value of the parameter."
-msgstr ""
+msgstr "Повертає модуль параметра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-cosine of the parameter."
-msgstr ""
+msgstr "Повертає арккоÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Лише GLES3) Повертає обернений гіперболічний коÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-sine of the parameter."
-msgstr ""
+msgstr "Повертає аркÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Лише GLES3) Повертає обернений гіперболічний ÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameter."
-msgstr ""
+msgstr "Повертає Ð°Ñ€ÐºÑ‚Ð°Ð½Ð³ÐµÐ½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the arc-tangent of the parameters."
-msgstr ""
+msgstr "Повертає Ð°Ñ€ÐºÑ‚Ð°Ð½Ð³ÐµÐ½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð²."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the inverse hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Лише GLES3) Повертає обернений гіперболічний Ñ‚Ð°Ð½Ð³ÐµÐ½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
msgstr ""
+"Знаходить найближче ціле чиÑло, Ñке Ñ” більшим або рівним за Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
+"параметра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Constrains a value to lie between two further values."
-msgstr ""
+msgstr "Обмежує Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶ÐºÐ¾Ð¼ між наÑтупними двома значеннÑми."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the cosine of the parameter."
-msgstr ""
+msgstr "Повертає коÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic cosine of the parameter."
-msgstr ""
+msgstr "(Лише GLES3) Повертає гіперболічний коÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in radians to degrees."
-msgstr ""
+msgstr "Перетворює Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ радіанах на Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ градуÑах."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-e Exponential."
-msgstr ""
+msgstr "Показникова Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ñ–Ð· оÑновою e (екÑпонента)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 Exponential."
-msgstr ""
+msgstr "Показникова Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ñ–Ð· оÑновою 2."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Finds the nearest integer less than or equal to the parameter."
msgstr ""
+"Знаходить найближче ціле чиÑло, Ñке Ñ” меншим або рівним за Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
+"параметра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Computes the fractional part of the argument."
-msgstr ""
+msgstr "ОбчиÑлює дробову чаÑтину аргументу."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the inverse of the square root of the parameter."
-msgstr ""
+msgstr "Повертає одиницю поділену на квадратний корінь з параметра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Natural logarithm."
-msgstr ""
+msgstr "Ðатуральний логарифм."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Base-2 logarithm."
-msgstr ""
+msgstr "Двійковий логарифм."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the greater of two values."
-msgstr ""
+msgstr "Повертає більше із двох значень."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the lesser of two values."
-msgstr ""
+msgstr "Повертає менше з двох значень."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two scalars."
-msgstr ""
+msgstr "Лінійна інтерполÑÑ†Ñ–Ñ Ð²Ñ–Ð´ двох ÑкалÑрних значень."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the opposite value of the parameter."
-msgstr ""
+msgstr "Повертає значеннÑ, Ñке Ñ” протилежним до Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - scalar"
-msgstr ""
+msgstr "1.0 – ÑкалÑÑ€"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the value of the first parameter raised to the power of the second."
msgstr ""
+"Повертає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ параметра, піднеÑене до ÑтепенÑ, Ñкий дорівнює "
+"другому параметру."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts a quantity in degrees to radians."
-msgstr ""
+msgstr "Перетворює Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ градуÑах на Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ радіанах."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / scalar"
-msgstr ""
+msgstr "1.0 / ÑкалÑÑ€"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest integer to the parameter."
-msgstr ""
+msgstr "(Лише GLES3) Знаходить найближче ціле Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾ параметра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the nearest even integer to the parameter."
-msgstr ""
+msgstr "(Лише GLES3) Знаходить найближче парне ціле Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾ параметра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Clamps the value between 0.0 and 1.0."
-msgstr ""
+msgstr "Обмежує Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶ÐºÐ¾Ð¼ від 0.0 до 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Extracts the sign of the parameter."
-msgstr ""
+msgstr "Визначає знак параметра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the sine of the parameter."
-msgstr ""
+msgstr "Повертає ÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic sine of the parameter."
-msgstr ""
+msgstr "(Лише GLES3) Повертає гіперболічний ÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the square root of the parameter."
-msgstr ""
+msgstr "Повертає квадратний корінь з параметра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8546,6 +8259,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð³Ð»Ð°Ð´ÐºÐ¸Ñ… Ñходинок ( ÑкалÑÑ€(межа0), ÑкалÑÑ€(межа1), ÑкалÑÑ€(x) ).\n"
+"\n"
+"Повертає 0.0, Ñкщо «x» Ñ” меншим за «межа0», Ñ– 1.0, Ñкщо «x» Ñ” більшим за "
+"«межа1». У вÑÑ–Ñ… інших випадках буде повернуто значеннÑ, Ñке Ñ” інтерполÑцією "
+"у проміжку від 0.0 до 1.0, Ñку визначено на оÑнові поліномів Ерміта."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8553,71 +8271,69 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"ФункціÑ-Ñходинка ( ÑкалÑÑ€(межа), ÑкалÑÑ€(x) ).\n"
+"\n"
+"Повертає 0.0, Ñкщо «x» Ñ” меншим за «межа». Якщо це не так, повертає 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the tangent of the parameter."
-msgstr ""
+msgstr "Повертає Ñ‚Ð°Ð½Ð³ÐµÐ½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Returns the hyperbolic tangent of the parameter."
-msgstr ""
+msgstr "(Лише GLES3) Повертає гіперболічний Ñ‚Ð°Ð½Ð³ÐµÐ½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Finds the truncated value of the parameter."
-msgstr ""
+msgstr "(Лише GLES3) Визначає обрізане до цілого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds scalar to scalar."
-msgstr ""
+msgstr "Додає ÑкалÑÑ€ до ÑкалÑра."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides scalar by scalar."
-msgstr ""
+msgstr "Ділить ÑкалÑÑ€ на ÑкалÑÑ€."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies scalar by scalar."
-msgstr ""
+msgstr "Множить ÑкалÑÑ€ на ÑкалÑÑ€."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two scalars."
-msgstr ""
+msgstr "Повертає лишок за двома ÑкалÑрами."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts scalar from scalar."
-msgstr ""
+msgstr "Віднімає ÑкалÑÑ€ від ÑкалÑра."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar constant."
-msgstr "Змінити чиÑлову Ñталу"
+msgstr "СкалÑрна Ñтала."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar uniform."
-msgstr "Змінити чиÑлову одиницю"
+msgstr "Однорідний ÑкалÑÑ€."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
-msgstr ""
+msgstr "Виконує пошук кубічної текÑтури."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the texture lookup."
-msgstr ""
+msgstr "Виконує пошук текÑтури."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Cubic texture uniform."
-msgstr "Змінити одиницю текÑтури"
+msgstr "Однорідна кубічна текÑтура."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "2D texture uniform."
-msgstr "Змінити одиницю текÑтури"
+msgstr "Однорідна плаÑка текÑтура."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform function."
-msgstr "Вікно перетвореннÑ..."
+msgstr "Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8629,74 +8345,77 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
+"(Лише GLES3) ОбчиÑлити зовнішній добуток пари векторів.\n"
+"\n"
+"OuterProduct вважає перший параметр, «c», Ñ” вектором-Ñтовпчиком (матрицею із "
+"одного Ñтовпчика) а другий параметр, «r», Ñ” вектором-Ñ€Ñдком (матрицею із "
+"одного Ñ€Ñдка). Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ” Ð¼Ð½Ð¾Ð¶ÐµÐ½Ð½Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†ÑŒ «c * r» так, що утворюєтьÑÑ "
+"Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ Ñ–Ð· кількіÑтю Ñ€Ñдків, Ñка дорівнює кількоÑті компонентів у «c», Ñ– "
+"кількіÑтю Ñтовпчиків, Ñка дорівнює кількоÑті компонентів у «r»."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr ""
+msgstr "Створює Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° оÑнові чотирьох векторів."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
-msgstr ""
+msgstr "Розкладає Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° чотири вектори."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the determinant of a transform."
-msgstr ""
+msgstr "(Лише GLES3) ОбчиÑлює визначник перетвореннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the inverse of a transform."
-msgstr ""
+msgstr "(Лише GLES3) ОбчиÑлює обернену матрицю перетвореннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) Calculates the transpose of a transform."
-msgstr ""
+msgstr "(Лише GLES3) ОбчиÑлює транÑпозицію перетвореннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies transform by transform."
-msgstr ""
+msgstr "Множить Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° перетвореннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by transform."
-msgstr ""
+msgstr "Множить вектор на перетвореннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform constant."
-msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾."
+msgstr "Стала перетвореннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform uniform."
-msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾."
+msgstr "Однорідне перетвореннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector function."
-msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾."
+msgstr "Векторна функціÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector operator."
-msgstr "Змінити векторний оператор"
+msgstr "Векторний оператор."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
-msgstr ""
+msgstr "Створює вектор на оÑнові трьох ÑкалÑрних координат."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr ""
+msgstr "Розкладає вектор на три ÑкалÑрні координати."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
-msgstr ""
+msgstr "ОбчиÑлює векторний добуток двох векторів."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the distance between two points."
-msgstr ""
+msgstr "Повертає відÑтань між точками."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr ""
+msgstr "ОбчиÑлює ÑкалÑрний добуток двох векторів."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8705,36 +8424,42 @@ msgid ""
"incident vector, and Nref, the reference vector. If the dot product of I and "
"Nref is smaller than zero the return value is N. Otherwise -N is returned."
msgstr ""
+"Повертає вектор, Ñкий має такий Ñамий напрÑмок Ñк еталонний вектор. Функції "
+"передаютьÑÑ Ñ‚Ñ€Ð¸ векторних параметри: N — вектор Ð´Ð»Ñ Ð¾Ñ€Ñ–Ñ”Ð½Ñ‚Ð°Ñ†Ñ–Ñ—, I — вектор "
+"падіннÑ, Ñ– Nref — еталонний вектор. Якщо ÑкалÑрний добуток I Ñ– Nref Ñ” "
+"від'ємним, буде повернуто N. У іншому випадку буде повернуто вектор -N."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr ""
+msgstr "ОбчиÑлює довжину вектора."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
-msgstr ""
+msgstr "Лінійна інтерполÑÑ†Ñ–Ñ Ð²Ñ–Ð´ двох векторних значень."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr ""
+msgstr "Повертає нормалізований векторний добуток векторів."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
-msgstr ""
+msgstr "1.0 – вектор"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / vector"
-msgstr ""
+msgstr "1.0 / вектор"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns a vector that points in the direction of reflection ( a : incident "
"vector, b : normal vector )."
msgstr ""
+"Повертає вектор, Ñкий вказує напрÑмок Ð²Ñ–Ð´Ð±Ð¸Ñ‚Ñ‚Ñ ( a — вектор падіннÑ, b — "
+"вектор нормалі )."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns a vector that points in the direction of refraction."
-msgstr ""
+msgstr "Повертає вектор, Ñкий вказує напрÑмок рефракції."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8744,6 +8469,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð³Ð»Ð°Ð´ÐºÐ¸Ñ… Ñходинок ( вектор(межа0), вектор(межа1), вектор(x) ).\n"
+"\n"
+"Повертає 0.0, Ñкщо «x» Ñ” меншим за «межа0», Ñ– 1.0, Ñкщо «x» Ñ” більшим за "
+"«межа1». У вÑÑ–Ñ… інших випадках буде повернуто значеннÑ, Ñке Ñ” інтерполÑцією "
+"у проміжку від 0.0 до 1.0, Ñку визначено на оÑнові поліномів Ерміта."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8753,6 +8483,11 @@ msgid ""
"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
"using Hermite polynomials."
msgstr ""
+"Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð³Ð»Ð°Ð´ÐºÐ¸Ñ… Ñходинок ( ÑкалÑÑ€(межа0), ÑкалÑÑ€(межа1), вектор(x) ).\n"
+"\n"
+"Повертає 0.0, Ñкщо «x» Ñ” меншим за «межа0», Ñ– 1.0, Ñкщо «x» Ñ” більшим за "
+"«межа1». У вÑÑ–Ñ… інших випадках буде повернуто значеннÑ, Ñке Ñ” інтерполÑцією "
+"у проміжку від 0.0 до 1.0, Ñку визначено на оÑнові поліномів Ерміта."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8760,6 +8495,9 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"ФункціÑ-Ñходинка ( вектор(межа), вектор(x) ).\n"
+"\n"
+"Повертає 0.0, Ñкщо «x» Ñ” меншим за «межа». Якщо це не так, повертає 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8767,36 +8505,37 @@ msgid ""
"\n"
"Returns 0.0 if 'x' is smaller then 'edge' and otherwise 1.0."
msgstr ""
+"ФункціÑ-Ñходинка ( ÑкалÑÑ€(межа), вектор(x) ).\n"
+"\n"
+"Повертає 0.0, Ñкщо «x» Ñ” меншим за «межа». Якщо це не так, повертає 1.0."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Adds vector to vector."
-msgstr ""
+msgstr "Додає вектор до вектора."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr ""
+msgstr "Ділить вектор на вектор."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
-msgstr ""
+msgstr "Множить вектор на вектор."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the remainder of the two vectors."
-msgstr ""
+msgstr "Повертає лишок за двома векторами."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Subtracts vector from vector."
-msgstr ""
+msgstr "Віднімає вектор від вектора."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector constant."
-msgstr "Змінити векторну конÑтанту"
+msgstr "Векторна Ñтала."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector uniform."
-msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð´Ð½Ð¾Ñ€Ñ–Ð´Ð½Ð¾Ð³Ð¾."
+msgstr "Однорідний вектор."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -8804,56 +8543,78 @@ msgid ""
"output ports. This is a direct injection of code into the vertex/fragment/"
"light function, do not use it to write the function declarations inside."
msgstr ""
+"Ðетиповий вираз мовою шейдерів Godot із нетиповою кількіÑтю вхідних Ñ– "
+"вихідних портів. Це безпоÑÐµÑ€ÐµÐ´Ð½Ñ Ð²Ñтавка до коду у функцію вершин, "
+"фрагментів або Ñвітла. Ðе викориÑтовуйте це Ð´Ð»Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð½Ñ Ð²Ð±ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ… "
+"оголошень функцій."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
msgstr ""
+"Повертає кут Ð¿Ð°Ð´Ñ–Ð½Ð½Ñ Ð½Ð° оÑнові ÑкалÑрного добутку нормалі до поверхні та "
+"напрÑмку поглÑду камери (функції Ñлід передати відповіді вхідні дані)."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Scalar derivative function."
msgstr ""
+"(Лише GLES3) (лише у режимі фрагментів або Ñвітла) Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ ÑкалÑрної "
+"похідної."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only) (Fragment/Light mode only) Vector derivative function."
msgstr ""
+"(Лише GLES3) (лише у режимі фрагментів або Ñвітла) Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¾Ñ— "
+"похідної."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(Лише GLES3) (лише у режимі фрагментів або Ñвітла) (вектор) Похідна у «x» на "
+"оÑнові локального диференціюваннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'x' using "
"local differencing."
msgstr ""
+"(Лише GLES3) (лише у режимі фрагментів або Ñвітла) (ÑкалÑÑ€) Похідна у «x» на "
+"оÑнові локального диференціюваннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(Лише GLES3) (лише у режимі фрагментів або Ñвітла) (вектор) Похідна у «y» на "
+"оÑнові локального диференціюваннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Derivative in 'y' using "
"local differencing."
msgstr ""
+"(Лише GLES3) (лише у режимі фрагментів або Ñвітла) (ÑкалÑÑ€) Похідна у «y» на "
+"оÑнові локального диференціюваннÑ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Vector) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(Лише GLES3) (лише у режимі фрагментів або Ñвітла) (вектор) Сума похідних за "
+"модулем у «x» та «y»."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"(GLES3 only) (Fragment/Light mode only) (Scalar) Sum of absolute derivative "
"in 'x' and 'y'."
msgstr ""
+"(Лише GLES3) (лише у режимі фрагментів або Ñвітла) Сума похідних за модулем "
+"у «x» та «y»."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "VisualShader"
@@ -8884,7 +8645,7 @@ msgid ""
"Failed to export the project for platform '%s'.\n"
"Export templates seem to be missing or invalid."
msgstr ""
-"Ðе вдалоÑÑ ÐµÐºÑпортувати проект Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ «%s».\n"
+"Ðе вдалоÑÑ ÐµÐºÑпортувати проєкт Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ «%s».\n"
"ЗдаєтьÑÑ, шаблони екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾ або вони Ñ” некоректними."
#: editor/project_export.cpp
@@ -8893,7 +8654,7 @@ msgid ""
"This might be due to a configuration issue in the export preset or your "
"export settings."
msgstr ""
-"Ðе вдалоÑÑ ÐµÐºÑпортувати проект Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ «%s».\n"
+"Ðе вдалоÑÑ ÐµÐºÑпортувати проєкт Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ «%s».\n"
"Причиною може бути помилка у налаштуваннÑÑ… у наборі налаштувань Ð´Ð»Ñ "
"екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ параметрах екÑпортуваннÑ."
@@ -8932,7 +8693,7 @@ msgstr "РеÑурÑи"
#: editor/project_export.cpp
msgid "Export all resources in the project"
-msgstr "ЕкÑпортувати уÑÑ– реÑурÑи у проекті"
+msgstr "ЕкÑпортувати уÑÑ– реÑурÑи у проєкті"
#: editor/project_export.cpp
msgid "Export selected scenes (and dependencies)"
@@ -8961,7 +8722,7 @@ msgstr ""
msgid ""
"Filters to exclude files from project (comma separated, e.g: *.json, *.txt)"
msgstr ""
-"Фільтри Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² з проекту (з відокремленнÑм комами, приклад: *."
+"Фільтри Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² з проєкту (з відокремленнÑм комами, приклад: *."
"json, *.txt)"
#: editor/project_export.cpp
@@ -9038,7 +8799,7 @@ msgstr "ШлÑху не Ñ–Ñнує."
#: editor/project_manager.cpp
msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
-msgstr "Ðекоректний файл проекту «.zip»: у ньому немає файла «project.godot»."
+msgstr "Ðекоректний файл проєкту «.zip»: у ньому немає файла «project.godot»."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
@@ -9050,19 +8811,19 @@ msgstr "Будь лаÑка, виберіть файл «project.godot» або
#: editor/project_manager.cpp
msgid "Directory already contains a Godot project."
-msgstr "У каталозі вже міÑтитьÑÑ Ð¿Ñ€Ð¾ÐµÐºÑ‚ Godot."
+msgstr "У каталозі вже міÑтитьÑÑ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚ Godot."
#: editor/project_manager.cpp
msgid "New Game Project"
-msgstr "Ðовий проект гри"
+msgstr "Ðовий проєкт гри"
#: editor/project_manager.cpp
msgid "Imported Project"
-msgstr "Імпортований проект"
+msgstr "Імпортований проєкт"
#: editor/project_manager.cpp
msgid "Invalid Project Name."
-msgstr "Ðекоректна назва проекту."
+msgstr "Ðекоректна назва проєкту."
#: editor/project_manager.cpp
msgid "Couldn't create folder."
@@ -9074,27 +8835,27 @@ msgstr "У вказаному каталозі вже міÑтитьÑÑ Ñ‚ÐµÐºÐ
#: editor/project_manager.cpp
msgid "It would be a good idea to name your project."
-msgstr "Вам варто дати назву вашому проекту."
+msgstr "Вам варто дати назву вашому проєкту."
#: editor/project_manager.cpp
msgid "Invalid project path (changed anything?)."
-msgstr "Ðекоректний шлÑÑ… до проекту (щоÑÑŒ змінилоÑÑ?)."
+msgstr "Ðекоректний шлÑÑ… до проєкту (щоÑÑŒ змінилоÑÑ?)."
#: editor/project_manager.cpp
msgid ""
"Couldn't load project.godot in project path (error %d). It may be missing or "
"corrupted."
msgstr ""
-"Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ project.godot у каталозі проекту (помилка %d). "
+"Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ project.godot у каталозі проєкту (помилка %d). "
"Можливо, файл вилучено або пошкоджено."
#: editor/project_manager.cpp
msgid "Couldn't edit project.godot in project path."
-msgstr "Ðе вдалоÑÑ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ñ‚Ð¸ project.godot у каталозі проекту."
+msgstr "Ðе вдалоÑÑ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ñ‚Ð¸ project.godot у каталозі проєкту."
#: editor/project_manager.cpp
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:"
@@ -9102,11 +8863,11 @@ msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ такі файли з пакунк
#: editor/project_manager.cpp
msgid "Rename Project"
-msgstr "Перейменувати проект"
+msgstr "Перейменувати проєкт"
#: editor/project_manager.cpp
msgid "Import Existing Project"
-msgstr "Імпортувати наÑвний проект"
+msgstr "Імпортувати наÑвний проєкт"
#: editor/project_manager.cpp
msgid "Import & Edit"
@@ -9114,7 +8875,7 @@ msgstr "Імпортувати та редагувати"
#: editor/project_manager.cpp
msgid "Create New Project"
-msgstr "Створити новий проект"
+msgstr "Створити новий проєкт"
#: editor/project_manager.cpp
msgid "Create & Edit"
@@ -9122,7 +8883,7 @@ msgstr "Створити та змінити"
#: editor/project_manager.cpp
msgid "Install Project:"
-msgstr "Ð’Ñтановити проект:"
+msgstr "Ð’Ñтановити проєкт:"
#: editor/project_manager.cpp
msgid "Install & Edit"
@@ -9130,15 +8891,15 @@ msgstr "Ð’Ñтановити та змінити"
#: editor/project_manager.cpp
msgid "Project Name:"
-msgstr "Ðазва проекту:"
+msgstr "Ðазва проєкту:"
#: editor/project_manager.cpp
msgid "Project Path:"
-msgstr "ШлÑÑ… проекту:"
+msgstr "ШлÑÑ… проєкту:"
#: editor/project_manager.cpp
msgid "Project Installation Path:"
-msgstr "ШлÑÑ… вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ñƒ:"
+msgstr "ШлÑÑ… вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ:"
#: editor/project_manager.cpp
msgid "Renderer:"
@@ -9184,18 +8945,17 @@ msgstr ""
#: editor/project_manager.cpp
msgid "Unnamed Project"
-msgstr "Проект без назви"
+msgstr "Проєкт без назви"
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
-msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ проект у «%s»."
+msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ проєкт у «%s»."
#: editor/project_manager.cpp
msgid "Are you sure to open more than one project?"
-msgstr "Ви Ñправді хочете відкрити декілька проектів одразу?"
+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"
@@ -9207,7 +8967,7 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"У вказаному нижче файлі параметрів проекту не вказано верÑÑ–ÑŽ Godot, за "
+"У вказаному нижче файлі параметрів проєкту не вказано верÑÑ–ÑŽ Godot, за "
"допомогою Ñкої його було Ñтворено.\n"
"\n"
"%s\n"
@@ -9215,10 +8975,9 @@ msgstr ""
"Якщо ви продовжите процедуру його відкриттÑ, дані буде перетворено до "
"формату файла налаштувань поточної верÑÑ–Ñ— Godot.\n"
"ПопередженнÑ: у результаті Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ð¸ втратите можливіÑть Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ "
-"проекту у заÑтарілих верÑÑ–ÑÑ… рушіÑ."
+"проєкту у заÑтарілих верÑÑ–ÑÑ… рушіÑ."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"The following project settings file was generated by an older engine "
"version, and needs to be converted for this version:\n"
@@ -9229,86 +8988,84 @@ msgid ""
"Warning: You won't 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 ""
"The project settings were created by a newer engine version, whose settings "
"are not compatible with this version."
msgstr ""
-"Параметри цього проекту було Ñтворено за допомогою Ñ€ÑƒÑˆÑ–Ñ Ð½Ð¾Ð²Ñ–ÑˆÐ¾Ñ— верÑÑ–Ñ—. Ці "
+"Параметри цього проєкту було Ñтворено за допомогою Ñ€ÑƒÑˆÑ–Ñ Ð½Ð¾Ð²Ñ–ÑˆÐ¾Ñ— верÑÑ–Ñ—. Ці "
"параметри Ñ” неÑуміÑними із верÑією, Ñкою ви зараз кориÑтуєтеÑÑ."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
-"Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити проект: не визначено головної Ñцени.\n"
-"Будь лаÑка, змініть проект, вÑтановивши головну Ñцену у категорії «Програма» "
-"Ñторінки «Параметри проекту»."
+"Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити проєкт: не визначено головної Ñцени.\n"
+"Будь лаÑка, змініть проєкт, вÑтановивши головну Ñцену у категорії «Програма» "
+"Ñторінки «Параметри проєкту»."
#: editor/project_manager.cpp
msgid ""
"Can't run project: Assets need to be imported.\n"
"Please edit the project to trigger the initial import."
msgstr ""
-"Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити проект: Ñлід імпортувати вміÑÑ‚.\n"
-"Будь лаÑка, змініть проект так, щоб увімкнути початкове імпортуваннÑ."
+"Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити проєкт: Ñлід імпортувати вміÑÑ‚.\n"
+"Будь лаÑка, змініть проєкт так, щоб увімкнути початкове імпортуваннÑ."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Are you sure to run %d projects at once?"
-msgstr "Ви Ñправді хочете запуÑтити декілька проектів одночаÑно?"
+msgstr "Ви Ñправді хочете запуÑтити %d проєктів одночаÑно?"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove %d projects from the list?\n"
"The project folders' contents won't be modified."
-msgstr "Вилучити проект зі ÑпиÑку? (ВміÑÑ‚ теки не буде змінено)"
+msgstr ""
+"Вилучити %d проєктів зі ÑпиÑку?\n"
+"ВміÑÑ‚ тек проєктів змінено не буде."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove this project from the list?\n"
"The project folder's contents won't be modified."
-msgstr "Вилучити проект зі ÑпиÑку? (ВміÑÑ‚ теки не буде змінено)"
+msgstr ""
+"Вилучити цей проєкт зі ÑпиÑку?\n"
+"ВміÑÑ‚ теки не буде змінено."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Remove all missing projects from the list? (Folders contents will not be "
"modified)"
-msgstr "Вилучити проект зі ÑпиÑку? (ВміÑÑ‚ теки не буде змінено)"
+msgstr ""
+"Вилучити уÑÑ– проєкти, Ñкі не знайдено, зі ÑпиÑку? (ВміÑÑ‚ тек не буде змінено)"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Language changed.\n"
"The interface will update after restarting the editor or project manager."
msgstr ""
"Змінено мову.\n"
"Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð±ÑƒÐ´Ðµ оновлено під Ñ‡Ð°Ñ Ð½Ð°Ñтупного запуÑку редактора або заÑобу "
-"ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°Ð¼Ð¸."
+"ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ð°Ð¼Ð¸."
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
msgstr ""
-"Ви наказали розпочати ÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ %s тек у пошуках наÑвних проектів Godot. "
-"Підтверджуєте ÑкануваннÑ?"
+"Ви Ñправді хочете виконати пошук у %s теках наÑвних проєктів Godot?\n"
+"Пошук може бути доволі тривалим."
#: editor/project_manager.cpp
msgid "Project Manager"
@@ -9316,7 +9073,7 @@ msgstr "Керівник проекту"
#: editor/project_manager.cpp
msgid "Project List"
-msgstr "СпиÑок проектів"
+msgstr "СпиÑок проєктів"
#: editor/project_manager.cpp
msgid "Scan"
@@ -9328,12 +9085,11 @@ msgstr "Виберіть теку Ð´Ð»Ñ ÑкануваннÑ"
#: editor/project_manager.cpp
msgid "New Project"
-msgstr "Ðовий проект"
+msgstr "Ðовий проєкт"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Remove Missing"
-msgstr "Вилучити точку"
+msgstr "Вилучити пропущене"
#: editor/project_manager.cpp
msgid "Templates"
@@ -9349,16 +9105,15 @@ msgstr "Перезавантажити зараз"
#: editor/project_manager.cpp
msgid "Can't run project"
-msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿ÑƒÑтити проект"
+msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿ÑƒÑтити проєкт"
#: editor/project_manager.cpp
-#, fuzzy
msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
-"Зараз проектів немає.\n"
-"Хочете вивчити проекти офіційних прикладів з бібліотеки даних?"
+"Зараз проєктів немає.\n"
+"Хочете вивчити проєкти офіційних прикладів з бібліотеки даних?"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -9385,9 +9140,8 @@ msgstr ""
"Ñимволів «/», «:», «=», «\\» та «\"»"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "An action with the name '%s' already exists."
-msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð´Ñ–Ñ— «%s» вже Ñ–Ñнує!"
+msgstr "Ð”Ñ–Ñ Ñ–Ð· назвою «%s» вже Ñ–Ñнує."
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
@@ -9595,20 +9349,19 @@ msgstr "Змінено режим Ñ„Ñ–Ð»ÑŒÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»Ñ–"
#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
-msgstr "Параметри проекту (project.godot)"
+msgstr "Параметри проєкту (project.godot)"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "General"
-msgstr "\"Загальне\""
+msgstr "Загальне"
#: editor/project_settings_editor.cpp
msgid "Override For..."
msgstr "Перевизначити на..."
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-#, fuzzy
msgid "The editor must be restarted for changes to take effect."
-msgstr "Щоб зміни набули чинноÑті редактор Ñлід перезапуÑтити"
+msgstr "Щоб зміни набули чинноÑті, редактор Ñлід перезапуÑтити."
#: editor/project_settings_editor.cpp
msgid "Input Map"
@@ -9667,12 +9420,10 @@ msgid "Locales Filter"
msgstr "Фільтр локалізацій"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show All Locales"
msgstr "Показати уÑÑ– локалізації"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show Selected Locales Only"
msgstr "Показати лише позначені локалізації"
@@ -9762,7 +9513,6 @@ msgid "Suffix"
msgstr "СуфікÑ"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Advanced Options"
msgstr "Додаткові параметри"
@@ -10027,9 +9777,8 @@ msgid "User Interface"
msgstr "Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ñ€Ð¸Ñтувача"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Other Node"
-msgstr "Вилучити вузол"
+msgstr "Інший вузол"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -10072,7 +9821,6 @@ msgid "Clear Inheritance"
msgstr "УÑунути уÑпадкуваннÑ"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Open Documentation"
msgstr "Відкрити документацію"
@@ -10081,6 +9829,11 @@ msgid "Add Child Node"
msgstr "Додати дочірній вузол"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Згорнути вÑе"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "Змінити тип"
@@ -10109,7 +9862,8 @@ msgid "Delete (No Confirm)"
msgstr "Вилучити (без підтвердженнÑ)"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "Додати або Ñтворити новий вузол"
#: editor/scene_tree_dock.cpp
@@ -10145,19 +9899,16 @@ msgid "Toggle Visible"
msgstr "Перемкнути видиміÑть"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Unlock Node"
-msgstr "Позначити вузол"
+msgstr "Розблокувати вузол"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Button Group"
-msgstr "Кнопка 7"
+msgstr "Група кнопок"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "(Connecting From)"
-msgstr "Помилка з'єднаннÑ"
+msgstr "(Джерело з'єднаннÑ)"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -10188,9 +9939,8 @@ msgstr ""
"Клацніть, щоб переглÑнути панель груп."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Open Script:"
-msgstr "Відкрити Ñкрипт"
+msgstr "Відкрити Ñкрипт:"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -10241,39 +9991,32 @@ msgid "Select a Node"
msgstr "Виберіть вузол"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is empty."
-msgstr "Порожній шлÑÑ…"
+msgstr "Порожній шлÑÑ…."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Filename is empty."
-msgstr "Ðазва файла Ñ” порожньою"
+msgstr "ÐŸÐ¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° файла."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Path is not local."
-msgstr "ШлÑÑ… не Ñ” локальним"
+msgstr "ШлÑÑ… не Ñ” локальним."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid base path."
-msgstr "Ðекоректний базовий шлÑÑ…"
+msgstr "Ðекоректний базовий шлÑÑ…."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "A directory with the same name exists."
-msgstr "Каталог із такою назвою вже Ñ–Ñнує"
+msgstr "Каталог із такою назвою вже Ñ–Ñнує."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid extension."
-msgstr "Ðекоректний ÑуфікÑ"
+msgstr "Ðекоректний ÑуфікÑ."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Wrong extension chosen."
-msgstr "Вибрано некоректний ÑуфікÑ"
+msgstr "Вибрано некоректний ÑуфікÑ."
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
@@ -10292,7 +10035,6 @@ msgid "N/A"
msgstr "Ð/З"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Open Script / Choose Location"
msgstr "Відкрити Ñкрипт або вибрати міÑце"
@@ -10301,43 +10043,36 @@ msgid "Open Script"
msgstr "Відкрити Ñкрипт"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, it will be reused."
-msgstr "Файл вже Ñ–Ñнує, його буде викориÑтано повторно"
+msgstr "Файл вже Ñ–Ñнує, його буде викориÑтано повторно."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid class name."
-msgstr "Ðекоректна назва клаÑу"
+msgstr "Ðекоректна назва клаÑу."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid inherited parent name or path."
-msgstr "Ðекоректна назва або шлÑÑ… до уÑпадкованого батьківÑького елемента"
+msgstr "Ðекоректна назва або шлÑÑ… до уÑпадкованого батьківÑького елемента."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script is valid."
-msgstr "Скрипт є коректним"
+msgstr "Скрипт є коректним."
#: editor/script_create_dialog.cpp
msgid "Allowed: a-z, A-Z, 0-9 and _"
msgstr "Можна викориÑтовувати: a-z, A-Z, 0-9 Ñ– _"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Built-in script (into scene file)."
-msgstr "Вбудований (до файла Ñцени) Ñкрипт"
+msgstr "Вбудований (до файла Ñцени) Ñкрипт."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will create a new script file."
-msgstr "Створити новий файл Ñкрипту"
+msgstr "Створить файл Ñкрипту."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will load an existing script file."
-msgstr "Завантажити наÑвний файл Ñкрипту"
+msgstr "Завантажити наÑвний файл Ñкрипту."
#: editor/script_create_dialog.cpp
msgid "Language"
@@ -10469,7 +10204,7 @@ msgstr "Ð’Ñтановити з дерева"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
-msgstr ""
+msgstr "ЕкÑпортувати виміри Ñк CSV"
#: editor/settings_config_dialog.cpp
msgid "Erase Shortcut"
@@ -10601,12 +10336,11 @@ msgstr "Бібліотека GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
-msgstr ""
+msgstr "Увімкнений одинак GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Disabled GDNative Singleton"
-msgstr "Вимкнути Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ°"
+msgstr "Вимкнений одинак GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Library"
@@ -10695,9 +10429,8 @@ msgid "GridMap Fill Selection"
msgstr "Вибір Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Paste Selection"
-msgstr "Ð’Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ GridMap"
+msgstr "Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Paint"
@@ -10789,7 +10522,7 @@ msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð²'Ñзку..."
#: modules/mono/editor/godotsharp_editor.cpp
msgid "Generating C# project..."
-msgstr "Створюємо проект C#..."
+msgstr "Створюємо проєкт C#..."
#: modules/mono/editor/godotsharp_editor.cpp
msgid "Failed to create solution."
@@ -10805,7 +10538,7 @@ msgstr "Зроблено"
#: modules/mono/editor/godotsharp_editor.cpp
msgid "Failed to create C# project."
-msgstr "Ðе вдалоÑÑ Ñтворити проект C#."
+msgstr "Ðе вдалоÑÑ Ñтворити проєкт C#."
#: modules/mono/editor/godotsharp_editor.cpp
msgid "Mono"
@@ -10825,7 +10558,7 @@ msgstr "ЗбираннÑ"
#: modules/mono/editor/mono_bottom_panel.cpp
msgid "Build Project"
-msgstr "Зібрати проект"
+msgstr "Зібрати проєкт"
#: modules/mono/editor/mono_bottom_panel.cpp
msgid "View log"
@@ -11124,9 +10857,8 @@ msgid "Available Nodes:"
msgstr "ДоÑтупні вузли:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Select or create a function to edit its graph."
-msgstr "Виберіть або Ñтворіть функцію Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ€Ð°Ñ„Ð°"
+msgstr "Виберіть або Ñтворіть функцію Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ€Ð°Ñ„Ñƒ."
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
@@ -11263,15 +10995,21 @@ msgstr ""
#: platform/android/export/export.cpp
msgid "Custom build requires a valid Android SDK path in Editor Settings."
msgstr ""
+"Ðетипове Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” коректного шлÑху до SDK Ð´Ð»Ñ Android у параметрах "
+"редактора."
#: platform/android/export/export.cpp
msgid "Invalid Android SDK path for custom build in Editor Settings."
msgstr ""
+"Ðекоректний шлÑÑ… до SDK Ð´Ð»Ñ Android Ð´Ð»Ñ Ð½ÐµÑ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñƒ параметрах "
+"редактора."
#: platform/android/export/export.cpp
msgid ""
"Android project is not installed for compiling. Install from Editor menu."
msgstr ""
+"Ð”Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð½Ðµ вÑтановлено проєкт Android. Ð’Ñтановіть його за допомогою "
+"меню редактора."
#: platform/android/export/export.cpp
msgid "Invalid public key for APK expansion."
@@ -11286,6 +11024,9 @@ msgid ""
"Trying to build from a custom built template, but no version info for it "
"exists. Please reinstall from the 'Project' menu."
msgstr ""
+"ÐамагаємоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð½Ð° оÑнові нетипового шаблона збираннÑ, але не "
+"виÑвлено даних щодо верÑÑ–Ñ—. Будь лаÑка, повторно вÑтановіть шаблон за "
+"допомогою меню «Проєкт»."
#: platform/android/export/export.cpp
msgid ""
@@ -11294,20 +11035,29 @@ msgid ""
" Godot Version: %s\n"
"Please reinstall Android build template from 'Project' menu."
msgstr ""
+"ÐевідповідніÑть верÑÑ–Ñ Ð´Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Android:\n"
+" Ð’Ñтановлений шаблон: %s\n"
+" ВерÑÑ–Ñ Godot: %s\n"
+"Будь лаÑка, повторно вÑтановіть шаблон Ð´Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Android за допомогою "
+"меню «Проєкт»."
#: platform/android/export/export.cpp
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "Ð—Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ Android (gradle)"
#: platform/android/export/export.cpp
msgid ""
"Building of Android project failed, check output for the error.\n"
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
+"Ðе вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ Android. ОзнайомтеÑÑ Ñ–Ð· виведеними "
+"даними, щоб визначити причину помилки.\n"
+"Крім того, можете відвідати docs.godotengine.org Ñ– ознайомитиÑÑ Ñ–Ð· "
+"документацією щодо Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Android."
#: platform/android/export/export.cpp
msgid "No build apk generated at: "
-msgstr ""
+msgstr "Ðемає apk Ð´Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñƒ: "
#: platform/iphone/export/export.cpp
msgid "Identifier is missing."
@@ -11340,7 +11090,7 @@ msgstr "У ідентифікаторі має бути принаймні одÐ
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
-"Ðе вказано ідентифікатор команди App Store — проект неможливо налаштувати."
+"Ðе вказано ідентифікатор команди App Store — проєкт неможливо налаштувати."
#: platform/iphone/export/export.cpp
msgid "Invalid Identifier:"
@@ -11608,6 +11358,17 @@ msgstr ""
"Цій кіÑтці бракує належної пози REST. Перейдіть до вузла Skeleton2D Ñ– "
"вÑтановіть Ñ—Ñ—."
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D призначено лише Ð´Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð¸ Ð´Ð»Ñ Ð·Ñ–Ñ‚ÐºÐ½ÐµÐ½ÑŒ похідному "
+"вузлу CollisionObject2D. Будь лаÑка, викориÑтовуйте його Ñк дочірній елемент "
+"Area2D, StaticBody2D, RigidBody2D, KinematicBody2D тощо, щоб надати їм форми."
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11621,37 +11382,32 @@ msgid "ARVRCamera must have an ARVROrigin node as its parent"
msgstr "ARVRCamera повинен мати батьківÑьким вузлом вузол ARVROrigin"
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRController must have an ARVROrigin node as its parent."
-msgstr "ARVRController повинен мати батьківÑьким вузлом вузол ARVROrigin"
+msgstr "ARVRController повинен мати батьківÑьким вузлом вузол ARVROrigin."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The controller ID must not be 0 or this controller won't be bound to an "
"actual controller."
msgstr ""
"Ідентифікатором контролера має бути значеннÑ, Ñке Ñ” відмінним від 0, інакше "
-"цей контролер не буде пов'Ñзано із Ñправжнім елементом керуваннÑ"
+"цей контролер не буде пов'Ñзано із Ñправжнім елементом керуваннÑ."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVRAnchor must have an ARVROrigin node as its parent."
-msgstr "ARVRAnchor повинен мати батьківÑьким вузлом вузол ARVROrigin"
+msgstr "ARVRAnchor повинен мати батьківÑьким вузлом вузол ARVROrigin."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid ""
"The anchor ID must not be 0 or this anchor won't be bound to an actual "
"anchor."
msgstr ""
"Ідентифікатором прив'Ñзки має бути значеннÑ, Ñке Ñ” відмінним від 0, інакше "
-"цю прив'Ñзку не буде пов'Ñзано із Ñправжньою прив'Ñзкою"
+"цю прив'Ñзку не буде пов'Ñзано із Ñправжньою прив'Ñзкою."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "ARVROrigin requires an ARVRCamera child node."
-msgstr "ARVROrigin повинен мати дочірній вузол ARVRCamera"
+msgstr "ARVROrigin повинен мати дочірній вузол ARVRCamera."
#: scene/3d/baked_lightmap.cpp
msgid "%d%%"
@@ -11733,13 +11489,12 @@ msgid "Nothing is visible because no mesh has been assigned."
msgstr "Ðічого не видно, оÑкільки не призначено Ñітки."
#: scene/3d/cpu_particles.cpp
-#, fuzzy
msgid ""
"CPUParticles animation requires the usage of a SpatialMaterial whose "
"Billboard Mode is set to \"Particle Billboard\"."
msgstr ""
-"ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ CPUParticles потребує викориÑÑ‚Ð°Ð½Ð½Ñ SpatialMaterial із увімкненим "
-"параметром «ЧаÑтки дошки»."
+"Ð”Ð»Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ— CPUParticles Ñлід викориÑтовувати SpatialMaterial, режим "
+"Billboard Ñкого Ñлід вÑтановити у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«Particle Billboard»."
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
@@ -11785,13 +11540,12 @@ msgstr ""
"Ðічого не видно, оÑкільки Ñітки не було пов'Ñзано із проходами малюваннÑ."
#: scene/3d/particles.cpp
-#, fuzzy
msgid ""
"Particles animation requires the usage of a SpatialMaterial whose Billboard "
"Mode is set to \"Particle Billboard\"."
msgstr ""
-"ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ Ñ‡Ð°Ñток потребує викориÑÑ‚Ð°Ð½Ð½Ñ SpatialMaterial із увімкненим "
-"параметром «ЧаÑтки дошки»."
+"Ð”Ð»Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ— чаÑток Ñлід викориÑтовувати SpatialMaterial, режим Billboard "
+"Ñкого Ñлід вÑтановити у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«Particle Billboard»."
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -11822,9 +11576,8 @@ msgstr ""
"коректний вузол Spatial."
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "This body will be ignored until you set a mesh."
-msgstr "Це тіло буде проігноровано, аж доки ви не вÑтановите Ñітку"
+msgstr "Це тіло буде проігноровано, аж доки ви не вÑтановите Ñітку."
#: scene/3d/soft_body.cpp
msgid ""
@@ -11918,8 +11671,13 @@ msgid "Pick a color from the screen."
msgstr "Вибрати колір з екрана."
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Raw (Ñирий) режим"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "ВідхиленнÑ"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11932,7 +11690,7 @@ msgstr "Додати поточний колір Ñк шаблон."
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -11942,6 +11700,12 @@ msgstr ""
"Якщо ви не маєте наміру додавати Ñкрипт, будь лаÑка, ÑкориÑтайтеÑÑ Ð·Ð°Ð¼Ñ–Ñть "
"контейнера звичайним вузлом «Control»."
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Увага!"
@@ -11985,7 +11749,7 @@ msgid ""
"Environment -> Default Environment) could not be loaded."
msgstr ""
"Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ типове Ñередовище, Ñк його визначено у параметрах "
-"проекту (Обробка -> Середовище -> Типове Ñередовище)."
+"проєкту (Обробка -> Середовище -> Типове Ñередовище)."
#: scene/main/viewport.cpp
msgid ""
@@ -12037,7 +11801,188 @@ msgstr "Змінні величини можна пов'Ñзувати лише
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Сталі не можна змінювати."
+
+#~ msgid "Enabled Classes"
+#~ msgstr "Увімкнені клаÑи"
+
+#~ msgid "Update Always"
+#~ msgstr "Завжди оновлювати"
+
+#~ msgid "'camera' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «camera» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'inv_camera' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «inv_camera» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'inv_projection' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «inv_projection» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'normal' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «normal» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'projection' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «projection» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'time' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «time» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'viewport_size' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «viewport_size» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'world' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «world» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'alpha' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «alpha» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'color' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «color» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'texture_pixel_size' input parameter for all shader modes."
+#~ msgstr "Вхідний параметр «texture_pixel_size» Ð´Ð»Ñ ÑƒÑÑ–Ñ… режимів шейдера."
+
+#~ msgid "'alpha' input parameter for vertex and fragment shader modes."
+#~ msgstr "Вхідний параметр «alpha» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
+
+#~ msgid "'binormal' input parameter for vertex and fragment shader modes."
+#~ msgstr "Вхідний параметр «binormal» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
+
+#~ msgid "'color' input parameter for vertex and fragment shader modes."
+#~ msgstr "Вхідний параметр «color» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
+
+#~ msgid "'fragcoord' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "Вхідний параметр «fragcoord» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–Ð² фрагментів та Ñвітла шейдера."
+
+#~ msgid "'point_coord' input parameter for fragment shader mode."
+#~ msgstr "Вхідний параметр «point_coord» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ фрагментів шейдера."
+
+#~ msgid "'screen_uv' input parameter for fragment shader mode."
+#~ msgstr "Вхідний параметр «screen_uv» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–Ð² фрагментів шейдера."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader modes."
+#~ msgstr "Вхідний параметр «tangent» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
+
+#~ msgid "'uv2' input parameter for vertex and fragment shader modes."
+#~ msgstr "Вхідний параметр «uv2» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
+
+#~ msgid "'vertex' input parameter for vertex and fragment shader modes."
+#~ msgstr "Вхідний параметр «vertex» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
+
+#~ msgid "'albedo' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «albedo» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'attenuation' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «attenuation» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'light' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «light» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'light_color' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «light_color» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'roughness' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «roughness» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'specular' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «specular» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'transmission' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «transmission» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'modelview' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «modelview» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'point_size' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «point_size» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'tangent' input parameter for vertex and fragment shader mode."
+#~ msgstr "Вхідний параметр «tangent» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
+
+#~ msgid "'light_pass' input parameter for vertex and fragment shader modes."
+#~ msgstr ""
+#~ "Вхідний параметр «light_pass» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин Ñ– фрагментів шейдера."
+
+#~ msgid "'point_coord' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "Вхідний параметр «point_coord» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–Ð² фрагментів та Ñвітла шейдера."
+
+#~ msgid "'screen_pixel_size' input parameter for fragment shader mode."
+#~ msgstr "Вхідний параметр «screen_pixel_size» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ фрагментів шейдера."
+
+#~ msgid "'screen_uv' input parameter for fragment and light shader modes."
+#~ msgstr ""
+#~ "Вхідний параметр «screen_uv» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–Ð² фрагментів та Ñвітла шейдера."
+
+#~ msgid "'light_alpha' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «light_alpha» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'light_height' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «light_height» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'light_uv' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «light_uv» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'light_vec' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «light_vec» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'normal' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «normal» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'shadow_color' input parameter for light shader mode."
+#~ msgstr "Вхідний параметр «shadow_color» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ Ñвітла шейдера."
+
+#~ msgid "'extra' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «extra» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'projection' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «projection» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'vertex' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «vertex» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'world' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «world» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'active' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «active» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'alpha' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «alpha» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'color' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «color» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'custom_alpha' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «custom_alph» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'delta' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «delta» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'emission_transform' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «emission_transform» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'index' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «index» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'lifetime' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «lifetime» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'restart' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «restart» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'time' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «time» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'transform' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «transform» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "'velocity' input parameter for vertex shader mode."
+#~ msgstr "Вхідний параметр «velocity» Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ вершин шейдера."
+
+#~ msgid "Raw Mode"
+#~ msgstr "Raw (Ñирий) режим"
#~ msgid "Path to Node:"
#~ msgstr "ШлÑÑ… до вузла:"
@@ -12583,9 +12528,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "Перемкнути проÑторову видиміÑть"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "Перемкнути видиміÑть CanvasItem"
-
#~ msgid "Condition"
#~ msgstr "Умова"
diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po
index fdf5b30709..6413d52fb1 100644
--- a/editor/translations/ur_PK.po
+++ b/editor/translations/ur_PK.po
@@ -435,6 +435,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr ".تمام کا انتخاب"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1295,7 +1305,7 @@ msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1495,7 +1505,7 @@ msgid "Node Dock"
msgstr "ایکشن منتقل کریں"
#: editor/editor_feature_profile.cpp
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr ""
#: editor/editor_feature_profile.cpp
@@ -1550,7 +1560,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1563,8 +1573,9 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Current Profile"
-msgstr ""
+#, fuzzy
+msgid "Current Profile:"
+msgstr ".تمام کا انتخاب"
#: editor/editor_feature_profile.cpp
msgid "Make Current"
@@ -1586,12 +1597,9 @@ msgid "Export"
msgstr ""
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
-msgstr ""
+#, fuzzy
+msgid "Available Profiles:"
+msgstr ".تمام کا انتخاب"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2613,10 +2621,30 @@ msgid "Editor Layout"
msgstr ""
#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open in an external image editor."
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle System Console"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr ""
@@ -2723,15 +2751,15 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Update Continuously"
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Update When Changed"
msgstr ""
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3023,20 +3051,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5144,6 +5172,13 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6062,10 +6097,19 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6306,11 +6350,6 @@ msgstr ""
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -7880,51 +7919,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -7932,203 +7927,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9771,6 +9590,10 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9800,8 +9623,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "سب سکریپشن بنائیں"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11214,6 +11038,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11461,7 +11292,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11474,12 +11309,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr ""
diff --git a/editor/translations/vi.po b/editor/translations/vi.po
index 54ea3e786e..9ab63cad7c 100644
--- a/editor/translations/vi.po
+++ b/editor/translations/vi.po
@@ -9,12 +9,13 @@
# Tung Le <tungkradle@gmail.com>, 2017.
# 38569459 <xxx38569459@gmail.com>, 2018.
# TyTYct Hihi <tytyct@gmail.com>, 2019.
+# Steve Dang <itsnguu@outlook.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-03-01 11:59+0000\n"
-"Last-Translator: TyTYct Hihi <tytyct@gmail.com>\n"
+"PO-Revision-Date: 2019-07-02 10:49+0000\n"
+"Last-Translator: Steve Dang <itsnguu@outlook.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/"
"godot/vi/>\n"
"Language: vi\n"
@@ -22,7 +23,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.5-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -66,7 +67,7 @@ msgstr ""
#: editor/animation_bezier_editor.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Free"
-msgstr ""
+msgstr "Miễn phí"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
@@ -78,11 +79,11 @@ msgstr ""
#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
msgid "Time:"
-msgstr ""
+msgstr "Thá»i gian:"
#: editor/animation_bezier_editor.cpp
msgid "Value:"
-msgstr ""
+msgstr "Giá trị:"
#: editor/animation_bezier_editor.cpp
#, fuzzy
@@ -193,11 +194,11 @@ msgstr "Phóng Animation."
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Functions:"
-msgstr ""
+msgstr "Hàm:"
#: editor/animation_track_editor.cpp
msgid "Audio Clips:"
-msgstr ""
+msgstr "Âm thanh:"
#: editor/animation_track_editor.cpp
msgid "Anim Clips:"
@@ -264,9 +265,8 @@ msgid "Linear"
msgstr "Tịnh tuyến"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Cubic"
-msgstr "Bậc ba"
+msgstr "Khối"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
@@ -279,32 +279,27 @@ msgstr ""
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr "Chèn Key"
+msgstr "Chèn khoá"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Duplicate Key(s)"
-msgstr "Nhân đôi Các Key của Animation"
+msgstr "Nhân bản các khoá hoạt ảnh"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Delete Key(s)"
-msgstr "Xóa phím Anim"
+msgstr "Xoá khoá hoạt ảnh"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Update Mode"
-msgstr "Äổi độ dài Anim"
+msgstr "Äổi chế độ cập nhật hoạt ảnh"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Interpolation Mode"
-msgstr "Äổi độ dài Anim"
+msgstr "Äổi chế độ ná»™i suy hoạt ảnh"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Loop Mode"
-msgstr "Äổi vòng lặp Anim"
+msgstr "Äổi chế độ vòng lặp hoạt ảnh"
#: editor/animation_track_editor.cpp
msgid "Remove Anim Track"
@@ -335,11 +330,11 @@ msgstr "Chèn Anim"
#: editor/animation_track_editor.cpp
msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
+msgstr "AnimationPlayer không thể tự tạo hoạt ảnh, chỉ các player khác."
#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
-msgstr "Tạo & Chèn Anim"
+msgstr "Tạo & Chèn Hoạt ảnh"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
@@ -350,14 +345,12 @@ msgid "Anim Insert Key"
msgstr "Chèn Key Anim"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Step"
-msgstr "Äổi vòng lặp Anim"
+msgstr "Äổi các bước hoạt ảnh"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Rearrange Tracks"
-msgstr "Sắp xếp lại Autoloads"
+msgstr "Sắp xếp lại Tracks"
#: editor/animation_track_editor.cpp
msgid "Transform tracks only apply to Spatial-based nodes."
@@ -421,15 +414,15 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
-msgstr "Di chuyển các Key Anim"
+msgstr "Di chuyển các khoá hoạt cảnh"
#: editor/animation_track_editor.cpp
msgid "Clipboard is empty"
-msgstr ""
+msgstr "Clipboard rá»—ng"
#: editor/animation_track_editor.cpp
msgid "Paste Tracks"
-msgstr ""
+msgstr "Dán Tracks"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -456,9 +449,19 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
+msgstr "Cảnh bảo: Chỉnh sửa hoạt ảnh đã nhập"
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
msgstr ""
#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "Chế độ chá»n"
+
+#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -478,7 +481,7 @@ msgstr "Phóng Animation."
#: editor/animation_track_editor.cpp
msgid "Seconds"
-msgstr ""
+msgstr "Giây"
#: editor/animation_track_editor.cpp
msgid "FPS"
@@ -491,12 +494,11 @@ msgstr ""
#: editor/project_manager.cpp editor/project_settings_editor.cpp
#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
msgid "Edit"
-msgstr ""
+msgstr "Chỉnh sửa"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation properties."
-msgstr "Phóng Animation."
+msgstr "Thuộc tính hoạt cảnh."
#: editor/animation_track_editor.cpp
msgid "Copy Tracks"
@@ -605,7 +607,7 @@ msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Copy"
-msgstr "Copy"
+msgstr "Sao chép"
#: editor/animation_track_editor_plugins.cpp
#, fuzzy
@@ -672,7 +674,7 @@ msgstr "Chỉ lá»±a chá»n"
#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/text_editor.cpp
msgid "Standard"
-msgstr ""
+msgstr "Chuẩn"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
@@ -692,11 +694,11 @@ msgstr "Äặt lại phóng"
#: editor/code_editor.cpp modules/mono/editor/mono_bottom_panel.cpp
msgid "Warnings"
-msgstr ""
+msgstr "Cảnh báo"
#: editor/code_editor.cpp
msgid "Line and column numbers."
-msgstr ""
+msgstr "Số dòng và cột."
#: editor/connections_dialog.cpp
#, fuzzy
@@ -729,7 +731,7 @@ msgstr "Äang kết nối Signal:"
#: editor/connections_dialog.cpp
msgid "Scene does not contain any script."
-msgstr ""
+msgstr "Cảnh không chứa mã lệnh."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -759,7 +761,7 @@ msgstr ""
#: editor/connections_dialog.cpp
msgid "Advanced"
-msgstr ""
+msgstr "Nâng cao"
#: editor/connections_dialog.cpp
#, fuzzy
@@ -773,16 +775,15 @@ msgstr ""
#: editor/connections_dialog.cpp
msgid "Oneshot"
-msgstr ""
+msgstr "Một lần"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Ngắt kết nối tín hiệu sau lần phát xạ đầu tiên."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "Äang kết nối Signal:"
+msgstr "Không thể kết nối tín hiệu"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -825,19 +826,16 @@ msgid "Disconnect"
msgstr "Hủy kết nối"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect a Signal to a Method"
-msgstr "Äang kết nối Signal:"
+msgstr "Kết nối tín hiệu vào hàm"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Sá»­a Curve đã chá»n"
+msgstr "Chỉnh sửa kết nối:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr "Bạn có chắc muốn xóa bỠtất cả kết nối từ tín hiệu này?"
+msgstr "Bạn muốn xoá tất cả kết nối từ tín hiệu \"%s\"?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
@@ -848,9 +846,8 @@ msgid "Are you sure you want to remove all connections from this signal?"
msgstr "Bạn có chắc muốn xóa bỠtất cả kết nối từ tín hiệu này?"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Disconnect All"
-msgstr "Hủy kết nối"
+msgstr "Hủy kết nối tất cả"
#: editor/connections_dialog.cpp
msgid "Edit..."
@@ -979,11 +976,11 @@ msgstr ""
#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
-msgstr ""
+msgstr "Không thể gỡ bá»:"
#: editor/dependency_editor.cpp
msgid "Error loading:"
-msgstr ""
+msgstr "Lỗi tải nạp:"
#: editor/dependency_editor.cpp
msgid "Load failed due to missing dependencies:"
@@ -1003,11 +1000,11 @@ msgstr ""
#: editor/dependency_editor.cpp
msgid "Errors loading!"
-msgstr ""
+msgstr "Lỗi tải nạp!"
#: editor/dependency_editor.cpp
msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr ""
+msgstr "Xoá vĩnh viễn các đối tượng %d? (Không thể hoàn lại!)"
#: editor/dependency_editor.cpp
#, fuzzy
@@ -1036,27 +1033,27 @@ msgstr ""
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Key"
-msgstr ""
+msgstr "Äổi khoá từ Ä‘iển"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Value"
-msgstr ""
+msgstr "Äổi giá trị từ Ä‘iển"
#: editor/editor_about.cpp
msgid "Thanks from the Godot community!"
-msgstr ""
+msgstr "Cảm ơn từ cộng đồng Godot!"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
-msgstr ""
+msgstr "Äóng góp vào Godot Engine"
#: editor/editor_about.cpp
msgid "Project Founders"
-msgstr ""
+msgstr "Sáng lập dự án"
#: editor/editor_about.cpp
msgid "Lead Developer"
-msgstr ""
+msgstr "Phát triển chính"
#: editor/editor_about.cpp
msgid "Project Manager "
@@ -1116,19 +1113,19 @@ msgstr ""
#: editor/editor_about.cpp
msgid "All Components"
-msgstr ""
+msgstr "Tất cả thành phần"
#: editor/editor_about.cpp
msgid "Components"
-msgstr ""
+msgstr "Thành phần"
#: editor/editor_about.cpp
msgid "Licenses"
-msgstr ""
+msgstr "Các giấy phép"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Error opening package file, not in zip format."
-msgstr ""
+msgstr "Lỗi không thể mở gói, không phải dạng nén."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1136,21 +1133,21 @@ msgstr ""
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Package installed successfully!"
-msgstr ""
+msgstr "Cài đặt gói thành công!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Success!"
-msgstr ""
+msgstr "Thành công!"
#: editor/editor_asset_installer.cpp editor/editor_node.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Install"
-msgstr ""
+msgstr "Cài đặt"
#: editor/editor_asset_installer.cpp
msgid "Package Installer"
-msgstr ""
+msgstr "Gói cài đặt"
#: editor/editor_audio_buses.cpp
msgid "Speakers"
@@ -1158,7 +1155,7 @@ msgstr ""
#: editor/editor_audio_buses.cpp
msgid "Add Effect"
-msgstr ""
+msgstr "Thêm hiệu ứng"
#: editor/editor_audio_buses.cpp
msgid "Rename Audio Bus"
@@ -1206,7 +1203,7 @@ msgstr ""
#: editor/editor_audio_buses.cpp
msgid "Mute"
-msgstr ""
+msgstr "Tắt tiếng"
#: editor/editor_audio_buses.cpp
msgid "Bypass"
@@ -1219,19 +1216,19 @@ msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
-msgstr ""
+msgstr "Nhân bản"
#: editor/editor_audio_buses.cpp
msgid "Reset Volume"
-msgstr ""
+msgstr "Äặt lại âm lượng"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
-msgstr ""
+msgstr "Xoá hiệu ứng"
#: editor/editor_audio_buses.cpp
msgid "Audio"
-msgstr ""
+msgstr "Âm thanh"
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus"
@@ -1271,11 +1268,11 @@ msgstr ""
#: editor/editor_audio_buses.cpp
msgid "There is no '%s' file."
-msgstr ""
+msgstr "Không có tệp tin '%s'."
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
msgid "Layout"
-msgstr ""
+msgstr "Bố trí"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -1293,7 +1290,7 @@ msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
-msgstr ""
+msgstr "Nạp"
#: editor/editor_audio_buses.cpp
msgid "Load an existing Bus Layout."
@@ -1301,7 +1298,7 @@ msgstr ""
#: editor/editor_audio_buses.cpp
msgid "Save As"
-msgstr ""
+msgstr "Lưu thành"
#: editor/editor_audio_buses.cpp
msgid "Save this Bus Layout to a file."
@@ -1309,7 +1306,7 @@ msgstr ""
#: editor/editor_audio_buses.cpp editor/import_dock.cpp
msgid "Load Default"
-msgstr ""
+msgstr "Nạp mặc định"
#: editor/editor_audio_buses.cpp
msgid "Load the default Bus Layout."
@@ -1321,18 +1318,18 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
-msgstr ""
+msgstr "Tên không hợp lệ."
#: editor/editor_autoload_settings.cpp
msgid "Valid characters:"
-msgstr ""
+msgstr "Ký tự hợp lệ:"
#: editor/editor_autoload_settings.cpp
msgid "Must not collide with an existing engine class name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr ""
#: editor/editor_autoload_settings.cpp
@@ -1378,7 +1375,7 @@ msgstr "ÄÆ°á»ng dẫn sai."
#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp
msgid "File does not exist."
-msgstr "File không tồn tại."
+msgstr "Tệp không tồn tại."
#: editor/editor_autoload_settings.cpp
msgid "Not in resource path."
@@ -1408,15 +1405,15 @@ msgstr "Singleton"
#: editor/editor_data.cpp
msgid "Updating Scene"
-msgstr "Cập nhật Scene"
+msgstr "Cập nhật Cảnh"
#: editor/editor_data.cpp
msgid "Storing local changes..."
-msgstr ""
+msgstr "Lưu các thay đổi cục bộ ..."
#: editor/editor_data.cpp
msgid "Updating scene..."
-msgstr "Äang cập nhật scene..."
+msgstr "Äang cập nhật cảnh ..."
#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
@@ -1428,17 +1425,17 @@ msgstr "[chưa save]"
#: editor/editor_dir_dialog.cpp
msgid "Please select a base directory first."
-msgstr ""
+msgstr "Chá»n thư mục cÆ¡ sở đầu tiên."
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
-msgstr ""
+msgstr "Chá»n má»™t Thư mục"
#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
#: editor/filesystem_dock.cpp editor/project_manager.cpp
#: scene/gui/file_dialog.cpp
msgid "Create Folder"
-msgstr "Tạo Folder"
+msgstr "Tạo thư mục"
#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp
@@ -1458,7 +1455,7 @@ msgstr "Chá»n"
#: editor/editor_export.cpp
msgid "Storing File:"
-msgstr ""
+msgstr "Lưu trữ tệp tin:"
#: editor/editor_export.cpp
msgid "No export template found at the expected path:"
@@ -1466,7 +1463,7 @@ msgstr ""
#: editor/editor_export.cpp
msgid "Packing"
-msgstr ""
+msgstr "Äóng gói"
#: editor/editor_export.cpp
msgid ""
@@ -1492,7 +1489,7 @@ msgstr ""
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
msgid "Custom debug template not found."
-msgstr ""
+msgstr "Không tìm thấy mẫu gỡ lỗi tuỳ chỉnh."
#: editor/editor_export.cpp platform/android/export/export.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -1502,202 +1499,181 @@ msgstr ""
#: editor/editor_export.cpp platform/javascript/export/export.cpp
msgid "Template file not found:"
-msgstr ""
+msgstr "Không tìm thấy tệp tin mẫu:"
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
-msgstr ""
+msgstr "Trình chỉnh sửa 3D"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "Tạo Script"
+msgstr "Trình viết mã lệnh"
#: editor/editor_feature_profile.cpp
msgid "Asset Library"
-msgstr ""
+msgstr "Thư viện tài nguyên"
#: editor/editor_feature_profile.cpp
msgid "Scene Tree Editing"
-msgstr ""
+msgstr "Chỉnh sửa cảnh"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "Nhập từ bên ngoài"
+msgstr "Nhập vào"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "Äổi tên"
+msgstr "Nút"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "Quét lại hệ thống tập tin"
+msgid "FileSystem and Import Docks"
+msgstr "Hệ thống tập tin"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "Thay thế tất cả"
+msgstr "Xoá hồ sơ '%s'? (không hoàn tác)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "Hồ sơ có tên hợp lệ và không chứa ký tự '.'"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "Äã có má»™t file hoặc folder trùng tên."
+msgstr "Hồ sơ tên này đã tồn tại."
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(Äã tắt trình chỉnh sá»­a, thuá»™c tính)"
#: editor/editor_feature_profile.cpp
msgid "(Properties Disabled)"
-msgstr ""
+msgstr "(Äã tắt thuá»™c tính)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Chỉnh sửa Variable:"
+msgstr "(Äã tắt trình chỉnh sá»­a)"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "Mô tả:"
+msgstr "Tuỳ chá»n lá»›p:"
#: editor/editor_feature_profile.cpp
msgid "Enable Contextual Editor"
-msgstr ""
+msgstr "Bật trình chỉnh sửa ngữ cảnh"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "Thu gá»n tất cả"
+msgstr "Thuộc tính đã bật:"
#: editor/editor_feature_profile.cpp
msgid "Enabled Features:"
-msgstr ""
+msgstr "Tính năng đã bật:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "Tìm Class"
+msgstr "Lớp đã bật:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "Tệp '%s' định dạng không hợp lệ, huỷ nhập vào."
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
-msgstr ""
+msgstr "Hồ sơ '%s' đã tồn tại. Di chuyển hồ sơ trước khi nhập, huỷ nhập."
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "Lỗi tải font."
+msgstr "Lá»—i khi lưu hồ sÆ¡ đến đưá»ng dẫn: '%s'."
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "BỠđặt"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "Phiên bản hiện tại:"
+msgid "Current Profile:"
+msgstr "Hồ sơ hiện tại"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "Hiện tại:"
+msgstr "Äặt làm hiện tại"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New"
-msgstr ""
+msgstr "Má»›i"
#: editor/editor_feature_profile.cpp editor/editor_node.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Import"
-msgstr "Nhập từ bên ngoài"
+msgstr "Nhập vào"
#: editor/editor_feature_profile.cpp editor/editor_node.cpp
#: editor/project_export.cpp
msgid "Export"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Available Profiles"
-msgstr "Nodes khả dụng:"
+msgstr "Xuất ra"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "Tìm Class"
+msgid "Available Profiles:"
+msgstr "Hồ sơ khả dụng"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "Mô tả:"
+msgstr "Tuỳ chỉnh lớp"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "Tên mới:"
+msgstr "Tên mới hồ sơ:"
#: editor/editor_feature_profile.cpp
msgid "Erase Profile"
-msgstr ""
+msgstr "Xoá hồ sơ"
#: editor/editor_feature_profile.cpp
msgid "Import Profile(s)"
-msgstr ""
+msgstr "Nhập vào hồ sơ"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "Nhập từ Node:"
+msgstr "Xuất hồ sơ"
#: editor/editor_feature_profile.cpp
msgid "Manage Editor Feature Profiles"
-msgstr ""
+msgstr "Quản lý trình tính năng"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
-msgstr "Chá»n Folder hiện tại"
+msgstr "Chá»n thư mục hiện tại"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "File Exists, Overwrite?"
-msgstr "File đã tồn tại, Viết đè?"
+msgstr "Tệp tin tồn tại, ghi đè?"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Select This Folder"
-msgstr "Chá»n folder này"
+msgstr "Chá»n thư mục này"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "Copy Path"
-msgstr "Copy ÄÆ°á»ng dẫn"
+msgstr "Sao chép đưá»ng dẫn"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open in File Manager"
-msgstr "Mở trong Trình quản lí file"
+msgstr "Mở trong trình quản lý tệp tin"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
#: editor/filesystem_dock.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Show in File Manager"
-msgstr "Hiển thị trong Trình quản lí file"
+msgstr "Xem trong trình quản lý tệp"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "New Folder..."
-msgstr "Folder Má»›i..."
+msgstr "Thư mục mới ..."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Refresh"
@@ -1709,25 +1685,23 @@ msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "All Files (*)"
-msgstr "Tất cả Files (*)"
+msgstr "Tất cả tệp tin (*)"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a File"
-msgstr "Mở một File"
+msgstr "Mở một Tệp tin"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open File(s)"
-msgstr "Mở File(s)"
+msgstr "Mở Tệp tin"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a Directory"
-msgstr "Mở má»™t Äịa chỉ"
+msgstr "Mở một thư mục"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File or Directory"
-msgstr "Mở má»™t File hoặc Äịa chỉ"
+msgstr "Mở một tệp tin hoặc thư mục"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
#: editor/editor_properties.cpp editor/inspector_dock.cpp
@@ -1738,7 +1712,7 @@ msgstr "Lưu"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Save a File"
-msgstr "Lưu thành File"
+msgstr "Lưu thành tệp tin"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
@@ -1777,41 +1751,36 @@ msgid "Move Favorite Down"
msgstr "Di chuyển Ưa thích xuống"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Previous Folder"
msgstr "Thư mục trước"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Next Folder"
-msgstr "Tạo Folder"
+msgstr "Thư mục sau"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder."
-msgstr "Äến folder parent"
+msgstr "Äến thư mục cha"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "(Un)favorite current folder."
-msgstr "Không thể tạo folder."
+msgstr "BỠyêu thích thư mục hiện tại."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Toggle visibility of hidden files."
-msgstr "Bật tắt File ẩn"
+msgstr "Bật tắt hiện các tệp tin ẩn."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails."
-msgstr ""
+msgstr "Xem các mục dạng lưới các hình thu nhá»."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "View items as a list."
-msgstr ""
+msgstr "Xem mục dạng danh sách."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
-msgstr "Những địa chỉ & File:"
+msgstr "Các Thư mục và Tệp tin:"
#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
#: editor/plugins/style_box_editor_plugin.cpp
@@ -1821,16 +1790,15 @@ msgstr "Xem thá»­:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "File:"
-msgstr "File"
+msgstr "Tệp tin:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Must use a valid extension."
-msgstr "Phải sử dụng extension có hiệu lực"
+msgstr "Sử dụng phần mở rộng hợp lệ."
#: editor/editor_file_system.cpp
msgid "ScanSources"
-msgstr ""
+msgstr "Quét nguồn"
#: editor/editor_file_system.cpp
msgid ""
@@ -1848,7 +1816,7 @@ msgstr "Trên đầu"
#: editor/editor_help.cpp
msgid "Class:"
-msgstr "Class:"
+msgstr "Lá»›p:"
#: editor/editor_help.cpp editor/scene_tree_editor.cpp
msgid "Inherits:"
@@ -1864,20 +1832,19 @@ msgstr "Mô tả ngắn gá»n:"
#: editor/editor_help.cpp
msgid "Properties"
-msgstr ""
+msgstr "Thuộc tính"
#: editor/editor_help.cpp
msgid "Properties:"
-msgstr ""
+msgstr "Thuộc tính:"
#: editor/editor_help.cpp
msgid "Methods"
-msgstr ""
+msgstr "Hàm"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Methods:"
-msgstr "Äến Method"
+msgstr "Hàm:"
#: editor/editor_help.cpp
msgid "Theme Properties"
@@ -1889,7 +1856,7 @@ msgstr ""
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Signals:"
-msgstr ""
+msgstr "Tín hiệu:"
#: editor/editor_help.cpp
msgid "Enumerations"
@@ -1912,9 +1879,8 @@ msgid "Constants:"
msgstr ""
#: editor/editor_help.cpp
-#, fuzzy
msgid "Class Description"
-msgstr "Mô tả:"
+msgstr "Mô tả lớp:"
#: editor/editor_help.cpp
#, fuzzy
@@ -1923,7 +1889,7 @@ msgstr "Mô tả:"
#: editor/editor_help.cpp
msgid "Online Tutorials:"
-msgstr ""
+msgstr "Hướng dẫn trực tuyến:"
#: editor/editor_help.cpp
msgid ""
@@ -1949,14 +1915,12 @@ msgid ""
msgstr ""
#: editor/editor_help.cpp
-#, fuzzy
msgid "Method Descriptions"
-msgstr "Mô tả:"
+msgstr "Mô tả hàm"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Method Descriptions:"
-msgstr "Mô tả:"
+msgstr "Mô tả hàm:"
#: editor/editor_help.cpp
msgid ""
@@ -1970,67 +1934,60 @@ msgid "Search Help"
msgstr "Tìm sự giúp đỡ"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Display All"
-msgstr "Thay thế tất cả"
+msgstr "Hiển thị tất cả"
#: editor/editor_help_search.cpp
msgid "Classes Only"
-msgstr ""
+msgstr "Chỉ các Lớp"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Methods Only"
-msgstr "Chỉ lá»±a chá»n"
+msgstr "Chỉ các Hàm"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Signals Only"
-msgstr "Tín hiệu"
+msgstr "Chỉ các Tín hiệu"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Constants Only"
-msgstr "Cố định"
+msgstr "Chỉ các Äịnh nghÄ©a"
#: editor/editor_help_search.cpp
msgid "Properties Only"
-msgstr ""
+msgstr "Chỉ các Thuộc tính"
#: editor/editor_help_search.cpp
msgid "Theme Properties Only"
msgstr ""
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Member Type"
-msgstr "Những Thành viên"
+msgstr "Loại"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Class"
-msgstr "Class:"
+msgstr "Lá»›p"
#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
msgid "Property:"
-msgstr ""
+msgstr "Thuộc tính:"
#: editor/editor_inspector.cpp
msgid "Set"
-msgstr ""
+msgstr "Gán"
#: editor/editor_inspector.cpp
msgid "Set Multiple:"
-msgstr ""
+msgstr "Gán nhiá»u:"
#: editor/editor_log.cpp
msgid "Output:"
-msgstr ""
+msgstr "Äầu ra:"
#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Copy Selection"
-msgstr "Di chuyển Lá»±a chá»n"
+msgstr "Sao chép lá»±a chá»n"
#: editor/editor_log.cpp editor/editor_profiler.cpp
#: editor/editor_properties.cpp
@@ -2040,19 +1997,19 @@ msgstr "Di chuyển Lá»±a chá»n"
#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Clear"
-msgstr ""
+msgstr "Xoá"
#: editor/editor_log.cpp
msgid "Clear Output"
-msgstr ""
+msgstr "Xoá đầu ra"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
-msgstr ""
+msgstr "Xuất dự án thất bại với mã lỗi %d."
#: editor/editor_node.cpp
msgid "Imported resources can't be saved."
-msgstr ""
+msgstr "Tài nguyên đã nhập không thể lưu."
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: scene/gui/dialogs.cpp
@@ -2068,30 +2025,32 @@ msgid ""
"This resource can't be saved because it does not belong to the edited scene. "
"Make it unique first."
msgstr ""
+"Tài nguyên này không thể lưu vì nó không thuộc cảnh đã chỉnh sửa. Tạo nó là "
+"duy nhất."
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Save Resource As..."
-msgstr ""
+msgstr "Lưu tài nguyên thành ..."
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
-msgstr ""
+msgstr "Không thể mở tệp để ghi:"
#: editor/editor_node.cpp
msgid "Requested file format unknown:"
-msgstr ""
+msgstr "Tệp yêu cầu có định dạng không xác định:"
#: editor/editor_node.cpp
msgid "Error while saving."
-msgstr ""
+msgstr "Lỗi khi lưu."
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Can't open '%s'. The file could have been moved or deleted."
-msgstr ""
+msgstr "Không thể mở '%s'. Tệp đã được di chuyển hoặc xoá."
#: editor/editor_node.cpp
msgid "Error while parsing '%s'."
-msgstr ""
+msgstr "Lỗi khi đang phân tích '%s'."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
@@ -2103,39 +2062,43 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Error while loading '%s'."
-msgstr ""
+msgstr "Lỗi khi đang nạp '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
-msgstr ""
+msgstr "Lưu cảnh"
#: editor/editor_node.cpp
msgid "Analyzing"
-msgstr ""
+msgstr "Phân tích"
#: editor/editor_node.cpp
msgid "Creating Thumbnail"
-msgstr ""
+msgstr "Tạo hình thu nhá»"
#: editor/editor_node.cpp
msgid "This operation can't be done without a tree root."
-msgstr ""
+msgstr "Hoạt động không thể hoàn tất khi không có nút gốc."
#: editor/editor_node.cpp
msgid ""
"This scene can't be saved because there is a cyclic instancing inclusion.\n"
"Please resolve it and then attempt to save again."
msgstr ""
+"Cảnh này không thể lưu vì đây bao má»™t trưá»ng hợp theo chu kỳ.\n"
+"Giải quyết nó và cố gắng lưu lại."
#: editor/editor_node.cpp
msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
+"Không thể lưu cảnh. Các phần phụ thuá»™c (trưá»ng hợp hoặc kế thừa) không thoả "
+"mãn."
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "Can't overwrite scene that is still open!"
-msgstr ""
+msgstr "Không thể ghi đè cảnh vẫn đang mở!"
#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
@@ -2151,23 +2114,23 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Error saving TileSet!"
-msgstr ""
+msgstr "Lỗi khi lưu các TileSet!"
#: editor/editor_node.cpp
msgid "Error trying to save layout!"
-msgstr ""
+msgstr "Lỗi khi cố gắng lưu bố cục!"
#: editor/editor_node.cpp
msgid "Default editor layout overridden."
-msgstr ""
+msgstr "Bố cục trình biên tập mặc định bị ghi đè."
#: editor/editor_node.cpp
msgid "Layout name not found!"
-msgstr ""
+msgstr "Tên bố cục không tìm thấy!"
#: editor/editor_node.cpp
msgid "Restored default layout to base settings."
-msgstr ""
+msgstr "Äã khôi phục bố cục mặc định cho các thiết lập."
#: editor/editor_node.cpp
msgid ""
@@ -2175,18 +2138,24 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Tài nguyên thuộc vỠcảnh đã nhập, nó không thể chỉnh sửa.\n"
+"Äá»c tài liệu liên quan để cách nhập Cảnh để hiểu rõ quy trình việc này."
#: editor/editor_node.cpp
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
msgstr ""
+"Tài nguyên thuá»™c vá» Cảnh đã Ä‘iá»u chỉnh hoặc kế thừa.\n"
+"Thay đổi với nó sẽ không được giữ khi lưu cảnh hiện tại."
#: editor/editor_node.cpp
msgid ""
"This resource was imported, so it's not editable. Change its settings in the "
"import panel and then re-import."
msgstr ""
+"Tài nguyên đã được nhập vào, không thể chỉnh sửa. Thay đổi cài đặt của nó "
+"trong bảng Nhập vào, sau đó nhập vào lại."
#: editor/editor_node.cpp
msgid ""
@@ -2195,6 +2164,10 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Cảnh này đã được nhập vào, những thay đổi sẽ không được giữ lại.\n"
+"Tạo thực thể nó hoặc kế thừa sẽ cho phép thực hiện các thay đổi.\n"
+"Äá»c tài liệu tài liệu liên quan đến nhập Cảnh để hiểu rõ vá» quy trình việc "
+"này."
#: editor/editor_node.cpp
msgid ""
@@ -2202,18 +2175,20 @@ msgid ""
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
+"Äây là đối được Ä‘iá»u khiển từ xa, những thay đổi sẽ không được giữ lại.\n"
+"Äá»c tài liệu liên quan đến gỡ lá»—i để hiểu rõ quy trình việc này."
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
-msgstr ""
+msgstr "Không có cảnh được xác định để chạy."
#: editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
-msgstr "Scene hiện tại chưa được lưu, hãy lưu nó trước khi chạy."
+msgstr "Cảnh hiện tại chưa được lưu, hãy lưu nó trước khi chạy."
#: editor/editor_node.cpp
msgid "Could not start subprocess!"
-msgstr ""
+msgstr "Không thể bắt đầu quá trình nhá»!"
#: editor/editor_node.cpp editor/filesystem_dock.cpp
msgid "Open Scene"
@@ -2224,9 +2199,8 @@ msgid "Open Base Scene"
msgstr "Mở Scene Mẫu"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "Mở Scene nhanh..."
+msgstr "Mở nhanh ..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2245,13 +2219,12 @@ msgid "Save changes to '%s' before closing?"
msgstr "Lưu thay đổi vào '%s' trước khi đóng?"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Saved %s modified resource(s)."
-msgstr "Lưu animation này"
+msgstr "Äã lưu tài nguyên được sá»­a đổi."
#: editor/editor_node.cpp
msgid "A root node is required to save the scene."
-msgstr ""
+msgstr "Yêu cầu một nút gốc khi lưu cảnh."
#: editor/editor_node.cpp
msgid "Save Scene As..."
@@ -2295,7 +2268,7 @@ msgstr "Scene hiện tại chưa save. Kệ mở luôn?"
#: editor/editor_node.cpp
msgid "Can't reload a scene that was never saved."
-msgstr "Không thể reload má»™t scene mà chưa save bao giá»."
+msgstr "Không thể nạp má»™t cảnh mà chưa lưu bao giá»."
#: editor/editor_node.cpp
#, fuzzy
@@ -2303,9 +2276,8 @@ msgid "Revert"
msgstr "Trở lại"
#: editor/editor_node.cpp
-#, fuzzy
msgid "This action cannot be undone. Revert anyway?"
-msgstr "Hành động này không thể hoàn tác. Kệ trở lại luôn?"
+msgstr "Hành động này không thể hoàn tác. Trở lại luôn?"
#: editor/editor_node.cpp
msgid "Quick Run Scene..."
@@ -2317,11 +2289,11 @@ msgstr "Thoát"
#: editor/editor_node.cpp
msgid "Exit the editor?"
-msgstr "Thoát editor?"
+msgstr "Thoát trình biên tập?"
#: editor/editor_node.cpp
msgid "Open Project Manager?"
-msgstr "Mở Project Manager?"
+msgstr "Mở Quản lý dự án?"
#: editor/editor_node.cpp
msgid "Save & Quit"
@@ -2340,8 +2312,8 @@ msgid ""
"This option is deprecated. Situations where refresh must be forced are now "
"considered a bug. Please report."
msgstr ""
-"Tùy chỉnh này đã quá date. Những tùy huống mà phải bị bắt phải refresh bây "
-"giỠđược xem là lỗi. Xin hãy báo lại."
+"Tùy chỉnh không chấp nhận. Những tình huống mà bắt phải làm mới bây giỠđược "
+"xem là lỗi. Xin hãy báo lại."
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
@@ -2379,22 +2351,24 @@ msgid ""
"Scene '%s' was automatically imported, so it can't be modified.\n"
"To make changes to it, a new inherited scene can be created."
msgstr ""
-"Scene '%s' được load tự động, vì vậy không thể chỉnh sửa.\n"
-"Tạo một scene con để chỉnh sửa."
+"Scene '%s' được nhập tự động, không thể chỉnh sửa.\n"
+"Tạo một cảnh kế thừa để chỉnh sửa."
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
"open the scene, then save it inside the project path."
msgstr ""
+"Lá»—i nạp cảnh, nó phải trong đưá»ng dẫn dá»± án. Sá»­ dụng 'Nhập vào' để mở cảnh, "
+"sau đó lưu lại trong đưá»ng dẫn dá»± án."
#: editor/editor_node.cpp
msgid "Scene '%s' has broken dependencies:"
-msgstr ""
+msgstr "Cảnh '%s' bị há»ng các phụ thuá»™c:"
#: editor/editor_node.cpp
msgid "Clear Recent Scenes"
-msgstr ""
+msgstr "Dá»n các cảnh gần đây"
#: editor/editor_node.cpp
msgid ""
@@ -2402,6 +2376,8 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
+"Không có cảnh chính được xác định, chá»n má»™t cảnh?\n"
+"Bạn có thể thay đổi nó sau trong \"Cài đặt dự án\", nằm trong mục 'ứng dụng'."
#: editor/editor_node.cpp
msgid ""
@@ -2409,6 +2385,8 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
+"Cảnh đã chá»n '%s' không tồn tại, chá»n má»™t cảnh hợp lệ?\n"
+"Bạn có thể thay đổi nó sau trong \"Cài đặt dự án\", nằm trong mục 'ứng dụng'."
#: editor/editor_node.cpp
msgid ""
@@ -2416,67 +2394,66 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
+"Chá»n '%s' không phải má»™t tệp cảnh, chá»n tệp cảnh hợp lệ?\n"
+"Bạn có thể thay đổi nó sau trong \"Cài đặt dự án\", nằm trong mục 'ứng dụng'."
#: editor/editor_node.cpp
msgid "Save Layout"
-msgstr ""
+msgstr "Lưu bố cục"
#: editor/editor_node.cpp
msgid "Delete Layout"
-msgstr ""
+msgstr "Xoá bố cục"
#: editor/editor_node.cpp editor/import_dock.cpp
#: editor/script_create_dialog.cpp
msgid "Default"
-msgstr ""
+msgstr "Mặc định"
#: editor/editor_node.cpp editor/editor_properties.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
-#, fuzzy
msgid "Show in FileSystem"
-msgstr "Quét lại hệ thống tập tin"
+msgstr "Hiện trong Hệ thống tệp tin"
#: editor/editor_node.cpp
msgid "Play This Scene"
-msgstr ""
+msgstr "Chạy cảnh này"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close Tab"
-msgstr "Äóng tất cả Tab"
+msgstr "Äóng Tab"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
-msgstr "Äóng tất cả Tab"
+msgstr "Äóng tất cả Tab khác"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr ""
+msgstr "Äóng các Tab bên phải"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
msgstr "Äóng tất cả"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
-msgstr ""
+msgstr "Chuyển Tab cảnh"
#: editor/editor_node.cpp
msgid "%d more files or folders"
-msgstr ""
+msgstr "%d thêm các tệp hoặc thư mục."
#: editor/editor_node.cpp
msgid "%d more folders"
-msgstr ""
+msgstr "%d thêm các thư mục"
#: editor/editor_node.cpp
msgid "%d more files"
-msgstr ""
+msgstr "%d thêm các tệp tin"
#: editor/editor_node.cpp
msgid "Dock Position"
-msgstr ""
+msgstr "Vị trí Dock"
#: editor/editor_node.cpp
msgid "Distraction Free Mode"
@@ -2488,64 +2465,63 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Add a new scene."
-msgstr "Thêm một scene mới."
+msgstr "Thêm một cảnh mới."
#: editor/editor_node.cpp
msgid "Scene"
-msgstr ""
+msgstr "Phân cảnh"
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
-msgstr ""
+msgstr "Trở vỠcảnh đã mở trước đó."
#: editor/editor_node.cpp
msgid "Next tab"
-msgstr ""
+msgstr "Tab tiếp theo"
#: editor/editor_node.cpp
msgid "Previous tab"
-msgstr ""
+msgstr "Tab trước"
#: editor/editor_node.cpp
msgid "Filter Files..."
-msgstr ""
+msgstr "Lá»c tệp tin ..."
#: editor/editor_node.cpp
msgid "Operations with scene files."
-msgstr ""
+msgstr "Hoạt động với các tệp cảnh."
#: editor/editor_node.cpp
msgid "New Scene"
-msgstr "Tạo Scene Mới"
+msgstr "Tạo Cảnh Mới"
#: editor/editor_node.cpp
msgid "New Inherited Scene..."
-msgstr "Tạo Scene Con..."
+msgstr "Tạo Cảnh Kế thừa..."
#: editor/editor_node.cpp
msgid "Open Scene..."
-msgstr ""
+msgstr "Mở Cảnh ..."
#: editor/editor_node.cpp
msgid "Save Scene"
-msgstr ""
+msgstr "Lưu Cảnh"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save All Scenes"
-msgstr "Lưu Scene với tên..."
+msgstr "Lưu tất cả Cảnh"
#: editor/editor_node.cpp
msgid "Close Scene"
-msgstr ""
+msgstr "Äóng Cảnh"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Open Recent"
-msgstr ""
+msgstr "Mở gần đây"
#: editor/editor_node.cpp
msgid "Convert To..."
-msgstr ""
+msgstr "Chuyển đổi ..."
#: editor/editor_node.cpp
msgid "MeshLibrary..."
@@ -2558,12 +2534,12 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Undo"
-msgstr ""
+msgstr "Hoàn tác"
#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Redo"
-msgstr ""
+msgstr "Làm lại"
#: editor/editor_node.cpp
msgid "Revert Scene"
@@ -2575,7 +2551,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Project"
-msgstr ""
+msgstr "Dự án"
#: editor/editor_node.cpp
msgid "Project Settings"
@@ -2583,35 +2559,36 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Tools"
-msgstr ""
+msgstr "Công cụ"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Project Data Folder"
-msgstr "Chá»n folder này"
+msgstr "Mở thư mục dữ liệu dự án"
#: editor/editor_node.cpp
msgid "Install Android Build Template"
-msgstr ""
+msgstr "Cài đặt mẫu xây dựng Android"
#: editor/editor_node.cpp
msgid "Quit to Project List"
-msgstr ""
+msgstr "Thoát danh sách dự án"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: editor/project_export.cpp
msgid "Debug"
-msgstr ""
+msgstr "Gỡ lỗi"
#: editor/editor_node.cpp
msgid "Deploy with Remote Debug"
-msgstr ""
+msgstr "Triển khai gỡ lỗi từ xa"
#: editor/editor_node.cpp
msgid ""
"When exporting or deploying, the resulting executable will attempt to "
"connect to the IP of this computer in order to be debugged."
msgstr ""
+"Khi xuất ra hoặc triển khai, kết quả thực thi sẽ kết nối đến IP máy tính này "
+"để được gỡ lỗi."
#: editor/editor_node.cpp
msgid "Small Deploy with Network FS"
@@ -2673,25 +2650,47 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Editor"
-msgstr ""
+msgstr "Trình biên tập"
#: editor/editor_node.cpp editor/settings_config_dialog.cpp
msgid "Editor Settings"
-msgstr ""
+msgstr "Cài đặt Trình biên tập"
#: editor/editor_node.cpp
msgid "Editor Layout"
+msgstr "Cài đặt Bố cục"
+
+#: editor/editor_node.cpp
+msgid "Take Screenshot"
msgstr ""
#: editor/editor_node.cpp
-msgid "Toggle Fullscreen"
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "Mở thư mục dữ liệu Trình biên tập"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
msgstr ""
#: editor/editor_node.cpp
-msgid "Open Editor Data/Settings Folder"
+msgid "Open in an external image editor."
msgstr ""
#: editor/editor_node.cpp
+msgid "Toggle Fullscreen"
+msgstr "Chế độ Toàn màn hình"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "Chế độ Phân chia"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data/Settings Folder"
+msgstr "Mở thư mục dữ liệu Trình biên tập"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data Folder"
msgstr ""
@@ -2701,15 +2700,15 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Manage Editor Features"
-msgstr ""
+msgstr "Quản lý tính năng Trình biên tập"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
-msgstr ""
+msgstr "Quản lý mẫu Xuất ra"
#: editor/editor_node.cpp
msgid "Help"
-msgstr ""
+msgstr "Trợ giúp"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -2718,19 +2717,19 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
-msgstr ""
+msgstr "Tìm kiếm"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Online Docs"
-msgstr ""
+msgstr "Tài liệu trực tuyến"
#: editor/editor_node.cpp
msgid "Q&A"
-msgstr ""
+msgstr "Há»i và Äáp"
#: editor/editor_node.cpp
msgid "Issue Tracker"
-msgstr ""
+msgstr "Theo dõi vấn Ä‘á»"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
msgid "Community"
@@ -2738,71 +2737,73 @@ msgstr "Cộng đồng"
#: editor/editor_node.cpp
msgid "About"
-msgstr "Thông tin"
+msgstr "Thông tin chúng tôi"
#: editor/editor_node.cpp
msgid "Play the project."
-msgstr ""
+msgstr "Chạy dự án."
#: editor/editor_node.cpp
msgid "Play"
-msgstr ""
+msgstr "Chạy"
#: editor/editor_node.cpp
msgid "Pause the scene"
-msgstr ""
+msgstr "Tạm dừng cảnh"
#: editor/editor_node.cpp
msgid "Pause Scene"
-msgstr ""
+msgstr "Tạm dừng Cảnh"
#: editor/editor_node.cpp
msgid "Stop the scene."
-msgstr ""
+msgstr "Dừng cảnh."
#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
-msgstr ""
+msgstr "Dừng"
#: editor/editor_node.cpp
msgid "Play the edited scene."
-msgstr ""
+msgstr "Chạy cảnh đã chỉnh sửa."
#: editor/editor_node.cpp
msgid "Play Scene"
-msgstr ""
+msgstr "Chạy Cảnh"
#: editor/editor_node.cpp
msgid "Play custom scene"
-msgstr ""
+msgstr "Chạy cảnh tuỳ chá»n"
#: editor/editor_node.cpp
msgid "Play Custom Scene"
-msgstr ""
+msgstr "Chạy Cảnh Tuỳ Chá»n"
#: editor/editor_node.cpp
msgid "Changing the video driver requires restarting the editor."
-msgstr ""
+msgstr "Thay đổi trình Ä‘iá»u kiển Video, yêu cầu khởi động lại Trình biên tập."
#: editor/editor_node.cpp editor/project_settings_editor.cpp
#: editor/settings_config_dialog.cpp
msgid "Save & Restart"
-msgstr ""
+msgstr "Lưu & Khởi động lại"
#: editor/editor_node.cpp
msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
+#, fuzzy
+msgid "Update Continuously"
+msgstr "Liên tục"
#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
+#, fuzzy
+msgid "Update When Changed"
+msgstr "Äối số đã thay đổi"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -2811,33 +2812,31 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Inspector"
-msgstr ""
+msgstr "Quản lý đối tượng"
#: editor/editor_node.cpp
msgid "Node"
-msgstr ""
+msgstr "Nút"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Expand Bottom Panel"
-msgstr "Mở rộng tất cả"
+msgstr "Mở rá»™ng bảng Ä‘iá»u khiển phía dưới"
#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
-msgstr ""
+msgstr "Äầu ra"
#: editor/editor_node.cpp
msgid "Don't Save"
-msgstr ""
+msgstr "Không Lưu"
#: editor/editor_node.cpp
msgid "Android build template is missing, please install relevant templates."
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "Khung project"
+msgstr "Quản lý Mẫu"
#: editor/editor_node.cpp
msgid ""
@@ -2854,15 +2853,15 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
-msgstr "Nhập Template từ file ZIP"
+msgstr "Nhập mẫu vào từ tệp nén ZIP"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export Project"
-msgstr ""
+msgstr "Xuất dự án ra"
#: editor/editor_node.cpp
msgid "Export Library"
-msgstr ""
+msgstr "Xuất thư viện ra"
#: editor/editor_node.cpp
msgid "Merge With Existing"
@@ -2870,39 +2869,39 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Password:"
-msgstr ""
+msgstr "Mật khẩu:"
#: editor/editor_node.cpp
msgid "Open & Run a Script"
-msgstr ""
+msgstr "Mở & Chạy mã lệnh"
#: editor/editor_node.cpp
msgid "New Inherited"
-msgstr ""
+msgstr "Kế thừa mới"
#: editor/editor_node.cpp
msgid "Load Errors"
-msgstr ""
+msgstr "Nạp Lỗi"
#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Select"
-msgstr ""
+msgstr "Chá»n"
#: editor/editor_node.cpp
msgid "Open 2D Editor"
-msgstr ""
+msgstr "Mở Trình biên tập 2D"
#: editor/editor_node.cpp
msgid "Open 3D Editor"
-msgstr ""
+msgstr "Mở Trình biên tập 3D"
#: editor/editor_node.cpp
msgid "Open Script Editor"
-msgstr ""
+msgstr "Mở Trình biên tập Mã lệnh"
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "Open Asset Library"
-msgstr ""
+msgstr "Mở Thư viện Nguyên liệu"
#: editor/editor_node.cpp
msgid "Open the next Editor"
@@ -2930,33 +2929,33 @@ msgstr ""
#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
-msgstr ""
+msgstr "Cập nhật"
#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
-msgstr ""
+msgstr "Phiên bản:"
#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
-msgstr ""
+msgstr "Tác giả:"
#: editor/editor_plugin_settings.cpp
msgid "Status:"
-msgstr ""
+msgstr "Trạng thái:"
#: editor/editor_plugin_settings.cpp
msgid "Edit:"
-msgstr ""
+msgstr "Sá»­a:"
#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
#: editor/rename_dialog.cpp
msgid "Start"
-msgstr ""
+msgstr "Bắt đầu"
#: editor/editor_profiler.cpp
msgid "Measure:"
-msgstr ""
+msgstr "Äo đạc:"
#: editor/editor_profiler.cpp
msgid "Frame Time (sec)"
@@ -3008,7 +3007,7 @@ msgstr ""
#: editor/editor_properties.cpp
msgid "[Empty]"
-msgstr ""
+msgstr "[Rá»—ng]"
#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
msgid "Assign..."
@@ -3045,15 +3044,15 @@ msgstr ""
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "New Script"
-msgstr ""
+msgstr "Mã lệnh mới"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "New %s"
-msgstr ""
+msgstr "Má»›i %s"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Make Unique"
-msgstr ""
+msgstr "Duy nhất"
#: editor/editor_properties.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
@@ -3067,7 +3066,7 @@ msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Paste"
-msgstr ""
+msgstr "Dán"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Convert To %s"
@@ -3086,28 +3085,28 @@ msgstr ""
#: editor/editor_properties_array_dict.cpp
msgid "Size: "
-msgstr ""
+msgstr "Kích thước: "
#: editor/editor_properties_array_dict.cpp
msgid "Page: "
-msgstr ""
+msgstr "Trang: "
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Gõ bỠMục"
#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
-msgstr ""
+msgstr "Khoá mới:"
#: editor/editor_properties_array_dict.cpp
msgid "New Value:"
-msgstr ""
+msgstr "Giá trị mới:"
#: editor/editor_properties_array_dict.cpp
msgid "Add Key/Value Pair"
-msgstr ""
-
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
+msgstr "Thêm cặp Khoá/Giá trị"
#: editor/editor_run_native.cpp
msgid ""
@@ -3117,7 +3116,7 @@ msgstr ""
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
-msgstr ""
+msgstr "Ghi logic của bạn trong hàm _run()."
#: editor/editor_run_script.cpp
msgid "There is an edited scene already."
@@ -3141,19 +3140,19 @@ msgstr ""
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
-msgstr "Chá»n Node để Nhập"
+msgstr "Chá»n Nút để Nhập"
#: editor/editor_sub_scene.cpp editor/project_manager.cpp
msgid "Browse"
-msgstr ""
+msgstr "Duyệt"
#: editor/editor_sub_scene.cpp
msgid "Scene Path:"
-msgstr ""
+msgstr "ÄÆ°á»ng dẫn Cảnh:"
#: editor/editor_sub_scene.cpp
msgid "Import From Node:"
-msgstr "Nhập từ Node:"
+msgstr "Nhập từ Nút:"
#: editor/export_template_manager.cpp
msgid "Re-Download"
@@ -3161,7 +3160,7 @@ msgstr "Tải lại"
#: editor/export_template_manager.cpp
msgid "Uninstall"
-msgstr ""
+msgstr "Gỡ cài đặt"
#: editor/export_template_manager.cpp
msgid "(Installed)"
@@ -3221,7 +3220,7 @@ msgstr ""
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Can't resolve."
-msgstr ""
+msgstr "Không thể giải quyết."
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3241,16 +3240,16 @@ msgstr "Yêu cầu thất bại."
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Redirect Loop."
-msgstr ""
+msgstr "Chuyển hướng vòng lặp."
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed:"
-msgstr "Thất bại."
+msgstr "Thất bại:"
#: editor/export_template_manager.cpp
msgid "Download Complete."
-msgstr "Tải xong."
+msgstr "Tải xuống xong."
#: editor/export_template_manager.cpp
msgid ""
@@ -3260,7 +3259,7 @@ msgstr ""
#: editor/export_template_manager.cpp
msgid "Error requesting url: "
-msgstr ""
+msgstr "Lá»—i khi yêu cầu đưá»ng dẫn: "
#: editor/export_template_manager.cpp
msgid "Connecting to Mirror..."
@@ -3272,11 +3271,11 @@ msgstr "Äứt kết nối"
#: editor/export_template_manager.cpp
msgid "Resolving"
-msgstr ""
+msgstr "Äang giải quyết"
#: editor/export_template_manager.cpp
msgid "Can't Resolve"
-msgstr ""
+msgstr "Không thể giải quyết"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3285,11 +3284,11 @@ msgstr "Äang kết nối..."
#: editor/export_template_manager.cpp
msgid "Can't Connect"
-msgstr ""
+msgstr "Không thể Kết nối"
#: editor/export_template_manager.cpp
msgid "Connected"
-msgstr ""
+msgstr "Äã kết nối"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3339,7 +3338,7 @@ msgstr ""
#: editor/export_template_manager.cpp
msgid "Download Templates"
-msgstr "Tải Templates"
+msgstr "Tải các Mẫu"
#: editor/export_template_manager.cpp
msgid "Select mirror from list: (Shift+Click: Open in Browser)"
@@ -3364,11 +3363,11 @@ msgstr ""
#: editor/filesystem_dock.cpp
msgid "Cannot move/rename resources root."
-msgstr ""
+msgstr "Không thể di chuyển/đổi tên tài nguyên gốc."
#: editor/filesystem_dock.cpp
msgid "Cannot move a folder into itself."
-msgstr ""
+msgstr "Không thể di chuyển thư mục vào chính nó."
#: editor/filesystem_dock.cpp
msgid "Error moving:"
@@ -3376,72 +3375,67 @@ msgstr "Lỗi di chuyển:"
#: editor/filesystem_dock.cpp
msgid "Error duplicating:"
-msgstr ""
+msgstr "Lỗi nhân bản:"
#: editor/filesystem_dock.cpp
msgid "Unable to update dependencies:"
-msgstr ""
+msgstr "Không thể cập nhật các phần phụ thuộc:"
#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp
msgid "No name provided."
-msgstr ""
+msgstr "Không có tên được cung cấp."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "Tên có kí tự không hợp lệ."
+msgstr "Tên có chứa ký tự không hợp lệ."
#: editor/filesystem_dock.cpp
msgid "Name contains invalid characters."
-msgstr "Tên có kí tự không hợp lệ."
+msgstr "Tên có chứa kí tự không hợp lệ."
#: editor/filesystem_dock.cpp
msgid "A file or folder with this name already exists."
-msgstr "Äã có má»™t file hoặc folder trùng tên."
+msgstr "Äã có má»™t têp tin hoặc thư mục trùng tên."
#: editor/filesystem_dock.cpp
msgid "Renaming file:"
-msgstr "Äổi tên file:"
+msgstr "Äổi tên tệp tin:"
#: editor/filesystem_dock.cpp
msgid "Renaming folder:"
-msgstr "Äổi tên folder:"
+msgstr "Äổi tên thư mục:"
#: editor/filesystem_dock.cpp
msgid "Duplicating file:"
-msgstr "Tạo bản sao file:"
+msgstr "Tạo bản sao tệp tin:"
#: editor/filesystem_dock.cpp
msgid "Duplicating folder:"
-msgstr "Tạo bản sao folder:"
+msgstr "Tạo bản sao thư mục:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Inherited Scene"
-msgstr "Tạo Scene Con..."
+msgstr "Tạo Cảnh kế thừa mới"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scenes"
-msgstr "Mở Scene"
+msgstr "Mở cảnh"
#: editor/filesystem_dock.cpp
msgid "Instance"
-msgstr "Thêm vào scene"
+msgstr "Thêm vào Cảnh"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
-msgstr "Ưa thích:"
+msgstr "Thêm vào Ưa thích"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Remove from Favorites"
-msgstr "Xóa khá»i Nhóm"
+msgstr "Xóa Ưa thích"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
-msgstr "Chỉnh sửa các File phụ thuộc..."
+msgstr "Chỉnh sửa các phần phụ thuộc..."
#: editor/filesystem_dock.cpp
msgid "View Owners..."
@@ -3460,25 +3454,22 @@ msgid "Move To..."
msgstr "Di chuyển đến..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Script..."
-msgstr "Tạo Script"
+msgstr "Tạo Mã lệnh ..."
#: editor/filesystem_dock.cpp
msgid "New Resource..."
-msgstr ""
+msgstr "Tài nguyên mới ..."
#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Expand All"
-msgstr "Mở rộng tất cả"
+msgstr "Mở rộng Tất cả"
#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Collapse All"
-msgstr "Thu gá»n tất cả"
+msgstr "Thu gá»n Tất cả"
#: editor/filesystem_dock.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -3488,79 +3479,72 @@ msgid "Rename"
msgstr "Äổi tên"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Previous Folder/File"
-msgstr "Thư mục trước"
+msgstr "Thư mục/Tệp tin trước"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "Tạo Folder"
+msgstr "Thư mục/Tệp tin tiếp"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
msgstr "Quét lại hệ thống tập tin"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Toggle Split Mode"
-msgstr "Bật tắt Chức năng"
+msgstr "Chế độ Phân chia"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Search files"
-msgstr "Tìm kiếm:"
+msgstr "Tìm kiếm tệp tin"
#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-"Äang quét file,\n"
-"ChỠmôt chút..."
+"Äang quét các tệp tin,\n"
+"ChỠmột chút ..."
#: editor/filesystem_dock.cpp
msgid "Move"
msgstr "Di chuyển"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "There is already file or folder with the same name in this location."
-msgstr "Äã có má»™t file hoặc folder trùng tên."
+msgstr "Äã có tệp tin hoặc thư mục cùng tên tại vị trí này."
#: editor/filesystem_dock.cpp
msgid "Overwrite"
-msgstr ""
+msgstr "Ghi đè"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
-msgstr "Tạo Script"
+msgstr "Tạo Mã lệnh"
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Find in Files"
-msgstr "Tìm..."
+msgstr "Tìm trong các Tệp tin"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Find:"
-msgstr "Tìm tiếp theo"
+msgstr "Tìm:"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Folder:"
-msgstr "Tạo Folder"
+msgstr "Thư mục:"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Filters:"
-msgstr "Lá»c..."
+msgstr "Lá»c:"
#: editor/find_in_files.cpp
msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
msgstr ""
+"Bao gồm các tệp tin với các phần mở rộng sau. Thêm hoặc loại bỠchúng trong "
+"Cài đặt Dự án."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -3569,63 +3553,55 @@ msgstr "Tìm..."
#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
msgid "Replace..."
-msgstr ""
+msgstr "Thay thế ..."
#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
msgid "Cancel"
-msgstr ""
+msgstr "Huá»· bá»"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Find: "
-msgstr "Tìm tiếp theo"
+msgstr "Tìm: "
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace: "
-msgstr "Thay thế"
+msgstr "Thay thế: "
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace all (no undo)"
-msgstr "Thay thế tất cả"
+msgstr "Thay thế tất cả (không hoàn tác)"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Searching..."
-msgstr "Tìm kiếm:"
+msgstr "Äang tìm kiếm ..."
#: editor/find_in_files.cpp
msgid "Search complete"
-msgstr ""
+msgstr "Tìm kiếm hoàn tất"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group name already exists."
-msgstr "LỖI: Tên animation trùng lặp!"
+msgstr "Tên nhóm đã tồn tại."
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Invalid group name."
-msgstr "Kích thước font không hợp lệ."
+msgstr "Tên nhóm không hợp lệ."
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
-msgstr ""
+msgstr "Nhóm"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes not in Group"
-msgstr "Thêm vào Nhóm"
+msgstr "Nút không trong Nhóm"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
msgid "Filter nodes"
-msgstr ""
+msgstr "Lá»c các nút"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Nodes in Group"
-msgstr "Thêm vào Nhóm"
+msgstr "Các nút trong Nhóm"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -3637,43 +3613,43 @@ msgstr "Xóa khá»i Nhóm"
#: editor/groups_editor.cpp
msgid "Manage Groups"
-msgstr ""
+msgstr "Quản lý Nhóm"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
-msgstr ""
+msgstr "Nhập vào Cảnh đơn"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Animations"
-msgstr "Load với các Animation riêng biệt"
+msgstr "Nhập vào với các Hoạt ảnh riêng biệt"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials"
-msgstr "Load với các Material riêng biệt"
+msgstr "Nhập vào với các Material riêng biệt"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects"
-msgstr "Load với các Object riêng biệt"
+msgstr "Nhập vào vá»›i các Äối tượng riêng biệt"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Materials"
-msgstr "Load với các Object+Material riêng biệt"
+msgstr "Nhập vào với các Object+Material riêng biệt"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Animations"
-msgstr "Load với các Object+Animation riêng biệt"
+msgstr "Nhập vào với các Object+Animation riêng biệt"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials+Animations"
-msgstr "Load với Material+Animation riêng biệt"
+msgstr "Nhập vào với Material+Animation riêng biệt"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Materials+Animations"
-msgstr "Load với các Object+Material+Animation riêng biệt"
+msgstr "Nhập vào với các Object+Material+Animation riêng biệt"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes"
-msgstr ""
+msgstr "Nhập vào Nhiá»u cảnh"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes+Materials"
@@ -3714,35 +3690,35 @@ msgstr ""
#: editor/import/resource_importer_scene.cpp
msgid "Saving..."
-msgstr ""
+msgstr "Äang lưu ..."
#: editor/import_dock.cpp
msgid "Set as Default for '%s'"
-msgstr ""
+msgstr "Gán Mặc định cho '%s'"
#: editor/import_dock.cpp
msgid "Clear Default for '%s'"
-msgstr ""
+msgstr "Dá»n Mặc định cho '%s'"
#: editor/import_dock.cpp
msgid " Files"
-msgstr ""
+msgstr " Tệp tin"
#: editor/import_dock.cpp
msgid "Import As:"
-msgstr ""
+msgstr "Nhập vào với:"
#: editor/import_dock.cpp editor/property_editor.cpp
msgid "Preset..."
-msgstr ""
+msgstr "Cài sẵn ..."
#: editor/import_dock.cpp
msgid "Reimport"
-msgstr ""
+msgstr "Nhập vào lại"
#: editor/import_dock.cpp
msgid "Save scenes, re-import and restart"
-msgstr ""
+msgstr "Lưu các cảnh, nhập vào lại và khởi động lại"
#: editor/import_dock.cpp
msgid "Changing the type of an imported file requires editor restart."
@@ -3759,34 +3735,32 @@ msgstr ""
#: editor/inspector_dock.cpp
msgid "Expand All Properties"
-msgstr ""
+msgstr "Mở rộng tất cả"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Collapse All Properties"
msgstr "Thu gá»n tất cả"
#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
msgid "Save As..."
-msgstr ""
+msgstr "Lưu thành ..."
#: editor/inspector_dock.cpp
msgid "Copy Params"
-msgstr ""
+msgstr "Sao chép các đối số"
#: editor/inspector_dock.cpp
msgid "Paste Params"
-msgstr ""
+msgstr "Dán các đối số"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Edit Resource Clipboard"
-msgstr "LỖI: Không có animation trên clipboard!"
+msgstr "Chỉnh sửa Tài nguyên trên Clipboard"
#: editor/inspector_dock.cpp
msgid "Copy Resource"
-msgstr ""
+msgstr "Sao chép Tài nguyên"
#: editor/inspector_dock.cpp
msgid "Make Built-In"
@@ -3798,7 +3772,7 @@ msgstr ""
#: editor/inspector_dock.cpp
msgid "Open in Help"
-msgstr ""
+msgstr "Mở trong Trợ giúp"
#: editor/inspector_dock.cpp
msgid "Create a new resource in memory and edit it."
@@ -3809,9 +3783,8 @@ msgid "Load an existing resource from disk and edit it."
msgstr ""
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Save the currently edited resource."
-msgstr "Lưu animation này"
+msgstr "Lưu tài nguyên đã chỉnh sửa hiện tại."
#: editor/inspector_dock.cpp
msgid "Go to the previous edited object in history."
@@ -3827,15 +3800,15 @@ msgstr ""
#: editor/inspector_dock.cpp
msgid "Object properties."
-msgstr ""
+msgstr "Thuộc tính đối tượng."
#: editor/inspector_dock.cpp
msgid "Filter properties"
-msgstr ""
+msgstr "Lá»c các thuá»™c tính"
#: editor/inspector_dock.cpp
msgid "Changes may be lost!"
-msgstr ""
+msgstr "Các thay đổi có thể mất!"
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
@@ -3860,32 +3833,30 @@ msgstr ""
#: editor/plugin_config_dialog.cpp
msgid "Subfolder:"
-msgstr ""
+msgstr "Thư mục phụ:"
#: editor/plugin_config_dialog.cpp
msgid "Language:"
-msgstr ""
+msgstr "Ngôn ngữ:"
#: editor/plugin_config_dialog.cpp
msgid "Script Name:"
-msgstr ""
+msgstr "Tên Mã lệnh:"
#: editor/plugin_config_dialog.cpp
msgid "Activate now?"
-msgstr ""
+msgstr "Kích hoạt bây gi�"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Create Polygon"
-msgstr "Tạo"
+msgstr "Tạo Polygon"
#: 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."
-msgstr "Tạo Script"
+msgstr "Tạo các điểm."
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid ""
@@ -3893,24 +3864,26 @@ msgid ""
"LMB: Move Point\n"
"RMB: Erase Point"
msgstr ""
+"Chỉnh sửa điểm.\n"
+"LMB: Di chuyển điểm\n"
+"RMB: Xoá điểm"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Erase points."
-msgstr ""
+msgstr "Xoá các điểm."
#: editor/plugins/abstract_polygon_2d_editor.cpp
-#, fuzzy
msgid "Edit Polygon"
-msgstr "Tạo"
+msgstr "Chỉnh sửa Polygon"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Insert Point"
-msgstr ""
+msgstr "Chén điểm"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Edit Polygon (Remove Point)"
-msgstr ""
+msgstr "Sửa Polygon (Gỡ điểm)"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Remove Polygon And Point"
@@ -3929,13 +3902,12 @@ msgstr "Thêm Animation"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Load..."
-msgstr ""
+msgstr "Nạp ..."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Move Node Point"
-msgstr "Di chuyển đến..."
+msgstr "Di chuyển điểm Nút"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#, fuzzy
@@ -3955,15 +3927,13 @@ msgstr ""
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Add Node Point"
-msgstr "Di chuyển đến..."
+msgstr "Thêm điểm Nút"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Add Animation Point"
-msgstr "Thêm Animation"
+msgstr "Thêm điểm Hoạt ảnh"
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Remove BlendSpace1D Point"
@@ -3995,30 +3965,27 @@ msgstr ""
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
msgid "Enable snap and show grid."
-msgstr ""
+msgstr "Kích hoạt Snap và hiện Grid."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Point"
-msgstr ""
+msgstr "Äiểm"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: 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 "Open Animation Node"
-msgstr "Tối ưu Animation"
+msgstr "Mở nút Hoạt ảnh"
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Triangle already exists."
-msgstr "LỖI: Tên animation trùng lặp!"
+msgstr "Tam giác đã tồn tại."
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Add Triangle"
-msgstr "Thêm Biến"
+msgstr "Thêm Tam giác"
#: editor/plugins/animation_blend_space_2d_editor.cpp
#, fuzzy
@@ -4067,16 +4034,16 @@ msgstr ""
#: editor/plugins/animation_blend_space_2d_editor.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
-msgstr ""
+msgstr "Trá»™n:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Parameter Changed"
-msgstr ""
+msgstr "Äối số đã thay đổi"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Filters"
-msgstr ""
+msgstr "Chỉnh sá»­a Lá»c"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Output node can't be added to the blend tree."
@@ -4088,51 +4055,45 @@ msgstr ""
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Node Moved"
-msgstr "Äổi tên"
+msgstr "Äã di chuyển Nút"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Unable to connect, port may be in use or connection may be invalid."
msgstr ""
+"Không thể kết nối, cổng có thể đang được sử dụng hoặc kết nối không hợp lệ."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Nodes Connected"
-msgstr "Äứt kết nối"
+msgstr "Các Nút đã Kết nối"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Nodes Disconnected"
-msgstr "Äứt kết nối"
+msgstr "Các Nút đã ngắt Kết nối"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Set Animation"
-msgstr "Tạo Animation mới"
+msgstr "Gán Hoạt ảnh"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Delete Node"
-msgstr "Xóa Node(s)"
+msgstr "Xoá Nút"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/scene_tree_dock.cpp
msgid "Delete Node(s)"
-msgstr "Xóa Node(s)"
+msgstr "Xoá các Nút"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Filter On/Off"
-msgstr "Bật tắt Ưa thích"
+msgstr "Bá»™ lá»c Bật/Tắt"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Change Filter"
-msgstr "Äổi"
+msgstr "Äổi bá»™ lá»c"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "No animation player set, so unable to retrieve track names."
@@ -4151,14 +4112,13 @@ msgstr ""
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Node Renamed"
-msgstr "Äổi tên"
+msgstr "Nút đã đổi tên"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Add Node..."
-msgstr ""
+msgstr "Thêm Nút ..."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/root_motion_editor_plugin.cpp
@@ -4166,49 +4126,46 @@ msgid "Edit Filtered Tracks:"
msgstr ""
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Enable Filtering"
-msgstr "Äổi"
+msgstr "Kích hoạt lá»c"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
-msgstr ""
+msgstr "Chuyển đổi Tự động chạy"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New Animation Name:"
-msgstr ""
+msgstr "Tên hoạt ảnh mới:"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New Anim"
-msgstr ""
+msgstr "Hoạt ảnh mới"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
-msgstr ""
+msgstr "Äổi tên Hoạt ảnh:"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Delete Animation?"
-msgstr ""
+msgstr "Xoá Hoạt ảnh?"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Remove Animation"
-msgstr "Xóa Animation"
+msgstr "Xoá Hoạt ảnh"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Invalid animation name!"
-msgstr "LỖI: Tên animation không hợp lệ!"
+msgstr "Tên Hoạt ảnh không hợp lệ!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Animation name already exists!"
-msgstr "LỖI: Tên animation trùng lặp!"
+msgstr "Tên Hoạt ảnh đã tồn tại!"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Rename Animation"
-msgstr "Äổi tên Animation"
+msgstr "Äổi tên Hoạt ảnh"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
@@ -4220,58 +4177,55 @@ msgstr "Äổi Thá»i gian Chuyển Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Load Animation"
-msgstr "Load Animation"
+msgstr "Nạp Hoạt ảnh"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
-msgstr "Tạo Animation bản sao"
+msgstr "Nhân bản Hoạt ảnh"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "No animation to copy!"
-msgstr "LỖI: Không có animation để copy!"
+msgstr "Không có hoạt ảnh để sao chép!"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "No animation resource on clipboard!"
-msgstr "LỖI: Không có animation trên clipboard!"
+msgstr "Không có hoạt ảnh trên Clipboard!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
-msgstr "Animation đã Dán"
+msgstr "Äã dán Hoạt ảnh"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Paste Animation"
-msgstr "Dán Animation"
+msgstr "Dán Hoạt ảnh"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "No animation to edit!"
-msgstr "LỖI: Không có animation để chỉnh!"
+msgstr "Không có hoạt ảnh để chỉnh sửa!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
-msgstr "Chạy animation ngược lại từ vị trí hiện tại. (A)"
+msgstr "Chạy hoạt ảnh đã chá»n ngược lại từ vị trí hiện tại. (A)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from end. (Shift+A)"
-msgstr "Chạy animation ngược lại từ cuối. (Shift+A)"
+msgstr "Chạy hoạt ảnh đã chá»n ngược lại từ cuối. (Shift+A)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Stop animation playback. (S)"
-msgstr "Ngưng chạy animation. (S)"
+msgstr "Ngưng chạy hoạt ảnh. (S)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation from start. (Shift+D)"
-msgstr "Chạy animation từ đầu. (Shift+D)"
+msgstr "Chạy hoạt ảnh đã chá»n từ đầu. (Shift+D)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation from current pos. (D)"
-msgstr "Chạy animation từ vị trí hiện tại. (D)"
+msgstr "Chạy hoạt ảnh đã chá»n từ vị trí hiện tại. (D)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation position (in seconds)."
-msgstr "Vị trí animation (đơn vị giây)."
+msgstr "Vị trí hoạt ảnh (giây)."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Scale animation playback globally for the node."
@@ -4279,17 +4233,16 @@ msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Tools"
-msgstr "Các Công cụ Animation"
+msgstr "Công cụ Hoạt ảnh"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Animation"
-msgstr ""
+msgstr "Hoạt ảnh"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Edit Transitions..."
-msgstr "Chuyển tiếp"
+msgstr "Chỉnh sửa Chuyển tiếp ..."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Open in Inspector"
@@ -4297,11 +4250,11 @@ msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
-msgstr "Hiển thị danh sách các animation trong player."
+msgstr "Hiển thị danh sách các hoạt ảnh trong player."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Autoplay on Load"
-msgstr "Tự động chạy khi Load"
+msgstr "Tự động chạy khi nạp"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Enable Onion Skinning"
@@ -4341,9 +4294,8 @@ msgid "3 steps"
msgstr "3 bước"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Differences Only"
-msgstr "Chỉ khác biệt"
+msgstr "Chỉ khác nhau"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Force White Modulate"
@@ -4354,17 +4306,16 @@ msgid "Include Gizmos (3D)"
msgstr "Kèm Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Pin AnimationPlayer"
-msgstr "Dán Animation"
+msgstr "Äính AnimationPlayer"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
-msgstr "Tạo Animation mới"
+msgstr "Tạo Hoạt ảnh mới"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
-msgstr "Tên Animation:"
+msgstr "Tên Hoạt ảnh:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/resource_preloader_editor_plugin.cpp
@@ -4387,27 +4338,25 @@ msgid "Cross-Animation Blend Times"
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Move Node"
-msgstr "Di chuyển Node(s)"
+msgstr "Di chuyển Nút"
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Add Transition"
-msgstr "Chuyển tiếp: "
+msgstr "Thêm Chuyển tiếp"
#: editor/plugins/animation_state_machine_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Node"
-msgstr ""
+msgstr "Thêm Nút"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "End"
-msgstr ""
+msgstr "Cuối"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Immediate"
-msgstr ""
+msgstr "Lập tức"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Sync"
@@ -4430,18 +4379,16 @@ msgid "No playback resource set at path: %s."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Node Removed"
-msgstr "Xóa"
+msgstr "Nút đã được gỡ"
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition Removed"
-msgstr "Chuyển tiếp: "
+msgstr "Chuyển tiếp đã gỡ"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Set Start Node (Autoplay)"
-msgstr ""
+msgstr "Gán Nút bắt đầu (Tự động chạy)"
#: editor/plugins/animation_state_machine_editor.cpp
msgid ""
@@ -4449,30 +4396,31 @@ msgid ""
"RMB to add new nodes.\n"
"Shift+LMB to create connections."
msgstr ""
+"Chá»n và di chuyển các nút.\n"
+"RMB để thêm các nút mới.\n"
+"Shift+LMB để tạo các kết nối."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Create new nodes."
-msgstr "Tạo nodes mới."
+msgstr "Tạo các nút mới."
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Connect nodes."
-msgstr "Kết nối đến Node:"
+msgstr "Kết nối các nút."
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Remove selected node or transition."
-msgstr "Bá» track Ä‘ang chá»n."
+msgstr "Xoá nút và chuyển tiếp đã chá»n."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Toggle autoplay this animation on start, restart or seek to zero."
msgstr ""
-"Bật tắt tự động chạy của animation này khi bắt đầu, khởi động lại hoặc lùi "
-"vá» 0."
+"Chuyển đổi tự động chạy của hoạt ảnh khi bắt đầu, khởi động lại hoặc lùi vỠ"
+"0."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Set the end animation. This is useful for sub-transitions."
-msgstr "Äặt kết thúc animation. Hữu dụng cho sub-transitions."
+msgstr "Äặt kết thúc hoạt ảnh. Hữu dụng cho sub-transitions."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Transition: "
@@ -4481,7 +4429,7 @@ msgstr "Chuyển tiếp: "
#: editor/plugins/animation_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "AnimationTree"
-msgstr "AnimationTree"
+msgstr "Cây Hoạt ảnh"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
@@ -4493,9 +4441,8 @@ msgid "Scale:"
msgstr "Tỷ lệ:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#, fuzzy
msgid "Fade In (s):"
-msgstr "Tăng dần (s):"
+msgstr "MỠdần (s):"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
@@ -4571,13 +4518,12 @@ msgid "Animation tree is invalid."
msgstr "Animation tree vô hiệu."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
-#, fuzzy
msgid "Animation Node"
-msgstr "Animation Node"
+msgstr "Nút Hoạt ảnh"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
-msgstr ""
+msgstr "Nút Chạy một lần"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
@@ -4609,7 +4555,7 @@ msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
-msgstr ""
+msgstr "Nhập vào các hoạt ảnh ..."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
@@ -4633,7 +4579,7 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Connection error, please try again."
-msgstr ""
+msgstr "Kết nỗi lỗi, thử lại."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Can't connect to host:"
@@ -4670,7 +4616,7 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Asset Download Error:"
-msgstr ""
+msgstr "Lỗi tải nguyên liệu:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Downloading (%s / %s)..."
@@ -4702,21 +4648,19 @@ msgstr "Lỗi tải"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download for this asset is already in progress!"
-msgstr ""
+msgstr "Tải xuống nguyên liệu này đã được tiến hành!"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "First"
msgstr "Äầu tiên"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Previous"
-msgstr "Thư mục trước"
+msgstr "Trước đó"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Next"
-msgstr "Tìm tiếp theo"
+msgstr "Tiếp theo"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Last"
@@ -4734,16 +4678,16 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
-msgstr ""
+msgstr "Sắp xếp:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Reverse"
-msgstr ""
+msgstr "Ngược lại"
#: editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_settings_editor.cpp
msgid "Category:"
-msgstr ""
+msgstr "Danh mục:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Site:"
@@ -4751,19 +4695,19 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Support..."
-msgstr ""
+msgstr "Hỗ trợ ..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
-msgstr ""
+msgstr "Chính thức"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Testing"
-msgstr ""
+msgstr "Kiểm tra"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
-msgstr ""
+msgstr "Tệp tin ZIP Nguyên liệu"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid ""
@@ -4789,11 +4733,11 @@ msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
-msgstr ""
+msgstr "Xem thá»­"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Configure Snap"
-msgstr ""
+msgstr "Cấu hình Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Grid Offset:"
@@ -4840,95 +4784,92 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Move pivot"
-msgstr "Di chuyển đến..."
+msgstr "Di chuyển trục"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotate CanvasItem"
-msgstr ""
+msgstr "Xoay CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move anchor"
-msgstr ""
+msgstr "Di chuyển neo"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Resize CanvasItem"
-msgstr ""
+msgstr "Äổi kích thước CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale CanvasItem"
-msgstr ""
+msgstr "Tỉ lệ CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move CanvasItem"
-msgstr ""
+msgstr "Di chuyển CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
"Children of containers have their anchors and margins values overridden by "
"their parent."
msgstr ""
+"Mục con trong thùng chứa có giá trị neo và lỠcủa chúng được ghi đè bởi cha "
+"chúng."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Presets for the anchors and margins values of a Control node."
-msgstr ""
+msgstr "Äặt trước giá trị neo và lá» cá»§a nút Control."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
"When active, moving Control nodes changes their anchors instead of their "
"margins."
msgstr ""
+"Khi hoạt động, các nút Control di chuyển thay đổi các neo thay vì lỠcủa "
+"chúng."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchors only"
-msgstr ""
+msgstr "Chỉ các neo"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors and Margins"
-msgstr ""
+msgstr "Äổi Neo và Lá»"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors"
-msgstr ""
+msgstr "Äổi các Neo"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected"
-msgstr "Xoá lá»±a chá»n"
+msgstr "Khoá lá»±a chá»n"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected"
-msgstr "Xoá lá»±a chá»n"
+msgstr "Mở khoá Lá»±a chá»n"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Di chuyển Lá»±a chá»n"
+msgstr "Nhóm Lá»±a chá»n"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Di chuyển Lá»±a chá»n"
+msgstr "Bá» nhóm đã chá»n"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Custom Bone(s) from Node(s)"
-msgstr "Tạo từ Scene"
+msgstr "Tạo xương tuỳ chỉnh từ Nút"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "Xoá Auto-Advance"
+msgstr "Xoá khung xương"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -4947,21 +4888,20 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom Reset"
-msgstr "Thu nhá»"
+msgstr "Äặt lại Thu phóng"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
-msgstr ""
+msgstr "Chế độ chá»n"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Drag: Rotate"
-msgstr ""
+msgstr "Kéo: Xoay"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+Drag: Move"
-msgstr ""
+msgstr "Alt+Kéo: Di chuyển"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
@@ -4973,16 +4913,15 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Mode"
-msgstr ""
+msgstr "Chế độ Di chuyển"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotate Mode"
-msgstr ""
+msgstr "Chế độ Xoay"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Scale Mode"
-msgstr "Bật tắt Chức năng"
+msgstr "Chế độ Tỉ lệ"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -4990,6 +4929,8 @@ msgid ""
"Show a list of all objects at the position clicked\n"
"(same as Alt+RMB in select mode)."
msgstr ""
+"Hiện thị danh sách tất cả đối tượng có vị trí đã nhấp.\n"
+"(giống Alt+RMB trong chế độ chá»n)."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Click to change object's rotation pivot."
@@ -5005,7 +4946,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Snap"
-msgstr ""
+msgstr "Sử dụng Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snapping Options"
@@ -5013,7 +4954,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to Grid"
-msgstr ""
+msgstr "Snap dạng lưới"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
@@ -5081,9 +5022,8 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Skeleton Options"
-msgstr "Xóa Point"
+msgstr "Cài đặt Khung xương"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
@@ -5100,12 +5040,12 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
-msgstr ""
+msgstr "Hiện thị"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Show Grid"
-msgstr ""
+msgstr "Hiện lưới"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Helpers"
@@ -5113,7 +5053,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Rulers"
-msgstr ""
+msgstr "Hiện thước"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Guides"
@@ -5212,7 +5152,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Create Node"
-msgstr ""
+msgstr "Tạo Nút"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
@@ -5220,7 +5160,6 @@ msgid "Error instancing scene from %s"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Default Type"
msgstr "Äổi dạng mặc định"
@@ -5231,17 +5170,16 @@ msgid ""
msgstr ""
#: editor/plugins/collision_polygon_editor_plugin.cpp
-#, fuzzy
msgid "Create Polygon3D"
-msgstr "Tạo"
+msgstr "Tạo Polygon3D"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly"
-msgstr ""
+msgstr "Sá»­a Poly"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly (Remove Point)"
-msgstr ""
+msgstr "Sửa Poly (Xoá điểm)"
#: editor/plugins/collision_shape_2d_editor_plugin.cpp
msgid "Set Handle"
@@ -5250,7 +5188,7 @@ msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Error loading image:"
-msgstr ""
+msgstr "Lỗi tải nạp hình ảnh:"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -5263,6 +5201,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "Restart ngay"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -5340,14 +5286,12 @@ msgid "Load Curve Preset"
msgstr ""
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
-msgstr "Di chuyển đến..."
+msgstr "Thêm điểm"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
-msgstr "Di chuyển đến..."
+msgstr "Xoá điểm"
#: editor/plugins/curve_editor_plugin.cpp
#, fuzzy
@@ -6184,10 +6128,20 @@ msgid "Find Next"
msgstr "Tìm tiếp theo"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "Lá»c các thuá»™c tính"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "Lá»c các nút"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -6432,11 +6386,6 @@ msgstr ""
msgid "Cut"
msgstr "Cắt"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr ""
@@ -8031,51 +7980,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8083,203 +7988,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9934,6 +9663,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "Thu gá»n Tất cả"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -9963,8 +9697,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "Tạo các nút mới."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11376,6 +11111,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11624,7 +11366,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11637,12 +11383,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "Cảnh báo!"
@@ -11730,6 +11482,9 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Enabled Classes"
+#~ msgstr "Các lớp đã bật"
+
#, fuzzy
#~ msgid "Path to Node:"
#~ msgstr "ÄÆ°á»ng đến Node:"
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index 230854316d..d220c55c0b 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -46,12 +46,13 @@
# qjyqjyqjyqjy <qjyqjyqjyqjy@sina.com.cn>, 2019.
# liushuyu011 <liushuyu011@gmail.com>, 2019.
# DS <dseqrasd@126.com>, 2019.
+# ZeroAurora <zeroaurora@qq.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2019-06-16 19:42+0000\n"
-"Last-Translator: yzt <834950797@qq.com>\n"
+"PO-Revision-Date: 2019-07-02 10:51+0000\n"
+"Last-Translator: ZeroAurora <zeroaurora@qq.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hans/>\n"
"Language: zh_CN\n"
@@ -59,7 +60,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.7-dev\n"
+"X-Generator: Weblate 3.8-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -118,9 +119,8 @@ msgid "Time:"
msgstr "æ—¶é—´:"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Value:"
-msgstr "值"
+msgstr "值:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
@@ -475,6 +475,15 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "全选"
+
+#: editor/animation_track_editor.cpp
+msgid "Select None"
+msgstr "å–æ¶ˆé€‰æ‹©"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "仅显示在树中选择的节点的轨é“。"
@@ -1340,7 +1349,7 @@ msgstr "åç§°éžæ³•,与引擎内置类型å称冲çªã€‚"
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "åç§°éžæ³•,与引擎内置类型å称冲çªã€‚"
#: editor/editor_autoload_settings.cpp
@@ -1527,111 +1536,97 @@ msgid "Script Editor"
msgstr "打开脚本编辑器"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Asset Library"
-msgstr "打开资æºå•†åº—"
+msgstr "资产库"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Scene Tree Editing"
-msgstr "场景树:"
+msgstr "场景树编辑"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Dock"
-msgstr "导入"
+msgstr "坼入颿¿"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Node Dock"
-msgstr "节点已移动"
+msgstr "èŠ‚ç‚¹é¢æ¿"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
-msgstr "文件系统"
+msgid "FileSystem and Import Docks"
+msgstr "æ–‡ä»¶ç³»ç»Ÿé¢æ¿"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase profile '%s'? (no undo)"
-msgstr "全部替æ¢ï¼ˆæ— æ³•撤销)"
+msgstr "删除é…置文件 '%s'? (无法撤销)"
#: editor/editor_feature_profile.cpp
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr ""
+msgstr "é…置文件必须是有效的文件å,并且ä¸èƒ½åŒ…å« '.'"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Profile with this name already exists."
-msgstr "åŒå的文件夹已ç»å­˜åœ¨ã€‚"
+msgstr "åŒåçš„é…置文件已ç»å­˜åœ¨ã€‚"
#: editor/editor_feature_profile.cpp
msgid "(Editor Disabled, Properties Disabled)"
-msgstr ""
+msgstr "(编辑器已ç¦ç”¨ï¼Œå±žæ€§å·²ç¦ç”¨ï¼‰"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "仅属性"
+msgstr "(属性已ç¦ç”¨ï¼‰"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "ç¦ç”¨å‰ªè¾‘"
+msgstr "(编辑器已ç¦ç”¨ï¼‰"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options:"
-msgstr "类说明:"
+msgstr "类选项:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enable Contextual Editor"
-msgstr "打开下一个编辑器"
+msgstr "å¯ç”¨ä¸Šä¸‹æ–‡ç¼–辑器"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Properties:"
-msgstr "属性:"
+msgstr "å¯ç”¨çš„属性:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Features:"
-msgstr "功能"
+msgstr "å¯ç”¨çš„功能:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Enabled Classes:"
-msgstr "æœç´¢ç±»åž‹"
+msgstr "å¯ç”¨çš„类:"
#: editor/editor_feature_profile.cpp
msgid "File '%s' format is invalid, import aborted."
-msgstr ""
+msgstr "文件 '%s' æ ¼å¼æ— æ•ˆï¼Œå¯¼å…¥ä¸­æ­¢ã€‚"
#: editor/editor_feature_profile.cpp
+#, fuzzy
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
-msgstr ""
+msgstr "é…置文件 '%s' 已存在。在导入之å‰é¦–先远程处ç†ï¼Œå¯¼å…¥å·²ä¸­æ­¢ã€‚"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Error saving profile to path: '%s'."
-msgstr "åŠ è½½æ¨¡æ¿ %s 时出错"
+msgstr "å°†é…置文件ä¿å­˜åˆ°è·¯å¾„时出错: '%s'。"
#: editor/editor_feature_profile.cpp
msgid "Unset"
-msgstr ""
+msgstr "未设置"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
-msgstr "当å‰ç‰ˆæœ¬:"
+msgid "Current Profile:"
+msgstr "当å‰é…置文件"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "当å‰:"
+msgstr "设为当å‰"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1650,43 +1645,32 @@ msgstr "导出"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Available Profiles"
-msgstr "有效节点:"
-
-#: editor/editor_feature_profile.cpp
-#, fuzzy
-msgid "Enabled Classes"
-msgstr "æœç´¢ç±»åž‹"
+msgid "Available Profiles:"
+msgstr "å¯ç”¨é…置文件"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Class Options"
-msgstr "类说明"
+msgstr "类选项"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "New profile name:"
-msgstr "æ–°åç§°:"
+msgstr "æ–°çš„é…置文件å称:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Erase Profile"
-msgstr "擦除区域"
+msgstr "删除é…置文件"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Import Profile(s)"
-msgstr "已导入的项目"
+msgstr "导入é…置文件"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Export Profile"
-msgstr "导出项目"
+msgstr "导出é…置文件"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Manage Editor Feature Profiles"
-msgstr "管ç†å¯¼å‡ºæ¨¡æ¿"
+msgstr "管ç†ç¼–辑器功能é…置文件"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -2709,10 +2693,34 @@ msgid "Editor Layout"
msgstr "编辑器布局"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "创建场景根节点"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "打开“编辑器设置/æ•°æ®\"文件夹"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "打开下一个编辑器"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "免屿¨¡å¼"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "切æ¢CanvasItemå¯è§"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "打开“编辑器设置/æ•°æ®\"文件夹"
@@ -2820,15 +2828,18 @@ msgid "Spins when the editor window redraws."
msgstr "编辑器窗å£é‡ç»˜æ—¶æ—‹è½¬ã€‚"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "æŒç»­æ›´æ–°UI"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "连续"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "有更改时更新UI"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "ç¦ç”¨è‡ªåŠ¨æ›´æ–°"
#: editor/editor_node.cpp
@@ -3121,6 +3132,11 @@ msgid "Page: "
msgstr "页: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "移除项目"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "新建帧:"
@@ -3132,11 +3148,6 @@ msgstr "新建值:"
msgid "Add Key/Value Pair"
msgstr "添加帧/值对"
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "移除项目"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -3785,11 +3796,11 @@ msgstr "å¦å­˜ä¸º..."
#: editor/inspector_dock.cpp
msgid "Copy Params"
-msgstr "æ‹·è´å‚æ•°"
+msgstr "å¤åˆ¶å‚æ•°"
#: editor/inspector_dock.cpp
msgid "Paste Params"
-msgstr "粘贴帧"
+msgstr "ç²˜è´´å‚æ•°"
#: editor/inspector_dock.cpp
msgid "Edit Resource Clipboard"
@@ -5247,6 +5258,14 @@ msgid "Load Emission Mask"
msgstr "加载Emission Mask(å‘å°„å±è”½ï¼‰"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "ç«‹å³é‡æ–°å¯åЍ"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr "清除Emission Mask(å‘å°„å±è”½ï¼‰"
@@ -6158,10 +6177,20 @@ msgid "Find Next"
msgstr "查找下一项"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "属性筛选"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr "åˆ‡æ¢æŒ‰å­—æ¯è¡¨æŽ’åºæ–¹å¼æŽ’列方法。"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter methods"
+msgstr "筛选模å¼ï¼š"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "排åº"
@@ -6344,7 +6373,7 @@ msgstr "ä¿¡å·"
#: editor/plugins/script_text_editor.cpp
msgid "Target"
-msgstr "å¹³å°"
+msgstr "构建目标"
#: editor/plugins/script_text_editor.cpp
#, fuzzy
@@ -6406,11 +6435,6 @@ msgstr ""
msgid "Cut"
msgstr "剪切"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "全选"
-
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
msgstr "删除线"
@@ -7817,9 +7841,8 @@ msgid "Scalar"
msgstr "缩放:"
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Vector"
-msgstr "å±žæ€§é¢æ¿"
+msgstr "å‘é‡"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
@@ -8010,51 +8033,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8063,203 +8042,27 @@ msgid "Input parameter."
msgstr "å¸é™„到父节点"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9953,6 +9756,11 @@ msgid "Add Child Node"
msgstr "添加å­èŠ‚ç‚¹"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "全部折å "
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr "更改类型"
@@ -9981,7 +9789,8 @@ msgid "Delete (No Confirm)"
msgstr "确认删除"
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
+#, fuzzy
+msgid "Add/Create a New Node."
msgstr "添加/创建节点"
#: editor/scene_tree_dock.cpp
@@ -11424,6 +11233,16 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr "该骨骼没有一个åˆé€‚çš„ REST 姿势。请到 Skeleton2D 节点中设置一个。"
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D类型节点åªèƒ½ä¸ºCollisionObject2D的派生类æä¾›ç¢°æ’žå½¢çŠ¶æ•°æ®ï¼Œè¯·å°†"
+"其放在Area2Dã€StaticBody2Dã€RigidBody2D或者是KinematicBody2D节点下。"
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11704,8 +11523,13 @@ msgid "Pick a color from the screen."
msgstr "从å±å¹•中选择一ç§é¢œè‰²ã€‚"
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
-msgstr "Raw 模å¼"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "å航"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
@@ -11718,7 +11542,7 @@ msgstr "将当å‰é¢œè‰²æ·»åŠ ä¸ºé¢„è®¾ã€‚"
#: scene/gui/container.cpp
#, fuzzy
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
@@ -11726,6 +11550,12 @@ msgstr ""
"除éžåœ¨è„šæœ¬å†…é…置其å­é¡¹çš„æ”¾ç½®è¡Œä¸ºï¼Œå¦åˆ™å®¹å™¨æœ¬èº«æ²¡æœ‰ç”¨å¤„。\n"
"å¦‚æžœæ‚¨ä¸æ‰“算添加脚本,请使用简å•的“控件â€èŠ‚ç‚¹ã€‚"
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "æç¤ºï¼"
@@ -11817,6 +11647,15 @@ msgstr "å˜é‡åªèƒ½åœ¨é¡¶ç‚¹å‡½æ•°ä¸­æŒ‡å®šã€‚"
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Enabled Classes"
+#~ msgstr "å¯ç”¨çš„ç±»"
+
+#~ msgid "Update Always"
+#~ msgstr "æŒç»­æ›´æ–°UI"
+
+#~ msgid "Raw Mode"
+#~ msgstr "Raw 模å¼"
+
#~ msgid "Path to Node:"
#~ msgstr "节点路径:"
@@ -12374,9 +12213,6 @@ msgstr ""
#~ msgid "Toggle Spatial Visible"
#~ msgstr "切æ¢Spatialå¯è§"
-#~ msgid "Toggle CanvasItem Visible"
-#~ msgstr "切æ¢CanvasItemå¯è§"
-
#~ msgid "Condition"
#~ msgstr "æ¡ä»¶"
@@ -13308,9 +13144,6 @@ msgstr ""
#~ msgid "Images:"
#~ msgstr "图片:"
-#~ msgid "Select None"
-#~ msgstr "å–æ¶ˆé€‰æ‹©"
-
#~ msgid "Group"
#~ msgstr "分组"
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index eea5cd2804..8c021ebf05 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -468,6 +468,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "å…¨é¸"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "ä¸é¸"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr ""
@@ -1381,7 +1391,7 @@ msgstr "有效å稱。"
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "有效å稱。"
#: editor/editor_autoload_settings.cpp
@@ -1597,7 +1607,7 @@ msgstr "移動模å¼"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "檔案系統"
#: editor/editor_feature_profile.cpp
@@ -1657,7 +1667,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1672,7 +1682,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "新增資料夾"
#: editor/editor_feature_profile.cpp
@@ -1695,12 +1705,9 @@ msgid "Export"
msgstr "匯出"
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
-msgid "Enabled Classes"
-msgstr ""
+#, fuzzy
+msgid "Available Profiles:"
+msgstr "篩é¸:"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2793,11 +2800,35 @@ msgid "Editor Layout"
msgstr "編輯器佈局"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "儲存場景"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "編輯器設定"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "è¦é›¢é–‹ç·¨è¼¯å™¨å—Ž?"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "全螢幕"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Toggle System Console"
+msgstr "(ä¸ï¼‰é¡¯ç¤ºéš±è—的文件"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Open Editor Data/Settings Folder"
msgstr "編輯器設定"
@@ -2909,15 +2940,17 @@ msgid "Spins when the editor window redraws."
msgstr ""
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "ä¸åœæ›´æ–°"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "連續"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "當改變時更新"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Hide Update Spinner"
msgstr ""
#: editor/editor_node.cpp
@@ -3220,20 +3253,20 @@ msgid "Page: "
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Key:"
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "New Value:"
+msgid "New Key:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-msgid "Add Key/Value Pair"
+msgid "New Value:"
msgstr ""
#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
+msgid "Add Key/Value Pair"
msgstr ""
#: editor/editor_run_native.cpp
@@ -5452,6 +5485,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "儲存檔案"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6391,11 +6432,21 @@ msgid "Find Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "篩é¸:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
+msgid "Filter methods"
+msgstr "篩é¸:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Sort"
msgstr "排åºï¼š"
@@ -6649,11 +6700,6 @@ msgstr ""
msgid "Cut"
msgstr "剪下"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "å…¨é¸"
-
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Delete Line"
@@ -8287,51 +8333,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8339,203 +8341,27 @@ msgid "Input parameter."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10231,6 +10057,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "關閉"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10262,8 +10093,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "新增"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11725,6 +11557,13 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11976,7 +11815,11 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
msgstr ""
#: scene/gui/color_picker.cpp
@@ -11989,12 +11832,18 @@ msgstr ""
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "警告!"
@@ -12080,6 +11929,9 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid "Update Always"
+#~ msgstr "ä¸åœæ›´æ–°"
+
#~ msgid "Delete selected files?"
#~ msgstr "è¦åˆªé™¤é¸ä¸­æª”案?"
diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po
index 730ca41148..a4f52399f3 100644
--- a/editor/translations/zh_TW.po
+++ b/editor/translations/zh_TW.po
@@ -462,6 +462,16 @@ msgstr ""
msgid "Warning: Editing imported animation"
msgstr ""
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr "鏿“‡å…¨éƒ¨"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Select None"
+msgstr "鏿“‡æ¨¡å¼"
+
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
msgstr "僅顯示樹中所é¸ç¯€é»žçš„軌跡。"
@@ -1362,7 +1372,7 @@ msgstr "䏿­£ç¢ºçš„å字。åå­—ä¸èƒ½èˆ‡ç¾æœ‰çš„ engine class åè¡çªã€‚"
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Must not collide with an existing buit-in type name."
+msgid "Must not collide with an existing built-in type name."
msgstr "無效å稱.ä¸èƒ½èˆ‡ç¾æœ‰çš„內置類型å稱沖çª."
#: editor/editor_autoload_settings.cpp
@@ -1574,7 +1584,7 @@ msgstr "節點å稱:"
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Filesystem Dock"
+msgid "FileSystem and Import Docks"
msgstr "文件系統"
#: editor/editor_feature_profile.cpp
@@ -1636,7 +1646,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
msgid ""
-"Profile '%s' already exists. Remote it first before importing, import "
+"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
@@ -1651,7 +1661,7 @@ msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Current Profile"
+msgid "Current Profile:"
msgstr "ç•¶å‰ç‰ˆæœ¬:"
#: editor/editor_feature_profile.cpp
@@ -1675,13 +1685,9 @@ msgid "Export"
msgstr "輸出"
#: editor/editor_feature_profile.cpp
-msgid "Available Profiles"
-msgstr ""
-
-#: editor/editor_feature_profile.cpp
#, fuzzy
-msgid "Enabled Classes"
-msgstr "æœå°‹ Class"
+msgid "Available Profiles:"
+msgstr "效能:"
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -2756,10 +2762,34 @@ msgid "Editor Layout"
msgstr "編輯器佈局"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Take Screenshot"
+msgstr "儲存場景"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr "開啟 編輯器數據/設定 資料夾"
+
+#: editor/editor_node.cpp
+msgid "Automatically Open Screenshots"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open in an external image editor."
+msgstr "開啟下一個編輯器"
+
+#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "全螢幕顯示"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Toggle System Console"
+msgstr "åˆ‡æ›æ¨¡å¼"
+
+#: editor/editor_node.cpp
msgid "Open Editor Data/Settings Folder"
msgstr "開啟 編輯器數據/設定 資料夾"
@@ -2869,15 +2899,18 @@ msgid "Spins when the editor window redraws."
msgstr "åœ¨é‡æ–°ç¹ªè£½(repaint)編輯器視窗時,來個旋轉ï¼"
#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr "總是自動更新"
+#, fuzzy
+msgid "Update Continuously"
+msgstr "連續"
#: editor/editor_node.cpp
-msgid "Update Changes"
+#, fuzzy
+msgid "Update When Changed"
msgstr "有更動時自動更新"
#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+#, fuzzy
+msgid "Hide Update Spinner"
msgstr "ç¦æ­¢è‡ªå‹•æ›´æ–°"
#: editor/editor_node.cpp
@@ -3170,6 +3203,11 @@ msgid "Page: "
msgstr "页: "
#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "移除項目"
+
+#: editor/editor_properties_array_dict.cpp
msgid "New Key:"
msgstr "新建帧:"
@@ -3182,11 +3220,6 @@ msgstr "數值"
msgid "Add Key/Value Pair"
msgstr ""
-#: editor/editor_properties_array_dict.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "移除項目"
-
#: editor/editor_run_native.cpp
msgid ""
"No runnable export preset found for this platform.\n"
@@ -5373,6 +5406,14 @@ msgid "Load Emission Mask"
msgstr ""
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Restart"
+msgstr "釿–°é–‹å§‹(ç§’):"
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
msgstr ""
@@ -6312,11 +6353,21 @@ msgid "Find Next"
msgstr "查找下一個"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Filter scripts"
+msgstr "éŽæ¿¾æª”案..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
+msgid "Filter methods"
+msgstr "éŽæ¿¾æª”案..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Sort"
msgstr "排åº:"
@@ -6567,11 +6618,6 @@ msgstr ""
msgid "Cut"
msgstr "剪切"
-#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
-#: scene/gui/text_edit.cpp
-msgid "Select All"
-msgstr "鏿“‡å…¨éƒ¨"
-
#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Delete Line"
@@ -8196,51 +8242,7 @@ msgid "Boolean uniform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_camera' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'inv_projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'viewport_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'texture_pixel_size' input parameter for all shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for all shader modes."
+msgid "'%s' input parameter for all shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8249,203 +8251,27 @@ msgid "Input parameter."
msgstr "å¸é™„到父級節點"
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'binormal' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'fragcoord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'side' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for vertex and fragment shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment and light shader modes."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'uv2' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex and fragment shader modes."
+msgid "'%s' input parameter for light shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'view' input parameter for fragment and light shader modes."
+msgid "'%s' input parameter for vertex shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'albedo' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'attenuation' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'diffuse' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'roughness' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'specular' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transmission' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'modelview' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_size' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'tangent' input parameter for vertex and fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_pass' input parameter for vertex and fragment shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'point_coord' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_pixel_size' input parameter for fragment shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'screen_uv' input parameter for fragment and light shader modes."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_alpha' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_height' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_uv' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'light_vec' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'normal' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'shadow_color' input parameter for light shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'extra' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'projection' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'vertex' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'world' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'active' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'color' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'custom_alpha' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'delta' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'emission_transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'index' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'lifetime' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'restart' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'time' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'transform' input parameter for vertex shader mode."
-msgstr ""
-
-#: editor/plugins/visual_shader_editor_plugin.cpp
-msgid "'velocity' input parameter for vertex shader mode."
+msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -10135,6 +9961,11 @@ msgid "Add Child Node"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Expand/Collapse All"
+msgstr "å–代全部"
+
+#: editor/scene_tree_dock.cpp
msgid "Change Type"
msgstr ""
@@ -10165,8 +9996,9 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Add/Create a New Node"
-msgstr ""
+#, fuzzy
+msgid "Add/Create a New Node."
+msgstr "新增 %s"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11636,6 +11468,16 @@ msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+#: scene/2d/tile_map.cpp
+#, fuzzy
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2Dåªèƒ½ç‚ºCollisionObject2Dè¡ç”Ÿçš„節點æä¾›ç¢°æ’žå½¢ç‹€è³‡è¨Šï¼Œè«‹å°‡å…¶ä½¿ç”¨"
+"æ–¼Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D這類的節點下。"
+
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -11887,10 +11729,15 @@ msgid "Pick a color from the screen."
msgstr ""
#: scene/gui/color_picker.cpp
-msgid "Raw Mode"
+msgid "HSV"
msgstr ""
#: scene/gui/color_picker.cpp
+#, fuzzy
+msgid "Raw"
+msgstr "å航"
+
+#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
msgstr ""
@@ -11901,12 +11748,18 @@ msgstr "將目å‰é¡è‰²è¨­ç‚ºé è¨­"
#: scene/gui/container.cpp
msgid ""
-"Container by itself serves no purpose unless a script configures it's "
+"Container by itself serves no purpose unless a script configures its "
"children placement behavior.\n"
"If you don't intend to add a script, then please use a plain 'Control' node "
"instead."
msgstr ""
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
#: scene/gui/dialogs.cpp
msgid "Alert!"
msgstr "警告!"
@@ -11994,6 +11847,13 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid "Enabled Classes"
+#~ msgstr "æœå°‹ Class"
+
+#~ msgid "Update Always"
+#~ msgstr "總是自動更新"
+
#~ msgid "Path to Node:"
#~ msgstr "節點路徑:"
diff --git a/main/input_default.cpp b/main/input_default.cpp
index a939d77a1e..199fcfcf66 100644
--- a/main/input_default.cpp
+++ b/main/input_default.cpp
@@ -726,14 +726,14 @@ InputDefault::InputDefault() {
if (entries[i] == "")
continue;
parse_mapping(entries[i]);
- };
- };
+ }
+ }
int i = 0;
while (DefaultControllerMappings::mappings[i]) {
parse_mapping(DefaultControllerMappings::mappings[i++]);
- };
+ }
}
void InputDefault::joy_button(int p_device, int p_button, bool p_pressed) {
@@ -748,14 +748,14 @@ void InputDefault::joy_button(int p_device, int p_button, bool p_pressed) {
if (joy.mapping == -1) {
_button_event(p_device, p_button, p_pressed);
return;
- };
+ }
const Map<int, JoyEvent>::Element *el = map_db[joy.mapping].buttons.find(p_button);
if (!el) {
//don't process un-mapped events for now, it could mess things up badly for devices with additional buttons/axis
//return _button_event(p_last_id, p_device, p_button, p_pressed);
return;
- };
+ }
JoyEvent map = el->get();
if (map.type == TYPE_BUTTON) {
@@ -767,14 +767,13 @@ void InputDefault::joy_button(int p_device, int p_button, bool p_pressed) {
}
_button_event(p_device, map.index, p_pressed);
return;
- };
+ }
if (map.type == TYPE_AXIS) {
_axis_event(p_device, map.index, p_pressed ? 1.0 : 0.0);
- };
-
- return; // no event?
-};
+ }
+ // no event?
+}
void InputDefault::joy_axis(int p_device, int p_axis, const JoyAxis &p_value) {
@@ -878,19 +877,18 @@ void InputDefault::joy_axis(int p_device, int p_axis, const JoyAxis &p_value) {
if (pressed == joy_buttons_pressed.has(_combine_device(map.index, p_device))) {
// button already pressed or released, this is an axis bounce value
return;
- };
+ }
_button_event(p_device, map.index, pressed);
return;
- };
+ }
if (map.type == TYPE_AXIS) {
_axis_event(p_device, map.index, val);
return;
- };
+ }
//printf("invalid mapping\n");
- return;
-};
+}
void InputDefault::joy_hat(int p_device, int p_val) {
@@ -909,20 +907,20 @@ void InputDefault::joy_hat(int p_device, int p_val) {
if ((p_val & HAT_MASK_UP) != (cur_val & HAT_MASK_UP)) {
_button_event(p_device, map[HAT_UP].index, p_val & HAT_MASK_UP);
- };
+ }
if ((p_val & HAT_MASK_RIGHT) != (cur_val & HAT_MASK_RIGHT)) {
_button_event(p_device, map[HAT_RIGHT].index, p_val & HAT_MASK_RIGHT);
- };
+ }
if ((p_val & HAT_MASK_DOWN) != (cur_val & HAT_MASK_DOWN)) {
_button_event(p_device, map[HAT_DOWN].index, p_val & HAT_MASK_DOWN);
- };
+ }
if ((p_val & HAT_MASK_LEFT) != (cur_val & HAT_MASK_LEFT)) {
_button_event(p_device, map[HAT_LEFT].index, p_val & HAT_MASK_LEFT);
- };
+ }
joy_names[p_device].hat_current = p_val;
-};
+}
void InputDefault::_button_event(int p_device, int p_index, bool p_pressed) {
@@ -933,7 +931,7 @@ void InputDefault::_button_event(int p_device, int p_index, bool p_pressed) {
ievent->set_pressed(p_pressed);
parse_input_event(ievent);
-};
+}
void InputDefault::_axis_event(int p_device, int p_axis, float p_value) {
diff --git a/main/main.cpp b/main/main.cpp
index c765ff9700..3f84eca1d2 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -599,6 +599,10 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
auto_build_solutions = true;
editor = true;
+ } else if (I->get() == "--export" || I->get() == "--export-debug") { // Export project
+
+ editor = true;
+ main_args.push_back(I->get());
#endif
} else if (I->get() == "--path") { // set path of project to start or edit
@@ -812,7 +816,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
int sp = bp.find_last(":");
if (sp == -1) {
ERR_EXPLAIN("Invalid breakpoint: '" + bp + "', expected file:line format.");
- ERR_CONTINUE(sp == -1);
+ ERR_CONTINUE(true);
}
script_debugger->insert_breakpoint(bp.substr(sp + 1, bp.length()).to_int(), bp.substr(0, sp));
@@ -1343,20 +1347,10 @@ bool Main::start() {
removal_docs.push_back(args[j]);
} else if (args[i] == "--export") {
editor = true; //needs editor
- if (i + 1 < args.size()) {
- _export_preset = args[i + 1];
- } else {
- ERR_PRINT("Export preset name not specified");
- return false;
- }
+ _export_preset = args[i + 1];
} else if (args[i] == "--export-debug") {
editor = true; //needs editor
- if (i + 1 < args.size()) {
- _export_preset = args[i + 1];
- } else {
- ERR_PRINT("Export preset name not specified");
- return false;
- }
+ _export_preset = args[i + 1];
export_debug = true;
#endif
} else {
@@ -1375,6 +1369,8 @@ bool Main::start() {
#ifdef TOOLS_ENABLED
if (doc_tool != "") {
+ Engine::get_singleton()->set_editor_hint(true); // Needed to instance editor-only classes for their default values
+
{
DirAccessRef da = DirAccess::open(doc_tool);
if (!da) {
@@ -1469,7 +1465,7 @@ bool Main::start() {
if (obj)
memdelete(obj);
ERR_EXPLAIN("Can't load script '" + script + "', it does not inherit from a MainLoop type");
- ERR_FAIL_COND_V(!script_loop, false);
+ ERR_FAIL_V(false);
}
script_loop->set_init_script(script_res);
@@ -1713,13 +1709,13 @@ bool Main::start() {
if (sep == -1) {
DirAccess *da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
- local_game_path = da->get_current_dir() + "/" + local_game_path;
+ local_game_path = da->get_current_dir().plus_file(local_game_path);
memdelete(da);
} else {
DirAccess *da = DirAccess::open(local_game_path.substr(0, sep));
if (da) {
- local_game_path = da->get_current_dir() + "/" + local_game_path.substr(sep + 1, local_game_path.length());
+ local_game_path = da->get_current_dir().plus_file(local_game_path.substr(sep + 1, local_game_path.length()));
memdelete(da);
}
}
diff --git a/main/tests/test_gdscript.cpp b/main/tests/test_gdscript.cpp
index 87bd640001..e82af93293 100644
--- a/main/tests/test_gdscript.cpp
+++ b/main/tests/test_gdscript.cpp
@@ -911,7 +911,7 @@ static void _disassemble_class(const Ref<GDScript> &p_class, const Vector<String
if (incr == 0) {
ERR_EXPLAIN("unhandled opcode: " + itos(code[ip]));
- ERR_BREAK(incr == 0);
+ ERR_BREAK(true);
}
ip += incr;
@@ -974,7 +974,7 @@ MainLoop *test(TestType p_type) {
if (tk.get_token() == GDScriptTokenizer::TK_IDENTIFIER)
text = "'" + tk.get_token_identifier() + "' (identifier)";
else if (tk.get_token() == GDScriptTokenizer::TK_CONSTANT) {
- Variant c = tk.get_token_constant();
+ const Variant &c = tk.get_token_constant();
if (c.get_type() == Variant::STRING)
text = "\"" + String(c) + "\"";
else
diff --git a/main/tests/test_physics.cpp b/main/tests/test_physics.cpp
index 84f504a78d..6850c4d88a 100644
--- a/main/tests/test_physics.cpp
+++ b/main/tests/test_physics.cpp
@@ -329,7 +329,6 @@ public:
make_grid(5, 5, 2.5, 1, gxf);
test_fall();
quit = false;
- return;
}
virtual bool iteration(float p_time) {
diff --git a/main/tests/test_string.cpp b/main/tests/test_string.cpp
index a107fd738f..05df888f40 100644
--- a/main/tests/test_string.cpp
+++ b/main/tests/test_string.cpp
@@ -57,7 +57,7 @@ bool test_2() {
OS::get_singleton()->print("\n\nTest 2: Assign from string (operator=)\n");
String s = "Dolly";
- String t = s;
+ const String &t = s;
OS::get_singleton()->print("\tExpected: Dolly\n");
OS::get_singleton()->print("\tResulted: %ls\n", t.c_str());
@@ -70,7 +70,7 @@ bool test_3() {
OS::get_singleton()->print("\n\nTest 3: Assign from c-string (copycon)\n");
String s("Sheep");
- String t(s);
+ const String &t(s);
OS::get_singleton()->print("\tExpected: Sheep\n");
OS::get_singleton()->print("\tResulted: %ls\n", t.c_str());
@@ -1062,7 +1062,7 @@ bool test_33() {
OS::get_singleton()->print("\n\nTest 33: parse_utf8(null, -1)\n");
String empty;
- return empty.parse_utf8(NULL, -1) == true;
+ return empty.parse_utf8(NULL, -1);
}
bool test_34() {
diff --git a/methods.py b/methods.py
index af20619416..3ed44329a7 100644
--- a/methods.py
+++ b/methods.py
@@ -181,7 +181,7 @@ def win32_spawn(sh, escape, cmd, args, env):
env[e] = str(env[e])
proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, startupinfo=startupinfo, shell=False, env=env)
- data, err = proc.communicate()
+ _, err = proc.communicate()
rv = proc.wait()
if rv:
print("=====")
@@ -242,7 +242,7 @@ def use_windows_spawn_fix(self, platform=None):
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, startupinfo=startupinfo, shell=False, env=env)
- data, err = proc.communicate()
+ _, err = proc.communicate()
rv = proc.wait()
if rv:
print("=====")
@@ -487,7 +487,7 @@ def find_visual_c_batch_file(env):
from SCons.Tool.MSCommon.vc import get_default_version, get_host_target, find_batch_file
version = get_default_version(env)
- (host_platform, target_platform,req_target_platform) = get_host_target(env)
+ (host_platform, target_platform, _) = get_host_target(env)
return find_batch_file(env, version, host_platform, target_platform)[0]
def generate_cpp_hint_file(filename):
@@ -598,7 +598,7 @@ def detect_darwin_sdk_path(platform, env):
sdk_path = decode_utf8(subprocess.check_output(['xcrun', '--sdk', sdk_name, '--show-sdk-path']).strip())
if sdk_path:
env[var_name] = sdk_path
- except (subprocess.CalledProcessError, OSError) as e:
+ except (subprocess.CalledProcessError, OSError):
print("Failed to find SDK path while running xcrun --sdk {} --show-sdk-path.".format(sdk_name))
raise
diff --git a/modules/arkit/SCsub b/modules/arkit/SCsub
new file mode 100644
index 0000000000..b43d936768
--- /dev/null
+++ b/modules/arkit/SCsub
@@ -0,0 +1,10 @@
+#!/usr/bin/env python
+
+Import('env')
+Import('env_modules')
+
+env_arkit = env_modules.Clone()
+
+# Add source files
+env_arkit.add_source_files(env.modules_sources, "*.cpp")
+env_arkit.add_source_files(env.modules_sources, "*.mm")
diff --git a/modules/arkit/arkit_interface.h b/modules/arkit/arkit_interface.h
new file mode 100644
index 0000000000..8129611287
--- /dev/null
+++ b/modules/arkit/arkit_interface.h
@@ -0,0 +1,125 @@
+/*************************************************************************/
+/* arkit_interface.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2017 Godot Engine contributors (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 ARKIT_INTERFACE_H
+#define ARKIT_INTERFACE_H
+
+#include "servers/arvr/arvr_interface.h"
+#include "servers/arvr/arvr_positional_tracker.h"
+#include "servers/camera/camera_feed.h"
+
+/**
+ @author Bastiaan Olij <mux213@gmail.com>
+
+ ARKit interface between iPhone and Godot
+*/
+
+// forward declaration for some needed objects
+class ARKitShader;
+
+class ARKitInterface : public ARVRInterface {
+ GDCLASS(ARKitInterface, ARVRInterface);
+
+private:
+ bool initialized;
+ bool session_was_started;
+ bool plane_detection_is_enabled;
+ bool light_estimation_is_enabled;
+ real_t ambient_intensity;
+ real_t ambient_color_temperature;
+
+ Transform transform;
+ CameraMatrix projection;
+ float eye_height, z_near, z_far;
+
+ Ref<CameraFeed> feed;
+ int image_width[2];
+ int image_height[2];
+ PoolVector<uint8_t> img_data[2];
+
+ struct anchor_map {
+ ARVRPositionalTracker *tracker;
+ unsigned char uuid[16];
+ };
+
+ ///@TODO should use memory map object from Godot?
+ unsigned int num_anchors;
+ unsigned int max_anchors;
+ anchor_map *anchors;
+ ARVRPositionalTracker *get_anchor_for_uuid(const unsigned char *p_uuid);
+ void remove_anchor_for_uuid(const unsigned char *p_uuid);
+ void remove_all_anchors();
+
+protected:
+ static void _bind_methods();
+
+public:
+ void start_session();
+ void stop_session();
+
+ bool get_anchor_detection_is_enabled() const;
+ void set_anchor_detection_is_enabled(bool p_enable);
+ virtual int get_camera_feed_id();
+
+ bool get_light_estimation_is_enabled() const;
+ void set_light_estimation_is_enabled(bool p_enable);
+
+ real_t get_ambient_intensity() const;
+ real_t get_ambient_color_temperature() const;
+
+ /* while Godot has its own raycast logic this takes ARKits camera into account and hits on any ARAnchor */
+ Array raycast(Vector2 p_screen_coord);
+
+ void notification(int p_what);
+
+ virtual StringName get_name() const;
+ virtual int get_capabilities() const;
+
+ virtual bool is_initialized() const;
+ virtual bool initialize();
+ virtual void uninitialize();
+
+ virtual Size2 get_render_targetsize();
+ virtual bool is_stereo();
+ virtual Transform get_transform_for_eye(ARVRInterface::Eyes p_eye, const Transform &p_cam_transform);
+ virtual CameraMatrix get_projection_for_eye(ARVRInterface::Eyes p_eye, real_t p_aspect, real_t p_z_near, real_t p_z_far);
+ virtual void commit_for_eye(ARVRInterface::Eyes p_eye, RID p_render_target, const Rect2 &p_screen_rect);
+
+ virtual void process();
+
+ // called by delegate (void * because C++ and Obj-C don't always mix, should really change all platform/iphone/*.cpp files to .mm)
+ void _add_or_update_anchor(void *p_anchor);
+ void _remove_anchor(void *p_anchor);
+
+ ARKitInterface();
+ ~ARKitInterface();
+};
+
+#endif /* !ARKIT_INTERFACE_H */
diff --git a/modules/arkit/arkit_interface.mm b/modules/arkit/arkit_interface.mm
new file mode 100644
index 0000000000..de58f93276
--- /dev/null
+++ b/modules/arkit/arkit_interface.mm
@@ -0,0 +1,738 @@
+/*************************************************************************/
+/* arkit_interface.mm */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2017 Godot Engine contributors (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 "camera_ios.h"
+#include "core/os/input.h"
+#include "core/os/os.h"
+#include "scene/resources/surface_tool.h"
+#include "servers/visual/visual_server_globals.h"
+
+#import <ARKit/ARKit.h>
+#import <UIKit/UIKit.h>
+
+#include "arkit_interface.h"
+#include "arkit_session_delegate.h"
+
+// just a dirty workaround for now, declare these as globals. I'll probably encapsulate ARSession and associated logic into an mm object and change ARKitInterface to a normal cpp object that consumes it.
+ARSession *ar_session;
+ARKitSessionDelegate *ar_delegate;
+NSTimeInterval last_timestamp;
+
+/* this is called when we initialize or when we come back from having our app pushed to the background, just (re)start our session */
+void ARKitInterface::start_session() {
+ // We're active...
+ session_was_started = true;
+
+ // Ignore this if we're not initialized...
+ if (initialized) {
+ print_line("Starting ARKit session");
+ ARWorldTrackingConfiguration *configuration = [ARWorldTrackingConfiguration new];
+ configuration.lightEstimationEnabled = light_estimation_is_enabled;
+ if (plane_detection_is_enabled) {
+ configuration.planeDetection = ARPlaneDetectionVertical | ARPlaneDetectionHorizontal;
+ } else {
+ configuration.planeDetection = 0;
+ }
+
+ // make sure our camera is on
+ if (feed.is_valid()) {
+ feed->set_active(true);
+ }
+
+ [ar_session runWithConfiguration:configuration];
+ }
+}
+
+void ARKitInterface::stop_session() {
+ session_was_started = false;
+
+ // Ignore this if we're not initialized...
+ if (initialized) {
+ // make sure our camera is off
+ if (feed.is_valid()) {
+ feed->set_active(false);
+ }
+
+ [ar_session pause];
+ }
+}
+
+void ARKitInterface::notification(int p_what) {
+ // TODO, this is not being called, need to find out why, possibly because this is not a node.
+ // in that case we need to find a way to get these notifications!
+ switch (p_what) {
+ case MainLoop::NOTIFICATION_WM_FOCUS_IN: {
+ print_line("Focus in");
+
+ start_session();
+ }; break;
+ case MainLoop::NOTIFICATION_WM_FOCUS_OUT: {
+ print_line("Focus out");
+
+ stop_session();
+ }; break;
+ default:
+ break;
+ }
+}
+
+bool ARKitInterface::get_anchor_detection_is_enabled() const {
+ return plane_detection_is_enabled;
+}
+
+void ARKitInterface::set_anchor_detection_is_enabled(bool p_enable) {
+ if (plane_detection_is_enabled != p_enable) {
+ plane_detection_is_enabled = p_enable;
+
+ // Restart our session (this will be ignore if we're not initialised)
+ if (session_was_started) {
+ start_session();
+ }
+ }
+}
+
+int ARKitInterface::get_camera_feed_id() {
+ if (feed.is_null()) {
+ return 0;
+ } else {
+ return feed->get_id();
+ }
+}
+
+bool ARKitInterface::get_light_estimation_is_enabled() const {
+ return light_estimation_is_enabled;
+}
+
+void ARKitInterface::set_light_estimation_is_enabled(bool p_enable) {
+ if (light_estimation_is_enabled != p_enable) {
+ light_estimation_is_enabled = p_enable;
+
+ // Restart our session (this will be ignore if we're not initialised)
+ if (session_was_started) {
+ start_session();
+ }
+ }
+}
+
+real_t ARKitInterface::get_ambient_intensity() const {
+ return ambient_intensity;
+}
+
+real_t ARKitInterface::get_ambient_color_temperature() const {
+ return ambient_color_temperature;
+}
+
+StringName ARKitInterface::get_name() const {
+ return "ARKit";
+}
+
+int ARKitInterface::get_capabilities() const {
+ return ARKitInterface::ARVR_MONO + ARKitInterface::ARVR_AR;
+}
+
+Array ARKitInterface::raycast(Vector2 p_screen_coord) {
+ Array arr;
+ Size2 screen_size = OS::get_singleton()->get_window_size();
+ CGPoint point;
+ point.x = p_screen_coord.x / screen_size.x;
+ point.y = p_screen_coord.y / screen_size.y;
+
+ ///@TODO maybe give more options here, for now we're taking just ARAchors into account that were found during plane detection keeping their size into account
+ NSArray<ARHitTestResult *> *results = [ar_session.currentFrame hittest:point types:ARHitTestResultTypeExistingPlaneUsingExtent];
+
+ for (ARHitTestResult *result in results) {
+ Transform transform;
+
+ matrix_float4x4 m44 = result.worldTransform;
+ transform.basis.elements[0].x = m44.columns[0][0];
+ transform.basis.elements[1].x = m44.columns[0][1];
+ transform.basis.elements[2].x = m44.columns[0][2];
+ transform.basis.elements[0].y = m44.columns[1][0];
+ transform.basis.elements[1].y = m44.columns[1][1];
+ transform.basis.elements[2].y = m44.columns[1][2];
+ transform.basis.elements[0].z = m44.columns[2][0];
+ transform.basis.elements[1].z = m44.columns[2][1];
+ transform.basis.elements[2].z = m44.columns[2][2];
+ transform.origin.x = m44.columns[3][0];
+ transform.origin.y = m44.columns[3][1];
+ transform.origin.z = m44.columns[3][2];
+
+ /* important, NOT scaled to world_scale !! */
+ arr.push_back(transform);
+ }
+
+ return arr;
+}
+
+void ARKitInterface::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("_notification", "what"), &ARKitInterface::_notification);
+
+ ClassDB::bind_method(D_METHOD("set_light_estimation_is_enabled", "enable"), &ARKitInterface::set_light_estimation_is_enabled);
+ ClassDB::bind_method(D_METHOD("get_light_estimation_is_enabled"), &ARKitInterface::get_light_estimation_is_enabled);
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "light_estimation"), "set_light_estimation_is_enabled", "get_light_estimation_is_enabled");
+
+ ClassDB::bind_method(D_METHOD("get_ambient_intensity"), &ARKitInterface::get_ambient_intensity);
+ ClassDB::bind_method(D_METHOD("get_ambient_color_temperature"), &ARKitInterface::get_ambient_color_temperature);
+
+ ClassDB::bind_method(D_METHOD("raycast", "screen_coord"), &ARKitInterface::raycast);
+}
+
+bool ARKitInterface::is_stereo() {
+ // this is a mono device...
+ return false;
+}
+
+bool ARKitInterface::is_initialized() const {
+ return initialized;
+}
+
+bool ARKitInterface::initialize() {
+ ARVRServer *arvr_server = ARVRServer::get_singleton();
+ ERR_FAIL_NULL_V(arvr_server, false);
+
+ if (!initialized) {
+ print_line("initializing ARKit");
+
+ // create our ar session and delegate
+ ar_session = [ARSession new];
+ ar_delegate = [ARKitSessionDelegate new];
+ ar_delegate.arkit_interface = this;
+ ar_session.delegate = ar_delegate;
+
+ // reset our transform
+ transform = Transform();
+
+ // make this our primary interface
+ arvr_server->set_primary_interface(this);
+
+ // make sure we have our feed setup
+ if (feed.is_null()) {
+ feed.instance();
+ feed->set_name("ARKit");
+
+ CameraServer *cs = CameraServer::get_singleton();
+ if (cs != NULL) {
+ cs->add_feed(feed);
+ }
+ }
+ feed->set_active(true);
+
+ // yeah!
+ initialized = true;
+
+ // Start our session...
+ start_session();
+ }
+
+ return true;
+}
+
+void ARKitInterface::uninitialize() {
+ if (initialized) {
+ ARVRServer *arvr_server = ARVRServer::get_singleton();
+ if (arvr_server != NULL) {
+ // no longer our primary interface
+ arvr_server->clear_primary_interface_if(this);
+ }
+
+ if (feed.is_valid()) {
+ CameraServer *cs = CameraServer::get_singleton();
+ if ((cs != NULL)) {
+ cs->remove_feed(feed);
+ }
+ feed.unref();
+ }
+
+ remove_all_anchors();
+
+ [ar_session release];
+ [ar_delegate release];
+ ar_session = NULL;
+ ar_delegate = NULL;
+ initialized = false;
+ session_was_started = false;
+ }
+}
+
+Size2 ARKitInterface::get_render_targetsize() {
+ _THREAD_SAFE_METHOD_
+
+ Size2 target_size = OS::get_singleton()->get_window_size();
+
+ return target_size;
+}
+
+Transform ARKitInterface::get_transform_for_eye(ARVRInterface::Eyes p_eye, const Transform &p_cam_transform) {
+ _THREAD_SAFE_METHOD_
+
+ Transform transform_for_eye;
+
+ ARVRServer *arvr_server = ARVRServer::get_singleton();
+ ERR_FAIL_NULL_V(arvr_server, transform_for_eye);
+
+ if (initialized) {
+ float world_scale = arvr_server->get_world_scale();
+
+ // just scale our origin point of our transform, note that we really shouldn't be using world_scale in ARKit but....
+ transform_for_eye = transform;
+ transform_for_eye.origin *= world_scale;
+
+ transform_for_eye = p_cam_transform * arvr_server->get_reference_frame() * transform_for_eye;
+ } else {
+ // huh? well just return what we got....
+ transform_for_eye = p_cam_transform;
+ }
+
+ return transform_for_eye;
+}
+
+CameraMatrix ARKitInterface::get_projection_for_eye(ARVRInterface::Eyes p_eye, real_t p_aspect, real_t p_z_near, real_t p_z_far) {
+ // Remember our near and far, it will be used in process when we obtain our projection from our ARKit session.
+ z_near = p_z_near;
+ z_far = p_z_far;
+
+ return projection;
+}
+
+void ARKitInterface::commit_for_eye(ARVRInterface::Eyes p_eye, RID p_render_target, const Rect2 &p_screen_rect) {
+ _THREAD_SAFE_METHOD_
+
+ // We must have a valid render target
+ ERR_FAIL_COND(!p_render_target.is_valid());
+
+ // Because we are rendering to our device we must use our main viewport!
+ ERR_FAIL_COND(p_screen_rect == Rect2());
+
+ // get the size of our screen
+ Rect2 screen_rect = p_screen_rect;
+
+ // screen_rect.position.x += screen_rect.size.x;
+ // screen_rect.size.x = -screen_rect.size.x;
+ // screen_rect.position.y += screen_rect.size.y;
+ // screen_rect.size.y = -screen_rect.size.y;
+
+ VSG::rasterizer->set_current_render_target(RID());
+ VSG::rasterizer->blit_render_target_to_screen(p_render_target, screen_rect, 0);
+}
+
+ARVRPositionalTracker *ARKitInterface::get_anchor_for_uuid(const unsigned char *p_uuid) {
+ if (anchors == NULL) {
+ num_anchors = 0;
+ max_anchors = 10;
+ anchors = (anchor_map *)malloc(sizeof(anchor_map) * max_anchors);
+ }
+
+ ERR_FAIL_NULL_V(anchors, NULL);
+
+ for (unsigned int i = 0; i < num_anchors; i++) {
+ if (memcmp(anchors[i].uuid, p_uuid, 16) == 0) {
+ return anchors[i].tracker;
+ }
+ }
+
+ if (num_anchors + 1 == max_anchors) {
+ max_anchors += 10;
+ anchors = (anchor_map *)realloc(anchors, sizeof(anchor_map) * max_anchors);
+ ERR_FAIL_NULL_V(anchors, NULL);
+ }
+
+ ARVRPositionalTracker *new_tracker = memnew(ARVRPositionalTracker);
+ new_tracker->set_type(ARVRServer::TRACKER_ANCHOR);
+
+ char tracker_name[256];
+ sprintf(tracker_name, "Anchor %02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", p_uuid[0], p_uuid[1], p_uuid[2], p_uuid[3], p_uuid[4], p_uuid[5], p_uuid[6], p_uuid[7], p_uuid[8], p_uuid[9], p_uuid[10], p_uuid[11], p_uuid[12], p_uuid[13], p_uuid[14], p_uuid[15]);
+
+ String name = tracker_name;
+ print_line("Adding tracker " + name);
+ new_tracker->set_name(name);
+
+ // add our tracker
+ ARVRServer::get_singleton()->add_tracker(new_tracker);
+ anchors[num_anchors].tracker = new_tracker;
+ memcpy(anchors[num_anchors].uuid, p_uuid, 16);
+ num_anchors++;
+
+ return new_tracker;
+}
+
+void ARKitInterface::remove_anchor_for_uuid(const unsigned char *p_uuid) {
+ if (anchors != NULL) {
+ for (unsigned int i = 0; i < num_anchors; i++) {
+ if (memcmp(anchors[i].uuid, p_uuid, 16) == 0) {
+ // remove our tracker
+ ARVRServer::get_singleton()->remove_tracker(anchors[i].tracker);
+ memdelete(anchors[i].tracker);
+
+ // bring remaining forward
+ for (unsigned int j = i + 1; j < num_anchors; j++) {
+ anchors[j - 1] = anchors[j];
+ };
+
+ // decrease count
+ num_anchors--;
+ return;
+ }
+ }
+ }
+}
+
+void ARKitInterface::remove_all_anchors() {
+ if (anchors != NULL) {
+ for (unsigned int i = 0; i < num_anchors; i++) {
+ // remove our tracker
+ ARVRServer::get_singleton()->remove_tracker(anchors[i].tracker);
+ memdelete(anchors[i].tracker);
+ };
+
+ free(anchors);
+ anchors = NULL;
+ num_anchors = 0;
+ }
+}
+
+void ARKitInterface::process() {
+ _THREAD_SAFE_METHOD_
+
+ if (@available(iOS 11.0, *)) {
+ if (initialized) {
+ // get our next ARFrame
+ ARFrame *current_frame = ar_session.currentFrame;
+ if (last_timestamp != current_frame.timestamp) {
+ // only process if we have a new frame
+ last_timestamp = current_frame.timestamp;
+
+ // get some info about our screen and orientation
+ Size2 screen_size = OS::get_singleton()->get_window_size();
+ UIDeviceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
+
+ // Grab our camera image for our backbuffer
+ CVPixelBufferRef pixelBuffer = current_frame.capturedImage;
+ if ((CVPixelBufferGetPlaneCount(pixelBuffer) == 2) && (feed != NULL)) {
+ // Plane 0 is our Y and Plane 1 is our CbCr buffer
+
+ // ignored, we check each plane separately
+ // image_width = CVPixelBufferGetWidth(pixelBuffer);
+ // image_height = CVPixelBufferGetHeight(pixelBuffer);
+
+ // printf("Pixel buffer %i - %i\n", image_width, image_height);
+
+ CVPixelBufferLockBaseAddress(pixelBuffer, kCVPixelBufferLock_ReadOnly);
+
+ // get our buffers
+ unsigned char *dataY = (unsigned char *)CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 0);
+ unsigned char *dataCbCr = (unsigned char *)CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, 1);
+
+ if (dataY == NULL) {
+ print_line("Couldn't access Y pixel buffer data");
+ } else if (dataCbCr == NULL) {
+ print_line("Couldn't access CbCr pixel buffer data");
+ } else {
+ Ref<Image> img[2];
+ size_t extraLeft, extraRight, extraTop, extraBottom;
+
+ CVPixelBufferGetExtendedPixels(pixelBuffer, &extraLeft, &extraRight, &extraTop, &extraBottom);
+
+ {
+ // do Y
+ int new_width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 0);
+ int new_height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 0);
+ int bytes_per_row = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 0);
+
+ if ((image_width[0] != new_width) || (image_height[0] != new_height)) {
+ printf("- Camera padding l:%lu r:%lu t:%lu b:%lu\n", extraLeft, extraRight, extraTop, extraBottom);
+ printf("- Camera Y plane size: %i, %i - %i\n", new_width, new_height, bytes_per_row);
+
+ image_width[0] = new_width;
+ image_height[0] = new_height;
+ img_data[0].resize(new_width * new_height);
+ }
+
+ PoolVector<uint8_t>::Write w = img_data[0].write();
+ if (new_width == bytes_per_row) {
+ memcpy(w.ptr(), dataY, new_width * new_height);
+ } else {
+ int offset_a = 0;
+ int offset_b = extraLeft + (extraTop * bytes_per_row);
+ for (int r = 0; r < new_height; r++) {
+ memcpy(w.ptr() + offset_a, dataY + offset_b, new_width);
+ offset_a += new_width;
+ offset_b += bytes_per_row;
+ }
+ }
+
+ img[0].instance();
+ img[0]->create(new_width, new_height, 0, Image::FORMAT_R8, img_data[0]);
+ }
+
+ {
+ // do CbCr
+ int new_width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 1);
+ int new_height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 1);
+ int bytes_per_row = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 0);
+
+ if ((image_width[1] != new_width) || (image_height[1] != new_height)) {
+ printf("- Camera CbCr plane size: %i, %i - %i\n", new_width, new_height, bytes_per_row);
+
+ image_width[1] = new_width;
+ image_height[1] = new_height;
+ img_data[1].resize(2 * new_width * new_height);
+ }
+
+ PoolVector<uint8_t>::Write w = img_data[1].write();
+ if ((2 * new_width) == bytes_per_row) {
+ memcpy(w.ptr(), dataCbCr, 2 * new_width * new_height);
+ } else {
+ int offset_a = 0;
+ int offset_b = extraLeft + (extraTop * bytes_per_row);
+ for (int r = 0; r < new_height; r++) {
+ memcpy(w.ptr() + offset_a, dataCbCr + offset_b, 2 * new_width);
+ offset_a += 2 * new_width;
+ offset_b += bytes_per_row;
+ }
+ }
+
+ img[1].instance();
+ img[1]->create(new_width, new_height, 0, Image::FORMAT_RG8, img_data[1]);
+ }
+
+ // set our texture...
+ feed->set_YCbCr_imgs(img[0], img[1]);
+
+ // now build our transform to display this as a background image that matches our camera
+ CGAffineTransform affine_transform = [current_frame displayTransformForOrientation:orientation viewportSize:CGSizeMake(screen_size.width, screen_size.height)];
+
+ // we need to invert this, probably row v.s. column notation
+ affine_transform = CGAffineTransformInvert(affine_transform);
+
+ if (orientation != UIDeviceOrientationPortrait) {
+ affine_transform.b = -affine_transform.b;
+ affine_transform.d = -affine_transform.d;
+ affine_transform.ty = 1.0 - affine_transform.ty;
+ } else {
+ affine_transform.c = -affine_transform.c;
+ affine_transform.a = -affine_transform.a;
+ affine_transform.tx = 1.0 - affine_transform.tx;
+ }
+
+ Transform2D display_transform = Transform2D(
+ affine_transform.a, affine_transform.b,
+ affine_transform.c, affine_transform.d,
+ affine_transform.tx, affine_transform.ty);
+
+ feed->set_transform(display_transform);
+ }
+
+ // and unlock
+ CVPixelBufferUnlockBaseAddress(pixelBuffer, kCVPixelBufferLock_ReadOnly);
+ }
+
+ // Record light estimation to apply to our scene
+ if (light_estimation_is_enabled) {
+ ambient_intensity = current_frame.lightEstimate.ambientIntensity;
+
+ ///@TODO it's there, but not there.. what to do with this...
+ // https://developer.apple.com/documentation/arkit/arlightestimate?language=objc
+ // ambient_color_temperature = current_frame.lightEstimate.ambientColorTemperature;
+ }
+
+ // Process our camera
+ ARCamera *camera = current_frame.camera;
+
+ // strangely enough we have to states, rolling them up into one
+ if (camera.trackingState == ARTrackingStateNotAvailable) {
+ // no tracking, would be good if we black out the screen or something...
+ tracking_state = ARVRInterface::ARVR_NOT_TRACKING;
+ } else {
+ if (camera.trackingState == ARTrackingStateNormal) {
+ tracking_state = ARVRInterface::ARVR_NORMAL_TRACKING;
+ } else if (camera.trackingStateReason == ARTrackingStateReasonExcessiveMotion) {
+ tracking_state = ARVRInterface::ARVR_EXCESSIVE_MOTION;
+ } else if (camera.trackingStateReason == ARTrackingStateReasonInsufficientFeatures) {
+ tracking_state = ARVRInterface::ARVR_INSUFFICIENT_FEATURES;
+ } else {
+ tracking_state = ARVRInterface::ARVR_UNKNOWN_TRACKING;
+ }
+
+ // copy our current frame transform
+ matrix_float4x4 m44 = camera.transform;
+ if (orientation == UIDeviceOrientationLandscapeLeft) {
+ transform.basis.elements[0].x = m44.columns[0][0];
+ transform.basis.elements[1].x = m44.columns[0][1];
+ transform.basis.elements[2].x = m44.columns[0][2];
+ transform.basis.elements[0].y = m44.columns[1][0];
+ transform.basis.elements[1].y = m44.columns[1][1];
+ transform.basis.elements[2].y = m44.columns[1][2];
+ } else if (orientation == UIDeviceOrientationPortrait) {
+ transform.basis.elements[0].x = m44.columns[1][0];
+ transform.basis.elements[1].x = m44.columns[1][1];
+ transform.basis.elements[2].x = m44.columns[1][2];
+ transform.basis.elements[0].y = -m44.columns[0][0];
+ transform.basis.elements[1].y = -m44.columns[0][1];
+ transform.basis.elements[2].y = -m44.columns[0][2];
+ } else if (orientation == UIDeviceOrientationLandscapeRight) {
+ transform.basis.elements[0].x = -m44.columns[0][0];
+ transform.basis.elements[1].x = -m44.columns[0][1];
+ transform.basis.elements[2].x = -m44.columns[0][2];
+ transform.basis.elements[0].y = -m44.columns[1][0];
+ transform.basis.elements[1].y = -m44.columns[1][1];
+ transform.basis.elements[2].y = -m44.columns[1][2];
+ } else if (orientation == UIDeviceOrientationPortraitUpsideDown) {
+ // this may not be correct
+ transform.basis.elements[0].x = m44.columns[1][0];
+ transform.basis.elements[1].x = m44.columns[1][1];
+ transform.basis.elements[2].x = m44.columns[1][2];
+ transform.basis.elements[0].y = m44.columns[0][0];
+ transform.basis.elements[1].y = m44.columns[0][1];
+ transform.basis.elements[2].y = m44.columns[0][2];
+ }
+ transform.basis.elements[0].z = m44.columns[2][0];
+ transform.basis.elements[1].z = m44.columns[2][1];
+ transform.basis.elements[2].z = m44.columns[2][2];
+ transform.origin.x = m44.columns[3][0];
+ transform.origin.y = m44.columns[3][1];
+ transform.origin.z = m44.columns[3][2];
+
+ // copy our current frame projection, investigate using projectionMatrixWithViewportSize:orientation:zNear:zFar: so we can set our own near and far
+ m44 = [camera projectionMatrixForOrientation:orientation viewportSize:CGSizeMake(screen_size.width, screen_size.height) zNear:z_near zFar:z_far];
+ projection.matrix[0][0] = m44.columns[0][0];
+ projection.matrix[1][0] = m44.columns[1][0];
+ projection.matrix[2][0] = m44.columns[2][0];
+ projection.matrix[3][0] = m44.columns[3][0];
+ projection.matrix[0][1] = m44.columns[0][1];
+ projection.matrix[1][1] = m44.columns[1][1];
+ projection.matrix[2][1] = m44.columns[2][1];
+ projection.matrix[3][1] = m44.columns[3][1];
+ projection.matrix[0][2] = m44.columns[0][2];
+ projection.matrix[1][2] = m44.columns[1][2];
+ projection.matrix[2][2] = m44.columns[2][2];
+ projection.matrix[3][2] = m44.columns[3][2];
+ projection.matrix[0][3] = m44.columns[0][3];
+ projection.matrix[1][3] = m44.columns[1][3];
+ projection.matrix[2][3] = m44.columns[2][3];
+ projection.matrix[3][3] = m44.columns[3][3];
+ }
+ }
+ }
+ }
+}
+
+void ARKitInterface::_add_or_update_anchor(void *p_anchor) {
+ _THREAD_SAFE_METHOD_
+
+ ARAnchor *anchor = (ARAnchor *)p_anchor;
+
+ unsigned char uuid[16];
+ [anchor.identifier getUUIDBytes:uuid];
+
+ ARVRPositionalTracker *tracker = get_anchor_for_uuid(uuid);
+ if (tracker != NULL) {
+ // lets update our mesh! (using Arjens code as is for now)
+ // we should also probably limit how often we do this...
+
+ // can we safely cast this?
+ ARPlaneAnchor *planeAnchor = (ARPlaneAnchor *)anchor;
+
+ if (planeAnchor.geometry.triangleCount > 0) {
+ Ref<SurfaceTool> surftool;
+ surftool.instance();
+ surftool->begin(Mesh::PRIMITIVE_TRIANGLES);
+
+ for (int j = planeAnchor.geometry.triangleCount * 3 - 1; j >= 0; j--) {
+ int16_t index = planeAnchor.geometry.triangleIndices[j];
+ simd_float3 vrtx = planeAnchor.geometry.vertices[index];
+ simd_float2 textcoord = planeAnchor.geometry.textureCoordinates[index];
+ surftool->add_uv(Vector2(textcoord[0], textcoord[1]));
+ surftool->add_color(Color(0.8, 0.8, 0.8));
+ surftool->add_vertex(Vector3(vrtx[0], vrtx[1], vrtx[2]));
+ }
+
+ surftool->generate_normals();
+ tracker->set_mesh(surftool->commit());
+ } else {
+ Ref<Mesh> nomesh;
+ tracker->set_mesh(nomesh);
+ }
+
+ // Note, this also contains a scale factor which gives us an idea of the size of the anchor
+ // We may extract that in our ARVRAnchor class
+ Basis b;
+ matrix_float4x4 m44 = anchor.transform;
+ b.elements[0].x = m44.columns[0][0];
+ b.elements[1].x = m44.columns[0][1];
+ b.elements[2].x = m44.columns[0][2];
+ b.elements[0].y = m44.columns[1][0];
+ b.elements[1].y = m44.columns[1][1];
+ b.elements[2].y = m44.columns[1][2];
+ b.elements[0].z = m44.columns[2][0];
+ b.elements[1].z = m44.columns[2][1];
+ b.elements[2].z = m44.columns[2][2];
+ tracker->set_orientation(b);
+ tracker->set_rw_position(Vector3(m44.columns[3][0], m44.columns[3][1], m44.columns[3][2]));
+ }
+}
+
+void ARKitInterface::_remove_anchor(void *p_anchor) {
+ _THREAD_SAFE_METHOD_
+
+ ARAnchor *anchor = (ARAnchor *)p_anchor;
+
+ unsigned char uuid[16];
+ [anchor.identifier getUUIDBytes:uuid];
+
+ remove_anchor_for_uuid(uuid);
+}
+
+ARKitInterface::ARKitInterface() {
+ initialized = false;
+ session_was_started = false;
+ plane_detection_is_enabled = false;
+ light_estimation_is_enabled = false;
+ ar_session = NULL;
+ z_near = 0.01;
+ z_far = 1000.0;
+ projection.set_perspective(60.0, 1.0, z_near, z_far, false);
+ anchors = NULL;
+ num_anchors = 0;
+ ambient_intensity = 1.0;
+ ambient_color_temperature = 1.0;
+ image_width[0] = 0;
+ image_width[1] = 0;
+ image_height[0] = 0;
+ image_height[1] = 0;
+}
+
+ARKitInterface::~ARKitInterface() {
+ remove_all_anchors();
+
+ // and make sure we cleanup if we haven't already
+ if (is_initialized()) {
+ uninitialize();
+ }
+}
diff --git a/modules/arkit/arkit_session_delegate.h b/modules/arkit/arkit_session_delegate.h
new file mode 100644
index 0000000000..afe093656b
--- /dev/null
+++ b/modules/arkit/arkit_session_delegate.h
@@ -0,0 +1,50 @@
+/*************************************************************************/
+/* arkit_session_delegate.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2017 Godot Engine contributors (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 ARKIT_SESSION_DELEGATE_H
+#define ARKIT_SESSION_DELEGATE_H
+
+#import <ARKit/ARKit.h>
+#import <UIKit/UIKit.h>
+
+class ARKitInterface;
+
+@interface ARKitSessionDelegate : NSObject <ARSessionDelegate> {
+ ARKitInterface *arkit_interface;
+}
+
+@property(nonatomic) ARKitInterface *arkit_interface;
+
+- (void)session:(ARSession *)session didAddAnchors:(NSArray<ARAnchor *> *)anchors;
+- (void)session:(ARSession *)session didRemoveAnchors:(NSArray<ARAnchor *> *)anchors;
+- (void)session:(ARSession *)session didUpdateAnchors:(NSArray<ARAnchor *> *)anchors;
+@end
+
+#endif /* !ARKIT_SESSION_DELEGATE_H */
diff --git a/modules/arkit/arkit_session_delegate.mm b/modules/arkit/arkit_session_delegate.mm
new file mode 100644
index 0000000000..56485c987c
--- /dev/null
+++ b/modules/arkit/arkit_session_delegate.mm
@@ -0,0 +1,56 @@
+/*************************************************************************/
+/* arkit_session_delegate.mm */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2017 Godot Engine contributors (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 "arkit_session_delegate.h"
+#include "arkit_interface.h"
+
+@implementation ARKitSessionDelegate
+
+@synthesize arkit_interface;
+
+- (void)session:(ARSession *)session didAddAnchors:(NSArray<ARAnchor *> *)anchors {
+ for (ARAnchor *anchor in anchors) {
+ arkit_interface->_add_or_update_anchor(anchor);
+ }
+}
+
+- (void)session:(ARSession *)session didRemoveAnchors:(NSArray<ARAnchor *> *)anchors {
+ for (ARAnchor *anchor in anchors) {
+ arkit_interface->_remove_anchor(anchor);
+ }
+}
+
+- (void)session:(ARSession *)session didUpdateAnchors:(NSArray<ARAnchor *> *)anchors {
+ for (ARAnchor *anchor in anchors) {
+ arkit_interface->_add_or_update_anchor(anchor);
+ }
+}
+
+@end \ No newline at end of file
diff --git a/modules/arkit/config.py b/modules/arkit/config.py
new file mode 100644
index 0000000000..96e41826c5
--- /dev/null
+++ b/modules/arkit/config.py
@@ -0,0 +1,5 @@
+def can_build(env, platform):
+ return platform == 'iphone'
+
+def configure(env):
+ pass
diff --git a/editor/editor_name_dialog.cpp b/modules/arkit/register_types.cpp
index 63a91a594c..af35828004 100644
--- a/editor/editor_name_dialog.cpp
+++ b/modules/arkit/register_types.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* editor_name_dialog.cpp */
+/* register_types.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,66 +28,18 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#include "editor_name_dialog.h"
+#include "register_types.h"
-#include "core/class_db.h"
-#include "core/os/keyboard.h"
+#include "arkit_interface.h"
-void EditorNameDialog::_line_gui_input(const Ref<InputEvent> &p_event) {
+void register_arkit_types() {
+ // does it make sense to register the class?
- Ref<InputEventKey> k = p_event;
-
- if (k.is_valid()) {
-
- if (!k->is_pressed())
- return;
-
- switch (k->get_scancode()) {
- case KEY_KP_ENTER:
- case KEY_ENTER: {
-
- if (get_hide_on_ok())
- hide();
- ok_pressed();
- accept_event();
- } break;
- case KEY_ESCAPE: {
-
- hide();
- accept_event();
- } break;
- }
- }
-}
-
-void EditorNameDialog::_post_popup() {
-
- ConfirmationDialog::_post_popup();
- name->clear();
- name->grab_focus();
-}
-
-void EditorNameDialog::ok_pressed() {
-
- if (name->get_text() != "") {
- emit_signal("name_confirmed", name->get_text());
- }
-}
-
-void EditorNameDialog::_bind_methods() {
-
- ClassDB::bind_method("_line_gui_input", &EditorNameDialog::_line_gui_input);
-
- ADD_SIGNAL(MethodInfo("name_confirmed", PropertyInfo(Variant::STRING, "name")));
+ Ref<ARKitInterface> arkit_interface;
+ arkit_interface.instance();
+ ARVRServer::get_singleton()->add_interface(arkit_interface);
}
-EditorNameDialog::EditorNameDialog() {
- makevb = memnew(VBoxContainer);
- add_child(makevb);
- name = memnew(LineEdit);
- makevb->add_child(name);
- name->set_margin(MARGIN_TOP, 5);
- name->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 5);
- name->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -5);
- name->connect("gui_input", this, "_line_gui_input");
+void unregister_arkit_types() {
+ // should clean itself up nicely :)
}
diff --git a/modules/arkit/register_types.h b/modules/arkit/register_types.h
new file mode 100644
index 0000000000..6ed2065de2
--- /dev/null
+++ b/modules/arkit/register_types.h
@@ -0,0 +1,32 @@
+/*************************************************************************/
+/* register_types.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. */
+/*************************************************************************/
+
+void register_arkit_types();
+void unregister_arkit_types();
diff --git a/modules/assimp/editor_scene_importer_assimp.cpp b/modules/assimp/editor_scene_importer_assimp.cpp
index 8c3c04674b..093e2f3006 100644
--- a/modules/assimp/editor_scene_importer_assimp.cpp
+++ b/modules/assimp/editor_scene_importer_assimp.cpp
@@ -848,7 +848,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
if (AI_SUCCESS == ai_material->GetTexture(tex_normal, 0, &ai_filename, NULL, NULL, NULL, NULL, map_mode)) {
filename = _assimp_raw_string_to_string(ai_filename);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -869,7 +869,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_NORMAL_TEXTURE, ai_filename)) {
filename = _assimp_raw_string_to_string(ai_filename);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -892,7 +892,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
if (AI_SUCCESS == ai_material->GetTexture(tex_emissive, 0, &ai_filename, NULL, NULL, NULL, NULL, map_mode)) {
filename = _assimp_raw_string_to_string(ai_filename);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -914,7 +914,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiTextureMapMode map_mode[2];
if (AI_SUCCESS == ai_material->GetTexture(tex_albedo, 0, &ai_filename, NULL, NULL, NULL, NULL, map_mode)) {
filename = _assimp_raw_string_to_string(ai_filename);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -944,7 +944,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiTextureMapMode map_mode[2];
if (AI_SUCCESS == ai_material->GetTexture(AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_BASE_COLOR_TEXTURE, &tex_gltf_base_color_path, NULL, NULL, NULL, NULL, map_mode)) {
String filename = _assimp_raw_string_to_string(tex_gltf_base_color_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -973,7 +973,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_fbx_pbs_base_color_path = aiString();
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_MAYA_BASE_COLOR_TEXTURE, tex_fbx_pbs_base_color_path)) {
String filename = _assimp_raw_string_to_string(tex_fbx_pbs_base_color_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1005,7 +1005,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_fbx_pbs_normal_path = aiString();
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_MAYA_NORMAL_TEXTURE, tex_fbx_pbs_normal_path)) {
String filename = _assimp_raw_string_to_string(tex_fbx_pbs_normal_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1027,7 +1027,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_fbx_stingray_normal_path = aiString();
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_MAYA_STINGRAY_NORMAL_TEXTURE, tex_fbx_stingray_normal_path)) {
String filename = _assimp_raw_string_to_string(tex_fbx_stingray_normal_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1045,7 +1045,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_fbx_pbs_base_color_path = aiString();
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_MAYA_STINGRAY_COLOR_TEXTURE, tex_fbx_pbs_base_color_path)) {
String filename = _assimp_raw_string_to_string(tex_fbx_pbs_base_color_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1077,7 +1077,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_fbx_pbs_emissive_path = aiString();
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_MAYA_STINGRAY_EMISSIVE_TEXTURE, tex_fbx_pbs_emissive_path)) {
String filename = _assimp_raw_string_to_string(tex_fbx_pbs_emissive_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1107,7 +1107,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_gltf_pbr_metallicroughness_path;
if (AI_SUCCESS == ai_material->GetTexture(AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLICROUGHNESS_TEXTURE, &tex_gltf_pbr_metallicroughness_path)) {
String filename = _assimp_raw_string_to_string(tex_gltf_pbr_metallicroughness_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1134,7 +1134,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_fbx_pbs_metallic_path;
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_MAYA_STINGRAY_METALLIC_TEXTURE, tex_fbx_pbs_metallic_path)) {
String filename = _assimp_raw_string_to_string(tex_fbx_pbs_metallic_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1154,7 +1154,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_fbx_pbs_rough_path;
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_MAYA_STINGRAY_ROUGHNESS_TEXTURE, tex_fbx_pbs_rough_path)) {
String filename = _assimp_raw_string_to_string(tex_fbx_pbs_rough_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1177,7 +1177,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_fbx_pbs_metallic_path;
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_MAYA_METALNESS_TEXTURE, tex_fbx_pbs_metallic_path)) {
String filename = _assimp_raw_string_to_string(tex_fbx_pbs_metallic_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1197,7 +1197,7 @@ Ref<Material> EditorSceneImporterAssimp::_generate_material_from_index(ImportSta
aiString tex_fbx_pbs_rough_path;
if (AI_SUCCESS == ai_material->Get(AI_MATKEY_FBX_MAYA_DIFFUSE_ROUGHNESS_TEXTURE, tex_fbx_pbs_rough_path)) {
String filename = _assimp_raw_string_to_string(tex_fbx_pbs_rough_path);
- String path = state.path.get_base_dir() + "/" + filename.replace("\\", "/");
+ String path = state.path.get_base_dir().plus_file(filename.replace("\\", "/"));
bool found = false;
_find_texture_path(state.path, path, found);
if (found) {
@@ -1684,7 +1684,7 @@ void EditorSceneImporterAssimp::_find_texture_path(const String &p_path, _Direct
path = name;
return;
}
- String name_ignore_sub_directory = p_path.get_base_dir() + "/" + path.get_file().get_basename() + extension;
+ String name_ignore_sub_directory = p_path.get_base_dir().plus_file(path.get_file().get_basename()) + extension;
if (dir.file_exists(name_ignore_sub_directory)) {
found = true;
path = name_ignore_sub_directory;
diff --git a/modules/bmp/image_loader_bmp.cpp b/modules/bmp/image_loader_bmp.cpp
index b4530c2df1..a7e8dec11e 100644
--- a/modules/bmp/image_loader_bmp.cpp
+++ b/modules/bmp/image_loader_bmp.cpp
@@ -262,7 +262,7 @@ Error ImageLoaderBMP::load_image(Ref<Image> p_image, FileAccess *f,
PoolVector<uint8_t> bmp_color_table;
// Color table is usually 4 bytes per color -> [B][G][R][0]
- err = bmp_color_table.resize(color_table_size * 4);
+ bmp_color_table.resize(color_table_size * 4);
PoolVector<uint8_t>::Write bmp_color_table_w = bmp_color_table.write();
f->get_buffer(bmp_color_table_w.ptr(), color_table_size * 4);
diff --git a/modules/bullet/collision_object_bullet.cpp b/modules/bullet/collision_object_bullet.cpp
index 166d7e6158..e1800fd3eb 100644
--- a/modules/bullet/collision_object_bullet.cpp
+++ b/modules/bullet/collision_object_bullet.cpp
@@ -305,7 +305,7 @@ void RigidCollisionObjectBullet::set_shape_transform(int p_index, const Transfor
ERR_FAIL_INDEX(p_index, get_shape_count());
shapes.write[p_index].set_transform(p_transform);
- reload_shapes();
+ shape_changed(p_index);
}
const btTransform &RigidCollisionObjectBullet::get_bt_shape_transform(int p_index) const {
diff --git a/modules/bullet/rigid_body_bullet.cpp b/modules/bullet/rigid_body_bullet.cpp
index 733a900396..085cce9733 100644
--- a/modules/bullet/rigid_body_bullet.cpp
+++ b/modules/bullet/rigid_body_bullet.cpp
@@ -866,7 +866,7 @@ void RigidBodyBullet::on_enter_area(AreaBullet *p_area) {
if (p_area->is_spOv_gravityPoint()) {
++countGravityPointSpaces;
- assert(0 < countGravityPointSpaces);
+ ERR_FAIL_COND(countGravityPointSpaces <= 0);
}
}
@@ -888,7 +888,7 @@ void RigidBodyBullet::on_exit_area(AreaBullet *p_area) {
if (wasTheAreaFound) {
if (p_area->is_spOv_gravityPoint()) {
--countGravityPointSpaces;
- assert(0 <= countGravityPointSpaces);
+ ERR_FAIL_COND(countGravityPointSpaces < 0);
}
--areaWhereIamCount;
diff --git a/modules/csg/csg_gizmos.cpp b/modules/csg/csg_gizmos.cpp
index d4069b901f..1e590c5cb4 100644
--- a/modules/csg/csg_gizmos.cpp
+++ b/modules/csg/csg_gizmos.cpp
@@ -120,6 +120,10 @@ void CSGShapeSpatialGizmoPlugin::set_handle(EditorSpatialGizmo *p_gizmo, int p_i
Vector3 ra, rb;
Geometry::get_closest_points_between_segments(Vector3(), Vector3(4096, 0, 0), sg[0], sg[1], ra, rb);
float d = ra.x;
+ if (SpatialEditor::get_singleton()->is_snap_enabled()) {
+ d = Math::stepify(d, SpatialEditor::get_singleton()->get_translate_snap());
+ }
+
if (d < 0.001)
d = 0.001;
@@ -135,6 +139,10 @@ void CSGShapeSpatialGizmoPlugin::set_handle(EditorSpatialGizmo *p_gizmo, int p_i
Vector3 ra, rb;
Geometry::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
float d = ra[p_idx];
+ if (SpatialEditor::get_singleton()->is_snap_enabled()) {
+ d = Math::stepify(d, SpatialEditor::get_singleton()->get_translate_snap());
+ }
+
if (d < 0.001)
d = 0.001;
@@ -154,6 +162,9 @@ void CSGShapeSpatialGizmoPlugin::set_handle(EditorSpatialGizmo *p_gizmo, int p_i
Vector3 ra, rb;
Geometry::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
float d = axis.dot(ra);
+ if (SpatialEditor::get_singleton()->is_snap_enabled()) {
+ d = Math::stepify(d, SpatialEditor::get_singleton()->get_translate_snap());
+ }
if (d < 0.001)
d = 0.001;
@@ -173,6 +184,9 @@ void CSGShapeSpatialGizmoPlugin::set_handle(EditorSpatialGizmo *p_gizmo, int p_i
Vector3 ra, rb;
Geometry::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
float d = axis.dot(ra);
+ if (SpatialEditor::get_singleton()->is_snap_enabled()) {
+ d = Math::stepify(d, SpatialEditor::get_singleton()->get_translate_snap());
+ }
if (d < 0.001)
d = 0.001;
diff --git a/modules/csg/csg_shape.h b/modules/csg/csg_shape.h
index 553a7553c6..6c9419b3c2 100644
--- a/modules/csg/csg_shape.h
+++ b/modules/csg/csg_shape.h
@@ -404,7 +404,7 @@ public:
void set_spin_degrees(float p_spin_degrees);
float get_spin_degrees() const;
- void set_spin_sides(int p_sides);
+ void set_spin_sides(int p_spin_sides);
int get_spin_sides() const;
void set_path_node(const NodePath &p_path);
diff --git a/modules/csg/doc_classes/CSGBox.xml b/modules/csg/doc_classes/CSGBox.xml
index e508468415..d100c01205 100644
--- a/modules/csg/doc_classes/CSGBox.xml
+++ b/modules/csg/doc_classes/CSGBox.xml
@@ -11,16 +11,16 @@
<methods>
</methods>
<members>
- <member name="depth" type="float" setter="set_depth" getter="get_depth">
+ <member name="depth" type="float" setter="set_depth" getter="get_depth" default="2.0">
Depth of the box measured from the center of the box.
</member>
- <member name="height" type="float" setter="set_height" getter="get_height">
+ <member name="height" type="float" setter="set_height" getter="get_height" default="2.0">
Height of the box measured from the center of the box.
</member>
- <member name="material" type="Material" setter="set_material" getter="get_material">
+ <member name="material" type="Material" setter="set_material" getter="get_material" default="null">
The material used to render the box.
</member>
- <member name="width" type="float" setter="set_width" getter="get_width">
+ <member name="width" type="float" setter="set_width" getter="get_width" default="2.0">
Width of the box measured from the center of the box.
</member>
</members>
diff --git a/modules/csg/doc_classes/CSGCylinder.xml b/modules/csg/doc_classes/CSGCylinder.xml
index 24c3f8ba2e..643eb7c7f4 100644
--- a/modules/csg/doc_classes/CSGCylinder.xml
+++ b/modules/csg/doc_classes/CSGCylinder.xml
@@ -11,22 +11,22 @@
<methods>
</methods>
<members>
- <member name="cone" type="bool" setter="set_cone" getter="is_cone">
+ <member name="cone" type="bool" setter="set_cone" getter="is_cone" default="false">
If [code]true[/code] a cone is created, the [member radius] will only apply to one side.
</member>
- <member name="height" type="float" setter="set_height" getter="get_height">
+ <member name="height" type="float" setter="set_height" getter="get_height" default="1.0">
The height of the cylinder.
</member>
- <member name="material" type="Material" setter="set_material" getter="get_material">
+ <member name="material" type="Material" setter="set_material" getter="get_material" default="null">
The material used to render the cylinder.
</member>
- <member name="radius" type="float" setter="set_radius" getter="get_radius">
+ <member name="radius" type="float" setter="set_radius" getter="get_radius" default="1.0">
The radius of the cylinder.
</member>
- <member name="sides" type="int" setter="set_sides" getter="get_sides">
+ <member name="sides" type="int" setter="set_sides" getter="get_sides" default="8">
The number of sides of the cylinder, the higher this number the more detail there will be in the cylinder.
</member>
- <member name="smooth_faces" type="bool" setter="set_smooth_faces" getter="get_smooth_faces">
+ <member name="smooth_faces" type="bool" setter="set_smooth_faces" getter="get_smooth_faces" default="true">
If [code]true[/code] the normals of the cylinder are set to give a smooth effect making the cylinder seem rounded. If [code]false[/code] the cylinder will have a flat shaded look.
</member>
</members>
diff --git a/modules/csg/doc_classes/CSGMesh.xml b/modules/csg/doc_classes/CSGMesh.xml
index afe0bc262d..daa08decb6 100644
--- a/modules/csg/doc_classes/CSGMesh.xml
+++ b/modules/csg/doc_classes/CSGMesh.xml
@@ -11,9 +11,9 @@
<methods>
</methods>
<members>
- <member name="material" type="Material" setter="set_material" getter="get_material">
+ <member name="material" type="Material" setter="set_material" getter="get_material" default="null">
</member>
- <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
+ <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh" default="null">
The mesh resource to use as a CSG shape.
</member>
</members>
diff --git a/modules/csg/doc_classes/CSGPolygon.xml b/modules/csg/doc_classes/CSGPolygon.xml
index 2c5d298222..48f5d730cc 100644
--- a/modules/csg/doc_classes/CSGPolygon.xml
+++ b/modules/csg/doc_classes/CSGPolygon.xml
@@ -11,13 +11,13 @@
<methods>
</methods>
<members>
- <member name="depth" type="float" setter="set_depth" getter="get_depth">
+ <member name="depth" type="float" setter="set_depth" getter="get_depth" default="1.0">
Extrusion depth when [member mode] is [constant MODE_DEPTH].
</member>
- <member name="material" type="Material" setter="set_material" getter="get_material">
+ <member name="material" type="Material" setter="set_material" getter="get_material" default="null">
Material to use for the resulting mesh.
</member>
- <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="CSGPolygon.Mode">
+ <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="CSGPolygon.Mode" default="0">
Extrusion mode.
</member>
<member name="path_continuous_u" type="bool" setter="set_path_continuous_u" getter="is_path_continuous_u">
@@ -38,10 +38,10 @@
<member name="path_rotation" type="int" setter="set_path_rotation" getter="get_path_rotation" enum="CSGPolygon.PathRotation">
The method by which each slice is rotated along the path when [member mode] is [constant MODE_PATH].
</member>
- <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon">
+ <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon" default="PoolVector2Array( 0, 0, 0, 1, 1, 1, 1, 0 )">
Point array that defines the shape that we'll extrude.
</member>
- <member name="smooth_faces" type="bool" setter="set_smooth_faces" getter="get_smooth_faces">
+ <member name="smooth_faces" type="bool" setter="set_smooth_faces" getter="get_smooth_faces" default="false">
Generates smooth normals so smooth shading is applied to our mesh.
</member>
<member name="spin_degrees" type="float" setter="set_spin_degrees" getter="get_spin_degrees">
diff --git a/modules/csg/doc_classes/CSGPrimitive.xml b/modules/csg/doc_classes/CSGPrimitive.xml
index 869e4006fe..6c2f837637 100644
--- a/modules/csg/doc_classes/CSGPrimitive.xml
+++ b/modules/csg/doc_classes/CSGPrimitive.xml
@@ -10,7 +10,7 @@
<methods>
</methods>
<members>
- <member name="invert_faces" type="bool" setter="set_invert_faces" getter="is_inverting_faces">
+ <member name="invert_faces" type="bool" setter="set_invert_faces" getter="is_inverting_faces" default="false">
Invert the faces of the mesh.
</member>
</members>
diff --git a/modules/csg/doc_classes/CSGShape.xml b/modules/csg/doc_classes/CSGShape.xml
index 7fa7c78534..91f54f8246 100644
--- a/modules/csg/doc_classes/CSGShape.xml
+++ b/modules/csg/doc_classes/CSGShape.xml
@@ -64,23 +64,23 @@
</method>
</methods>
<members>
- <member name="calculate_tangents" type="bool" setter="set_calculate_tangents" getter="is_calculating_tangents">
+ <member name="calculate_tangents" type="bool" setter="set_calculate_tangents" getter="is_calculating_tangents" default="true">
Calculate tangents for the CSG shape which allows the use of normal maps. This is only applied on the root shape, this setting is ignored on any child.
</member>
- <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer">
+ <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1">
The physics layers this area is in.
Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.
A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A.
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The physics layers this CSG shape scans for collisions.
</member>
- <member name="operation" type="int" setter="set_operation" getter="get_operation" enum="CSGShape.Operation">
+ <member name="operation" type="int" setter="set_operation" getter="get_operation" enum="CSGShape.Operation" default="0">
The operation that is performed on this shape. This is ignored for the first CSG child node as the operation is between this node and the previous child of this nodes parent.
</member>
- <member name="snap" type="float" setter="set_snap" getter="get_snap">
+ <member name="snap" type="float" setter="set_snap" getter="get_snap" default="0.001">
</member>
- <member name="use_collision" type="bool" setter="set_use_collision" getter="is_using_collision">
+ <member name="use_collision" type="bool" setter="set_use_collision" getter="is_using_collision" default="false">
Adds a collision shape to the physics engine for our CSG shape. This will always act like a static body. Note that the collision shape is still active even if the CSG shape itself is hidden.
</member>
</members>
diff --git a/modules/csg/doc_classes/CSGSphere.xml b/modules/csg/doc_classes/CSGSphere.xml
index 2a12cf84db..0a62644179 100644
--- a/modules/csg/doc_classes/CSGSphere.xml
+++ b/modules/csg/doc_classes/CSGSphere.xml
@@ -11,19 +11,19 @@
<methods>
</methods>
<members>
- <member name="material" type="Material" setter="set_material" getter="get_material">
+ <member name="material" type="Material" setter="set_material" getter="get_material" default="null">
The material used to render the sphere.
</member>
- <member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments">
+ <member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments" default="12">
Number of vertical slices for the sphere.
</member>
- <member name="radius" type="float" setter="set_radius" getter="get_radius">
+ <member name="radius" type="float" setter="set_radius" getter="get_radius" default="1.0">
Radius of the sphere.
</member>
- <member name="rings" type="int" setter="set_rings" getter="get_rings">
+ <member name="rings" type="int" setter="set_rings" getter="get_rings" default="6">
Number of horizontal slices for the sphere.
</member>
- <member name="smooth_faces" type="bool" setter="set_smooth_faces" getter="get_smooth_faces">
+ <member name="smooth_faces" type="bool" setter="set_smooth_faces" getter="get_smooth_faces" default="true">
If [code]true[/code] the normals of the sphere are set to give a smooth effect making the sphere seem rounded. If [code]false[/code] the sphere will have a flat shaded look.
</member>
</members>
diff --git a/modules/csg/doc_classes/CSGTorus.xml b/modules/csg/doc_classes/CSGTorus.xml
index 0d4437d87f..156fb185e7 100644
--- a/modules/csg/doc_classes/CSGTorus.xml
+++ b/modules/csg/doc_classes/CSGTorus.xml
@@ -11,22 +11,22 @@
<methods>
</methods>
<members>
- <member name="inner_radius" type="float" setter="set_inner_radius" getter="get_inner_radius">
+ <member name="inner_radius" type="float" setter="set_inner_radius" getter="get_inner_radius" default="2.0">
The inner radius of the torus.
</member>
- <member name="material" type="Material" setter="set_material" getter="get_material">
+ <member name="material" type="Material" setter="set_material" getter="get_material" default="null">
The material used to render the torus.
</member>
- <member name="outer_radius" type="float" setter="set_outer_radius" getter="get_outer_radius">
+ <member name="outer_radius" type="float" setter="set_outer_radius" getter="get_outer_radius" default="3.0">
The outer radius of the torus.
</member>
- <member name="ring_sides" type="int" setter="set_ring_sides" getter="get_ring_sides">
+ <member name="ring_sides" type="int" setter="set_ring_sides" getter="get_ring_sides" default="6">
The number of edges each ring of the torus is constructed of.
</member>
- <member name="sides" type="int" setter="set_sides" getter="get_sides">
+ <member name="sides" type="int" setter="set_sides" getter="get_sides" default="8">
The number of slices the torus is constructed of.
</member>
- <member name="smooth_faces" type="bool" setter="set_smooth_faces" getter="get_smooth_faces">
+ <member name="smooth_faces" type="bool" setter="set_smooth_faces" getter="get_smooth_faces" default="true">
If [code]true[/code] the normals of the torus are set to give a smooth effect making the torus seem rounded. If [code]false[/code] the torus will have a flat shaded look.
</member>
</members>
diff --git a/editor/icons/icon_c_s_g_box.svg b/modules/csg/icons/icon_c_s_g_box.svg
index 67e34df444..67e34df444 100644
--- a/editor/icons/icon_c_s_g_box.svg
+++ b/modules/csg/icons/icon_c_s_g_box.svg
diff --git a/editor/icons/icon_c_s_g_capsule.svg b/modules/csg/icons/icon_c_s_g_capsule.svg
index 92a7b5a870..92a7b5a870 100644
--- a/editor/icons/icon_c_s_g_capsule.svg
+++ b/modules/csg/icons/icon_c_s_g_capsule.svg
diff --git a/editor/icons/icon_c_s_g_combiner.svg b/modules/csg/icons/icon_c_s_g_combiner.svg
index cce2902e24..cce2902e24 100644
--- a/editor/icons/icon_c_s_g_combiner.svg
+++ b/modules/csg/icons/icon_c_s_g_combiner.svg
diff --git a/editor/icons/icon_c_s_g_cylinder.svg b/modules/csg/icons/icon_c_s_g_cylinder.svg
index 645a74c79b..645a74c79b 100644
--- a/editor/icons/icon_c_s_g_cylinder.svg
+++ b/modules/csg/icons/icon_c_s_g_cylinder.svg
diff --git a/editor/icons/icon_c_s_g_mesh.svg b/modules/csg/icons/icon_c_s_g_mesh.svg
index 6e940a4aa5..6e940a4aa5 100644
--- a/editor/icons/icon_c_s_g_mesh.svg
+++ b/modules/csg/icons/icon_c_s_g_mesh.svg
diff --git a/editor/icons/icon_c_s_g_polygon.svg b/modules/csg/icons/icon_c_s_g_polygon.svg
index 71b03cb8e6..71b03cb8e6 100644
--- a/editor/icons/icon_c_s_g_polygon.svg
+++ b/modules/csg/icons/icon_c_s_g_polygon.svg
diff --git a/editor/icons/icon_c_s_g_sphere.svg b/modules/csg/icons/icon_c_s_g_sphere.svg
index f81b566993..f81b566993 100644
--- a/editor/icons/icon_c_s_g_sphere.svg
+++ b/modules/csg/icons/icon_c_s_g_sphere.svg
diff --git a/editor/icons/icon_c_s_g_torus.svg b/modules/csg/icons/icon_c_s_g_torus.svg
index 3d30aa47b2..3d30aa47b2 100644
--- a/editor/icons/icon_c_s_g_torus.svg
+++ b/modules/csg/icons/icon_c_s_g_torus.svg
diff --git a/modules/dds/texture_loader_dds.cpp b/modules/dds/texture_loader_dds.cpp
index 50fdc8ab20..197b41b30c 100644
--- a/modules/dds/texture_loader_dds.cpp
+++ b/modules/dds/texture_loader_dds.cpp
@@ -31,7 +31,7 @@
#include "texture_loader_dds.h"
#include "core/os/file_access.h"
-#define PF_FOURCC(s) (((s)[3] << 24U) | ((s)[2] << 16U) | ((s)[1] << 8U) | ((s)[0]))
+#define PF_FOURCC(s) ((uint32_t)(((s)[3] << 24U) | ((s)[2] << 16U) | ((s)[1] << 8U) | ((s)[0])))
enum {
DDS_MAGIC = 0x20534444,
diff --git a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml
index d3d1e58b7b..84ed5fd9ee 100644
--- a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml
+++ b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="NetworkedMultiplayerENet" inherits="NetworkedMultiplayerPeer" category="Core" version="3.2">
<brief_description>
- PacketPeer implementation using the ENet library.
+ PacketPeer implementation using the [url=http://enet.bespin.org/index.html]ENet[/url] library.
</brief_description>
<description>
A PacketPeer implementation that should be passed to [member SceneTree.network_peer] after being initialized as either a client or server. Events can then be handled by connecting to [SceneTree] signals.
@@ -34,7 +34,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 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.
+ 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 [constant OK] if a client was created, [constant ERR_ALREADY_IN_USE] if this NetworkedMultiplayerENet instance already has an open connection (in which case you need to call [method close_connection] first) or [constant ERR_CANT_CREATE] 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 for some NAT traversal techniques.
</description>
</method>
<method name="create_server">
@@ -49,7 +49,7 @@
<argument index="3" name="out_bandwidth" type="int" default="0">
</argument>
<description>
- Create server that listens to connections via [code]port[/code]. The port needs to be an available, unused port between 0 and 65535. Note that ports below 1024 are privileged and may require elevated permissions depending on the platform. To change the interface the server listens on, use [method set_bind_ip]. The default IP is the wildcard [code]*[/code], which listens on all available interfaces. [code]max_clients[/code] is the maximum number of clients that are allowed at once, any number up to 4096 may be used, although the achievable number of simultaneous clients may be far lower and depends on the application. For additional details on the bandwidth parameters, see [method create_client]. Returns [code]OK[/code] if a server 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 server could not be created.
+ Create server that listens to connections via [code]port[/code]. The port needs to be an available, unused port between 0 and 65535. Note that ports below 1024 are privileged and may require elevated permissions depending on the platform. To change the interface the server listens on, use [method set_bind_ip]. The default IP is the wildcard [code]"*"[/code], which listens on all available interfaces. [code]max_clients[/code] is the maximum number of clients that are allowed at once, any number up to 4096 may be used, although the achievable number of simultaneous clients may be far lower and depends on the application. For additional details on the bandwidth parameters, see [method create_client]. Returns [constant OK] if a server was created, [constant ERR_ALREADY_IN_USE] if this NetworkedMultiplayerENet instance already has an open connection (in which case you need to call [method close_connection] first) or [constant ERR_CANT_CREATE] if the server could not be created.
</description>
</method>
<method name="disconnect_peer">
@@ -101,39 +101,39 @@
<argument index="0" name="ip" type="String">
</argument>
<description>
- The IP used when creating a server. This is set to the wildcard [code]*[/code] by default, which binds to all available interfaces. The given IP needs to be in IPv4 or IPv6 address format, for example: [code]192.168.1.1[/code].
+ The IP used when creating a server. This is set to the wildcard [code]"*"[/code] by default, which binds to all available interfaces. The given IP needs to be in IPv4 or IPv6 address format, for example: [code]"192.168.1.1"[/code].
</description>
</method>
</methods>
<members>
- <member name="always_ordered" type="bool" setter="set_always_ordered" getter="is_always_ordered">
- Always use [code]TRANSFER_MODE_ORDERED[/code] in place of [code]TRANSFER_MODE_UNRELIABLE[/code]. This is the only way to use ordering with the RPC system.
+ <member name="always_ordered" type="bool" setter="set_always_ordered" getter="is_always_ordered" default="false">
+ Enforce ordered packets when using [constant NetworkedMultiplayerPeer.TRANSFER_MODE_UNRELIABLE] (thus behaving similarly to [constant NetworkedMultiplayerPeer.TRANSFER_MODE_UNRELIABLE_ORDERED]). This is the only way to use ordering with the RPC system.
</member>
- <member name="channel_count" type="int" setter="set_channel_count" getter="get_channel_count">
- The number of channels to be used by ENet. Default: [code]3[/code]. Channels are used to separate different kinds of data. In reliable or ordered mode, for example, the packet delivery order is ensured on a per channel basis.
+ <member name="channel_count" type="int" setter="set_channel_count" getter="get_channel_count" default="3">
+ The number of channels to be used by ENet. Channels are used to separate different kinds of data. In reliable or ordered mode, for example, the packet delivery order is ensured on a per channel basis.
</member>
- <member name="compression_mode" type="int" setter="set_compression_mode" getter="get_compression_mode" enum="NetworkedMultiplayerENet.CompressionMode">
- The compression method used for network packets. Default is no compression. These have different tradeoffs of compression speed versus bandwidth, you may need to test which one works best for your use case if you use compression at all.
+ <member name="compression_mode" type="int" setter="set_compression_mode" getter="get_compression_mode" enum="NetworkedMultiplayerENet.CompressionMode" default="0">
+ The compression method used for network packets. These have different tradeoffs of compression speed versus bandwidth, you may need to test which one works best for your use case if you use compression at all.
</member>
- <member name="transfer_channel" type="int" setter="set_transfer_channel" getter="get_transfer_channel">
- Set the default channel to be used to transfer data. By default this value is [code]-1[/code] which means that ENet will only use 2 channels, one for reliable and one for unreliable packets. Channel [code]0[/code] is reserved, and cannot be used. Setting this member to any value between [code]0[/code] and [member channel_count] (excluded) will force ENet to use that channel for sending data.
+ <member name="transfer_channel" type="int" setter="set_transfer_channel" getter="get_transfer_channel" default="-1">
+ Set the default channel to be used to transfer data. By default, this value is [code]-1[/code] which means that ENet will only use 2 channels, one for reliable and one for unreliable packets. Channel [code]0[/code] is reserved, and cannot be used. Setting this member to any value between [code]0[/code] and [member channel_count] (excluded) will force ENet to use that channel for sending data.
</member>
</members>
<constants>
<constant name="COMPRESS_NONE" value="0" enum="CompressionMode">
- No compression.
+ No compression. This uses the most bandwidth, but has the upside of requiring the fewest CPU resources.
</constant>
<constant name="COMPRESS_RANGE_CODER" value="1" enum="CompressionMode">
- ENet's buildin range encoding.
+ ENet's built-in range encoding.
</constant>
<constant name="COMPRESS_FASTLZ" value="2" enum="CompressionMode">
- FastLZ compression.
+ [url=http://fastlz.org/]FastLZ[/url] compression. This option uses less CPU resources compared to [constant COMPRESS_ZLIB], at the expense of using more bandwidth.
</constant>
<constant name="COMPRESS_ZLIB" value="3" enum="CompressionMode">
- zlib compression.
+ [url=https://www.zlib.net/]Zlib[/url] compression. This option uses less bandwidth compared to [constant COMPRESS_FASTLZ], at the expense of using more CPU resources.
</constant>
<constant name="COMPRESS_ZSTD" value="4" enum="CompressionMode">
- ZStandard compression.
+ [url=https://facebook.github.io/zstd/]Zstandard[/url] compression.
</constant>
</constants>
</class>
diff --git a/modules/enet/networked_multiplayer_enet.cpp b/modules/enet/networked_multiplayer_enet.cpp
index dcb4b7fd75..a5a356ced2 100644
--- a/modules/enet/networked_multiplayer_enet.cpp
+++ b/modules/enet/networked_multiplayer_enet.cpp
@@ -882,7 +882,9 @@ NetworkedMultiplayerENet::NetworkedMultiplayerENet() {
NetworkedMultiplayerENet::~NetworkedMultiplayerENet() {
- close_connection();
+ if (active) {
+ close_connection();
+ }
}
// Sets IP for ENet to bind when using create_server or create_client
diff --git a/modules/gdnative/arvr/arvr_interface_gdnative.cpp b/modules/gdnative/arvr/arvr_interface_gdnative.cpp
index da01f573ce..64e2c362b2 100644
--- a/modules/gdnative/arvr/arvr_interface_gdnative.cpp
+++ b/modules/gdnative/arvr/arvr_interface_gdnative.cpp
@@ -33,9 +33,13 @@
#include "servers/arvr/arvr_positional_tracker.h"
#include "servers/visual/visual_server_globals.h"
+void ARVRInterfaceGDNative::_bind_methods() {
+ ADD_PROPERTY_DEFAULT("interface_is_initialized", false);
+ ADD_PROPERTY_DEFAULT("ar_is_anchor_detection_enabled", false);
+}
+
ARVRInterfaceGDNative::ARVRInterfaceGDNative() {
- // testing
- printf("Construct gdnative interface\n");
+ print_verbose("Construct gdnative interface\n");
// we won't have our data pointer until our library gets set
data = NULL;
@@ -44,9 +48,9 @@ ARVRInterfaceGDNative::ARVRInterfaceGDNative() {
}
ARVRInterfaceGDNative::~ARVRInterfaceGDNative() {
- printf("Destruct gdnative interface\n");
+ print_verbose("Destruct gdnative interface\n");
- if (is_initialized()) {
+ if (interface != NULL && is_initialized()) {
uninitialize();
};
@@ -99,13 +103,10 @@ int ARVRInterfaceGDNative::get_capabilities() const {
}
bool ARVRInterfaceGDNative::get_anchor_detection_is_enabled() const {
- bool enabled;
ERR_FAIL_COND_V(interface == NULL, false);
- enabled = interface->get_anchor_detection_is_enabled(data);
-
- return enabled;
+ return interface->get_anchor_detection_is_enabled(data);
}
void ARVRInterfaceGDNative::set_anchor_detection_is_enabled(bool p_enable) {
@@ -137,21 +138,16 @@ bool ARVRInterfaceGDNative::is_stereo() {
}
bool ARVRInterfaceGDNative::is_initialized() const {
- bool initialized;
ERR_FAIL_COND_V(interface == NULL, false);
- initialized = interface->is_initialized(data);
-
- return initialized;
+ return interface->is_initialized(data);
}
bool ARVRInterfaceGDNative::initialize() {
- bool initialized;
-
ERR_FAIL_COND_V(interface == NULL, false);
- initialized = interface->initialize(data);
+ bool initialized = interface->initialize(data);
if (initialized) {
// if we successfully initialize our interface and we don't have a primary interface yet, this becomes our primary interface
diff --git a/modules/gdnative/arvr/arvr_interface_gdnative.h b/modules/gdnative/arvr/arvr_interface_gdnative.h
index 651e5c8715..ab7090876a 100644
--- a/modules/gdnative/arvr/arvr_interface_gdnative.h
+++ b/modules/gdnative/arvr/arvr_interface_gdnative.h
@@ -49,6 +49,8 @@ protected:
const godot_arvr_interface_gdnative *interface;
void *data;
+ static void _bind_methods();
+
public:
/** general interface information **/
ARVRInterfaceGDNative();
diff --git a/modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml b/modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml
index efdb948660..47c2ee3358 100644
--- a/modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml
+++ b/modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRInterfaceGDNative" inherits="ARVRInterface" category="Core" version="3.2">
<brief_description>
- GDNative wrapper for an ARVR interface
+ GDNative wrapper for an ARVR interface.
</brief_description>
<description>
- This is a wrapper class for GDNative implementations of the ARVR interface. To use a GDNative ARVR interface simply instantiate this object and set your GDNative library containing the ARVR interface implementation.
+ This is a wrapper class for GDNative implementations of the ARVR interface. To use a GDNative ARVR interface, simply instantiate this object and set your GDNative library containing the ARVR interface implementation.
</description>
<tutorials>
</tutorials>
diff --git a/modules/gdnative/doc_classes/GDNative.xml b/modules/gdnative/doc_classes/GDNative.xml
index 8750ddc56d..95ed1fc048 100644
--- a/modules/gdnative/doc_classes/GDNative.xml
+++ b/modules/gdnative/doc_classes/GDNative.xml
@@ -33,7 +33,7 @@
</method>
</methods>
<members>
- <member name="library" type="GDNativeLibrary" setter="set_library" getter="get_library">
+ <member name="library" type="GDNativeLibrary" setter="set_library" getter="get_library" default="null">
</member>
</members>
<constants>
diff --git a/modules/gdnative/doc_classes/GDNativeLibrary.xml b/modules/gdnative/doc_classes/GDNativeLibrary.xml
index 8bfd386b8d..7e1cac243a 100644
--- a/modules/gdnative/doc_classes/GDNativeLibrary.xml
+++ b/modules/gdnative/doc_classes/GDNativeLibrary.xml
@@ -23,13 +23,13 @@
<members>
<member name="config_file" type="ConfigFile" setter="set_config_file" getter="get_config_file">
</member>
- <member name="load_once" type="bool" setter="set_load_once" getter="should_load_once">
+ <member name="load_once" type="bool" setter="set_load_once" getter="should_load_once" default="true">
</member>
- <member name="reloadable" type="bool" setter="set_reloadable" getter="is_reloadable">
+ <member name="reloadable" type="bool" setter="set_reloadable" getter="is_reloadable" default="true">
</member>
- <member name="singleton" type="bool" setter="set_singleton" getter="is_singleton">
+ <member name="singleton" type="bool" setter="set_singleton" getter="is_singleton" default="false">
</member>
- <member name="symbol_prefix" type="String" setter="set_symbol_prefix" getter="get_symbol_prefix">
+ <member name="symbol_prefix" type="String" setter="set_symbol_prefix" getter="get_symbol_prefix" default="&quot;godot_&quot;">
</member>
</members>
<constants>
diff --git a/modules/gdnative/doc_classes/NativeScript.xml b/modules/gdnative/doc_classes/NativeScript.xml
index ac8b793b22..460471386d 100644
--- a/modules/gdnative/doc_classes/NativeScript.xml
+++ b/modules/gdnative/doc_classes/NativeScript.xml
@@ -51,13 +51,13 @@
</method>
</methods>
<members>
- <member name="class_name" type="String" setter="set_class_name" getter="get_class_name">
+ <member name="class_name" type="String" setter="set_class_name" getter="get_class_name" default="&quot;&quot;">
</member>
- <member name="library" type="GDNativeLibrary" setter="set_library" getter="get_library">
+ <member name="library" type="GDNativeLibrary" setter="set_library" getter="get_library" default="null">
</member>
- <member name="script_class_icon_path" type="String" setter="set_script_class_icon_path" getter="get_script_class_icon_path">
+ <member name="script_class_icon_path" type="String" setter="set_script_class_icon_path" getter="get_script_class_icon_path" default="&quot;&quot;">
</member>
- <member name="script_class_name" type="String" setter="set_script_class_name" getter="get_script_class_name">
+ <member name="script_class_name" type="String" setter="set_script_class_name" getter="get_script_class_name" default="&quot;&quot;">
</member>
</members>
<constants>
diff --git a/modules/gdnative/gdnative.cpp b/modules/gdnative/gdnative.cpp
index a27935bfe2..4eb9a2a0a3 100644
--- a/modules/gdnative/gdnative.cpp
+++ b/modules/gdnative/gdnative.cpp
@@ -48,7 +48,7 @@ static const bool default_reloadable = true;
// Defined in gdnative_api_struct.gen.cpp
extern const godot_gdnative_core_api_struct api_struct;
-Map<String, Vector<Ref<GDNative> > > *GDNativeLibrary::loaded_libraries = NULL;
+Map<String, Vector<Ref<GDNative> > > GDNativeLibrary::loaded_libraries;
GDNativeLibrary::GDNativeLibrary() {
config_file.instance();
@@ -57,10 +57,6 @@ GDNativeLibrary::GDNativeLibrary() {
load_once = default_load_once;
singleton = default_singleton;
reloadable = default_reloadable;
-
- if (GDNativeLibrary::loaded_libraries == NULL) {
- GDNativeLibrary::loaded_libraries = memnew((Map<String, Vector<Ref<GDNative> > >));
- }
}
GDNativeLibrary::~GDNativeLibrary() {
@@ -318,10 +314,10 @@ bool GDNative::initialize() {
#endif
if (library->should_load_once()) {
- if (GDNativeLibrary::loaded_libraries->has(lib_path)) {
+ if (GDNativeLibrary::loaded_libraries.has(lib_path)) {
// already loaded. Don't load again.
// copy some of the stuff instead
- this->native_handle = (*GDNativeLibrary::loaded_libraries)[lib_path][0]->native_handle;
+ this->native_handle = GDNativeLibrary::loaded_libraries[lib_path][0]->native_handle;
initialized = true;
return true;
}
@@ -377,11 +373,11 @@ bool GDNative::initialize() {
initialized = true;
- if (library->should_load_once() && !GDNativeLibrary::loaded_libraries->has(lib_path)) {
+ if (library->should_load_once() && !GDNativeLibrary::loaded_libraries.has(lib_path)) {
Vector<Ref<GDNative> > gdnatives;
gdnatives.resize(1);
gdnatives.write[0] = Ref<GDNative>(this);
- GDNativeLibrary::loaded_libraries->insert(lib_path, gdnatives);
+ GDNativeLibrary::loaded_libraries.insert(lib_path, gdnatives);
}
return true;
@@ -395,7 +391,7 @@ bool GDNative::terminate() {
}
if (library->should_load_once()) {
- Vector<Ref<GDNative> > *gdnatives = &(*GDNativeLibrary::loaded_libraries)[library->get_current_library_path()];
+ Vector<Ref<GDNative> > *gdnatives = &GDNativeLibrary::loaded_libraries[library->get_current_library_path()];
if (gdnatives->size() > 1) {
// there are other GDNative's still using this library, so we actually don't terminate
gdnatives->erase(Ref<GDNative>(this));
@@ -405,7 +401,7 @@ bool GDNative::terminate() {
// we're the last one, terminate!
gdnatives->clear();
// whew this looks scary, but all it does is remove the entry completely
- GDNativeLibrary::loaded_libraries->erase(GDNativeLibrary::loaded_libraries->find(library->get_current_library_path()));
+ GDNativeLibrary::loaded_libraries.erase(GDNativeLibrary::loaded_libraries.find(library->get_current_library_path()));
}
}
diff --git a/modules/gdnative/gdnative.h b/modules/gdnative/gdnative.h
index 005d1d2bff..408af26753 100644
--- a/modules/gdnative/gdnative.h
+++ b/modules/gdnative/gdnative.h
@@ -47,7 +47,7 @@ class GDNative;
class GDNativeLibrary : public Resource {
GDCLASS(GDNativeLibrary, Resource);
- static Map<String, Vector<Ref<GDNative> > > *loaded_libraries;
+ static Map<String, Vector<Ref<GDNative> > > loaded_libraries;
friend class GDNativeLibraryResourceLoader;
friend class GDNative;
diff --git a/modules/gdnative/gdnative/array.cpp b/modules/gdnative/gdnative/array.cpp
index 6849ff03d7..1ef8e9f900 100644
--- a/modules/gdnative/gdnative/array.cpp
+++ b/modules/gdnative/gdnative/array.cpp
@@ -305,13 +305,13 @@ void GDAPI godot_array_sort_custom(godot_array *p_self, godot_object *p_obj, con
godot_int GDAPI godot_array_bsearch(godot_array *p_self, const godot_variant *p_value, const godot_bool p_before) {
Array *self = (Array *)p_self;
- return self->bsearch((const Variant *)p_value, p_before);
+ return self->bsearch(*(const Variant *)p_value, p_before);
}
godot_int GDAPI godot_array_bsearch_custom(godot_array *p_self, const godot_variant *p_value, godot_object *p_obj, const godot_string *p_func, const godot_bool p_before) {
Array *self = (Array *)p_self;
const String *func = (const String *)p_func;
- return self->bsearch_custom((const Variant *)p_value, (Object *)p_obj, *func, p_before);
+ return self->bsearch_custom(*(const Variant *)p_value, (Object *)p_obj, *func, p_before);
}
void GDAPI godot_array_destroy(godot_array *p_self) {
diff --git a/editor/icons/icon_g_d_native_library.svg b/modules/gdnative/icons/icon_g_d_native_library.svg
index b494c7af6e..b494c7af6e 100644
--- a/editor/icons/icon_g_d_native_library.svg
+++ b/modules/gdnative/icons/icon_g_d_native_library.svg
diff --git a/editor/icons/icon_native_script.svg b/modules/gdnative/icons/icon_native_script.svg
index fb9e135627..fb9e135627 100644
--- a/editor/icons/icon_native_script.svg
+++ b/modules/gdnative/icons/icon_native_script.svg
diff --git a/modules/gdnative/include/gdnative/gdnative.h b/modules/gdnative/include/gdnative/gdnative.h
index 3c457bf5a7..884bcf60d2 100644
--- a/modules/gdnative/include/gdnative/gdnative.h
+++ b/modules/gdnative/include/gdnative/gdnative.h
@@ -67,7 +67,7 @@ extern "C" {
////// Error
typedef enum {
- GODOT_OK,
+ GODOT_OK, // (0)
GODOT_FAILED, ///< Generic fail error
GODOT_ERR_UNAVAILABLE, ///< What is requested is unsupported/unavailable
GODOT_ERR_UNCONFIGURED, ///< The object being used hasn't been properly set up yet
@@ -97,12 +97,12 @@ typedef enum {
GODOT_ERR_CONNECTION_ERROR,
GODOT_ERR_CANT_ACQUIRE_RESOURCE,
GODOT_ERR_CANT_FORK,
- GODOT_ERR_INVALID_DATA, ///< Data passed is invalid (30)
+ GODOT_ERR_INVALID_DATA, ///< Data passed is invalid (30)
GODOT_ERR_INVALID_PARAMETER, ///< Parameter passed is invalid
GODOT_ERR_ALREADY_EXISTS, ///< When adding, item already exists
GODOT_ERR_DOES_NOT_EXIST, ///< When retrieving/erasing, it item does not exist
GODOT_ERR_DATABASE_CANT_READ, ///< database is full
- GODOT_ERR_DATABASE_CANT_WRITE, ///< database is full (35)
+ GODOT_ERR_DATABASE_CANT_WRITE, ///< database is full (35)
GODOT_ERR_COMPILATION_FAILED,
GODOT_ERR_METHOD_NOT_FOUND,
GODOT_ERR_LINK_FAILED,
diff --git a/modules/gdnative/net/multiplayer_peer_gdnative.cpp b/modules/gdnative/net/multiplayer_peer_gdnative.cpp
index bdeba149d2..d2c95efa77 100644
--- a/modules/gdnative/net/multiplayer_peer_gdnative.cpp
+++ b/modules/gdnative/net/multiplayer_peer_gdnative.cpp
@@ -113,6 +113,8 @@ NetworkedMultiplayerPeer::ConnectionStatus MultiplayerPeerGDNative::get_connecti
}
void MultiplayerPeerGDNative::_bind_methods() {
+ ADD_PROPERTY_DEFAULT("transfer_mode", TRANSFER_MODE_UNRELIABLE);
+ ADD_PROPERTY_DEFAULT("refuse_new_connections", true);
}
extern "C" {
diff --git a/modules/gdnative/pluginscript/pluginscript_language.cpp b/modules/gdnative/pluginscript/pluginscript_language.cpp
index 7cb47ec623..4bbadc62e7 100644
--- a/modules/gdnative/pluginscript/pluginscript_language.cpp
+++ b/modules/gdnative/pluginscript/pluginscript_language.cpp
@@ -216,7 +216,7 @@ void PluginScriptLanguage::get_public_constants(List<Pair<String, Variant> > *p_
Dictionary constants;
_desc.get_public_constants(_data, (godot_dictionary *)&constants);
for (const Variant *key = constants.next(); key; key = constants.next(key)) {
- Variant value = constants[key];
+ Variant value = constants[*key];
p_constants->push_back(Pair<String, Variant>(*key, value));
}
}
diff --git a/modules/gdnative/pluginscript/pluginscript_script.cpp b/modules/gdnative/pluginscript/pluginscript_script.cpp
index 1d6f9db349..3ecb29404a 100644
--- a/modules/gdnative/pluginscript/pluginscript_script.cpp
+++ b/modules/gdnative/pluginscript/pluginscript_script.cpp
@@ -229,6 +229,8 @@ void PluginScript::set_source_code(const String &p_code) {
}
Error PluginScript::reload(bool p_keep_state) {
+ ERR_FAIL_COND_V(!_language, ERR_UNCONFIGURED);
+
_language->lock();
ERR_FAIL_COND_V(!p_keep_state && _instances.size(), ERR_ALREADY_IN_USE);
_language->unlock();
@@ -284,7 +286,7 @@ Error PluginScript::reload(bool p_keep_state) {
Dictionary *members = (Dictionary *)&manifest.member_lines;
for (const Variant *key = members->next(); key != NULL; key = members->next(key)) {
- _member_lines[*key] = (*members)[key];
+ _member_lines[*key] = (*members)[*key];
}
Array *methods = (Array *)&manifest.methods;
for (int i = 0; i < methods->size(); ++i) {
@@ -473,6 +475,8 @@ MultiplayerAPI::RPCMode PluginScript::get_rset_mode(const StringName &p_variable
PluginScript::PluginScript() :
_data(NULL),
+ _desc(NULL),
+ _language(NULL),
_tool(false),
_valid(false),
_script_list(this) {
@@ -490,11 +494,15 @@ void PluginScript::init(PluginScriptLanguage *language) {
}
PluginScript::~PluginScript() {
- _desc->finish(_data);
+ if (_desc && _data) {
+ _desc->finish(_data);
+ }
#ifdef DEBUG_ENABLED
- _language->lock();
- _language->_script_list.remove(&_script_list);
- _language->unlock();
+ if (_language) {
+ _language->lock();
+ _language->_script_list.remove(&_script_list);
+ _language->unlock();
+ }
#endif
}
diff --git a/modules/gdscript/doc_classes/@GDScript.xml b/modules/gdscript/doc_classes/@GDScript.xml
index b6de5dbf62..3870a5ea7d 100644
--- a/modules/gdscript/doc_classes/@GDScript.xml
+++ b/modules/gdscript/doc_classes/@GDScript.xml
@@ -149,7 +149,7 @@
<argument index="1" name="y" type="float">
</argument>
<description>
- Converts a 2D point expressed in the cartesian coordinate system (x and y axis) to the polar coordinate system (a distance from the origin and an angle).
+ Converts a 2D point expressed in the cartesian coordinate system (X and Y axis) to the polar coordinate system (a distance from the origin and an angle).
</description>
</method>
<method name="ceil">
@@ -173,10 +173,8 @@
<description>
Returns a character as a String of the given ASCII code.
[codeblock]
- # a is 'A'
- a = char(65)
- # a is 'a'
- a = char(65 + 32)
+ a = char(65) # a is "A"
+ a = char(65 + 32) # a is "a"
[/codeblock]
</description>
</method>
@@ -210,14 +208,13 @@
<argument index="1" name="type" type="int">
</argument>
<description>
- Converts from a type to another in the best way possible. The [code]type[/code] parameter uses the enum TYPE_* in [@GlobalScope].
+ Converts from a type to another in the best way possible. The [code]type[/code] parameter uses the enum [code]TYPE_*[/code] in [@GlobalScope].
[codeblock]
a = Vector2(1, 0)
- # prints 1
+ # Prints 1
print(a.length())
a = convert(a, TYPE_STRING)
- # prints 6
- # (1, 0) is 6 characters
+ # Prints 6 as "(1, 0)" is 6 characters
print(a.length())
[/codeblock]
</description>
@@ -230,7 +227,7 @@
<description>
Returns the cosine of angle [code]s[/code] in radians.
[codeblock]
- # prints 1 and -1
+ # Prints 1 then -1
print(cos(PI * 2))
print(cos(PI))
[/codeblock]
@@ -244,7 +241,7 @@
<description>
Returns the hyperbolic cosine of [code]s[/code] in radians.
[codeblock]
- # prints 1.543081
+ # Prints 1.543081
print(cosh(1))
[/codeblock]
</description>
@@ -264,7 +261,7 @@
<argument index="0" name="step" type="float">
</argument>
<description>
- Deprecated alias for "[method step_decimals]".
+ Deprecated alias for [method step_decimals].
</description>
</method>
<method name="dectime">
@@ -326,7 +323,7 @@
The natural exponential function. It raises the mathematical constant [b]e[/b] to the power of [code]s[/code] and returns it.
[b]e[/b] has an approximate value of 2.71828.
[codeblock]
- a = exp(2) # approximately 7.39
+ a = exp(2) # Approximately 7.39
[/codeblock]
</description>
</method>
@@ -355,7 +352,7 @@
<description>
Returns the floating-point remainder of [code]x/y[/code].
[codeblock]
- # remainder is 1.5
+ # Remainder is 1.5
var remainder = fmod(7, 5.5)
[/codeblock]
</description>
@@ -404,7 +401,7 @@
return("bar")
a = funcref(self, "foo")
- print(a.call_func()) # prints bar
+ print(a.call_func()) # Prints bar
[/codeblock]
</description>
</method>
@@ -437,7 +434,7 @@
<description>
Returns the integer hash of the variable passed.
[codeblock]
- print(hash("a")) # prints 177670
+ print(hash("a")) # Prints 177670
[/codeblock]
</description>
</method>
@@ -474,7 +471,7 @@
func _ready():
var id = get_instance_id()
var inst = instance_from_id(id)
- print(inst.foo) # prints bar
+ print(inst.foo) # Prints bar
[/codeblock]
</description>
</method>
@@ -490,7 +487,7 @@
<description>
Returns a normalized value considering the given range.
[codeblock]
- inverse_lerp(3, 5, 4) # returns 0.5
+ inverse_lerp(3, 5, 4) # Returns 0.5
[/codeblock]
</description>
</method>
@@ -551,7 +548,7 @@
[b]Note:[/b] Generates a fatal error if Variant can not provide a length.
[codeblock]
a = [1, 2, 3, 4]
- len(a) # returns 4
+ len(a) # Returns 4
[/codeblock]
</description>
</method>
@@ -569,8 +566,8 @@
If the [code]from[/code] and [code]to[/code] arguments are of type [int] or [float], the return value is a [float].
If both are of the same vector type ([Vector2], [Vector3] or [Color]), the return value will be of the same type ([code]lerp[/code] then calls the vector type's [code]linear_interpolate[/code] method).
[codeblock]
- lerp(0, 4, 0.75) # returns 3.0
- lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # returns Vector2(2, 3.5)
+ lerp(0, 4, 0.75) # Returns 3.0
+ lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Returns Vector2(2, 3.5)
[/codeblock]
</description>
</method>
@@ -590,9 +587,9 @@
</argument>
<description>
Loads a resource from the filesystem located at [code]path[/code].
- [b]Note:[/b] Resource paths can be obtained by right clicking on a resource in the Assets Panel and choosing "Copy Path".
+ [b]Note:[/b] Resource paths can be obtained by right-clicking on a resource in the FileSystem dock and choosing [b]Copy Path[/b].
[codeblock]
- # load a scene called main located in the root of the project directory
+ # Load a scene called main located in the root of the project directory
var main = load("res://main.tscn")
[/codeblock]
</description>
@@ -604,9 +601,9 @@
</argument>
<description>
Natural logarithm. The amount of time needed to reach a certain level of continuous growth.
- [b]Note:[/b] This is not the same as the log function on your calculator which is a base 10 logarithm.
+ [b]Note:[/b] This is not the same as the "log" function on most calculators, which uses a base 10 logarithm.
[codeblock]
- log(10) # returns 2.302585
+ log(10) # Returns 2.302585
[/codeblock]
</description>
</method>
@@ -620,8 +617,8 @@
<description>
Returns the maximum of two values.
[codeblock]
- max(1, 2) # returns 2
- max(-3.99, -4) # returns -3.99
+ max(1, 2) # Returns 2
+ max(-3.99, -4) # Returns -3.99
[/codeblock]
</description>
</method>
@@ -635,8 +632,8 @@
<description>
Returns the minimum of two values.
[codeblock]
- min(1, 2) # returns 1
- min(-3.99, -4) # returns -4
+ min(1, 2) # Returns 1
+ min(-3.99, -4) # Returns -4
[/codeblock]
</description>
</method>
@@ -653,7 +650,7 @@
Moves [code]from[/code] toward [code]to[/code] by the [code]delta[/code] value.
Use a negative [code]delta[/code] value to move away.
[codeblock]
- move_toward(10, 5, 4) # returns 6
+ move_toward(10, 5, 4) # Returns 6
[/codeblock]
</description>
</method>
@@ -665,9 +662,9 @@
<description>
Returns the nearest larger power of 2 for integer [code]value[/code].
[codeblock]
- nearest_po2(3) # returns 4
- nearest_po2(4) # returns 4
- nearest_po2(5) # returns 8
+ nearest_po2(3) # Returns 4
+ nearest_po2(4) # Returns 4
+ nearest_po2(5) # Returns 8
[/codeblock]
</description>
</method>
@@ -683,7 +680,7 @@
[codeblock]
p = parse_json('["a", "b", "c"]')
if typeof(p) == TYPE_ARRAY:
- print(p[0]) # prints a
+ print(p[0]) # Prints a
else:
print("unexpected results")
[/codeblock]
@@ -697,7 +694,7 @@
<argument index="1" name="th" type="float">
</argument>
<description>
- Converts a 2D point expressed in the polar coordinate system (a distance from the origin [code]r[/code] and an angle [code]th[/code]) to the cartesian coordinate system (x and y axis).
+ Converts a 2D point expressed in the polar coordinate system (a distance from the origin [code]r[/code] and an angle [code]th[/code]) to the cartesian coordinate system (X and Y axis).
</description>
</method>
<method name="pow">
@@ -710,7 +707,7 @@
<description>
Returns the result of [code]x[/code] raised to the power of [code]y[/code].
[codeblock]
- pow(2, 5) # returns 32
+ pow(2, 5) # Returns 32
[/codeblock]
</description>
</method>
@@ -723,7 +720,7 @@
Returns a resource from the filesystem that is loaded during script parsing.
[b]Note:[/b] Resource paths can be obtained by right clicking on a resource in the Assets Panel and choosing "Copy Path".
[codeblock]
- # load a scene called main located in the root of the project directory
+ # Load a scene called main located in the root of the project directory
var main = preload("res://main.tscn")
[/codeblock]
</description>
@@ -735,7 +732,7 @@
Converts one or more arguments to strings in the best way possible and prints them to the console.
[codeblock]
a = [1, 2, 3]
- print("a", "b", a) # prints ab[1, 2, 3]
+ print("a", "b", a) # Prints ab[1, 2, 3]
[/codeblock]
</description>
</method>
@@ -775,7 +772,7 @@
[codeblock]
printraw("A")
printraw("B")
- # prints AB
+ # Prints AB
[/codeblock]
</description>
</method>
@@ -785,7 +782,7 @@
<description>
Prints one or more arguments to the console with a space between each argument.
[codeblock]
- prints("A", "B", "C") # prints A B C
+ prints("A", "B", "C") # Prints A B C
[/codeblock]
</description>
</method>
@@ -795,7 +792,7 @@
<description>
Prints one or more arguments to the console with a tab between each argument.
[codeblock]
- printt("A", "B", "C") # prints A B C
+ printt("A", "B", "C") # Prints A B C
[/codeblock]
</description>
</method>
@@ -807,7 +804,7 @@
<description>
Pushes an error message to Godot's built-in debugger and to the OS terminal.
[codeblock]
- push_error("test error") # prints "test error" to debugger and terminal as error call
+ push_error("test error") # Prints "test error" to debugger and terminal as error call
[/codeblock]
</description>
</method>
@@ -819,7 +816,7 @@
<description>
Pushes a warning message to Godot's built-in debugger and to the OS terminal.
[codeblock]
- push_warning("test warning") # prints "test warning" to debugger and terminal as warning call
+ push_warning("test warning") # Prints "test warning" to debugger and terminal as warning call
[/codeblock]
</description>
</method>
@@ -831,7 +828,7 @@
<description>
Converts from radians to degrees.
[codeblock]
- rad2deg(0.523599) # returns 30
+ rad2deg(0.523599) # Returns 30
[/codeblock]
</description>
</method>
@@ -845,7 +842,7 @@
<description>
Random range, any floating point value between [code]from[/code] and [code]to[/code].
[codeblock]
- prints(rand_range(0, 1), rand_range(0, 1)) # prints e.g. 0.135591 0.405263
+ prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263
[/codeblock]
</description>
</method>
@@ -864,7 +861,7 @@
<description>
Returns a random floating point value on the interval [code][0, 1][/code].
[codeblock]
- randf() # returns e.g. 0.375671
+ randf() # Returns e.g. 0.375671
[/codeblock]
</description>
</method>
@@ -874,10 +871,10 @@
<description>
Returns a random unsigned 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() # returns random integer between 0 and 2^32 - 1
- randi() % 20 # returns random integer between 0 and 19
- randi() % 100 # returns random integer between 0 and 99
- randi() % 100 + 1 # returns random integer between 1 and 100
+ randi() # Returns random integer between 0 and 2^32 - 1
+ randi() % 20 # Returns random integer between 0 and 19
+ randi() % 100 # Returns random integer between 0 and 99
+ randi() % 100 + 1 # Returns random integer between 1 and 100
[/codeblock]
</description>
</method>
@@ -938,7 +935,7 @@
<description>
Maps a [code]value[/code] from range [code][istart, istop][/code] to [code][ostart, ostop][/code].
[codeblock]
- range_lerp(75, 0, 100, -1, 1) # returns 0.5
+ range_lerp(75, 0, 100, -1, 1) # Returns 0.5
[/codeblock]
</description>
</method>
@@ -950,7 +947,7 @@
<description>
Returns the integral value that is nearest to [code]s[/code], with halfway cases rounded away from zero.
[codeblock]
- round(2.6) # returns 3
+ round(2.6) # Returns 3
[/codeblock]
</description>
</method>
@@ -975,9 +972,9 @@
<description>
Returns the sign of [code]s[/code]: -1 or 1. Returns 0 if [code]s[/code] is 0.
[codeblock]
- sign(-6) # returns -1
- sign(0) # returns 0
- sign(6) # returns 1
+ sign(-6) # Returns -1
+ sign(0) # Returns 0
+ sign(6) # Returns 1
[/codeblock]
</description>
</method>
@@ -989,7 +986,7 @@
<description>
Returns the sine of angle [code]s[/code] in radians.
[codeblock]
- sin(0.523599) # returns 0.5
+ sin(0.523599) # Returns 0.5
[/codeblock]
</description>
</method>
@@ -1001,8 +998,8 @@
<description>
Returns the hyperbolic sine of [code]s[/code].
[codeblock]
- a = log(2.0) # returns 0.693147
- sinh(a) # returns 0.75
+ a = log(2.0) # Returns 0.693147
+ sinh(a) # Returns 0.75
[/codeblock]
</description>
</method>
@@ -1018,9 +1015,9 @@
<description>
Returns a number smoothly interpolated between the [code]from[/code] and [code]to[/code], based on the [code]weight[/code]. Similar to [method lerp], but interpolates faster at the beginning and slower at the end.
[codeblock]
- smoothstep(0, 2, 0.5) # returns 0.15
- smoothstep(0, 2, 1.0) # returns 0.5
- smoothstep(0, 2, 2.0) # returns 1.0
+ smoothstep(0, 2, 0.5) # Returns 0.15
+ smoothstep(0, 2, 1.0) # Returns 0.5
+ smoothstep(0, 2, 2.0) # Returns 1.0
[/codeblock]
</description>
</method>
@@ -1032,7 +1029,7 @@
<description>
Returns the square root of [code]s[/code].
[codeblock]
- sqrt(9) # returns 3
+ sqrt(9) # Returns 3
[/codeblock]
</description>
</method>
@@ -1072,8 +1069,8 @@
[codeblock]
var a = [10, 20, 30]
var b = str(a);
- len(a) # returns 3
- len(b) # returns 12
+ len(a) # Returns 3
+ len(b) # Returns 12
[/codeblock]
</description>
</method>
@@ -1087,7 +1084,7 @@
[codeblock]
a = '{ "a": 1, "b": 2 }'
b = str2var(a)
- print(b['a']) # prints 1
+ print(b["a"]) # Prints 1
[/codeblock]
</description>
</method>
@@ -1099,7 +1096,7 @@
<description>
Returns the tangent of angle [code]s[/code] in radians.
[codeblock]
- tan(deg2rad(45)) # returns 1
+ tan(deg2rad(45)) # Returns 1
[/codeblock]
</description>
</method>
@@ -1111,8 +1108,8 @@
<description>
Returns the hyperbolic tangent of [code]s[/code].
[codeblock]
- a = log(2.0) # returns 0.693147
- tanh(a) # returns 0.6
+ a = log(2.0) # Returns 0.693147
+ tanh(a) # Returns 0.6
[/codeblock]
</description>
</method>
@@ -1124,7 +1121,7 @@
<description>
Converts a Variant [code]var[/code] to JSON text and return the result. Useful for serializing data to store or send over the network.
[codeblock]
- a = { 'a': 1, 'b': 2 }
+ a = { "a": 1, "b": 2 }
b = to_json(a)
print(b) # {"a":1, "b":2}
[/codeblock]
@@ -1138,8 +1135,8 @@
<description>
Returns whether the given class exists in [ClassDB].
[codeblock]
- type_exists("Sprite") # returns true
- type_exists("Variant") # returns false
+ type_exists("Sprite") # Returns true
+ type_exists("Variant") # Returns false
[/codeblock]
</description>
</method>
@@ -1149,11 +1146,11 @@
<argument index="0" name="what" type="Variant">
</argument>
<description>
- Returns the internal type of the given Variant object, using the TYPE_* enum in [@GlobalScope].
+ Returns the internal type of the given Variant object, using the [code]TYPE_*[/code] enum in [@GlobalScope].
[codeblock]
p = parse_json('["a", "b", "c"]')
if typeof(p) == TYPE_ARRAY:
- print(p[0]) # prints a
+ print(p[0]) # Prints a
else:
print("unexpected results")
[/codeblock]
@@ -1195,7 +1192,7 @@
<description>
Converts a Variant [code]var[/code] to a formatted string that can later be parsed using [method str2var].
[codeblock]
- a = { 'a': 1, 'b': 2 }
+ a = { "a": 1, "b": 2 }
print(var2str(a))
[/codeblock]
prints
@@ -1238,9 +1235,19 @@
a = wrapf(-0.5, 0.0, 10.0)
[/codeblock]
[codeblock]
- # infinite loop between 0.0 and 0.99
+ # Infinite loop between 0.0 and 0.99
f = wrapf(f + 0.1, 0.0, 1.0)
[/codeblock]
+ [codeblock]
+ # Infinite rotation (in radians)
+ angle = wrapf(angle + 0.1, 0.0, TAU)
+ [/codeblock]
+ [b]Note:[/b] If you just want to wrap between 0.0 and [code]n[/code] (where [code]n[/code] is a positive floating-point value), it is better for performance to use the [method fmod] method like [code]fmod(number, n)[/code].
+ [code]wrapf[/code] is more flexible than using the [method fmod] approach by giving the user a simple control over the minimum value. It also fully supports negative numbers, e.g.
+ [codeblock]
+ # Infinite rotation (in radians)
+ angle = wrapf(angle + 0.1, -PI, PI)
+ [/codeblock]
</description>
</method>
<method name="wrapi">
@@ -1264,9 +1271,15 @@
a = wrapi(-1, 0, 10)
[/codeblock]
[codeblock]
- # infinite loop between 0 and 9
+ # Infinite loop between 0 and 9
frame = wrapi(frame + 1, 0, 10)
[/codeblock]
+ [b]Note:[/b] If you just want to wrap between 0 and [code]n[/code] (where [code]n[/code] is a positive integer value), it is better for performance to use the modulo operator like [code]number % n[/code].
+ [code]wrapi[/code] is more flexible than using the modulo approach by giving the user a simple control over the minimum value. It also fully supports negative numbers, e.g.
+ [codeblock]
+ # result is -2
+ var result = wrapi(-6, -5, -1)
+ [/codeblock]
</description>
</method>
<method name="yield">
diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp
index 3fb9268702..bc28f7009e 100644
--- a/modules/gdscript/gdscript.cpp
+++ b/modules/gdscript/gdscript.cpp
@@ -69,7 +69,7 @@ Variant GDScriptNativeClass::_new() {
Object *o = instance();
if (!o) {
ERR_EXPLAIN("Class type: '" + String(name) + "' is not instantiable.");
- ERR_FAIL_COND_V(!o, Variant());
+ ERR_FAIL_V(Variant());
}
Reference *ref = Object::cast_to<Reference>(o);
@@ -332,7 +332,7 @@ ScriptInstance *GDScript::instance_create(Object *p_this) {
}
Variant::CallError unchecked_error;
- return _create_instance(NULL, 0, p_this, Object::cast_to<Reference>(p_this), unchecked_error);
+ return _create_instance(NULL, 0, p_this, Object::cast_to<Reference>(p_this) != NULL, unchecked_error);
}
PlaceHolderScriptInstance *GDScript::placeholder_instance_create(Object *p_this) {
diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp
index 189317b163..4c976bd2e0 100644
--- a/modules/gdscript/gdscript_compiler.cpp
+++ b/modules/gdscript/gdscript_compiler.cpp
@@ -1073,7 +1073,7 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser::
int set_index;
bool named = false;
- if (static_cast<const GDScriptParser::OperatorNode *>(op)->op == GDScriptParser::OperatorNode::OP_INDEX_NAMED) {
+ if (op->op == GDScriptParser::OperatorNode::OP_INDEX_NAMED) {
set_index = codegen.get_name_map_pos(static_cast<const GDScriptParser::IdentifierNode *>(op->arguments[1])->name);
named = true;
@@ -1259,8 +1259,6 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser::
ERR_FAIL_V(-1); //unreachable code
} break;
}
-
- ERR_FAIL_V(-1); //unreachable code
}
Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::BlockNode *p_block, int p_stack_level, int p_break_addr, int p_continue_addr) {
diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp
index 6c77968f44..26b14a6148 100644
--- a/modules/gdscript/gdscript_editor.cpp
+++ b/modules/gdscript/gdscript_editor.cpp
@@ -2498,7 +2498,8 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
} break;
case GDScriptParser::COMPLETION_FUNCTION: {
is_function = true;
- } // fallthrough
+ FALLTHROUGH;
+ }
case GDScriptParser::COMPLETION_IDENTIFIER: {
_find_identifiers(context, is_function, options);
} break;
@@ -2537,7 +2538,8 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
} break;
case GDScriptParser::COMPLETION_METHOD: {
is_function = true;
- } // fallthrough
+ FALLTHROUGH;
+ }
case GDScriptParser::COMPLETION_INDEX: {
const GDScriptParser::Node *node = parser.get_completion_node();
if (node->type != GDScriptParser::Node::TYPE_OPERATOR) {
@@ -3234,7 +3236,8 @@ Error GDScriptLanguage::lookup_code(const String &p_code, const String &p_symbol
case GDScriptParser::COMPLETION_PARENT_FUNCTION:
case GDScriptParser::COMPLETION_FUNCTION: {
is_function = true;
- } // fallthrough
+ FALLTHROUGH;
+ }
case GDScriptParser::COMPLETION_IDENTIFIER: {
if (!is_function) {
@@ -3365,7 +3368,8 @@ Error GDScriptLanguage::lookup_code(const String &p_code, const String &p_symbol
} break;
case GDScriptParser::COMPLETION_METHOD: {
is_function = true;
- } // fallthrough
+ FALLTHROUGH;
+ }
case GDScriptParser::COMPLETION_INDEX: {
const GDScriptParser::Node *node = parser.get_completion_node();
if (node->type != GDScriptParser::Node::TYPE_OPERATOR) {
diff --git a/modules/gdscript/gdscript_function.cpp b/modules/gdscript/gdscript_function.cpp
index bae5eca218..d5e74c07c9 100644
--- a/modules/gdscript/gdscript_function.cpp
+++ b/modules/gdscript/gdscript_function.cpp
@@ -1556,14 +1556,14 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
//error
// function, file, line, error, explanation
String err_file;
- if (p_instance)
+ if (p_instance && p_instance->script->is_valid() && p_instance->script->path != "")
err_file = p_instance->script->path;
else if (script)
err_file = script->path;
if (err_file == "")
err_file = "<built-in>";
String err_func = name;
- if (p_instance && p_instance->script->name != "")
+ if (p_instance && p_instance->script->is_valid() && p_instance->script->name != "")
err_func = p_instance->script->name + "." + err_func;
int err_line = line;
if (err_text == "") {
@@ -1591,15 +1591,26 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
GDScriptLanguage::get_singleton()->script_frame_time += time_taken - function_call_time;
}
- if (ScriptDebugger::get_singleton())
- GDScriptLanguage::get_singleton()->exit_function();
+ bool yielded = retvalue.is_ref() && Object::cast_to<GDScriptFunctionState>(retvalue);
+
+ // Check if this is the last time the function is resuming from yield
+ // Will be true if never yielded as well
+ // When it's the last resume it will postpone the exit from stack,
+ // so the debugger knows which function triggered the resume of the next function (if any)
+ if (!p_state || yielded) {
+ if (ScriptDebugger::get_singleton())
+ GDScriptLanguage::get_singleton()->exit_function();
#endif
- if (_stack_size) {
- //free stack
- for (int i = 0; i < _stack_size; i++)
- stack[i].~Variant();
+ if (_stack_size) {
+ //free stack
+ for (int i = 0; i < _stack_size; i++)
+ stack[i].~Variant();
+ }
+
+#ifdef DEBUG_ENABLED
}
+#endif
return retvalue;
}
@@ -1775,7 +1786,7 @@ Variant GDScriptFunctionState::_signal_callback(const Variant **p_args, int p_ar
if (state.instance_id && !ObjectDB::get_instance(state.instance_id)) {
#ifdef DEBUG_ENABLED
- ERR_EXPLAIN("Resumed after yield, but class instance is gone");
+ ERR_EXPLAIN("Resumed function '" + String(function->get_name()) + "()' after yield, but class instance is gone. At script: " + state.script->get_path() + ":" + itos(state.line));
ERR_FAIL_V(Variant());
#else
return Variant();
@@ -1838,6 +1849,17 @@ Variant GDScriptFunctionState::_signal_callback(const Variant **p_args, int p_ar
}
}
+#ifdef DEBUG_ENABLED
+ if (ScriptDebugger::get_singleton())
+ GDScriptLanguage::get_singleton()->exit_function();
+ if (state.stack_size) {
+ //free stack
+ Variant *stack = (Variant *)state.stack.ptr();
+ for (int i = 0; i < state.stack_size; i++)
+ stack[i].~Variant();
+ }
+#endif
+
return ret;
}
@@ -1860,7 +1882,7 @@ Variant GDScriptFunctionState::resume(const Variant &p_arg) {
ERR_FAIL_COND_V(!function, Variant());
if (state.instance_id && !ObjectDB::get_instance(state.instance_id)) {
#ifdef DEBUG_ENABLED
- ERR_EXPLAIN("Resumed after yield, but class instance is gone");
+ ERR_EXPLAIN("Resumed function '" + String(function->get_name()) + "()' after yield, but class instance is gone. At script: " + state.script->get_path() + ":" + itos(state.line));
ERR_FAIL_V(Variant());
#else
return Variant();
@@ -1892,6 +1914,17 @@ Variant GDScriptFunctionState::resume(const Variant &p_arg) {
} else {
emit_signal("completed", ret);
}
+
+#ifdef DEBUG_ENABLED
+ if (ScriptDebugger::get_singleton())
+ GDScriptLanguage::get_singleton()->exit_function();
+ if (state.stack_size) {
+ //free stack
+ Variant *stack = (Variant *)state.stack.ptr();
+ for (int i = 0; i < state.stack_size; i++)
+ stack[i].~Variant();
+ }
+#endif
}
return ret;
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp
index ec3e72eef7..9ab86a5459 100644
--- a/modules/gdscript/gdscript_parser.cpp
+++ b/modules/gdscript/gdscript_parser.cpp
@@ -463,7 +463,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
}
if (!path.is_abs_path() && base_path != "")
- path = base_path + "/" + path;
+ path = base_path.plus_file(path);
path = path.replace("///", "//").simplify_path();
if (path == self_path) {
@@ -847,24 +847,11 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
if (current_function) {
int arg_idx = current_function->arguments.find(identifier);
if (arg_idx != -1) {
- switch (tokenizer->get_token()) {
- case GDScriptTokenizer::TK_OP_ASSIGN_ADD:
- case GDScriptTokenizer::TK_OP_ASSIGN_BIT_AND:
- case GDScriptTokenizer::TK_OP_ASSIGN_BIT_OR:
- case GDScriptTokenizer::TK_OP_ASSIGN_BIT_XOR:
- case GDScriptTokenizer::TK_OP_ASSIGN_DIV:
- case GDScriptTokenizer::TK_OP_ASSIGN_MOD:
- case GDScriptTokenizer::TK_OP_ASSIGN_MUL:
- case GDScriptTokenizer::TK_OP_ASSIGN_SHIFT_LEFT:
- case GDScriptTokenizer::TK_OP_ASSIGN_SHIFT_RIGHT:
- case GDScriptTokenizer::TK_OP_ASSIGN_SUB:
- case GDScriptTokenizer::TK_OP_ASSIGN: {
- // Assignment is not really usage
- current_function->arguments_usage.write[arg_idx] = current_function->arguments_usage[arg_idx] - 1;
- } break;
- default: {
- current_function->arguments_usage.write[arg_idx] = current_function->arguments_usage[arg_idx] + 1;
- }
+ if (tokenizer->get_token() == GDScriptTokenizer::TK_OP_ASSIGN) {
+ // Assignment is not really usage
+ current_function->arguments_usage.write[arg_idx] = current_function->arguments_usage[arg_idx] - 1;
+ } else {
+ current_function->arguments_usage.write[arg_idx] = current_function->arguments_usage[arg_idx] + 1;
}
}
}
@@ -1150,7 +1137,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
if (!expr) {
ERR_EXPLAIN("GDScriptParser bug, couldn't figure out what expression is...");
- ERR_FAIL_COND_V(!expr, NULL);
+ ERR_FAIL_V(NULL);
}
/******************/
@@ -1493,7 +1480,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
if (next_op == -1) {
_set_error("Yet another parser bug....");
- ERR_FAIL_COND_V(next_op == -1, NULL);
+ ERR_FAIL_V(NULL);
}
// OK! create operator..
@@ -5944,11 +5931,8 @@ bool GDScriptParser::_is_type_compatible(const DataType &p_container, const Data
if (p_container.kind == DataType::BUILTIN && p_container.builtin_type == Variant::OBJECT) {
// Object built-in is a special case, it's compatible with any object and with null
- if (p_expression.kind == DataType::BUILTIN && p_expression.builtin_type == Variant::NIL) {
- return true;
- }
if (p_expression.kind == DataType::BUILTIN) {
- return false;
+ return p_expression.builtin_type == Variant::NIL;
}
// If it's not a built-in, must be an object
return true;
diff --git a/modules/gdscript/gdscript_tokenizer.cpp b/modules/gdscript/gdscript_tokenizer.cpp
index a93d1ceebb..95715ab648 100644
--- a/modules/gdscript/gdscript_tokenizer.cpp
+++ b/modules/gdscript/gdscript_tokenizer.cpp
@@ -1189,7 +1189,7 @@ Error GDScriptTokenizerBuffer::set_code_buffer(const Vector<uint8_t> &p_buffer)
int version = decode_uint32(&buf[4]);
if (version > BYTECODE_VERSION) {
ERR_EXPLAIN("Bytecode is too New! Please use a newer engine version.");
- ERR_FAIL_COND_V(version > BYTECODE_VERSION, ERR_INVALID_DATA);
+ ERR_FAIL_V(ERR_INVALID_DATA);
}
int identifier_count = decode_uint32(&buf[8]);
int constant_count = decode_uint32(&buf[12]);
@@ -1303,7 +1303,7 @@ Vector<uint8_t> GDScriptTokenizerBuffer::parse_code_string(const String &p_code)
} break;
case TK_CONSTANT: {
- Variant c = tt.get_token_constant();
+ const Variant &c = tt.get_token_constant();
if (!constant_map.has(c)) {
int idx = constant_map.size();
constant_map[c] = idx;
diff --git a/editor/icons/icon_g_d_script.svg b/modules/gdscript/icons/icon_g_d_script.svg
index 953bb9ae9e..953bb9ae9e 100644
--- a/editor/icons/icon_g_d_script.svg
+++ b/modules/gdscript/icons/icon_g_d_script.svg
diff --git a/modules/gridmap/doc_classes/GridMap.xml b/modules/gridmap/doc_classes/GridMap.xml
index f8f9fc1af9..325432579f 100644
--- a/modules/gridmap/doc_classes/GridMap.xml
+++ b/modules/gridmap/doc_classes/GridMap.xml
@@ -86,14 +86,14 @@
<return type="Array">
</return>
<description>
- Array of [Transform] and [Mesh] references corresponding to the non empty cells in the grid. The transforms are specified in world space.
+ Array of [Transform] and [Mesh] references corresponding to the non-empty cells in the grid. The transforms are specified in world space.
</description>
</method>
<method name="get_used_cells" qualifiers="const">
<return type="Array">
</return>
<description>
- Array of [Vector3] with the non empty cell coordinates in the grid map.
+ Array of [Vector3] with the non-empty cell coordinates in the grid map.
</description>
</method>
<method name="make_baked_meshes">
@@ -189,28 +189,28 @@
</method>
</methods>
<members>
- <member name="cell_center_x" type="bool" setter="set_center_x" getter="get_center_x">
+ <member name="cell_center_x" type="bool" setter="set_center_x" getter="get_center_x" default="true">
If [code]true[/code], grid items are centered on the X axis.
</member>
- <member name="cell_center_y" type="bool" setter="set_center_y" getter="get_center_y">
+ <member name="cell_center_y" type="bool" setter="set_center_y" getter="get_center_y" default="true">
If [code]true[/code], grid items are centered on the Y axis.
</member>
- <member name="cell_center_z" type="bool" setter="set_center_z" getter="get_center_z">
+ <member name="cell_center_z" type="bool" setter="set_center_z" getter="get_center_z" default="true">
If [code]true[/code], grid items are centered on the Z axis.
</member>
- <member name="cell_octant_size" type="int" setter="set_octant_size" getter="get_octant_size">
+ <member name="cell_octant_size" type="int" setter="set_octant_size" getter="get_octant_size" default="8">
The size of each octant measured in number of cells. This applies to all three axis.
</member>
- <member name="cell_scale" type="float" setter="set_cell_scale" getter="get_cell_scale">
+ <member name="cell_scale" type="float" setter="set_cell_scale" getter="get_cell_scale" default="1.0">
</member>
- <member name="cell_size" type="Vector3" setter="set_cell_size" getter="get_cell_size">
+ <member name="cell_size" type="Vector3" setter="set_cell_size" getter="get_cell_size" default="Vector3( 2, 2, 2 )">
The dimensions of the grid's cells.
</member>
- <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer">
+ <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1">
</member>
- <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
</member>
- <member name="mesh_library" type="MeshLibrary" setter="set_mesh_library" getter="get_mesh_library">
+ <member name="mesh_library" type="MeshLibrary" setter="set_mesh_library" getter="get_mesh_library" default="null">
The assigned [MeshLibrary].
</member>
<member name="theme" type="MeshLibrary" setter="set_theme" getter="get_theme">
diff --git a/modules/gridmap/grid_map_editor_plugin.cpp b/modules/gridmap/grid_map_editor_plugin.cpp
index 6b9a97efb4..20e454c218 100644
--- a/modules/gridmap/grid_map_editor_plugin.cpp
+++ b/modules/gridmap/grid_map_editor_plugin.cpp
@@ -235,7 +235,7 @@ void GridMapEditor::_menu_option(int p_option) {
options->get_popup()->set_item_checked(idx, !options->get_popup()->is_item_checked(idx));
} break;
- case MENU_OPTION_SELECTION_DUPLICATE: // fallthrough
+ case MENU_OPTION_SELECTION_DUPLICATE:
case MENU_OPTION_SELECTION_CUT: {
if (!(selection.active && input_action == INPUT_NONE))
break;
@@ -279,7 +279,7 @@ void GridMapEditor::_update_cursor_transform() {
cursor_transform = Transform();
cursor_transform.origin = cursor_origin;
cursor_transform.basis.set_orthogonal_index(cursor_rot);
- cursor_transform = node->get_transform() * cursor_transform;
+ cursor_transform = node->get_global_transform() * cursor_transform;
if (cursor_instance.is_valid()) {
VisualServer::get_singleton()->instance_set_transform(cursor_instance, cursor_transform);
@@ -420,7 +420,7 @@ bool GridMapEditor::do_input_action(Camera *p_camera, const Point2 &p_point, boo
}
last_mouseover = Vector3(cell[0], cell[1], cell[2]);
- VS::get_singleton()->instance_set_transform(grid_instance[edit_axis], Transform(Basis(), grid_ofs));
+ VS::get_singleton()->instance_set_transform(grid_instance[edit_axis], node->get_global_transform() * edit_grid_xform);
if (cursor_instance.is_valid()) {
diff --git a/editor/icons/icon_grid_map.svg b/modules/gridmap/icons/icon_grid_map.svg
index eafe1211f2..eafe1211f2 100644
--- a/editor/icons/icon_grid_map.svg
+++ b/modules/gridmap/icons/icon_grid_map.svg
diff --git a/modules/mbedtls/stream_peer_mbed_tls.cpp b/modules/mbedtls/stream_peer_mbed_tls.cpp
index 45d3b86919..4bb7557150 100755
--- a/modules/mbedtls/stream_peer_mbed_tls.cpp
+++ b/modules/mbedtls/stream_peer_mbed_tls.cpp
@@ -33,8 +33,6 @@
#include "core/io/stream_peer_tcp.h"
#include "core/os/file_access.h"
-#include <mbedtls/platform_util.h>
-
static void my_debug(void *ctx, int level,
const char *file, int line,
const char *str) {
@@ -122,6 +120,8 @@ Error StreamPeerMbedTLS::_do_handshake() {
Error StreamPeerMbedTLS::connect_to_stream(Ref<StreamPeer> p_base, bool p_validate_certs, const String &p_for_hostname) {
+ ERR_FAIL_COND_V(p_base.is_null(), ERR_INVALID_PARAMETER);
+
base = p_base;
int ret = 0;
int authmode = p_validate_certs ? MBEDTLS_SSL_VERIFY_REQUIRED : MBEDTLS_SSL_VERIFY_NONE;
diff --git a/modules/mbedtls/stream_peer_mbed_tls.h b/modules/mbedtls/stream_peer_mbed_tls.h
index 3ddbea3ce4..ab87b779c1 100755
--- a/modules/mbedtls/stream_peer_mbed_tls.h
+++ b/modules/mbedtls/stream_peer_mbed_tls.h
@@ -37,7 +37,6 @@
#include <mbedtls/ctr_drbg.h>
#include <mbedtls/debug.h>
#include <mbedtls/entropy.h>
-#include <mbedtls/net.h>
#include <mbedtls/ssl.h>
#include <stdio.h>
diff --git a/modules/mobile_vr/doc_classes/MobileVRInterface.xml b/modules/mobile_vr/doc_classes/MobileVRInterface.xml
index 8876bcbe9d..a132333a87 100644
--- a/modules/mobile_vr/doc_classes/MobileVRInterface.xml
+++ b/modules/mobile_vr/doc_classes/MobileVRInterface.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="MobileVRInterface" inherits="ARVRInterface" category="Core" version="3.2">
<brief_description>
- Generic mobile VR implementation
+ Generic mobile VR implementation.
</brief_description>
<description>
- This is a generic mobile VR implementation where you need to provide details about the phone and HMD used. It does not rely on any existing framework. This is the most basic interface we have. For the best effect you do need a mobile phone with a gyroscope and accelerometer.
- Note that even though there is no positional tracking the camera will assume the headset is at a height of 1.85 meters, you can change this by setting [member eye_height].
+ This is a generic mobile VR implementation where you need to provide details about the phone and HMD used. It does not rely on any existing framework. This is the most basic interface we have. For the best effect, you need a mobile phone with a gyroscope and accelerometer.
+ Note that even though there is no positional tracking, the camera will assume the headset is at a height of 1.85 meters. You can change this by setting [member eye_height].
You can initialise this interface as follows:
[codeblock]
var interface = ARVRServer.find_interface("Native mobile")
@@ -18,25 +18,25 @@
<methods>
</methods>
<members>
- <member name="display_to_lens" type="float" setter="set_display_to_lens" getter="get_display_to_lens">
+ <member name="display_to_lens" type="float" setter="set_display_to_lens" getter="get_display_to_lens" default="4.0">
The distance between the display and the lenses inside of the device in centimeters.
</member>
- <member name="display_width" type="float" setter="set_display_width" getter="get_display_width">
+ <member name="display_width" type="float" setter="set_display_width" getter="get_display_width" default="14.5">
The width of the display in centimeters.
</member>
- <member name="eye_height" type="float" setter="set_eye_height" getter="get_eye_height">
+ <member name="eye_height" type="float" setter="set_eye_height" getter="get_eye_height" default="1.85">
The height at which the camera is placed in relation to the ground (i.e. [ARVROrigin] node).
</member>
- <member name="iod" type="float" setter="set_iod" getter="get_iod">
+ <member name="iod" type="float" setter="set_iod" getter="get_iod" default="6.0">
The interocular distance, also known as the interpupillary distance. The distance between the pupils of the left and right eye.
</member>
- <member name="k1" type="float" setter="set_k1" getter="get_k1">
+ <member name="k1" type="float" setter="set_k1" getter="get_k1" default="0.215">
The k1 lens factor is one of the two constants that define the strength of the lens used and directly influences the lens distortion effect.
</member>
- <member name="k2" type="float" setter="set_k2" getter="get_k2">
+ <member name="k2" type="float" setter="set_k2" getter="get_k2" default="0.215">
The k2 lens factor, see k1.
</member>
- <member name="oversample" type="float" setter="set_oversample" getter="get_oversample">
+ <member name="oversample" type="float" setter="set_oversample" getter="get_oversample" default="1.5">
The oversample setting. Because of the lens distortion we have to render our buffers at a higher resolution then the screen can natively handle. A value between 1.5 and 2.0 often provides good results but at the cost of performance.
</member>
</members>
diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp
index 72199281ff..9522eaee77 100644
--- a/modules/mono/csharp_script.cpp
+++ b/modules/mono/csharp_script.cpp
@@ -2701,7 +2701,7 @@ ScriptInstance *CSharpScript::instance_create(Object *p_this) {
}
Variant::CallError unchecked_error;
- return _create_instance(NULL, 0, p_this, Object::cast_to<Reference>(p_this), unchecked_error);
+ return _create_instance(NULL, 0, p_this, Object::cast_to<Reference>(p_this) != NULL, unchecked_error);
}
PlaceHolderScriptInstance *CSharpScript::placeholder_instance_create(Object *p_this) {
@@ -2898,10 +2898,7 @@ void CSharpScript::update_exports() {
}
bool CSharpScript::has_script_signal(const StringName &p_signal) const {
- if (_signals.has(p_signal))
- return true;
-
- return false;
+ return _signals.has(p_signal);
}
void CSharpScript::get_script_signal_list(List<MethodInfo> *r_signals) const {
diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h
index 64e3b40063..a2f1ec8f27 100644
--- a/modules/mono/csharp_script.h
+++ b/modules/mono/csharp_script.h
@@ -337,7 +337,7 @@ public:
_FORCE_INLINE_ static CSharpLanguage *get_singleton() { return singleton; }
static void release_script_gchandle(Ref<MonoGCHandle> &p_gchandle);
- static void release_script_gchandle(MonoObject *p_pinned_expected_obj, Ref<MonoGCHandle> &p_gchandle);
+ static void release_script_gchandle(MonoObject *p_expected_obj, Ref<MonoGCHandle> &p_gchandle);
bool debug_break(const String &p_error, bool p_allow_continue = true);
bool debug_break_parse(const String &p_file, int p_line, const String &p_error);
diff --git a/modules/mono/editor/csharp_project.h b/modules/mono/editor/csharp_project.h
index 3d5a65f8da..b08c9090c7 100644
--- a/modules/mono/editor/csharp_project.h
+++ b/modules/mono/editor/csharp_project.h
@@ -36,7 +36,7 @@
namespace CSharpProject {
String generate_core_api_project(const String &p_dir, const Vector<String> &p_files = Vector<String>());
-String generate_editor_api_project(const String &p_dir, const String &p_core_dll_path, const Vector<String> &p_files = Vector<String>());
+String generate_editor_api_project(const String &p_dir, const String &p_core_proj_path, const Vector<String> &p_files = Vector<String>());
String generate_game_project(const String &p_dir, const String &p_name, const Vector<String> &p_files = Vector<String>());
void add_item(const String &p_project_path, const String &p_item_type, const String &p_include);
diff --git a/modules/mono/editor/godotsharp_editor.h b/modules/mono/editor/godotsharp_editor.h
index 4a28492bad..d5bd8ba126 100644
--- a/modules/mono/editor/godotsharp_editor.h
+++ b/modules/mono/editor/godotsharp_editor.h
@@ -35,7 +35,7 @@
#include "monodevelop_instance.h"
class GodotSharpEditor : public Node {
- GDCLASS(GodotSharpEditor, Object);
+ GDCLASS(GodotSharpEditor, Node);
EditorNode *editor;
diff --git a/modules/mono/mono_gd/gd_mono_internals.cpp b/modules/mono/mono_gd/gd_mono_internals.cpp
index 63bcfe053c..cb28efb4e5 100644
--- a/modules/mono/mono_gd/gd_mono_internals.cpp
+++ b/modules/mono/mono_gd/gd_mono_internals.cpp
@@ -105,8 +105,6 @@ void tie_managed_to_unmanaged(MonoObject *managed, Object *unmanaged) {
ScriptInstance *si = CSharpInstance::create_for_managed_type(unmanaged, script.ptr(), gchandle);
unmanaged->set_script_and_instance(script.get_ref_ptr(), si);
-
- return;
}
void unhandled_exception(MonoException *p_exc) {
diff --git a/modules/mono/utils/thread_local.h b/modules/mono/utils/thread_local.h
index 488cc2619a..e52b6e73ef 100644
--- a/modules/mono/utils/thread_local.h
+++ b/modules/mono/utils/thread_local.h
@@ -76,7 +76,7 @@ struct ThreadLocalStorage {
void *get_value() const;
void set_value(void *p_value) const;
- void alloc(void(_CALLBACK_FUNC_ *p_dest_callback)(void *));
+ void alloc(void(_CALLBACK_FUNC_ *p_destr_callback)(void *));
void free();
private:
diff --git a/modules/opensimplex/doc_classes/NoiseTexture.xml b/modules/opensimplex/doc_classes/NoiseTexture.xml
index c789724fc4..4826b6cd2a 100644
--- a/modules/opensimplex/doc_classes/NoiseTexture.xml
+++ b/modules/opensimplex/doc_classes/NoiseTexture.xml
@@ -12,21 +12,21 @@
<methods>
</methods>
<members>
- <member name="as_normalmap" type="bool" setter="set_as_normalmap" getter="is_normalmap">
+ <member name="as_normalmap" type="bool" setter="set_as_normalmap" getter="is_normalmap" default="false">
If [code]true[/code], the resulting texture contains a normal map created from the original noise interpreted as a bump map.
</member>
- <member name="bump_strength" type="float" setter="set_bump_strength" getter="get_bump_strength">
+ <member name="bump_strength" type="float" setter="set_bump_strength" getter="get_bump_strength" default="8.0">
</member>
- <member name="height" type="int" setter="set_height" getter="get_height">
+ <member name="height" type="int" setter="set_height" getter="get_height" default="512">
Height of the generated texture.
</member>
- <member name="noise" type="OpenSimplexNoise" setter="set_noise" getter="get_noise">
+ <member name="noise" type="OpenSimplexNoise" setter="set_noise" getter="get_noise" default="null">
The [OpenSimplexNoise] instance used to generate the noise.
</member>
- <member name="seamless" type="bool" setter="set_seamless" getter="get_seamless">
+ <member name="seamless" type="bool" setter="set_seamless" getter="get_seamless" default="false">
Whether the texture can be tiled without visible seams or not. Seamless textures take longer to generate.
</member>
- <member name="width" type="int" setter="set_width" getter="get_width">
+ <member name="width" type="int" setter="set_width" getter="get_width" default="512">
Width of the generated texture.
</member>
</members>
diff --git a/modules/opensimplex/doc_classes/OpenSimplexNoise.xml b/modules/opensimplex/doc_classes/OpenSimplexNoise.xml
index 894a1b3ced..f3fbbab3da 100644
--- a/modules/opensimplex/doc_classes/OpenSimplexNoise.xml
+++ b/modules/opensimplex/doc_classes/OpenSimplexNoise.xml
@@ -42,7 +42,7 @@
</argument>
<description>
Returns the 1D noise value [code][-1,1][/code] at the given x-coordinate.
- Note: This method actually returns the 2D noise value [code][-1,1][/code] with fixed y-coordinate value 0.0.
+ [b]Note:[/b] This method actually returns the 2D noise value [code][-1,1][/code] with fixed y-coordinate value 0.0.
</description>
</method>
<method name="get_noise_2d">
@@ -108,24 +108,24 @@
<argument index="0" name="size" type="int">
</argument>
<description>
- Generate a tileable noise image, based on the current noise parameters. Generated seamless images are always square ([code]size[/code] x [code]size[/code]).
+ Generate a tileable noise image, based on the current noise parameters. Generated seamless images are always square ([code]size[/code] × [code]size[/code]).
</description>
</method>
</methods>
<members>
- <member name="lacunarity" type="float" setter="set_lacunarity" getter="get_lacunarity">
+ <member name="lacunarity" type="float" setter="set_lacunarity" getter="get_lacunarity" default="2.0">
Difference in period between [member octaves].
</member>
- <member name="octaves" type="int" setter="set_octaves" getter="get_octaves">
+ <member name="octaves" type="int" setter="set_octaves" getter="get_octaves" default="3">
Number of OpenSimplex noise layers that are sampled to get the fractal noise.
</member>
- <member name="period" type="float" setter="set_period" getter="get_period">
+ <member name="period" type="float" setter="set_period" getter="get_period" default="64.0">
Period of the base octave. A lower period results in a higher-frequency noise (more value changes across the same distance).
</member>
- <member name="persistence" type="float" setter="set_persistence" getter="get_persistence">
+ <member name="persistence" type="float" setter="set_persistence" getter="get_persistence" default="0.5">
Contribution factor of the different octaves. A [code]persistence[/code] value of 1 means all the octaves have the same contribution, a value of 0.5 means each octave contributes half as much as the previous one.
</member>
- <member name="seed" type="int" setter="set_seed" getter="get_seed">
+ <member name="seed" type="int" setter="set_seed" getter="get_seed" default="0">
Seed used to generate random values, different seeds will generate different noise maps.
</member>
</members>
diff --git a/editor/icons/icon_noise_texture.svg b/modules/opensimplex/icons/icon_noise_texture.svg
index 5908c2b2d4..5908c2b2d4 100644
--- a/editor/icons/icon_noise_texture.svg
+++ b/modules/opensimplex/icons/icon_noise_texture.svg
diff --git a/modules/opensimplex/noise_texture.h b/modules/opensimplex/noise_texture.h
index 445bf974b8..5e4a02fcee 100644
--- a/modules/opensimplex/noise_texture.h
+++ b/modules/opensimplex/noise_texture.h
@@ -77,12 +77,12 @@ public:
Ref<OpenSimplexNoise> get_noise();
void set_width(int p_width);
- void set_height(int p_hieght);
+ void set_height(int p_height);
void set_seamless(bool p_seamless);
bool get_seamless();
- void set_as_normalmap(bool p_seamless);
+ void set_as_normalmap(bool p_as_normalmap);
bool is_normalmap();
void set_bump_strength(float p_bump_strength);
diff --git a/modules/regex/doc_classes/RegEx.xml b/modules/regex/doc_classes/RegEx.xml
index cc8205e400..74b06039d4 100644
--- a/modules/regex/doc_classes/RegEx.xml
+++ b/modules/regex/doc_classes/RegEx.xml
@@ -4,7 +4,7 @@
Class for searching text for patterns using regular expressions.
</brief_description>
<description>
- Regular Expression (or regex) is a compact programming language that can be used to recognise strings that follow a specific pattern, such as URLs, email addresses, complete sentences, etc. For instance, a regex of [code]ab[0-9][/code] would find any string that is [code]ab[/code] followed by any number from [code]0[/code] to [code]9[/code]. For a more in-depth look, you can easily find various tutorials and detailed explanations on the Internet.
+ A regular expression (or regex) is a compact language that can be used to recognise strings that follow a specific pattern, such as URLs, email addresses, complete sentences, etc. For instance, a regex of [code]ab[0-9][/code] would find any string that is [code]ab[/code] followed by any number from [code]0[/code] to [code]9[/code]. For a more in-depth look, you can easily find various tutorials and detailed explanations on the Internet.
To begin, the RegEx object needs to be compiled with the search pattern using [method compile] before it can be used.
[codeblock]
var regex = RegEx.new()
@@ -19,7 +19,7 @@
if result:
print(result.get_string()) # Would print n-0123
[/codeblock]
- The results of capturing groups [code]()[/code] can be retrieved by passing the group number to the various functions in [RegExMatch]. Group 0 is the default and would always refer to the entire pattern. In the above example, calling [code]result.get_string(1)[/code] would give you [code]0123[/code].
+ The results of capturing groups [code]()[/code] can be retrieved by passing the group number to the various functions in [RegExMatch]. Group 0 is the default and will always refer to the entire pattern. In the above example, calling [code]result.get_string(1)[/code] would give you [code]0123[/code].
This version of RegEx also supports named capturing groups, and the names can be used to retrieve the results. If two or more groups have the same name, the name would only refer to the first one with a match.
[codeblock]
var regex = RegEx.new()
@@ -28,7 +28,7 @@
if result:
print(result.get_string("digit")) # Would print 2f
[/codeblock]
- If you need to process multiple results, [method search_all] generates a list of all non-overlapping results. This can be combined with a for-loop for convenience.
+ If you need to process multiple results, [method search_all] generates a list of all non-overlapping results. This can be combined with a [code]for[/code] loop for convenience.
[codeblock]
for result in regex.search_all("d01, d03, d0c, x3f and x42"):
print(result.get_string("digit"))
@@ -43,7 +43,7 @@
<return type="void">
</return>
<description>
- This method resets the state of the object, as it was freshly created. Namely, it unassigns the regular expression of this object.
+ This method resets the state of the object, as if it was freshly created. Namely, it unassigns the regular expression of this object.
</description>
</method>
<method name="compile">
@@ -52,7 +52,7 @@
<argument index="0" name="pattern" type="String">
</argument>
<description>
- Compiles and assign the search pattern to use. Returns OK if the compilation is successful. If an error is encountered the details are printed to STDOUT and FAILED is returned.
+ Compiles and assign the search pattern to use. Returns [constant OK] if the compilation is successful. If an error is encountered, details are printed to standard output and an error is returned.
</description>
</method>
<method name="get_group_count" qualifiers="const">
@@ -93,7 +93,7 @@
<argument index="2" name="end" type="int" default="-1">
</argument>
<description>
- Searches the text for the compiled pattern. Returns a [RegExMatch] container of the first matching result if found, otherwise null. The region to search within can be specified without modifying where the start and end anchor would be.
+ Searches the text for the compiled pattern. Returns a [RegExMatch] container of the first matching result if found, otherwise [code]null[/code]. The region to search within can be specified without modifying where the start and end anchor would be.
</description>
</method>
<method name="search_all" qualifiers="const">
@@ -106,7 +106,7 @@
<argument index="2" name="end" type="int" default="-1">
</argument>
<description>
- Searches the text for the compiled pattern. Returns an array of [RegExMatch] containers for each non-overlapping result. If no results were found an empty array is returned instead. The region to search within can be specified without modifying where the start and end anchor would be.
+ Searches the text for the compiled pattern. Returns an array of [RegExMatch] containers for each non-overlapping result. If no results were found, an empty array is returned instead. The region to search within can be specified without modifying where the start and end anchor would be.
</description>
</method>
<method name="sub" qualifiers="const">
@@ -123,7 +123,7 @@
<argument index="4" name="end" type="int" default="-1">
</argument>
<description>
- Searches the text for the compiled pattern and replaces it with the specified string. Escapes and backreferences such as [code]$1[/code] and [code]$name[/code] are expanded and resolved. By default only the first instance is replaced but it can be changed for all instances (global replacement). The region to search within can be specified without modifying where the start and end anchor would be.
+ Searches the text for the compiled pattern and replaces it with the specified string. Escapes and backreferences such as [code]$1[/code] and [code]$name[/code] are expanded and resolved. By default, only the first instance is replaced, but it can be changed for all instances (global replacement). The region to search within can be specified without modifying where the start and end anchor would be.
</description>
</method>
</methods>
diff --git a/modules/regex/doc_classes/RegExMatch.xml b/modules/regex/doc_classes/RegExMatch.xml
index 245201006d..e279607d13 100644
--- a/modules/regex/doc_classes/RegExMatch.xml
+++ b/modules/regex/doc_classes/RegExMatch.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="RegExMatch" inherits="Reference" category="Core" version="3.2">
<brief_description>
- Contains the results of a regex search.
+ Contains the results of a [RegEx] search.
</brief_description>
<description>
- Contains the results of a single regex match returned by [method RegEx.search] and [method RegEx.search_all]. It can be used to find the position and range of the match and its capturing groups, and it can extract its sub-string for you.
+ Contains the results of a single [RegEx] match returned by [method RegEx.search] and [method RegEx.search_all]. It can be used to find the position and range of the match and its capturing groups, and it can extract its substring for you.
</description>
<tutorials>
</tutorials>
@@ -48,13 +48,15 @@
</method>
</methods>
<members>
- <member name="names" type="Dictionary" setter="" getter="get_names">
+ <member name="names" type="Dictionary" setter="" getter="get_names" default="{
+
+}">
A dictionary of named groups and its corresponding group number. Only groups with that were matched are included. If multiple groups have the same name, that name would refer to the first matching one.
</member>
- <member name="strings" type="Array" setter="" getter="get_strings">
+ <member name="strings" type="Array" setter="" getter="get_strings" default="[ ]">
An [Array] of the match and its capturing groups.
</member>
- <member name="subject" type="String" setter="" getter="get_subject">
+ <member name="subject" type="String" setter="" getter="get_subject" default="&quot;&quot;">
The source string used with the search pattern to find this matching result.
</member>
</members>
diff --git a/modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml b/modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml
index 388c5e81ed..9403199398 100644
--- a/modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml
+++ b/modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml
@@ -11,12 +11,12 @@
<methods>
</methods>
<members>
- <member name="data" type="PoolByteArray" setter="set_data" getter="get_data">
+ <member name="data" type="PoolByteArray" setter="set_data" getter="get_data" default="PoolByteArray( )">
Contains the audio data in bytes.
</member>
- <member name="loop" type="bool" setter="set_loop" getter="has_loop">
+ <member name="loop" type="bool" setter="set_loop" getter="has_loop" default="false">
</member>
- <member name="loop_offset" type="float" setter="set_loop_offset" getter="get_loop_offset">
+ <member name="loop_offset" type="float" setter="set_loop_offset" getter="get_loop_offset" default="0.0">
</member>
</members>
<constants>
diff --git a/modules/upnp/SCsub b/modules/upnp/SCsub
index 6d669ab73b..ec1d7f44d5 100644
--- a/modules/upnp/SCsub
+++ b/modules/upnp/SCsub
@@ -23,10 +23,11 @@ if env['builtin_miniupnpc']:
"portlistingparse.c",
"upnpreplyparse.c",
]
- thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
+ thirdparty_sources = [thirdparty_dir + "miniupnpc/" + file for file in thirdparty_sources]
env_upnp.Prepend(CPPPATH=[thirdparty_dir])
env_upnp.Append(CPPFLAGS=["-DMINIUPNP_STATICLIB"])
+ env_upnp.Append(CPPFLAGS=["-DMINIUPNPC_SET_SOCKET_TIMEOUT"])
env_thirdparty = env_upnp.Clone()
env_thirdparty.disable_warnings()
diff --git a/modules/upnp/doc_classes/UPNP.xml b/modules/upnp/doc_classes/UPNP.xml
index 0516ea9d54..aac0932995 100644
--- a/modules/upnp/doc_classes/UPNP.xml
+++ b/modules/upnp/doc_classes/UPNP.xml
@@ -5,6 +5,17 @@
</brief_description>
<description>
Provides UPNP functionality to discover [UPNPDevice]s on the local network and execute commands on them, like managing port mappings (port forwarding) and querying the local and remote network IP address. Note that methods on this class are synchronous and block the calling thread.
+ To forward a specific port:
+ [codeblock]
+ const PORT = 7777
+ var upnp = UPNP.new()
+ upnp.discover(2000, 2, "InternetGatewayDevice")
+ upnp.add_port_mapping(port)
+ [/codeblock]
+ To close a specific port (e.g. after you have finished using it):
+ [codeblock]
+ upnp.delete_port_mapping(port)
+ [/codeblock]
</description>
<tutorials>
</tutorials>
@@ -123,13 +134,13 @@
</method>
</methods>
<members>
- <member name="discover_ipv6" type="bool" setter="set_discover_ipv6" getter="is_discover_ipv6">
+ <member name="discover_ipv6" type="bool" setter="set_discover_ipv6" getter="is_discover_ipv6" default="false">
If [code]true[/code], IPv6 is used for [UPNPDevice] discovery.
</member>
- <member name="discover_local_port" type="int" setter="set_discover_local_port" getter="get_discover_local_port">
+ <member name="discover_local_port" type="int" setter="set_discover_local_port" getter="get_discover_local_port" default="0">
If [code]0[/code], the local port to use for discovery is chosen automatically by the system. If [code]1[/code], discovery will be done from the source port 1900 (same as destination port). Otherwise, the value will be used as the port.
</member>
- <member name="discover_multicast_if" type="String" setter="set_discover_multicast_if" getter="get_discover_multicast_if">
+ <member name="discover_multicast_if" type="String" setter="set_discover_multicast_if" getter="get_discover_multicast_if" default="&quot;&quot;">
Multicast interface to use for discovery. Uses the default multicast interface if empty.
</member>
</members>
@@ -171,7 +182,7 @@
No port maps are available. May also be returned if port mapping functionality is not available.
</constant>
<constant name="UPNP_RESULT_CONFLICT_WITH_OTHER_MECHANISM" value="12" enum="UPNPResult">
- Conflict with other mechanism. May be returned instead of [code]UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING[/code] if a port mapping conflicts with an existing one.
+ Conflict with other mechanism. May be returned instead of [constant UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING] if a port mapping conflicts with an existing one.
</constant>
<constant name="UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING" value="13" enum="UPNPResult">
Conflict with an existing port mapping.
diff --git a/modules/upnp/doc_classes/UPNPDevice.xml b/modules/upnp/doc_classes/UPNPDevice.xml
index 1d9a728365..4d3a0f4f1d 100644
--- a/modules/upnp/doc_classes/UPNPDevice.xml
+++ b/modules/upnp/doc_classes/UPNPDevice.xml
@@ -53,22 +53,22 @@
</method>
</methods>
<members>
- <member name="description_url" type="String" setter="set_description_url" getter="get_description_url">
+ <member name="description_url" type="String" setter="set_description_url" getter="get_description_url" default="&quot;&quot;">
URL to the device description.
</member>
- <member name="igd_control_url" type="String" setter="set_igd_control_url" getter="get_igd_control_url">
+ <member name="igd_control_url" type="String" setter="set_igd_control_url" getter="get_igd_control_url" default="&quot;&quot;">
IDG control URL.
</member>
- <member name="igd_our_addr" type="String" setter="set_igd_our_addr" getter="get_igd_our_addr">
+ <member name="igd_our_addr" type="String" setter="set_igd_our_addr" getter="get_igd_our_addr" default="&quot;&quot;">
Address of the local machine in the network connecting it to this [UPNPDevice].
</member>
- <member name="igd_service_type" type="String" setter="set_igd_service_type" getter="get_igd_service_type">
+ <member name="igd_service_type" type="String" setter="set_igd_service_type" getter="get_igd_service_type" default="&quot;&quot;">
IGD service type.
</member>
- <member name="igd_status" type="int" setter="set_igd_status" getter="get_igd_status" enum="UPNPDevice.IGDStatus">
+ <member name="igd_status" type="int" setter="set_igd_status" getter="get_igd_status" enum="UPNPDevice.IGDStatus" default="9">
IGD status. See [enum IGDStatus].
</member>
- <member name="service_type" type="String" setter="set_service_type" getter="get_service_type">
+ <member name="service_type" type="String" setter="set_service_type" getter="get_service_type" default="&quot;&quot;">
Service type.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScript.xml b/modules/visual_script/doc_classes/VisualScript.xml
index 8f0d881f30..0d95075152 100644
--- a/modules/visual_script/doc_classes/VisualScript.xml
+++ b/modules/visual_script/doc_classes/VisualScript.xml
@@ -252,7 +252,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Returns the info for a given variable as a dictionary. The information includes its name, type, hint and usage.
+ Returns the information for a given variable as a dictionary. The information includes its name, type, hint and usage.
</description>
</method>
<method name="has_custom_signal" qualifiers="const">
diff --git a/modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml b/modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml
index b591dc9a51..6dc54dbc03 100644
--- a/modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml
+++ b/modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="basic_type" type="int" setter="set_basic_type" getter="get_basic_type" enum="Variant.Type">
+ <member name="basic_type" type="int" setter="set_basic_type" getter="get_basic_type" enum="Variant.Type" default="0">
The type to get the constant from.
</member>
<member name="constant" type="String" setter="set_basic_type_constant" getter="get_basic_type_constant">
diff --git a/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml b/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
index 21e8a38c16..470a3a5e35 100644
--- a/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
+++ b/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
@@ -12,7 +12,7 @@
<methods>
</methods>
<members>
- <member name="function" type="int" setter="set_func" getter="get_func" enum="VisualScriptBuiltinFunc.BuiltinFunc">
+ <member name="function" type="int" setter="set_func" getter="get_func" enum="VisualScriptBuiltinFunc.BuiltinFunc" default="0">
The function to be executed.
</member>
</members>
@@ -106,7 +106,7 @@
Moves the number toward a value, based on the third input.
</constant>
<constant name="MATH_DECTIME" value="30" enum="BuiltinFunc">
- Return the result of 'value' decreased by 'step' * 'amount'.
+ Return the result of [code]value[/code] decreased by [code]step[/code] * [code]amount[/code].
</constant>
<constant name="MATH_RANDOMIZE" value="31" enum="BuiltinFunc">
Randomize the seed (or the internal state) of the random number generator. Current implementation reseeds using a number based on time.
@@ -139,10 +139,10 @@
Convert the input from decibel volume to linear volume.
</constant>
<constant name="MATH_POLAR2CARTESIAN" value="41" enum="BuiltinFunc">
- Converts a 2D point expressed in the polar coordinate system (a distance from the origin [code]r[/code] and an angle [code]th[/code]) to the cartesian coordinate system (x and y axis).
+ Converts a 2D point expressed in the polar coordinate system (a distance from the origin [code]r[/code] and an angle [code]th[/code]) to the cartesian coordinate system (X and Y axis).
</constant>
<constant name="MATH_CARTESIAN2POLAR" value="42" enum="BuiltinFunc">
- Converts a 2D point expressed in the cartesian coordinate system (x and y axis) to the polar coordinate system (a distance from the origin and an angle).
+ Converts a 2D point expressed in the cartesian coordinate system (X and Y axis) to the polar coordinate system (a distance from the origin and an angle).
</constant>
<constant name="MATH_WRAP" value="43" enum="BuiltinFunc">
</constant>
@@ -194,26 +194,27 @@
Serialize a [Variant] to a string.
</constant>
<constant name="STR_TO_VAR" value="60" enum="BuiltinFunc">
- Deserialize a [Variant] from a string serialized using [code]VAR_TO_STR[/code].
+ Deserialize a [Variant] from a string serialized using [constant VAR_TO_STR].
</constant>
<constant name="VAR_TO_BYTES" value="61" enum="BuiltinFunc">
Serialize a [Variant] to a [PoolByteArray].
</constant>
<constant name="BYTES_TO_VAR" value="62" enum="BuiltinFunc">
- Deserialize a [Variant] from a [PoolByteArray] serialized using [code]VAR_TO_BYTES[/code].
+ Deserialize a [Variant] from a [PoolByteArray] serialized using [constant VAR_TO_BYTES].
</constant>
<constant name="COLORN" value="63" enum="BuiltinFunc">
- Return the [Color] with the given name and alpha ranging from 0 to 1. Note: names are defined in color_names.inc.
+ Return the [Color] with the given name and alpha ranging from 0 to 1
+ [b]Note:[/b] Names are defined in [code]color_names.inc[/code].
</constant>
<constant name="MATH_SMOOTHSTEP" value="64" enum="BuiltinFunc">
- Return a number smoothly interpolated between the first two inputs, based on the third input. Similar to [code]MATH_LERP[/code], but interpolates faster at the beginning and slower at the end. Using Hermite interpolation formula:
+ Return a number smoothly interpolated between the first two inputs, based on the third input. Similar to [constant MATH_LERP], but interpolates faster at the beginning and slower at the end. Using Hermite interpolation formula:
[codeblock]
var t = clamp((weight - from) / (to - from), 0.0, 1.0)
return t * t * (3.0 - 2.0 * t)
[/codeblock]
</constant>
<constant name="FUNC_MAX" value="65" enum="BuiltinFunc">
- The maximum value the [member function] property can have.
+ Represents the size of the [enum BuiltinFunc] enum.
</constant>
</constants>
</class>
diff --git a/modules/visual_script/doc_classes/VisualScriptClassConstant.xml b/modules/visual_script/doc_classes/VisualScriptClassConstant.xml
index 6e48e7c416..49ea7850ef 100644
--- a/modules/visual_script/doc_classes/VisualScriptClassConstant.xml
+++ b/modules/visual_script/doc_classes/VisualScriptClassConstant.xml
@@ -4,7 +4,7 @@
Gets a constant from a given class.
</brief_description>
<description>
- This node returns a constant from a given class, such as [constant @GlobalScope.TYPE_INT]. See the given class' documentation for available constants.
+ This node returns a constant from a given class, such as [constant TYPE_INT]. See the given class' documentation for available constants.
[b]Input Ports:[/b]
none
[b]Output Ports:[/b]
@@ -15,10 +15,10 @@
<methods>
</methods>
<members>
- <member name="base_type" type="String" setter="set_base_type" getter="get_base_type">
+ <member name="base_type" type="String" setter="set_base_type" getter="get_base_type" default="&quot;Object&quot;">
The constant's parent class.
</member>
- <member name="constant" type="String" setter="set_class_constant" getter="get_class_constant">
+ <member name="constant" type="String" setter="set_class_constant" getter="get_class_constant" default="&quot;&quot;">
The constant to return. See the given class for its available constants.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptComment.xml b/modules/visual_script/doc_classes/VisualScriptComment.xml
index 9652654610..2538bc8356 100644
--- a/modules/visual_script/doc_classes/VisualScriptComment.xml
+++ b/modules/visual_script/doc_classes/VisualScriptComment.xml
@@ -12,13 +12,13 @@
<methods>
</methods>
<members>
- <member name="description" type="String" setter="set_description" getter="get_description">
+ <member name="description" type="String" setter="set_description" getter="get_description" default="&quot;&quot;">
The text inside the comment node.
</member>
- <member name="size" type="Vector2" setter="set_size" getter="get_size">
+ <member name="size" type="Vector2" setter="set_size" getter="get_size" default="Vector2( 150, 150 )">
The comment node's size (in pixels).
</member>
- <member name="title" type="String" setter="set_title" getter="get_title">
+ <member name="title" type="String" setter="set_title" getter="get_title" default="&quot;Comment&quot;">
The comment node's title.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptConstant.xml b/modules/visual_script/doc_classes/VisualScriptConstant.xml
index b15af8e4ea..eb12fc3731 100644
--- a/modules/visual_script/doc_classes/VisualScriptConstant.xml
+++ b/modules/visual_script/doc_classes/VisualScriptConstant.xml
@@ -15,7 +15,7 @@
<methods>
</methods>
<members>
- <member name="type" type="int" setter="set_constant_type" getter="get_constant_type" enum="Variant.Type">
+ <member name="type" type="int" setter="set_constant_type" getter="get_constant_type" enum="Variant.Type" default="0">
The constant's type.
</member>
<member name="value" type="Variant" setter="set_constant_value" getter="get_constant_value">
diff --git a/modules/visual_script/doc_classes/VisualScriptCustomNode.xml b/modules/visual_script/doc_classes/VisualScriptCustomNode.xml
index 1ab9f807fb..b079653591 100644
--- a/modules/visual_script/doc_classes/VisualScriptCustomNode.xml
+++ b/modules/visual_script/doc_classes/VisualScriptCustomNode.xml
@@ -45,7 +45,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Return the specified input port's type. See the TYPE_* enum in [@GlobalScope].
+ Return the specified input port's type. See the [code]TYPE_*[/code] enum in [@GlobalScope].
</description>
</method>
<method name="_get_output_sequence_port_count" qualifiers="virtual">
@@ -86,7 +86,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Return the specified output's type. See the TYPE_* enum in [@GlobalScope].
+ Return the specified output's type. See the [code]TYPE_*[/code] enum in [@GlobalScope].
</description>
</method>
<method name="_get_text" qualifiers="virtual">
@@ -125,9 +125,9 @@
Execute the custom node's logic, returning the index of the output sequence port to use or a [String] when there is an error.
The [code]inputs[/code] array contains the values of the input ports.
[code]outputs[/code] is an array whose indices should be set to the respective outputs.
- The [code]start_mode[/code] is usually [code]START_MODE_BEGIN_SEQUENCE[/code], unless you have used the STEP_* constants.
+ The [code]start_mode[/code] is usually [constant START_MODE_BEGIN_SEQUENCE], unless you have used the [code]STEP_*[/code] constants.
[code]working_mem[/code] is an array which can be used to persist information between runs of the custom node.
- When returning, you can mask the returned value with one of the STEP_* constants.
+ When returning, you can mask the returned value with one of the [code]STEP_*[/code] constants.
</description>
</method>
</methods>
diff --git a/modules/visual_script/doc_classes/VisualScriptDeconstruct.xml b/modules/visual_script/doc_classes/VisualScriptDeconstruct.xml
index a0eed5b753..c8543287b4 100644
--- a/modules/visual_script/doc_classes/VisualScriptDeconstruct.xml
+++ b/modules/visual_script/doc_classes/VisualScriptDeconstruct.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="type" type="int" setter="set_deconstruct_type" getter="get_deconstruct_type" enum="Variant.Type">
+ <member name="type" type="int" setter="set_deconstruct_type" getter="get_deconstruct_type" enum="Variant.Type" default="0">
The type to deconstruct.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptEmitSignal.xml b/modules/visual_script/doc_classes/VisualScriptEmitSignal.xml
index 623aa1ba86..1a567905a9 100644
--- a/modules/visual_script/doc_classes/VisualScriptEmitSignal.xml
+++ b/modules/visual_script/doc_classes/VisualScriptEmitSignal.xml
@@ -15,7 +15,7 @@
<methods>
</methods>
<members>
- <member name="signal" type="String" setter="set_signal" getter="get_signal">
+ <member name="signal" type="String" setter="set_signal" getter="get_signal" default="&quot;&quot;">
The signal to emit.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml b/modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml
index 525389366a..05bd87ec22 100644
--- a/modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml
+++ b/modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml
@@ -11,7 +11,7 @@
<methods>
</methods>
<members>
- <member name="constant" type="String" setter="set_singleton" getter="get_singleton">
+ <member name="constant" type="String" setter="set_singleton" getter="get_singleton" default="&quot;&quot;">
The singleton's name.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptFunctionCall.xml b/modules/visual_script/doc_classes/VisualScriptFunctionCall.xml
index e4d0bb7672..f7f86e8c80 100644
--- a/modules/visual_script/doc_classes/VisualScriptFunctionCall.xml
+++ b/modules/visual_script/doc_classes/VisualScriptFunctionCall.xml
@@ -11,23 +11,23 @@
<members>
<member name="base_script" type="String" setter="set_base_script" getter="get_base_script">
</member>
- <member name="base_type" type="String" setter="set_base_type" getter="get_base_type">
+ <member name="base_type" type="String" setter="set_base_type" getter="get_base_type" default="&quot;Object&quot;">
</member>
<member name="basic_type" type="int" setter="set_basic_type" getter="get_basic_type" enum="Variant.Type">
</member>
- <member name="call_mode" type="int" setter="set_call_mode" getter="get_call_mode" enum="VisualScriptFunctionCall.CallMode">
+ <member name="call_mode" type="int" setter="set_call_mode" getter="get_call_mode" enum="VisualScriptFunctionCall.CallMode" default="0">
</member>
- <member name="function" type="String" setter="set_function" getter="get_function">
+ <member name="function" type="String" setter="set_function" getter="get_function" default="&quot;&quot;">
</member>
<member name="node_path" type="NodePath" setter="set_base_path" getter="get_base_path">
</member>
- <member name="rpc_call_mode" type="int" setter="set_rpc_call_mode" getter="get_rpc_call_mode" enum="VisualScriptFunctionCall.RPCCallMode">
+ <member name="rpc_call_mode" type="int" setter="set_rpc_call_mode" getter="get_rpc_call_mode" enum="VisualScriptFunctionCall.RPCCallMode" default="0">
</member>
<member name="singleton" type="String" setter="set_singleton" getter="get_singleton">
</member>
<member name="use_default_args" type="int" setter="set_use_default_args" getter="get_use_default_args">
</member>
- <member name="validate" type="bool" setter="set_validate" getter="get_validate">
+ <member name="validate" type="bool" setter="set_validate" getter="get_validate" default="true">
</member>
</members>
<constants>
diff --git a/modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml b/modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml
index 4099a351e6..6c70dc7dc4 100644
--- a/modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml
+++ b/modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="constant" type="int" setter="set_global_constant" getter="get_global_constant">
+ <member name="constant" type="int" setter="set_global_constant" getter="get_global_constant" default="0">
</member>
</members>
<constants>
diff --git a/modules/visual_script/doc_classes/VisualScriptInputAction.xml b/modules/visual_script/doc_classes/VisualScriptInputAction.xml
index 4bd1430cf6..8c942813b2 100644
--- a/modules/visual_script/doc_classes/VisualScriptInputAction.xml
+++ b/modules/visual_script/doc_classes/VisualScriptInputAction.xml
@@ -9,9 +9,9 @@
<methods>
</methods>
<members>
- <member name="action" type="String" setter="set_action_name" getter="get_action_name">
+ <member name="action" type="String" setter="set_action_name" getter="get_action_name" default="&quot;&quot;">
</member>
- <member name="mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="VisualScriptInputAction.Mode">
+ <member name="mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="VisualScriptInputAction.Mode" default="0">
</member>
</members>
<constants>
diff --git a/modules/visual_script/doc_classes/VisualScriptLocalVar.xml b/modules/visual_script/doc_classes/VisualScriptLocalVar.xml
index 5d061ea79f..8c21c3f0bc 100644
--- a/modules/visual_script/doc_classes/VisualScriptLocalVar.xml
+++ b/modules/visual_script/doc_classes/VisualScriptLocalVar.xml
@@ -15,10 +15,10 @@
<methods>
</methods>
<members>
- <member name="type" type="int" setter="set_var_type" getter="get_var_type" enum="Variant.Type">
+ <member name="type" type="int" setter="set_var_type" getter="get_var_type" enum="Variant.Type" default="0">
The local variable's type.
</member>
- <member name="var_name" type="String" setter="set_var_name" getter="get_var_name">
+ <member name="var_name" type="String" setter="set_var_name" getter="get_var_name" default="&quot;new_local&quot;">
The local variable's name.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml b/modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml
index 049195d890..a981432cdb 100644
--- a/modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml
+++ b/modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml
@@ -17,10 +17,10 @@
<methods>
</methods>
<members>
- <member name="type" type="int" setter="set_var_type" getter="get_var_type" enum="Variant.Type">
+ <member name="type" type="int" setter="set_var_type" getter="get_var_type" enum="Variant.Type" default="0">
The local variable's type.
</member>
- <member name="var_name" type="String" setter="set_var_name" getter="get_var_name">
+ <member name="var_name" type="String" setter="set_var_name" getter="get_var_name" default="&quot;new_local&quot;">
The local variable's name.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptMathConstant.xml b/modules/visual_script/doc_classes/VisualScriptMathConstant.xml
index 430f9ee7d4..3be392aef5 100644
--- a/modules/visual_script/doc_classes/VisualScriptMathConstant.xml
+++ b/modules/visual_script/doc_classes/VisualScriptMathConstant.xml
@@ -15,7 +15,7 @@
<methods>
</methods>
<members>
- <member name="constant" type="int" setter="set_math_constant" getter="get_math_constant" enum="VisualScriptMathConstant.MathConstant">
+ <member name="constant" type="int" setter="set_math_constant" getter="get_math_constant" enum="VisualScriptMathConstant.MathConstant" default="0">
The math constant.
</member>
</members>
@@ -45,6 +45,7 @@
Not a number: [code]nan[/code]
</constant>
<constant name="MATH_CONSTANT_MAX" value="8" enum="MathConstant">
+ Represents the size of the [enum MathConstant] enum.
</constant>
</constants>
</class>
diff --git a/modules/visual_script/doc_classes/VisualScriptOperator.xml b/modules/visual_script/doc_classes/VisualScriptOperator.xml
index a0827972e0..80449ac521 100644
--- a/modules/visual_script/doc_classes/VisualScriptOperator.xml
+++ b/modules/visual_script/doc_classes/VisualScriptOperator.xml
@@ -14,9 +14,9 @@
<methods>
</methods>
<members>
- <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="Variant.Operator">
+ <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="Variant.Operator" default="6">
</member>
- <member name="type" type="int" setter="set_typed" getter="get_typed" enum="Variant.Type">
+ <member name="type" type="int" setter="set_typed" getter="get_typed" enum="Variant.Type" default="0">
</member>
</members>
<constants>
diff --git a/modules/visual_script/doc_classes/VisualScriptPreload.xml b/modules/visual_script/doc_classes/VisualScriptPreload.xml
index b3b39691c9..05ed0ad1e5 100644
--- a/modules/visual_script/doc_classes/VisualScriptPreload.xml
+++ b/modules/visual_script/doc_classes/VisualScriptPreload.xml
@@ -15,7 +15,7 @@
<methods>
</methods>
<members>
- <member name="resource" type="Resource" setter="set_preload" getter="get_preload">
+ <member name="resource" type="Resource" setter="set_preload" getter="get_preload" default="null">
The [Resource] to load.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml b/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml
index 697a31ca46..af1e8e68e8 100644
--- a/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml
+++ b/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml
@@ -11,7 +11,7 @@
<members>
<member name="base_script" type="String" setter="set_base_script" getter="get_base_script">
</member>
- <member name="base_type" type="String" setter="set_base_type" getter="get_base_type">
+ <member name="base_type" type="String" setter="set_base_type" getter="get_base_type" default="&quot;Object&quot;">
</member>
<member name="basic_type" type="int" setter="set_basic_type" getter="get_basic_type" enum="Variant.Type">
</member>
@@ -19,9 +19,9 @@
</member>
<member name="node_path" type="NodePath" setter="set_base_path" getter="get_base_path">
</member>
- <member name="property" type="String" setter="set_property" getter="get_property">
+ <member name="property" type="String" setter="set_property" getter="get_property" default="&quot;&quot;">
</member>
- <member name="set_mode" type="int" setter="set_call_mode" getter="get_call_mode" enum="VisualScriptPropertyGet.CallMode">
+ <member name="set_mode" type="int" setter="set_call_mode" getter="get_call_mode" enum="VisualScriptPropertyGet.CallMode" default="0">
</member>
</members>
<constants>
diff --git a/modules/visual_script/doc_classes/VisualScriptPropertySet.xml b/modules/visual_script/doc_classes/VisualScriptPropertySet.xml
index c41e3781d4..380c196caf 100644
--- a/modules/visual_script/doc_classes/VisualScriptPropertySet.xml
+++ b/modules/visual_script/doc_classes/VisualScriptPropertySet.xml
@@ -9,11 +9,11 @@
<methods>
</methods>
<members>
- <member name="assign_op" type="int" setter="set_assign_op" getter="get_assign_op" enum="VisualScriptPropertySet.AssignOp">
+ <member name="assign_op" type="int" setter="set_assign_op" getter="get_assign_op" enum="VisualScriptPropertySet.AssignOp" default="0">
</member>
<member name="base_script" type="String" setter="set_base_script" getter="get_base_script">
</member>
- <member name="base_type" type="String" setter="set_base_type" getter="get_base_type">
+ <member name="base_type" type="String" setter="set_base_type" getter="get_base_type" default="&quot;Object&quot;">
</member>
<member name="basic_type" type="int" setter="set_basic_type" getter="get_basic_type" enum="Variant.Type">
</member>
@@ -21,9 +21,9 @@
</member>
<member name="node_path" type="NodePath" setter="set_base_path" getter="get_base_path">
</member>
- <member name="property" type="String" setter="set_property" getter="get_property">
+ <member name="property" type="String" setter="set_property" getter="get_property" default="&quot;&quot;">
</member>
- <member name="set_mode" type="int" setter="set_call_mode" getter="get_call_mode" enum="VisualScriptPropertySet.CallMode">
+ <member name="set_mode" type="int" setter="set_call_mode" getter="get_call_mode" enum="VisualScriptPropertySet.CallMode" default="0">
</member>
</members>
<constants>
diff --git a/modules/visual_script/doc_classes/VisualScriptResourcePath.xml b/modules/visual_script/doc_classes/VisualScriptResourcePath.xml
index 40862b810b..da37bbbb2c 100644
--- a/modules/visual_script/doc_classes/VisualScriptResourcePath.xml
+++ b/modules/visual_script/doc_classes/VisualScriptResourcePath.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="path" type="String" setter="set_resource_path" getter="get_resource_path">
+ <member name="path" type="String" setter="set_resource_path" getter="get_resource_path" default="&quot;&quot;">
</member>
</members>
<constants>
diff --git a/modules/visual_script/doc_classes/VisualScriptReturn.xml b/modules/visual_script/doc_classes/VisualScriptReturn.xml
index 40c8963efe..9a81c671d4 100644
--- a/modules/visual_script/doc_classes/VisualScriptReturn.xml
+++ b/modules/visual_script/doc_classes/VisualScriptReturn.xml
@@ -16,10 +16,10 @@
<methods>
</methods>
<members>
- <member name="return_enabled" type="bool" setter="set_enable_return_value" getter="is_return_value_enabled">
+ <member name="return_enabled" type="bool" setter="set_enable_return_value" getter="is_return_value_enabled" default="false">
If [code]true[/code], the [code]return[/code] input port is available.
</member>
- <member name="return_type" type="int" setter="set_return_type" getter="get_return_type" enum="Variant.Type">
+ <member name="return_type" type="int" setter="set_return_type" getter="get_return_type" enum="Variant.Type" default="0">
The return value's data type.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptSceneNode.xml b/modules/visual_script/doc_classes/VisualScriptSceneNode.xml
index 81ef4ceedc..99f4acbd27 100644
--- a/modules/visual_script/doc_classes/VisualScriptSceneNode.xml
+++ b/modules/visual_script/doc_classes/VisualScriptSceneNode.xml
@@ -15,7 +15,7 @@
<methods>
</methods>
<members>
- <member name="node_path" type="NodePath" setter="set_node_path" getter="get_node_path">
+ <member name="node_path" type="NodePath" setter="set_node_path" getter="get_node_path" default="NodePath(&quot;.&quot;)">
The node's path in the scene tree.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptSelect.xml b/modules/visual_script/doc_classes/VisualScriptSelect.xml
index 3b1e7f7f02..e6a6cd5a48 100644
--- a/modules/visual_script/doc_classes/VisualScriptSelect.xml
+++ b/modules/visual_script/doc_classes/VisualScriptSelect.xml
@@ -17,7 +17,7 @@
<methods>
</methods>
<members>
- <member name="type" type="int" setter="set_typed" getter="get_typed" enum="Variant.Type">
+ <member name="type" type="int" setter="set_typed" getter="get_typed" enum="Variant.Type" default="0">
The input variables' type.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptSequence.xml b/modules/visual_script/doc_classes/VisualScriptSequence.xml
index 26af15b404..2ceceb199f 100644
--- a/modules/visual_script/doc_classes/VisualScriptSequence.xml
+++ b/modules/visual_script/doc_classes/VisualScriptSequence.xml
@@ -17,7 +17,7 @@
<methods>
</methods>
<members>
- <member name="steps" type="int" setter="set_steps" getter="get_steps">
+ <member name="steps" type="int" setter="set_steps" getter="get_steps" default="1">
The number of steps in the sequence.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptSwitch.xml b/modules/visual_script/doc_classes/VisualScriptSwitch.xml
index 35929b16ac..3e3b88ebe0 100644
--- a/modules/visual_script/doc_classes/VisualScriptSwitch.xml
+++ b/modules/visual_script/doc_classes/VisualScriptSwitch.xml
@@ -4,7 +4,7 @@
Branches program flow based on a given input's value.
</brief_description>
<description>
- Branches the flow based on an input's value. Use "Case Count" in the Inspector to set the number of branches and each comparison's optional type.
+ Branches the flow based on an input's value. Use [b]Case Count[/b] in the Inspector to set the number of branches and each comparison's optional type.
[b]Input Ports:[/b]
- Sequence: [code]'input' is[/code]
- Data (variant): [code]=[/code]
diff --git a/modules/visual_script/doc_classes/VisualScriptTypeCast.xml b/modules/visual_script/doc_classes/VisualScriptTypeCast.xml
index a9e920bca6..999a190a9a 100644
--- a/modules/visual_script/doc_classes/VisualScriptTypeCast.xml
+++ b/modules/visual_script/doc_classes/VisualScriptTypeCast.xml
@@ -9,9 +9,9 @@
<methods>
</methods>
<members>
- <member name="base_script" type="String" setter="set_base_script" getter="get_base_script">
+ <member name="base_script" type="String" setter="set_base_script" getter="get_base_script" default="&quot;&quot;">
</member>
- <member name="base_type" type="String" setter="set_base_type" getter="get_base_type">
+ <member name="base_type" type="String" setter="set_base_type" getter="get_base_type" default="&quot;Object&quot;">
</member>
</members>
<constants>
diff --git a/modules/visual_script/doc_classes/VisualScriptVariableGet.xml b/modules/visual_script/doc_classes/VisualScriptVariableGet.xml
index e1c7c4e4d4..40e461294b 100644
--- a/modules/visual_script/doc_classes/VisualScriptVariableGet.xml
+++ b/modules/visual_script/doc_classes/VisualScriptVariableGet.xml
@@ -15,7 +15,7 @@
<methods>
</methods>
<members>
- <member name="var_name" type="String" setter="set_variable" getter="get_variable">
+ <member name="var_name" type="String" setter="set_variable" getter="get_variable" default="&quot;&quot;">
The variable's name.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptVariableSet.xml b/modules/visual_script/doc_classes/VisualScriptVariableSet.xml
index 7339482908..6c53ad61b4 100644
--- a/modules/visual_script/doc_classes/VisualScriptVariableSet.xml
+++ b/modules/visual_script/doc_classes/VisualScriptVariableSet.xml
@@ -16,7 +16,7 @@
<methods>
</methods>
<members>
- <member name="var_name" type="String" setter="set_variable" getter="get_variable">
+ <member name="var_name" type="String" setter="set_variable" getter="get_variable" default="&quot;&quot;">
The variable's name.
</member>
</members>
diff --git a/modules/visual_script/doc_classes/VisualScriptYield.xml b/modules/visual_script/doc_classes/VisualScriptYield.xml
index 9f61a5f88c..c506e6db01 100644
--- a/modules/visual_script/doc_classes/VisualScriptYield.xml
+++ b/modules/visual_script/doc_classes/VisualScriptYield.xml
@@ -9,7 +9,7 @@
<methods>
</methods>
<members>
- <member name="mode" type="int" setter="set_yield_mode" getter="get_yield_mode" enum="VisualScriptYield.YieldMode">
+ <member name="mode" type="int" setter="set_yield_mode" getter="get_yield_mode" enum="VisualScriptYield.YieldMode" default="1">
</member>
<member name="wait_time" type="float" setter="set_wait_time" getter="get_wait_time">
</member>
diff --git a/modules/visual_script/doc_classes/VisualScriptYieldSignal.xml b/modules/visual_script/doc_classes/VisualScriptYieldSignal.xml
index 6791375182..b9d7aedaab 100644
--- a/modules/visual_script/doc_classes/VisualScriptYieldSignal.xml
+++ b/modules/visual_script/doc_classes/VisualScriptYieldSignal.xml
@@ -9,13 +9,13 @@
<methods>
</methods>
<members>
- <member name="base_type" type="String" setter="set_base_type" getter="get_base_type">
+ <member name="base_type" type="String" setter="set_base_type" getter="get_base_type" default="&quot;Object&quot;">
</member>
- <member name="call_mode" type="int" setter="set_call_mode" getter="get_call_mode" enum="VisualScriptYieldSignal.CallMode">
+ <member name="call_mode" type="int" setter="set_call_mode" getter="get_call_mode" enum="VisualScriptYieldSignal.CallMode" default="0">
</member>
<member name="node_path" type="NodePath" setter="set_base_path" getter="get_base_path">
</member>
- <member name="signal" type="String" setter="set_signal" getter="get_signal">
+ <member name="signal" type="String" setter="set_signal" getter="get_signal" default="&quot;&quot;">
</member>
</members>
<constants>
diff --git a/editor/icons/icon_visual_script.svg b/modules/visual_script/icons/icon_visual_script.svg
index f6475d590e..f6475d590e 100644
--- a/editor/icons/icon_visual_script.svg
+++ b/modules/visual_script/icons/icon_visual_script.svg
diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp
index 3ac170a935..4579644d49 100644
--- a/modules/visual_script/visual_script_editor.cpp
+++ b/modules/visual_script/visual_script_editor.cpp
@@ -1099,6 +1099,9 @@ void VisualScriptEditor::_expression_text_changed(const String &p_text, int p_id
void VisualScriptEditor::_available_node_doubleclicked() {
+ if (edited_func == String())
+ return;
+
TreeItem *item = nodes->get_selected();
if (!item)
@@ -1107,7 +1110,6 @@ void VisualScriptEditor::_available_node_doubleclicked() {
String which = item->get_metadata(0);
if (which == String())
return;
-
Vector2 ofs = graph->get_scroll_ofs() + graph->get_size() * 0.5;
if (graph->is_using_snap()) {
diff --git a/modules/visual_script/visual_script_expression.cpp b/modules/visual_script/visual_script_expression.cpp
index 772092fabe..4b74c088e0 100644
--- a/modules/visual_script/visual_script_expression.cpp
+++ b/modules/visual_script/visual_script_expression.cpp
@@ -1130,7 +1130,7 @@ VisualScriptExpression::ENode *VisualScriptExpression::_parse_expression() {
if (next_op == -1) {
_set_error("Yet another parser bug....");
- ERR_FAIL_COND_V(next_op == -1, NULL);
+ ERR_FAIL_V(NULL);
}
// OK! create operator..
diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp
index 8fa7d2c0d4..f8cb6cfa3c 100644
--- a/modules/visual_script/visual_script_func_nodes.cpp
+++ b/modules/visual_script/visual_script_func_nodes.cpp
@@ -51,10 +51,7 @@ int VisualScriptFunctionCall::get_output_sequence_port_count() const {
bool VisualScriptFunctionCall::has_input_sequence_port() const {
- if ((method_cache.flags & METHOD_FLAG_CONST && call_mode != CALL_MODE_INSTANCE) || (call_mode == CALL_MODE_BASIC_TYPE && Variant::is_method_const(basic_type, function)))
- return false;
- else
- return true;
+ return !((method_cache.flags & METHOD_FLAG_CONST && call_mode != CALL_MODE_INSTANCE) || (call_mode == CALL_MODE_BASIC_TYPE && Variant::is_method_const(basic_type, function)));
}
#ifdef TOOLS_ENABLED
@@ -949,7 +946,7 @@ int VisualScriptPropertySet::get_output_sequence_port_count() const {
bool VisualScriptPropertySet::has_input_sequence_port() const {
- return call_mode != CALL_MODE_BASIC_TYPE ? true : false;
+ return call_mode != CALL_MODE_BASIC_TYPE;
}
Node *VisualScriptPropertySet::_get_base_node() const {
diff --git a/modules/webrtc/doc_classes/WebRTCDataChannel.xml b/modules/webrtc/doc_classes/WebRTCDataChannel.xml
index 7cce97244d..98715ee99b 100644
--- a/modules/webrtc/doc_classes/WebRTCDataChannel.xml
+++ b/modules/webrtc/doc_classes/WebRTCDataChannel.xml
@@ -56,7 +56,7 @@
<return type="int" enum="WebRTCDataChannel.ChannelState">
</return>
<description>
- Returns the current state of this channel, see [enum WebRTCDataChannel.ChannelState].
+ Returns the current state of this channel, see [enum ChannelState].
</description>
</method>
<method name="is_negotiated" qualifiers="const">
@@ -89,7 +89,7 @@
</method>
</methods>
<members>
- <member name="write_mode" type="int" setter="set_write_mode" getter="get_write_mode" enum="WebRTCDataChannel.WriteMode">
+ <member name="write_mode" type="int" setter="set_write_mode" getter="get_write_mode" enum="WebRTCDataChannel.WriteMode" default="1">
The transfer mode to use when sending outgoing packet. Either text or binary.
</member>
</members>
diff --git a/modules/webrtc/doc_classes/WebRTCPeerConnection.xml b/modules/webrtc/doc_classes/WebRTCPeerConnection.xml
index ae709877f4..26082d73a8 100644
--- a/modules/webrtc/doc_classes/WebRTCPeerConnection.xml
+++ b/modules/webrtc/doc_classes/WebRTCPeerConnection.xml
@@ -7,7 +7,7 @@
A WebRTC connection between the local computer and a remote peer. Provides an interface to connect, maintain and monitor the connection.
Setting up a WebRTC connection between two peers from now on) may not seem a trivial task, but it can be broken down into 3 main steps:
- The peer that wants to initiate the connection ([code]A[/code] from now on) creates an offer and send it to the other peer ([code]B[/code] from now on).
- - [code]B[/code] receives the offer, generate and answer, and sends it to [code]B[/code]).
+ - [code]B[/code] receives the offer, generate and answer, and sends it to [code]A[/code]).
- [code]A[/code] and [code]B[/code] then generates and exchange ICE candidates with each other.
After these steps, the connection should become connected. Keep on reading or look into the tutorial for more information.
</description>
@@ -60,7 +60,7 @@
"protocol": "my-custom-protocol", # A custom sub-protocol string for this channel.
}
[/codeblock]
- NOTE: You must keep a reference to channels created this way, or it will be closed.
+ [b]Note:[/b] You must keep a reference to channels created this way, or it will be closed.
</description>
</method>
<method name="create_offer">
@@ -68,7 +68,7 @@
</return>
<description>
Creates a new SDP offer to start a WebRTC connection with a remote peer. At least one [WebRTCDataChannel] must have been created before calling this method.
- If this functions returns [code]OK[/code], [signal session_description_created] will be called when the session is ready to be sent.
+ If this functions returns [constant OK], [signal session_description_created] will be called when the session is ready to be sent.
</description>
</method>
<method name="get_connection_state" qualifiers="const">
@@ -172,7 +172,7 @@
The connection is new, data channels and an offer can be created in this state.
</constant>
<constant name="STATE_CONNECTING" value="1" enum="ConnectionState">
- The peer is connecting, ICE is in progress, non of the transports has failed.
+ The peer is connecting, ICE is in progress, none of the transports has failed.
</constant>
<constant name="STATE_CONNECTED" value="2" enum="ConnectionState">
The peer is connected, all ICE transports are connected.
diff --git a/modules/webrtc/webrtc_data_channel_gdnative.cpp b/modules/webrtc/webrtc_data_channel_gdnative.cpp
index 4f33491af2..6362634626 100644
--- a/modules/webrtc/webrtc_data_channel_gdnative.cpp
+++ b/modules/webrtc/webrtc_data_channel_gdnative.cpp
@@ -35,6 +35,7 @@
#include "modules/gdnative/nativescript/nativescript.h"
void WebRTCDataChannelGDNative::_bind_methods() {
+ ADD_PROPERTY_DEFAULT("write_mode", WRITE_MODE_BINARY);
}
WebRTCDataChannelGDNative::WebRTCDataChannelGDNative() {
diff --git a/modules/websocket/doc_classes/WebSocketClient.xml b/modules/websocket/doc_classes/WebSocketClient.xml
index 26122dfad4..0d425ad1dd 100644
--- a/modules/websocket/doc_classes/WebSocketClient.xml
+++ b/modules/websocket/doc_classes/WebSocketClient.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="WebSocketClient" inherits="WebSocketMultiplayerPeer" category="Core" version="3.2">
<brief_description>
- A WebSocket client implementation
+ A WebSocket client implementation.
</brief_description>
<description>
- This class implements a WebSocket client compatible with any RFC 6455 complaint WebSocket server.
+ This class implements a WebSocket client compatible with any RFC 6455-compliant WebSocket server.
This client can be optionally used as a network peer for the [MultiplayerAPI].
After starting the client ([method connect_to_url]), you will need to [method NetworkedMultiplayerPeer.poll] it at regular intervals (e.g. inside [method Node._process]).
- You will received appropriate signals when connecting, disconnecting, or when new data is available.
+ You will receive appropriate signals when connecting, disconnecting, or when new data is available.
</description>
<tutorials>
</tutorials>
@@ -22,8 +22,8 @@
<argument index="2" name="gd_mp_api" type="bool" default="false">
</argument>
<description>
- Connect to the given URL requesting one of the given [code]protocols[/code] as sub-protocol.
- If [code]true[/code] is passed as [code]gd_mp_api[/code], the client will behave like a network peer for the [MultiplayerAPI], connections to non Godot servers will not work, and [signal data_received] will not be emitted.
+ Connects to the given URL requesting one of the given [code]protocols[/code] as sub-protocol.
+ If [code]true[/code] is passed as [code]gd_mp_api[/code], the client will behave like a network peer for the [MultiplayerAPI], connections to non-Godot servers will not work, and [signal data_received] will not be emitted.
If [code]false[/code] is passed instead (default), you must call [PacketPeer] functions ([code]put_packet[/code], [code]get_packet[/code], etc.) on the [WebSocketPeer] returned via [code]get_peer(1)[/code] and not on this object directly (e.g. [code]get_peer(1).put_packet(data)[/code]).
</description>
</method>
@@ -35,13 +35,14 @@
<argument index="1" name="reason" type="String" default="&quot;&quot;">
</argument>
<description>
- Disconnect this client from the connected host. See [method WebSocketPeer.close] for more info.
+ Disconnects this client from the connected host. See [method WebSocketPeer.close] for more information.
</description>
</method>
</methods>
<members>
<member name="verify_ssl" type="bool" setter="set_verify_ssl_enabled" getter="is_verify_ssl_enabled">
- Enable or disable SSL certificate verification. Note: You must specify the certificates to be used in the project settings for it to work when exported.
+ If [code]true[/code], SSL certificate verification is enabled.
+ [b]Note:[/b] You must specify the certificates to be used in the Project Settings for it to work when exported.
</member>
</members>
<signals>
@@ -66,7 +67,8 @@
</signal>
<signal name="data_received">
<description>
- Emitted when a WebSocket message is received. Note: This signal is NOT emitted when used as high level multiplayer peer.
+ Emitted when a WebSocket message is received.
+ [b]Note:[/b] This signal is [i]not[/i] emitted when used as high-level multiplayer peer.
</description>
</signal>
<signal name="server_close_request">
diff --git a/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml b/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml
index 103dbd771b..b80a28e648 100644
--- a/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml
+++ b/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml
@@ -30,10 +30,10 @@
<argument index="3" name="output_max_packets" type="int">
</argument>
<description>
- Configure the buffers sizes for this WebSocket peer. Default values can be specified in project settings under [code]network/limits[/code]. For server, values are meant per connected peer.
+ Configures the buffer sizes for this WebSocket peer. Default values can be specified in the Project Settings under [code]network/limits[/code]. For server, values are meant per connected peer.
The first two parameters define the size and queued packets limits of the input buffer, the last two of the output buffer.
Buffer sizes are expressed in KiB, so [code]4 = 2^12 = 4096 bytes[/code]. All parameters will be rounded up to the nearest power of two.
- NOTE: HTML5 exports only use the input buffer since the output one is managed by browsers.
+ [b]Note:[/b] HTML5 exports only use the input buffer since the output one is managed by browsers.
</description>
</method>
</methods>
@@ -42,7 +42,8 @@
<argument index="0" name="peer_source" type="int">
</argument>
<description>
- Emitted when a packet is received from a peer. Note: this signal is only emitted when the client or server is configured to use Godot multiplayer API.
+ Emitted when a packet is received from a peer.
+ [b]Note:[/b] This signal is only emitted when the client or server is configured to use Godot multiplayer API.
</description>
</signal>
</signals>
diff --git a/modules/websocket/doc_classes/WebSocketPeer.xml b/modules/websocket/doc_classes/WebSocketPeer.xml
index 8a6868d311..dd95f7432e 100644
--- a/modules/websocket/doc_classes/WebSocketPeer.xml
+++ b/modules/websocket/doc_classes/WebSocketPeer.xml
@@ -18,30 +18,32 @@
<argument index="1" name="reason" type="String" default="&quot;&quot;">
</argument>
<description>
- Close this WebSocket connection. [code]code[/code] is the status code for the closure (see RFC6455 section 7.4 for a list of valid status codes). [code]reason[/code] is the human readable reason for closing the connection (can be any UTF8 string, must be less than 123 bytes).
- Note: To achieve a clean close, you will need to keep polling until either [signal WebSocketClient.connection_closed] or [signal WebSocketServer.client_disconnected] is received.
- Note: HTML5 export might not support all status codes. Please refer to browsers-specific documentation for more details.
+ Closes this WebSocket connection. [code]code[/code] is the status code for the closure (see RFC 6455 section 7.4 for a list of valid status codes). [code]reason[/code] is the human readable reason for closing the connection (can be any UTF-8 string that's smaller than 123 bytes).
+ [b]Note:[/b] To achieve a clean close, you will need to keep polling until either [signal WebSocketClient.connection_closed] or [signal WebSocketServer.client_disconnected] is received.
+ [b]Note:[/b] The HTML5 export might not support all status codes. Please refer to browser-specific documentation for more details.
</description>
</method>
<method name="get_connected_host" qualifiers="const">
<return type="String">
</return>
<description>
- Returns the IP Address of the connected peer. (Not available in HTML5 export)
+ Returns the IP address of the connected peer.
+ [b]Note:[/b] Not available in the HTML5 export.
</description>
</method>
<method name="get_connected_port" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the remote port of the connected peer. (Not available in HTML5 export)
+ Returns the remote port of the connected peer.
+ [b]Note:[/b] Not available in the HTML5 export.
</description>
</method>
<method name="get_write_mode" qualifiers="const">
<return type="int" enum="WebSocketPeer.WriteMode">
</return>
<description>
- Get the current selected write mode. See [enum WriteMode].
+ Gets the current selected write mode. See [enum WriteMode].
</description>
</method>
<method name="is_connected_to_host" qualifiers="const">
@@ -70,10 +72,10 @@
</methods>
<constants>
<constant name="WRITE_MODE_TEXT" value="0" enum="WriteMode">
- Specify that WebSockets messages should be transferred as text payload (only valid UTF-8 is allowed).
+ Specifies that WebSockets messages should be transferred as text payload (only valid UTF-8 is allowed).
</constant>
<constant name="WRITE_MODE_BINARY" value="1" enum="WriteMode">
- Specify that WebSockets messages should be transferred as binary payload (any byte combination is allowed).
+ Specifies that WebSockets messages should be transferred as binary payload (any byte combination is allowed).
</constant>
</constants>
</class>
diff --git a/modules/websocket/doc_classes/WebSocketServer.xml b/modules/websocket/doc_classes/WebSocketServer.xml
index 51945d410a..1af5e403e6 100644
--- a/modules/websocket/doc_classes/WebSocketServer.xml
+++ b/modules/websocket/doc_classes/WebSocketServer.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="WebSocketServer" inherits="WebSocketMultiplayerPeer" category="Core" version="3.2">
<brief_description>
- A WebSocket server implementation
+ A WebSocket server implementation.
</brief_description>
<description>
- This class implements a WebSocket server that can also support the high level multiplayer API.
+ This class implements a WebSocket server that can also support the high-level multiplayer API.
After starting the server ([method listen]), you will need to [method NetworkedMultiplayerPeer.poll] it at regular intervals (e.g. inside [method Node._process]). When clients connect, disconnect, or send data, you will receive the appropriate signal.
- Note: This class will not work in HTML5 exports due to browser restrictions.
+ [b]Note:[/b] This class will not work in HTML5 exports due to browser restrictions.
</description>
<tutorials>
</tutorials>
@@ -21,7 +21,7 @@
<argument index="2" name="reason" type="String" default="&quot;&quot;">
</argument>
<description>
- Disconnects the peer identified by [code]id[/code] from the server. See [method WebSocketPeer.close] for more info.
+ Disconnects the peer identified by [code]id[/code] from the server. See [method WebSocketPeer.close] for more information.
</description>
</method>
<method name="get_peer_address" qualifiers="const">
@@ -68,17 +68,17 @@
<argument index="2" name="gd_mp_api" type="bool" default="false">
</argument>
<description>
- Start listening on the given port.
+ Starts listening on the given port.
You can specify the desired subprotocols via the "protocols" array. If the list empty (default), "binary" will be used.
- If [code]true[/code] is passed as [code]gd_mp_api[/code], the server will behave like a network peer for the [MultiplayerAPI], connections from non Godot clients will not work, and [signal data_received] will not be emitted.
- If [code]false[/code] is passed instead (default), you must call [PacketPeer] functions ([code]put_packet[/code], [code]get_packet[/code], etc.), on the [WebSocketPeer] returned via [code]get_peer(ID)[/code] to communicate with the peer with given [code]ID[/code] (e.g. [code]get_peer(ID).get_available_packet_count[/code]).
+ If [code]true[/code] is passed as [code]gd_mp_api[/code], the server will behave like a network peer for the [MultiplayerAPI], connections from non-Godot clients will not work, and [signal data_received] will not be emitted.
+ If [code]false[/code] is passed instead (default), you must call [PacketPeer] functions ([code]put_packet[/code], [code]get_packet[/code], etc.), on the [WebSocketPeer] returned via [code]get_peer(id)[/code] to communicate with the peer with given [code]id[/code] (e.g. [code]get_peer(id).get_available_packet_count[/code]).
</description>
</method>
<method name="stop">
<return type="void">
</return>
<description>
- Stop the server and clear its state.
+ Stops the server and clear its state.
</description>
</method>
</methods>
@@ -116,7 +116,8 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Emitted when a new message is received. Note: This signal is NOT emitted when used as high level multiplayer peer.
+ Emitted when a new message is received.
+ [b]Note:[/b] This signal is [i]not[/i] emitted when used as high-level multiplayer peer.
</description>
</signal>
</signals>
diff --git a/modules/websocket/websocket_multiplayer_peer.h b/modules/websocket/websocket_multiplayer_peer.h
index 089bc25fe9..7fd97a6595 100644
--- a/modules/websocket/websocket_multiplayer_peer.h
+++ b/modules/websocket/websocket_multiplayer_peer.h
@@ -82,7 +82,7 @@ public:
/* NetworkedMultiplayerPeer */
void set_transfer_mode(TransferMode p_mode);
TransferMode get_transfer_mode() const;
- void set_target_peer(int p_peer_id);
+ void set_target_peer(int p_target_peer);
int get_packet_peer() const;
int get_unique_id() const;
virtual bool is_server() const = 0;
diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp
index 0bd82b769f..1b9d31d752 100644
--- a/platform/android/export/export.cpp
+++ b/platform/android/export/export.cpp
@@ -594,7 +594,7 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
if (abi_index != -1) {
exported = true;
String abi = abis[abi_index];
- String dst_path = "lib/" + abi + "/" + p_so.path.get_file();
+ String dst_path = String("lib").plus_file(abi).plus_file(p_so.path.get_file());
Vector<uint8_t> array = FileAccess::get_file_as_array(p_so.path);
Error store_err = store_in_apk(ed, dst_path, array);
ERR_FAIL_COND_V(store_err, store_err);
@@ -665,6 +665,8 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
bool screen_support_large = p_preset->get("screen/support_large");
bool screen_support_xlarge = p_preset->get("screen/support_xlarge");
+ int xr_mode_index = p_preset->get("graphics/xr_mode");
+
Vector<String> perms;
const char **aperms = android_perms;
@@ -822,6 +824,20 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
encode_uint32(min_gles3 ? 0x00030000 : 0x00020000, &p_manifest.write[iofs + 16]);
}
+ if (tname == "meta-data" && attrname == "name" && string_table[attr_value] == "xr_mode_metadata_name") {
+ // Update the meta-data 'android:name' attribute based on the selected XR mode.
+ if (xr_mode_index == 1 /* XRMode.OVR */) {
+ string_table.write[attr_value] = "com.samsung.android.vr.application.mode";
+ }
+ }
+
+ if (tname == "meta-data" && attrname == "value" && string_table[attr_value] == "xr_mode_metadata_value") {
+ // Update the meta-data 'android:value' attribute based on the selected XR mode.
+ if (xr_mode_index == 1 /* XRMode.OVR */) {
+ string_table.write[attr_value] = "vr_only";
+ }
+ }
+
iofs += 20;
}
@@ -1139,6 +1155,7 @@ public:
virtual void get_export_options(List<ExportOption> *r_options) {
+ r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "graphics/xr_mode", PROPERTY_HINT_ENUM, "Regular,Oculus Mobile VR"), 0));
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "graphics/32_bits_framebuffer"), true));
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "one_click_deploy/clear_previous_install"), true));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/debug", PROPERTY_HINT_GLOBAL_FILE, "*.apk"), ""));
@@ -2071,6 +2088,14 @@ public:
}
}
+ int xr_mode_index = p_preset->get("graphics/xr_mode");
+ if (xr_mode_index == 1 /* XRMode.OVR */) {
+ cl.push_back("--xr_mode_ovr");
+ } else {
+ // XRMode.REGULAR is the default.
+ cl.push_back("--xr_mode_regular");
+ }
+
if (use_32_fb)
cl.push_back("--use_depth_32");
diff --git a/platform/android/java/AndroidManifest.xml b/platform/android/java/AndroidManifest.xml
index 9997950137..3152ef12cd 100644
--- a/platform/android/java/AndroidManifest.xml
+++ b/platform/android/java/AndroidManifest.xml
@@ -13,7 +13,7 @@
<!--glEsVersion is modified by the exporter, changing this value here has no effect-->
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
-<!--Adding custom text to manifest is fine, but do it outside the custom user and application BEGIN/ENDregions, as that gets rewritten-->
+<!--Adding custom text to manifest is fine, but do it outside the custom user and application BEGIN/END regions, as that gets rewritten-->
<!--Custom permissions XML added by add-ons. It's recommended to add them from the export preset, though-->
<!--CHUNK_USER_PERMISSIONS_BEGIN-->
@@ -25,12 +25,15 @@
<!--The following values are replaced when Godot exports, modifying them here has no effect. Do these changes in the-->
<!--export preset. Adding new ones is fine.-->
+<!-- XR mode metadata. This is modified by the exporter based on the selected xr mode. DO NOT CHANGE the values here. -->
+ <meta-data android:name="xr_mode_metadata_name" android:value="xr_mode_metadata_value"/>
+
<activity android:name="org.godotengine.godot.Godot"
android:label="@string/godot_project_name_string"
- android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
+ android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
android:screenOrientation="landscape"
- android:configChanges="orientation|keyboardHidden|screenSize|smallestScreenSize"
+ android:configChanges="orientation|keyboardHidden|screenSize|smallestScreenSize|density|keyboard|navigation|screenLayout|uiMode"
android:resizeableActivity="false"
tools:ignore="UnusedAttribute">
diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java
index 751e885118..6e1841fa8b 100644
--- a/platform/android/java/src/org/godotengine/godot/Godot.java
+++ b/platform/android/java/src/org/godotengine/godot/Godot.java
@@ -58,7 +58,6 @@ import android.os.Environment;
import android.os.Messenger;
import android.provider.Settings.Secure;
import android.support.v4.content.ContextCompat;
-import android.util.Log;
import android.view.Display;
import android.view.KeyEvent;
import android.view.MotionEvent;
@@ -115,6 +114,7 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
private Button mPauseButton;
private Button mWiFiSettingsButton;
+ private XRMode xrMode = XRMode.REGULAR;
private boolean use_32_bits = false;
private boolean use_immersive = false;
private boolean use_debug_opengl = false;
@@ -282,7 +282,7 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
// ...add to FrameLayout
layout.addView(edittext);
- mView = new GodotView(this, XRMode.PANCAKE, use_gl3, use_32_bits, use_debug_opengl);
+ mView = new GodotView(this, xrMode, use_gl3, use_32_bits, use_debug_opengl);
layout.addView(mView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
edittext.setView(mView);
io.setEdit(edittext);
@@ -488,7 +488,11 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
for (int i = 0; i < command_line.length; i++) {
boolean has_extra = i < command_line.length - 1;
- if (command_line[i].equals("--use_depth_32")) {
+ if (command_line[i].equals(XRMode.REGULAR.cmdLineArg)) {
+ xrMode = XRMode.REGULAR;
+ } else if (command_line[i].equals(XRMode.OVR.cmdLineArg)) {
+ xrMode = XRMode.OVR;
+ } else if (command_line[i].equals("--use_depth_32")) {
use_32_bits = true;
} else if (command_line[i].equals("--debug_opengl")) {
use_debug_opengl = true;
diff --git a/platform/android/java/src/org/godotengine/godot/GodotView.java b/platform/android/java/src/org/godotengine/godot/GodotView.java
index 1c189a1579..fc3e47e69d 100644
--- a/platform/android/java/src/org/godotengine/godot/GodotView.java
+++ b/platform/android/java/src/org/godotengine/godot/GodotView.java
@@ -40,9 +40,9 @@ import org.godotengine.godot.xr.XRMode;
import org.godotengine.godot.xr.ovr.OvrConfigChooser;
import org.godotengine.godot.xr.ovr.OvrContextFactory;
import org.godotengine.godot.xr.ovr.OvrWindowSurfaceFactory;
-import org.godotengine.godot.xr.pancake.PancakeConfigChooser;
-import org.godotengine.godot.xr.pancake.PancakeContextFactory;
-import org.godotengine.godot.xr.pancake.PancakeFallbackConfigChooser;
+import org.godotengine.godot.xr.regular.RegularConfigChooser;
+import org.godotengine.godot.xr.regular.RegularContextFactory;
+import org.godotengine.godot.xr.regular.RegularFallbackConfigChooser;
/**
* A simple GLSurfaceView sub-class that demonstrate how to perform
@@ -123,7 +123,7 @@ public class GodotView extends GLSurfaceView {
setEGLWindowSurfaceFactory(new OvrWindowSurfaceFactory());
break;
- case PANCAKE:
+ case REGULAR:
default:
/* By default, GLSurfaceView() creates a RGB_565 opaque surface.
* If we want a translucent one, we should change the surface's
@@ -137,7 +137,7 @@ public class GodotView extends GLSurfaceView {
/* Setup the context factory for 2.0 rendering.
* See ContextFactory class definition below
*/
- setEGLContextFactory(new PancakeContextFactory());
+ setEGLContextFactory(new RegularContextFactory());
/* We need to choose an EGLConfig that matches the format of
* our surface exactly. This is going to be done in our
@@ -147,15 +147,15 @@ public class GodotView extends GLSurfaceView {
if (GLUtils.use_32) {
setEGLConfigChooser(translucent ?
- new PancakeFallbackConfigChooser(8, 8, 8, 8, 24, stencil,
- new PancakeConfigChooser(8, 8, 8, 8, 16, stencil)) :
- new PancakeFallbackConfigChooser(8, 8, 8, 8, 24, stencil,
- new PancakeConfigChooser(5, 6, 5, 0, 16, stencil)));
+ new RegularFallbackConfigChooser(8, 8, 8, 8, 24, stencil,
+ new RegularConfigChooser(8, 8, 8, 8, 16, stencil)) :
+ new RegularFallbackConfigChooser(8, 8, 8, 8, 24, stencil,
+ new RegularConfigChooser(5, 6, 5, 0, 16, stencil)));
} else {
setEGLConfigChooser(translucent ?
- new PancakeConfigChooser(8, 8, 8, 8, 16, stencil) :
- new PancakeConfigChooser(5, 6, 5, 0, 16, stencil));
+ new RegularConfigChooser(8, 8, 8, 8, 16, stencil) :
+ new RegularConfigChooser(5, 6, 5, 0, 16, stencil));
}
break;
}
diff --git a/platform/android/java/src/org/godotengine/godot/input/GodotInputHandler.java b/platform/android/java/src/org/godotengine/godot/input/GodotInputHandler.java
index d01f958123..a443a0ad90 100644
--- a/platform/android/java/src/org/godotengine/godot/input/GodotInputHandler.java
+++ b/platform/android/java/src/org/godotengine/godot/input/GodotInputHandler.java
@@ -65,6 +65,14 @@ public class GodotInputHandler implements InputDeviceListener {
godotView.queueEvent(task);
}
+ private boolean isKeyEvent_GameDevice(int source) {
+ // Note that keyboards are often (SOURCE_KEYBOARD | SOURCE_DPAD)
+ if (source == (InputDevice.SOURCE_KEYBOARD | InputDevice.SOURCE_DPAD))
+ return false;
+
+ return (source & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK || (source & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD || (source & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD;
+ }
+
public boolean onKeyUp(final int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
@@ -75,7 +83,7 @@ public class GodotInputHandler implements InputDeviceListener {
};
int source = event.getSource();
- if ((source & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK || (source & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD || (source & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) {
+ if (isKeyEvent_GameDevice(source)) {
final int button = getGodotButton(keyCode);
final int device_id = findJoystickDevice(event.getDeviceId());
@@ -118,7 +126,7 @@ public class GodotInputHandler implements InputDeviceListener {
int source = event.getSource();
//Log.e(TAG, String.format("Key down! source %d, device %d, joystick %d, %d, %d", event.getDeviceId(), source, (source & InputDevice.SOURCE_JOYSTICK), (source & InputDevice.SOURCE_DPAD), (source & InputDevice.SOURCE_GAMEPAD)));
- if ((source & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK || (source & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD || (source & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) {
+ if (isKeyEvent_GameDevice(source)) {
if (event.getRepeatCount() > 0) // ignore key echo
return true;
diff --git a/platform/android/java/src/org/godotengine/godot/xr/XRMode.java b/platform/android/java/src/org/godotengine/godot/xr/XRMode.java
index cbc8a1e902..dd5701af7d 100644
--- a/platform/android/java/src/org/godotengine/godot/xr/XRMode.java
+++ b/platform/android/java/src/org/godotengine/godot/xr/XRMode.java
@@ -34,6 +34,16 @@ package org.godotengine.godot.xr;
* Godot available XR modes.
*/
public enum XRMode {
- PANCAKE, // Regular/flatscreen
- OVR, // Oculus mobile VR SDK
+ REGULAR(0, "Regular", "--xr_mode_regular"), // Regular/flatscreen
+ OVR(1, "Oculus Mobile VR", "--xr_mode_ovr");
+
+ final int index;
+ final String label;
+ public final String cmdLineArg;
+
+ XRMode(int index, String label, String cmdLineArg) {
+ this.index = index;
+ this.label = label;
+ this.cmdLineArg = cmdLineArg;
+ }
}
diff --git a/platform/android/java/src/org/godotengine/godot/xr/pancake/PancakeConfigChooser.java b/platform/android/java/src/org/godotengine/godot/xr/regular/RegularConfigChooser.java
index ac19a09e76..3836967f86 100644
--- a/platform/android/java/src/org/godotengine/godot/xr/pancake/PancakeConfigChooser.java
+++ b/platform/android/java/src/org/godotengine/godot/xr/regular/RegularConfigChooser.java
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* PancakeConfigChooser.java */
+/* RegularConfigChooser.java */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,7 +28,7 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-package org.godotengine.godot.xr.pancake;
+package org.godotengine.godot.xr.regular;
import android.opengl.GLSurfaceView;
import javax.microedition.khronos.egl.EGL10;
@@ -39,9 +39,9 @@ import org.godotengine.godot.utils.GLUtils;
/**
* Used to select the egl config for pancake games.
*/
-public class PancakeConfigChooser implements GLSurfaceView.EGLConfigChooser {
+public class RegularConfigChooser implements GLSurfaceView.EGLConfigChooser {
- private static final String TAG = PancakeConfigChooser.class.getSimpleName();
+ private static final String TAG = RegularConfigChooser.class.getSimpleName();
private int[] mValue = new int[1];
@@ -69,7 +69,7 @@ public class PancakeConfigChooser implements GLSurfaceView.EGLConfigChooser {
EGL10.EGL_NONE
};
- public PancakeConfigChooser(int r, int g, int b, int a, int depth, int stencil) {
+ public RegularConfigChooser(int r, int g, int b, int a, int depth, int stencil) {
mRedSize = r;
mGreenSize = g;
mBlueSize = b;
diff --git a/platform/android/java/src/org/godotengine/godot/xr/pancake/PancakeContextFactory.java b/platform/android/java/src/org/godotengine/godot/xr/regular/RegularContextFactory.java
index aca6ffdba6..4f1e9a696b 100644
--- a/platform/android/java/src/org/godotengine/godot/xr/pancake/PancakeContextFactory.java
+++ b/platform/android/java/src/org/godotengine/godot/xr/regular/RegularContextFactory.java
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* PancakeContextFactory.java */
+/* RegularContextFactory.java */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,7 +28,7 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-package org.godotengine.godot.xr.pancake;
+package org.godotengine.godot.xr.regular;
import android.opengl.GLSurfaceView;
import android.util.Log;
@@ -42,8 +42,8 @@ import org.godotengine.godot.utils.GLUtils;
/**
* Factory used to setup the opengl context for pancake games.
*/
-public class PancakeContextFactory implements GLSurfaceView.EGLContextFactory {
- private static final String TAG = PancakeContextFactory.class.getSimpleName();
+public class RegularContextFactory implements GLSurfaceView.EGLContextFactory {
+ private static final String TAG = RegularContextFactory.class.getSimpleName();
private static final int _EGL_CONTEXT_FLAGS_KHR = 0x30FC;
private static final int _EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR = 0x00000001;
diff --git a/platform/android/java/src/org/godotengine/godot/xr/pancake/PancakeFallbackConfigChooser.java b/platform/android/java/src/org/godotengine/godot/xr/regular/RegularFallbackConfigChooser.java
index e19f218916..f5718ef2b3 100644
--- a/platform/android/java/src/org/godotengine/godot/xr/pancake/PancakeFallbackConfigChooser.java
+++ b/platform/android/java/src/org/godotengine/godot/xr/regular/RegularFallbackConfigChooser.java
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* PancakeFallbackConfigChooser.java */
+/* RegularFallbackConfigChooser.java */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,7 +28,7 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-package org.godotengine.godot.xr.pancake;
+package org.godotengine.godot.xr.regular;
import android.util.Log;
import javax.microedition.khronos.egl.EGL10;
@@ -37,13 +37,13 @@ import javax.microedition.khronos.egl.EGLDisplay;
import org.godotengine.godot.utils.GLUtils;
/* Fallback if 32bit View is not supported*/
-public class PancakeFallbackConfigChooser extends PancakeConfigChooser {
+public class RegularFallbackConfigChooser extends RegularConfigChooser {
- private static final String TAG = PancakeFallbackConfigChooser.class.getSimpleName();
+ private static final String TAG = RegularFallbackConfigChooser.class.getSimpleName();
- private PancakeConfigChooser fallback;
+ private RegularConfigChooser fallback;
- public PancakeFallbackConfigChooser(int r, int g, int b, int a, int depth, int stencil, PancakeConfigChooser fallback) {
+ public RegularFallbackConfigChooser(int r, int g, int b, int a, int depth, int stencil, RegularConfigChooser fallback) {
super(r, g, b, a, depth, stencil);
this.fallback = fallback;
}
diff --git a/platform/iphone/camera_ios.h b/platform/iphone/camera_ios.h
index cf747283e1..ceabdba6a3 100644
--- a/platform/iphone/camera_ios.h
+++ b/platform/iphone/camera_ios.h
@@ -31,12 +31,10 @@
#ifndef CAMERAIOS_H
#define CAMERAIOS_H
-///@TODO this is a near duplicate of CameraOSX, we should find a way to combine those to minimise code duplication!!!!
-// If you fix something here, make sure you fix it there as wel!
-
#include "servers/camera_server.h"
class CameraIOS : public CameraServer {
+private:
public:
CameraIOS();
~CameraIOS();
diff --git a/platform/iphone/camera_ios.mm b/platform/iphone/camera_ios.mm
index 4c11701fdd..5a54eaee9b 100644
--- a/platform/iphone/camera_ios.mm
+++ b/platform/iphone/camera_ios.mm
@@ -241,7 +241,6 @@
class CameraFeedIOS : public CameraFeed {
private:
- bool is_arkit; // if true this feed is updated through ARKit (should only have one and not yet implemented)
AVCaptureDevice *device;
MyCaptureSession *capture_session;
@@ -258,10 +257,6 @@ public:
void deactivate_feed();
};
-bool CameraFeedIOS::get_is_arkit() const {
- return is_arkit;
-};
-
AVCaptureDevice *CameraFeedIOS::get_device() const {
return device;
};
@@ -274,24 +269,16 @@ CameraFeedIOS::CameraFeedIOS() {
void CameraFeedIOS::set_device(AVCaptureDevice *p_device) {
device = p_device;
- if (device == NULL) {
- ///@TODO finish this!
- is_arkit = true;
- name = "ARKit";
+ [device retain];
+
+ // get some info
+ NSString *device_name = p_device.localizedName;
+ name = device_name.UTF8String;
+ position = CameraFeed::FEED_UNSPECIFIED;
+ if ([p_device position] == AVCaptureDevicePositionBack) {
position = CameraFeed::FEED_BACK;
- } else {
- is_arkit = false;
- [device retain];
-
- // get some info
- NSString *device_name = p_device.localizedName;
- name = device_name.UTF8String;
- position = CameraFeed::FEED_UNSPECIFIED;
- if ([p_device position] == AVCaptureDevicePositionBack) {
- position = CameraFeed::FEED_BACK;
- } else if ([p_device position] == AVCaptureDevicePositionFront) {
- position = CameraFeed::FEED_FRONT;
- };
+ } else if ([p_device position] == AVCaptureDevicePositionFront) {
+ position = CameraFeed::FEED_FRONT;
};
};
@@ -308,15 +295,11 @@ CameraFeedIOS::~CameraFeedIOS() {
};
bool CameraFeedIOS::activate_feed() {
- if (is_arkit) {
- ///@TODO to implement;
+ if (capture_session) {
+ // already recording!
} else {
- if (capture_session) {
- // already recording!
- } else {
- // start camera capture
- capture_session = [[MyCaptureSession alloc] initForFeed:this andDevice:device];
- };
+ // start camera capture
+ capture_session = [[MyCaptureSession alloc] initForFeed:this andDevice:device];
};
return true;
@@ -376,14 +359,14 @@ void CameraIOS::update_feeds() {
// this way of doing things is deprecated but still works,
// rewrite to using AVCaptureDeviceDiscoverySession
- AVCaptureDeviceDiscoverySession *session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:[NSArray arrayWithObjects:AVCaptureDeviceTypeBuiltInTelephotoCamera, AVCaptureDeviceTypeBuiltInDualCamera, AVCaptureDeviceTypeBuiltInTrueDepthCamera] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
+ AVCaptureDeviceDiscoverySession *session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:[NSArray arrayWithObjects:AVCaptureDeviceTypeBuiltInTelephotoCamera, AVCaptureDeviceTypeBuiltInDualCamera, AVCaptureDeviceTypeBuiltInTrueDepthCamera, AVCaptureDeviceTypeBuiltInWideAngleCamera] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
// remove devices that are gone..
for (int i = feeds.size() - 1; i >= 0; i--) {
- Ref<CameraFeedIOS> feed = (Ref<CameraFeedIOS>)feeds[i];
+ Ref<CameraFeedIOS> feed(feeds[i]);
- if (feed->get_is_arkit()) {
- // ignore, this is our arkit entry
+ if (feed.is_null()) {
+ // feed not managed by us
} else if (![session.devices containsObject:feed->get_device()]) {
// remove it from our array, this will also destroy it ;)
remove_feed(feed);
@@ -393,9 +376,13 @@ void CameraIOS::update_feeds() {
// add new devices..
for (AVCaptureDevice *device in session.devices) {
bool found = false;
+
for (int i = 0; i < feeds.size() && !found; i++) {
- Ref<CameraFeedIOS> feed = (Ref<CameraFeedIOS>)feeds[i];
- if (feed->get_device() == device) {
+ Ref<CameraFeedIOS> feed(feeds[i]);
+
+ if (feed.is_null()) {
+ // feed not managed by us
+ } else if (feed->get_device() == device) {
found = true;
};
};
@@ -410,9 +397,13 @@ void CameraIOS::update_feeds() {
};
CameraIOS::CameraIOS() {
+ print_line("Requesting Camera permissions");
+
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo
completionHandler:^(BOOL granted) {
if (granted) {
+ print_line("Access to cameras granted!");
+
// Find available cameras we have at this time
update_feeds();
diff --git a/platform/iphone/detect.py b/platform/iphone/detect.py
index daf4f405fd..b448cbe097 100644
--- a/platform/iphone/detect.py
+++ b/platform/iphone/detect.py
@@ -154,6 +154,7 @@ def configure(env):
'-framework', 'Security',
'-framework', 'SystemConfiguration',
'-framework', 'UIKit',
+ '-framework', 'ARKit',
])
# Feature options
diff --git a/platform/iphone/export/export.cpp b/platform/iphone/export/export.cpp
index 7ca83320d0..99ce2e8f87 100644
--- a/platform/iphone/export/export.cpp
+++ b/platform/iphone/export/export.cpp
@@ -95,7 +95,7 @@ class EditorExportPlatformIOS : public EditorExportPlatform {
Vector<ExportArchitecture> _get_supported_architectures();
Vector<String> _get_preset_architectures(const Ref<EditorExportPreset> &p_preset);
- void _add_assets_to_project(Vector<uint8_t> &p_project_data, const Vector<IOSExportAsset> &p_additional_assets);
+ void _add_assets_to_project(const Ref<EditorExportPreset> &p_preset, Vector<uint8_t> &p_project_data, const Vector<IOSExportAsset> &p_additional_assets);
Error _export_additional_assets(const String &p_out_dir, const Vector<String> &p_assets, bool p_is_framework, Vector<IOSExportAsset> &r_exported_assets);
Error _export_additional_assets(const String &p_out_dir, const Vector<SharedObject> &p_libraries, Vector<IOSExportAsset> &r_exported_assets);
@@ -125,7 +125,7 @@ class EditorExportPlatformIOS : public EditorExportPlatform {
first = true;
continue;
}
- if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_')) {
+ if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '-')) {
if (r_error) {
*r_error = vformat(TTR("The character '%s' is not allowed in Identifier."), String::chr(c));
}
@@ -137,7 +137,7 @@ class EditorExportPlatformIOS : public EditorExportPlatform {
}
return false;
}
- if (first && c == '_') {
+ if (first && c == '-') {
if (r_error) {
*r_error = vformat(TTR("The character '%s' cannot be the first character in a Identifier segment."), String::chr(c));
}
@@ -564,7 +564,7 @@ Error EditorExportPlatformIOS::_walk_dir_recursive(DirAccess *p_da, FileHandler
dirs.push_back(path);
}
} else {
- Error err = p_handler(current_dir + "/" + path, p_userdata);
+ Error err = p_handler(current_dir.plus_file(path), p_userdata);
if (err) {
p_da->list_dir_end();
return err;
@@ -656,7 +656,7 @@ struct ExportLibsData {
String dest_dir;
};
-void EditorExportPlatformIOS::_add_assets_to_project(Vector<uint8_t> &p_project_data, const Vector<IOSExportAsset> &p_additional_assets) {
+void EditorExportPlatformIOS::_add_assets_to_project(const Ref<EditorExportPreset> &p_preset, Vector<uint8_t> &p_project_data, const Vector<IOSExportAsset> &p_additional_assets) {
Vector<Ref<EditorExportPlugin> > export_plugins = EditorExport::get_singleton()->get_export_plugins();
Vector<String> frameworks;
for (int i = 0; i < export_plugins.size(); ++i) {
@@ -714,7 +714,28 @@ void EditorExportPlatformIOS::_add_assets_to_project(Vector<uint8_t> &p_project_
// 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.
+
+ // We do need our ARKit framework
+ if ((bool)p_preset->get("capabilities/arkit")) {
+ String build_id = (++current_id).str();
+ String ref_id = (++current_id).str();
+
+ if (pbx_frameworks_build.length() > 0) {
+ pbx_frameworks_build += ",\n";
+ pbx_frameworks_refs += ",\n";
+ }
+
+ pbx_frameworks_build += build_id;
+ pbx_frameworks_refs += ref_id;
+
+ Dictionary format_dict;
+ format_dict["build_id"] = build_id;
+ format_dict["ref_id"] = ref_id;
+ format_dict["name"] = "ARKit.framework";
+ format_dict["file_path"] = "System/Library/Frameworks/ARKit.framework";
+ format_dict["file_type"] = "wrapper.framework";
+ pbx_files += file_info_format.format(format_dict, "$_");
+ }
String str = String::utf8((const char *)p_project_data.ptr(), p_project_data.size());
str = str.replace("$additional_pbx_files", pbx_files);
@@ -763,7 +784,7 @@ Error EditorExportPlatformIOS::_export_additional_assets(const String &p_out_dir
}
}
- String destination = destination_dir + "/" + asset.get_file();
+ String destination = destination_dir.plus_file(asset.get_file());
Error err = dir_exists ? da->copy_dir(asset, destination) : da->copy(asset, destination);
memdelete(da);
if (err) {
@@ -1045,7 +1066,7 @@ Error EditorExportPlatformIOS::export_project(const Ref<EditorExportPreset> &p_p
print_line("Exporting additional assets");
Vector<IOSExportAsset> assets;
_export_additional_assets(dest_dir + binary_name, libraries, assets);
- _add_assets_to_project(project_file_data, assets);
+ _add_assets_to_project(p_preset, project_file_data, assets);
String project_file_name = dest_dir + binary_name + ".xcodeproj/project.pbxproj";
FileAccess *f = FileAccess::open(project_file_name, FileAccess::WRITE);
if (!f) {
diff --git a/platform/iphone/gl_view.mm b/platform/iphone/gl_view.mm
index 1cb8d0e44e..4641b2c4ac 100644
--- a/platform/iphone/gl_view.mm
+++ b/platform/iphone/gl_view.mm
@@ -494,7 +494,7 @@ static void clear_touches() {
#ifdef DEBUG_ENABLED
GLenum err = glGetError();
if (err)
- NSLog(@"%x error", err);
+ NSLog(@"DrawView: %x error", err);
#endif
}
diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py
index 145ac42863..c6afa02c6d 100644
--- a/platform/javascript/detect.py
+++ b/platform/javascript/detect.py
@@ -69,9 +69,9 @@ def configure(env):
exec(f.read(), em_config)
except StandardError as e:
raise RuntimeError("Emscripten configuration file '%s' is invalid:\n%s" % (em_config_file, e))
- if 'EMSCRIPTEN_ROOT' not in em_config:
- raise RuntimeError("'EMSCRIPTEN_ROOT' missing in Emscripten configuration file '%s'" % em_config_file)
- env.PrependENVPath('PATH', em_config['EMSCRIPTEN_ROOT'])
+ if 'BINARYEN_ROOT' not in em_config and 'EMSCRIPTEN_ROOT' not in em_config:
+ raise RuntimeError("'BINARYEN_ROOT' or 'EMSCRIPTEN_ROOT' missing in Emscripten configuration file '%s'" % em_config_file)
+ env.PrependENVPath('PATH', em_config.get('BINARYEN_ROOT', em_config.get('EMSCRIPTEN_ROOT')))
env['CC'] = 'emcc'
env['CXX'] = 'em++'
diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp
index 9dabbb12fc..8cabc45250 100644
--- a/platform/osx/export/export.cpp
+++ b/platform/osx/export/export.cpp
@@ -570,7 +570,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p
if (export_format == "dmg") {
// write it into our application bundle
- file = tmp_app_path_name + "/" + file;
+ file = tmp_app_path_name.plus_file(file);
// write the file, need to add chmod
FileAccess *f = FileAccess::open(file, FileAccess::WRITE);
diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp
index ec43a4c26f..abb7b391d3 100644
--- a/platform/uwp/export/export.cpp
+++ b/platform/uwp/export/export.cpp
@@ -32,6 +32,7 @@
#include "core/bind/core_bind.h"
#include "core/io/marshalls.h"
#include "core/io/zip_io.h"
+#include "core/math/crypto_core.h"
#include "core/object.h"
#include "core/os/file_access.h"
#include "core/project_settings.h"
@@ -42,8 +43,6 @@
#include "thirdparty/minizip/unzip.h"
#include "thirdparty/minizip/zip.h"
-#include "thirdparty/misc/base64.h"
-#include "thirdparty/misc/sha256.h"
#include <zlib.h>
@@ -198,15 +197,12 @@ public:
String AppxPackager::hash_block(const uint8_t *p_block_data, size_t p_block_len) {
- char hash[32];
+ unsigned char hash[32];
char base64[45];
- sha256_context ctx;
- sha256_init(&ctx);
- sha256_hash(&ctx, (uint8_t *)p_block_data, p_block_len);
- sha256_done(&ctx, (uint8_t *)hash);
-
- base64_encode(base64, hash, 32);
+ CryptoCore::sha256(p_block_data, p_block_len, hash);
+ size_t len = 0;
+ CryptoCore::b64_encode((unsigned char *)base64, 45, &len, (unsigned char *)hash, 32);
base64[44] = '\0';
return String(base64);
diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp
index 5876a385c6..e535f6a148 100644
--- a/platform/windows/os_windows.cpp
+++ b/platform/windows/os_windows.cpp
@@ -843,8 +843,8 @@ LRESULT OS_Windows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
if (wParam==VK_WIN) TODO wtf is this?
meta_mem=uMsg==WM_KEYDOWN;
*/
-
- } //fallthrough
+ FALLTHROUGH;
+ }
case WM_CHAR: {
ERR_BREAK(key_event_pos >= KEY_EVENT_BUFFER_SIZE);
diff --git a/platform/x11/context_gl_x11.cpp b/platform/x11/context_gl_x11.cpp
index 9718b03164..d70b947fcc 100644
--- a/platform/x11/context_gl_x11.cpp
+++ b/platform/x11/context_gl_x11.cpp
@@ -145,6 +145,7 @@ Error ContextGL_X11::initialize() {
break;
}
}
+ XFree(fbc);
ERR_FAIL_COND_V(!fbconfig, ERR_UNCONFIGURED);
swa.background_pixmap = None;
@@ -159,6 +160,7 @@ Error ContextGL_X11::initialize() {
vi = glXGetVisualFromFBConfig(x11_display, fbc[0]);
fbconfig = fbc[0];
+ XFree(fbc);
}
int (*oldHandler)(Display *, XErrorEvent *) = XSetErrorHandler(&ctxErrorHandler);
diff --git a/platform/x11/detect.py b/platform/x11/detect.py
index 9365b7eabc..9614104750 100644
--- a/platform/x11/detect.py
+++ b/platform/x11/detect.py
@@ -75,11 +75,7 @@ def get_opts():
def get_flags():
- return [
- ('builtin_freetype', False),
- ('builtin_libpng', False),
- ('builtin_zlib', False),
- ]
+ return []
def configure(env):
diff --git a/platform/x11/joypad_linux.cpp b/platform/x11/joypad_linux.cpp
index 21c3b0ac91..e6328ee14d 100644
--- a/platform/x11/joypad_linux.cpp
+++ b/platform/x11/joypad_linux.cpp
@@ -101,7 +101,6 @@ void JoypadLinux::joy_thread_func(void *p_user) {
JoypadLinux *joy = (JoypadLinux *)p_user;
joy->run_joypad_thread();
}
- return;
}
void JoypadLinux::run_joypad_thread() {
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp
index 6421dc270f..624efe8815 100644
--- a/platform/x11/os_x11.cpp
+++ b/platform/x11/os_x11.cpp
@@ -146,7 +146,7 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
if (is_stdout_verbose()) {
WARN_PRINT("IME is disabled");
}
- modifiers = XSetLocaleModifiers("@im=none");
+ XSetLocaleModifiers("@im=none");
WARN_PRINT("Error setting locale modifiers");
}
@@ -1032,9 +1032,7 @@ void OS_X11::set_wm_fullscreen(bool p_enabled) {
}
XSetWMNormalHints(x11_display, x11_window, xsh);
XFree(xsh);
- }
- if (!p_enabled) {
// put back or remove decorations according to the last set borderless state
Hints hints;
Atom property;
@@ -1201,7 +1199,7 @@ Point2 OS_X11::get_window_position() const {
void OS_X11::set_window_position(const Point2 &p_position) {
int x = 0;
int y = 0;
- if (get_borderless_window() == false) {
+ if (!get_borderless_window()) {
//exclude window decorations
XSync(x11_display, False);
Atom prop = XInternAtom(x11_display, "_NET_FRAME_EXTENTS", True);
@@ -2999,7 +2997,7 @@ void OS_X11::alert(const String &p_alert, const String &p_title) {
for (int i = 0; i < path_elems.size(); i++) {
for (unsigned int k = 0; k < sizeof(message_programs) / sizeof(char *); k++) {
- String tested_path = path_elems[i] + "/" + message_programs[k];
+ String tested_path = path_elems[i].plus_file(message_programs[k]);
if (FileAccess::exists(tested_path)) {
program = tested_path;
@@ -3051,8 +3049,6 @@ void OS_X11::alert(const String &p_alert, const String &p_title) {
} else {
print_line(p_alert);
}
-
- return;
}
bool g_set_icon_error = false;
diff --git a/platform/x11/power_x11.cpp b/platform/x11/power_x11.cpp
index 50da6a4967..758bd84114 100644
--- a/platform/x11/power_x11.cpp
+++ b/platform/x11/power_x11.cpp
@@ -202,7 +202,10 @@ void PowerX11::check_proc_acpi_battery(const char *node, bool *have_battery, boo
* We pick the battery that claims to have the most minutes left.
* (failing a report of minutes, we'll take the highest percent.)
*/
- if ((secs < 0) && (this->nsecs_left < 0)) {
+ // -- GODOT start --
+ //if ((secs < 0) && (this->nsecs_left < 0)) {
+ if (this->nsecs_left < 0) {
+ // -- GODOT end --
if ((pct < 0) && (this->percent_left < 0)) {
choose = true; /* at least we know there's a battery. */
}
diff --git a/scene/2d/animated_sprite.cpp b/scene/2d/animated_sprite.cpp
index 5bf70e12b7..b7ace804ef 100644
--- a/scene/2d/animated_sprite.cpp
+++ b/scene/2d/animated_sprite.cpp
@@ -69,10 +69,7 @@ bool AnimatedSprite::_edit_use_rect() const {
Ref<Texture> t;
if (animation)
t = frames->get_frame(animation, frame);
- if (t.is_null())
- return false;
-
- return true;
+ return t.is_valid();
}
Rect2 AnimatedSprite::get_anchorable_rect() const {
diff --git a/scene/2d/area_2d.cpp b/scene/2d/area_2d.cpp
index b322cfe8f1..b701e84a9c 100644
--- a/scene/2d/area_2d.cpp
+++ b/scene/2d/area_2d.cpp
@@ -657,10 +657,10 @@ void Area2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("_body_inout"), &Area2D::_body_inout);
ClassDB::bind_method(D_METHOD("_area_inout"), &Area2D::_area_inout);
- ADD_SIGNAL(MethodInfo("body_shape_entered", PropertyInfo(Variant::INT, "body_id"), PropertyInfo(Variant::OBJECT, "body", PROPERTY_HINT_RESOURCE_TYPE, "PhysicsBody2D"), PropertyInfo(Variant::INT, "body_shape"), PropertyInfo(Variant::INT, "area_shape")));
- ADD_SIGNAL(MethodInfo("body_shape_exited", PropertyInfo(Variant::INT, "body_id"), PropertyInfo(Variant::OBJECT, "body", PROPERTY_HINT_RESOURCE_TYPE, "PhysicsBody2D"), PropertyInfo(Variant::INT, "body_shape"), PropertyInfo(Variant::INT, "area_shape")));
- ADD_SIGNAL(MethodInfo("body_entered", PropertyInfo(Variant::OBJECT, "body", PROPERTY_HINT_RESOURCE_TYPE, "PhysicsBody2D")));
- ADD_SIGNAL(MethodInfo("body_exited", PropertyInfo(Variant::OBJECT, "body", PROPERTY_HINT_RESOURCE_TYPE, "PhysicsBody2D")));
+ ADD_SIGNAL(MethodInfo("body_shape_entered", PropertyInfo(Variant::INT, "body_id"), PropertyInfo(Variant::OBJECT, "body", PROPERTY_HINT_RESOURCE_TYPE, "Node"), PropertyInfo(Variant::INT, "body_shape"), PropertyInfo(Variant::INT, "area_shape")));
+ ADD_SIGNAL(MethodInfo("body_shape_exited", PropertyInfo(Variant::INT, "body_id"), PropertyInfo(Variant::OBJECT, "body", PROPERTY_HINT_RESOURCE_TYPE, "Node"), PropertyInfo(Variant::INT, "body_shape"), PropertyInfo(Variant::INT, "area_shape")));
+ ADD_SIGNAL(MethodInfo("body_entered", PropertyInfo(Variant::OBJECT, "body", PROPERTY_HINT_RESOURCE_TYPE, "Node")));
+ ADD_SIGNAL(MethodInfo("body_exited", PropertyInfo(Variant::OBJECT, "body", PROPERTY_HINT_RESOURCE_TYPE, "Node")));
ADD_SIGNAL(MethodInfo("area_shape_entered", PropertyInfo(Variant::INT, "area_id"), PropertyInfo(Variant::OBJECT, "area", PROPERTY_HINT_RESOURCE_TYPE, "Area2D"), PropertyInfo(Variant::INT, "area_shape"), PropertyInfo(Variant::INT, "self_shape")));
ADD_SIGNAL(MethodInfo("area_shape_exited", PropertyInfo(Variant::INT, "area_id"), PropertyInfo(Variant::OBJECT, "area", PROPERTY_HINT_RESOURCE_TYPE, "Area2D"), PropertyInfo(Variant::INT, "area_shape"), PropertyInfo(Variant::INT, "self_shape")));
diff --git a/scene/2d/audio_stream_player_2d.cpp b/scene/2d/audio_stream_player_2d.cpp
index 73f583111b..932af469d0 100644
--- a/scene/2d/audio_stream_player_2d.cpp
+++ b/scene/2d/audio_stream_player_2d.cpp
@@ -457,8 +457,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_paused_fade_in = !p_pause;
+ stream_paused_fade_out = p_pause;
}
}
diff --git a/scene/2d/canvas_item.cpp b/scene/2d/canvas_item.cpp
index 78e98deb93..23f6404e3e 100644
--- a/scene/2d/canvas_item.cpp
+++ b/scene/2d/canvas_item.cpp
@@ -1074,6 +1074,7 @@ Vector2 CanvasItem::make_canvas_position_local(const Vector2 &screen_point) cons
Ref<InputEvent> CanvasItem::make_input_local(const Ref<InputEvent> &p_event) const {
+ ERR_FAIL_COND_V(p_event.is_null(), p_event);
ERR_FAIL_COND_V(!is_inside_tree(), p_event);
return p_event->xformed_by((get_canvas_transform() * get_global_transform()).affine_inverse());
diff --git a/scene/2d/canvas_item.h b/scene/2d/canvas_item.h
index 1f585d84ce..2604eb04e4 100644
--- a/scene/2d/canvas_item.h
+++ b/scene/2d/canvas_item.h
@@ -143,7 +143,7 @@ public:
void set_particles_anim_v_frames(int p_frames);
int get_particles_anim_v_frames() const;
- void set_particles_anim_loop(bool p_frames);
+ void set_particles_anim_loop(bool p_loop);
bool get_particles_anim_loop() const;
static void init_shaders();
diff --git a/scene/2d/collision_object_2d.cpp b/scene/2d/collision_object_2d.cpp
index 375375285d..36c88e395a 100644
--- a/scene/2d/collision_object_2d.cpp
+++ b/scene/2d/collision_object_2d.cpp
@@ -218,12 +218,13 @@ void CollisionObject2D::shape_owner_set_transform(uint32_t p_owner, const Transf
ERR_FAIL_COND(!shapes.has(p_owner));
ShapeData &sd = shapes[p_owner];
+
sd.xform = p_transform;
for (int i = 0; i < sd.shapes.size(); i++) {
if (area) {
- Physics2DServer::get_singleton()->area_set_shape_transform(rid, sd.shapes[i].index, p_transform);
+ Physics2DServer::get_singleton()->area_set_shape_transform(rid, sd.shapes[i].index, sd.xform);
} else {
- Physics2DServer::get_singleton()->body_set_shape_transform(rid, sd.shapes[i].index, p_transform);
+ Physics2DServer::get_singleton()->body_set_shape_transform(rid, sd.shapes[i].index, sd.xform);
}
}
}
@@ -387,7 +388,7 @@ String CollisionObject2D::get_configuration_warning() const {
String warning = Node2D::get_configuration_warning();
if (shapes.empty()) {
- if (warning == String()) {
+ if (!warning.empty()) {
warning += "\n";
}
warning += TTR("This node has no shape, so it can't collide or interact with other objects.\nConsider adding a CollisionShape2D or CollisionPolygon2D as a child to define its shape.");
diff --git a/scene/2d/cpu_particles_2d.cpp b/scene/2d/cpu_particles_2d.cpp
index 2396faa84b..2091085420 100644
--- a/scene/2d/cpu_particles_2d.cpp
+++ b/scene/2d/cpu_particles_2d.cpp
@@ -250,6 +250,8 @@ void CPUParticles2D::restart() {
frame_remainder = 0;
cycle = 0;
+ set_emitting(true);
+
{
int pc = particles.size();
PoolVector<Particle>::Write w = particles.write();
@@ -260,6 +262,16 @@ void CPUParticles2D::restart() {
}
}
+void CPUParticles2D::set_direction(Vector2 p_direction) {
+
+ direction = p_direction;
+}
+
+Vector2 CPUParticles2D::get_direction() const {
+
+ return direction;
+}
+
void CPUParticles2D::set_spread(float p_spread) {
spread = p_spread;
@@ -530,7 +542,8 @@ void CPUParticles2D::_particles_process(float p_delta) {
time = Math::fmod(time, lifetime);
cycle++;
if (one_shot && cycle > 0) {
- emitting = false;
+ set_emitting(false);
+ _change_notify();
}
}
@@ -628,7 +641,7 @@ void CPUParticles2D::_particles_process(float p_delta) {
p.hue_rot_rand = Math::randf();
p.anim_offset_rand = Math::randf();
- float angle1_rad = (Math::randf() * 2.0 - 1.0) * Math_PI * spread / 180.0;
+ float angle1_rad = Math::atan2(direction.y, direction.x) + (Math::randf() * 2.0 - 1.0) * Math_PI * spread / 180.0;
Vector2 rot = Vector2(Math::cos(angle1_rad), Math::sin(angle1_rad));
p.velocity = rot * parameters[PARAM_INITIAL_LINEAR_VELOCITY] * Math::lerp(1.0f, float(Math::randf()), randomness[PARAM_INITIAL_LINEAR_VELOCITY]);
@@ -1118,6 +1131,8 @@ void CPUParticles2D::convert_from_particles(Node *p_particles) {
if (material.is_null())
return;
+ Vector3 dir = material->get_direction();
+ set_direction(Vector2(dir.x, dir.y));
set_spread(material->get_spread());
set_flatness(material->get_flatness());
@@ -1223,6 +1238,9 @@ void CPUParticles2D::_bind_methods() {
////////////////////////////////
+ ClassDB::bind_method(D_METHOD("set_direction", "direction"), &CPUParticles2D::set_direction);
+ ClassDB::bind_method(D_METHOD("get_direction"), &CPUParticles2D::get_direction);
+
ClassDB::bind_method(D_METHOD("set_spread", "degrees"), &CPUParticles2D::set_spread);
ClassDB::bind_method(D_METHOD("get_spread"), &CPUParticles2D::get_spread);
@@ -1281,7 +1299,8 @@ void CPUParticles2D::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::POOL_COLOR_ARRAY, "emission_colors"), "set_emission_colors", "get_emission_colors");
ADD_GROUP("Flags", "flag_");
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "flag_align_y"), "set_particle_flag", "get_particle_flag", FLAG_ALIGN_Y_TO_VELOCITY);
- ADD_GROUP("Spread", "");
+ ADD_GROUP("Direction", "");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "direction"), "set_direction", "get_direction");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "spread", PROPERTY_HINT_RANGE, "0,180,0.01"), "set_spread", "get_spread");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "flatness", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_flatness", "get_flatness");
ADD_GROUP("Gravity", "");
@@ -1389,6 +1408,7 @@ CPUParticles2D::CPUParticles2D() {
set_draw_order(DRAW_ORDER_INDEX);
set_speed_scale(1);
+ set_direction(Vector2(1, 0));
set_spread(45);
set_flatness(0);
set_param(PARAM_INITIAL_LINEAR_VELOCITY, 0);
@@ -1407,7 +1427,7 @@ CPUParticles2D::CPUParticles2D() {
set_emission_sphere_radius(1);
set_emission_rect_extents(Vector2(1, 1));
- set_gravity(Vector2(0, 98.8));
+ set_gravity(Vector2(0, 98));
for (int i = 0; i < PARAM_MAX; i++) {
set_param_randomness(Parameter(i), 0);
diff --git a/scene/2d/cpu_particles_2d.h b/scene/2d/cpu_particles_2d.h
index 6c83abb311..8613a185b4 100644
--- a/scene/2d/cpu_particles_2d.h
+++ b/scene/2d/cpu_particles_2d.h
@@ -153,6 +153,7 @@ private:
////////
+ Vector2 direction;
float spread;
float flatness;
@@ -234,6 +235,9 @@ public:
///////////////////
+ void set_direction(Vector2 p_direction);
+ Vector2 get_direction() const;
+
void set_spread(float p_spread);
float get_spread() const;
@@ -252,7 +256,7 @@ public:
void set_color(const Color &p_color);
Color get_color() const;
- void set_color_ramp(const Ref<Gradient> &p_texture);
+ void set_color_ramp(const Ref<Gradient> &p_ramp);
Ref<Gradient> get_color_ramp() const;
void set_particle_flag(Flags p_flag, bool p_enable);
diff --git a/scene/2d/line_2d.cpp b/scene/2d/line_2d.cpp
index 5ba184b324..ad405fabbb 100644
--- a/scene/2d/line_2d.cpp
+++ b/scene/2d/line_2d.cpp
@@ -38,13 +38,13 @@ VARIANT_ENUM_CAST(Line2D::LineJointMode)
VARIANT_ENUM_CAST(Line2D::LineCapMode)
VARIANT_ENUM_CAST(Line2D::LineTextureMode)
-Line2D::Line2D() :
- Node2D() {
+Line2D::Line2D() {
_joint_mode = LINE_JOINT_SHARP;
_begin_cap_mode = LINE_CAP_NONE;
_end_cap_mode = LINE_CAP_NONE;
_width = 10;
_default_color = Color(0.4, 0.5, 1);
+ _texture_mode = LINE_TEXTURE_NONE;
_sharp_limit = 2.f;
_round_precision = 8;
}
@@ -84,10 +84,10 @@ void Line2D::set_points(const PoolVector<Vector2> &p_points) {
update();
}
-void Line2D::set_width(float width) {
- if (width < 0.0)
- width = 0.0;
- _width = width;
+void Line2D::set_width(float p_width) {
+ if (p_width < 0.0)
+ p_width = 0.0;
+ _width = p_width;
update();
}
@@ -95,12 +95,32 @@ float Line2D::get_width() const {
return _width;
}
+void Line2D::set_curve(const Ref<Curve> &p_curve) {
+ // Cleanup previous connection if any
+ if (_curve.is_valid()) {
+ _curve->disconnect(CoreStringNames::get_singleton()->changed, this, "_curve_changed");
+ }
+
+ _curve = p_curve;
+
+ // Connect to the curve so the line will update when it is changed
+ if (_curve.is_valid()) {
+ _curve->connect(CoreStringNames::get_singleton()->changed, this, "_curve_changed");
+ }
+
+ update();
+}
+
+Ref<Curve> Line2D::get_curve() const {
+ return _curve;
+}
+
PoolVector<Vector2> Line2D::get_points() const {
return _points;
}
-void Line2D::set_point_position(int i, Vector2 pos) {
- _points.set(i, pos);
+void Line2D::set_point_position(int i, Vector2 p_pos) {
+ _points.set(i, p_pos);
update();
}
@@ -121,11 +141,11 @@ void Line2D::clear_points() {
}
}
-void Line2D::add_point(Vector2 pos, int atpos) {
- if (atpos < 0 || _points.size() < atpos) {
- _points.append(pos);
+void Line2D::add_point(Vector2 p_pos, int p_atpos) {
+ if (p_atpos < 0 || _points.size() < p_atpos) {
+ _points.append(p_pos);
} else {
- _points.insert(atpos, pos);
+ _points.insert(p_atpos, p_pos);
}
update();
}
@@ -135,8 +155,8 @@ void Line2D::remove_point(int i) {
update();
}
-void Line2D::set_default_color(Color color) {
- _default_color = color;
+void Line2D::set_default_color(Color p_color) {
+ _default_color = p_color;
update();
}
@@ -144,18 +164,18 @@ Color Line2D::get_default_color() const {
return _default_color;
}
-void Line2D::set_gradient(const Ref<Gradient> &gradient) {
+void Line2D::set_gradient(const Ref<Gradient> &p_gradient) {
// Cleanup previous connection if any
if (_gradient.is_valid()) {
- (**_gradient).disconnect(CoreStringNames::get_singleton()->changed, this, "_gradient_changed");
+ _gradient->disconnect(CoreStringNames::get_singleton()->changed, this, "_gradient_changed");
}
- _gradient = gradient;
+ _gradient = p_gradient;
// Connect to the gradient so the line will update when the ColorRamp is changed
if (_gradient.is_valid()) {
- (**_gradient).connect(CoreStringNames::get_singleton()->changed, this, "_gradient_changed");
+ _gradient->connect(CoreStringNames::get_singleton()->changed, this, "_gradient_changed");
}
update();
@@ -165,8 +185,8 @@ Ref<Gradient> Line2D::get_gradient() const {
return _gradient;
}
-void Line2D::set_texture(const Ref<Texture> &texture) {
- _texture = texture;
+void Line2D::set_texture(const Ref<Texture> &p_texture) {
+ _texture = p_texture;
update();
}
@@ -174,8 +194,8 @@ Ref<Texture> Line2D::get_texture() const {
return _texture;
}
-void Line2D::set_texture_mode(const LineTextureMode mode) {
- _texture_mode = mode;
+void Line2D::set_texture_mode(const LineTextureMode p_mode) {
+ _texture_mode = p_mode;
update();
}
@@ -183,8 +203,8 @@ Line2D::LineTextureMode Line2D::get_texture_mode() const {
return _texture_mode;
}
-void Line2D::set_joint_mode(LineJointMode mode) {
- _joint_mode = mode;
+void Line2D::set_joint_mode(LineJointMode p_mode) {
+ _joint_mode = p_mode;
update();
}
@@ -192,8 +212,8 @@ Line2D::LineJointMode Line2D::get_joint_mode() const {
return _joint_mode;
}
-void Line2D::set_begin_cap_mode(LineCapMode mode) {
- _begin_cap_mode = mode;
+void Line2D::set_begin_cap_mode(LineCapMode p_mode) {
+ _begin_cap_mode = p_mode;
update();
}
@@ -201,8 +221,8 @@ Line2D::LineCapMode Line2D::get_begin_cap_mode() const {
return _begin_cap_mode;
}
-void Line2D::set_end_cap_mode(LineCapMode mode) {
- _end_cap_mode = mode;
+void Line2D::set_end_cap_mode(LineCapMode p_mode) {
+ _end_cap_mode = p_mode;
update();
}
@@ -218,10 +238,10 @@ void Line2D::_notification(int p_what) {
}
}
-void Line2D::set_sharp_limit(float limit) {
- if (limit < 0.f)
- limit = 0.f;
- _sharp_limit = limit;
+void Line2D::set_sharp_limit(float p_limit) {
+ if (p_limit < 0.f)
+ p_limit = 0.f;
+ _sharp_limit = p_limit;
update();
}
@@ -229,10 +249,10 @@ float Line2D::get_sharp_limit() const {
return _sharp_limit;
}
-void Line2D::set_round_precision(int precision) {
- if (precision < 1)
- precision = 1;
- _round_precision = precision;
+void Line2D::set_round_precision(int p_precision) {
+ if (p_precision < 1)
+ p_precision = 1;
+ _round_precision = p_precision;
update();
}
@@ -268,10 +288,11 @@ void Line2D::_draw() {
lb.round_precision = _round_precision;
lb.sharp_limit = _sharp_limit;
lb.width = _width;
+ lb.curve = *_curve;
RID texture_rid;
if (_texture.is_valid()) {
- texture_rid = (**_texture).get_rid();
+ texture_rid = _texture->get_rid();
lb.tile_aspect = _texture->get_size().aspect();
}
@@ -312,6 +333,10 @@ void Line2D::_gradient_changed() {
update();
}
+void Line2D::_curve_changed() {
+ update();
+}
+
// static
void Line2D::_bind_methods() {
@@ -331,6 +356,9 @@ void Line2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_width", "width"), &Line2D::set_width);
ClassDB::bind_method(D_METHOD("get_width"), &Line2D::get_width);
+ ClassDB::bind_method(D_METHOD("set_curve", "curve"), &Line2D::set_curve);
+ ClassDB::bind_method(D_METHOD("get_curve"), &Line2D::get_curve);
+
ClassDB::bind_method(D_METHOD("set_default_color", "color"), &Line2D::set_default_color);
ClassDB::bind_method(D_METHOD("get_default_color"), &Line2D::get_default_color);
@@ -360,6 +388,7 @@ void Line2D::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::POOL_VECTOR2_ARRAY, "points"), "set_points", "get_points");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "width"), "set_width", "get_width");
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "width_curve", PROPERTY_HINT_RESOURCE_TYPE, "Curve"), "set_curve", "get_curve");
ADD_PROPERTY(PropertyInfo(Variant::COLOR, "default_color"), "set_default_color", "get_default_color");
ADD_GROUP("Fill", "");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "gradient", PROPERTY_HINT_RESOURCE_TYPE, "Gradient"), "set_gradient", "get_gradient");
@@ -386,4 +415,5 @@ void Line2D::_bind_methods() {
BIND_ENUM_CONSTANT(LINE_TEXTURE_STRETCH);
ClassDB::bind_method(D_METHOD("_gradient_changed"), &Line2D::_gradient_changed);
+ ClassDB::bind_method(D_METHOD("_curve_changed"), &Line2D::_curve_changed);
}
diff --git a/scene/2d/line_2d.h b/scene/2d/line_2d.h
index 11be5055d4..14afa463ba 100644
--- a/scene/2d/line_2d.h
+++ b/scene/2d/line_2d.h
@@ -78,6 +78,9 @@ public:
void set_width(float width);
float get_width() const;
+ void set_curve(const Ref<Curve> &curve);
+ Ref<Curve> get_curve() const;
+
void set_default_color(Color color);
Color get_default_color() const;
@@ -113,6 +116,7 @@ protected:
private:
void _gradient_changed();
+ void _curve_changed();
private:
PoolVector<Vector2> _points;
@@ -120,6 +124,7 @@ private:
LineCapMode _begin_cap_mode;
LineCapMode _end_cap_mode;
float _width;
+ Ref<Curve> _curve;
Color _default_color;
Ref<Gradient> _gradient;
Ref<Texture> _texture;
diff --git a/scene/2d/line_builder.cpp b/scene/2d/line_builder.cpp
index eb09d3c9d3..9fe5fb98b6 100644
--- a/scene/2d/line_builder.cpp
+++ b/scene/2d/line_builder.cpp
@@ -95,6 +95,7 @@ static inline Vector2 interpolate(const Rect2 &r, const Vector2 &v) {
LineBuilder::LineBuilder() {
joint_mode = Line2D::LINE_JOINT_SHARP;
width = 10;
+ curve = NULL;
default_color = Color(0.4, 0.5, 1);
gradient = NULL;
sharp_limit = 2.f;
@@ -136,8 +137,8 @@ void LineBuilder::build() {
Vector2 pos1 = points[1];
Vector2 f0 = (pos1 - pos0).normalized();
Vector2 u0 = rotate90(f0);
- Vector2 pos_up0 = pos0 + u0 * hw;
- Vector2 pos_down0 = pos0 - u0 * hw;
+ Vector2 pos_up0 = pos0;
+ Vector2 pos_down0 = pos0;
Color color0;
Color color1;
@@ -145,12 +146,30 @@ void LineBuilder::build() {
float current_distance0 = 0.f;
float current_distance1 = 0.f;
float total_distance = 0.f;
+ float width_factor = 1.f;
_interpolate_color = gradient != NULL;
+ bool retrieve_curve = curve != NULL;
bool distance_required = _interpolate_color ||
+ retrieve_curve ||
texture_mode == Line2D::LINE_TEXTURE_TILE ||
texture_mode == Line2D::LINE_TEXTURE_STRETCH;
- if (distance_required)
+ if (distance_required) {
total_distance = calculate_total_distance(points);
+ //Ajust totalDistance.
+ // The line's outer length will be a little higher due to begin and end caps
+ if (begin_cap_mode == Line2D::LINE_CAP_BOX || begin_cap_mode == Line2D::LINE_CAP_ROUND) {
+ if (retrieve_curve)
+ total_distance += width * curve->interpolate_baked(0.f) * 0.5f;
+ else
+ total_distance += width * 0.5f;
+ }
+ if (end_cap_mode == Line2D::LINE_CAP_BOX || end_cap_mode == Line2D::LINE_CAP_ROUND) {
+ if (retrieve_curve)
+ total_distance += width * curve->interpolate_baked(1.f) * 0.5f;
+ else
+ total_distance += width * 0.5f;
+ }
+ }
if (_interpolate_color)
color0 = gradient->get_color(0);
else
@@ -159,22 +178,28 @@ void LineBuilder::build() {
float uvx0 = 0.f;
float uvx1 = 0.f;
+ if (retrieve_curve)
+ width_factor = curve->interpolate_baked(0.f);
+
+ pos_up0 += u0 * hw * width_factor;
+ pos_down0 -= u0 * hw * width_factor;
+
// Begin cap
if (begin_cap_mode == Line2D::LINE_CAP_BOX) {
// Push back first vertices a little bit
- pos_up0 -= f0 * hw;
- pos_down0 -= f0 * hw;
- // The line's outer length will be a little higher due to begin and end caps
- total_distance += width;
- current_distance0 += hw;
+ pos_up0 -= f0 * hw * width_factor;
+ pos_down0 -= f0 * hw * width_factor;
+
+ current_distance0 += hw * width_factor;
current_distance1 = current_distance0;
} else if (begin_cap_mode == Line2D::LINE_CAP_ROUND) {
if (texture_mode == Line2D::LINE_TEXTURE_TILE) {
- uvx0 = 0.5f / tile_aspect;
+ uvx0 = width_factor * 0.5f / tile_aspect;
+ } else if (texture_mode == Line2D::LINE_TEXTURE_STRETCH) {
+ uvx0 = width * width_factor / total_distance;
}
- new_arc(pos0, pos_up0 - pos0, -Math_PI, color0, Rect2(0.f, 0.f, fmin(uvx0 * 2, 1.f), 1.f));
- total_distance += width;
- current_distance0 += hw;
+ new_arc(pos0, pos_up0 - pos0, -Math_PI, color0, Rect2(0.f, 0.f, uvx0 * 2, 1.f));
+ current_distance0 += hw * width_factor;
current_distance1 = current_distance0;
}
@@ -206,13 +231,23 @@ void LineBuilder::build() {
const float dp = u0.dot(f1);
const Orientation orientation = (dp > 0.f ? UP : DOWN);
+ if (distance_required) {
+ current_distance1 += pos0.distance_to(pos1);
+ }
+ if (_interpolate_color) {
+ color1 = gradient->get_color_at_offset(current_distance1 / total_distance);
+ }
+ if (retrieve_curve) {
+ width_factor = curve->interpolate_baked(current_distance1 / total_distance);
+ }
+
Vector2 inner_normal0, inner_normal1;
if (orientation == UP) {
- inner_normal0 = u0 * hw;
- inner_normal1 = u1 * hw;
+ inner_normal0 = u0 * hw * width_factor;
+ inner_normal1 = u1 * hw * width_factor;
} else {
- inner_normal0 = -u0 * hw;
- inner_normal1 = -u1 * hw;
+ inner_normal0 = -u0 * hw * width_factor;
+ inner_normal1 = -u1 * hw * width_factor;
}
/*
@@ -259,7 +294,8 @@ void LineBuilder::build() {
Vector2 pos_up1, pos_down1;
if (intersection_result == SEGMENT_INTERSECT) {
// Fallback on bevel if sharp angle is too high (because it would produce very long miters)
- if (current_joint_mode == Line2D::LINE_JOINT_SHARP && corner_pos_out.distance_squared_to(pos1) / hw_sq > sharp_limit_sq) {
+ float width_factor_sq = width_factor * width_factor;
+ if (current_joint_mode == Line2D::LINE_JOINT_SHARP && corner_pos_out.distance_squared_to(pos1) / (hw_sq * width_factor_sq) > sharp_limit_sq) {
current_joint_mode = Line2D::LINE_JOINT_BEVEL;
}
if (current_joint_mode == Line2D::LINE_JOINT_SHARP) {
@@ -271,9 +307,9 @@ void LineBuilder::build() {
// Bevel or round
if (orientation == UP) {
pos_up1 = corner_pos_up;
- pos_down1 = pos1 - u0 * hw;
+ pos_down1 = pos1 - u0 * hw * width_factor;
} else {
- pos_up1 = pos1 + u0 * hw;
+ pos_up1 = pos1 + u0 * hw * width_factor;
pos_down1 = corner_pos_down;
}
}
@@ -289,12 +325,6 @@ void LineBuilder::build() {
// Add current line body quad
// Triangles are clockwise
- if (distance_required) {
- current_distance1 += pos0.distance_to(pos1);
- }
- if (_interpolate_color) {
- color1 = gradient->get_color_at_offset(current_distance1 / total_distance);
- }
if (texture_mode == Line2D::LINE_TEXTURE_TILE) {
uvx1 = current_distance1 / (width * tile_aspect);
} else if (texture_mode == Line2D::LINE_TEXTURE_STRETCH) {
@@ -315,15 +345,15 @@ void LineBuilder::build() {
} else {
if (orientation == UP) {
pos_up0 = corner_pos_up;
- pos_down0 = pos1 - u1 * hw;
+ pos_down0 = pos1 - u1 * hw * width_factor;
} else {
- pos_up0 = pos1 + u1 * hw;
+ pos_up0 = pos1 + u1 * hw * width_factor;
pos_down0 = corner_pos_down;
}
}
} else {
- pos_up0 = pos1 + u1 * hw;
- pos_down0 = pos1 - u1 * hw;
+ pos_up0 = pos1 + u1 * hw * width_factor;
+ pos_down0 = pos1 - u1 * hw * width_factor;
}
// From this point, bu0 and bd0 concern the next segment
@@ -362,26 +392,28 @@ void LineBuilder::build() {
strip_begin(pos_up0, pos_down0, color1, uvx1);
}
}
-
// Last (or only) segment
-
pos1 = points[points.size() - 1];
- Vector2 pos_up1 = pos1 + u0 * hw;
- Vector2 pos_down1 = pos1 - u0 * hw;
-
- // End cap (box)
- if (end_cap_mode == Line2D::LINE_CAP_BOX) {
- pos_up1 += f0 * hw;
- pos_down1 += f0 * hw;
- }
-
if (distance_required) {
current_distance1 += pos0.distance_to(pos1);
}
if (_interpolate_color) {
color1 = gradient->get_color(gradient->get_points_count() - 1);
}
+ if (retrieve_curve) {
+ width_factor = curve->interpolate_baked(1.f);
+ }
+
+ Vector2 pos_up1 = pos1 + u0 * hw * width_factor;
+ Vector2 pos_down1 = pos1 - u0 * hw * width_factor;
+
+ // End cap (box)
+ if (end_cap_mode == Line2D::LINE_CAP_BOX) {
+ pos_up1 += f0 * hw * width_factor;
+ pos_down1 += f0 * hw * width_factor;
+ }
+
if (texture_mode == Line2D::LINE_TEXTURE_TILE) {
uvx1 = current_distance1 / (width * tile_aspect);
} else if (texture_mode == Line2D::LINE_TEXTURE_STRETCH) {
@@ -394,7 +426,13 @@ void LineBuilder::build() {
if (end_cap_mode == Line2D::LINE_CAP_ROUND) {
// Note: color is not used in case we don't interpolate...
Color color = _interpolate_color ? gradient->get_color(gradient->get_points_count() - 1) : Color(0, 0, 0);
- new_arc(pos1, pos_up1 - pos1, Math_PI, color, Rect2(uvx1 - 0.5f / tile_aspect, 0.f, 1.0f / tile_aspect, 1.f));
+ float dist = 0;
+ if (texture_mode == Line2D::LINE_TEXTURE_TILE) {
+ dist = width_factor / tile_aspect;
+ } else if (texture_mode == Line2D::LINE_TEXTURE_STRETCH) {
+ dist = width * width_factor / total_distance;
+ }
+ new_arc(pos1, pos_up1 - pos1, Math_PI, color, Rect2(uvx1 - 0.5f * dist, 0.f, dist, 1.f));
}
}
diff --git a/scene/2d/line_builder.h b/scene/2d/line_builder.h
index b961385e33..91b4518f9b 100644
--- a/scene/2d/line_builder.h
+++ b/scene/2d/line_builder.h
@@ -45,6 +45,7 @@ public:
Line2D::LineCapMode begin_cap_mode;
Line2D::LineCapMode end_cap_mode;
float width;
+ Curve *curve;
Color default_color;
Gradient *gradient;
Line2D::LineTextureMode texture_mode;
diff --git a/scene/2d/navigation_2d.cpp b/scene/2d/navigation_2d.cpp
index 72b5f2fb12..f644db462b 100644
--- a/scene/2d/navigation_2d.cpp
+++ b/scene/2d/navigation_2d.cpp
@@ -92,7 +92,6 @@ void Navigation2D::_navpoly_link(int p_id) {
if (!valid) {
nm.polygons.pop_back();
ERR_CONTINUE(!valid);
- continue;
}
p.center = center / plen;
diff --git a/scene/2d/particles_2d.cpp b/scene/2d/particles_2d.cpp
index 9701998f5d..93c12f0103 100644
--- a/scene/2d/particles_2d.cpp
+++ b/scene/2d/particles_2d.cpp
@@ -41,6 +41,12 @@
void Particles2D::set_emitting(bool p_emitting) {
VS::get_singleton()->particles_set_emitting(particles, p_emitting);
+
+ if (p_emitting && one_shot) {
+ set_process_internal(true);
+ } else if (!p_emitting) {
+ set_process_internal(false);
+ }
}
void Particles2D::set_amount(int p_amount) {
@@ -60,8 +66,16 @@ void Particles2D::set_one_shot(bool p_enable) {
one_shot = p_enable;
VS::get_singleton()->particles_set_one_shot(particles, one_shot);
- if (!one_shot && is_emitting())
- VisualServer::get_singleton()->particles_restart(particles);
+
+ if (is_emitting()) {
+
+ set_process_internal(true);
+ if (!one_shot)
+ VisualServer::get_singleton()->particles_restart(particles);
+ }
+
+ if (!one_shot)
+ set_process_internal(false);
}
void Particles2D::set_pre_process_time(float p_time) {
@@ -278,6 +292,7 @@ void Particles2D::_validate_property(PropertyInfo &property) const {
void Particles2D::restart() {
VS::get_singleton()->particles_restart(particles);
+ VS::get_singleton()->particles_set_emitting(particles, true);
}
void Particles2D::_notification(int p_what) {
@@ -313,6 +328,14 @@ void Particles2D::_notification(int p_what) {
if (p_what == NOTIFICATION_TRANSFORM_CHANGED) {
_update_particle_emission_transform();
}
+
+ if (p_what == NOTIFICATION_INTERNAL_PROCESS) {
+
+ if (one_shot && !is_emitting()) {
+ _change_notify();
+ set_process_internal(false);
+ }
+ }
}
void Particles2D::_bind_methods() {
@@ -387,6 +410,7 @@ Particles2D::Particles2D() {
particles = VS::get_singleton()->particles_create();
+ one_shot = false; // Needed so that set_emitting doesn't access uninitialized values
set_emitting(true);
set_one_shot(false);
set_amount(8);
diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp
index 2bd9e5e2a2..95acf13fad 100644
--- a/scene/2d/physics_body_2d.cpp
+++ b/scene/2d/physics_body_2d.cpp
@@ -1541,7 +1541,7 @@ Vector2 KinematicCollision2D::get_remainder() const {
return collision.remainder;
}
Object *KinematicCollision2D::get_local_shape() const {
- ERR_FAIL_COND_V(!owner, NULL);
+ if (!owner) return NULL;
uint32_t ownerid = owner->shape_find_owner(collision.local_shape);
return owner->shape_owner_get_owner(ownerid);
}
diff --git a/scene/2d/physics_body_2d.h b/scene/2d/physics_body_2d.h
index 89dd1e5341..66e5ce250f 100644
--- a/scene/2d/physics_body_2d.h
+++ b/scene/2d/physics_body_2d.h
@@ -157,8 +157,8 @@ private:
bool operator<(const ShapePair &p_sp) const {
if (body_shape == p_sp.body_shape)
return local_shape < p_sp.local_shape;
- else
- return body_shape < p_sp.body_shape;
+
+ return body_shape < p_sp.body_shape;
}
ShapePair() {}
diff --git a/scene/2d/sprite.cpp b/scene/2d/sprite.cpp
index a8c7622828..6626fccf1c 100644
--- a/scene/2d/sprite.cpp
+++ b/scene/2d/sprite.cpp
@@ -63,10 +63,7 @@ Rect2 Sprite::_edit_get_rect() const {
}
bool Sprite::_edit_use_rect() const {
- if (texture.is_null())
- return false;
-
- return true;
+ return texture.is_valid();
}
Rect2 Sprite::get_anchorable_rect() const {
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index b3b6f3175d..22bc0e44e6 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -30,9 +30,11 @@
#include "tile_map.h"
+#include "collision_object_2d.h"
#include "core/io/marshalls.h"
#include "core/method_bind_ext.gen.inc"
#include "core/os/os.h"
+#include "scene/2d/area_2d.h"
#include "servers/physics_2d_server.h"
int TileMap::_get_quadrant_size() const {
@@ -60,14 +62,21 @@ void TileMap::_notification(int p_what) {
c = Object::cast_to<Node2D>(c->get_parent());
}
+ if (use_parent) {
+ _clear_quadrants();
+ collision_parent = Object::cast_to<CollisionObject2D>(get_parent());
+ }
+
pending_update = true;
_recreate_quadrants();
update_dirty_quadrants();
RID space = get_world_2d()->get_space();
_update_quadrant_transform();
_update_quadrant_space(space);
+ update_configuration_warning();
} break;
+
case NOTIFICATION_EXIT_TREE: {
_update_quadrant_space(RID());
@@ -82,30 +91,46 @@ void TileMap::_notification(int p_what) {
q.navpoly_ids.clear();
}
+ if (collision_parent) {
+ collision_parent->remove_shape_owner(q.shape_owner_id);
+ q.shape_owner_id = -1;
+ }
+
for (Map<PosKey, Quadrant::Occluder>::Element *F = q.occluder_instances.front(); F; F = F->next()) {
VS::get_singleton()->free(F->get().id);
}
q.occluder_instances.clear();
}
+ collision_parent = NULL;
navigation = NULL;
} break;
+
case NOTIFICATION_TRANSFORM_CHANGED: {
//move stuff
_update_quadrant_transform();
} break;
+ case NOTIFICATION_LOCAL_TRANSFORM_CHANGED: {
+
+ if (use_parent) {
+ _recreate_quadrants();
+ }
+
+ } break;
}
}
void TileMap::_update_quadrant_space(const RID &p_space) {
- for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
+ if (!use_parent) {
+ for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
- Quadrant &q = E->get();
- Physics2DServer::get_singleton()->body_set_space(q.body, p_space);
+ Quadrant &q = E->get();
+ Physics2DServer::get_singleton()->body_set_space(q.body, p_space);
+ }
}
}
@@ -116,6 +141,10 @@ void TileMap::_update_quadrant_transform() {
Transform2D global_transform = get_global_transform();
+ Transform2D local_transform;
+ if (collision_parent)
+ local_transform = get_transform();
+
Transform2D nav_rel;
if (navigation)
nav_rel = get_relative_transform_to_parent(navigation);
@@ -125,8 +154,11 @@ void TileMap::_update_quadrant_transform() {
Quadrant &q = E->get();
Transform2D xform;
xform.set_origin(q.pos);
- xform = global_transform * xform;
- Physics2DServer::get_singleton()->body_set_state(q.body, Physics2DServer::BODY_STATE_TRANSFORM, xform);
+
+ if (!use_parent) {
+ xform = global_transform * xform;
+ Physics2DServer::get_singleton()->body_set_state(q.body, Physics2DServer::BODY_STATE_TRANSFORM, xform);
+ }
if (navigation) {
for (Map<PosKey, Quadrant::NavPoly>::Element *F = q.navpoly_ids.front(); F; F = F->next()) {
@@ -202,6 +234,25 @@ void TileMap::_fix_cell_transform(Transform2D &xform, const Cell &p_cell, const
Size2 s = p_sc;
Vector2 offset = p_offset;
+ if (compatibility_mode && !centered_textures) {
+
+ if (tile_origin == TILE_ORIGIN_BOTTOM_LEFT) {
+ offset.y += cell_size.y;
+ } else if (tile_origin == TILE_ORIGIN_CENTER) {
+ offset += cell_size / 2;
+ }
+
+ if (s.y > s.x) {
+ if ((p_cell.flip_h && (p_cell.flip_v || p_cell.transpose)) || (p_cell.flip_v && !p_cell.transpose)) {
+ offset.y += s.y - s.x;
+ }
+ } else if (s.y < s.x) {
+ if ((p_cell.flip_v && (p_cell.flip_h || p_cell.transpose)) || (p_cell.flip_h && !p_cell.transpose)) {
+ offset.x += s.x - s.y;
+ }
+ }
+ }
+
if (p_cell.transpose) {
SWAP(xform.elements[0].x, xform.elements[0].y);
SWAP(xform.elements[1].x, xform.elements[1].y);
@@ -212,19 +263,67 @@ void TileMap::_fix_cell_transform(Transform2D &xform, const Cell &p_cell, const
if (p_cell.flip_h) {
xform.elements[0].x = -xform.elements[0].x;
xform.elements[1].x = -xform.elements[1].x;
- offset.x = s.x - offset.x;
+ if (compatibility_mode && !centered_textures) {
+ if (tile_origin == TILE_ORIGIN_TOP_LEFT || tile_origin == TILE_ORIGIN_BOTTOM_LEFT) {
+ offset.x = s.x - offset.x;
+ } else if (tile_origin == TILE_ORIGIN_CENTER) {
+ offset.x = s.x - offset.x / 2;
+ }
+ } else {
+ offset.x = s.x - offset.x;
+ }
}
if (p_cell.flip_v) {
xform.elements[0].y = -xform.elements[0].y;
xform.elements[1].y = -xform.elements[1].y;
- offset.y = s.y - offset.y;
+ if (compatibility_mode && !centered_textures) {
+ if (tile_origin == TILE_ORIGIN_TOP_LEFT) {
+ offset.y = s.y - offset.y;
+ } else if (tile_origin == TILE_ORIGIN_BOTTOM_LEFT) {
+ offset.y += s.y;
+ } else if (tile_origin == TILE_ORIGIN_CENTER) {
+ offset.y += s.y;
+ }
+ } else {
+ offset.y = s.y - offset.y;
+ }
+ }
+
+ if (centered_textures) {
+ offset += cell_size / 2 - s / 2;
}
- /* For a future CheckBox to Center Texture:
- offset += cell_size / 2 - s / 2; */
xform.elements[2] += offset;
}
+void TileMap::_add_shape(int &shape_idx, const Quadrant &p_q, const Ref<Shape2D> &p_shape, const TileSet::ShapeData &p_shape_data, const Transform2D &p_xform, const Vector2 &p_metadata) {
+ Physics2DServer *ps = Physics2DServer::get_singleton();
+
+ if (!use_parent) {
+ ps->body_add_shape(p_q.body, p_shape->get_rid(), p_xform);
+ ps->body_set_shape_metadata(p_q.body, shape_idx, p_metadata);
+ ps->body_set_shape_as_one_way_collision(p_q.body, shape_idx, p_shape_data.one_way_collision, p_shape_data.one_way_collision_margin);
+
+ } else if (collision_parent) {
+ Transform2D xform = p_xform;
+ xform.set_origin(xform.get_origin() + p_q.pos);
+
+ collision_parent->shape_owner_add_shape(p_q.shape_owner_id, p_shape);
+
+ int real_index = collision_parent->shape_owner_get_shape_index(p_q.shape_owner_id, shape_idx);
+ RID rid = collision_parent->get_rid();
+
+ if (Object::cast_to<Area2D>(collision_parent) != NULL) {
+ ps->area_set_shape_transform(rid, real_index, get_transform() * xform);
+ } else {
+ ps->body_set_shape_transform(rid, real_index, get_transform() * xform);
+ ps->body_set_shape_metadata(rid, real_index, p_metadata);
+ ps->body_set_shape_as_one_way_collision(rid, real_index, p_shape_data.one_way_collision, p_shape_data.one_way_collision_margin);
+ }
+ }
+ shape_idx++;
+}
+
void TileMap::update_dirty_quadrants() {
if (!pending_update)
@@ -268,7 +367,11 @@ void TileMap::update_dirty_quadrants() {
q.canvas_items.clear();
- ps->body_clear_shapes(q.body);
+ if (!use_parent) {
+ ps->body_clear_shapes(q.body);
+ } else if (collision_parent) {
+ collision_parent->shape_owner_clear_shapes(q.shape_owner_id);
+ }
int shape_idx = 0;
if (navigation) {
@@ -370,13 +473,24 @@ void TileMap::update_dirty_quadrants() {
rect.size.x += fp_adjust;
rect.size.y += fp_adjust;
+ if (compatibility_mode && !centered_textures) {
+ if (rect.size.y > rect.size.x) {
+ if ((c.flip_h && (c.flip_v || c.transpose)) || (c.flip_v && !c.transpose))
+ tile_ofs.y += rect.size.y - rect.size.x;
+ } else if (rect.size.y < rect.size.x) {
+ if ((c.flip_v && (c.flip_h || c.transpose)) || (c.flip_h && !c.transpose))
+ tile_ofs.x += rect.size.x - rect.size.y;
+ }
+ }
+
if (c.transpose) {
SWAP(tile_ofs.x, tile_ofs.y);
- /* For a future CheckBox to Center Texture:
- rect.position.x += cell_size.x / 2 - rect.size.y / 2;
- rect.position.y += cell_size.y / 2 - rect.size.x / 2;
- } else {
- rect.position += cell_size / 2 - rect.size / 2; */
+ if (centered_textures) {
+ rect.position.x += cell_size.x / 2 - rect.size.y / 2;
+ rect.position.y += cell_size.y / 2 - rect.size.x / 2;
+ }
+ } else if (centered_textures) {
+ rect.position += cell_size / 2 - rect.size / 2;
}
if (c.flip_h) {
@@ -389,7 +503,43 @@ void TileMap::update_dirty_quadrants() {
tile_ofs.y = -tile_ofs.y;
}
- rect.position += tile_ofs;
+ if (compatibility_mode && !centered_textures) {
+ if (tile_origin == TILE_ORIGIN_TOP_LEFT) {
+ rect.position += tile_ofs;
+
+ } else if (tile_origin == TILE_ORIGIN_BOTTOM_LEFT) {
+
+ rect.position += tile_ofs;
+
+ if (c.transpose) {
+ if (c.flip_h)
+ rect.position.x -= cell_size.x;
+ else
+ rect.position.x += cell_size.x;
+ } else {
+ if (c.flip_v)
+ rect.position.y -= cell_size.y;
+ else
+ rect.position.y += cell_size.y;
+ }
+
+ } else if (tile_origin == TILE_ORIGIN_CENTER) {
+
+ rect.position += tile_ofs;
+
+ if (c.flip_h)
+ rect.position.x -= cell_size.x / 2;
+ else
+ rect.position.x += cell_size.x / 2;
+
+ if (c.flip_v)
+ rect.position.y -= cell_size.y / 2;
+ else
+ rect.position.y += cell_size.y / 2;
+ }
+ } else {
+ rect.position += tile_ofs;
+ }
Ref<Texture> normal_map = tile_set->tile_get_normal_map(c.id);
Color modulate = tile_set->tile_get_modulate(c.id);
@@ -427,10 +577,7 @@ void TileMap::update_dirty_quadrants() {
for (int k = 0; k < _shapes.size(); k++) {
Ref<ConvexPolygonShape2D> convex = _shapes[k];
if (convex.is_valid()) {
- ps->body_add_shape(q.body, convex->get_rid(), xform);
- ps->body_set_shape_metadata(q.body, shape_idx, Vector2(E->key().x, E->key().y));
- ps->body_set_shape_as_one_way_collision(q.body, shape_idx, shapes[j].one_way_collision, shapes[j].one_way_collision_margin);
- shape_idx++;
+ _add_shape(shape_idx, q, convex, shapes[j], xform, Vector2(E->key().x, E->key().y));
#ifdef DEBUG_ENABLED
} else {
print_error("The TileSet assigned to the TileMap " + get_name() + " has an invalid convex shape.");
@@ -438,10 +585,7 @@ void TileMap::update_dirty_quadrants() {
}
}
} else {
- ps->body_add_shape(q.body, shape->get_rid(), xform);
- ps->body_set_shape_metadata(q.body, shape_idx, Vector2(E->key().x, E->key().y));
- ps->body_set_shape_as_one_way_collision(q.body, shape_idx, shapes[j].one_way_collision, shapes[j].one_way_collision_margin);
- shape_idx++;
+ _add_shape(shape_idx, q, shape, shapes[j], xform, Vector2(E->key().x, E->key().y));
}
}
}
@@ -616,22 +760,29 @@ Map<TileMap::PosKey, TileMap::Quadrant>::Element *TileMap::_create_quadrant(cons
xform.set_origin(q.pos);
//q.canvas_item = VisualServer::get_singleton()->canvas_item_create();
- q.body = Physics2DServer::get_singleton()->body_create();
- Physics2DServer::get_singleton()->body_set_mode(q.body, use_kinematic ? Physics2DServer::BODY_MODE_KINEMATIC : Physics2DServer::BODY_MODE_STATIC);
-
- Physics2DServer::get_singleton()->body_attach_object_instance_id(q.body, get_instance_id());
- Physics2DServer::get_singleton()->body_set_collision_layer(q.body, collision_layer);
- Physics2DServer::get_singleton()->body_set_collision_mask(q.body, collision_mask);
- Physics2DServer::get_singleton()->body_set_param(q.body, Physics2DServer::BODY_PARAM_FRICTION, friction);
- Physics2DServer::get_singleton()->body_set_param(q.body, Physics2DServer::BODY_PARAM_BOUNCE, bounce);
-
- if (is_inside_tree()) {
- xform = get_global_transform() * xform;
- RID space = get_world_2d()->get_space();
- Physics2DServer::get_singleton()->body_set_space(q.body, space);
- }
+ if (!use_parent) {
+ q.body = Physics2DServer::get_singleton()->body_create();
+ Physics2DServer::get_singleton()->body_set_mode(q.body, use_kinematic ? Physics2DServer::BODY_MODE_KINEMATIC : Physics2DServer::BODY_MODE_STATIC);
- Physics2DServer::get_singleton()->body_set_state(q.body, Physics2DServer::BODY_STATE_TRANSFORM, xform);
+ Physics2DServer::get_singleton()->body_attach_object_instance_id(q.body, get_instance_id());
+ Physics2DServer::get_singleton()->body_set_collision_layer(q.body, collision_layer);
+ Physics2DServer::get_singleton()->body_set_collision_mask(q.body, collision_mask);
+ Physics2DServer::get_singleton()->body_set_param(q.body, Physics2DServer::BODY_PARAM_FRICTION, friction);
+ Physics2DServer::get_singleton()->body_set_param(q.body, Physics2DServer::BODY_PARAM_BOUNCE, bounce);
+
+ if (is_inside_tree()) {
+ xform = get_global_transform() * xform;
+ RID space = get_world_2d()->get_space();
+ Physics2DServer::get_singleton()->body_set_space(q.body, space);
+ }
+
+ Physics2DServer::get_singleton()->body_set_state(q.body, Physics2DServer::BODY_STATE_TRANSFORM, xform);
+ } else if (collision_parent) {
+ xform = get_transform() * xform;
+ q.shape_owner_id = collision_parent->create_shape_owner(this);
+ } else {
+ q.shape_owner_id = -1;
+ }
rect_cache_dirty = true;
quadrant_order_dirty = true;
@@ -641,7 +792,12 @@ Map<TileMap::PosKey, TileMap::Quadrant>::Element *TileMap::_create_quadrant(cons
void TileMap::_erase_quadrant(Map<PosKey, Quadrant>::Element *Q) {
Quadrant &q = Q->get();
- Physics2DServer::get_singleton()->free(q.body);
+ if (!use_parent) {
+ Physics2DServer::get_singleton()->free(q.body);
+ } else if (collision_parent) {
+ collision_parent->remove_shape_owner(q.shape_owner_id);
+ }
+
for (List<RID>::Element *E = q.canvas_items.front(); E; E = E->next()) {
VisualServer::get_singleton()->free(E->get());
@@ -1086,10 +1242,7 @@ void TileMap::_set_tile_data(const PoolVector<int> &p_data) {
coord_x = decode_uint16(&local[8]);
coord_y = decode_uint16(&local[10]);
}
- /*
- if (x<-20 || y <-20 || x>4000 || y>4000)
- continue;
- */
+
set_cell(x, y, v, flip_h, flip_v, transpose, Vector2(coord_x, coord_y));
}
@@ -1135,20 +1288,24 @@ Rect2 TileMap::_edit_get_rect() const {
void TileMap::set_collision_layer(uint32_t p_layer) {
collision_layer = p_layer;
- for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
+ if (!use_parent) {
+ for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
- Quadrant &q = E->get();
- Physics2DServer::get_singleton()->body_set_collision_layer(q.body, collision_layer);
+ Quadrant &q = E->get();
+ Physics2DServer::get_singleton()->body_set_collision_layer(q.body, collision_layer);
+ }
}
}
void TileMap::set_collision_mask(uint32_t p_mask) {
collision_mask = p_mask;
- for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
+ if (!use_parent) {
+ for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
- Quadrant &q = E->get();
- Physics2DServer::get_singleton()->body_set_collision_mask(q.body, collision_mask);
+ Quadrant &q = E->get();
+ Physics2DServer::get_singleton()->body_set_collision_mask(q.body, collision_mask);
+ }
}
}
@@ -1184,13 +1341,40 @@ void TileMap::set_collision_use_kinematic(bool p_use_kinematic) {
_recreate_quadrants();
}
+bool TileMap::get_collision_use_parent() const {
+
+ return use_parent;
+}
+
+void TileMap::set_collision_use_parent(bool p_use_parent) {
+
+ if (use_parent == p_use_parent) return;
+
+ _clear_quadrants();
+
+ use_parent = p_use_parent;
+ set_notify_local_transform(use_parent);
+
+ if (use_parent && is_inside_tree()) {
+ collision_parent = Object::cast_to<CollisionObject2D>(get_parent());
+ } else {
+ collision_parent = NULL;
+ }
+
+ _recreate_quadrants();
+ _change_notify();
+ update_configuration_warning();
+}
+
void TileMap::set_collision_friction(float p_friction) {
friction = p_friction;
- for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
+ if (!use_parent) {
+ for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
- Quadrant &q = E->get();
- Physics2DServer::get_singleton()->body_set_param(q.body, Physics2DServer::BODY_PARAM_FRICTION, p_friction);
+ Quadrant &q = E->get();
+ Physics2DServer::get_singleton()->body_set_param(q.body, Physics2DServer::BODY_PARAM_FRICTION, p_friction);
+ }
}
}
@@ -1202,10 +1386,12 @@ float TileMap::get_collision_friction() const {
void TileMap::set_collision_bounce(float p_bounce) {
bounce = p_bounce;
- for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
+ if (!use_parent) {
+ for (Map<PosKey, Quadrant>::Element *E = quadrant_map.front(); E; E = E->next()) {
- Quadrant &q = E->get();
- Physics2DServer::get_singleton()->body_set_param(q.body, Physics2DServer::BODY_PARAM_BOUNCE, p_bounce);
+ Quadrant &q = E->get();
+ Physics2DServer::get_singleton()->body_set_param(q.body, Physics2DServer::BODY_PARAM_BOUNCE, p_bounce);
+ }
}
}
float TileMap::get_collision_bounce() const {
@@ -1404,6 +1590,12 @@ void TileMap::_get_property_list(List<PropertyInfo> *p_list) const {
p_list->push_back(p);
}
+void TileMap::_validate_property(PropertyInfo &property) const {
+ if (use_parent && property.name != "collision_use_parent" && property.name.begins_with("collision_")) {
+ property.usage = PROPERTY_USAGE_NOEDITOR;
+ }
+}
+
Vector2 TileMap::map_to_world(const Vector2 &p_pos, bool p_ignore_ofs) const {
return _map_to_world(p_pos.x, p_pos.y, p_ignore_ofs);
@@ -1461,6 +1653,32 @@ bool TileMap::is_y_sort_mode_enabled() const {
return y_sort_mode;
}
+void TileMap::set_compatibility_mode(bool p_enable) {
+
+ _clear_quadrants();
+ compatibility_mode = p_enable;
+ _recreate_quadrants();
+ emit_signal("settings_changed");
+}
+
+bool TileMap::is_compatibility_mode_enabled() const {
+
+ return compatibility_mode;
+}
+
+void TileMap::set_centered_textures(bool p_enable) {
+
+ _clear_quadrants();
+ centered_textures = p_enable;
+ _recreate_quadrants();
+ emit_signal("settings_changed");
+}
+
+bool TileMap::is_centered_textures_enabled() const {
+
+ return centered_textures;
+}
+
Array TileMap::get_used_cells() const {
Array a;
@@ -1552,6 +1770,20 @@ bool TileMap::get_clip_uv() const {
return clip_uv;
}
+String TileMap::get_configuration_warning() const {
+
+ String warning = Node2D::get_configuration_warning();
+
+ if (use_parent && !collision_parent) {
+ if (!warning.empty()) {
+ warning += "\n";
+ }
+ return TTR("TileMap with Use Parent on needs a parent CollisionObject2D to give shapes to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape.");
+ }
+
+ return warning;
+}
+
void TileMap::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_tileset", "tileset"), &TileMap::set_tileset);
@@ -1584,9 +1816,18 @@ void TileMap::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_y_sort_mode", "enable"), &TileMap::set_y_sort_mode);
ClassDB::bind_method(D_METHOD("is_y_sort_mode_enabled"), &TileMap::is_y_sort_mode_enabled);
+ ClassDB::bind_method(D_METHOD("set_compatibility_mode", "enable"), &TileMap::set_compatibility_mode);
+ ClassDB::bind_method(D_METHOD("is_compatibility_mode_enabled"), &TileMap::is_compatibility_mode_enabled);
+
+ ClassDB::bind_method(D_METHOD("set_centered_textures", "enable"), &TileMap::set_centered_textures);
+ ClassDB::bind_method(D_METHOD("is_centered_textures_enabled"), &TileMap::is_centered_textures_enabled);
+
ClassDB::bind_method(D_METHOD("set_collision_use_kinematic", "use_kinematic"), &TileMap::set_collision_use_kinematic);
ClassDB::bind_method(D_METHOD("get_collision_use_kinematic"), &TileMap::get_collision_use_kinematic);
+ ClassDB::bind_method(D_METHOD("set_collision_use_parent", "use_parent"), &TileMap::set_collision_use_parent);
+ ClassDB::bind_method(D_METHOD("get_collision_use_parent"), &TileMap::get_collision_use_parent);
+
ClassDB::bind_method(D_METHOD("set_collision_layer", "layer"), &TileMap::set_collision_layer);
ClassDB::bind_method(D_METHOD("get_collision_layer"), &TileMap::get_collision_layer);
@@ -1649,9 +1890,12 @@ void TileMap::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::INT, "cell_half_offset", PROPERTY_HINT_ENUM, "Offset X,Offset Y,Disabled,Offset Negative X,Offset Negative Y"), "set_half_offset", "get_half_offset");
ADD_PROPERTY(PropertyInfo(Variant::INT, "cell_tile_origin", PROPERTY_HINT_ENUM, "Top Left,Center,Bottom Left"), "set_tile_origin", "get_tile_origin");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cell_y_sort"), "set_y_sort_mode", "is_y_sort_mode_enabled");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "compatibility_mode"), "set_compatibility_mode", "is_compatibility_mode_enabled");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "centered_textures"), "set_centered_textures", "is_centered_textures_enabled");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cell_clip_uv"), "set_clip_uv", "get_clip_uv");
ADD_GROUP("Collision", "collision_");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collision_use_parent", PROPERTY_HINT_NONE, ""), "set_collision_use_parent", "get_collision_use_parent");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collision_use_kinematic", PROPERTY_HINT_NONE, ""), "set_collision_use_kinematic", "get_collision_use_kinematic");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "collision_friction", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_collision_friction", "get_collision_friction");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "collision_bounce", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_collision_bounce", "get_collision_bounce");
@@ -1700,9 +1944,13 @@ TileMap::TileMap() {
bounce = 0;
mode = MODE_SQUARE;
half_offset = HALF_OFFSET_DISABLED;
+ use_parent = false;
+ collision_parent = NULL;
use_kinematic = false;
navigation = NULL;
y_sort_mode = false;
+ compatibility_mode = false;
+ centered_textures = false;
occluder_light_mask = 1;
clip_uv = false;
format = FORMAT_1; //Always initialize with the lowest format
@@ -1710,6 +1958,7 @@ TileMap::TileMap() {
fp_adjust = 0.00001;
tile_origin = TILE_ORIGIN_TOP_LEFT;
set_notify_transform(true);
+ set_notify_local_transform(false);
}
TileMap::~TileMap() {
diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h
index 6a1467aa48..6c9648ff32 100644
--- a/scene/2d/tile_map.h
+++ b/scene/2d/tile_map.h
@@ -37,6 +37,8 @@
#include "scene/2d/node_2d.h"
#include "scene/resources/tile_set.h"
+class CollisionObject2D;
+
class TileMap : public Node2D {
GDCLASS(TileMap, Node2D);
@@ -74,6 +76,8 @@ private:
Mode mode;
Transform2D custom_transform;
HalfOffset half_offset;
+ bool use_parent;
+ CollisionObject2D *collision_parent;
bool use_kinematic;
Navigation2D *navigation;
@@ -123,6 +127,7 @@ private:
Vector2 pos;
List<RID> canvas_items;
RID body;
+ uint32_t shape_owner_id;
SelfList<Quadrant> dirty_list;
@@ -145,6 +150,7 @@ private:
pos = q.pos;
canvas_items = q.canvas_items;
body = q.body;
+ shape_owner_id = q.shape_owner_id;
cells = q.cells;
navpoly_ids = q.navpoly_ids;
occluder_instances = q.occluder_instances;
@@ -154,6 +160,7 @@ private:
pos = q.pos;
canvas_items = q.canvas_items;
body = q.body;
+ shape_owner_id = q.shape_owner_id;
cells = q.cells;
occluder_instances = q.occluder_instances;
navpoly_ids = q.navpoly_ids;
@@ -174,6 +181,8 @@ private:
bool used_size_cache_dirty;
bool quadrant_order_dirty;
bool y_sort_mode;
+ bool compatibility_mode;
+ bool centered_textures;
bool clip_uv;
float fp_adjust;
float friction;
@@ -188,6 +197,8 @@ private:
void _fix_cell_transform(Transform2D &xform, const Cell &p_cell, const Vector2 &p_offset, const Size2 &p_sc);
+ void _add_shape(int &shape_idx, const Quadrant &p_q, const Ref<Shape2D> &p_shape, const TileSet::ShapeData &p_shape_data, const Transform2D &p_xform, const Vector2 &p_metadata);
+
Map<PosKey, Quadrant>::Element *_create_quadrant(const PosKey &p_qk);
void _erase_quadrant(Map<PosKey, Quadrant>::Element *Q);
void _make_quadrant_dirty(Map<PosKey, Quadrant>::Element *Q, bool update = true);
@@ -218,6 +229,7 @@ protected:
void _notification(int p_what);
static void _bind_methods();
+ virtual void _validate_property(PropertyInfo &property) const;
virtual void _changed_callback(Object *p_changed, const char *p_prop);
public:
@@ -271,6 +283,9 @@ public:
void set_collision_use_kinematic(bool p_use_kinematic);
bool get_collision_use_kinematic() const;
+ void set_collision_use_parent(bool p_use_parent);
+ bool get_collision_use_parent() const;
+
void set_collision_friction(float p_friction);
float get_collision_friction() const;
@@ -298,6 +313,12 @@ public:
void set_y_sort_mode(bool p_enable);
bool is_y_sort_mode_enabled() const;
+ void set_compatibility_mode(bool p_enable);
+ bool is_compatibility_mode_enabled() const;
+
+ void set_centered_textures(bool p_enable);
+ bool is_centered_textures_enabled() const;
+
Array get_used_cells() const;
Array get_used_cells_by_id(int p_id) const;
Rect2 get_used_rect(); // Not const because of cache
@@ -314,6 +335,8 @@ public:
void set_clip_uv(bool p_enable);
bool get_clip_uv() const;
+ String get_configuration_warning() const;
+
void fix_invalid_tiles();
void clear();
diff --git a/scene/3d/arvr_nodes.cpp b/scene/3d/arvr_nodes.cpp
index 95eec41fb2..dfa8fce9be 100644
--- a/scene/3d/arvr_nodes.cpp
+++ b/scene/3d/arvr_nodes.cpp
@@ -264,6 +264,7 @@ void ARVRController::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_rumble"), &ARVRController::get_rumble);
ClassDB::bind_method(D_METHOD("set_rumble", "rumble"), &ARVRController::set_rumble);
ADD_PROPERTY(PropertyInfo(Variant::REAL, "rumble", PROPERTY_HINT_RANGE, "0.0,1.0,0.01"), "set_rumble", "get_rumble");
+ ADD_PROPERTY_DEFAULT("rumble", 0.0);
ClassDB::bind_method(D_METHOD("get_mesh"), &ARVRController::get_mesh);
diff --git a/scene/3d/audio_stream_player_3d.cpp b/scene/3d/audio_stream_player_3d.cpp
index ff8c218575..ff28f60d4f 100644
--- a/scene/3d/audio_stream_player_3d.cpp
+++ b/scene/3d/audio_stream_player_3d.cpp
@@ -93,7 +93,7 @@ void AudioStreamPlayer3D::_mix_audio() {
}
bool interpolate_filter = !started;
- ;
+
if (!found) {
//create new if was not used before
if (prev_output_count < MAX_OUTPUTS) {
@@ -872,8 +872,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_paused_fade_in = !stream_paused;
+ stream_paused_fade_out = stream_paused;
}
}
diff --git a/scene/3d/audio_stream_player_3d.h b/scene/3d/audio_stream_player_3d.h
index 7a652ed65f..93954e758a 100644
--- a/scene/3d/audio_stream_player_3d.h
+++ b/scene/3d/audio_stream_player_3d.h
@@ -71,7 +71,7 @@ private:
struct Output {
AudioFilterSW filter;
- AudioFilterSW::Processor filter_process[6];
+ AudioFilterSW::Processor filter_process[8];
AudioFrame vol[4];
float filter_gain;
float pitch_scale;
diff --git a/scene/3d/camera.h b/scene/3d/camera.h
index c0a4f77435..6460f17e85 100644
--- a/scene/3d/camera.h
+++ b/scene/3d/camera.h
@@ -113,7 +113,7 @@ public:
void set_perspective(float p_fovy_degrees, float p_z_near, float p_z_far);
void set_orthogonal(float p_size, float p_z_near, float p_z_far);
- void set_frustum(float p_size, Vector2 p_offset, float p_near, float p_far);
+ void set_frustum(float p_size, Vector2 p_offset, float p_z_near, float p_z_far);
void set_projection(Camera::Projection p_mode);
void make_current();
diff --git a/scene/3d/cpu_particles.cpp b/scene/3d/cpu_particles.cpp
index 6dc1b93576..358c4bdb44 100644
--- a/scene/3d/cpu_particles.cpp
+++ b/scene/3d/cpu_particles.cpp
@@ -225,6 +225,8 @@ void CPUParticles::restart() {
frame_remainder = 0;
cycle = 0;
+ set_emitting(true);
+
{
int pc = particles.size();
PoolVector<Particle>::Write w = particles.write();
@@ -235,6 +237,16 @@ void CPUParticles::restart() {
}
}
+void CPUParticles::set_direction(Vector3 p_direction) {
+
+ direction = p_direction;
+}
+
+Vector3 CPUParticles::get_direction() const {
+
+ return direction;
+}
+
void CPUParticles::set_spread(float p_spread) {
spread = p_spread;
@@ -503,7 +515,8 @@ void CPUParticles::_particles_process(float p_delta) {
time = Math::fmod(time, lifetime);
cycle++;
if (one_shot && cycle > 0) {
- emitting = false;
+ set_emitting(false);
+ _change_notify();
}
}
@@ -601,13 +614,13 @@ void CPUParticles::_particles_process(float p_delta) {
p.anim_offset_rand = Math::randf();
if (flags[FLAG_DISABLE_Z]) {
- float angle1_rad = (Math::randf() * 2.0 - 1.0) * Math_PI * spread / 180.0;
+ float angle1_rad = Math::atan2(direction.y, direction.x) + (Math::randf() * 2.0 - 1.0) * Math_PI * spread / 180.0;
Vector3 rot = Vector3(Math::cos(angle1_rad), Math::sin(angle1_rad), 0.0);
p.velocity = rot * parameters[PARAM_INITIAL_LINEAR_VELOCITY] * Math::lerp(1.0f, float(Math::randf()), randomness[PARAM_INITIAL_LINEAR_VELOCITY]);
} else {
//initiate velocity spread in 3D
- float angle1_rad = (Math::randf() * 2.0 - 1.0) * Math_PI * spread / 180.0;
- float angle2_rad = (Math::randf() * 2.0 - 1.0) * (1.0 - flatness) * Math_PI * spread / 180.0;
+ float angle1_rad = Math::atan2(direction.x, direction.z) + (Math::randf() * 2.0 - 1.0) * Math_PI * spread / 180.0;
+ float angle2_rad = Math::atan2(direction.y, Math::abs(direction.z)) + (Math::randf() * 2.0 - 1.0) * (1.0 - flatness) * Math_PI * spread / 180.0;
Vector3 direction_xz = Vector3(Math::sin(angle1_rad), 0, Math::cos(angle1_rad));
Vector3 direction_yz = Vector3(0, Math::sin(angle2_rad), Math::cos(angle2_rad));
@@ -1186,6 +1199,7 @@ void CPUParticles::convert_from_particles(Node *p_particles) {
if (material.is_null())
return;
+ set_direction(material->get_direction());
set_spread(material->get_spread());
set_flatness(material->get_flatness());
@@ -1287,6 +1301,9 @@ void CPUParticles::_bind_methods() {
////////////////////////////////
+ ClassDB::bind_method(D_METHOD("set_direction", "direction"), &CPUParticles::set_direction);
+ ClassDB::bind_method(D_METHOD("get_direction"), &CPUParticles::get_direction);
+
ClassDB::bind_method(D_METHOD("set_spread", "degrees"), &CPUParticles::set_spread);
ClassDB::bind_method(D_METHOD("get_spread"), &CPUParticles::get_spread);
@@ -1347,7 +1364,8 @@ void CPUParticles::_bind_methods() {
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "flag_align_y"), "set_particle_flag", "get_particle_flag", FLAG_ALIGN_Y_TO_VELOCITY);
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "flag_rotate_y"), "set_particle_flag", "get_particle_flag", FLAG_ROTATE_Y);
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "flag_disable_z"), "set_particle_flag", "get_particle_flag", FLAG_DISABLE_Z);
- ADD_GROUP("Spread", "");
+ ADD_GROUP("Direction", "");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "direction"), "set_direction", "get_direction");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "spread", PROPERTY_HINT_RANGE, "0,180,0.01"), "set_spread", "get_spread");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "flatness", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_flatness", "get_flatness");
ADD_GROUP("Gravity", "");
@@ -1457,6 +1475,7 @@ CPUParticles::CPUParticles() {
set_draw_order(DRAW_ORDER_INDEX);
set_speed_scale(1);
+ set_direction(Vector3(1, 0, 0));
set_spread(45);
set_flatness(0);
set_param(PARAM_INITIAL_LINEAR_VELOCITY, 0);
diff --git a/scene/3d/cpu_particles.h b/scene/3d/cpu_particles.h
index 6f267102fa..517df8490d 100644
--- a/scene/3d/cpu_particles.h
+++ b/scene/3d/cpu_particles.h
@@ -152,6 +152,7 @@ private:
////////
+ Vector3 direction;
float spread;
float flatness;
@@ -231,6 +232,9 @@ public:
///////////////////
+ void set_direction(Vector3 p_direction);
+ Vector3 get_direction() const;
+
void set_spread(float p_spread);
float get_spread() const;
@@ -249,7 +253,7 @@ public:
void set_color(const Color &p_color);
Color get_color() const;
- void set_color_ramp(const Ref<Gradient> &p_texture);
+ void set_color_ramp(const Ref<Gradient> &p_ramp);
Ref<Gradient> get_color_ramp() const;
void set_particle_flag(Flags p_flag, bool p_enable);
diff --git a/scene/3d/gi_probe.cpp b/scene/3d/gi_probe.cpp
index 414e932f61..a04f156d80 100644
--- a/scene/3d/gi_probe.cpp
+++ b/scene/3d/gi_probe.cpp
@@ -571,4 +571,5 @@ GIProbe::GIProbe() {
}
GIProbe::~GIProbe() {
+ VS::get_singleton()->free(gi_probe);
}
diff --git a/scene/3d/navigation.cpp b/scene/3d/navigation.cpp
index 612d91c6e1..12d562c0c6 100644
--- a/scene/3d/navigation.cpp
+++ b/scene/3d/navigation.cpp
@@ -90,7 +90,6 @@ void Navigation::_navmesh_link(int p_id) {
if (!valid) {
nm.polygons.pop_back();
ERR_CONTINUE(!valid);
- continue;
}
p.center = center;
diff --git a/scene/3d/particles.cpp b/scene/3d/particles.cpp
index 156560f802..00a168fc39 100644
--- a/scene/3d/particles.cpp
+++ b/scene/3d/particles.cpp
@@ -47,6 +47,12 @@ PoolVector<Face3> Particles::get_faces(uint32_t p_usage_flags) const {
void Particles::set_emitting(bool p_emitting) {
VS::get_singleton()->particles_set_emitting(particles, p_emitting);
+
+ if (p_emitting && one_shot) {
+ set_process_internal(true);
+ } else if (!p_emitting) {
+ set_process_internal(false);
+ }
}
void Particles::set_amount(int p_amount) {
@@ -66,8 +72,16 @@ void Particles::set_one_shot(bool p_one_shot) {
one_shot = p_one_shot;
VS::get_singleton()->particles_set_one_shot(particles, one_shot);
- if (!one_shot && is_emitting())
- VisualServer::get_singleton()->particles_restart(particles);
+
+ if (is_emitting()) {
+
+ set_process_internal(true);
+ if (!one_shot)
+ VisualServer::get_singleton()->particles_restart(particles);
+ }
+
+ if (!one_shot)
+ set_process_internal(false);
}
void Particles::set_pre_process_time(float p_time) {
@@ -278,6 +292,7 @@ String Particles::get_configuration_warning() const {
void Particles::restart() {
VisualServer::get_singleton()->particles_restart(particles);
+ VisualServer::get_singleton()->particles_set_emitting(particles, true);
}
AABB Particles::capture_aabb() const {
@@ -306,6 +321,16 @@ void Particles::_notification(int p_what) {
VS::get_singleton()->particles_set_speed_scale(particles, 0);
}
}
+
+ // Use internal process when emitting and one_shot are on so that when
+ // the shot ends the editor can properly update
+ if (p_what == NOTIFICATION_INTERNAL_PROCESS) {
+
+ if (one_shot && !is_emitting()) {
+ _change_notify();
+ set_process_internal(false);
+ }
+ }
}
void Particles::_bind_methods() {
@@ -386,6 +411,7 @@ Particles::Particles() {
particles = VS::get_singleton()->particles_create();
set_base(particles);
+ one_shot = false; // Needed so that set_emitting doesn't access uninitialized values
set_emitting(true);
set_one_shot(false);
set_amount(8);
diff --git a/scene/3d/physics_body.cpp b/scene/3d/physics_body.cpp
index 3624e04434..d3aad7000d 100644
--- a/scene/3d/physics_body.cpp
+++ b/scene/3d/physics_body.cpp
@@ -1470,7 +1470,7 @@ Vector3 KinematicCollision::get_remainder() const {
return collision.remainder;
}
Object *KinematicCollision::get_local_shape() const {
- ERR_FAIL_COND_V(!owner, NULL);
+ if (!owner) return NULL;
uint32_t ownerid = owner->shape_find_owner(collision.local_shape);
return owner->shape_owner_get_owner(ownerid);
}
diff --git a/scene/3d/soft_body.cpp b/scene/3d/soft_body.cpp
index 909d4fda34..b9f6865298 100644
--- a/scene/3d/soft_body.cpp
+++ b/scene/3d/soft_body.cpp
@@ -699,7 +699,6 @@ bool SoftBody::is_ray_pickable() const {
}
SoftBody::SoftBody() :
- MeshInstance(),
physics_rid(PhysicsServer::get_singleton()->soft_body_create()),
mesh_owner(false),
collision_mask(1),
@@ -713,6 +712,7 @@ SoftBody::SoftBody() :
}
SoftBody::~SoftBody() {
+ PhysicsServer::get_singleton()->free(physics_rid);
}
void SoftBody::reset_softbody_pin() {
diff --git a/scene/3d/spatial.cpp b/scene/3d/spatial.cpp
index efd418e3c7..1a41a31253 100644
--- a/scene/3d/spatial.cpp
+++ b/scene/3d/spatial.cpp
@@ -506,6 +506,8 @@ bool Spatial::is_set_as_toplevel() const {
Ref<World> Spatial::get_world() const {
ERR_FAIL_COND_V(!is_inside_world(), Ref<World>());
+ ERR_FAIL_COND_V(!data.viewport, Ref<World>());
+
return data.viewport->find_world();
}
diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp
index 6b70eef662..9f73484b6a 100644
--- a/scene/3d/sprite_3d.cpp
+++ b/scene/3d/sprite_3d.cpp
@@ -163,6 +163,7 @@ float SpriteBase3D::get_opacity() const {
void SpriteBase3D::set_axis(Vector3::Axis p_axis) {
+ ERR_FAIL_INDEX(p_axis, 3);
axis = p_axis;
_queue_update();
}
diff --git a/scene/3d/vehicle_body.cpp b/scene/3d/vehicle_body.cpp
index 32b8219ee0..89e96e0227 100644
--- a/scene/3d/vehicle_body.cpp
+++ b/scene/3d/vehicle_body.cpp
@@ -585,7 +585,7 @@ void VehicleBody::_resolve_single_bilateral(PhysicsDirectBodyState *s, const Vec
if (p_rollInfluence > 0.0) {
// !BAS! But seeing we apply this frame by frame, makes more sense to me to make this time based
// keeping in mind our anti roll factor if it is set
- contactDamping = s->get_step() / p_rollInfluence;
+ contactDamping = MIN(contactDamping, s->get_step() / p_rollInfluence);
}
#define ONLY_USE_LINEAR_MASS
@@ -723,7 +723,7 @@ void VehicleBody::_update_friction(PhysicsDirectBodyState *s) {
real_t rollingFriction = 0.f;
if (wheelInfo.m_raycastInfo.m_isInContact) {
- if (engine_force != 0.f && wheelInfo.engine_traction != false) {
+ if (engine_force != 0.f && wheelInfo.engine_traction) {
rollingFriction = -engine_force * s->get_step();
} else {
real_t defaultRollingFrictionImpulse = 0.f;
@@ -928,8 +928,7 @@ void VehicleBody::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::REAL, "steering", PROPERTY_HINT_RANGE, "-180,180.0,0.01"), "set_steering", "get_steering");
}
-VehicleBody::VehicleBody() :
- RigidBody() {
+VehicleBody::VehicleBody() {
m_pitchControl = 0;
m_currentVehicleSpeedKmHour = real_t(0.);
diff --git a/scene/3d/visual_instance.cpp b/scene/3d/visual_instance.cpp
index 99c86f0406..5141c84803 100644
--- a/scene/3d/visual_instance.cpp
+++ b/scene/3d/visual_instance.cpp
@@ -60,7 +60,7 @@ void VisualInstance::_notification(int p_what) {
if (skeleton)
VisualServer::get_singleton()->instance_attach_skeleton( instance, skeleton->get_skeleton() );
*/
-
+ ERR_FAIL_COND(get_world().is_null());
VisualServer::get_singleton()->instance_set_scenario(instance, get_world()->get_scenario());
_update_visibility();
@@ -326,6 +326,7 @@ void GeometryInstance::_bind_methods() {
BIND_ENUM_CONSTANT(SHADOW_CASTING_SETTING_SHADOWS_ONLY);
BIND_ENUM_CONSTANT(FLAG_USE_BAKED_LIGHT);
+ BIND_ENUM_CONSTANT(FLAG_DRAW_NEXT_FRAME_IF_VISIBLE);
BIND_ENUM_CONSTANT(FLAG_MAX);
}
diff --git a/scene/3d/voxel_light_baker.cpp b/scene/3d/voxel_light_baker.cpp
index 001d70dae9..8e09930aed 100644
--- a/scene/3d/voxel_light_baker.cpp
+++ b/scene/3d/voxel_light_baker.cpp
@@ -212,9 +212,7 @@ static bool fast_tri_box_overlap(const Vector3 &boxcenter, const Vector3 boxhalf
/* compute plane equation of triangle: normal*x+d=0 */
normal = e0.cross(e1);
d = -normal.dot(v0); /* plane eq: normal.x+d=0 */
- if (!planeBoxOverlap(normal, d, boxhalfsize)) return false;
-
- return true; /* box and triangle overlaps */
+ return planeBoxOverlap(normal, d, boxhalfsize); /* if true, box and triangle overlaps */
}
static _FORCE_INLINE_ void get_uv_and_normal(const Vector3 &p_pos, const Vector3 *p_vtx, const Vector2 *p_uv, const Vector3 *p_normal, Vector2 &r_uv, Vector3 &r_normal) {
diff --git a/scene/animation/animation_node_state_machine.cpp b/scene/animation/animation_node_state_machine.cpp
index a2411743d4..f1ce948c43 100644
--- a/scene/animation/animation_node_state_machine.cpp
+++ b/scene/animation/animation_node_state_machine.cpp
@@ -178,11 +178,11 @@ float AnimationNodeStateMachinePlayback::get_current_length() const {
return len_current;
}
-bool AnimationNodeStateMachinePlayback::_travel(AnimationNodeStateMachine *sm, const StringName &p_travel) {
+bool AnimationNodeStateMachinePlayback::_travel(AnimationNodeStateMachine *p_state_machine, const StringName &p_travel) {
ERR_FAIL_COND_V(!playing, false);
- ERR_FAIL_COND_V(!sm->states.has(p_travel), false);
- ERR_FAIL_COND_V(!sm->states.has(current), false);
+ ERR_FAIL_COND_V(!p_state_machine->states.has(p_travel), false);
+ ERR_FAIL_COND_V(!p_state_machine->states.has(current), false);
path.clear(); //a new one will be needed
@@ -191,25 +191,25 @@ bool AnimationNodeStateMachinePlayback::_travel(AnimationNodeStateMachine *sm, c
loops_current = 0; // reset loops, so fade does not happen immediately
- Vector2 current_pos = sm->states[current].position;
- Vector2 target_pos = sm->states[p_travel].position;
+ Vector2 current_pos = p_state_machine->states[current].position;
+ Vector2 target_pos = p_state_machine->states[p_travel].position;
Map<StringName, AStarCost> cost_map;
List<int> open_list;
//build open list
- for (int i = 0; i < sm->transitions.size(); i++) {
- if (sm->transitions[i].from == current) {
+ for (int i = 0; i < p_state_machine->transitions.size(); i++) {
+ if (p_state_machine->transitions[i].from == current) {
open_list.push_back(i);
- float cost = sm->states[sm->transitions[i].to].position.distance_to(current_pos);
- cost *= sm->transitions[i].transition->get_priority();
+ float cost = p_state_machine->states[p_state_machine->transitions[i].to].position.distance_to(current_pos);
+ cost *= p_state_machine->transitions[i].transition->get_priority();
AStarCost ap;
ap.prev = current;
ap.distance = cost;
- cost_map[sm->transitions[i].to] = ap;
+ cost_map[p_state_machine->transitions[i].to] = ap;
- if (sm->transitions[i].to == p_travel) { //prematurely found it! :D
+ if (p_state_machine->transitions[i].to == p_travel) { //prematurely found it! :D
path.push_back(p_travel);
return true;
}
@@ -230,42 +230,42 @@ bool AnimationNodeStateMachinePlayback::_travel(AnimationNodeStateMachine *sm, c
for (List<int>::Element *E = open_list.front(); E; E = E->next()) {
- float cost = cost_map[sm->transitions[E->get()].to].distance;
- cost += sm->states[sm->transitions[E->get()].to].position.distance_to(target_pos);
+ float cost = cost_map[p_state_machine->transitions[E->get()].to].distance;
+ cost += p_state_machine->states[p_state_machine->transitions[E->get()].to].position.distance_to(target_pos);
if (cost < least_cost) {
least_cost_transition = E;
}
}
- StringName transition_prev = sm->transitions[least_cost_transition->get()].from;
- StringName transition = sm->transitions[least_cost_transition->get()].to;
+ StringName transition_prev = p_state_machine->transitions[least_cost_transition->get()].from;
+ StringName transition = p_state_machine->transitions[least_cost_transition->get()].to;
- for (int i = 0; i < sm->transitions.size(); i++) {
- if (sm->transitions[i].from != transition || sm->transitions[i].to == transition_prev) {
+ for (int i = 0; i < p_state_machine->transitions.size(); i++) {
+ if (p_state_machine->transitions[i].from != transition || p_state_machine->transitions[i].to == transition_prev) {
continue; //not interested on those
}
- float distance = sm->states[sm->transitions[i].from].position.distance_to(sm->states[sm->transitions[i].to].position);
- distance *= sm->transitions[i].transition->get_priority();
- distance += cost_map[sm->transitions[i].from].distance;
+ float distance = p_state_machine->states[p_state_machine->transitions[i].from].position.distance_to(p_state_machine->states[p_state_machine->transitions[i].to].position);
+ distance *= p_state_machine->transitions[i].transition->get_priority();
+ distance += cost_map[p_state_machine->transitions[i].from].distance;
- if (cost_map.has(sm->transitions[i].to)) {
+ if (cost_map.has(p_state_machine->transitions[i].to)) {
//oh this was visited already, can we win the cost?
- if (distance < cost_map[sm->transitions[i].to].distance) {
- cost_map[sm->transitions[i].to].distance = distance;
- cost_map[sm->transitions[i].to].prev = sm->transitions[i].from;
+ if (distance < cost_map[p_state_machine->transitions[i].to].distance) {
+ cost_map[p_state_machine->transitions[i].to].distance = distance;
+ cost_map[p_state_machine->transitions[i].to].prev = p_state_machine->transitions[i].from;
}
} else {
//add to open list
AStarCost ac;
- ac.prev = sm->transitions[i].from;
+ ac.prev = p_state_machine->transitions[i].from;
ac.distance = distance;
- cost_map[sm->transitions[i].to] = ac;
+ cost_map[p_state_machine->transitions[i].to] = ac;
open_list.push_back(i);
- if (sm->transitions[i].to == p_travel) {
+ if (p_state_machine->transitions[i].to == p_travel) {
found_route = true;
break;
}
@@ -291,12 +291,12 @@ bool AnimationNodeStateMachinePlayback::_travel(AnimationNodeStateMachine *sm, c
return true;
}
-float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm, float p_time, bool p_seek) {
+float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *p_state_machine, float p_time, bool p_seek) {
//if not playing and it can restart, then restart
if (!playing && start_request == StringName()) {
- if (!stop_request && sm->start_node) {
- start(sm->start_node);
+ if (!stop_request && p_state_machine->start_node) {
+ start(p_state_machine->start_node);
} else {
return 0;
}
@@ -320,7 +320,7 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
ERR_FAIL_V(0);
}
- if (!_travel(sm, start_request)) {
+ if (!_travel(p_state_machine, start_request)) {
//can't travel, then teleport
path.clear();
current = start_request;
@@ -339,16 +339,16 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
if (do_start) {
- if (sm->start_node != StringName() && p_seek && p_time == 0) {
- current = sm->start_node;
+ if (p_state_machine->start_node != StringName() && p_seek && p_time == 0) {
+ current = p_state_machine->start_node;
}
- len_current = sm->blend_node(current, sm->states[current].node, 0, true, 1.0, AnimationNode::FILTER_IGNORE, false);
+ len_current = p_state_machine->blend_node(current, p_state_machine->states[current].node, 0, true, 1.0, AnimationNode::FILTER_IGNORE, false);
pos_current = 0;
loops_current = 0;
}
- if (!sm->states.has(current)) {
+ if (!p_state_machine->states.has(current)) {
playing = false; //current does not exist
current = StringName();
return 0;
@@ -357,7 +357,7 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
if (fading_from != StringName()) {
- if (!sm->states.has(fading_from)) {
+ if (!p_state_machine->states.has(fading_from)) {
fading_from = StringName();
} else {
if (!p_seek) {
@@ -370,11 +370,11 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
}
}
- float rem = sm->blend_node(current, sm->states[current].node, p_time, p_seek, fade_blend, AnimationNode::FILTER_IGNORE, false);
+ float rem = p_state_machine->blend_node(current, p_state_machine->states[current].node, p_time, p_seek, fade_blend, AnimationNode::FILTER_IGNORE, false);
if (fading_from != StringName()) {
- sm->blend_node(fading_from, sm->states[fading_from].node, p_time, p_seek, 1.0 - fade_blend, AnimationNode::FILTER_IGNORE, false);
+ p_state_machine->blend_node(fading_from, p_state_machine->states[fading_from].node, p_time, p_seek, 1.0 - fade_blend, AnimationNode::FILTER_IGNORE, false);
}
//guess playback position
@@ -399,40 +399,40 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
if (path.size()) {
- for (int i = 0; i < sm->transitions.size(); i++) {
- if (sm->transitions[i].from == current && sm->transitions[i].to == path[0]) {
- next_xfade = sm->transitions[i].transition->get_xfade_time();
- switch_mode = sm->transitions[i].transition->get_switch_mode();
+ for (int i = 0; i < p_state_machine->transitions.size(); i++) {
+ if (p_state_machine->transitions[i].from == current && p_state_machine->transitions[i].to == path[0]) {
+ next_xfade = p_state_machine->transitions[i].transition->get_xfade_time();
+ switch_mode = p_state_machine->transitions[i].transition->get_switch_mode();
next = path[0];
}
}
} else {
float priority_best = 1e20;
int auto_advance_to = -1;
- for (int i = 0; i < sm->transitions.size(); i++) {
+ for (int i = 0; i < p_state_machine->transitions.size(); i++) {
bool auto_advance = false;
- if (sm->transitions[i].transition->has_auto_advance()) {
+ if (p_state_machine->transitions[i].transition->has_auto_advance()) {
auto_advance = true;
}
- StringName advance_condition_name = sm->transitions[i].transition->get_advance_condition_name();
- if (advance_condition_name != StringName() && bool(sm->get_parameter(advance_condition_name))) {
+ StringName advance_condition_name = p_state_machine->transitions[i].transition->get_advance_condition_name();
+ if (advance_condition_name != StringName() && bool(p_state_machine->get_parameter(advance_condition_name))) {
auto_advance = true;
}
- if (sm->transitions[i].from == current && auto_advance) {
+ if (p_state_machine->transitions[i].from == current && auto_advance) {
- if (sm->transitions[i].transition->get_priority() <= priority_best) {
- priority_best = sm->transitions[i].transition->get_priority();
+ if (p_state_machine->transitions[i].transition->get_priority() <= priority_best) {
+ priority_best = p_state_machine->transitions[i].transition->get_priority();
auto_advance_to = i;
}
}
}
if (auto_advance_to != -1) {
- next = sm->transitions[auto_advance_to].to;
- next_xfade = sm->transitions[auto_advance_to].transition->get_xfade_time();
- switch_mode = sm->transitions[auto_advance_to].transition->get_switch_mode();
+ next = p_state_machine->transitions[auto_advance_to].to;
+ next_xfade = p_state_machine->transitions[auto_advance_to].transition->get_xfade_time();
+ switch_mode = p_state_machine->transitions[auto_advance_to].transition->get_switch_mode();
}
}
@@ -467,12 +467,12 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
}
current = next;
if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_SYNC) {
- len_current = sm->blend_node(current, sm->states[current].node, 0, true, 0, AnimationNode::FILTER_IGNORE, false);
+ len_current = p_state_machine->blend_node(current, p_state_machine->states[current].node, 0, true, 0, AnimationNode::FILTER_IGNORE, false);
pos_current = MIN(pos_current, len_current);
- sm->blend_node(current, sm->states[current].node, pos_current, true, 0, AnimationNode::FILTER_IGNORE, false);
+ p_state_machine->blend_node(current, p_state_machine->states[current].node, pos_current, true, 0, AnimationNode::FILTER_IGNORE, false);
} else {
- len_current = sm->blend_node(current, sm->states[current].node, 0, true, 0, AnimationNode::FILTER_IGNORE, false);
+ len_current = p_state_machine->blend_node(current, p_state_machine->states[current].node, 0, true, 0, AnimationNode::FILTER_IGNORE, false);
pos_current = 0;
}
@@ -482,9 +482,9 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
}
//compute time left for transitions by using the end node
- if (sm->end_node != StringName() && sm->end_node != current) {
+ if (p_state_machine->end_node != StringName() && p_state_machine->end_node != current) {
- rem = sm->blend_node(sm->end_node, sm->states[sm->end_node].node, 0, true, 0, AnimationNode::FILTER_IGNORE, false);
+ rem = p_state_machine->blend_node(p_state_machine->end_node, p_state_machine->states[p_state_machine->end_node].node, 0, true, 0, AnimationNode::FILTER_IGNORE, false);
}
return rem;
diff --git a/scene/animation/root_motion_view.h b/scene/animation/root_motion_view.h
index 07f51165a7..b30b06229e 100644
--- a/scene/animation/root_motion_view.h
+++ b/scene/animation/root_motion_view.h
@@ -56,7 +56,7 @@ public:
void set_animation_path(const NodePath &p_path);
NodePath get_animation_path() const;
- void set_color(const Color &p_path);
+ void set_color(const Color &p_color);
Color get_color() const;
void set_cell_size(float p_size);
diff --git a/scene/animation/skeleton_ik.cpp b/scene/animation/skeleton_ik.cpp
index 06d6806f03..7a1b10792b 100644
--- a/scene/animation/skeleton_ik.cpp
+++ b/scene/animation/skeleton_ik.cpp
@@ -406,6 +406,7 @@ void SkeletonIK::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
skeleton = Object::cast_to<Skeleton>(get_parent());
+ set_process_priority(1);
reload_chain();
} break;
case NOTIFICATION_INTERNAL_PROCESS: {
@@ -423,7 +424,6 @@ void SkeletonIK::_notification(int p_what) {
}
SkeletonIK::SkeletonIK() :
- Node(),
interpolation(1),
override_tip_basis(true),
use_magnet(false),
@@ -432,8 +432,6 @@ SkeletonIK::SkeletonIK() :
skeleton(NULL),
target_node_override(NULL),
task(NULL) {
-
- set_process_priority(1);
}
SkeletonIK::~SkeletonIK() {
diff --git a/scene/animation/skeleton_ik.h b/scene/animation/skeleton_ik.h
index 5d48b7be33..d2c5f56ace 100644
--- a/scene/animation/skeleton_ik.h
+++ b/scene/animation/skeleton_ik.h
@@ -165,7 +165,7 @@ protected:
_validate_property(PropertyInfo &property) const;
static void _bind_methods();
- virtual void _notification(int p_notification);
+ virtual void _notification(int p_what);
public:
SkeletonIK();
@@ -192,7 +192,7 @@ public:
void set_use_magnet(bool p_use);
bool is_using_magnet() const;
- void set_magnet_position(const Vector3 &p_constraint);
+ void set_magnet_position(const Vector3 &p_local_position);
const Vector3 &get_magnet_position() const;
void set_min_distance(real_t p_min_distance);
diff --git a/scene/animation/tween.cpp b/scene/animation/tween.cpp
index c70e58564f..4dee4e1d12 100644
--- a/scene/animation/tween.cpp
+++ b/scene/animation/tween.cpp
@@ -583,9 +583,7 @@ bool Tween::_apply_tween_value(InterpolateData &p_data, Variant &value) {
}
// Did we get an error from the function call?
- if (error.error == Variant::CallError::CALL_OK)
- return true;
- return false;
+ return error.error == Variant::CallError::CALL_OK;
}
case INTER_CALLBACK:
diff --git a/scene/audio/audio_stream_player.cpp b/scene/audio/audio_stream_player.cpp
index 2def9fe8fc..c053fceb74 100644
--- a/scene/audio/audio_stream_player.cpp
+++ b/scene/audio/audio_stream_player.cpp
@@ -339,7 +339,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_paused_fade = p_pause;
}
}
diff --git a/scene/gui/box_container.cpp b/scene/gui/box_container.cpp
index cc37d4cf7d..b7d2131ee9 100644
--- a/scene/gui/box_container.cpp
+++ b/scene/gui/box_container.cpp
@@ -91,7 +91,6 @@ void BoxContainer::_resort() {
int stretch_diff = stretch_max - stretch_min;
if (stretch_diff < 0) {
//avoid negative stretch space
- stretch_max = stretch_min;
stretch_diff = 0;
}
diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp
index 58a0762469..b197971b61 100644
--- a/scene/gui/color_picker.cpp
+++ b/scene/gui/color_picker.cpp
@@ -173,7 +173,7 @@ void ColorPicker::_value_changed(double) {
color.set_hsv(scroll[0]->get_value() / 360.0,
scroll[1]->get_value() / 100.0,
scroll[2]->get_value() / 100.0,
- scroll[3]->get_value() / 100.0);
+ scroll[3]->get_value() / 255.0);
} else {
for (int i = 0; i < 4; i++) {
color.components[i] = scroll[i]->get_value() / (raw_mode_enabled ? 1.0 : 255.0);
@@ -209,17 +209,17 @@ void ColorPicker::_update_color(bool p_update_sliders) {
if (hsv_mode_enabled) {
for (int i = 0; i < 4; i++) {
- scroll[i]->set_step(0.1);
+ scroll[i]->set_step(1.0);
}
- scroll[0]->set_max(360);
+ scroll[0]->set_max(359);
scroll[0]->set_value(h * 360.0);
scroll[1]->set_max(100);
scroll[1]->set_value(s * 100.0);
scroll[2]->set_max(100);
scroll[2]->set_value(v * 100.0);
- scroll[3]->set_max(100);
- scroll[3]->set_value(color.components[3] * 100.0);
+ scroll[3]->set_max(255);
+ scroll[3]->set_value(color.components[3] * 255.0);
} else {
for (int i = 0; i < 4; i++) {
if (raw_mode_enabled) {
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp
index 0845b56828..eccd42cb9f 100644
--- a/scene/gui/control.cpp
+++ b/scene/gui/control.cpp
@@ -1042,55 +1042,37 @@ int Control::get_constant(const StringName &p_name, const StringName &p_type) co
bool Control::has_icon_override(const StringName &p_name) const {
const Ref<Texture> *tex = data.icon_override.getptr(p_name);
- if (tex)
- return true;
- else
- return false;
+ return tex != NULL;
}
bool Control::has_shader_override(const StringName &p_name) const {
const Ref<Shader> *sdr = data.shader_override.getptr(p_name);
- if (sdr)
- return true;
- else
- return false;
+ return sdr != NULL;
}
bool Control::has_stylebox_override(const StringName &p_name) const {
const Ref<StyleBox> *style = data.style_override.getptr(p_name);
- if (style)
- return true;
- else
- return false;
+ return style != NULL;
}
bool Control::has_font_override(const StringName &p_name) const {
const Ref<Font> *font = data.font_override.getptr(p_name);
- if (font)
- return true;
- else
- return false;
+ return font != NULL;
}
bool Control::has_color_override(const StringName &p_name) const {
const Color *color = data.color_override.getptr(p_name);
- if (color)
- return true;
- else
- return false;
+ return color != NULL;
}
bool Control::has_constant_override(const StringName &p_name) const {
const int *constant = data.constant_override.getptr(p_name);
- if (constant)
- return true;
- else
- return false;
+ return constant != NULL;
}
bool Control::has_icon(const StringName &p_name, const StringName &p_type) const {
@@ -1997,10 +1979,7 @@ Control *Control::find_next_valid_focus() const {
break;
}
- if (next_child) {
-
- from = next_child;
- } else {
+ if (!next_child) {
next_child = _next_control(from);
if (!next_child) { //nothing else.. go up and find either window or subwindow
@@ -2270,6 +2249,7 @@ Ref<Theme> Control::get_theme() const {
void Control::set_tooltip(const String &p_tooltip) {
data.tooltip = p_tooltip;
+ update_configuration_warning();
}
String Control::get_tooltip(const Point2 &p_pos) const {
@@ -2561,6 +2541,7 @@ void Control::set_mouse_filter(MouseFilter p_filter) {
ERR_FAIL_INDEX(p_filter, 3);
data.mouse_filter = p_filter;
+ update_configuration_warning();
}
Control::MouseFilter Control::get_mouse_filter() const {
@@ -2724,6 +2705,20 @@ void Control::get_argument_options(const StringName &p_function, int p_idx, List
}
}
}
+
+String Control::get_configuration_warning() const {
+ String warning = CanvasItem::get_configuration_warning();
+
+ if (data.mouse_filter == MOUSE_FILTER_IGNORE && data.tooltip != "") {
+ if (warning != String()) {
+ warning += "\n";
+ }
+ warning += TTR("The Hint Tooltip won't be displayed as the control's Mouse Filter is set to \"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\".");
+ }
+
+ return warning;
+}
+
void Control::set_clip_contents(bool p_clip) {
data.clip_contents = p_clip;
diff --git a/scene/gui/control.h b/scene/gui/control.h
index a6f9a442ae..1a59a6d2e4 100644
--- a/scene/gui/control.h
+++ b/scene/gui/control.h
@@ -139,8 +139,8 @@ private:
bool operator()(const Control *p_a, const Control *p_b) const {
if (p_a->get_canvas_layer() == p_b->get_canvas_layer())
return p_b->is_greater_than(p_a);
- else
- return p_a->get_canvas_layer() < p_b->get_canvas_layer();
+
+ return p_a->get_canvas_layer() < p_b->get_canvas_layer();
}
};
@@ -487,6 +487,7 @@ public:
bool is_visibility_clip_disabled() const;
virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const;
+ virtual String get_configuration_warning() const;
Control();
~Control();
diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp
index bc8dcf0e82..04fb991f78 100644
--- a/scene/gui/file_dialog.cpp
+++ b/scene/gui/file_dialog.cpp
@@ -302,11 +302,8 @@ bool FileDialog::_is_open_should_be_disabled() {
Dictionary d = ti->get_metadata(0);
// Opening a file, but selected a folder? Forbidden.
- if (((mode == MODE_OPEN_FILE || mode == MODE_OPEN_FILES) && d["dir"]) || // Flipped case, also forbidden.
- (mode == MODE_OPEN_DIR && !d["dir"]))
- return true;
-
- return false;
+ return ((mode == MODE_OPEN_FILE || mode == MODE_OPEN_FILES) && d["dir"]) || // Flipped case, also forbidden.
+ (mode == MODE_OPEN_DIR && !d["dir"]);
}
void FileDialog::_go_up() {
@@ -384,6 +381,18 @@ void FileDialog::_tree_item_activated() {
}
}
+void FileDialog::update_file_name() {
+ int idx = filter->get_selected() - 1;
+ if ((idx == -1 && filter->get_item_count() == 2) || (filter->get_item_count() > 2 && idx >= 0 && idx < filter->get_item_count() - 2)) {
+ if (idx == -1) idx += 1;
+ String filter_str = filters[idx];
+ String file_str = file->get_text();
+ String base_name = file_str.get_basename();
+ file_str = base_name + "." + filter_str.strip_edges().to_lower();
+ file->set_text(file_str);
+ }
+}
+
void FileDialog::update_file_list() {
tree->clear();
@@ -509,6 +518,7 @@ void FileDialog::update_file_list() {
void FileDialog::_filter_selected(int) {
+ update_file_name();
update_file_list();
}
@@ -800,6 +810,7 @@ void FileDialog::_bind_methods() {
ClassDB::bind_method(D_METHOD("_select_drive"), &FileDialog::_select_drive);
ClassDB::bind_method(D_METHOD("_make_dir"), &FileDialog::_make_dir);
ClassDB::bind_method(D_METHOD("_make_dir_confirm"), &FileDialog::_make_dir_confirm);
+ ClassDB::bind_method(D_METHOD("_update_file_name"), &FileDialog::update_file_name);
ClassDB::bind_method(D_METHOD("_update_file_list"), &FileDialog::update_file_list);
ClassDB::bind_method(D_METHOD("_update_dir"), &FileDialog::update_dir);
ClassDB::bind_method(D_METHOD("_go_up"), &FileDialog::_go_up);
diff --git a/scene/gui/file_dialog.h b/scene/gui/file_dialog.h
index 9f7ea1a2f2..191af5fef3 100644
--- a/scene/gui/file_dialog.h
+++ b/scene/gui/file_dialog.h
@@ -102,6 +102,7 @@ private:
bool invalidated;
void update_dir();
+ void update_file_name();
void update_file_list();
void update_filters();
diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp
index dabff08fea..f238aeb392 100644
--- a/scene/gui/graph_edit.cpp
+++ b/scene/gui/graph_edit.cpp
@@ -479,7 +479,7 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) {
connecting_color = gn->get_connection_input_color(j);
connecting_target = false;
connecting_to = pos;
- just_disconnected = true;
+ just_disconnected = false;
return;
}
@@ -550,11 +550,18 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) {
emit_signal("connection_request", from, from_slot, to, to_slot);
} else if (!just_disconnected) {
+
String from = connecting_from;
int from_slot = connecting_index;
Vector2 ofs = Vector2(mb->get_position().x, mb->get_position().y);
- emit_signal("connection_to_empty", from, from_slot, ofs);
+
+ if (!connecting_out) {
+ emit_signal("connection_from_empty", from, from_slot, ofs);
+ } else {
+ emit_signal("connection_to_empty", from, from_slot, ofs);
+ }
}
+
connecting = false;
top_layer->update();
update();
@@ -1292,6 +1299,7 @@ void GraphEdit::_bind_methods() {
ADD_SIGNAL(MethodInfo("duplicate_nodes_request"));
ADD_SIGNAL(MethodInfo("node_selected", PropertyInfo(Variant::OBJECT, "node", PROPERTY_HINT_RESOURCE_TYPE, "Node")));
ADD_SIGNAL(MethodInfo("connection_to_empty", PropertyInfo(Variant::STRING, "from"), PropertyInfo(Variant::INT, "from_slot"), PropertyInfo(Variant::VECTOR2, "release_position")));
+ ADD_SIGNAL(MethodInfo("connection_from_empty", PropertyInfo(Variant::STRING, "to"), PropertyInfo(Variant::INT, "to_slot"), PropertyInfo(Variant::VECTOR2, "release_position")));
ADD_SIGNAL(MethodInfo("delete_nodes_request"));
ADD_SIGNAL(MethodInfo("_begin_node_move"));
ADD_SIGNAL(MethodInfo("_end_node_move"));
diff --git a/scene/gui/label.cpp b/scene/gui/label.cpp
index e3e9368a12..510f1b18ad 100644
--- a/scene/gui/label.cpp
+++ b/scene/gui/label.cpp
@@ -247,11 +247,11 @@ void Label::_notification(int p_what) {
n = String::char_uppercase(n);
}
- float move = font->draw_char(ci, Point2(x_ofs_shadow, y_ofs) + shadow_ofs, c, n, font_color_shadow, false);
+ float move = drawer.draw_char(ci, Point2(x_ofs_shadow, y_ofs) + shadow_ofs, c, n, font_color_shadow);
if (use_outline) {
- font->draw_char(ci, Point2(x_ofs_shadow, y_ofs) + Vector2(-shadow_ofs.x, shadow_ofs.y), c, n, font_color_shadow, false);
- font->draw_char(ci, Point2(x_ofs_shadow, y_ofs) + Vector2(shadow_ofs.x, -shadow_ofs.y), c, n, font_color_shadow, false);
- font->draw_char(ci, Point2(x_ofs_shadow, y_ofs) + Vector2(-shadow_ofs.x, -shadow_ofs.y), c, n, font_color_shadow, false);
+ drawer.draw_char(ci, Point2(x_ofs_shadow, y_ofs) + Vector2(-shadow_ofs.x, shadow_ofs.y), c, n, font_color_shadow);
+ drawer.draw_char(ci, Point2(x_ofs_shadow, y_ofs) + Vector2(shadow_ofs.x, -shadow_ofs.y), c, n, font_color_shadow);
+ drawer.draw_char(ci, Point2(x_ofs_shadow, y_ofs) + Vector2(-shadow_ofs.x, -shadow_ofs.y), c, n, font_color_shadow);
}
x_ofs_shadow += move;
chars_total_shadow++;
@@ -470,7 +470,6 @@ void Label::regenerate_word_cache() {
wc->word_len = i - word_pos;
wc->space_count = space_count;
current_word_size = char_width;
- space_count = 0;
word_pos = i;
}
}
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp
index da6bff8ab8..7a015f77db 100644
--- a/scene/gui/line_edit.cpp
+++ b/scene/gui/line_edit.cpp
@@ -623,10 +623,7 @@ bool LineEdit::_is_over_clear_button(const Point2 &p_pos) const {
}
Ref<Texture> icon = Control::get_icon("clear");
int x_ofs = get_stylebox("normal")->get_offset().x;
- if (p_pos.x > get_size().width - icon->get_width() - x_ofs) {
- return true;
- }
- return false;
+ return p_pos.x > get_size().width - icon->get_width() - x_ofs;
}
void LineEdit::_notification(int p_what) {
@@ -650,6 +647,11 @@ void LineEdit::_notification(int p_what) {
set_cursor_position(get_cursor_position());
} break;
+ case NOTIFICATION_TRANSLATION_CHANGED: {
+ placeholder_translated = tr(placeholder);
+ update_placeholder_width();
+ update();
+ } break;
case MainLoop::NOTIFICATION_WM_FOCUS_IN: {
window_has_focus = true;
draw_caret = true;
@@ -675,10 +677,8 @@ void LineEdit::_notification(int p_what) {
RID ci = get_canvas_item();
Ref<StyleBox> style = get_stylebox("normal");
- float disabled_alpha = 1.0; // used to set the disabled input text color
if (!is_editable()) {
style = get_stylebox("read_only");
- disabled_alpha = .5;
draw_caret = false;
}
@@ -724,20 +724,19 @@ void LineEdit::_notification(int p_what) {
int font_ascent = font->get_ascent();
Color selection_color = get_color("selection_color");
- Color font_color = get_color("font_color");
+ Color font_color = is_editable() ? get_color("font_color") : get_color("font_color_uneditable");
Color font_color_selected = get_color("font_color_selected");
Color cursor_color = get_color("cursor_color");
- const String &t = using_placeholder ? placeholder : text;
+ const String &t = using_placeholder ? placeholder_translated : text;
// draw placeholder color
if (using_placeholder)
font_color.a *= placeholder_alpha;
- font_color.a *= disabled_alpha;
bool display_clear_icon = !using_placeholder && is_editable() && clear_button_enabled;
if (right_icon.is_valid() || display_clear_icon) {
Ref<Texture> r_icon = display_clear_icon ? Control::get_icon("clear") : right_icon;
- Color color_icon(1, 1, 1, disabled_alpha * .9);
+ Color color_icon(1, 1, 1, !is_editable() ? .5 * .9 : .9);
if (display_clear_icon) {
if (clear_button_status.press_attempt && clear_button_status.pressing_inside) {
color_icon = get_color("clear_button_color_pressed");
@@ -1148,16 +1147,9 @@ String LineEdit::get_text() const {
void LineEdit::set_placeholder(String p_text) {
- placeholder = tr(p_text);
- if ((max_length <= 0) || (placeholder.length() <= max_length)) {
- Ref<Font> font = get_font("font");
- cached_placeholder_width = 0;
- if (font != NULL) {
- for (int i = 0; i < placeholder.length(); i++) {
- cached_placeholder_width += font->get_char_size(placeholder[i]).width;
- }
- }
- }
+ placeholder = p_text;
+ placeholder_translated = tr(placeholder);
+ update_placeholder_width();
update();
}
@@ -1546,6 +1538,18 @@ void LineEdit::_emit_text_change() {
text_changed_dirty = false;
}
+void LineEdit::update_placeholder_width() {
+ if ((max_length <= 0) || (placeholder_translated.length() <= max_length)) {
+ Ref<Font> font = get_font("font");
+ cached_placeholder_width = 0;
+ if (font != NULL) {
+ for (int i = 0; i < placeholder_translated.length(); i++) {
+ cached_placeholder_width += font->get_char_size(placeholder_translated[i]).width;
+ }
+ }
+ }
+}
+
void LineEdit::_clear_redo() {
_create_undo_state();
if (undo_stack_pos == NULL) {
diff --git a/scene/gui/line_edit.h b/scene/gui/line_edit.h
index 3b29780dc0..3002f6f637 100644
--- a/scene/gui/line_edit.h
+++ b/scene/gui/line_edit.h
@@ -72,6 +72,7 @@ private:
String undo_text;
String text;
String placeholder;
+ String placeholder_translated;
String secret_character;
float placeholder_alpha;
String ime_text;
@@ -126,6 +127,8 @@ private:
void _emit_text_change();
bool expand_to_text_length;
+ void update_placeholder_width();
+
bool caret_blink_enabled;
bool draw_caret;
bool window_has_focus;
diff --git a/scene/gui/option_button.cpp b/scene/gui/option_button.cpp
index 872402e9e1..58671655dc 100644
--- a/scene/gui/option_button.cpp
+++ b/scene/gui/option_button.cpp
@@ -282,7 +282,7 @@ void OptionButton::_set_items(const Array &p_items) {
void OptionButton::get_translatable_strings(List<String> *p_strings) const {
- return popup->get_translatable_strings(p_strings);
+ popup->get_translatable_strings(p_strings);
}
void OptionButton::_bind_methods() {
diff --git a/scene/gui/popup.cpp b/scene/gui/popup.cpp
index fdb1b65f77..492e379440 100644
--- a/scene/gui/popup.cpp
+++ b/scene/gui/popup.cpp
@@ -141,7 +141,7 @@ void Popup::popup_centered(const Size2 &p_size) {
rect.size = p_size == Size2() ? get_size() : p_size;
rect.position = ((window_size - rect.size) / 2.0).floor();
- popup(rect);
+ _popup(rect, true);
}
void Popup::popup_centered_ratio(float p_screen_ratio) {
@@ -151,18 +151,29 @@ void Popup::popup_centered_ratio(float p_screen_ratio) {
rect.size = (window_size * p_screen_ratio).floor();
rect.position = ((window_size - rect.size) / 2.0).floor();
- popup(rect);
+ _popup(rect, true);
}
void Popup::popup(const Rect2 &p_bounds) {
+ _popup(p_bounds);
+}
+
+void Popup::_popup(const Rect2 &p_bounds, const bool p_centered) {
+
emit_signal("about_to_show");
show_modal(exclusive);
// Fit the popup into the optionally provided bounds.
if (!p_bounds.has_no_area()) {
- set_position(p_bounds.position);
set_size(p_bounds.size);
+
+ // check if p_bounds.size was using an outdated cached values
+ if (p_centered && p_bounds.size != get_size()) {
+ set_position(p_bounds.position - ((get_size() - p_bounds.size) / 2.0).floor());
+ } else {
+ set_position(p_bounds.position);
+ }
}
_fix_size();
diff --git a/scene/gui/popup.h b/scene/gui/popup.h
index 6615c51ec5..d6d96dfe64 100644
--- a/scene/gui/popup.h
+++ b/scene/gui/popup.h
@@ -43,6 +43,9 @@ class Popup : public Control {
bool exclusive;
bool popped_up;
+private:
+ void _popup(const Rect2 &p_bounds = Rect2(), const bool p_centered = false);
+
protected:
virtual void _post_popup() {}
diff --git a/scene/gui/reference_rect.cpp b/scene/gui/reference_rect.cpp
index 553e133946..052c8ccd05 100644
--- a/scene/gui/reference_rect.cpp
+++ b/scene/gui/reference_rect.cpp
@@ -38,26 +38,41 @@ void ReferenceRect::_notification(int p_what) {
if (!is_inside_tree())
return;
- if (Engine::get_singleton()->is_editor_hint())
+ if (Engine::get_singleton()->is_editor_hint() || !editor_only)
draw_rect(Rect2(Point2(), get_size()), border_color, false);
}
}
-void ReferenceRect::set_border_color(const Color &color) {
- border_color = color;
+void ReferenceRect::set_border_color(const Color &p_color) {
+ border_color = p_color;
+ update();
}
Color ReferenceRect::get_border_color() const {
return border_color;
}
+void ReferenceRect::set_editor_only(const bool &p_enabled) {
+ editor_only = p_enabled;
+ update();
+}
+
+bool ReferenceRect::get_editor_only() const {
+ return editor_only;
+}
+
void ReferenceRect::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_border_color"), &ReferenceRect::get_border_color);
ClassDB::bind_method(D_METHOD("set_border_color", "color"), &ReferenceRect::set_border_color);
+ ClassDB::bind_method(D_METHOD("get_editor_only"), &ReferenceRect::get_editor_only);
+ ClassDB::bind_method(D_METHOD("set_editor_only", "enabled"), &ReferenceRect::set_editor_only);
+
ADD_PROPERTY(PropertyInfo(Variant::COLOR, "border_color"), "set_border_color", "get_border_color");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "editor_only"), "set_editor_only", "get_editor_only");
}
ReferenceRect::ReferenceRect() {
border_color = Color(1, 0, 0);
+ editor_only = true;
}
diff --git a/scene/gui/reference_rect.h b/scene/gui/reference_rect.h
index de3ccaeeca..7a88333cf2 100644
--- a/scene/gui/reference_rect.h
+++ b/scene/gui/reference_rect.h
@@ -37,6 +37,7 @@ class ReferenceRect : public Control {
GDCLASS(ReferenceRect, Control);
Color border_color;
+ bool editor_only;
protected:
void _notification(int p_what);
@@ -45,8 +46,11 @@ protected:
public:
ReferenceRect();
- void set_border_color(const Color &color);
+ void set_border_color(const Color &p_color);
Color get_border_color() const;
+
+ void set_editor_only(const bool &p_enabled);
+ bool get_editor_only() const;
};
#endif // REFERENCE_RECT_H
diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp
index 8891f679ee..5b91299de6 100644
--- a/scene/gui/rich_text_label.cpp
+++ b/scene/gui/rich_text_label.cpp
@@ -314,6 +314,18 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &
align = align_it->align;
} break;
+ case ITEM_INDENT: {
+
+ if (it != l.from) {
+ ItemIndent *indent_it = static_cast<ItemIndent *>(it);
+
+ int indent = indent_it->level * tab_size * cfont->get_char_size(' ').width;
+ margin += indent;
+ begin += indent;
+ wofs += indent;
+ }
+
+ } break;
case ITEM_TEXT: {
ItemText *text = static_cast<ItemText *>(it);
@@ -447,14 +459,13 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int &
if (p_font_color_shadow.a > 0) {
float x_ofs_shadow = align_ofs + pofs;
float y_ofs_shadow = y + lh - line_descent;
- float move = font->draw_char(ci, Point2(x_ofs_shadow, y_ofs_shadow) + shadow_ofs, c[i], c[i + 1], p_font_color_shadow);
+ font->draw_char(ci, Point2(x_ofs_shadow, y_ofs_shadow) + shadow_ofs, c[i], c[i + 1], p_font_color_shadow);
if (p_shadow_as_outline) {
font->draw_char(ci, Point2(x_ofs_shadow, y_ofs_shadow) + Vector2(-shadow_ofs.x, shadow_ofs.y), c[i], c[i + 1], p_font_color_shadow);
font->draw_char(ci, Point2(x_ofs_shadow, y_ofs_shadow) + Vector2(shadow_ofs.x, -shadow_ofs.y), c[i], c[i + 1], p_font_color_shadow);
font->draw_char(ci, Point2(x_ofs_shadow, y_ofs_shadow) + Vector2(-shadow_ofs.x, -shadow_ofs.y), c[i], c[i + 1], p_font_color_shadow);
}
- x_ofs_shadow += move;
}
if (selected) {
@@ -935,84 +946,80 @@ void RichTextLabel::_gui_input(Ref<InputEvent> p_event) {
return;
if (b->get_button_index() == BUTTON_LEFT) {
+ if (b->is_pressed() && !b->is_doubleclick()) {
+ scroll_updated = false;
+ int line = 0;
+ Item *item = NULL;
- if (true) {
+ bool outside;
+ _find_click(main, b->get_position(), &item, &line, &outside);
- if (b->is_pressed() && !b->is_doubleclick()) {
- scroll_updated = false;
- int line = 0;
- Item *item = NULL;
+ if (item) {
- bool outside;
- _find_click(main, b->get_position(), &item, &line, &outside);
-
- if (item) {
+ if (selection.enabled) {
- if (selection.enabled) {
+ selection.click = item;
+ selection.click_char = line;
- selection.click = item;
- selection.click_char = line;
+ // Erase previous selection.
+ if (selection.active) {
+ selection.from = NULL;
+ selection.from_char = '\0';
+ selection.to = NULL;
+ selection.to_char = '\0';
+ selection.active = false;
- // Erase previous selection.
- if (selection.active) {
- selection.from = NULL;
- selection.from_char = '\0';
- selection.to = NULL;
- selection.to_char = '\0';
- selection.active = false;
-
- update();
- }
+ update();
}
}
- } else if (b->is_pressed() && b->is_doubleclick() && selection.enabled) {
+ }
+ } else if (b->is_pressed() && b->is_doubleclick() && selection.enabled) {
- //doubleclick: select word
- int line = 0;
- Item *item = NULL;
- bool outside;
+ //doubleclick: select word
+ int line = 0;
+ Item *item = NULL;
+ bool outside;
- _find_click(main, b->get_position(), &item, &line, &outside);
+ _find_click(main, b->get_position(), &item, &line, &outside);
- while (item && item->type != ITEM_TEXT) {
+ while (item && item->type != ITEM_TEXT) {
- item = _get_next_item(item, true);
- }
+ item = _get_next_item(item, true);
+ }
- if (item && item->type == ITEM_TEXT) {
+ if (item && item->type == ITEM_TEXT) {
- String itext = static_cast<ItemText *>(item)->text;
+ String itext = static_cast<ItemText *>(item)->text;
- int beg, end;
- if (select_word(itext, line, beg, end)) {
+ int beg, end;
+ if (select_word(itext, line, beg, end)) {
- selection.from = item;
- selection.to = item;
- selection.from_char = beg;
- selection.to_char = end - 1;
- selection.active = true;
- update();
- }
+ selection.from = item;
+ selection.to = item;
+ selection.from_char = beg;
+ selection.to_char = end - 1;
+ selection.active = true;
+ update();
}
- } else if (!b->is_pressed()) {
+ }
+ } else if (!b->is_pressed()) {
- selection.click = NULL;
+ selection.click = NULL;
- if (!b->is_doubleclick() && !scroll_updated) {
- int line = 0;
- Item *item = NULL;
+ if (!b->is_doubleclick() && !scroll_updated) {
+ int line = 0;
+ Item *item = NULL;
- bool outside;
- _find_click(main, b->get_position(), &item, &line, &outside);
+ bool outside;
+ _find_click(main, b->get_position(), &item, &line, &outside);
- if (item) {
+ if (item) {
- Variant meta;
- if (!outside && _find_meta(item, &meta)) {
- //meta clicked
+ Variant meta;
+ if (!outside && _find_meta(item, &meta)) {
+ //meta clicked
- emit_signal("meta_clicked", meta);
- }
+ emit_signal("meta_clicked", meta);
}
}
}
@@ -1301,6 +1308,23 @@ bool RichTextLabel::_find_meta(Item *p_item, Variant *r_meta, ItemMeta **r_item)
return false;
}
+bool RichTextLabel::_find_layout_subitem(Item *from, Item *to) {
+
+ if (from && from != to) {
+ if (from->type != ITEM_FONT && from->type != ITEM_COLOR && from->type != ITEM_UNDERLINE && from->type != ITEM_STRIKETHROUGH)
+ return true;
+
+ for (List<Item *>::Element *E = from->subitems.front(); E; E = E->next()) {
+ bool layout = _find_layout_subitem(E->get(), to);
+
+ if (layout)
+ return true;
+ }
+ }
+
+ return false;
+}
+
void RichTextLabel::_validate_line_caches(ItemFrame *p_frame) {
if (p_frame->first_invalid_line == p_frame->lines.size())
@@ -1421,7 +1445,7 @@ void RichTextLabel::_add_item(Item *p_item, bool p_enter, bool p_ensure_newline)
if (p_ensure_newline) {
Item *from = current_frame->lines[current_frame->lines.size() - 1].from;
// only create a new line for Item types that generate content/layout, ignore those that represent formatting/styling
- if (from && from->type != ITEM_FONT && from->type != ITEM_COLOR && from->type != ITEM_UNDERLINE && from->type != ITEM_STRIKETHROUGH) {
+ if (_find_layout_subitem(from, p_item)) {
_invalidate_current_line(current_frame);
current_frame->lines.resize(current_frame->lines.size() + 1);
}
diff --git a/scene/gui/rich_text_label.h b/scene/gui/rich_text_label.h
index 114c6103e2..21d099c37a 100644
--- a/scene/gui/rich_text_label.h
+++ b/scene/gui/rich_text_label.h
@@ -286,6 +286,7 @@ private:
bool _find_underline(Item *p_item);
bool _find_strikethrough(Item *p_item);
bool _find_meta(Item *p_item, Variant *r_meta, ItemMeta **r_item = NULL);
+ bool _find_layout_subitem(Item *from, Item *to);
void _update_scroll();
void _scroll_changed(double);
diff --git a/scene/gui/scroll_container.cpp b/scene/gui/scroll_container.cpp
index a1034937b5..d83ae47671 100644
--- a/scene/gui/scroll_container.cpp
+++ b/scene/gui/scroll_container.cpp
@@ -140,19 +140,17 @@ void ScrollContainer::_gui_input(const Ref<InputEvent> &p_gui_input) {
_cancel_drag();
}
- if (true) {
- drag_speed = Vector2();
- drag_accum = Vector2();
- last_drag_accum = Vector2();
- drag_from = Vector2(h_scroll->get_value(), v_scroll->get_value());
- drag_touching = OS::get_singleton()->has_touchscreen_ui_hint();
- drag_touching_deaccel = false;
- beyond_deadzone = false;
+ drag_speed = Vector2();
+ drag_accum = Vector2();
+ last_drag_accum = Vector2();
+ drag_from = Vector2(h_scroll->get_value(), v_scroll->get_value());
+ drag_touching = OS::get_singleton()->has_touchscreen_ui_hint();
+ drag_touching_deaccel = false;
+ beyond_deadzone = false;
+ time_since_motion = 0;
+ if (drag_touching) {
+ set_physics_process_internal(true);
time_since_motion = 0;
- if (drag_touching) {
- set_physics_process_internal(true);
- time_since_motion = 0;
- }
}
} else {
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index 36d7dad1d3..a6e3d644f6 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -662,10 +662,8 @@ void TextEdit::_notification(int p_what) {
int xmargin_end = size.width - cache.style_normal->get_margin(MARGIN_RIGHT);
//let's do it easy for now:
cache.style_normal->draw(ci, Rect2(Point2(), size));
- float readonly_alpha = 1.0; // used to set the input text color when in read-only mode
if (readonly) {
cache.style_readonly->draw(ci, Rect2(Point2(), size));
- readonly_alpha = .5;
draw_caret = false;
}
if (has_focus())
@@ -675,8 +673,7 @@ void TextEdit::_notification(int p_what) {
int visible_rows = get_visible_rows() + 1;
- Color color = cache.font_color;
- color.a *= readonly_alpha;
+ Color color = readonly ? cache.font_color_readonly : cache.font_color;
if (syntax_coloring) {
if (cache.background_color.a > 0.01) {
@@ -684,6 +681,13 @@ void TextEdit::_notification(int p_what) {
}
}
+ if (line_length_guideline) {
+ int x = xmargin_beg + cache.font->get_char_size('0').width * line_length_guideline_col - cursor.x_ofs;
+ if (x > xmargin_beg && x < xmargin_end) {
+ VisualServer::get_singleton()->canvas_item_add_line(ci, Point2(x, 0), Point2(x, size.height), cache.line_length_guideline_color);
+ }
+ }
+
int brace_open_match_line = -1;
int brace_open_match_column = -1;
bool brace_open_matching = false;
@@ -871,10 +875,7 @@ void TextEdit::_notification(int p_what) {
color_map = _get_line_syntax_highlighting(line);
}
// ensure we at least use the font color
- Color current_color = cache.font_color;
- if (readonly) {
- current_color.a *= readonly_alpha;
- }
+ Color current_color = readonly ? cache.font_color_readonly : cache.font_color;
bool underlined = false;
@@ -1061,10 +1062,7 @@ void TextEdit::_notification(int p_what) {
if (syntax_coloring) {
if (color_map.has(last_wrap_column + j)) {
- current_color = color_map[last_wrap_column + j].color;
- if (readonly) {
- current_color.a *= readonly_alpha;
- }
+ current_color = readonly ? cache.font_color_readonly : color_map[last_wrap_column + j].color;
}
color = current_color;
}
@@ -1178,7 +1176,7 @@ void TextEdit::_notification(int p_what) {
if (brace_open_mismatch)
color = cache.brace_mismatch_color;
- drawer.draw_char(ci, Point2i(char_ofs + char_margin + ofs_x, yofs + ascent), '_', str[j + 1], in_selection && override_selected_font_color ? cache.font_selected_color : color);
+ drawer.draw_char(ci, Point2i(char_ofs + char_margin + ofs_x, yofs + ascent), '_', str[j + 1], in_selection && override_selected_font_color ? cache.font_color_selected : color);
}
if ((brace_close_match_line == line && brace_close_match_column == last_wrap_column + j) ||
@@ -1186,7 +1184,7 @@ void TextEdit::_notification(int p_what) {
if (brace_close_mismatch)
color = cache.brace_mismatch_color;
- drawer.draw_char(ci, Point2i(char_ofs + char_margin + ofs_x, yofs + ascent), '_', str[j + 1], in_selection && override_selected_font_color ? cache.font_selected_color : color);
+ drawer.draw_char(ci, Point2i(char_ofs + char_margin + ofs_x, yofs + ascent), '_', str[j + 1], in_selection && override_selected_font_color ? cache.font_color_selected : color);
}
}
@@ -1252,29 +1250,28 @@ void TextEdit::_notification(int p_what) {
if (cursor.column == last_wrap_column + j && cursor.line == line && cursor_wrap_index == line_wrap_index && block_caret && draw_caret && !insert_mode) {
color = cache.caret_background_color;
} else if (!syntax_coloring && block_caret) {
- color = cache.font_color;
- color.a *= readonly_alpha;
+ color = readonly ? cache.font_color_readonly : cache.font_color;
}
if (str[j] >= 32) {
int yofs = ofs_y + (get_row_height() - cache.font->get_height()) / 2;
- int w = drawer.draw_char(ci, Point2i(char_ofs + char_margin + ofs_x, yofs + ascent), str[j], str[j + 1], in_selection && override_selected_font_color ? cache.font_selected_color : color);
+ int w = drawer.draw_char(ci, Point2i(char_ofs + char_margin + ofs_x, yofs + ascent), str[j], str[j + 1], in_selection && override_selected_font_color ? cache.font_color_selected : color);
if (underlined) {
float line_width = 1.0;
#ifdef TOOLS_ENABLED
line_width *= EDSCALE;
#endif
- draw_rect(Rect2(char_ofs + char_margin + ofs_x, yofs + ascent + 2, w, line_width), in_selection && override_selected_font_color ? cache.font_selected_color : color);
+ draw_rect(Rect2(char_ofs + char_margin + ofs_x, yofs + ascent + 2, w, line_width), in_selection && override_selected_font_color ? cache.font_color_selected : color);
}
} else if (draw_tabs && str[j] == '\t') {
int yofs = (get_row_height() - cache.tab_icon->get_height()) / 2;
- cache.tab_icon->draw(ci, Point2(char_ofs + char_margin + ofs_x, ofs_y + yofs), in_selection && override_selected_font_color ? cache.font_selected_color : color);
+ cache.tab_icon->draw(ci, Point2(char_ofs + char_margin + ofs_x, ofs_y + yofs), in_selection && override_selected_font_color ? cache.font_color_selected : color);
}
if (draw_spaces && str[j] == ' ') {
int yofs = (get_row_height() - cache.space_icon->get_height()) / 2;
- cache.space_icon->draw(ci, Point2(char_ofs + char_margin + ofs_x, ofs_y + yofs), in_selection && override_selected_font_color ? cache.font_selected_color : color);
+ cache.space_icon->draw(ci, Point2(char_ofs + char_margin + ofs_x, ofs_y + yofs), in_selection && override_selected_font_color ? cache.font_color_selected : color);
}
char_ofs += char_w;
@@ -1349,13 +1346,6 @@ void TextEdit::_notification(int p_what) {
}
}
- if (line_length_guideline) {
- int x = xmargin_beg + cache.font->get_char_size('0').width * line_length_guideline_col - cursor.x_ofs;
- if (x > xmargin_beg && x < xmargin_end) {
- VisualServer::get_singleton()->canvas_item_add_line(ci, Point2(x, 0), Point2(x, size.height), cache.line_length_guideline_color);
- }
- }
-
bool completion_below = false;
if (completion_active) {
// code completion box
@@ -1603,7 +1593,6 @@ void TextEdit::_consume_pair_symbol(CharType ch) {
insert_text_at_cursor(ch_pair);
cursor_set_column(cursor_position_to_move);
- return;
}
void TextEdit::_consume_backspace_for_pair_symbol(int prev_line, int prev_column) {
@@ -4554,7 +4543,8 @@ void TextEdit::_update_caches() {
cache.line_number_color = get_color("line_number_color");
cache.safe_line_number_color = get_color("safe_line_number_color");
cache.font_color = get_color("font_color");
- cache.font_selected_color = get_color("font_selected_color");
+ cache.font_color_selected = get_color("font_color_selected");
+ cache.font_color_readonly = get_color("font_color_readonly");
cache.keyword_color = get_color("keyword_color");
cache.function_color = get_color("function_color");
cache.member_variable_color = get_color("member_variable_color");
@@ -4827,14 +4817,18 @@ void TextEdit::deselect() {
void TextEdit::select(int p_from_line, int p_from_column, int p_to_line, int p_to_column) {
- if (p_from_line >= text.size())
+ if (p_from_line < 0)
+ p_from_line = 0;
+ else if (p_from_line >= text.size())
p_from_line = text.size() - 1;
if (p_from_column >= text[p_from_line].length())
p_from_column = text[p_from_line].length();
if (p_from_column < 0)
p_from_column = 0;
- if (p_to_line >= text.size())
+ if (p_to_line < 0)
+ p_to_line = 0;
+ else if (p_to_line >= text.size())
p_to_line = text.size() - 1;
if (p_to_column >= text[p_to_line].length())
p_to_column = text[p_to_line].length();
@@ -5404,11 +5398,7 @@ bool TextEdit::is_line_comment(int p_line) const {
for (int i = 0; i < line_length - 1; i++) {
if (_is_symbol(text[p_line][i]) && cri_map.has(i)) {
const Text::ColorRegionInfo &cri = cri_map[i];
- if (color_regions[cri.region].begin_key == "#" || color_regions[cri.region].begin_key == "//") {
- return true;
- } else {
- return false;
- }
+ return color_regions[cri.region].begin_key == "#" || color_regions[cri.region].begin_key == "//";
} else if (_is_whitespace(text[p_line][i])) {
continue;
} else {
@@ -5457,9 +5447,7 @@ bool TextEdit::is_folded(int p_line) const {
ERR_FAIL_INDEX_V(p_line, text.size(), false);
if (p_line + 1 >= text.size())
return false;
- if (!is_line_hidden(p_line) && is_line_hidden(p_line + 1))
- return true;
- return false;
+ return !is_line_hidden(p_line) && is_line_hidden(p_line + 1);
}
Vector<int> TextEdit::get_folded_lines() const {
@@ -6452,6 +6440,7 @@ void TextEdit::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_text"), &TextEdit::get_text);
ClassDB::bind_method(D_METHOD("get_line", "line"), &TextEdit::get_line);
+ ClassDB::bind_method(D_METHOD("center_viewport_to_cursor"), &TextEdit::center_viewport_to_cursor);
ClassDB::bind_method(D_METHOD("cursor_set_column", "column", "adjust_viewport"), &TextEdit::cursor_set_column, DEFVAL(true));
ClassDB::bind_method(D_METHOD("cursor_set_line", "line", "adjust_viewport", "can_be_hidden", "wrap_index"), &TextEdit::cursor_set_line, DEFVAL(true), DEFVAL(true), DEFVAL(0));
diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h
index 3e852deda6..30956ccb23 100644
--- a/scene/gui/text_edit.h
+++ b/scene/gui/text_edit.h
@@ -184,7 +184,8 @@ private:
Color line_number_color;
Color safe_line_number_color;
Color font_color;
- Color font_selected_color;
+ Color font_color_selected;
+ Color font_color_readonly;
Color keyword_color;
Color number_color;
Color function_color;
diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp
index 54370d02ba..c2493ab321 100644
--- a/scene/gui/tree.cpp
+++ b/scene/gui/tree.cpp
@@ -1128,6 +1128,8 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2
for (int j = p_item->cells[i].buttons.size() - 1; j >= 0; j--) {
Ref<Texture> b = p_item->cells[i].buttons[j].texture;
Size2 s = b->get_size() + cache.button_pressed->get_minimum_size();
+ if (s.height < label_h)
+ s.height = label_h;
Point2i o = Point2i(ofs + w - s.width, p_pos.y) - cache.offset + p_draw_ofs;
@@ -1929,8 +1931,6 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, bool
edited_col = col;
bool on_arrow = x > col_width - cache.select_arrow->get_width();
- bring_up_editor = false;
-
custom_popup_rect = Rect2i(get_global_position() + Point2i(col_ofs, _get_title_button_height() + y_ofs + item_h - cache.offset.y), Size2(get_column_width(col), item_h));
if (on_arrow || !p_item->cells[col].custom_button) {
diff --git a/scene/main/http_request.cpp b/scene/main/http_request.cpp
index e65314644e..88b942ee45 100644
--- a/scene/main/http_request.cpp
+++ b/scene/main/http_request.cpp
@@ -425,7 +425,7 @@ void HTTPRequest::_notification(int p_what) {
void HTTPRequest::set_use_threads(bool p_use) {
- ERR_FAIL_COND(status != HTTPClient::STATUS_DISCONNECTED);
+ ERR_FAIL_COND(get_http_client_status() != HTTPClient::STATUS_DISCONNECTED);
use_threads = p_use;
}
@@ -436,7 +436,7 @@ bool HTTPRequest::is_using_threads() const {
void HTTPRequest::set_body_size_limit(int p_bytes) {
- ERR_FAIL_COND(status != HTTPClient::STATUS_DISCONNECTED);
+ ERR_FAIL_COND(get_http_client_status() != HTTPClient::STATUS_DISCONNECTED);
body_size_limit = p_bytes;
}
@@ -448,7 +448,7 @@ int HTTPRequest::get_body_size_limit() const {
void HTTPRequest::set_download_file(const String &p_file) {
- ERR_FAIL_COND(status != HTTPClient::STATUS_DISCONNECTED);
+ ERR_FAIL_COND(get_http_client_status() != HTTPClient::STATUS_DISCONNECTED);
download_to_file = p_file;
}
@@ -546,7 +546,6 @@ HTTPRequest::HTTPRequest() {
downloaded = 0;
body_size_limit = -1;
file = NULL;
- status = HTTPClient::STATUS_DISCONNECTED;
}
HTTPRequest::~HTTPRequest() {
diff --git a/scene/main/http_request.h b/scene/main/http_request.h
index baabda4010..2e58d579ba 100644
--- a/scene/main/http_request.h
+++ b/scene/main/http_request.h
@@ -88,8 +88,6 @@ private:
int redirections;
- HTTPClient::Status status;
-
bool _update_connection();
int max_redirects;
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index ee23b24b3c..5888760973 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -71,6 +71,8 @@ void Node::_notification(int p_notification) {
} break;
case NOTIFICATION_ENTER_TREE: {
+ ERR_FAIL_COND(!get_viewport());
+ ERR_FAIL_COND(!get_tree());
if (data.pause_mode == PAUSE_MODE_INHERIT) {
@@ -94,6 +96,8 @@ void Node::_notification(int p_notification) {
} break;
case NOTIFICATION_EXIT_TREE: {
+ ERR_FAIL_COND(!get_viewport());
+ ERR_FAIL_COND(!get_tree());
get_tree()->node_count--;
orphan_node_count++;
@@ -840,6 +844,8 @@ bool Node::is_processing_internal() const {
void Node::set_process_priority(int p_priority) {
data.process_priority = p_priority;
+ ERR_FAIL_COND(!data.tree);
+
if (is_processing())
data.tree->make_group_changed("idle_process");
@@ -1393,7 +1399,7 @@ Node *Node::get_node(const NodePath &p_path) const {
Node *node = get_node_or_null(p_path);
if (!node) {
ERR_EXPLAIN("Node not found: " + p_path);
- ERR_FAIL_COND_V(!node, NULL);
+ ERR_FAIL_V(NULL);
}
return node;
}
@@ -2477,21 +2483,18 @@ bool Node::has_node_and_resource(const NodePath &p_path) const {
if (!has_node(p_path))
return false;
- Node *node = get_node(p_path);
-
- bool result = false;
-
- node->get_indexed(p_path.get_subnames(), &result);
+ RES res;
+ Vector<StringName> leftover_path;
+ Node *node = get_node_and_resource(p_path, res, leftover_path, false);
- return result;
+ return (node && res.is_valid());
}
Array Node::_get_node_and_resource(const NodePath &p_path) {
- Node *node;
RES res;
Vector<StringName> leftover_path;
- node = get_node_and_resource(p_path, res, leftover_path);
+ Node *node = get_node_and_resource(p_path, res, leftover_path, false);
Array result;
if (node)
@@ -2521,7 +2524,7 @@ Node *Node::get_node_and_resource(const NodePath &p_path, RES &r_res, Vector<Str
int j = 0;
// If not p_last_is_property, we shouldn't consider the last one as part of the resource
- for (; j < p_path.get_subname_count() - p_last_is_property; j++) {
+ for (; j < p_path.get_subname_count() - (int)p_last_is_property; j++) {
RES new_res = j == 0 ? node->get(p_path.get_subname(j)) : r_res->get(p_path.get_subname(j));
if (new_res.is_null()) {
diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp
index 7f0cebd492..0940a59a82 100644
--- a/scene/main/scene_tree.cpp
+++ b/scene/main/scene_tree.cpp
@@ -453,9 +453,6 @@ void SceneTree::init() {
//_quit=false;
initialized = true;
- input_handled = false;
-
- pause = false;
root->_set_tree(this);
MainLoop::init();
@@ -614,6 +611,7 @@ void SceneTree::finish() {
root->_set_tree(NULL);
root->_propagate_after_exit_tree();
memdelete(root); //delete root
+ root = NULL;
}
}
@@ -1889,6 +1887,7 @@ void SceneTree::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "debug_navigation_hint"), "set_debug_navigation_hint", "is_debugging_navigation_hint");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "paused"), "set_pause", "is_paused");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "refuse_new_network_connections"), "set_refuse_new_network_connections", "is_refusing_new_network_connections");
+ ADD_PROPERTY_DEFAULT("refuse_new_network_connections", false);
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_font_oversampling"), "set_use_font_oversampling", "is_using_font_oversampling");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "edited_scene_root", PROPERTY_HINT_RESOURCE_TYPE, "Node", 0), "set_edited_scene_root", "get_edited_scene_root");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "current_scene", PROPERTY_HINT_RESOURCE_TYPE, "Node", 0), "set_current_scene", "get_current_scene");
@@ -1962,7 +1961,7 @@ bool SceneTree::is_using_font_oversampling() const {
SceneTree::SceneTree() {
- singleton = this;
+ if (singleton == NULL) singleton = this;
_quit = false;
accept_quit = true;
quit_on_go_back = true;
@@ -1984,6 +1983,8 @@ SceneTree::SceneTree() {
idle_process_time = 1;
root = NULL;
+ input_handled = false;
+ pause = false;
current_frame = 0;
current_event = 0;
tree_changed_name = "tree_changed";
@@ -2107,4 +2108,11 @@ SceneTree::SceneTree() {
}
SceneTree::~SceneTree() {
+ if (root) {
+ root->_set_tree(NULL);
+ root->_propagate_after_exit_tree();
+ memdelete(root);
+ }
+
+ if (singleton == this) singleton = NULL;
}
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index 10e5ad78e2..8561d9aedb 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -532,7 +532,7 @@ void Viewport::_notification(int p_what) {
Map<ObjectID, uint64_t>::Element *F = physics_2d_mouseover.find(res[i].collider_id);
if (!F) {
- F = physics_2d_mouseover.insert(res[i].collider_id, frame);
+ physics_2d_mouseover.insert(res[i].collider_id, frame);
co->_mouse_enter();
} else {
F->get() = frame;
@@ -1701,6 +1701,8 @@ bool Viewport::_gui_drop(Control *p_at_control, Point2 p_at_pos, bool p_just_che
void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
+ ERR_FAIL_COND(p_event.is_null())
+
//?
/*
if (!is_visible()) {
diff --git a/scene/resources/concave_polygon_shape_2d.cpp b/scene/resources/concave_polygon_shape_2d.cpp
index 51dd91fff5..de853f0c30 100644
--- a/scene/resources/concave_polygon_shape_2d.cpp
+++ b/scene/resources/concave_polygon_shape_2d.cpp
@@ -104,4 +104,6 @@ void ConcavePolygonShape2D::_bind_methods() {
ConcavePolygonShape2D::ConcavePolygonShape2D() :
Shape2D(Physics2DServer::get_singleton()->concave_polygon_shape_create()) {
+ PoolVector<Vector2> empty;
+ set_segments(empty);
}
diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp
index 2c5dfc375c..4e2fe1f9b2 100644
--- a/scene/resources/default_theme/default_theme.cpp
+++ b/scene/resources/default_theme/default_theme.cpp
@@ -398,6 +398,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
theme->set_color("font_color", "LineEdit", control_font_color);
theme->set_color("font_color_selected", "LineEdit", Color(0, 0, 0));
+ theme->set_color("font_color_uneditable", "LineEdit", Color(control_font_color.r, control_font_color.g, control_font_color.b, 0.5f));
theme->set_color("cursor_color", "LineEdit", control_font_color_hover);
theme->set_color("selection_color", "LineEdit", font_color_selection);
theme->set_color("clear_button_color", "LineEdit", control_font_color);
@@ -439,6 +440,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
theme->set_color("completion_font_color", "TextEdit", Color::html("aaaaaa"));
theme->set_color("font_color", "TextEdit", control_font_color);
theme->set_color("font_color_selected", "TextEdit", Color(0, 0, 0));
+ theme->set_color("font_color_readonly", "TextEdit", Color(control_font_color.r, control_font_color.g, control_font_color.b, 0.5f));
theme->set_color("selection_color", "TextEdit", font_color_selection);
theme->set_color("mark_color", "TextEdit", Color(1.0, 0.4, 0.4, 0.4));
theme->set_color("bookmark_color", "TextEdit", Color(0.08, 0.49, 0.98));
diff --git a/scene/resources/multimesh.cpp b/scene/resources/multimesh.cpp
index 5d8adc0c8d..99a17fb5b9 100644
--- a/scene/resources/multimesh.cpp
+++ b/scene/resources/multimesh.cpp
@@ -35,7 +35,7 @@ void MultiMesh::_set_transform_array(const PoolVector<Vector3> &p_array) {
if (transform_format != TRANSFORM_3D)
return;
- PoolVector<Vector3> xforms = p_array;
+ const PoolVector<Vector3> &xforms = p_array;
int len = xforms.size();
ERR_FAIL_COND((len / 4) != instance_count);
if (len == 0)
@@ -85,7 +85,7 @@ void MultiMesh::_set_transform_2d_array(const PoolVector<Vector2> &p_array) {
if (transform_format != TRANSFORM_2D)
return;
- PoolVector<Vector2> xforms = p_array;
+ const PoolVector<Vector2> &xforms = p_array;
int len = xforms.size();
ERR_FAIL_COND((len / 3) != instance_count);
if (len == 0)
@@ -130,7 +130,7 @@ PoolVector<Vector2> MultiMesh::_get_transform_2d_array() const {
void MultiMesh::_set_color_array(const PoolVector<Color> &p_array) {
- PoolVector<Color> colors = p_array;
+ const PoolVector<Color> &colors = p_array;
int len = colors.size();
if (len == 0)
return;
@@ -162,7 +162,7 @@ PoolVector<Color> MultiMesh::_get_color_array() const {
void MultiMesh::_set_custom_data_array(const PoolVector<Color> &p_array) {
- PoolVector<Color> custom_datas = p_array;
+ const PoolVector<Color> &custom_datas = p_array;
int len = custom_datas.size();
if (len == 0)
return;
diff --git a/scene/resources/particles_material.cpp b/scene/resources/particles_material.cpp
index a80a57a09c..edca9e5171 100644
--- a/scene/resources/particles_material.cpp
+++ b/scene/resources/particles_material.cpp
@@ -45,6 +45,7 @@ void ParticlesMaterial::init_shaders() {
shader_names = memnew(ShaderNames);
+ shader_names->direction = "direction";
shader_names->spread = "spread";
shader_names->flatness = "flatness";
shader_names->initial_linear_velocity = "initial_linear_velocity";
@@ -144,6 +145,7 @@ void ParticlesMaterial::_update_shader() {
String code = "shader_type particles;\n";
+ code += "uniform vec3 direction;\n";
code += "uniform float spread;\n";
code += "uniform float flatness;\n";
code += "uniform float initial_linear_velocity;\n";
@@ -184,7 +186,8 @@ void ParticlesMaterial::_update_shader() {
} break;
case EMISSION_SHAPE_DIRECTED_POINTS: {
code += "uniform sampler2D emission_texture_normal : hint_black;\n";
- } //fallthrough
+ FALLTHROUGH;
+ }
case EMISSION_SHAPE_POINTS: {
code += "uniform sampler2D emission_texture_points : hint_black;\n";
code += "uniform int emission_texture_point_count;\n";
@@ -303,20 +306,20 @@ void ParticlesMaterial::_update_shader() {
if (flags[FLAG_DISABLE_Z]) {
- code += " float angle1_rad = rand_from_seed_m1_p1(alt_seed) * spread_rad;\n";
+ code += " float angle1_rad = atan(direction.y, direction.x) + rand_from_seed_m1_p1(alt_seed) * spread_rad;\n";
code += " vec3 rot = vec3(cos(angle1_rad), sin(angle1_rad), 0.0);\n";
code += " VELOCITY = rot * initial_linear_velocity * mix(1.0, rand_from_seed(alt_seed), initial_linear_velocity_random);\n";
} else {
//initiate velocity spread in 3D
- code += " float angle1_rad = rand_from_seed_m1_p1(alt_seed) * spread_rad;\n";
- code += " float angle2_rad = rand_from_seed_m1_p1(alt_seed) * spread_rad * (1.0 - flatness);\n";
+ code += " float angle1_rad = atan(direction.x, direction.z) + rand_from_seed_m1_p1(alt_seed) * spread_rad;\n";
+ code += " float angle2_rad = atan(direction.y, abs(direction.z)) + rand_from_seed_m1_p1(alt_seed) * spread_rad * (1.0 - flatness);\n";
code += " vec3 direction_xz = vec3(sin(angle1_rad), 0.0, cos(angle1_rad));\n";
code += " vec3 direction_yz = vec3(0.0, sin(angle2_rad), cos(angle2_rad));\n";
code += " direction_yz.z = direction_yz.z / max(0.0001,sqrt(abs(direction_yz.z))); // better uniform distribution\n";
- code += " vec3 direction = vec3(direction_xz.x * direction_yz.z, direction_yz.y, direction_xz.z * direction_yz.z);\n";
- code += " direction = normalize(direction);\n";
- code += " VELOCITY = direction * initial_linear_velocity * mix(1.0, rand_from_seed(alt_seed), initial_linear_velocity_random);\n";
+ code += " vec3 vec_direction = vec3(direction_xz.x * direction_yz.z, direction_yz.y, direction_xz.z * direction_yz.z);\n";
+ code += " vec_direction = normalize(vec_direction);\n";
+ code += " VELOCITY = vec_direction * initial_linear_velocity * mix(1.0, rand_from_seed(alt_seed), initial_linear_velocity_random);\n";
}
code += " float base_angle = (initial_angle + tex_angle) * mix(1.0, angle_rand, initial_angle_random);\n";
@@ -626,6 +629,17 @@ bool ParticlesMaterial::_is_shader_dirty() const {
return dirty;
}
+void ParticlesMaterial::set_direction(Vector3 p_direction) {
+
+ direction = p_direction;
+ VisualServer::get_singleton()->material_set_param(_get_material(), shader_names->direction, direction);
+}
+
+Vector3 ParticlesMaterial::get_direction() const {
+
+ return direction;
+}
+
void ParticlesMaterial::set_spread(float p_spread) {
spread = p_spread;
@@ -1041,6 +1055,9 @@ Shader::Mode ParticlesMaterial::get_shader_mode() const {
void ParticlesMaterial::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("set_direction", "degrees"), &ParticlesMaterial::set_direction);
+ ClassDB::bind_method(D_METHOD("get_direction"), &ParticlesMaterial::get_direction);
+
ClassDB::bind_method(D_METHOD("set_spread", "degrees"), &ParticlesMaterial::set_spread);
ClassDB::bind_method(D_METHOD("get_spread"), &ParticlesMaterial::get_spread);
@@ -1114,7 +1131,8 @@ void ParticlesMaterial::_bind_methods() {
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "flag_align_y"), "set_flag", "get_flag", FLAG_ALIGN_Y_TO_VELOCITY);
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "flag_rotate_y"), "set_flag", "get_flag", FLAG_ROTATE_Y);
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "flag_disable_z"), "set_flag", "get_flag", FLAG_DISABLE_Z);
- ADD_GROUP("Spread", "");
+ ADD_GROUP("Direction", "");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "direction"), "set_direction", "get_direction");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "spread", PROPERTY_HINT_RANGE, "0,180,0.01"), "set_spread", "get_spread");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "flatness", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_flatness", "get_flatness");
ADD_GROUP("Gravity", "");
@@ -1199,6 +1217,7 @@ void ParticlesMaterial::_bind_methods() {
ParticlesMaterial::ParticlesMaterial() :
element(this) {
+ set_direction(Vector3(1, 0, 0));
set_spread(45);
set_flatness(0);
set_param(PARAM_INITIAL_LINEAR_VELOCITY, 0);
diff --git a/scene/resources/particles_material.h b/scene/resources/particles_material.h
index 42bf60ff48..7f11bd794b 100644
--- a/scene/resources/particles_material.h
+++ b/scene/resources/particles_material.h
@@ -129,6 +129,7 @@ private:
static SelfList<ParticlesMaterial>::List *dirty_materials;
struct ShaderNames {
+ StringName direction;
StringName spread;
StringName flatness;
StringName initial_linear_velocity;
@@ -194,6 +195,7 @@ private:
_FORCE_INLINE_ void _queue_shader_change();
_FORCE_INLINE_ bool _is_shader_dirty() const;
+ Vector3 direction;
float spread;
float flatness;
@@ -230,6 +232,9 @@ protected:
virtual void _validate_property(PropertyInfo &property) const;
public:
+ void set_direction(Vector3 p_direction);
+ Vector3 get_direction() const;
+
void set_spread(float p_spread);
float get_spread() const;
diff --git a/scene/resources/primitive_meshes.cpp b/scene/resources/primitive_meshes.cpp
index 04d13c8869..74a493d3b5 100644
--- a/scene/resources/primitive_meshes.cpp
+++ b/scene/resources/primitive_meshes.cpp
@@ -743,8 +743,6 @@ void CylinderMesh::_create_mesh_array(Array &p_arr) const {
int i, j, prevrow, thisrow, point;
float x, y, z, u, v, radius;
- radius = bottom_radius > top_radius ? bottom_radius : top_radius;
-
PoolVector<Vector3> points;
PoolVector<Vector3> normals;
PoolVector<float> tangents;
diff --git a/scene/resources/resource_format_text.cpp b/scene/resources/resource_format_text.cpp
index efc1082a6b..339f008a3d 100644
--- a/scene/resources/resource_format_text.cpp
+++ b/scene/resources/resource_format_text.cpp
@@ -1324,7 +1324,7 @@ Error ResourceFormatLoaderText::convert_file_to_binary(const String &p_src_path,
ERR_FAIL_COND_V(err != OK, ERR_CANT_OPEN);
Ref<ResourceInteractiveLoaderText> ria = memnew(ResourceInteractiveLoaderText);
- String path = p_src_path;
+ const String &path = p_src_path;
ria->local_path = ProjectSettings::get_singleton()->localize_path(path);
ria->res_path = ria->local_path;
//ria->set_local_path( ProjectSettings::get_singleton()->localize_path(p_path) );
@@ -1441,7 +1441,7 @@ void ResourceFormatSaverTextInstance::_find_resources(const Variant &p_variant,
int len = varray.size();
for (int i = 0; i < len; i++) {
- Variant v = varray.get(i);
+ const Variant &v = varray.get(i);
_find_resources(v);
}
diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp
index 6e0bc43296..a5e9351753 100644
--- a/scene/resources/texture.cpp
+++ b/scene/resources/texture.cpp
@@ -1487,8 +1487,10 @@ uint32_t CubeMap::get_flags() const {
void CubeMap::set_side(Side p_side, const Ref<Image> &p_image) {
+ ERR_FAIL_COND(p_image.is_null());
ERR_FAIL_COND(p_image->empty());
ERR_FAIL_INDEX(p_side, 6);
+
if (!_is_valid()) {
format = p_image->get_format();
w = p_image->get_width();
@@ -1502,6 +1504,7 @@ void CubeMap::set_side(Side p_side, const Ref<Image> &p_image) {
Ref<Image> CubeMap::get_side(Side p_side) const {
+ ERR_FAIL_INDEX_V(p_side, 6, Ref<Image>());
if (!valid[p_side])
return Ref<Image>();
return VS::get_singleton()->texture_get_data(cubemap, VS::CubeMapSide(p_side));
diff --git a/scene/resources/tile_set.cpp b/scene/resources/tile_set.cpp
index f577a2e144..899abfc9f9 100644
--- a/scene/resources/tile_set.cpp
+++ b/scene/resources/tile_set.cpp
@@ -721,7 +721,7 @@ void TileSet::tile_set_shape(int p_id, int p_shape_id, const Ref<Shape2D> &p_sha
ERR_FAIL_COND(!tile_map.has(p_id));
ERR_FAIL_COND(p_shape_id < 0);
- if (tile_map[p_id].shapes_data.size() <= p_shape_id)
+ if (p_shape_id >= tile_map[p_id].shapes_data.size())
tile_map[p_id].shapes_data.resize(p_shape_id + 1);
tile_map[p_id].shapes_data.write[p_shape_id].shape = p_shape;
_decompose_convex_shape(p_shape);
@@ -731,17 +731,17 @@ void TileSet::tile_set_shape(int p_id, int p_shape_id, const Ref<Shape2D> &p_sha
Ref<Shape2D> TileSet::tile_get_shape(int p_id, int p_shape_id) const {
ERR_FAIL_COND_V(!tile_map.has(p_id), Ref<Shape2D>());
- ERR_FAIL_INDEX_V(p_shape_id, tile_map[p_id].shapes_data.size(), Ref<Shape2D>());
+ if (p_shape_id < tile_map[p_id].shapes_data.size())
+ return tile_map[p_id].shapes_data[p_shape_id].shape;
- return tile_map[p_id].shapes_data[p_shape_id].shape;
+ return Ref<Shape2D>();
}
void TileSet::tile_set_shape_transform(int p_id, int p_shape_id, const Transform2D &p_offset) {
ERR_FAIL_COND(!tile_map.has(p_id));
- ERR_FAIL_INDEX(p_shape_id, tile_map[p_id].shapes_data.size());
- if (tile_map[p_id].shapes_data.size() <= p_shape_id)
+ if (p_shape_id >= tile_map[p_id].shapes_data.size())
tile_map[p_id].shapes_data.resize(p_shape_id + 1);
tile_map[p_id].shapes_data.write[p_shape_id].shape_transform = p_offset;
emit_changed();
@@ -750,9 +750,10 @@ void TileSet::tile_set_shape_transform(int p_id, int p_shape_id, const Transform
Transform2D TileSet::tile_get_shape_transform(int p_id, int p_shape_id) const {
ERR_FAIL_COND_V(!tile_map.has(p_id), Transform2D());
- ERR_FAIL_INDEX_V(p_shape_id, tile_map[p_id].shapes_data.size(), Transform2D());
+ if (p_shape_id < tile_map[p_id].shapes_data.size())
+ return tile_map[p_id].shapes_data[p_shape_id].shape_transform;
- return tile_map[p_id].shapes_data[p_shape_id].shape_transform;
+ return Transform2D();
}
void TileSet::tile_set_shape_offset(int p_id, int p_shape_id, const Vector2 &p_offset) {
@@ -770,7 +771,7 @@ void TileSet::tile_set_shape_one_way(int p_id, int p_shape_id, const bool p_one_
ERR_FAIL_COND(!tile_map.has(p_id));
ERR_FAIL_COND(p_shape_id < 0);
- if (tile_map[p_id].shapes_data.size() <= p_shape_id)
+ if (p_shape_id >= tile_map[p_id].shapes_data.size())
tile_map[p_id].shapes_data.resize(p_shape_id + 1);
tile_map[p_id].shapes_data.write[p_shape_id].one_way_collision = p_one_way;
emit_changed();
@@ -779,9 +780,10 @@ void TileSet::tile_set_shape_one_way(int p_id, int p_shape_id, const bool p_one_
bool TileSet::tile_get_shape_one_way(int p_id, int p_shape_id) const {
ERR_FAIL_COND_V(!tile_map.has(p_id), false);
- ERR_FAIL_INDEX_V(p_shape_id, tile_map[p_id].shapes_data.size(), false);
+ if (p_shape_id < tile_map[p_id].shapes_data.size())
+ return tile_map[p_id].shapes_data[p_shape_id].one_way_collision;
- return tile_map[p_id].shapes_data[p_shape_id].one_way_collision;
+ return false;
}
void TileSet::tile_set_shape_one_way_margin(int p_id, int p_shape_id, float p_margin) {
@@ -789,7 +791,7 @@ void TileSet::tile_set_shape_one_way_margin(int p_id, int p_shape_id, float p_ma
ERR_FAIL_COND(!tile_map.has(p_id));
ERR_FAIL_COND(p_shape_id < 0);
- if (tile_map[p_id].shapes_data.size() <= p_shape_id)
+ if (p_shape_id >= tile_map[p_id].shapes_data.size())
tile_map[p_id].shapes_data.resize(p_shape_id + 1);
tile_map[p_id].shapes_data.write[p_shape_id].one_way_collision_margin = p_margin;
emit_changed();
@@ -798,9 +800,10 @@ void TileSet::tile_set_shape_one_way_margin(int p_id, int p_shape_id, float p_ma
float TileSet::tile_get_shape_one_way_margin(int p_id, int p_shape_id) const {
ERR_FAIL_COND_V(!tile_map.has(p_id), 0);
- ERR_FAIL_INDEX_V(p_shape_id, tile_map[p_id].shapes_data.size(), 0.0);
+ if (p_shape_id < tile_map[p_id].shapes_data.size())
+ return tile_map[p_id].shapes_data[p_shape_id].one_way_collision_margin;
- return tile_map[p_id].shapes_data[p_shape_id].one_way_collision_margin;
+ return 0;
}
void TileSet::tile_set_light_occluder(int p_id, const Ref<OccluderPolygon2D> &p_light_occluder) {
diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp
index dd595d9ff8..7265c9b457 100644
--- a/scene/resources/visual_shader.cpp
+++ b/scene/resources/visual_shader.cpp
@@ -257,7 +257,7 @@ bool VisualShader::can_connect_nodes(Type p_type, int p_from_node, int p_from_po
VisualShaderNode::PortType from_port_type = g->nodes[p_from_node].node->get_output_port_type(p_from_port);
VisualShaderNode::PortType to_port_type = g->nodes[p_to_node].node->get_input_port_type(p_to_port);
- if (MAX(0, from_port_type - 2) != (MAX(0, to_port_type - 2))) {
+ if (!is_port_types_compatible(from_port_type, to_port_type)) {
return false;
}
@@ -271,6 +271,10 @@ bool VisualShader::can_connect_nodes(Type p_type, int p_from_node, int p_from_po
return true;
}
+bool VisualShader::is_port_types_compatible(int p_a, int p_b) const {
+ return MAX(0, p_a - 2) == (MAX(0, p_b - 2));
+}
+
void VisualShader::connect_nodes_forced(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port) {
ERR_FAIL_INDEX(p_type, TYPE_MAX);
Graph *g = &graph[p_type];
@@ -295,8 +299,8 @@ Error VisualShader::connect_nodes(Type p_type, int p_from_node, int p_from_port,
VisualShaderNode::PortType from_port_type = g->nodes[p_from_node].node->get_output_port_type(p_from_port);
VisualShaderNode::PortType to_port_type = g->nodes[p_to_node].node->get_input_port_type(p_to_port);
- if (MAX(0, from_port_type - 2) != (MAX(0, to_port_type - 2))) {
- ERR_EXPLAIN("Incompatible port types (scalar/vec/bool with transform");
+ if (!is_port_types_compatible(from_port_type, to_port_type)) {
+ ERR_EXPLAIN("Incompatible port types (scalar/vec/bool) with transform");
ERR_FAIL_V(ERR_INVALID_PARAMETER);
return ERR_INVALID_PARAMETER;
}
@@ -1762,6 +1766,7 @@ void VisualShaderNodeGroupBase::set_inputs(const String &p_inputs) {
for (int i = 0; i < input_port_count; i++) {
Vector<String> arr = input_strings[i].split(",");
+ ERR_FAIL_COND(arr.size() != 3);
int port_idx = arr[0].to_int();
int port_type = arr[1].to_int();
@@ -1794,6 +1799,7 @@ void VisualShaderNodeGroupBase::set_outputs(const String &p_outputs) {
for (int i = 0; i < output_port_count; i++) {
Vector<String> arr = output_strings[i].split(",");
+ ERR_FAIL_COND(arr.size() != 3);
int port_idx = arr[0].to_int();
int port_type = arr[1].to_int();
@@ -1810,6 +1816,23 @@ String VisualShaderNodeGroupBase::get_outputs() const {
return outputs;
}
+bool VisualShaderNodeGroupBase::is_valid_port_name(const String &p_name) const {
+ if (!p_name.is_valid_identifier()) {
+ return false;
+ }
+ for (int i = 0; i < get_input_port_count(); i++) {
+ if (get_input_port_name(i) == p_name) {
+ return false;
+ }
+ }
+ for (int i = 0; i < get_output_port_count(); i++) {
+ if (get_output_port_name(i) == p_name) {
+ return false;
+ }
+ }
+ return true;
+}
+
void VisualShaderNodeGroupBase::add_input_port(int p_id, int p_type, const String &p_name) {
String str = itos(p_id) + "," + itos(p_type) + "," + p_name + ";";
@@ -1849,6 +1872,8 @@ void VisualShaderNodeGroupBase::add_input_port(int p_id, int p_type, const Strin
void VisualShaderNodeGroupBase::remove_input_port(int p_id) {
+ ERR_FAIL_COND(!has_input_port(p_id));
+
Vector<String> inputs_strings = inputs.split(";", false);
int count = 0;
int index = 0;
@@ -1917,6 +1942,8 @@ void VisualShaderNodeGroupBase::add_output_port(int p_id, int p_type, const Stri
void VisualShaderNodeGroupBase::remove_output_port(int p_id) {
+ ERR_FAIL_COND(!has_output_port(p_id));
+
Vector<String> outputs_strings = outputs.split(";", false);
int count = 0;
int index = 0;
@@ -1956,6 +1983,9 @@ void VisualShaderNodeGroupBase::clear_output_ports() {
void VisualShaderNodeGroupBase::set_input_port_type(int p_id, int p_type) {
+ ERR_FAIL_COND(!has_input_port(p_id));
+ ERR_FAIL_COND(p_type < 0 || p_type > PORT_TYPE_TRANSFORM);
+
if (input_ports[p_id].type == p_type)
return;
@@ -1986,6 +2016,9 @@ VisualShaderNodeGroupBase::PortType VisualShaderNodeGroupBase::get_input_port_ty
void VisualShaderNodeGroupBase::set_input_port_name(int p_id, const String &p_name) {
+ ERR_FAIL_COND(!has_input_port(p_id));
+ ERR_FAIL_COND(!is_valid_port_name(p_name));
+
if (input_ports[p_id].name == p_name)
return;
@@ -2016,6 +2049,9 @@ String VisualShaderNodeGroupBase::get_input_port_name(int p_id) const {
void VisualShaderNodeGroupBase::set_output_port_type(int p_id, int p_type) {
+ ERR_FAIL_COND(!has_output_port(p_id));
+ ERR_FAIL_COND(p_type < 0 || p_type > PORT_TYPE_TRANSFORM);
+
if (output_ports[p_id].type == p_type)
return;
@@ -2045,6 +2081,10 @@ VisualShaderNodeGroupBase::PortType VisualShaderNodeGroupBase::get_output_port_t
}
void VisualShaderNodeGroupBase::set_output_port_name(int p_id, const String &p_name) {
+
+ ERR_FAIL_COND(!has_output_port(p_id));
+ ERR_FAIL_COND(!is_valid_port_name(p_name));
+
if (output_ports[p_id].name == p_name)
return;
@@ -2125,6 +2165,8 @@ void VisualShaderNodeGroupBase::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_outputs", "outputs"), &VisualShaderNodeGroupBase::set_outputs);
ClassDB::bind_method(D_METHOD("get_outputs"), &VisualShaderNodeGroupBase::get_outputs);
+ ClassDB::bind_method(D_METHOD("is_valid_port_name", "name"), &VisualShaderNodeGroupBase::is_valid_port_name);
+
ClassDB::bind_method(D_METHOD("add_input_port", "id", "type", "name"), &VisualShaderNodeGroupBase::add_input_port);
ClassDB::bind_method(D_METHOD("remove_input_port", "id"), &VisualShaderNodeGroupBase::remove_input_port);
ClassDB::bind_method(D_METHOD("get_input_port_count"), &VisualShaderNodeGroupBase::get_input_port_count);
diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h
index 1ab3c0c9cc..83db51b1b0 100644
--- a/scene/resources/visual_shader.h
+++ b/scene/resources/visual_shader.h
@@ -138,6 +138,7 @@ public:
Error connect_nodes(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port);
void disconnect_nodes(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port);
void connect_nodes_forced(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port);
+ bool is_port_types_compatible(int p_a, int p_b) const;
void rebuild();
void get_node_connections(Type p_type, List<Connection> *r_connections) const;
@@ -355,6 +356,8 @@ public:
void set_outputs(const String &p_outputs);
String get_outputs() const;
+ bool is_valid_port_name(const String &p_name) const;
+
void add_input_port(int p_id, int p_type, const String &p_name);
void remove_input_port(int p_id);
virtual int get_input_port_count() const;
diff --git a/scene/resources/visual_shader_nodes.h b/scene/resources/visual_shader_nodes.h
index df753276e4..ef64b50711 100644
--- a/scene/resources/visual_shader_nodes.h
+++ b/scene/resources/visual_shader_nodes.h
@@ -699,7 +699,7 @@ public:
virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const; //if no output is connected, the output var passed will be empty. if no input is connected and input is NIL, the input var passed will be empty
- void set_function(Function p_op);
+ void set_function(Function p_func);
Function get_function() const;
virtual Vector<StringName> get_editable_properties() const;
@@ -740,7 +740,7 @@ public:
virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const; //if no output is connected, the output var passed will be empty. if no input is connected and input is NIL, the input var passed will be empty
- void set_function(Function p_op);
+ void set_function(Function p_func);
Function get_function() const;
virtual Vector<StringName> get_editable_properties() const;
@@ -895,7 +895,7 @@ public:
virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const; //if no output is connected, the output var passed will be empty. if no input is connected and input is NIL, the input var passed will be empty
- void set_function(Function p_op);
+ void set_function(Function p_func);
Function get_function() const;
virtual Vector<StringName> get_editable_properties() const;
@@ -935,7 +935,7 @@ public:
virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const; //if no output is connected, the output var passed will be empty. if no input is connected and input is NIL, the input var passed will be empty
- void set_function(Function p_op);
+ void set_function(Function p_func);
Function get_function() const;
virtual Vector<StringName> get_editable_properties() const;
diff --git a/servers/audio/audio_filter_sw.cpp b/servers/audio/audio_filter_sw.cpp
index 392938a2be..ca033f6079 100644
--- a/servers/audio/audio_filter_sw.cpp
+++ b/servers/audio/audio_filter_sw.cpp
@@ -154,7 +154,6 @@ void AudioFilterSW::prepare_coefficients(Coeffs *p_coeffs) {
double tmpq = Math::sqrt(Q);
if (tmpq <= 0)
tmpq = 0.001;
- alpha = sin_v / (2 * tmpq);
double beta = Math::sqrt(tmpgain) / tmpq;
a0 = (tmpgain + 1.0) + (tmpgain - 1.0) * cos_v + beta * sin_v;
@@ -169,7 +168,6 @@ void AudioFilterSW::prepare_coefficients(Coeffs *p_coeffs) {
double tmpq = Math::sqrt(Q);
if (tmpq <= 0)
tmpq = 0.001;
- alpha = sin_v / (2 * tmpq);
double beta = Math::sqrt(tmpgain) / tmpq;
a0 = (tmpgain + 1.0) - (tmpgain - 1.0) * cos_v + beta * sin_v;
diff --git a/servers/audio/audio_stream.cpp b/servers/audio/audio_stream.cpp
index 1a6430c499..17f5e158a7 100644
--- a/servers/audio/audio_stream.cpp
+++ b/servers/audio/audio_stream.cpp
@@ -49,8 +49,9 @@ void AudioStreamPlaybackResampled::_begin_resample() {
void AudioStreamPlaybackResampled::mix(AudioFrame *p_buffer, float p_rate_scale, int p_frames) {
float target_rate = AudioServer::get_singleton()->get_mix_rate();
+ float global_rate_scale = AudioServer::get_singleton()->get_global_rate_scale();
- uint64_t mix_increment = uint64_t(((get_stream_sampling_rate() * p_rate_scale) / double(target_rate)) * double(FP_LEN));
+ uint64_t mix_increment = uint64_t(((get_stream_sampling_rate() * p_rate_scale) / double(target_rate * global_rate_scale)) * double(FP_LEN));
for (int i = 0; i < p_frames; i++) {
@@ -223,7 +224,7 @@ float AudioStreamPlaybackMicrophone::get_playback_position() const {
}
void AudioStreamPlaybackMicrophone::seek(float p_time) {
- return; // Can't seek a microphone input
+ // Can't seek a microphone input
}
AudioStreamPlaybackMicrophone::~AudioStreamPlaybackMicrophone() {
diff --git a/servers/audio/audio_stream.h b/servers/audio/audio_stream.h
index 8f023c0401..ef9f8ea92a 100644
--- a/servers/audio/audio_stream.h
+++ b/servers/audio/audio_stream.h
@@ -119,7 +119,7 @@ public:
class AudioStreamPlaybackMicrophone : public AudioStreamPlaybackResampled {
- GDCLASS(AudioStreamPlaybackMicrophone, AudioStreamPlayback);
+ GDCLASS(AudioStreamPlaybackMicrophone, AudioStreamPlaybackResampled);
friend class AudioStreamMicrophone;
bool active;
diff --git a/servers/audio/effects/audio_effect_record.cpp b/servers/audio/effects/audio_effect_record.cpp
index abf9d5593c..acf27d2bbf 100644
--- a/servers/audio/effects/audio_effect_record.cpp
+++ b/servers/audio/effects/audio_effect_record.cpp
@@ -216,6 +216,9 @@ Ref<AudioStreamSample> AudioEffectRecord::get_recording() const {
PoolVector<uint8_t> dst_data;
+ ERR_FAIL_COND_V(current_instance.is_null(), NULL);
+ ERR_FAIL_COND_V(current_instance->recording_data.size(), NULL);
+
if (dst_format == AudioStreamSample::FORMAT_8_BITS) {
int data_size = current_instance->recording_data.size();
dst_data.resize(data_size);
diff --git a/servers/audio/effects/audio_effect_spectrum_analyzer.cpp b/servers/audio/effects/audio_effect_spectrum_analyzer.cpp
index 305f9046c3..bb1daf04a4 100644
--- a/servers/audio/effects/audio_effect_spectrum_analyzer.cpp
+++ b/servers/audio/effects/audio_effect_spectrum_analyzer.cpp
@@ -231,8 +231,8 @@ Ref<AudioEffectInstance> AudioEffectSpectrumAnalyzer::instance() {
return ins;
}
-void AudioEffectSpectrumAnalyzer::set_buffer_length(float p_volume) {
- buffer_length = p_volume;
+void AudioEffectSpectrumAnalyzer::set_buffer_length(float p_seconds) {
+ buffer_length = p_seconds;
}
float AudioEffectSpectrumAnalyzer::get_buffer_length() const {
diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp
index fc3ecedd03..a6473d69c0 100644
--- a/servers/audio_server.cpp
+++ b/servers/audio_server.cpp
@@ -944,6 +944,15 @@ bool AudioServer::is_bus_channel_active(int p_bus, int p_channel) const {
return buses[p_bus]->channels[p_channel].active;
}
+void AudioServer::set_global_rate_scale(float p_scale) {
+
+ global_rate_scale = p_scale;
+}
+float AudioServer::get_global_rate_scale() const {
+
+ return global_rate_scale;
+}
+
void AudioServer::init_channels_and_buffers() {
channel_count = get_channel_count();
temp_buffer.resize(channel_count);
@@ -1352,6 +1361,9 @@ void AudioServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_bus_peak_volume_left_db", "bus_idx", "channel"), &AudioServer::get_bus_peak_volume_left_db);
ClassDB::bind_method(D_METHOD("get_bus_peak_volume_right_db", "bus_idx", "channel"), &AudioServer::get_bus_peak_volume_right_db);
+ ClassDB::bind_method(D_METHOD("set_global_rate_scale", "scale"), &AudioServer::set_global_rate_scale);
+ ClassDB::bind_method(D_METHOD("get_global_rate_scale"), &AudioServer::get_global_rate_scale);
+
ClassDB::bind_method(D_METHOD("lock"), &AudioServer::lock);
ClassDB::bind_method(D_METHOD("unlock"), &AudioServer::unlock);
@@ -1372,6 +1384,10 @@ void AudioServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_bus_layout", "bus_layout"), &AudioServer::set_bus_layout);
ClassDB::bind_method(D_METHOD("generate_bus_layout"), &AudioServer::generate_bus_layout);
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "bus_count"), "set_bus_count", "get_bus_count");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "device"), "set_device", "get_device");
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "global_rate_scale"), "set_global_rate_scale", "get_global_rate_scale");
+
ADD_SIGNAL(MethodInfo("bus_layout_changed"));
BIND_ENUM_CONSTANT(SPEAKER_MODE_STEREO);
@@ -1396,6 +1412,7 @@ AudioServer::AudioServer() {
#endif
mix_time = 0;
mix_size = 0;
+ global_rate_scale = 1;
}
AudioServer::~AudioServer() {
diff --git a/servers/audio_server.h b/servers/audio_server.h
index 942fe7bc87..b0fff9d4b7 100644
--- a/servers/audio_server.h
+++ b/servers/audio_server.h
@@ -181,6 +181,8 @@ private:
int channel_count;
int to_mix;
+ float global_rate_scale;
+
struct Bus {
StringName name;
@@ -339,6 +341,9 @@ public:
bool is_bus_channel_active(int p_bus, int p_channel) const;
+ void set_global_rate_scale(float p_scale);
+ float get_global_rate_scale() const;
+
virtual void init();
virtual void finish();
virtual void update();
diff --git a/servers/physics/broad_phase_octree.cpp b/servers/physics/broad_phase_octree.cpp
index 94bf274f9c..1b59779bd6 100644
--- a/servers/physics/broad_phase_octree.cpp
+++ b/servers/physics/broad_phase_octree.cpp
@@ -45,7 +45,7 @@ void BroadPhaseOctree::move(ID p_id, const AABB &p_aabb) {
void BroadPhaseOctree::set_static(ID p_id, bool p_static) {
CollisionObjectSW *it = octree.get(p_id);
- octree.set_pairable(p_id, p_static ? false : true, 1 << it->get_type(), p_static ? 0 : 0xFFFFF); //pair everything, don't care 1?
+ octree.set_pairable(p_id, !p_static, 1 << it->get_type(), p_static ? 0 : 0xFFFFF); //pair everything, don't care 1?
}
void BroadPhaseOctree::remove(ID p_id) {
diff --git a/servers/physics/collision_object_sw.cpp b/servers/physics/collision_object_sw.cpp
index b1c21290ab..39de440da2 100644
--- a/servers/physics/collision_object_sw.cpp
+++ b/servers/physics/collision_object_sw.cpp
@@ -76,6 +76,13 @@ void CollisionObjectSW::set_shape_transform(int p_index, const Transform &p_tran
//_shapes_changed();
}
+void CollisionObjectSW::set_shape_as_disabled(int p_idx, bool p_enable) {
+ shapes.write[p_idx].disabled = p_enable;
+ if (!pending_shape_update_list.in_list()) {
+ PhysicsServerSW::singleton->pending_shape_update_list.add(&pending_shape_update_list);
+ }
+}
+
void CollisionObjectSW::remove_shape(ShapeSW *p_shape) {
//remove a shape, all the times it appears
diff --git a/servers/physics/collision_object_sw.h b/servers/physics/collision_object_sw.h
index c2c3fe0e5a..895eda8528 100644
--- a/servers/physics/collision_object_sw.h
+++ b/servers/physics/collision_object_sw.h
@@ -139,8 +139,11 @@ public:
_FORCE_INLINE_ void set_ray_pickable(bool p_enable) { ray_pickable = p_enable; }
_FORCE_INLINE_ bool is_ray_pickable() const { return ray_pickable; }
- _FORCE_INLINE_ void set_shape_as_disabled(int p_idx, bool p_enable) { shapes.write[p_idx].disabled = p_enable; }
- _FORCE_INLINE_ bool is_shape_set_as_disabled(int p_idx) const { return shapes[p_idx].disabled; }
+ void set_shape_as_disabled(int p_idx, bool p_enable);
+ _FORCE_INLINE_ bool is_shape_set_as_disabled(int p_idx) const {
+ CRASH_BAD_INDEX(p_idx, shapes.size());
+ return shapes[p_idx].disabled;
+ }
_FORCE_INLINE_ void set_collision_layer(uint32_t p_layer) { collision_layer = p_layer; }
_FORCE_INLINE_ uint32_t get_collision_layer() const { return collision_layer; }
diff --git a/servers/physics/collision_solver_sat.cpp b/servers/physics/collision_solver_sat.cpp
index 3073cc8b11..a13fa65009 100644
--- a/servers/physics/collision_solver_sat.cpp
+++ b/servers/physics/collision_solver_sat.cpp
@@ -538,8 +538,6 @@ static void _collision_sphere_capsule(const ShapeSW *p_a, const Transform &p_tra
template <bool withMargin>
static void _collision_sphere_cylinder(const ShapeSW *p_a, const Transform &p_transform_a, const ShapeSW *p_b, const Transform &p_transform_b, _CollectorCallback *p_collector, real_t p_margin_a, real_t p_margin_b) {
-
- return;
}
template <bool withMargin>
@@ -835,8 +833,6 @@ static void _collision_box_capsule(const ShapeSW *p_a, const Transform &p_transf
template <bool withMargin>
static void _collision_box_cylinder(const ShapeSW *p_a, const Transform &p_transform_a, const ShapeSW *p_b, const Transform &p_transform_b, _CollectorCallback *p_collector, real_t p_margin_a, real_t p_margin_b) {
-
- return;
}
template <bool withMargin>
@@ -1117,8 +1113,6 @@ static void _collision_capsule_capsule(const ShapeSW *p_a, const Transform &p_tr
template <bool withMargin>
static void _collision_capsule_cylinder(const ShapeSW *p_a, const Transform &p_transform_a, const ShapeSW *p_b, const Transform &p_transform_b, _CollectorCallback *p_collector, real_t p_margin_a, real_t p_margin_b) {
-
- return;
}
template <bool withMargin>
@@ -1243,20 +1237,14 @@ static void _collision_capsule_face(const ShapeSW *p_a, const Transform &p_trans
template <bool withMargin>
static void _collision_cylinder_cylinder(const ShapeSW *p_a, const Transform &p_transform_a, const ShapeSW *p_b, const Transform &p_transform_b, _CollectorCallback *p_collector, real_t p_margin_a, real_t p_margin_b) {
-
- return;
}
template <bool withMargin>
static void _collision_cylinder_convex_polygon(const ShapeSW *p_a, const Transform &p_transform_a, const ShapeSW *p_b, const Transform &p_transform_b, _CollectorCallback *p_collector, real_t p_margin_a, real_t p_margin_b) {
-
- return;
}
template <bool withMargin>
static void _collision_cylinder_face(const ShapeSW *p_a, const Transform &p_transform_a, const ShapeSW *p_b, const Transform &p_transform_b, _CollectorCallback *p_collector, real_t p_margin_a, real_t p_margin_b) {
-
- return;
}
template <bool withMargin>
diff --git a/servers/physics/joints/generic_6dof_joint_sw.cpp b/servers/physics/joints/generic_6dof_joint_sw.cpp
index 813d9b7704..a9fe045856 100644
--- a/servers/physics/joints/generic_6dof_joint_sw.cpp
+++ b/servers/physics/joints/generic_6dof_joint_sw.cpp
@@ -421,7 +421,6 @@ void Generic6DOFJointSW::calcAnchorPos(void) {
const Vector3 &pA = m_calculatedTransformA.origin;
const Vector3 &pB = m_calculatedTransformB.origin;
m_AnchorPos = pA * weight + pB * (real_t(1.0) - weight);
- return;
} // Generic6DOFJointSW::calcAnchorPos()
void Generic6DOFJointSW::set_param(Vector3::Axis p_axis, PhysicsServer::G6DOFJointAxisParam p_param, real_t p_value) {
diff --git a/servers/physics/space_sw.cpp b/servers/physics/space_sw.cpp
index 8b9f210850..f3a4cbed24 100644
--- a/servers/physics/space_sw.cpp
+++ b/servers/physics/space_sw.cpp
@@ -118,7 +118,7 @@ bool PhysicsDirectSpaceStateSW::intersect_ray(const Vector3 &p_from, const Vecto
if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
- if (p_pick_ray && !(static_cast<CollisionObjectSW *>(space->intersection_query_results[i])->is_ray_pickable()))
+ if (p_pick_ray && !(space->intersection_query_results[i]->is_ray_pickable()))
continue;
if (p_exclude.has(space->intersection_query_results[i]->get_self()))
@@ -439,7 +439,7 @@ bool PhysicsDirectSpaceStateSW::rest_info(RID p_shape, const Transform &p_shape_
continue;
}
- if (rcd.best_len == 0)
+ if (rcd.best_len == 0 || !rcd.best_object)
return false;
r_info->collider_id = rcd.best_object->get_instance_id();
diff --git a/servers/physics_2d/collision_object_2d_sw.cpp b/servers/physics_2d/collision_object_2d_sw.cpp
index 445a2e0613..f556638db1 100644
--- a/servers/physics_2d/collision_object_2d_sw.cpp
+++ b/servers/physics_2d/collision_object_2d_sw.cpp
@@ -29,6 +29,7 @@
/*************************************************************************/
#include "collision_object_2d_sw.h"
+#include "servers/physics_2d/physics_2d_server_sw.h"
#include "space_2d_sw.h"
void CollisionObject2DSW::add_shape(Shape2DSW *p_shape, const Transform2D &p_transform, bool p_disabled) {
@@ -43,8 +44,12 @@ void CollisionObject2DSW::add_shape(Shape2DSW *p_shape, const Transform2D &p_tra
s.one_way_collision_margin = 0;
shapes.push_back(s);
p_shape->add_owner(this);
- _update_shapes();
- _shapes_changed();
+
+ if (!pending_shape_update_list.in_list()) {
+ Physics2DServerSW::singletonsw->pending_shape_update_list.add(&pending_shape_update_list);
+ }
+ // _update_shapes();
+ // _shapes_changed();
}
void CollisionObject2DSW::set_shape(int p_index, Shape2DSW *p_shape) {
@@ -54,8 +59,12 @@ void CollisionObject2DSW::set_shape(int p_index, Shape2DSW *p_shape) {
shapes.write[p_index].shape = p_shape;
p_shape->add_owner(this);
- _update_shapes();
- _shapes_changed();
+
+ if (!pending_shape_update_list.in_list()) {
+ Physics2DServerSW::singletonsw->pending_shape_update_list.add(&pending_shape_update_list);
+ }
+ // _update_shapes();
+ // _shapes_changed();
}
void CollisionObject2DSW::set_shape_metadata(int p_index, const Variant &p_metadata) {
@@ -70,8 +79,12 @@ void CollisionObject2DSW::set_shape_transform(int p_index, const Transform2D &p_
shapes.write[p_index].xform = p_transform;
shapes.write[p_index].xform_inv = p_transform.affine_inverse();
- _update_shapes();
- _shapes_changed();
+
+ if (!pending_shape_update_list.in_list()) {
+ Physics2DServerSW::singletonsw->pending_shape_update_list.add(&pending_shape_update_list);
+ }
+ // _update_shapes();
+ // _shapes_changed();
}
void CollisionObject2DSW::set_shape_as_disabled(int p_idx, bool p_disabled) {
@@ -89,9 +102,15 @@ void CollisionObject2DSW::set_shape_as_disabled(int p_idx, bool p_disabled) {
if (p_disabled && shape.bpid != 0) {
space->get_broadphase()->remove(shape.bpid);
shape.bpid = 0;
- _update_shapes();
+ if (!pending_shape_update_list.in_list()) {
+ Physics2DServerSW::singletonsw->pending_shape_update_list.add(&pending_shape_update_list);
+ }
+ //_update_shapes();
} else if (!p_disabled && shape.bpid == 0) {
- _update_shapes(); // automatically adds shape with bpid == 0
+ if (!pending_shape_update_list.in_list()) {
+ Physics2DServerSW::singletonsw->pending_shape_update_list.add(&pending_shape_update_list);
+ }
+ //_update_shapes(); // automatically adds shape with bpid == 0
}
}
@@ -122,8 +141,11 @@ void CollisionObject2DSW::remove_shape(int p_index) {
shapes[p_index].shape->remove_owner(this);
shapes.remove(p_index);
- _update_shapes();
- _shapes_changed();
+ if (!pending_shape_update_list.in_list()) {
+ Physics2DServerSW::singletonsw->pending_shape_update_list.add(&pending_shape_update_list);
+ }
+ // _update_shapes();
+ // _shapes_changed();
}
void CollisionObject2DSW::_set_static(bool p_static) {
@@ -239,7 +261,8 @@ void CollisionObject2DSW::_shape_changed() {
_shapes_changed();
}
-CollisionObject2DSW::CollisionObject2DSW(Type p_type) {
+CollisionObject2DSW::CollisionObject2DSW(Type p_type) :
+ pending_shape_update_list(this) {
_static = true;
type = p_type;
diff --git a/servers/physics_2d/collision_object_2d_sw.h b/servers/physics_2d/collision_object_2d_sw.h
index fa18e61262..ed59469878 100644
--- a/servers/physics_2d/collision_object_2d_sw.h
+++ b/servers/physics_2d/collision_object_2d_sw.h
@@ -78,6 +78,8 @@ private:
uint32_t collision_layer;
bool _static;
+ SelfList<CollisionObject2DSW> pending_shape_update_list;
+
void _update_shapes();
protected:
diff --git a/servers/physics_2d/physics_2d_server_sw.cpp b/servers/physics_2d/physics_2d_server_sw.cpp
index 0efa15d43e..cc656d3b73 100644
--- a/servers/physics_2d/physics_2d_server_sw.cpp
+++ b/servers/physics_2d/physics_2d_server_sw.cpp
@@ -902,6 +902,8 @@ void Physics2DServerSW::body_apply_torque_impulse(RID p_body, real_t p_torque) {
Body2DSW *body = body_owner.get(p_body);
ERR_FAIL_COND(!body);
+ _update_shapes();
+
body->apply_torque_impulse(p_torque);
}
@@ -910,6 +912,8 @@ void Physics2DServerSW::body_apply_impulse(RID p_body, const Vector2 &p_pos, con
Body2DSW *body = body_owner.get(p_body);
ERR_FAIL_COND(!body);
+ _update_shapes();
+
body->apply_impulse(p_pos, p_impulse);
body->wakeup();
};
@@ -944,6 +948,8 @@ void Physics2DServerSW::body_set_axis_velocity(RID p_body, const Vector2 &p_axis
Body2DSW *body = body_owner.get(p_body);
ERR_FAIL_COND(!body);
+ _update_shapes();
+
Vector2 v = body->get_linear_velocity();
Vector2 axis = p_axis_velocity.normalized();
v -= axis * axis.dot(v);
@@ -1052,6 +1058,8 @@ bool Physics2DServerSW::body_test_motion(RID p_body, const Transform2D &p_from,
ERR_FAIL_COND_V(!body->get_space(), false);
ERR_FAIL_COND_V(body->get_space()->is_locked(), false);
+ _update_shapes();
+
return body->get_space()->test_body_motion(body, p_from, p_motion, p_infinite_inertia, p_margin, r_result, p_exclude_raycast_shapes);
}
@@ -1238,6 +1246,8 @@ Physics2DServer::JointType Physics2DServerSW::joint_get_type(RID p_joint) const
void Physics2DServerSW::free(RID p_rid) {
+ _update_shapes(); // just in case
+
if (shape_owner.owns(p_rid)) {
Shape2DSW *shape = shape_owner.get(p_rid);
@@ -1335,6 +1345,8 @@ void Physics2DServerSW::step(real_t p_step) {
if (!active)
return;
+ _update_shapes();
+
doing_sync = false;
last_step = p_step;
@@ -1418,6 +1430,14 @@ void Physics2DServerSW::finish() {
memdelete(direct_state);
};
+void Physics2DServerSW::_update_shapes() {
+
+ while (pending_shape_update_list.first()) {
+ pending_shape_update_list.first()->self()->_shape_changed();
+ pending_shape_update_list.remove(pending_shape_update_list.first());
+ }
+}
+
int Physics2DServerSW::get_process_info(ProcessInfo p_info) {
switch (p_info) {
diff --git a/servers/physics_2d/physics_2d_server_sw.h b/servers/physics_2d/physics_2d_server_sw.h
index adc011af40..72625c397c 100644
--- a/servers/physics_2d/physics_2d_server_sw.h
+++ b/servers/physics_2d/physics_2d_server_sw.h
@@ -70,6 +70,9 @@ class Physics2DServerSW : public Physics2DServer {
static Physics2DServerSW *singletonsw;
//void _clear_query(Query2DSW *p_query);
+ friend class CollisionObject2DSW;
+ SelfList<CollisionObject2DSW>::List pending_shape_update_list;
+ void _update_shapes();
RID _shape_create(ShapeType p_shape);
diff --git a/servers/physics_2d/space_2d_sw.cpp b/servers/physics_2d/space_2d_sw.cpp
index e2b1bb9da4..7c89c43f36 100644
--- a/servers/physics_2d/space_2d_sw.cpp
+++ b/servers/physics_2d/space_2d_sw.cpp
@@ -442,7 +442,7 @@ bool Physics2DDirectSpaceStateSW::rest_info(RID p_shape, const Transform2D &p_sh
continue;
}
- if (rcd.best_len == 0)
+ if (rcd.best_len == 0 || !rcd.best_object)
return false;
r_info->collider_id = rcd.best_object->get_instance_id();
diff --git a/servers/server_wrap_mt_common.h b/servers/server_wrap_mt_common.h
index f0ab256374..a6f595d776 100644
--- a/servers/server_wrap_mt_common.h
+++ b/servers/server_wrap_mt_common.h
@@ -50,7 +50,7 @@
} \
void m_type##_free_cached_ids() { \
while (m_type##_id_pool.size()) { \
- free(m_type##_id_pool.front()->get()); \
+ server_name->free(m_type##_id_pool.front()->get()); \
m_type##_id_pool.pop_front(); \
} \
} \
diff --git a/servers/visual/visual_server_canvas.cpp b/servers/visual/visual_server_canvas.cpp
index d5e154a7fc..66e2429bd0 100644
--- a/servers/visual/visual_server_canvas.cpp
+++ b/servers/visual/visual_server_canvas.cpp
@@ -783,7 +783,7 @@ void VisualServerCanvas::canvas_item_add_triangle_array(RID p_item, const Vector
ERR_FAIL_COND(!p_bones.empty() && p_bones.size() != vertex_count * 4);
ERR_FAIL_COND(!p_weights.empty() && p_weights.size() != vertex_count * 4);
- Vector<int> indices = p_indices;
+ const Vector<int> &indices = p_indices;
int count = p_count * 3;
diff --git a/servers/visual/visual_server_canvas.h b/servers/visual/visual_server_canvas.h
index 26424f927e..28a8770c90 100644
--- a/servers/visual/visual_server_canvas.h
+++ b/servers/visual/visual_server_canvas.h
@@ -84,8 +84,8 @@ public:
if (Math::is_equal_approx(p_left->ysort_pos.y, p_right->ysort_pos.y))
return p_left->ysort_pos.x < p_right->ysort_pos.x;
- else
- return p_left->ysort_pos.y < p_right->ysort_pos.y;
+
+ return p_left->ysort_pos.y < p_right->ysort_pos.y;
}
};
diff --git a/servers/visual/visual_server_raster.cpp b/servers/visual/visual_server_raster.cpp
index d45bda72b7..7aded4e816 100644
--- a/servers/visual/visual_server_raster.cpp
+++ b/servers/visual/visual_server_raster.cpp
@@ -77,6 +77,8 @@ void VisualServerRaster::free(RID p_rid) {
return;
if (VSG::scene->free(p_rid))
return;
+ if (VSG::scene_render->free(p_rid))
+ return;
}
/* EVENT QUEUING */
diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp
index 3ee23e9290..faf5a1f8fa 100644
--- a/servers/visual/visual_server_scene.cpp
+++ b/servers/visual/visual_server_scene.cpp
@@ -3387,11 +3387,7 @@ void VisualServerScene::_update_dirty_instance(Instance *p_instance) {
RID mat = VSG::storage->immediate_get_material(p_instance->base);
- if (!mat.is_valid() || VSG::storage->material_casts_shadows(mat)) {
- can_cast_shadows = true;
- } else {
- can_cast_shadows = false;
- }
+ can_cast_shadows = !mat.is_valid() || VSG::storage->material_casts_shadows(mat);
if (mat.is_valid() && VSG::storage->material_is_animated(mat)) {
is_animated = true;
diff --git a/servers/visual/visual_server_viewport.cpp b/servers/visual/visual_server_viewport.cpp
index b7c54caffd..f8ed035766 100644
--- a/servers/visual/visual_server_viewport.cpp
+++ b/servers/visual/visual_server_viewport.cpp
@@ -253,8 +253,6 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::E
} else {
_draw_3d(p_viewport, p_eye);
}
-
- scenario_draw_canvas_bg = false;
}
//VSG::canvas_render->canvas_debug_viewport_shadows(lights_with_shadow);
diff --git a/servers/visual/visual_server_viewport.h b/servers/visual/visual_server_viewport.h
index 43bbcb66c3..bdd4c1d4f2 100644
--- a/servers/visual/visual_server_viewport.h
+++ b/servers/visual/visual_server_viewport.h
@@ -138,9 +138,8 @@ public:
if (left_to_screen == right_to_screen) {
return p_left->parent == p_right->self;
- } else {
- return right_to_screen;
}
+ return right_to_screen;
}
};
diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp
index 60be63fd24..c6468694fd 100644
--- a/servers/visual_server.cpp
+++ b/servers/visual_server.cpp
@@ -917,7 +917,7 @@ uint32_t VisualServer::mesh_surface_make_offsets_from_format(uint32_t p_format,
}
r_offsets[i] = elem_size;
continue;
- } break;
+ }
default: {
ERR_FAIL_V(0);
}
@@ -953,15 +953,12 @@ void VisualServer::mesh_add_surface_from_arrays(RID p_mesh, PrimitiveType p_prim
switch (var.get_type()) {
case Variant::POOL_VECTOR2_ARRAY: {
PoolVector<Vector2> v2 = var;
- array_len = v2.size();
} break;
case Variant::POOL_VECTOR3_ARRAY: {
PoolVector<Vector3> v3 = var;
- array_len = v3.size();
} break;
default: {
Array v = var;
- array_len = v.size();
} break;
}
@@ -1151,7 +1148,7 @@ void VisualServer::mesh_add_surface_from_arrays(RID p_mesh, PrimitiveType p_prim
if (err) {
ERR_EXPLAIN("Invalid array format for surface");
- ERR_FAIL_COND(err != OK);
+ ERR_FAIL();
}
Vector<PoolVector<uint8_t> > blend_shape_data;
@@ -1165,9 +1162,9 @@ void VisualServer::mesh_add_surface_from_arrays(RID p_mesh, PrimitiveType p_prim
AABB laabb;
Error err2 = _surface_set_data(p_blend_shapes[i], format & ~ARRAY_FORMAT_INDEX, offsets, total_elem_size, vertex_array_shape, array_len, noindex, 0, laabb, bone_aabb);
aabb.merge_with(laabb);
- if (err2) {
+ if (err2 != OK) {
ERR_EXPLAIN("Invalid blend shape array format for surface");
- ERR_FAIL_COND(err2 != OK);
+ ERR_FAIL();
}
blend_shape_data.push_back(vertex_array_shape);
diff --git a/thirdparty/README.md b/thirdparty/README.md
index 3e1e8f9734..9738716221 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -303,14 +303,20 @@ File extracted from upstream release tarball `mbedtls-2.16.0-apache.tgz`:
- Applied the patch in `thirdparty/mbedtls/padlock.diff`. This disables VIA
padlock support which defines a symbol `unsupported` which clashes with
a symbol in libwebsockets.
+- Added 2 files `godot_core_mbedtls_platform.{c,h}` providing configuration
+ for light bundling with core.
## miniupnpc
- Upstream: https://github.com/miniupnp/miniupnp/tree/master/miniupnpc
-- Version: git (25615e0, 2018)
+- Version: git (3cf6efa, 2019)
- License: BSD-3-Clause
+Extract only the `miniupnpc` folder inside `thirdparty/miniupnpc`.
+Exclude all non `.c` and `.h` files, plus all files beginning with `test`
+`minihttptestserver.c` and `wingenminiupnpcstrings.c`.
+
The only modified file is miniupnpcstrings.h, which was created for Godot
(it is usually autogenerated by cmake).
@@ -336,15 +342,7 @@ Collection of single-file libraries used in Godot components.
### core
-- `aes256.{cpp,h}`
- * Upstream: http://www.literatecode.com/aes256
- * Version: latest, as of April 2017
- * License: ISC
-- `base64.{c,h}`
- * Upstream: http://episec.com/people/edelkind/c.html
- * Version: latest, as of April 2017
- * License: Public Domain
- - `clipper.{cpp,hpp}`
+- `clipper.{cpp,hpp}`
* Upstream: https://sourceforge.net/projects/polyclipping
* Version: 6.4.2 + Godot changes (added optional exceptions handling)
* License: BSL-1.0
@@ -356,10 +354,6 @@ Collection of single-file libraries used in Godot components.
* Upstream: https://github.com/brunexgeek/hqx
* Version: TBD, file structure differs
* License: Apache 2.0
-- `md5.{cpp,h}`
- * Upstream: http://www.efgh.com/software/md5.htm
- * Version: TBD, might not be latest from above URL
- * License: RSA Message-Digest License
- `open-simplex-noise.{c,h}`
* Upstream: https://github.com/smcameron/open-simplex-noise-in-c
* Version: git (0d555e7, 2015)
@@ -368,10 +362,6 @@ Collection of single-file libraries used in Godot components.
* Upstream: http://www.pcg-random.org
* Version: minimal C implementation, http://www.pcg-random.org/download.html
* License: Apache 2.0
-- `sha256.{c,h}`
- * Upstream: https://github.com/ilvn/SHA256
- * Version: git (35ff823, 2015)
- * License: ISC
- `smaz.{c,h}`
* Upstream: https://github.com/antirez/smaz
* Version: git (150e125, 2009)
diff --git a/thirdparty/assimp/include/assimp/types.h b/thirdparty/assimp/include/assimp/types.h
index 748e4851f3..331b8cd03f 100644
--- a/thirdparty/assimp/include/assimp/types.h
+++ b/thirdparty/assimp/include/assimp/types.h
@@ -161,7 +161,14 @@ struct aiColor3D
explicit aiColor3D (ai_real _r) : r(_r), g(_r), b(_r) {}
aiColor3D (const aiColor3D& o) : r(o.r), g(o.g), b(o.b) {}
- /** Component-wise comparison */
+ aiColor3D &operator=(const aiColor3D &o) {
+ r = o.r;
+ g = o.g;
+ b = o.b;
+ return *this;
+ }
+
+ /** Component-wise comparison */
// TODO: add epsilon?
bool operator == (const aiColor3D& other) const
{return r == other.r && g == other.g && b == other.b;}
diff --git a/thirdparty/mbedtls/include/godot_core_mbedtls_config.h b/thirdparty/mbedtls/include/godot_core_mbedtls_config.h
new file mode 100644
index 0000000000..0e90a98886
--- /dev/null
+++ b/thirdparty/mbedtls/include/godot_core_mbedtls_config.h
@@ -0,0 +1,13 @@
+// For AES
+#define MBEDTLS_CIPHER_MODE_CBC
+#define MBEDTLS_CIPHER_MODE_CFB
+#define MBEDTLS_CIPHER_MODE_CTR
+#define MBEDTLS_CIPHER_MODE_OFB
+#define MBEDTLS_CIPHER_MODE_XTS
+
+#define MBEDTLS_AES_C
+#define MBEDTLS_BASE64_C
+#define MBEDTLS_MD5_C
+#define MBEDTLS_SHA1_C
+#define MBEDTLS_SHA256_C
+#define MBEDTLS_PLATFORM_ZEROIZE_ALT
diff --git a/thirdparty/mbedtls/library/godot_core_mbedtls_platform.c b/thirdparty/mbedtls/library/godot_core_mbedtls_platform.c
new file mode 100644
index 0000000000..9018726072
--- /dev/null
+++ b/thirdparty/mbedtls/library/godot_core_mbedtls_platform.c
@@ -0,0 +1,18 @@
+#if !defined(MBEDTLS_CONFIG_FILE)
+#include "mbedtls/config.h"
+#else
+#include MBEDTLS_CONFIG_FILE
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <stddef.h>
+
+#ifdef MBEDTLS_PLATFORM_ZEROIZE_ALT
+static void *(*const volatile memset_func)(void *, int, size_t) = memset;
+
+void mbedtls_platform_zeroize(void *buf, size_t len) {
+ memset_func( buf, 0, len );
+}
+#endif
+
diff --git a/thirdparty/miniupnpc/LICENSE b/thirdparty/miniupnpc/LICENSE
index 0816733704..39e0345f8a 100644
--- a/thirdparty/miniupnpc/LICENSE
+++ b/thirdparty/miniupnpc/LICENSE
@@ -1,5 +1,5 @@
-MiniUPnPc
-Copyright (c) 2005-2016, Thomas BERNARD
+MiniUPnP Project
+Copyright (c) 2005-2019, Thomas BERNARD
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/thirdparty/miniupnpc/miniupnpc.def b/thirdparty/miniupnpc/miniupnpc.def
deleted file mode 100644
index 60e0bbe423..0000000000
--- a/thirdparty/miniupnpc/miniupnpc.def
+++ /dev/null
@@ -1,45 +0,0 @@
-LIBRARY
-; miniupnpc library
- miniupnpc
-
-EXPORTS
-; miniupnpc
- upnpDiscover
- freeUPNPDevlist
- parserootdesc
- UPNP_GetValidIGD
- UPNP_GetIGDFromUrl
- GetUPNPUrls
- FreeUPNPUrls
-; miniwget
- miniwget
- miniwget_getaddr
-; upnpcommands
- UPNP_GetTotalBytesSent
- UPNP_GetTotalBytesReceived
- UPNP_GetTotalPacketsSent
- UPNP_GetTotalPacketsReceived
- UPNP_GetStatusInfo
- UPNP_GetConnectionTypeInfo
- UPNP_GetExternalIPAddress
- UPNP_GetLinkLayerMaxBitRates
- UPNP_AddPortMapping
- UPNP_AddAnyPortMapping
- UPNP_DeletePortMapping
- UPNP_DeletePortMappingRange
- UPNP_GetPortMappingNumberOfEntries
- UPNP_GetSpecificPortMappingEntry
- UPNP_GetGenericPortMappingEntry
- UPNP_GetListOfPortMappings
- UPNP_AddPinhole
- UPNP_CheckPinholeWorking
- UPNP_UpdatePinhole
- UPNP_GetPinholePackets
- UPNP_DeletePinhole
- UPNP_GetFirewallStatus
- UPNP_GetOutboundPinholeTimeout
-; upnperrors
- strupnperror
-; portlistingparse
- ParsePortListing
- FreePortListing
diff --git a/thirdparty/miniupnpc/miniupnpc.h b/thirdparty/miniupnpc/miniupnpc.h
deleted file mode 100644
index 8ddc282bd1..0000000000
--- a/thirdparty/miniupnpc/miniupnpc.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/* $Id: miniupnpc.h,v 1.53 2018/05/07 11:05:16 nanard Exp $ */
-/* vim: tabstop=4 shiftwidth=4 noexpandtab
- * Project: miniupnp
- * http://miniupnp.free.fr/
- * Author: Thomas Bernard
- * Copyright (c) 2005-2018 Thomas Bernard
- * This software is subjects to the conditions detailed
- * in the LICENCE file provided within this distribution */
-#ifndef MINIUPNPC_H_INCLUDED
-#define MINIUPNPC_H_INCLUDED
-
-#include "miniupnpc_declspec.h"
-#include "igd_desc_parse.h"
-#include "upnpdev.h"
-
-/* error codes : */
-#define UPNPDISCOVER_SUCCESS (0)
-#define UPNPDISCOVER_UNKNOWN_ERROR (-1)
-#define UPNPDISCOVER_SOCKET_ERROR (-101)
-#define UPNPDISCOVER_MEMORY_ERROR (-102)
-
-/* versions : */
-#define MINIUPNPC_VERSION "2.1"
-#define MINIUPNPC_API_VERSION 17
-
-/* Source port:
- Using "1" as an alias for 1900 for backwards compatibility
- (presuming one would have used that for the "sameport" parameter) */
-#define UPNP_LOCAL_PORT_ANY 0
-#define UPNP_LOCAL_PORT_SAME 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Structures definitions : */
-struct UPNParg { const char * elt; const char * val; };
-
-char *
-simpleUPnPcommand(int, const char *, const char *,
- const char *, struct UPNParg *,
- int *);
-
-/* upnpDiscover()
- * discover UPnP devices on the network.
- * The discovered devices are returned as a chained list.
- * It is up to the caller to free the list with freeUPNPDevlist().
- * delay (in millisecond) is the maximum time for waiting any device
- * response.
- * If available, device list will be obtained from MiniSSDPd.
- * Default path for minissdpd socket will be used if minissdpdsock argument
- * is NULL.
- * If multicastif is not NULL, it will be used instead of the default
- * multicast interface for sending SSDP discover packets.
- * If localport is set to UPNP_LOCAL_PORT_SAME(1) SSDP packets will be sent
- * from the source port 1900 (same as destination port), if set to
- * UPNP_LOCAL_PORT_ANY(0) system assign a source port, any other value will
- * be attempted as the source port.
- * "searchalltypes" parameter is useful when searching several types,
- * if 0, the discovery will stop with the first type returning results.
- * TTL should default to 2. */
-MINIUPNP_LIBSPEC struct UPNPDev *
-upnpDiscover(int delay, const char * multicastif,
- const char * minissdpdsock, int localport,
- int ipv6, unsigned char ttl,
- int * error);
-
-MINIUPNP_LIBSPEC struct UPNPDev *
-upnpDiscoverAll(int delay, const char * multicastif,
- const char * minissdpdsock, int localport,
- int ipv6, unsigned char ttl,
- int * error);
-
-MINIUPNP_LIBSPEC struct UPNPDev *
-upnpDiscoverDevice(const char * device, int delay, const char * multicastif,
- const char * minissdpdsock, int localport,
- int ipv6, unsigned char ttl,
- int * error);
-
-MINIUPNP_LIBSPEC struct UPNPDev *
-upnpDiscoverDevices(const char * const deviceTypes[],
- int delay, const char * multicastif,
- const char * minissdpdsock, int localport,
- int ipv6, unsigned char ttl,
- int * error,
- int searchalltypes);
-
-/* parserootdesc() :
- * parse root XML description of a UPnP device and fill the IGDdatas
- * structure. */
-MINIUPNP_LIBSPEC void parserootdesc(const char *, int, struct IGDdatas *);
-
-/* structure used to get fast access to urls
- * controlURL: controlURL of the WANIPConnection
- * ipcondescURL: url of the description of the WANIPConnection
- * controlURL_CIF: controlURL of the WANCommonInterfaceConfig
- * controlURL_6FC: controlURL of the WANIPv6FirewallControl
- */
-struct UPNPUrls {
- char * controlURL;
- char * ipcondescURL;
- char * controlURL_CIF;
- char * controlURL_6FC;
- char * rootdescURL;
-};
-
-/* UPNP_GetValidIGD() :
- * return values :
- * 0 = NO IGD found
- * 1 = A valid connected IGD has been found
- * 2 = A valid IGD has been found but it reported as
- * not connected
- * 3 = an UPnP device has been found but was not recognized as an IGD
- *
- * In any non zero return case, the urls and data structures
- * passed as parameters are set. Donc forget to call FreeUPNPUrls(urls) to
- * free allocated memory.
- */
-MINIUPNP_LIBSPEC int
-UPNP_GetValidIGD(struct UPNPDev * devlist,
- struct UPNPUrls * urls,
- struct IGDdatas * data,
- char * lanaddr, int lanaddrlen);
-
-/* UPNP_GetIGDFromUrl()
- * Used when skipping the discovery process.
- * When succeding, urls, data, and lanaddr arguments are set.
- * return value :
- * 0 - Not ok
- * 1 - OK */
-MINIUPNP_LIBSPEC int
-UPNP_GetIGDFromUrl(const char * rootdescurl,
- struct UPNPUrls * urls,
- struct IGDdatas * data,
- char * lanaddr, int lanaddrlen);
-
-MINIUPNP_LIBSPEC void
-GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *,
- const char *, unsigned int);
-
-MINIUPNP_LIBSPEC void
-FreeUPNPUrls(struct UPNPUrls *);
-
-/* return 0 or 1 */
-MINIUPNP_LIBSPEC int UPNPIGD_IsConnected(struct UPNPUrls *, struct IGDdatas *);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/thirdparty/miniupnpc/codelength.h b/thirdparty/miniupnpc/miniupnpc/codelength.h
index ea0b005ffe..ea0b005ffe 100644
--- a/thirdparty/miniupnpc/codelength.h
+++ b/thirdparty/miniupnpc/miniupnpc/codelength.h
diff --git a/thirdparty/miniupnpc/connecthostport.c b/thirdparty/miniupnpc/miniupnpc/connecthostport.c
index ea6e4e5943..a59dc82437 100644
--- a/thirdparty/miniupnpc/connecthostport.c
+++ b/thirdparty/miniupnpc/miniupnpc/connecthostport.c
@@ -1,8 +1,8 @@
-/* $Id: connecthostport.c,v 1.15 2015/10/09 16:26:19 nanard Exp $ */
+/* $Id: connecthostport.c,v 1.21 2019/04/23 12:11:08 nanard Exp $ */
/* vim: tabstop=4 shiftwidth=4 noexpandtab
* Project : miniupnp
* Author : Thomas Bernard
- * Copyright (c) 2010-2018 Thomas Bernard
+ * Copyright (c) 2010-2019 Thomas Bernard
* This software is subject to the conditions detailed in the
* LICENCE file provided in this distribution. */
@@ -41,13 +41,6 @@
#include <sys/select.h>
#endif /* #else _WIN32 */
-/* definition of PRINT_SOCKET_ERROR */
-#ifdef _WIN32
-#define PRINT_SOCKET_ERROR(x) fprintf(stderr, "Socket error: %s, %d\n", x, WSAGetLastError());
-#else
-#define PRINT_SOCKET_ERROR(x) perror(x)
-#endif
-
#if defined(__amigaos__) || defined(__amigaos4__)
#define herror(A) printf("%s\n", A)
#endif
@@ -123,8 +116,22 @@ SOCKET connecthostport(const char * host, unsigned short port,
int err;
FD_ZERO(&wset);
FD_SET(s, &wset);
- if((n = select(s + 1, NULL, &wset, NULL, NULL)) == -1 && errno == EINTR)
+#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
+ timeout.tv_sec = 3;
+ timeout.tv_usec = 0;
+ n = select(s + 1, NULL, &wset, NULL, &timeout);
+#else
+ n = select(s + 1, NULL, &wset, NULL, NULL);
+#endif
+ if(n == -1 && errno == EINTR)
continue;
+#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
+ if(n == 0) {
+ errno = ETIMEDOUT;
+ n = -1;
+ break;
+ }
+#endif
/*len = 0;*/
/*n = getpeername(s, NULL, &len);*/
len = sizeof(err);
@@ -163,7 +170,7 @@ SOCKET connecthostport(const char * host, unsigned short port,
for(i = 0, j = 1; host[j] && (host[j] != ']') && i < MAXHOSTNAMELEN; i++, j++)
{
tmp_host[i] = host[j];
- if(0 == memcmp(host+j, "%25", 3)) /* %25 is just url encoding for '%' */
+ if(0 == strncmp(host+j, "%25", 3)) /* %25 is just url encoding for '%' */
j+=2; /* skip "25" */
}
tmp_host[i] = '\0';
@@ -183,9 +190,11 @@ SOCKET connecthostport(const char * host, unsigned short port,
#endif
return INVALID_SOCKET;
}
- s = -1;
+ s = INVALID_SOCKET;
for(p = ai; p; p = p->ai_next)
{
+ if(!ISINVALID(s))
+ closesocket(s);
s = socket(p->ai_family, p->ai_socktype, p->ai_protocol);
if(ISINVALID(s))
continue;
@@ -208,7 +217,7 @@ SOCKET connecthostport(const char * host, unsigned short port,
PRINT_SOCKET_ERROR("setsockopt");
}
#endif /* #ifdef MINIUPNPC_SET_SOCKET_TIMEOUT */
- n = connect(s, p->ai_addr, p->ai_addrlen);
+ n = connect(s, p->ai_addr, MSC_CAST_INT p->ai_addrlen);
#ifdef MINIUPNPC_IGNORE_EINTR
/* EINTR The system call was interrupted by a signal that was caught
* EINPROGRESS The socket is nonblocking and the connection cannot
@@ -220,8 +229,22 @@ SOCKET connecthostport(const char * host, unsigned short port,
int err;
FD_ZERO(&wset);
FD_SET(s, &wset);
- if((n = select(s + 1, NULL, &wset, NULL, NULL)) == -1 && errno == EINTR)
+#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
+ timeout.tv_sec = 3;
+ timeout.tv_usec = 0;
+ n = select(s + 1, NULL, &wset, NULL, &timeout);
+#else
+ n = select(s + 1, NULL, &wset, NULL, NULL);
+#endif
+ if(n == -1 && errno == EINTR)
continue;
+#ifdef MINIUPNPC_SET_SOCKET_TIMEOUT
+ if(n == 0) {
+ errno = ETIMEDOUT;
+ n = -1;
+ break;
+ }
+#endif
/*len = 0;*/
/*n = getpeername(s, NULL, &len);*/
len = sizeof(err);
@@ -237,15 +260,8 @@ SOCKET connecthostport(const char * host, unsigned short port,
}
}
#endif /* #ifdef MINIUPNPC_IGNORE_EINTR */
- if(n < 0)
- {
- closesocket(s);
- continue;
- }
- else
- {
+ if(n >= 0) /* connect() was successful */
break;
- }
}
freeaddrinfo(ai);
if(ISINVALID(s))
@@ -256,9 +272,9 @@ SOCKET connecthostport(const char * host, unsigned short port,
if(n < 0)
{
PRINT_SOCKET_ERROR("connect");
+ closesocket(s);
return INVALID_SOCKET;
}
#endif /* #ifdef USE_GETHOSTBYNAME */
return s;
}
-
diff --git a/thirdparty/miniupnpc/connecthostport.h b/thirdparty/miniupnpc/miniupnpc/connecthostport.h
index 701816b5b6..701816b5b6 100644
--- a/thirdparty/miniupnpc/connecthostport.h
+++ b/thirdparty/miniupnpc/miniupnpc/connecthostport.h
diff --git a/thirdparty/miniupnpc/igd_desc_parse.c b/thirdparty/miniupnpc/miniupnpc/igd_desc_parse.c
index d2999ad011..d2999ad011 100644
--- a/thirdparty/miniupnpc/igd_desc_parse.c
+++ b/thirdparty/miniupnpc/miniupnpc/igd_desc_parse.c
diff --git a/thirdparty/miniupnpc/igd_desc_parse.h b/thirdparty/miniupnpc/miniupnpc/igd_desc_parse.h
index 0de546b697..0de546b697 100644
--- a/thirdparty/miniupnpc/igd_desc_parse.h
+++ b/thirdparty/miniupnpc/miniupnpc/igd_desc_parse.h
diff --git a/thirdparty/miniupnpc/listdevices.c b/thirdparty/miniupnpc/miniupnpc/listdevices.c
index bd9ba57efc..bd9ba57efc 100644
--- a/thirdparty/miniupnpc/listdevices.c
+++ b/thirdparty/miniupnpc/miniupnpc/listdevices.c
diff --git a/thirdparty/miniupnpc/minisoap.c b/thirdparty/miniupnpc/miniupnpc/minisoap.c
index 520c9302e8..f92b36ce89 100644
--- a/thirdparty/miniupnpc/minisoap.c
+++ b/thirdparty/miniupnpc/miniupnpc/minisoap.c
@@ -25,12 +25,6 @@
/* only for malloc */
#include <stdlib.h>
-#ifdef _WIN32
-#define PRINT_SOCKET_ERROR(x) fprintf(stderr, "Socket error: %s, %d\n", x, WSAGetLastError());
-#else
-#define PRINT_SOCKET_ERROR(x) perror(x)
-#endif
-
/* httpWrite sends the headers and the body to the socket
* and returns the number of bytes sent */
static int
@@ -79,11 +73,10 @@ int soapPostSubmit(SOCKET fd,
const char * body,
const char * httpversion)
{
- int bodysize;
char headerbuf[512];
int headerssize;
char portstr[8];
- bodysize = (int)strlen(body);
+ int bodysize = (int)strlen(body);
/* We are not using keep-alive HTTP connections.
* HTTP/1.1 needs the header Connection: close to do that.
* This is the default with HTTP/1.0
diff --git a/thirdparty/miniupnpc/minisoap.h b/thirdparty/miniupnpc/miniupnpc/minisoap.h
index d6a45d03ba..d6a45d03ba 100644
--- a/thirdparty/miniupnpc/minisoap.h
+++ b/thirdparty/miniupnpc/miniupnpc/minisoap.h
diff --git a/thirdparty/miniupnpc/minissdpc.c b/thirdparty/miniupnpc/miniupnpc/minissdpc.c
index 1d29b4ba5b..29f8110155 100644
--- a/thirdparty/miniupnpc/minissdpc.c
+++ b/thirdparty/miniupnpc/miniupnpc/minissdpc.c
@@ -1,9 +1,9 @@
-/* $Id: minissdpc.c,v 1.32 2016/10/07 09:04:36 nanard Exp $ */
+/* $Id: minissdpc.c,v 1.40 2019/04/23 12:12:55 nanard Exp $ */
/* vim: tabstop=4 shiftwidth=4 noexpandtab
* Project : miniupnp
* Web : http://miniupnp.free.fr/
* Author : Thomas BERNARD
- * copyright (c) 2005-2018 Thomas Bernard
+ * copyright (c) 2005-2019 Thomas Bernard
* This software is subjet to the conditions detailed in the
* provided LICENCE file. */
/*#include <syslog.h>*/
@@ -381,6 +381,7 @@ free_tmp_and_return:
* the last 4 arguments are filled during the parsing :
* - location/locationsize : "location:" field of the SSDP reply packet
* - st/stsize : "st:" field of the SSDP reply packet.
+ * - usn/usnsize : "usn:" filed of the SSDP reply packet
* The strings are NOT null terminated */
static void
parseMSEARCHReply(const char * reply, int size,
@@ -418,17 +419,17 @@ parseMSEARCHReply(const char * reply, int size,
putchar('\n');*/
/* skip the colon and white spaces */
do { b++; } while(reply[b]==' ');
- if(0==strncasecmp(reply+a, "location", 8))
+ if(0==strncasecmp(reply+a, "location:", 9))
{
*location = reply+b;
*locationsize = i-b;
}
- else if(0==strncasecmp(reply+a, "st", 2))
+ else if(0==strncasecmp(reply+a, "st:", 3))
{
*st = reply+b;
*stsize = i-b;
}
- else if(0==strncasecmp(reply+a, "usn", 3))
+ else if(0==strncasecmp(reply+a, "usn:", 4))
{
*usn = reply+b;
*usnsize = i-b;
@@ -471,7 +472,7 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
int searchalltypes)
{
struct UPNPDev * tmp;
- struct UPNPDev * devlist = 0;
+ struct UPNPDev * devlist = NULL;
unsigned int scope_id = 0;
int opt = 1;
static const char MSearchMsgFmt[] =
@@ -491,7 +492,7 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
struct sockaddr_storage sockudp_w;
#else
int rv;
- struct addrinfo hints, *servinfo, *p;
+ struct addrinfo hints, *servinfo;
#endif
#ifdef _WIN32
unsigned long _ttl = (unsigned long)ttl;
@@ -545,51 +546,42 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
destAddr.sin_addr.s_addr = inet_addr("223.255.255.255");
destAddr.sin_port = 0;
if (GetBestInterfaceEx((struct sockaddr *)&destAddr, &ifbestidx) == NO_ERROR) {
- DWORD dwSize = 0;
- DWORD dwRetVal = 0;
- unsigned int i = 0;
- ULONG flags = GAA_FLAG_INCLUDE_PREFIX;
- ULONG family = AF_INET;
- LPVOID lpMsgBuf = NULL;
+ DWORD dwRetVal = NO_ERROR;
PIP_ADAPTER_ADDRESSES pAddresses = NULL;
- ULONG outBufLen = 0;
- ULONG Iterations = 0;
+ ULONG outBufLen = 15360;
+ int Iterations;
PIP_ADAPTER_ADDRESSES pCurrAddresses = NULL;
PIP_ADAPTER_UNICAST_ADDRESS pUnicast = NULL;
- PIP_ADAPTER_ANYCAST_ADDRESS pAnycast = NULL;
- PIP_ADAPTER_MULTICAST_ADDRESS pMulticast = NULL;
- IP_ADAPTER_DNS_SERVER_ADDRESS *pDnServer = NULL;
- IP_ADAPTER_PREFIX *pPrefix = NULL;
- outBufLen = 15360;
- do {
+ for (Iterations = 0; Iterations < 3; Iterations++) {
pAddresses = (IP_ADAPTER_ADDRESSES *) HeapAlloc(GetProcessHeap(), 0, outBufLen);
if (pAddresses == NULL) {
break;
}
- dwRetVal = GetAdaptersAddresses(family, flags, NULL, pAddresses, &outBufLen);
+ dwRetVal = GetAdaptersAddresses(AF_INET, GAA_FLAG_INCLUDE_PREFIX, NULL, pAddresses, &outBufLen);
- if (dwRetVal == ERROR_BUFFER_OVERFLOW) {
- HeapFree(GetProcessHeap(), 0, pAddresses);
- pAddresses = NULL;
- } else {
+ if (dwRetVal != ERROR_BUFFER_OVERFLOW) {
break;
}
- Iterations++;
- } while ((dwRetVal == ERROR_BUFFER_OVERFLOW) && (Iterations < 3));
+ HeapFree(GetProcessHeap(), 0, pAddresses);
+ pAddresses = NULL;
+ }
if (dwRetVal == NO_ERROR) {
pCurrAddresses = pAddresses;
while (pCurrAddresses) {
#ifdef DEBUG
+ int i;
+ PIP_ADAPTER_MULTICAST_ADDRESS pMulticast = NULL;
+ PIP_ADAPTER_ANYCAST_ADDRESS pAnycast = NULL;
+
printf("\tIfIndex (IPv4 interface): %u\n", pCurrAddresses->IfIndex);
printf("\tAdapter name: %s\n", pCurrAddresses->AdapterName);
pUnicast = pCurrAddresses->FirstUnicastAddress;
if (pUnicast != NULL) {
for (i = 0; pUnicast != NULL; i++) {
- IPAddr.S_un.S_addr = (u_long) pUnicast->Address;
- printf("\tIP Address[%d]: \t%s\n", i, inet_ntoa(IPAddr) );
+ printf("\tIP Address[%d]: \t%s\n", i, inet_ntoa(((PSOCKADDR_IN)pUnicast->Address.lpSockaddr)->sin_addr) );
pUnicast = pUnicast->Next;
}
printf("\tNumber of Unicast Addresses: %d\n", i);
@@ -597,8 +589,7 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
pAnycast = pCurrAddresses->FirstAnycastAddress;
if (pAnycast) {
for (i = 0; pAnycast != NULL; i++) {
- IPAddr.S_un.S_addr = (u_long) pAnyCast->Address;
- printf("\tAnycast Address[%d]: \t%s\n", i, inet_ntoa(IPAddr) );
+ printf("\tAnycast Address[%d]: \t%s\n", i, inet_ntoa(((PSOCKADDR_IN)pAnycast->Address.lpSockaddr)->sin_addr) );
pAnycast = pAnycast->Next;
}
printf("\tNumber of Anycast Addresses: %d\n", i);
@@ -606,8 +597,8 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
pMulticast = pCurrAddresses->FirstMulticastAddress;
if (pMulticast) {
for (i = 0; pMulticast != NULL; i++) {
- IPAddr.S_un.S_addr = (u_long) pMultiCast->Address;
- printf("\tMulticast Address[%d]: \t%s\n", i, inet_ntoa(IPAddr) );
+ printf("\tMulticast Address[%d]: \t%s\n", i, inet_ntoa(((PSOCKADDR_IN)pMulticast->Address.lpSockaddr)->sin_addr) );
+ pMulticast = pMulticast->Next;
}
}
printf("\n");
@@ -647,7 +638,7 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
if(error)
*error = MINISSDPC_SOCKET_ERROR;
PRINT_SOCKET_ERROR("setsockopt(SO_REUSEADDR,...)");
- return NULL;
+ goto error;
}
if(ipv6) {
@@ -692,7 +683,11 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
#endif
} else {
struct in_addr mc_if;
+#if defined(_WIN32) && (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
+ InetPtonA(AF_INET, multicastif, &mc_if);
+#else
mc_if.s_addr = inet_addr(multicastif); /* ex: 192.168.x.x */
+#endif
if(mc_if.s_addr != INADDR_NONE)
{
((struct sockaddr_in *)&sockudp_r)->sin_addr.s_addr = mc_if.s_addr;
@@ -819,24 +814,26 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(rv));
#endif
break;
- }
- for(p = servinfo; p; p = p->ai_next) {
- n = sendto(sudp, bufr, n, 0, p->ai_addr, p->ai_addrlen);
- if (n < 0) {
+ } else {
+ struct addrinfo *p;
+ for(p = servinfo; p; p = p->ai_next) {
+ n = sendto(sudp, bufr, n, 0, p->ai_addr, MSC_CAST_INT p->ai_addrlen);
+ if (n < 0) {
#ifdef DEBUG
- char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];
- if (getnameinfo(p->ai_addr, p->ai_addrlen, hbuf, sizeof(hbuf), sbuf,
- sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0) {
- fprintf(stderr, "host:%s port:%s\n", hbuf, sbuf);
- }
+ char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];
+ if (getnameinfo(p->ai_addr, (socklen_t)p->ai_addrlen, hbuf, sizeof(hbuf), sbuf,
+ sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0) {
+ fprintf(stderr, "host:%s port:%s\n", hbuf, sbuf);
+ }
#endif
- PRINT_SOCKET_ERROR("sendto");
- continue;
- } else {
- sentok = 1;
+ PRINT_SOCKET_ERROR("sendto");
+ continue;
+ } else {
+ sentok = 1;
+ }
}
+ freeaddrinfo(servinfo);
}
- freeaddrinfo(servinfo);
if(!sentok) {
if(error)
*error = MINISSDPC_SOCKET_ERROR;
@@ -877,11 +874,11 @@ ssdpDiscoverDevices(const char * const deviceTypes[],
stsize, st, usnsize, (usn?usn:""), urlsize, descURL);
#endif /* DEBUG */
for(tmp=devlist; tmp; tmp = tmp->pNext) {
- if(memcmp(tmp->descURL, descURL, urlsize) == 0 &&
+ if(strncmp(tmp->descURL, descURL, urlsize) == 0 &&
tmp->descURL[urlsize] == '\0' &&
- memcmp(tmp->st, st, stsize) == 0 &&
+ strncmp(tmp->st, st, stsize) == 0 &&
tmp->st[stsize] == '\0' &&
- (usnsize == 0 || memcmp(tmp->usn, usn, usnsize) == 0) &&
+ (usnsize == 0 || strncmp(tmp->usn, usn, usnsize) == 0) &&
tmp->usn[usnsize] == '\0')
break;
}
diff --git a/thirdparty/miniupnpc/minissdpc.h b/thirdparty/miniupnpc/miniupnpc/minissdpc.h
index 167d897cb6..c99f929b9e 100644
--- a/thirdparty/miniupnpc/minissdpc.h
+++ b/thirdparty/miniupnpc/miniupnpc/minissdpc.h
@@ -32,13 +32,13 @@ MINIUPNP_LIBSPEC int
connectToMiniSSDPD(const char * socketpath);
MINIUPNP_LIBSPEC int
-disconnectFromMiniSSDPD(int fd);
+disconnectFromMiniSSDPD(int s);
MINIUPNP_LIBSPEC int
-requestDevicesFromMiniSSDPD(int fd, const char * devtype);
+requestDevicesFromMiniSSDPD(int s, const char * devtype);
MINIUPNP_LIBSPEC struct UPNPDev *
-receiveDevicesFromMiniSSDPD(int fd, int * error);
+receiveDevicesFromMiniSSDPD(int s, int * error);
#endif /* !(defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__)) */
diff --git a/thirdparty/miniupnpc/miniupnpc.c b/thirdparty/miniupnpc/miniupnpc/miniupnpc.c
index 5d93ef9933..3181d10eb6 100644
--- a/thirdparty/miniupnpc/miniupnpc.c
+++ b/thirdparty/miniupnpc/miniupnpc/miniupnpc.c
@@ -1,9 +1,9 @@
-/* $Id: miniupnpc.c,v 1.149 2016/02/09 09:50:46 nanard Exp $ */
+/* $Id: miniupnpc.c,v 1.154 2019/04/23 12:12:13 nanard Exp $ */
/* vim: tabstop=4 shiftwidth=4 noexpandtab
* Project : miniupnp
* Web : http://miniupnp.free.fr/
* Author : Thomas BERNARD
- * copyright (c) 2005-2018 Thomas Bernard
+ * copyright (c) 2005-2019 Thomas Bernard
* This software is subjet to the conditions detailed in the
* provided LICENSE file. */
#include <stdlib.h>
@@ -63,7 +63,7 @@
#include "connecthostport.h"
/* compare the beginning of a string with a constant string */
-#define COMPARE(str, cstr) (0==memcmp(str, cstr, sizeof(cstr) - 1))
+#define COMPARE(str, cstr) (0==strncmp(str, cstr, sizeof(cstr) - 1))
#ifndef MAXHOSTNAMELEN
#define MAXHOSTNAMELEN 64
@@ -85,8 +85,7 @@ static int is_rfc1918addr(const char * addr)
return 1;
/* 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) */
if(COMPARE(addr, "172.")) {
- int i = atoi(addr + 4);
- if((16 <= i) && (i <= 31))
+ if((atoi(addr + 4) | 0x0f) == 0x1f)
return 1;
}
return 0;
@@ -416,7 +415,7 @@ static char *
build_absolute_url(const char * baseurl, const char * descURL,
const char * url, unsigned int scope_id)
{
- int l, n;
+ size_t l, n;
char * s;
const char * base;
char * p;
@@ -459,7 +458,7 @@ build_absolute_url(const char * baseurl, const char * descURL,
memcpy(s, base, n);
if(scope_id != 0) {
s[n] = '\0';
- if(0 == memcmp(s, "http://[fe80:", 13)) {
+ if(n > 13 && 0 == memcmp(s, "http://[fe80:", 13)) {
/* this is a linklocal IPv6 address */
p = strchr(s, ']');
if(p) {
@@ -573,7 +572,6 @@ UPNP_GetValidIGD(struct UPNPDev * devlist,
int ndev = 0;
int i;
int state = -1; /* state 1 : IGD connected. State 2 : IGD. State 3 : anything */
- int n_igd = 0;
char extIpAddr[16];
char myLanAddr[40];
int status_code = -1;
@@ -588,12 +586,10 @@ UPNP_GetValidIGD(struct UPNPDev * devlist,
/* counting total number of devices in the list */
for(dev = devlist; dev; dev = dev->pNext)
ndev++;
- if(ndev > 0)
- {
- desc = calloc(ndev, sizeof(struct xml_desc));
- if(!desc)
- return -1; /* memory allocation error */
- }
+ /* ndev is always > 0 */
+ desc = calloc(ndev, sizeof(struct xml_desc));
+ if(!desc)
+ return -1; /* memory allocation error */
/* Step 1 : downloading descriptions and testing type */
for(dev = devlist, i = 0; dev; dev = dev->pNext, i++)
{
@@ -617,7 +613,6 @@ UPNP_GetValidIGD(struct UPNPDev * devlist,
"urn:schemas-upnp-org:service:WANCommonInterfaceConfig:"))
{
desc[i].is_igd = 1;
- n_igd++;
if(lanaddr)
strncpy(lanaddr, myLanAddr, lanaddrlen);
}
@@ -685,14 +680,9 @@ UPNP_GetValidIGD(struct UPNPDev * devlist,
}
state = 0;
free_and_return:
- if(desc) {
- for(i = 0; i < ndev; i++) {
- if(desc[i].xml) {
- free(desc[i].xml);
- }
- }
- free(desc);
- }
+ for(i = 0; i < ndev; i++)
+ free(desc[i].xml);
+ free(desc);
return state;
}
@@ -717,7 +707,6 @@ UPNP_GetIGDFromUrl(const char * rootdescurl,
memset(urls, 0, sizeof(struct UPNPUrls));
parserootdesc(descXML, descXMLsize, data);
free(descXML);
- descXML = NULL;
GetUPNPUrls(urls, data, rootdescurl, 0);
return 1;
} else {
diff --git a/thirdparty/miniupnpc/miniupnpc_declspec.h b/thirdparty/miniupnpc/miniupnpc/miniupnpc_declspec.h
index 40adb922ec..40adb922ec 100644
--- a/thirdparty/miniupnpc/miniupnpc_declspec.h
+++ b/thirdparty/miniupnpc/miniupnpc/miniupnpc_declspec.h
diff --git a/thirdparty/miniupnpc/miniupnpc_socketdef.h b/thirdparty/miniupnpc/miniupnpc/miniupnpc_socketdef.h
index 965d9151b9..d4f79a7bd6 100644
--- a/thirdparty/miniupnpc/miniupnpc_socketdef.h
+++ b/thirdparty/miniupnpc/miniupnpc/miniupnpc_socketdef.h
@@ -28,6 +28,13 @@
#endif
+#ifdef _MSC_VER
+#define MSC_CAST_INT (int)
+#else
+#define MSC_CAST_INT
+#endif
+
+/* definition of PRINT_SOCKET_ERROR */
#ifdef _WIN32
#define PRINT_SOCKET_ERROR(x) fprintf(stderr, "Socket error: %s, %d\n", x, WSAGetLastError());
#else
diff --git a/thirdparty/miniupnpc/miniupnpcmodule.c b/thirdparty/miniupnpc/miniupnpc/miniupnpcmodule.c
index 8657a0e002..d9341ab5bf 100644
--- a/thirdparty/miniupnpc/miniupnpcmodule.c
+++ b/thirdparty/miniupnpc/miniupnpc/miniupnpcmodule.c
@@ -1,8 +1,9 @@
-/* $Id: miniupnpcmodule.c,v 1.24 2014/06/10 09:48:11 nanard Exp $*/
-/* Project : miniupnp
+/* $Id: miniupnpcmodule.c,v 1.34 2019/05/20 19:07:16 nanard Exp $*/
+/* vim: tabstop=4 shiftwidth=4 noexpandtab
+ * Project : miniupnp
* Author : Thomas BERNARD
* website : https://miniupnp.tuxfamily.org/
- * copyright (c) 2007-2018 Thomas Bernard
+ * copyright (c) 2007-2019 Thomas Bernard
* This software is subjet to the conditions detailed in the
* provided LICENCE file. */
#include <Python.h>
@@ -292,7 +293,7 @@ Py_END_ALLOW_THREADS
}
/* AddPortMapping(externalPort, protocol, internalHost, internalPort, desc,
- * remoteHost)
+ * remoteHost, leaseDuration)
* protocol is 'UDP' or 'TCP' */
static PyObject *
UPnP_addportmapping(UPnPObject *self, PyObject *args)
@@ -305,17 +306,24 @@ UPnP_addportmapping(UPnPObject *self, PyObject *args)
const char * host;
const char * desc;
const char * remoteHost;
- const char * leaseDuration = "0";
+ unsigned int intLeaseDuration = 0;
+ char strLeaseDuration[12];
int r;
- if (!PyArg_ParseTuple(args, "HssHzz", &ePort, &proto,
- &host, &iPort, &desc, &remoteHost))
+#if (PY_MAJOR_VERSION >= 3) || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 3)
+ if (!PyArg_ParseTuple(args, "HssHzz|I", &ePort, &proto,
+ &host, &iPort, &desc, &remoteHost, &intLeaseDuration))
+#else
+ if (!PyArg_ParseTuple(args, "HssHzz|i", &ePort, &proto,
+ &host, &iPort, &desc, &remoteHost, (int *)&intLeaseDuration))
+#endif
return NULL;
Py_BEGIN_ALLOW_THREADS
sprintf(extPort, "%hu", ePort);
sprintf(inPort, "%hu", iPort);
+ sprintf(strLeaseDuration, "%u", intLeaseDuration);
r = UPNP_AddPortMapping(self->urls.controlURL, self->data.first.servicetype,
extPort, inPort, host, desc, proto,
- remoteHost, leaseDuration);
+ remoteHost, strLeaseDuration);
Py_END_ALLOW_THREADS
if(r==UPNPCOMMAND_SUCCESS)
{
@@ -676,6 +684,16 @@ initminiupnpc(void)
/* initialize Winsock. */
WSADATA wsaData;
int nResult = WSAStartup(MAKEWORD(2,2), &wsaData);
+ if (nResult != 0)
+ {
+ /* error code could be WSASYSNOTREADY WSASYSNOTREADY
+ * WSASYSNOTREADY WSASYSNOTREADY WSASYSNOTREADY */
+#if PY_MAJOR_VERSION >= 3
+ return 0;
+#else
+ return;
+#endif
+ }
UPnPType.tp_new = PyType_GenericNew;
#endif
diff --git a/thirdparty/miniupnpc/miniupnpcstrings.h b/thirdparty/miniupnpc/miniupnpc/miniupnpcstrings.h
index a718cc7bbf..a718cc7bbf 100644
--- a/thirdparty/miniupnpc/miniupnpcstrings.h
+++ b/thirdparty/miniupnpc/miniupnpc/miniupnpcstrings.h
diff --git a/thirdparty/miniupnpc/miniupnpctypes.h b/thirdparty/miniupnpc/miniupnpc/miniupnpctypes.h
index 307ce39699..307ce39699 100644
--- a/thirdparty/miniupnpc/miniupnpctypes.h
+++ b/thirdparty/miniupnpc/miniupnpc/miniupnpctypes.h
diff --git a/thirdparty/miniupnpc/miniwget.c b/thirdparty/miniupnpc/miniupnpc/miniwget.c
index a46ba76022..5c135f4efd 100644
--- a/thirdparty/miniupnpc/miniwget.c
+++ b/thirdparty/miniupnpc/miniupnpc/miniwget.c
@@ -243,7 +243,7 @@ getHTTPResponse(SOCKET s, int * size, int * status_code)
/* reading chunk size */
if(chunksize_buf_index == 0) {
/* skipping any leading CR LF */
- if(i<n && buf[i] == '\r') i++;
+ if(buf[i] == '\r') i++;
if(i<n && buf[i] == '\n') i++;
}
while(i<n && isxdigit(buf[i])
@@ -350,7 +350,7 @@ getHTTPResponse(SOCKET s, int * size, int * status_code)
}
}
end_of_stream:
- free(header_buf); header_buf = NULL;
+ free(header_buf);
*size = content_buf_used;
if(content_buf_used == 0)
{
@@ -371,7 +371,7 @@ miniwget3(const char * host,
int * status_code)
{
char buf[2048];
- SOCKET s;
+ SOCKET s;
int n;
int len;
int sent;
@@ -559,7 +559,7 @@ parseURL(const char * url,
#else
/* under windows, scope is numerical */
char tmp[8];
- int l;
+ size_t l;
scope++;
/* "%25" is just '%' in URL encoding */
if(scope[0] == '2' && scope[1] == '5')
@@ -659,4 +659,3 @@ miniwget_getaddr(const char * url, int * size,
#endif
return miniwget2(hostname, port, path, size, addr, addrlen, scope_id, status_code);
}
-
diff --git a/thirdparty/miniupnpc/miniwget_private.h b/thirdparty/miniupnpc/miniupnpc/miniwget_private.h
index e4eaac8085..e4eaac8085 100644
--- a/thirdparty/miniupnpc/miniwget_private.h
+++ b/thirdparty/miniupnpc/miniupnpc/miniwget_private.h
diff --git a/thirdparty/miniupnpc/minixml.c b/thirdparty/miniupnpc/miniupnpc/minixml.c
index ed2d3c759c..ed2d3c759c 100644
--- a/thirdparty/miniupnpc/minixml.c
+++ b/thirdparty/miniupnpc/miniupnpc/minixml.c
diff --git a/thirdparty/miniupnpc/minixml.h b/thirdparty/miniupnpc/miniupnpc/minixml.h
index 19e6f513bf..2e60397388 100644
--- a/thirdparty/miniupnpc/minixml.h
+++ b/thirdparty/miniupnpc/miniupnpc/minixml.h
@@ -10,7 +10,7 @@
* */
#ifndef MINIXML_H_INCLUDED
#define MINIXML_H_INCLUDED
-#define IS_WHITE_SPACE(c) ((c==' ') || (c=='\t') || (c=='\r') || (c=='\n'))
+#define IS_WHITE_SPACE(c) ((c)==' ' || (c)=='\t' || (c)=='\r' || (c)=='\n')
/* if a callback function pointer is set to NULL,
* the function is not called */
diff --git a/thirdparty/miniupnpc/minixmlvalid.c b/thirdparty/miniupnpc/miniupnpc/minixmlvalid.c
index dad1488122..dad1488122 100644
--- a/thirdparty/miniupnpc/minixmlvalid.c
+++ b/thirdparty/miniupnpc/miniupnpc/minixmlvalid.c
diff --git a/thirdparty/miniupnpc/portlistingparse.c b/thirdparty/miniupnpc/miniupnpc/portlistingparse.c
index 55859f2714..55859f2714 100644
--- a/thirdparty/miniupnpc/portlistingparse.c
+++ b/thirdparty/miniupnpc/miniupnpc/portlistingparse.c
diff --git a/thirdparty/miniupnpc/portlistingparse.h b/thirdparty/miniupnpc/miniupnpc/portlistingparse.h
index e3957a3f4c..e3957a3f4c 100644
--- a/thirdparty/miniupnpc/portlistingparse.h
+++ b/thirdparty/miniupnpc/miniupnpc/portlistingparse.h
diff --git a/thirdparty/miniupnpc/receivedata.c b/thirdparty/miniupnpc/miniupnpc/receivedata.c
index 7b9cc5b778..7b9cc5b778 100644
--- a/thirdparty/miniupnpc/receivedata.c
+++ b/thirdparty/miniupnpc/miniupnpc/receivedata.c
diff --git a/thirdparty/miniupnpc/receivedata.h b/thirdparty/miniupnpc/miniupnpc/receivedata.h
index c9fdc561f8..c9fdc561f8 100644
--- a/thirdparty/miniupnpc/receivedata.h
+++ b/thirdparty/miniupnpc/miniupnpc/receivedata.h
diff --git a/thirdparty/miniupnpc/upnpc.c b/thirdparty/miniupnpc/miniupnpc/upnpc.c
index 0c65cbe8c0..674c89beb0 100644
--- a/thirdparty/miniupnpc/upnpc.c
+++ b/thirdparty/miniupnpc/miniupnpc/upnpc.c
@@ -1,7 +1,7 @@
/* $Id: upnpc.c,v 1.119 2018/03/13 23:34:46 nanard Exp $ */
/* Project : miniupnp
* Author : Thomas Bernard
- * Copyright (c) 2005-2018 Thomas Bernard
+ * Copyright (c) 2005-2019 Thomas Bernard
* This software is subject to the conditions detailed in the
* LICENCE file provided in this distribution. */
@@ -579,7 +579,7 @@ int main(int argc, char ** argv)
}
#endif
printf("upnpc : miniupnpc library test client, version %s.\n", MINIUPNPC_VERSION_STRING);
- printf(" (c) 2005-2018 Thomas Bernard.\n");
+ printf(" (c) 2005-2019 Thomas Bernard.\n");
printf("Go to http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/\n"
"for more information.\n");
/* command line processing */
diff --git a/thirdparty/miniupnpc/upnpcommands.c b/thirdparty/miniupnpc/miniupnpc/upnpcommands.c
index b6a693a93a..1e1ee6786f 100644
--- a/thirdparty/miniupnpc/upnpcommands.c
+++ b/thirdparty/miniupnpc/miniupnpc/upnpcommands.c
@@ -1,4 +1,4 @@
-/* $Id: upnpcommands.c,v 1.49 2018/03/13 23:34:47 nanard Exp $ */
+/* $Id: upnpcommands.c,v 1.51 2019/04/23 11:45:15 nanard Exp $ */
/* vim: tabstop=4 shiftwidth=4 noexpandtab
* Project : miniupnp
* Author : Thomas Bernard
@@ -33,11 +33,11 @@ UPNP_GetTotalBytesSent(const char * controlURL,
char * p;
if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
"GetTotalBytesSent", 0, &bufsize))) {
- return UPNPCOMMAND_HTTP_ERROR;
+ return (UNSIGNED_INTEGER)UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
/*DisplayNameValueList(buffer, bufsize);*/
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "NewTotalBytesSent");
r = my_atoui(p);
ClearNameValueList(&pdata);
@@ -57,11 +57,11 @@ UPNP_GetTotalBytesReceived(const char * controlURL,
char * p;
if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
"GetTotalBytesReceived", 0, &bufsize))) {
- return UPNPCOMMAND_HTTP_ERROR;
+ return (UNSIGNED_INTEGER)UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
/*DisplayNameValueList(buffer, bufsize);*/
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "NewTotalBytesReceived");
r = my_atoui(p);
ClearNameValueList(&pdata);
@@ -81,11 +81,11 @@ UPNP_GetTotalPacketsSent(const char * controlURL,
char * p;
if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
"GetTotalPacketsSent", 0, &bufsize))) {
- return UPNPCOMMAND_HTTP_ERROR;
+ return (UNSIGNED_INTEGER)UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
/*DisplayNameValueList(buffer, bufsize);*/
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "NewTotalPacketsSent");
r = my_atoui(p);
ClearNameValueList(&pdata);
@@ -105,11 +105,11 @@ UPNP_GetTotalPacketsReceived(const char * controlURL,
char * p;
if(!(buffer = simpleUPnPcommand(-1, controlURL, servicetype,
"GetTotalPacketsReceived", 0, &bufsize))) {
- return UPNPCOMMAND_HTTP_ERROR;
+ return (UNSIGNED_INTEGER)UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
/*DisplayNameValueList(buffer, bufsize);*/
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "NewTotalPacketsReceived");
r = my_atoui(p);
ClearNameValueList(&pdata);
@@ -142,7 +142,7 @@ UPNP_GetStatusInfo(const char * controlURL,
}
ParseNameValue(buffer, bufsize, &pdata);
/*DisplayNameValueList(buffer, bufsize);*/
- free(buffer); buffer = NULL;
+ free(buffer);
up = GetValueFromNameValueList(&pdata, "NewUptime");
p = GetValueFromNameValueList(&pdata, "NewConnectionStatus");
err = GetValueFromNameValueList(&pdata, "NewLastConnectionError");
@@ -202,7 +202,7 @@ UPNP_GetConnectionTypeInfo(const char * controlURL,
return UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "NewConnectionType");
/*p = GetValueFromNameValueList(&pdata, "NewPossibleConnectionTypes");*/
/* PossibleConnectionTypes will have several values.... */
@@ -251,7 +251,7 @@ UPNP_GetLinkLayerMaxBitRates(const char * controlURL,
}
/*DisplayNameValueList(buffer, bufsize);*/
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
/*down = GetValueFromNameValueList(&pdata, "NewDownstreamMaxBitRate");*/
/*up = GetValueFromNameValueList(&pdata, "NewUpstreamMaxBitRate");*/
down = GetValueFromNameValueList(&pdata, "NewLayer1DownstreamMaxBitRate");
@@ -315,7 +315,7 @@ UPNP_GetExternalIPAddress(const char * controlURL,
}
/*DisplayNameValueList(buffer, bufsize);*/
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
/*printf("external ip = %s\n", GetValueFromNameValueList(&pdata, "NewExternalIPAddress") );*/
p = GetValueFromNameValueList(&pdata, "NewExternalIPAddress");
if(p) {
@@ -385,7 +385,7 @@ UPNP_AddPortMapping(const char * controlURL, const char * servicetype,
/*buffer[bufsize] = '\0';*/
/*puts(buffer);*/
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
resVal = GetValueFromNameValueList(&pdata, "errorCode");
if(resVal) {
/*printf("AddPortMapping errorCode = '%s'\n", resVal); */
@@ -446,7 +446,7 @@ UPNP_AddAnyPortMapping(const char * controlURL, const char * servicetype,
return UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
resVal = GetValueFromNameValueList(&pdata, "errorCode");
if(resVal) {
ret = UPNPCOMMAND_UNKNOWN_ERROR;
@@ -501,7 +501,7 @@ UPNP_DeletePortMapping(const char * controlURL, const char * servicetype,
}
/*DisplayNameValueList(buffer, bufsize);*/
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
resVal = GetValueFromNameValueList(&pdata, "errorCode");
if(resVal) {
ret = UPNPCOMMAND_UNKNOWN_ERROR;
@@ -549,7 +549,7 @@ UPNP_DeletePortMappingRange(const char * controlURL, const char * servicetype,
return UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
resVal = GetValueFromNameValueList(&pdata, "errorCode");
if(resVal) {
ret = UPNPCOMMAND_UNKNOWN_ERROR;
@@ -597,7 +597,7 @@ UPNP_GetGenericPortMappingEntry(const char * controlURL,
return UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "NewRemoteHost");
if(p && rHost)
@@ -677,7 +677,7 @@ UPNP_GetPortMappingNumberOfEntries(const char * controlURL,
DisplayNameValueList(buffer, bufsize);
#endif
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "NewPortMappingNumberOfEntries");
if(numEntries && p) {
@@ -739,7 +739,7 @@ UPNP_GetSpecificPortMappingEntry(const char * controlURL,
}
/*DisplayNameValueList(buffer, bufsize);*/
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "NewInternalClient");
if(p) {
@@ -836,7 +836,7 @@ UPNP_GetListOfPortMappings(const char * controlURL,
/*DisplayNameValueList(buffer, bufsize);*/
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
/*p = GetValueFromNameValueList(&pdata, "NewPortListing");*/
/*if(p) {
@@ -898,7 +898,7 @@ UPNP_GetFirewallStatus(const char * controlURL,
return UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
fe = GetValueFromNameValueList(&pdata, "FirewallEnabled");
ipa = GetValueFromNameValueList(&pdata, "InboundPinholeAllowed");
if(ipa && fe)
@@ -935,7 +935,6 @@ UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype
int bufsize;
struct NameValueParserData pdata;
const char * resVal;
- char * p;
int ret;
if(!intPort || !intClient || !proto || !remotePort || !remoteHost)
@@ -960,7 +959,7 @@ UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype
if(!buffer)
return UPNPCOMMAND_HTTP_ERROR;
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
resVal = GetValueFromNameValueList(&pdata, "errorCode");
if(resVal)
{
@@ -969,10 +968,10 @@ UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype
}
else
{
- ret = UPNPCOMMAND_SUCCESS;
- p = GetValueFromNameValueList(&pdata, "OutboundPinholeTimeout");
+ const char * p = GetValueFromNameValueList(&pdata, "OutboundPinholeTimeout");
if(p)
*opTimeout = my_atoui(p);
+ ret = UPNPCOMMAND_SUCCESS;
}
ClearNameValueList(&pdata);
return ret;
@@ -1037,7 +1036,7 @@ UPNP_AddPinhole(const char * controlURL, const char * servicetype,
if(!buffer)
return UPNPCOMMAND_HTTP_ERROR;
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "UniqueID");
if(p)
{
@@ -1087,7 +1086,7 @@ UPNP_UpdatePinhole(const char * controlURL, const char * servicetype,
if(!buffer)
return UPNPCOMMAND_HTTP_ERROR;
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
resVal = GetValueFromNameValueList(&pdata, "errorCode");
if(resVal)
{
@@ -1129,7 +1128,7 @@ UPNP_DeletePinhole(const char * controlURL, const char * servicetype, const char
return UPNPCOMMAND_HTTP_ERROR;
/*DisplayNameValueList(buffer, bufsize);*/
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
resVal = GetValueFromNameValueList(&pdata, "errorCode");
if(resVal)
{
@@ -1171,7 +1170,7 @@ UPNP_CheckPinholeWorking(const char * controlURL, const char * servicetype,
return UPNPCOMMAND_HTTP_ERROR;
}
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "IsWorking");
if(p)
@@ -1218,7 +1217,7 @@ UPNP_GetPinholePackets(const char * controlURL, const char * servicetype,
if(!buffer)
return UPNPCOMMAND_HTTP_ERROR;
ParseNameValue(buffer, bufsize, &pdata);
- free(buffer); buffer = NULL;
+ free(buffer);
p = GetValueFromNameValueList(&pdata, "PinholePackets");
if(p)
@@ -1237,5 +1236,3 @@ UPNP_GetPinholePackets(const char * controlURL, const char * servicetype,
ClearNameValueList(&pdata);
return ret;
}
-
-
diff --git a/thirdparty/miniupnpc/miniupnpc/upnpcommands.h b/thirdparty/miniupnpc/miniupnpc/upnpcommands.h
index 0c6d501666..1b6d447732 100644
--- a/thirdparty/miniupnpc/miniupnpc/upnpcommands.h
+++ b/thirdparty/miniupnpc/miniupnpc/upnpcommands.h
@@ -206,9 +206,9 @@ UPNP_DeletePortMappingRange(const char * controlURL, const char * servicetype,
/* UPNP_GetPortMappingNumberOfEntries()
* not supported by all routers */
MINIUPNP_LIBSPEC int
-UPNP_GetPortMappingNumberOfEntries(const char* controlURL,
- const char* servicetype,
- unsigned int * num);
+UPNP_GetPortMappingNumberOfEntries(const char * controlURL,
+ const char * servicetype,
+ unsigned int * numEntries);
/* UPNP_GetSpecificPortMappingEntry()
* retrieves an existing port mapping
diff --git a/thirdparty/miniupnpc/upnpdev.c b/thirdparty/miniupnpc/miniupnpc/upnpdev.c
index d89a9934c3..d89a9934c3 100644
--- a/thirdparty/miniupnpc/upnpdev.c
+++ b/thirdparty/miniupnpc/miniupnpc/upnpdev.c
diff --git a/thirdparty/miniupnpc/upnpdev.h b/thirdparty/miniupnpc/miniupnpc/upnpdev.h
index f4ae174426..f4ae174426 100644
--- a/thirdparty/miniupnpc/upnpdev.h
+++ b/thirdparty/miniupnpc/miniupnpc/upnpdev.h
diff --git a/thirdparty/miniupnpc/upnperrors.c b/thirdparty/miniupnpc/miniupnpc/upnperrors.c
index 40a2e7857f..650af42557 100644
--- a/thirdparty/miniupnpc/upnperrors.c
+++ b/thirdparty/miniupnpc/miniupnpc/upnperrors.c
@@ -1,7 +1,7 @@
-/* $Id: upnperrors.c,v 1.5 2011/04/10 11:19:36 nanard Exp $ */
+/* $Id: upnperrors.c,v 1.9 2019/06/25 21:15:46 nanard Exp $ */
/* Project : miniupnp
* Author : Thomas BERNARD
- * copyright (c) 2007 Thomas Bernard
+ * copyright (c) 2007-2019 Thomas Bernard
* All Right reserved.
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
* This software is subjet to the conditions detailed in the
@@ -27,10 +27,14 @@ const char * strupnperror(int err)
case UPNPCOMMAND_INVALID_RESPONSE:
s = "Miniupnpc Invalid response";
break;
+ case UPNPCOMMAND_HTTP_ERROR:
+ s = "Miniupnpc HTTP error";
+ break;
case UPNPDISCOVER_SOCKET_ERROR:
s = "Miniupnpc Socket error";
break;
case UPNPDISCOVER_MEMORY_ERROR:
+ case UPNPCOMMAND_MEM_ALLOC_ERROR:
s = "Miniupnpc Memory allocation error";
break;
case 401:
diff --git a/thirdparty/miniupnpc/upnperrors.h b/thirdparty/miniupnpc/miniupnpc/upnperrors.h
index 8499d9a1c9..8499d9a1c9 100644
--- a/thirdparty/miniupnpc/upnperrors.h
+++ b/thirdparty/miniupnpc/miniupnpc/upnperrors.h
diff --git a/thirdparty/miniupnpc/upnpreplyparse.c b/thirdparty/miniupnpc/miniupnpc/upnpreplyparse.c
index 68a47c0278..4d06f0585d 100644
--- a/thirdparty/miniupnpc/upnpreplyparse.c
+++ b/thirdparty/miniupnpc/miniupnpc/upnpreplyparse.c
@@ -1,8 +1,8 @@
-/* $Id: upnpreplyparse.c,v 1.19 2015/07/15 10:29:11 nanard Exp $ */
+/* $Id: upnpreplyparse.c,v 1.20 2017/12/12 11:26:25 nanard Exp $ */
/* vim: tabstop=4 shiftwidth=4 noexpandtab
* MiniUPnP project
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
- * (c) 2006-2017 Thomas Bernard
+ * (c) 2006-2019 Thomas Bernard
* This software is subject to the conditions detailed
* in the LICENCE file provided within the distribution */
@@ -78,6 +78,7 @@ NameValueParserGetData(void * d, const char * datas, int l)
if(strcmp(data->curelt, "NewPortListing") == 0)
{
/* specific case for NewPortListing which is a XML Document */
+ free(data->portListing);
data->portListing = malloc(l + 1);
if(!data->portListing)
{
diff --git a/thirdparty/miniupnpc/upnpreplyparse.h b/thirdparty/miniupnpc/miniupnpc/upnpreplyparse.h
index 6badd15b26..6badd15b26 100644
--- a/thirdparty/miniupnpc/upnpreplyparse.h
+++ b/thirdparty/miniupnpc/miniupnpc/upnpreplyparse.h
diff --git a/thirdparty/miniupnpc/miniwget.h b/thirdparty/miniupnpc/miniwget.h
deleted file mode 100644
index f5572c2544..0000000000
--- a/thirdparty/miniupnpc/miniwget.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* $Id: miniwget.h,v 1.12 2016/01/24 17:24:36 nanard Exp $ */
-/* Project : miniupnp
- * Author : Thomas Bernard
- * Copyright (c) 2005-2016 Thomas Bernard
- * This software is subject to the conditions detailed in the
- * LICENCE file provided in this distribution.
- * */
-#ifndef MINIWGET_H_INCLUDED
-#define MINIWGET_H_INCLUDED
-
-#include "miniupnpc_declspec.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-MINIUPNP_LIBSPEC void * miniwget(const char *, int *, unsigned int, int *);
-
-MINIUPNP_LIBSPEC void * miniwget_getaddr(const char *, int *, char *, int, unsigned int, int *);
-
-int parseURL(const char *, char *, unsigned short *, char * *, unsigned int *);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/thirdparty/miniupnpc/upnpcommands.h b/thirdparty/miniupnpc/upnpcommands.h
deleted file mode 100644
index 0c6d501666..0000000000
--- a/thirdparty/miniupnpc/upnpcommands.h
+++ /dev/null
@@ -1,348 +0,0 @@
-/* $Id: upnpcommands.h,v 1.32 2018/03/13 23:34:47 nanard Exp $ */
-/* Miniupnp project : http://miniupnp.free.fr/
- * Author : Thomas Bernard
- * Copyright (c) 2005-2018 Thomas Bernard
- * This software is subject to the conditions detailed in the
- * LICENCE file provided within this distribution */
-#ifndef UPNPCOMMANDS_H_INCLUDED
-#define UPNPCOMMANDS_H_INCLUDED
-
-#include "miniupnpc_declspec.h"
-#include "miniupnpctypes.h"
-
-/* MiniUPnPc return codes : */
-#define UPNPCOMMAND_SUCCESS (0)
-#define UPNPCOMMAND_UNKNOWN_ERROR (-1)
-#define UPNPCOMMAND_INVALID_ARGS (-2)
-#define UPNPCOMMAND_HTTP_ERROR (-3)
-#define UPNPCOMMAND_INVALID_RESPONSE (-4)
-#define UPNPCOMMAND_MEM_ALLOC_ERROR (-5)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct PortMappingParserData;
-
-MINIUPNP_LIBSPEC UNSIGNED_INTEGER
-UPNP_GetTotalBytesSent(const char * controlURL,
- const char * servicetype);
-
-MINIUPNP_LIBSPEC UNSIGNED_INTEGER
-UPNP_GetTotalBytesReceived(const char * controlURL,
- const char * servicetype);
-
-MINIUPNP_LIBSPEC UNSIGNED_INTEGER
-UPNP_GetTotalPacketsSent(const char * controlURL,
- const char * servicetype);
-
-MINIUPNP_LIBSPEC UNSIGNED_INTEGER
-UPNP_GetTotalPacketsReceived(const char * controlURL,
- const char * servicetype);
-
-/* UPNP_GetStatusInfo()
- * status and lastconnerror are 64 byte buffers
- * Return values :
- * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
- * or a UPnP Error code */
-MINIUPNP_LIBSPEC int
-UPNP_GetStatusInfo(const char * controlURL,
- const char * servicetype,
- char * status,
- unsigned int * uptime,
- char * lastconnerror);
-
-/* UPNP_GetConnectionTypeInfo()
- * argument connectionType is a 64 character buffer
- * Return Values :
- * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
- * or a UPnP Error code */
-MINIUPNP_LIBSPEC int
-UPNP_GetConnectionTypeInfo(const char * controlURL,
- const char * servicetype,
- char * connectionType);
-
-/* UPNP_GetExternalIPAddress() call the corresponding UPNP method.
- * if the third arg is not null the value is copied to it.
- * at least 16 bytes must be available
- *
- * Return values :
- * 0 : SUCCESS
- * NON ZERO : ERROR Either an UPnP error code or an unknown error.
- *
- * possible UPnP Errors :
- * 402 Invalid Args - See UPnP Device Architecture section on Control.
- * 501 Action Failed - See UPnP Device Architecture section on Control. */
-MINIUPNP_LIBSPEC int
-UPNP_GetExternalIPAddress(const char * controlURL,
- const char * servicetype,
- char * extIpAdd);
-
-/* UPNP_GetLinkLayerMaxBitRates()
- * call WANCommonInterfaceConfig:1#GetCommonLinkProperties
- *
- * return values :
- * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
- * or a UPnP Error Code. */
-MINIUPNP_LIBSPEC int
-UPNP_GetLinkLayerMaxBitRates(const char* controlURL,
- const char* servicetype,
- unsigned int * bitrateDown,
- unsigned int * bitrateUp);
-
-/* UPNP_AddPortMapping()
- * if desc is NULL, it will be defaulted to "libminiupnpc"
- * remoteHost is usually NULL because IGD don't support it.
- *
- * Return values :
- * 0 : SUCCESS
- * NON ZERO : ERROR. Either an UPnP error code or an unknown error.
- *
- * List of possible UPnP errors for AddPortMapping :
- * errorCode errorDescription (short) - Description (long)
- * 402 Invalid Args - See UPnP Device Architecture section on Control.
- * 501 Action Failed - See UPnP Device Architecture section on Control.
- * 606 Action not authorized - The action requested REQUIRES authorization and
- * the sender was not authorized.
- * 715 WildCardNotPermittedInSrcIP - The source IP address cannot be
- * wild-carded
- * 716 WildCardNotPermittedInExtPort - The external port cannot be wild-carded
- * 718 ConflictInMappingEntry - The port mapping entry specified conflicts
- * with a mapping assigned previously to another client
- * 724 SamePortValuesRequired - Internal and External port values
- * must be the same
- * 725 OnlyPermanentLeasesSupported - The NAT implementation only supports
- * permanent lease times on port mappings
- * 726 RemoteHostOnlySupportsWildcard - RemoteHost must be a wildcard
- * and cannot be a specific IP address or DNS name
- * 727 ExternalPortOnlySupportsWildcard - ExternalPort must be a wildcard and
- * cannot be a specific port value
- * 728 NoPortMapsAvailable - There are not enough free ports available to
- * complete port mapping.
- * 729 ConflictWithOtherMechanisms - Attempted port mapping is not allowed
- * due to conflict with other mechanisms.
- * 732 WildCardNotPermittedInIntPort - The internal port cannot be wild-carded
- */
-MINIUPNP_LIBSPEC int
-UPNP_AddPortMapping(const char * controlURL, const char * servicetype,
- const char * extPort,
- const char * inPort,
- const char * inClient,
- const char * desc,
- const char * proto,
- const char * remoteHost,
- const char * leaseDuration);
-
-/* UPNP_AddAnyPortMapping()
- * if desc is NULL, it will be defaulted to "libminiupnpc"
- * remoteHost is usually NULL because IGD don't support it.
- *
- * Return values :
- * 0 : SUCCESS
- * NON ZERO : ERROR. Either an UPnP error code or an unknown error.
- *
- * List of possible UPnP errors for AddPortMapping :
- * errorCode errorDescription (short) - Description (long)
- * 402 Invalid Args - See UPnP Device Architecture section on Control.
- * 501 Action Failed - See UPnP Device Architecture section on Control.
- * 606 Action not authorized - The action requested REQUIRES authorization and
- * the sender was not authorized.
- * 715 WildCardNotPermittedInSrcIP - The source IP address cannot be
- * wild-carded
- * 716 WildCardNotPermittedInExtPort - The external port cannot be wild-carded
- * 728 NoPortMapsAvailable - There are not enough free ports available to
- * complete port mapping.
- * 729 ConflictWithOtherMechanisms - Attempted port mapping is not allowed
- * due to conflict with other mechanisms.
- * 732 WildCardNotPermittedInIntPort - The internal port cannot be wild-carded
- */
-MINIUPNP_LIBSPEC int
-UPNP_AddAnyPortMapping(const char * controlURL, const char * servicetype,
- const char * extPort,
- const char * inPort,
- const char * inClient,
- const char * desc,
- const char * proto,
- const char * remoteHost,
- const char * leaseDuration,
- char * reservedPort);
-
-/* UPNP_DeletePortMapping()
- * Use same argument values as what was used for AddPortMapping().
- * remoteHost is usually NULL because IGD don't support it.
- * Return Values :
- * 0 : SUCCESS
- * NON ZERO : error. Either an UPnP error code or an undefined error.
- *
- * List of possible UPnP errors for DeletePortMapping :
- * 402 Invalid Args - See UPnP Device Architecture section on Control.
- * 606 Action not authorized - The action requested REQUIRES authorization
- * and the sender was not authorized.
- * 714 NoSuchEntryInArray - The specified value does not exist in the array */
-MINIUPNP_LIBSPEC int
-UPNP_DeletePortMapping(const char * controlURL, const char * servicetype,
- const char * extPort, const char * proto,
- const char * remoteHost);
-
-/* UPNP_DeletePortRangeMapping()
- * Use same argument values as what was used for AddPortMapping().
- * remoteHost is usually NULL because IGD don't support it.
- * Return Values :
- * 0 : SUCCESS
- * NON ZERO : error. Either an UPnP error code or an undefined error.
- *
- * List of possible UPnP errors for DeletePortMapping :
- * 606 Action not authorized - The action requested REQUIRES authorization
- * and the sender was not authorized.
- * 730 PortMappingNotFound - This error message is returned if no port
- * mapping is found in the specified range.
- * 733 InconsistentParameters - NewStartPort and NewEndPort values are not consistent. */
-MINIUPNP_LIBSPEC int
-UPNP_DeletePortMappingRange(const char * controlURL, const char * servicetype,
- const char * extPortStart, const char * extPortEnd,
- const char * proto,
- const char * manage);
-
-/* UPNP_GetPortMappingNumberOfEntries()
- * not supported by all routers */
-MINIUPNP_LIBSPEC int
-UPNP_GetPortMappingNumberOfEntries(const char* controlURL,
- const char* servicetype,
- unsigned int * num);
-
-/* UPNP_GetSpecificPortMappingEntry()
- * retrieves an existing port mapping
- * params :
- * in extPort
- * in proto
- * in remoteHost
- * out intClient (16 bytes)
- * out intPort (6 bytes)
- * out desc (80 bytes)
- * out enabled (4 bytes)
- * out leaseDuration (16 bytes)
- *
- * return value :
- * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
- * or a UPnP Error Code.
- *
- * List of possible UPnP errors for _GetSpecificPortMappingEntry :
- * 402 Invalid Args - See UPnP Device Architecture section on Control.
- * 501 Action Failed - See UPnP Device Architecture section on Control.
- * 606 Action not authorized - The action requested REQUIRES authorization
- * and the sender was not authorized.
- * 714 NoSuchEntryInArray - The specified value does not exist in the array.
- */
-MINIUPNP_LIBSPEC int
-UPNP_GetSpecificPortMappingEntry(const char * controlURL,
- const char * servicetype,
- const char * extPort,
- const char * proto,
- const char * remoteHost,
- char * intClient,
- char * intPort,
- char * desc,
- char * enabled,
- char * leaseDuration);
-
-/* UPNP_GetGenericPortMappingEntry()
- * params :
- * in index
- * out extPort (6 bytes)
- * out intClient (16 bytes)
- * out intPort (6 bytes)
- * out protocol (4 bytes)
- * out desc (80 bytes)
- * out enabled (4 bytes)
- * out rHost (64 bytes)
- * out duration (16 bytes)
- *
- * return value :
- * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR
- * or a UPnP Error Code.
- *
- * Possible UPNP Error codes :
- * 402 Invalid Args - See UPnP Device Architecture section on Control.
- * 606 Action not authorized - The action requested REQUIRES authorization
- * and the sender was not authorized.
- * 713 SpecifiedArrayIndexInvalid - The specified array index is out of bounds
- */
-MINIUPNP_LIBSPEC int
-UPNP_GetGenericPortMappingEntry(const char * controlURL,
- const char * servicetype,
- const char * index,
- char * extPort,
- char * intClient,
- char * intPort,
- char * protocol,
- char * desc,
- char * enabled,
- char * rHost,
- char * duration);
-
-/* UPNP_GetListOfPortMappings() Available in IGD v2
- *
- *
- * Possible UPNP Error codes :
- * 606 Action not Authorized
- * 730 PortMappingNotFound - no port mapping is found in the specified range.
- * 733 InconsistantParameters - NewStartPort and NewEndPort values are not
- * consistent.
- */
-MINIUPNP_LIBSPEC int
-UPNP_GetListOfPortMappings(const char * controlURL,
- const char * servicetype,
- const char * startPort,
- const char * endPort,
- const char * protocol,
- const char * numberOfPorts,
- struct PortMappingParserData * data);
-
-/* IGD:2, functions for service WANIPv6FirewallControl:1 */
-MINIUPNP_LIBSPEC int
-UPNP_GetFirewallStatus(const char * controlURL,
- const char * servicetype,
- int * firewallEnabled,
- int * inboundPinholeAllowed);
-
-MINIUPNP_LIBSPEC int
-UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype,
- const char * remoteHost,
- const char * remotePort,
- const char * intClient,
- const char * intPort,
- const char * proto,
- int * opTimeout);
-
-MINIUPNP_LIBSPEC int
-UPNP_AddPinhole(const char * controlURL, const char * servicetype,
- const char * remoteHost,
- const char * remotePort,
- const char * intClient,
- const char * intPort,
- const char * proto,
- const char * leaseTime,
- char * uniqueID);
-
-MINIUPNP_LIBSPEC int
-UPNP_UpdatePinhole(const char * controlURL, const char * servicetype,
- const char * uniqueID,
- const char * leaseTime);
-
-MINIUPNP_LIBSPEC int
-UPNP_DeletePinhole(const char * controlURL, const char * servicetype, const char * uniqueID);
-
-MINIUPNP_LIBSPEC int
-UPNP_CheckPinholeWorking(const char * controlURL, const char * servicetype,
- const char * uniqueID, int * isWorking);
-
-MINIUPNP_LIBSPEC int
-UPNP_GetPinholePackets(const char * controlURL, const char * servicetype,
- const char * uniqueID, int * packets);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/thirdparty/misc/aes256.cpp b/thirdparty/misc/aes256.cpp
deleted file mode 100644
index dc271928b4..0000000000
--- a/thirdparty/misc/aes256.cpp
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
-* Byte-oriented AES-256 implementation.
-* All lookup tables replaced with 'on the fly' calculations.
-*
-* Copyright (c) 2007-2011 Ilya O. Levin, http://www.literatecode.com
-* Other contributors: Hal Finney
-*
-* Permission to use, copy, modify, and distribute this software for any
-* purpose with or without fee is hereby granted, provided that the above
-* copyright notice and this permission notice appear in all copies.
-*
-* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-#include "aes256.h"
-
-#define FD(x) (((x) >> 1) ^ (((x) & 1) ? 0x8d : 0))
-
-#define BACK_TO_TABLES
-
-static uint8_t rj_xtime(uint8_t);
-static void aes_subBytes(uint8_t *);
-static void aes_subBytes_inv(uint8_t *);
-static void aes_addRoundKey(uint8_t *, uint8_t *);
-static void aes_addRoundKey_cpy(uint8_t *, uint8_t *, uint8_t *);
-static void aes_shiftRows(uint8_t *);
-static void aes_shiftRows_inv(uint8_t *);
-static void aes_mixColumns(uint8_t *);
-static void aes_mixColumns_inv(uint8_t *);
-static void aes_expandEncKey(uint8_t *, uint8_t *);
-static void aes_expandDecKey(uint8_t *, uint8_t *);
-#ifndef BACK_TO_TABLES
-static uint8_t gf_alog(uint8_t);
-static uint8_t gf_log(uint8_t);
-static uint8_t gf_mulinv(uint8_t);
-static uint8_t rj_sbox(uint8_t);
-static uint8_t rj_sbox_inv(uint8_t);
-#endif
-
-#ifdef BACK_TO_TABLES
-
-static const uint8_t sbox[256] = {
- 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5,
- 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
- 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0,
- 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
- 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc,
- 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
- 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a,
- 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,
- 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0,
- 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
- 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b,
- 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,
- 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85,
- 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,
- 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,
- 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,
- 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17,
- 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,
- 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88,
- 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
- 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c,
- 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,
- 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9,
- 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,
- 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6,
- 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,
- 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e,
- 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,
- 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94,
- 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
- 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68,
- 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
-};
-static const uint8_t sboxinv[256] = {
- 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38,
- 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb,
- 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87,
- 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb,
- 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d,
- 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e,
- 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2,
- 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25,
- 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16,
- 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92,
- 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda,
- 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84,
- 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a,
- 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06,
- 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02,
- 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b,
- 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea,
- 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73,
- 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85,
- 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e,
- 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89,
- 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b,
- 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20,
- 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4,
- 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31,
- 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f,
- 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d,
- 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef,
- 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0,
- 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61,
- 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26,
- 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
-};
-
-#define rj_sbox(x) sbox[(x)]
-#define rj_sbox_inv(x) sboxinv[(x)]
-
-#else /* tableless subroutines */
-
-/* -------------------------------------------------------------------------- */
-static uint8_t gf_alog(uint8_t x) // calculate anti-logarithm gen 3
-{
- uint8_t y = 1, i;
-
- for (i = 0; i < x; i++) y ^= rj_xtime(y);
-
- return y;
-} /* gf_alog */
-
-/* -------------------------------------------------------------------------- */
-static uint8_t gf_log(uint8_t x) // calculate logarithm gen 3
-{
- uint8_t y, i = 0;
-
- if (x)
- for (i = 1, y = 1; i > 0; i++ )
- {
- y ^= rj_xtime(y);
- if (y == x) break;
- }
-
- return i;
-} /* gf_log */
-
-
-/* -------------------------------------------------------------------------- */
-static uint8_t gf_mulinv(uint8_t x) // calculate multiplicative inverse
-{
- return (x) ? gf_alog(255 - gf_log(x)) : 0;
-} /* gf_mulinv */
-
-/* -------------------------------------------------------------------------- */
-static uint8_t rj_sbox(uint8_t x)
-{
- uint8_t y, sb;
-
- sb = y = gf_mulinv(x);
- y = (uint8_t)(y << 1) | (y >> 7), sb ^= y;
- y = (uint8_t)(y << 1) | (y >> 7), sb ^= y;
- y = (uint8_t)(y << 1) | (y >> 7), sb ^= y;
- y = (uint8_t)(y << 1) | (y >> 7), sb ^= y;
-
- return (sb ^ 0x63);
-} /* rj_sbox */
-
-/* -------------------------------------------------------------------------- */
-static uint8_t rj_sbox_inv(uint8_t x)
-{
- uint8_t y, sb;
-
- y = x ^ 0x63;
- sb = y = (uint8_t)(y << 1) | (y >> 7);
- y = (uint8_t)(y << 2) | (y >> 6);
- sb ^= y;
- y = (uint8_t)(y << 3) | (y >> 5);
- sb ^= y;
-
- return gf_mulinv(sb);
-} /* rj_sbox_inv */
-
-#endif
-
-/* -------------------------------------------------------------------------- */
-static uint8_t rj_xtime(uint8_t x)
-{
- uint8_t y = (uint8_t)(x << 1);
- return (x & 0x80) ? (y ^ 0x1b) : y;
-} /* rj_xtime */
-
-/* -------------------------------------------------------------------------- */
-static void aes_subBytes(uint8_t *buf)
-{
- register uint8_t i = 16;
-
- while (i--) buf[i] = rj_sbox(buf[i]);
-} /* aes_subBytes */
-
-/* -------------------------------------------------------------------------- */
-static void aes_subBytes_inv(uint8_t *buf)
-{
- register uint8_t i = 16;
-
- while (i--) buf[i] = rj_sbox_inv(buf[i]);
-} /* aes_subBytes_inv */
-
-/* -------------------------------------------------------------------------- */
-static void aes_addRoundKey(uint8_t *buf, uint8_t *key)
-{
- register uint8_t i = 16;
-
- while (i--) buf[i] ^= key[i];
-} /* aes_addRoundKey */
-
-/* -------------------------------------------------------------------------- */
-static void aes_addRoundKey_cpy(uint8_t *buf, uint8_t *key, uint8_t *cpk)
-{
- register uint8_t i = 16;
-
- while (i--) buf[i] ^= (cpk[i] = key[i]), cpk[16 + i] = key[16 + i];
-} /* aes_addRoundKey_cpy */
-
-
-/* -------------------------------------------------------------------------- */
-static void aes_shiftRows(uint8_t *buf)
-{
- register uint8_t i, j; /* to make it potentially parallelable :) */
-
- i = buf[1], buf[1] = buf[5], buf[5] = buf[9], buf[9] = buf[13], buf[13] = i;
- i = buf[10], buf[10] = buf[2], buf[2] = i;
- j = buf[3], buf[3] = buf[15], buf[15] = buf[11], buf[11] = buf[7], buf[7] = j;
- j = buf[14], buf[14] = buf[6], buf[6] = j;
-
-} /* aes_shiftRows */
-
-/* -------------------------------------------------------------------------- */
-static void aes_shiftRows_inv(uint8_t *buf)
-{
- register uint8_t i, j; /* same as above :) */
-
- i = buf[1], buf[1] = buf[13], buf[13] = buf[9], buf[9] = buf[5], buf[5] = i;
- i = buf[2], buf[2] = buf[10], buf[10] = i;
- j = buf[3], buf[3] = buf[7], buf[7] = buf[11], buf[11] = buf[15], buf[15] = j;
- j = buf[6], buf[6] = buf[14], buf[14] = j;
-
-} /* aes_shiftRows_inv */
-
-/* -------------------------------------------------------------------------- */
-static void aes_mixColumns(uint8_t *buf)
-{
- register uint8_t i, a, b, c, d, e;
-
- for (i = 0; i < 16; i += 4)
- {
- a = buf[i];
- b = buf[i + 1];
- c = buf[i + 2];
- d = buf[i + 3];
- e = a ^ b ^ c ^ d;
- buf[i] ^= e ^ rj_xtime(a ^ b);
- buf[i + 1] ^= e ^ rj_xtime(b ^ c);
- buf[i + 2] ^= e ^ rj_xtime(c ^ d);
- buf[i + 3] ^= e ^ rj_xtime(d ^ a);
- }
-} /* aes_mixColumns */
-
-/* -------------------------------------------------------------------------- */
-void aes_mixColumns_inv(uint8_t *buf)
-{
- register uint8_t i, a, b, c, d, e, x, y, z;
-
- for (i = 0; i < 16; i += 4)
- {
- a = buf[i];
- b = buf[i + 1];
- c = buf[i + 2];
- d = buf[i + 3];
- e = a ^ b ^ c ^ d;
- z = rj_xtime(e);
- x = e ^ rj_xtime(rj_xtime(z ^ a ^ c));
- y = e ^ rj_xtime(rj_xtime(z ^ b ^ d));
- buf[i] ^= x ^ rj_xtime(a ^ b);
- buf[i + 1] ^= y ^ rj_xtime(b ^ c);
- buf[i + 2] ^= x ^ rj_xtime(c ^ d);
- buf[i + 3] ^= y ^ rj_xtime(d ^ a);
- }
-} /* aes_mixColumns_inv */
-
-/* -------------------------------------------------------------------------- */
-static void aes_expandEncKey(uint8_t *k, uint8_t *rc)
-{
- register uint8_t i;
-
- k[0] ^= rj_sbox(k[29]) ^ (*rc);
- k[1] ^= rj_sbox(k[30]);
- k[2] ^= rj_sbox(k[31]);
- k[3] ^= rj_sbox(k[28]);
- *rc = rj_xtime( *rc);
-
- for(i = 4; i < 16; i += 4) k[i] ^= k[i - 4], k[i + 1] ^= k[i - 3],
- k[i + 2] ^= k[i - 2], k[i + 3] ^= k[i - 1];
- k[16] ^= rj_sbox(k[12]);
- k[17] ^= rj_sbox(k[13]);
- k[18] ^= rj_sbox(k[14]);
- k[19] ^= rj_sbox(k[15]);
-
- for(i = 20; i < 32; i += 4) k[i] ^= k[i - 4], k[i + 1] ^= k[i - 3],
- k[i + 2] ^= k[i - 2], k[i + 3] ^= k[i - 1];
-
-} /* aes_expandEncKey */
-
-/* -------------------------------------------------------------------------- */
-void aes_expandDecKey(uint8_t *k, uint8_t *rc)
-{
- uint8_t i;
-
- for(i = 28; i > 16; i -= 4) k[i + 0] ^= k[i - 4], k[i + 1] ^= k[i - 3],
- k[i + 2] ^= k[i - 2], k[i + 3] ^= k[i - 1];
-
- k[16] ^= rj_sbox(k[12]);
- k[17] ^= rj_sbox(k[13]);
- k[18] ^= rj_sbox(k[14]);
- k[19] ^= rj_sbox(k[15]);
-
- for(i = 12; i > 0; i -= 4) k[i + 0] ^= k[i - 4], k[i + 1] ^= k[i - 3],
- k[i + 2] ^= k[i - 2], k[i + 3] ^= k[i - 1];
-
- *rc = FD(*rc);
- k[0] ^= rj_sbox(k[29]) ^ (*rc);
- k[1] ^= rj_sbox(k[30]);
- k[2] ^= rj_sbox(k[31]);
- k[3] ^= rj_sbox(k[28]);
-} /* aes_expandDecKey */
-
-
-/* -------------------------------------------------------------------------- */
-void aes256_init(aes256_context *ctx, uint8_t *k)
-{
- uint8_t rcon = 1;
- register uint8_t i;
-
- for (i = 0; i < sizeof(ctx->key); i++) ctx->enckey[i] = ctx->deckey[i] = k[i];
- for (i = 8; --i;) aes_expandEncKey(ctx->deckey, &rcon);
-} /* aes256_init */
-
-/* -------------------------------------------------------------------------- */
-void aes256_done(aes256_context *ctx)
-{
- register uint8_t i;
-
- for (i = 0; i < sizeof(ctx->key); i++)
- ctx->key[i] = ctx->enckey[i] = ctx->deckey[i] = 0;
-} /* aes256_done */
-
-/* -------------------------------------------------------------------------- */
-void aes256_encrypt_ecb(aes256_context *ctx, uint8_t *buf)
-{
- uint8_t i, rcon;
-
- aes_addRoundKey_cpy(buf, ctx->enckey, ctx->key);
- for(i = 1, rcon = 1; i < 14; ++i)
- {
- aes_subBytes(buf);
- aes_shiftRows(buf);
- aes_mixColumns(buf);
- if( i & 1 ) aes_addRoundKey( buf, &ctx->key[16]);
- else aes_expandEncKey(ctx->key, &rcon), aes_addRoundKey(buf, ctx->key);
- }
- aes_subBytes(buf);
- aes_shiftRows(buf);
- aes_expandEncKey(ctx->key, &rcon);
- aes_addRoundKey(buf, ctx->key);
-} /* aes256_encrypt */
-
-/* -------------------------------------------------------------------------- */
-void aes256_decrypt_ecb(aes256_context *ctx, uint8_t *buf)
-{
- uint8_t i, rcon;
-
- aes_addRoundKey_cpy(buf, ctx->deckey, ctx->key);
- aes_shiftRows_inv(buf);
- aes_subBytes_inv(buf);
-
- for (i = 14, rcon = 0x80; --i;)
- {
- if( ( i & 1 ) )
- {
- aes_expandDecKey(ctx->key, &rcon);
- aes_addRoundKey(buf, &ctx->key[16]);
- }
- else aes_addRoundKey(buf, ctx->key);
- aes_mixColumns_inv(buf);
- aes_shiftRows_inv(buf);
- aes_subBytes_inv(buf);
- }
- aes_addRoundKey( buf, ctx->key);
-} /* aes256_decrypt */
diff --git a/thirdparty/misc/aes256.h b/thirdparty/misc/aes256.h
deleted file mode 100644
index 150a0670f5..0000000000
--- a/thirdparty/misc/aes256.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-* Byte-oriented AES-256 implementation.
-* All lookup tables replaced with 'on the fly' calculations.
-*
-* Copyright (c) 2007-2009 Ilya O. Levin, http://www.literatecode.com
-* Other contributors: Hal Finney
-*
-* Permission to use, copy, modify, and distribute this software for any
-* purpose with or without fee is hereby granted, provided that the above
-* copyright notice and this permission notice appear in all copies.
-*
-* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
-#ifndef AES_256_H
-#define AES_256_H
-
-#include "core/typedefs.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- typedef struct {
- uint8_t key[32];
- uint8_t enckey[32];
- uint8_t deckey[32];
- } aes256_context;
-
-
- void aes256_init(aes256_context *, uint8_t * /* key */);
- void aes256_done(aes256_context *);
- void aes256_encrypt_ecb(aes256_context *, uint8_t * /* plaintext */);
- void aes256_decrypt_ecb(aes256_context *, uint8_t * /* cipertext */);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/thirdparty/misc/base64.c b/thirdparty/misc/base64.c
deleted file mode 100644
index 0929ae5db5..0000000000
--- a/thirdparty/misc/base64.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * File: base64.c
- * Description: Simple BASE64 conversion methods
- * Author: Ari Edelkind
- * License: Public Domain
- * Website: http://episec.com/people/edelkind/c.html
- */
-
-#include <string.h>
-
-char b64string[] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
-long base64_encode (to, from, len)
- char *to, *from;
- unsigned int len;
-{
- char *fromp = from;
- char *top = to;
- unsigned char cbyte;
- unsigned char obyte;
- char end[3];
-
- for (; len >= 3; len -= 3) {
- cbyte = *fromp++;
- *top++ = b64string[(int)(cbyte >> 2)];
- obyte = (cbyte << 4) & 0x30; /* 0011 0000 */
-
- cbyte = *fromp++;
- obyte |= (cbyte >> 4); /* 0000 1111 */
- *top++ = b64string[(int)obyte];
- obyte = (cbyte << 2) & 0x3C; /* 0011 1100 */
-
- cbyte = *fromp++;
- obyte |= (cbyte >> 6); /* 0000 0011 */
- *top++ = b64string[(int)obyte];
- *top++ = b64string[(int)(cbyte & 0x3F)];/* 0011 1111 */
- }
-
- if (len) {
- end[0] = *fromp++;
- if (--len) end[1] = *fromp++; else end[1] = 0;
- end[2] = 0;
-
- cbyte = end[0];
- *top++ = b64string[(int)(cbyte >> 2)];
- obyte = (cbyte << 4) & 0x30; /* 0011 0000 */
-
- cbyte = end[1];
- obyte |= (cbyte >> 4);
- *top++ = b64string[(int)obyte];
- obyte = (cbyte << 2) & 0x3C; /* 0011 1100 */
-
- if (len) *top++ = b64string[(int)obyte];
- else *top++ = '=';
- *top++ = '=';
- }
- *top = 0;
- return top - to;
-}
-
-/* badchar(): check if c is decent; puts either the */
-/* location of c or null into p. */
-#define badchar(c,p) (!(p = memchr(b64string, c, 64)))
-
-long base64_decode (to, from, len)
- char *to, *from;
- unsigned int len;
-{
- char *fromp = from;
- char *top = to;
- char *p;
- unsigned char cbyte;
- unsigned char obyte;
- int padding = 0;
-
- for (; len >= 4; len -= 4) {
- if ((cbyte = *fromp++) == '=') cbyte = 0;
- else {
- if (badchar(cbyte, p)) return -1;
- cbyte = (p - b64string);
- }
- obyte = cbyte << 2; /* 1111 1100 */
-
- if ((cbyte = *fromp++) == '=') cbyte = 0;
- else {
- if (badchar(cbyte, p)) return -1;
- cbyte = p - b64string;
- }
- obyte |= cbyte >> 4; /* 0000 0011 */
- *top++ = obyte;
-
- obyte = cbyte << 4; /* 1111 0000 */
- if ((cbyte = *fromp++) == '=') { cbyte = 0; padding++; }
- else {
- padding = 0;
- if (badchar (cbyte, p)) return -1;
- cbyte = p - b64string;
- }
- obyte |= cbyte >> 2; /* 0000 1111 */
- *top++ = obyte;
-
- obyte = cbyte << 6; /* 1100 0000 */
- if ((cbyte = *fromp++) == '=') { cbyte = 0; padding++; }
- else {
- padding = 0;
- if (badchar (cbyte, p)) return -1;
- cbyte = p - b64string;
- }
- obyte |= cbyte; /* 0011 1111 */
- *top++ = obyte;
- }
-
- *top = 0;
- if (len) return -1;
- return (top - to) - padding;
-}
-
diff --git a/thirdparty/misc/base64.h b/thirdparty/misc/base64.h
deleted file mode 100644
index ffcd0af973..0000000000
--- a/thirdparty/misc/base64.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * File: base64.h
- * Description: Simple BASE64 conversion methods
- * Author: Ari Edelkind
- * License: Public Domain
- * Website: http://episec.com/people/edelkind/c.html
- */
-
-#ifndef BASE64_H
-#define BASE64_H
-
-extern "C" {
-
-long base64_encode(char *to, char *from, unsigned int len);
-long base64_decode(char *to, char *from, unsigned int len);
-};
-
-#endif /* BASE64_H */
diff --git a/thirdparty/misc/md5.cpp b/thirdparty/misc/md5.cpp
deleted file mode 100644
index 1653ab0be5..0000000000
--- a/thirdparty/misc/md5.cpp
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- **********************************************************************
- ** md5.c **
- ** RSA Data Security, Inc. MD5 Message Digest Algorithm **
- ** Created: 2/17/90 RLR **
- ** Revised: 1/91 SRD,AJ,BSK,JT Reference C Version **
- **********************************************************************
- */
-
-/*
- **********************************************************************
- ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
- ** **
- ** License to copy and use this software is granted provided that **
- ** it is identified as the "RSA Data Security, Inc. MD5 Message **
- ** Digest Algorithm" in all material mentioning or referencing this **
- ** software or this function. **
- ** **
- ** License is also granted to make and use derivative works **
- ** provided that such works are identified as "derived from the RSA **
- ** Data Security, Inc. MD5 Message Digest Algorithm" in all **
- ** material mentioning or referencing the derived work. **
- ** **
- ** RSA Data Security, Inc. makes no representations concerning **
- ** either the merchantability of this software or the suitability **
- ** of this software for any particular purpose. It is provided "as **
- ** is" without express or implied warranty of any kind. **
- ** **
- ** These notices must be retained in any copies of any part of this **
- ** documentation and/or software. **
- **********************************************************************
- */
-
-/* -- include the following line if the md5.h header file is separate -- */
-#include "md5.h"
-
-/* forward declaration */
-static void Transform (uint32_t *buf, uint32_t *in);
-
-
-static unsigned char PADDING[64] = {
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-/* F, G and H are basic MD5 functions: selection, majority, parity */
-#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
-#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-#define I(x, y, z) ((y) ^ ((x) | (~z)))
-
-/* ROTATE_LEFT rotates x left n bits */
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-
-/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4 */
-/* Rotation is separate from addition to prevent recomputation */
-#define FF(a, b, c, d, x, s, ac) \
- {(a) += F ((b), (c), (d)) + (x) + (uint32_t)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define GG(a, b, c, d, x, s, ac) \
- {(a) += G ((b), (c), (d)) + (x) + (uint32_t)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define HH(a, b, c, d, x, s, ac) \
- {(a) += H ((b), (c), (d)) + (x) + (uint32_t)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define II(a, b, c, d, x, s, ac) \
- {(a) += I ((b), (c), (d)) + (x) + (uint32_t)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-
-void MD5Init (MD5_CTX *mdContext)
-{
- mdContext->i[0] = mdContext->i[1] = (uint32_t)0;
-
- /* Load magic initialization constants.
- */
- mdContext->buf[0] = (uint32_t)0x67452301;
- mdContext->buf[1] = (uint32_t)0xefcdab89;
- mdContext->buf[2] = (uint32_t)0x98badcfe;
- mdContext->buf[3] = (uint32_t)0x10325476;
-}
-
-void MD5Update (MD5_CTX *mdContext,unsigned char *inBuf,unsigned int inLen) {
- uint32_t in[16];
- int mdi;
- unsigned int i, ii;
-
- /* compute number of bytes mod 64 */
- mdi = (int)((mdContext->i[0] >> 3) & 0x3F);
-
- /* update number of bits */
- if ((mdContext->i[0] + ((uint32_t)inLen << 3)) < mdContext->i[0])
- mdContext->i[1]++;
- mdContext->i[0] += ((uint32_t)inLen << 3);
- mdContext->i[1] += ((uint32_t)inLen >> 29);
-
- while (inLen--) {
- /* add new character to buffer, increment mdi */
- mdContext->in[mdi++] = *inBuf++;
-
- /* transform if necessary */
- if (mdi == 0x40) {
- for (i = 0, ii = 0; i < 16; i++, ii += 4)
- in[i] = (((uint32_t)mdContext->in[ii+3]) << 24) |
- (((uint32_t)mdContext->in[ii+2]) << 16) |
- (((uint32_t)mdContext->in[ii+1]) << 8) |
- ((uint32_t)mdContext->in[ii]);
- Transform (mdContext->buf, in);
- mdi = 0;
- }
- }
-}
-
-void MD5Final (MD5_CTX *mdContext) {
- uint32_t in[16];
- int mdi;
- unsigned int i, ii;
- unsigned int padLen;
-
- /* save number of bits */
- in[14] = mdContext->i[0];
- in[15] = mdContext->i[1];
-
- /* compute number of bytes mod 64 */
- mdi = (int)((mdContext->i[0] >> 3) & 0x3F);
-
- /* pad out to 56 mod 64 */
- padLen = (mdi < 56) ? (56 - mdi) : (120 - mdi);
- MD5Update (mdContext, PADDING, padLen);
-
- /* append length in bits and transform */
- for (i = 0, ii = 0; i < 14; i++, ii += 4)
- in[i] = (((uint32_t)mdContext->in[ii+3]) << 24) |
- (((uint32_t)mdContext->in[ii+2]) << 16) |
- (((uint32_t)mdContext->in[ii+1]) << 8) |
- ((uint32_t)mdContext->in[ii]);
- Transform (mdContext->buf, in);
-
- /* store buffer in digest */
- for (i = 0, ii = 0; i < 4; i++, ii += 4) {
- mdContext->digest[ii] = (unsigned char)(mdContext->buf[i] & 0xFF);
- mdContext->digest[ii+1] =
- (unsigned char)((mdContext->buf[i] >> 8) & 0xFF);
- mdContext->digest[ii+2] =
- (unsigned char)((mdContext->buf[i] >> 16) & 0xFF);
- mdContext->digest[ii+3] =
- (unsigned char)((mdContext->buf[i] >> 24) & 0xFF);
- }
-}
-
-/* Basic MD5 step. Transform buf based on in.
- */
-static void Transform (uint32_t *buf, uint32_t *in) {
- uint32_t a = buf[0], b = buf[1], c = buf[2], d = buf[3];
-
- /* Round 1 */
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
- FF ( a, b, c, d, in[ 0], S11, 3614090360); /* 1 */
- FF ( d, a, b, c, in[ 1], S12, 3905402710); /* 2 */
- FF ( c, d, a, b, in[ 2], S13, 606105819); /* 3 */
- FF ( b, c, d, a, in[ 3], S14, 3250441966); /* 4 */
- FF ( a, b, c, d, in[ 4], S11, 4118548399); /* 5 */
- FF ( d, a, b, c, in[ 5], S12, 1200080426); /* 6 */
- FF ( c, d, a, b, in[ 6], S13, 2821735955); /* 7 */
- FF ( b, c, d, a, in[ 7], S14, 4249261313); /* 8 */
- FF ( a, b, c, d, in[ 8], S11, 1770035416); /* 9 */
- FF ( d, a, b, c, in[ 9], S12, 2336552879); /* 10 */
- FF ( c, d, a, b, in[10], S13, 4294925233); /* 11 */
- FF ( b, c, d, a, in[11], S14, 2304563134); /* 12 */
- FF ( a, b, c, d, in[12], S11, 1804603682); /* 13 */
- FF ( d, a, b, c, in[13], S12, 4254626195); /* 14 */
- FF ( c, d, a, b, in[14], S13, 2792965006); /* 15 */
- FF ( b, c, d, a, in[15], S14, 1236535329); /* 16 */
-
- /* Round 2 */
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
- GG ( a, b, c, d, in[ 1], S21, 4129170786); /* 17 */
- GG ( d, a, b, c, in[ 6], S22, 3225465664); /* 18 */
- GG ( c, d, a, b, in[11], S23, 643717713); /* 19 */
- GG ( b, c, d, a, in[ 0], S24, 3921069994); /* 20 */
- GG ( a, b, c, d, in[ 5], S21, 3593408605); /* 21 */
- GG ( d, a, b, c, in[10], S22, 38016083); /* 22 */
- GG ( c, d, a, b, in[15], S23, 3634488961); /* 23 */
- GG ( b, c, d, a, in[ 4], S24, 3889429448); /* 24 */
- GG ( a, b, c, d, in[ 9], S21, 568446438); /* 25 */
- GG ( d, a, b, c, in[14], S22, 3275163606); /* 26 */
- GG ( c, d, a, b, in[ 3], S23, 4107603335); /* 27 */
- GG ( b, c, d, a, in[ 8], S24, 1163531501); /* 28 */
- GG ( a, b, c, d, in[13], S21, 2850285829); /* 29 */
- GG ( d, a, b, c, in[ 2], S22, 4243563512); /* 30 */
- GG ( c, d, a, b, in[ 7], S23, 1735328473); /* 31 */
- GG ( b, c, d, a, in[12], S24, 2368359562); /* 32 */
-
- /* Round 3 */
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
- HH ( a, b, c, d, in[ 5], S31, 4294588738); /* 33 */
- HH ( d, a, b, c, in[ 8], S32, 2272392833); /* 34 */
- HH ( c, d, a, b, in[11], S33, 1839030562); /* 35 */
- HH ( b, c, d, a, in[14], S34, 4259657740); /* 36 */
- HH ( a, b, c, d, in[ 1], S31, 2763975236); /* 37 */
- HH ( d, a, b, c, in[ 4], S32, 1272893353); /* 38 */
- HH ( c, d, a, b, in[ 7], S33, 4139469664); /* 39 */
- HH ( b, c, d, a, in[10], S34, 3200236656); /* 40 */
- HH ( a, b, c, d, in[13], S31, 681279174); /* 41 */
- HH ( d, a, b, c, in[ 0], S32, 3936430074); /* 42 */
- HH ( c, d, a, b, in[ 3], S33, 3572445317); /* 43 */
- HH ( b, c, d, a, in[ 6], S34, 76029189); /* 44 */
- HH ( a, b, c, d, in[ 9], S31, 3654602809); /* 45 */
- HH ( d, a, b, c, in[12], S32, 3873151461); /* 46 */
- HH ( c, d, a, b, in[15], S33, 530742520); /* 47 */
- HH ( b, c, d, a, in[ 2], S34, 3299628645); /* 48 */
-
- /* Round 4 */
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
- II ( a, b, c, d, in[ 0], S41, 4096336452); /* 49 */
- II ( d, a, b, c, in[ 7], S42, 1126891415); /* 50 */
- II ( c, d, a, b, in[14], S43, 2878612391); /* 51 */
- II ( b, c, d, a, in[ 5], S44, 4237533241); /* 52 */
- II ( a, b, c, d, in[12], S41, 1700485571); /* 53 */
- II ( d, a, b, c, in[ 3], S42, 2399980690); /* 54 */
- II ( c, d, a, b, in[10], S43, 4293915773); /* 55 */
- II ( b, c, d, a, in[ 1], S44, 2240044497); /* 56 */
- II ( a, b, c, d, in[ 8], S41, 1873313359); /* 57 */
- II ( d, a, b, c, in[15], S42, 4264355552); /* 58 */
- II ( c, d, a, b, in[ 6], S43, 2734768916); /* 59 */
- II ( b, c, d, a, in[13], S44, 1309151649); /* 60 */
- II ( a, b, c, d, in[ 4], S41, 4149444226); /* 61 */
- II ( d, a, b, c, in[11], S42, 3174756917); /* 62 */
- II ( c, d, a, b, in[ 2], S43, 718787259); /* 63 */
- II ( b, c, d, a, in[ 9], S44, 3951481745); /* 64 */
-
- buf[0] += a;
- buf[1] += b;
- buf[2] += c;
- buf[3] += d;
-}
-
-/*
- **********************************************************************
- ** End of md5.c **
- ******************************* (cut) ********************************
- */
diff --git a/thirdparty/misc/md5.h b/thirdparty/misc/md5.h
deleted file mode 100644
index 14b3cd3ddf..0000000000
--- a/thirdparty/misc/md5.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef MD5_H
-#define MD5_H
-
-/*
- **********************************************************************
- ** md5.h -- Header file for implementation of MD5 **
- ** RSA Data Security, Inc. MD5 Message Digest Algorithm **
- ** Created: 2/17/90 RLR **
- ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version **
- ** Revised (for MD5): RLR 4/27/91 **
- ** -- G modified to have y&~z instead of y&z **
- ** -- FF, GG, HH modified to add in last register done **
- ** -- Access pattern: round 2 works mod 5, round 3 works mod 3 **
- ** -- distinct additive constant for each step **
- ** -- round 4 added, working mod 7 **
- **********************************************************************
- */
-
-/*
- **********************************************************************
- ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
- ** **
- ** License to copy and use this software is granted provided that **
- ** it is identified as the "RSA Data Security, Inc. MD5 Message **
- ** Digest Algorithm" in all material mentioning or referencing this **
- ** software or this function. **
- ** **
- ** License is also granted to make and use derivative works **
- ** provided that such works are identified as "derived from the RSA **
- ** Data Security, Inc. MD5 Message Digest Algorithm" in all **
- ** material mentioning or referencing the derived work. **
- ** **
- ** RSA Data Security, Inc. makes no representations concerning **
- ** either the merchantability of this software or the suitability **
- ** of this software for any particular purpose. It is provided "as **
- ** is" without express or implied warranty of any kind. **
- ** **
- ** These notices must be retained in any copies of any part of this **
- ** documentation and/or software. **
- **********************************************************************
- */
-
-/* NOT typedef a 32 bit type */
-
-#include "core/typedefs.h"
-
-/* Data structure for MD5 (Message Digest) computation */
-typedef struct {
- uint32_t i[2]; /* number of _bits_ handled mod 2^64 */
- uint32_t buf[4]; /* scratch buffer */
- unsigned char in[64]; /* input buffer */
- unsigned char digest[16]; /* actual digest after MD5Final call */
-} MD5_CTX;
-
-void MD5Init (MD5_CTX *mdContext);
-void MD5Update (MD5_CTX *mdContext,unsigned char *inBuf,unsigned int inLen);
-void MD5Final (MD5_CTX *mdContext);
-
-
-
-#endif // MD5_H
diff --git a/thirdparty/misc/sha256.c b/thirdparty/misc/sha256.c
deleted file mode 100644
index 68a4339af9..0000000000
--- a/thirdparty/misc/sha256.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
-* SHA-256 implementation.
-*
-* Copyright (c) 2010 Ilya O. Levin, http://www.literatecode.com
-*
-* Permission to use, copy, modify, and distribute this software for any
-* purpose with or without fee is hereby granted, provided that the above
-* copyright notice and this permission notice appear in all copies.
-*
-* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-#define SWAP_BYTES
-// #define USE_STD_MEMCPY
-// #define SELF_TEST
-
-#ifdef USE_STD_MEMCPY
-#include <string.h>
-#endif
-#include "sha256.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define RL(x,n) (((x) << n) | ((x) >> (32 - n)))
-#define RR(x,n) (((x) >> n) | ((x) << (32 - n)))
-
-#define S0(x) (RR((x), 2) ^ RR((x),13) ^ RR((x),22))
-#define S1(x) (RR((x), 6) ^ RR((x),11) ^ RR((x),25))
-#define G0(x) (RR((x), 7) ^ RR((x),18) ^ ((x) >> 3))
-#define G1(x) (RR((x),17) ^ RR((x),19) ^ ((x) >> 10))
-
-#ifdef SWAP_BYTES
-#define BSWP(x,y) _bswapw((uint32_t *)(x), (uint32_t)(y))
-#else
-#define BSWP(p,n)
-#endif
-#ifdef USE_STD_MEMCPY
-#define MEMCP(x,y,z) memcpy((x),(y),(z))
-#else
-#define MEMCP(x,y,z) _memcp((x),(y),(z))
-#endif
-
-#ifndef __cdecl
-#define __cdecl
-#endif
-
-static const uint32_t K[64] = {
- 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
- 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
- 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
- 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
- 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
- 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
- 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
- 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
- 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
- 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
- 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
- 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
- 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
- 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
- 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
- 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
-};
-
-/* -------------------------------------------------------------------------- */
-static void _bswapw(uint32_t *p, uint32_t i)
-{
- while (i--) p[i] = (RR(p[i],24) & 0x00ff00ff) | (RR(p[i],8) & 0xff00ff00);
-
-} /* _bswapw */
-
-/* -------------------------------------------------------------------------- */
-#ifndef USE_STD_MEMCPY
-void * __cdecl _memcp (void *d, const void *s, uint32_t sz)
-{
- void *rv = d;
-
- while (sz--) *(char *)d = *(char *)s, d = (char *)d + 1, s = (char *)s + 1;
-
- return(rv);
-} /* _memcp */
-#endif
-
-/* -------------------------------------------------------------------------- */
-static void _rtrf(uint32_t *b, uint32_t *p, uint32_t i, uint32_t j)
-{
- #define B(x, y) b[(x-y) & 7]
- #define P(x, y) p[(x+y) & 15]
-
- B(7,i) += (j ? (p[i & 15] += G1(P(i,14)) + P(i,9) + G0(P(i,1))) : p[i & 15])
- + K[i+j] + S1(B(4,i))
- + (B(6,i) ^ (B(4,i) & (B(5,i) ^ B(6,i))));
- B(3,i) += B(7,i);
- B(7,i) += S0(B(0,i)) + ( (B(0,i) & B(1,i)) | (B(2,i) & (B(0,i) ^ B(1,i))) );
-
- #undef P
- #undef B
-} /* _rtrf */
-
-/* -------------------------------------------------------------------------- */
-static void _hash(sha256_context *ctx)
-{
- uint32_t b[8], *p, j;
-
- b[0] = ctx->hash[0]; b[1] = ctx->hash[1]; b[2] = ctx->hash[2];
- b[3] = ctx->hash[3]; b[4] = ctx->hash[4]; b[5] = ctx->hash[5];
- b[6] = ctx->hash[6]; b[7] = ctx->hash[7];
-
- for (p = ctx->buf, j = 0; j < 64; j += 16)
- _rtrf(b, p, 0, j), _rtrf(b, p, 1, j), _rtrf(b, p, 2, j),
- _rtrf(b, p, 3, j), _rtrf(b, p, 4, j), _rtrf(b, p, 5, j),
- _rtrf(b, p, 6, j), _rtrf(b, p, 7, j), _rtrf(b, p, 8, j),
- _rtrf(b, p, 9, j), _rtrf(b, p, 10, j), _rtrf(b, p, 11, j),
- _rtrf(b, p, 12, j), _rtrf(b, p, 13, j), _rtrf(b, p, 14, j),
- _rtrf(b, p, 15, j);
-
- ctx->hash[0] += b[0]; ctx->hash[1] += b[1]; ctx->hash[2] += b[2];
- ctx->hash[3] += b[3]; ctx->hash[4] += b[4]; ctx->hash[5] += b[5];
- ctx->hash[6] += b[6]; ctx->hash[7] += b[7];
-
-} /* _hash */
-
-/* -------------------------------------------------------------------------- */
-void sha256_init(sha256_context ctx[1])
-{
- ctx->len[0] = ctx->len[1] = 0;
- ctx->hash[0] = 0x6a09e667; ctx->hash[1] = 0xbb67ae85;
- ctx->hash[2] = 0x3c6ef372; ctx->hash[3] = 0xa54ff53a;
- ctx->hash[4] = 0x510e527f; ctx->hash[5] = 0x9b05688c;
- ctx->hash[6] = 0x1f83d9ab; ctx->hash[7] = 0x5be0cd19;
-
-} /* sha256_init */
-
-/* -------------------------------------------------------------------------- */
-void sha256_hash(sha256_context *ctx, uint8_t *dat, uint32_t sz)
-{
- register uint32_t i = ctx->len[0] & 63, l, j;
-
- if ((ctx->len[0] += sz) < sz) ++(ctx->len[1]);
-
- for (j = 0, l = 64-i; sz >= l; j += l, sz -= l, l = 64, i = 0)
- {
- MEMCP(&ctx->buf[i], &dat[j], l);
- BSWP(ctx->buf, 16 );
- _hash(ctx);
- }
- MEMCP(&ctx->buf[i], &dat[j], sz);
-
-} /* _hash */
-
-/* -------------------------------------------------------------------------- */
-void sha256_done(sha256_context *ctx, uint8_t *buf)
-{
- uint32_t i = (uint32_t)(ctx->len[0] & 63), j = ((~i) & 3) << 3;
-
- BSWP(ctx->buf, (i + 3) >> 2);
-
- ctx->buf[i >> 2] &= 0xffffff80 << j; /* add padding */
- ctx->buf[i >> 2] |= 0x00000080 << j;
-
- if (i < 56) i = (i >> 2) + 1;
- else ctx->buf[15] ^= (i < 60) ? ctx->buf[15] : 0, _hash(ctx), i = 0;
-
- while (i < 14) ctx->buf[i++] = 0;
-
- ctx->buf[14] = (ctx->len[1] << 3)|(ctx->len[0] >> 29); /* add length */
- ctx->buf[15] = ctx->len[0] << 3;
-
- _hash(ctx);
-
- for (i = 0; i < 32; i++)
- ctx->buf[i % 16] = 0, /* may remove this line in case of a DIY cleanup */
- buf[i] = (uint8_t)(ctx->hash[i >> 2] >> ((~i & 3) << 3));
-
-} /* sha256_done */
-
-
-#ifdef SELF_TEST
-#pragma warning (push, 0)
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#pragma warning(pop)
-
-char *buf[] = {
- "",
- "e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b 7852b855",
-
- "abc",
- "ba7816bf 8f01cfea 414140de 5dae2223 b00361a3 96177a9c b410ff61 f20015ad",
-
- "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
- "248d6a61 d20638b8 e5c02693 0c3e6039 a33ce459 64ff2167 f6ecedd4 19db06c1",
-
- "The quick brown fox jumps over the lazy dog",
- "d7a8fbb3 07d78094 69ca9abc b0082e4f 8d5651e4 6d3cdb76 2d02d0bf 37c9e592",
-
- "The quick brown fox jumps over the lazy cog", /* avalanche effect test */
- "e4c4d8f3 bf76b692 de791a17 3e053211 50f7a345 b46484fe 427f6acc 7ecc81be",
-
- "bhn5bjmoniertqea40wro2upyflkydsibsk8ylkmgbvwi420t44cq034eou1szc1k0mk46oeb7ktzmlxqkbte2sy",
- "9085df2f 02e0cc45 5928d0f5 1b27b4bf 1d9cd260 a66ed1fd a11b0a3f f5756d99"
-};
-
-int main(int argc, char *argv[])
-{
- sha256_context ctx;
- uint8_t hv[32];
- uint32_t i, j;
-
- for (j = 0; j < (sizeof(buf)/sizeof(buf[0])); j += 2)
- {
- sha256_init(&ctx);
- sha256_hash(&ctx, (uint8_t *)buf[j], (uint32_t)strlen(buf[j]));
- sha256_done(&ctx, hv);
- printf("input = %s\ndigest: %s\nresult: ", buf[j], buf[j+1]);
- for (i = 0; i < 32; i++) printf("%02x%s", hv[i], ((i%4)==3)?" ":"");
- printf("\n\n");
- }
-
- for (j = 1; j < (uint32_t)argc; j++)
- {
- printf("argv[%d]: %s\nresult: ", (int)j, argv[j]);
- sha256_init(&ctx);
- sha256_hash(&ctx, (uint8_t *)argv[j], (uint32_t)strlen(argv[j]));
- sha256_done(&ctx, hv);
- for (i = 0; i < 32; i++) printf("%02x%s", hv[i], ((i%4)==3)?" ":"");
- printf("\n\n");
- }
-
- return 0;
-} /* main */
-#endif
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/thirdparty/misc/sha256.h b/thirdparty/misc/sha256.h
deleted file mode 100644
index e19e56b4cc..0000000000
--- a/thirdparty/misc/sha256.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-* SHA-256 implementation.
-*
-* Copyright (c) 2010 Ilya O. Levin, http://www.literatecode.com
-*
-* Permission to use, copy, modify, and distribute this software for any
-* purpose with or without fee is hereby granted, provided that the above
-* copyright notice and this permission notice appear in all copies.
-*
-* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-#ifdef _MSC_VER
-#ifndef uint8_t
-typedef unsigned __int8 uint8_t;
-#endif
-#ifndef uint32_t
-typedef unsigned __int32 uint32_t;
-#endif
-#ifndef uint64_t
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-#endif
-#else
-#include <stdint.h>
-#endif
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
- typedef struct {
- uint32_t buf[16];
- uint32_t hash[8];
- uint32_t len[2];
- } sha256_context;
-
- void sha256_init(sha256_context *);
- void sha256_hash(sha256_context *, uint8_t * /* data */, uint32_t /* len */);
- void sha256_done(sha256_context *, uint8_t * /* hash */);
-
-#ifdef __cplusplus
-}
-#endif