diff options
Diffstat (limited to 'doc')
115 files changed, 1264 insertions, 1906 deletions
diff --git a/doc/classes/@GDScript.xml b/doc/classes/@GDScript.xml index 2cfdfafea1..493f55e89b 100644 --- a/doc/classes/@GDScript.xml +++ b/doc/classes/@GDScript.xml @@ -55,7 +55,7 @@ <argument index="0" name="s" type="float"> </argument> <description> - Returns the absolute value of parameter [code]s[/code] (i.e. unsigned value, works for integer and float). + Returns the absolute value of parameter [code]s[/code] (i.e. unsigned value, works for integer and float). [codeblock] # a is 1 a = abs(-1) @@ -120,9 +120,9 @@ <method name="atan2"> <return type="float"> </return> - <argument index="0" name="x" type="float"> + <argument index="0" name="y" type="float"> </argument> - <argument index="1" name="y" type="float"> + <argument index="1" name="x" type="float"> </argument> <description> Returns the arc tangent of [code]y/x[/code] in radians. Use to get the angle of tangent [code]y/x[/code]. To compute the value, the method takes into account the sign of both arguments in order to determine the quadrant. @@ -373,7 +373,7 @@ <description> Returns the floating-point remainder of [code]x/y[/code] that wraps equally in positive and negative. [codeblock] - var i = -10; + var i = -10 while i < 0: prints(i, fposmod(i, 10)) i += 1 @@ -412,7 +412,7 @@ </description> </method> <method name="get_stack"> - <return type="void"> + <return type="Array"> </return> <description> </description> diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index d2c6a853ad..65d339c0d5 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -29,6 +29,8 @@ <member name="Geometry" type="Geometry" setter="" getter=""> [Geometry] singleton </member> + <member name="GodotSharp" type="GodotSharp" setter="" getter=""> + </member> <member name="IP" type="IP" setter="" getter=""> [IP] singleton </member> @@ -884,8 +886,10 @@ Middle Mouse Button </constant> <constant name="BUTTON_XBUTTON1" value="8" enum="ButtonList"> + Extra Mouse Button 1 </constant> <constant name="BUTTON_XBUTTON2" value="9" enum="ButtonList"> + Extra Mouse Button 2 </constant> <constant name="BUTTON_WHEEL_UP" value="4" enum="ButtonList"> Mouse wheel up @@ -909,8 +913,10 @@ Middle Mouse Button Mask </constant> <constant name="BUTTON_MASK_XBUTTON1" value="128" enum="ButtonList"> + Extra Mouse Button 1 Mask </constant> <constant name="BUTTON_MASK_XBUTTON2" value="256" enum="ButtonList"> + Extra Mouse Button 2 Mask </constant> <constant name="JOY_BUTTON_0" value="0" enum="JoystickList"> Joypad Button 0 diff --git a/doc/classes/ARVRController.xml b/doc/classes/ARVRController.xml index 9c306c3ea4..d3d6fce537 100644 --- a/doc/classes/ARVRController.xml +++ b/doc/classes/ARVRController.xml @@ -6,7 +6,7 @@ <description> This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy pass throughs 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. + 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. </description> <tutorials> </tutorials> diff --git a/doc/classes/AnimatedTexture.xml b/doc/classes/AnimatedTexture.xml index f874c43ef1..9dc58ed195 100644 --- a/doc/classes/AnimatedTexture.xml +++ b/doc/classes/AnimatedTexture.xml @@ -9,1034 +9,46 @@ <demos> </demos> <methods> + <method name="get_frame_delay" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="frame" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_frame_texture" qualifiers="const"> + <return type="Texture"> + </return> + <argument index="0" name="frame" type="int"> + </argument> + <description> + </description> + </method> + <method name="set_frame_delay"> + <return type="void"> + </return> + <argument index="0" name="frame" type="int"> + </argument> + <argument index="1" name="delay" type="float"> + </argument> + <description> + </description> + </method> + <method name="set_frame_texture"> + <return type="void"> + </return> + <argument index="0" name="frame" type="int"> + </argument> + <argument index="1" name="texture" type="Texture"> + </argument> + <description> + </description> + </method> </methods> <members> <member name="fps" type="float" setter="set_fps" getter="get_fps"> </member> - <member name="frame_0/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_0/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_1/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_1/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_10/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_10/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_100/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_100/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_101/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_101/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_102/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_102/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_103/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_103/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_104/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_104/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_105/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_105/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_106/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_106/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_107/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_107/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_108/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_108/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_109/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_109/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_11/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_11/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_110/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_110/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_111/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_111/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_112/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_112/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_113/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_113/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_114/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_114/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_115/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_115/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_116/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_116/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_117/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_117/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_118/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_118/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_119/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_119/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_12/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_12/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_120/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_120/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_121/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_121/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_122/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_122/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_123/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_123/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_124/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_124/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_125/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_125/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_126/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_126/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_127/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_127/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_128/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_128/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_129/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_129/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_13/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_13/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_130/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_130/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_131/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_131/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_132/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_132/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_133/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_133/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_134/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_134/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_135/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_135/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_136/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_136/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_137/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_137/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_138/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_138/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_139/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_139/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_14/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_14/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_140/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_140/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_141/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_141/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_142/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_142/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_143/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_143/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_144/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_144/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_145/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_145/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_146/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_146/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_147/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_147/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_148/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_148/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_149/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_149/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_15/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_15/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_150/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_150/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_151/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_151/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_152/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_152/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_153/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_153/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_154/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_154/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_155/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_155/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_156/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_156/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_157/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_157/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_158/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_158/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_159/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_159/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_16/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_16/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_160/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_160/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_161/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_161/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_162/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_162/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_163/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_163/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_164/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_164/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_165/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_165/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_166/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_166/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_167/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_167/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_168/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_168/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_169/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_169/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_17/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_17/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_170/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_170/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_171/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_171/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_172/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_172/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_173/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_173/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_174/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_174/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_175/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_175/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_176/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_176/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_177/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_177/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_178/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_178/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_179/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_179/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_18/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_18/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_180/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_180/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_181/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_181/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_182/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_182/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_183/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_183/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_184/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_184/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_185/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_185/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_186/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_186/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_187/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_187/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_188/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_188/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_189/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_189/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_19/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_19/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_190/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_190/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_191/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_191/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_192/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_192/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_193/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_193/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_194/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_194/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_195/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_195/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_196/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_196/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_197/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_197/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_198/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_198/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_199/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_199/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_2/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_2/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_20/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_20/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_200/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_200/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_201/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_201/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_202/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_202/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_203/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_203/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_204/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_204/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_205/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_205/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_206/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_206/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_207/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_207/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_208/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_208/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_209/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_209/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_21/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_21/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_210/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_210/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_211/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_211/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_212/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_212/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_213/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_213/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_214/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_214/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_215/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_215/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_216/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_216/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_217/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_217/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_218/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_218/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_219/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_219/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_22/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_22/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_220/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_220/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_221/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_221/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_222/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_222/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_223/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_223/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_224/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_224/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_225/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_225/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_226/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_226/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_227/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_227/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_228/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_228/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_229/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_229/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_23/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_23/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_230/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_230/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_231/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_231/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_232/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_232/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_233/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_233/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_234/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_234/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_235/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_235/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_236/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_236/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_237/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_237/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_238/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_238/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_239/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_239/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_24/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_24/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_240/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_240/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_241/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_241/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_242/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_242/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_243/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_243/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_244/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_244/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_245/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_245/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_246/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_246/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_247/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_247/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_248/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_248/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_249/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_249/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_25/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_25/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_250/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_250/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_251/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_251/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_252/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_252/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_253/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_253/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_254/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_254/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_255/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_255/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_26/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_26/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_27/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_27/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_28/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_28/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_29/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_29/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_3/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_3/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_30/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_30/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_31/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_31/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_32/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_32/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_33/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_33/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_34/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_34/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_35/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_35/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_36/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_36/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_37/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_37/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_38/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_38/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_39/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_39/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_4/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_4/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_40/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_40/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_41/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_41/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_42/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_42/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_43/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_43/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_44/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_44/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_45/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_45/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_46/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_46/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_47/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_47/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_48/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_48/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_49/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_49/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_5/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_5/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_50/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_50/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_51/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_51/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_52/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_52/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_53/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_53/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_54/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_54/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_55/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_55/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_56/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_56/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_57/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_57/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_58/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_58/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_59/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_59/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_6/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_6/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_60/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_60/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_61/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_61/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_62/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_62/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_63/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_63/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_64/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_64/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_65/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_65/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_66/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_66/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_67/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_67/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_68/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_68/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_69/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_69/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_7/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_7/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_70/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_70/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_71/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_71/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_72/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_72/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_73/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_73/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_74/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_74/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_75/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_75/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_76/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_76/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_77/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_77/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_78/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_78/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_79/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_79/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_8/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_8/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_80/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_80/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_81/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_81/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_82/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_82/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_83/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_83/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_84/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_84/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_85/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_85/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_86/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_86/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_87/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_87/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_88/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_88/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_89/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_89/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_9/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_9/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_90/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_90/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_91/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_91/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_92/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_92/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_93/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_93/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_94/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_94/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_95/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_95/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_96/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_96/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_97/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_97/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_98/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_98/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> - <member name="frame_99/delay_sec" type="float" setter="set_frame_delay" getter="get_frame_delay"> - </member> - <member name="frame_99/texture" type="Texture" setter="set_frame_texture" getter="get_frame_texture"> - </member> <member name="frames" type="int" setter="set_frames" getter="get_frames"> </member> </members> diff --git a/doc/classes/Area.xml b/doc/classes/Area.xml index 5c56b5e21b..970d09a2ac 100644 --- a/doc/classes/Area.xml +++ b/doc/classes/Area.xml @@ -142,14 +142,14 @@ </members> <signals> <signal name="area_entered"> - <argument index="0" name="area" type="Object"> + <argument index="0" name="area" type="Area"> </argument> <description> Emitted when another area enters. </description> </signal> <signal name="area_exited"> - <argument index="0" name="area" type="Object"> + <argument index="0" name="area" type="Area"> </argument> <description> Emitted when another area exits. @@ -158,7 +158,7 @@ <signal name="area_shape_entered"> <argument index="0" name="area_id" type="int"> </argument> - <argument index="1" name="area" type="Object"> + <argument index="1" name="area" type="Area"> </argument> <argument index="2" name="area_shape" type="int"> </argument> @@ -171,7 +171,7 @@ <signal name="area_shape_exited"> <argument index="0" name="area_id" type="int"> </argument> - <argument index="1" name="area" type="Object"> + <argument index="1" name="area" type="Area"> </argument> <argument index="2" name="area_shape" type="int"> </argument> @@ -182,14 +182,14 @@ </description> </signal> <signal name="body_entered"> - <argument index="0" name="body" type="Object"> + <argument index="0" name="body" type="Node"> </argument> <description> Emitted when a [PhysicsBody] object enters. </description> </signal> <signal name="body_exited"> - <argument index="0" name="body" type="Object"> + <argument index="0" name="body" type="Node"> </argument> <description> Emitted when a [PhysicsBody] object exits. @@ -198,7 +198,7 @@ <signal name="body_shape_entered"> <argument index="0" name="body_id" type="int"> </argument> - <argument index="1" name="body" type="Object"> + <argument index="1" name="body" type="Node"> </argument> <argument index="2" name="body_shape" type="int"> </argument> @@ -211,7 +211,7 @@ <signal name="body_shape_exited"> <argument index="0" name="body_id" type="int"> </argument> - <argument index="1" name="body" type="Object"> + <argument index="1" name="body" type="Node"> </argument> <argument index="2" name="body_shape" type="int"> </argument> diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml index c50ccefc4c..b77a931201 100644 --- a/doc/classes/Area2D.xml +++ b/doc/classes/Area2D.xml @@ -130,14 +130,14 @@ </members> <signals> <signal name="area_entered"> - <argument index="0" name="area" type="Object"> + <argument index="0" name="area" type="Area2D"> </argument> <description> Emitted when another area enters. </description> </signal> <signal name="area_exited"> - <argument index="0" name="area" type="Object"> + <argument index="0" name="area" type="Area2D"> </argument> <description> Emitted when another area exits. @@ -146,7 +146,7 @@ <signal name="area_shape_entered"> <argument index="0" name="area_id" type="int"> </argument> - <argument index="1" name="area" type="Object"> + <argument index="1" name="area" type="Area2D"> </argument> <argument index="2" name="area_shape" type="int"> </argument> @@ -159,7 +159,7 @@ <signal name="area_shape_exited"> <argument index="0" name="area_id" type="int"> </argument> - <argument index="1" name="area" type="Object"> + <argument index="1" name="area" type="Area2D"> </argument> <argument index="2" name="area_shape" type="int"> </argument> @@ -170,14 +170,14 @@ </description> </signal> <signal name="body_entered"> - <argument index="0" name="body" type="Object"> + <argument index="0" name="body" type="PhysicsBody2D"> </argument> <description> Emitted when a [PhysicsBody2D] object enters. </description> </signal> <signal name="body_exited"> - <argument index="0" name="body" type="Object"> + <argument index="0" name="body" type="PhysicsBody2D"> </argument> <description> Emitted when a [PhysicsBody2D] object exits. @@ -186,7 +186,7 @@ <signal name="body_shape_entered"> <argument index="0" name="body_id" type="int"> </argument> - <argument index="1" name="body" type="Object"> + <argument index="1" name="body" type="PhysicsBody2D"> </argument> <argument index="2" name="body_shape" type="int"> </argument> @@ -199,7 +199,7 @@ <signal name="body_shape_exited"> <argument index="0" name="body_id" type="int"> </argument> - <argument index="1" name="body" type="Object"> + <argument index="1" name="body" type="PhysicsBody2D"> </argument> <argument index="2" name="body_shape" type="int"> </argument> diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index 9c5ae8ebd0..b013b3c4ae 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -84,14 +84,14 @@ </description> </method> <method name="append"> - <argument index="0" name="value" type="var"> + <argument index="0" name="value" type="Variant"> </argument> <description> Append an element at the end of the array (alias of [method push_back]). </description> </method> <method name="back"> - <return type="var"> + <return type="Variant"> </return> <description> Returns the last element of the array if the array is not empty (size>0). @@ -100,7 +100,7 @@ <method name="bsearch"> <return type="int"> </return> - <argument index="0" name="value" type="var"> + <argument index="0" name="value" type="Variant"> </argument> <argument index="1" name="before" type="bool" default="True"> </argument> @@ -111,7 +111,7 @@ <method name="bsearch_custom"> <return type="int"> </return> - <argument index="0" name="value" type="var"> + <argument index="0" name="value" type="Variant"> </argument> <argument index="1" name="obj" type="Object"> </argument> @@ -120,7 +120,7 @@ <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 false, 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 true if the first argument is less than the second, and return false 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 before specifier can be passed. If false, 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 true if the first argument is less than the second, and return false otherwise. Note that calling bsearch on an unsorted array results in unexpected behavior. </description> </method> <method name="clear"> @@ -131,7 +131,7 @@ <method name="count"> <return type="int"> </return> - <argument index="0" name="value" type="var"> + <argument index="0" name="value" type="Variant"> </argument> <description> Return the amount of times an element is in the array. @@ -155,7 +155,7 @@ </description> </method> <method name="erase"> - <argument index="0" name="value" type="var"> + <argument index="0" name="value" type="Variant"> </argument> <description> Remove the first occurrence of a value from the array. @@ -164,7 +164,7 @@ <method name="find"> <return type="int"> </return> - <argument index="0" name="what" type="var"> + <argument index="0" name="what" type="Variant"> </argument> <argument index="1" name="from" type="int" default="0"> </argument> @@ -175,14 +175,14 @@ <method name="find_last"> <return type="int"> </return> - <argument index="0" name="value" type="var"> + <argument index="0" name="value" type="Variant"> </argument> <description> Searches the array in reverse order for a value and returns its index or -1 if not found. </description> </method> <method name="front"> - <return type="var"> + <return type="Variant"> </return> <description> Returns the first element of the array if the array is not empty (size>0). @@ -191,7 +191,7 @@ <method name="has"> <return type="bool"> </return> - <argument index="0" name="value" type="var"> + <argument index="0" name="value" type="Variant"> </argument> <description> Return true if the array contains given value. @@ -213,40 +213,54 @@ <method name="insert"> <argument index="0" name="position" type="int"> </argument> - <argument index="1" name="value" type="var"> + <argument index="1" name="value" type="Variant"> </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 (pos==size()). + Insert a new element at a given position in the array. The position must be valid, or at the end of the array ([code]pos == size()[/code]). </description> </method> <method name="invert"> <description> - Reverse the order of the elements in the array (so first element will now be the last) and return reference to the array. + Reverse the order of the elements in the array. + </description> + </method> + <method name="max"> + <return type="Variant"> + </return> + <description> + Return maximum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned. + </description> + </method> + <method name="min"> + <return type="Variant"> + </return> + <description> + Return minimum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned. </description> </method> <method name="pop_back"> - <return type="var"> + <return type="Variant"> </return> <description> Remove the last element of the array. </description> </method> <method name="pop_front"> - <return type="var"> + <return type="Variant"> </return> <description> Remove the first element of the array. </description> </method> <method name="push_back"> - <argument index="0" name="value" type="var"> + <argument index="0" name="value" type="Variant"> </argument> <description> Append an element at the end of the array. </description> </method> <method name="push_front"> - <argument index="0" name="value" type="var"> + <argument index="0" name="value" type="Variant"> </argument> <description> Add an element at the beginning of the array. @@ -269,7 +283,7 @@ <method name="rfind"> <return type="int"> </return> - <argument index="0" name="what" type="var"> + <argument index="0" name="what" type="Variant"> </argument> <argument index="1" name="from" type="int" default="-1"> </argument> @@ -307,7 +321,7 @@ static func sort(a, b): if a[0] < b[0]: return true - return false + return false var my_items = [[5, "Potato"], [9, "Rice"], [4, "Tomato"]] my_items.sort_custom(MyCustomSorter, "sort") diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml index 1e2478dd14..ed3d2d2205 100644 --- a/doc/classes/ArrayMesh.xml +++ b/doc/classes/ArrayMesh.xml @@ -3,6 +3,23 @@ <brief_description> </brief_description> <description> + The [code]ArrayMesh[/code] is used to construct a [Mesh] by specifying the attributes as arrays. The most basic example is the creation of a single triangle + [codeblock] + var vertices = PoolVector3Array() + vertices.push_back(Vector3(0,1,0)) + vertices.push_back(Vector3(1,0,0)) + vertices.push_back(Vector3(0,0,1)) + # Initialize the ArrayMesh. + var arr_mesh = ArrayMesh.new() + var arrays = [] + arrays.resize(ArrayMesh.ARRAY_MAX) + arrays[ArrayMesh.ARRAY_VERTEX] = vertices + # Create the Mesh. + arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays) + var m = MeshInstance.new() + m.mesh = arr_mesh + [/codeblock] + The [code]MeshInstance[/code] is ready to be added to the SceneTree to be shown. </description> <tutorials> </tutorials> @@ -66,13 +83,6 @@ Returns the name of the blend shape at this index. </description> </method> - <method name="get_surface_count" qualifiers="const"> - <return type="int"> - </return> - <description> - Return the amount of surfaces that the [code]ArrayMesh[/code] holds. - </description> - </method> <method name="lightmap_unwrap"> <return type="int" enum="Error"> </return> @@ -118,24 +128,6 @@ Return the length in vertices of the vertex array in the requested surface (see [method add_surface_from_arrays]). </description> </method> - <method name="surface_get_arrays" qualifiers="const"> - <return type="Array"> - </return> - <argument index="0" name="surf_idx" type="int"> - </argument> - <description> - Returns the arrays for the vertices, normals, uvs, etc. that make up the requested surface (see [method add_surface_from_arrays]). - </description> - </method> - <method name="surface_get_blend_shape_arrays" qualifiers="const"> - <return type="Array"> - </return> - <argument index="0" name="surf_idx" type="int"> - </argument> - <description> - Returns the blend shape arrays for the requested surface. - </description> - </method> <method name="surface_get_format" qualifiers="const"> <return type="int"> </return> @@ -145,15 +137,6 @@ Return the format mask of the requested surface (see [method add_surface_from_arrays]). </description> </method> - <method name="surface_get_material" qualifiers="const"> - <return type="Material"> - </return> - <argument index="0" name="surf_idx" type="int"> - </argument> - <description> - Return a [Material] in a given surface. Surface is rendered using this material. - </description> - </method> <method name="surface_get_name" qualifiers="const"> <return type="String"> </return> diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml new file mode 100644 index 0000000000..6d115e2650 --- /dev/null +++ b/doc/classes/CPUParticles2D.xml @@ -0,0 +1,193 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="CPUParticles2D" inherits="Node2D" category="Core" version="3.1"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="convert_from_particles"> + <return type="void"> + </return> + <argument index="0" name="particles" type="Node"> + </argument> + <description> + </description> + </method> + <method name="restart"> + <return type="void"> + </return> + <description> + </description> + </method> + </methods> + <members> + <member name="amount" type="int" setter="set_amount" getter="get_amount"> + </member> + <member name="angle" type="float" setter="set_param" getter="get_param"> + </member> + <member name="angle_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="angular_velocity" type="float" setter="set_param" getter="get_param"> + </member> + <member name="angular_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="anim_loop" type="bool" setter="set_particle_flag" getter="get_particle_flag"> + </member> + <member name="anim_offset" type="float" setter="set_param" getter="get_param"> + </member> + <member name="anim_offset_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="anim_speed" type="float" setter="set_param" getter="get_param"> + </member> + <member name="anim_speed_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="color" type="Color" setter="set_color" getter="get_color"> + </member> + <member name="color_ramp" type="Gradient" setter="set_color_ramp" getter="get_color_ramp"> + </member> + <member name="damping" type="float" setter="set_param" getter="get_param"> + </member> + <member name="damping_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="CPUParticles2D.DrawOrder"> + </member> + <member name="emission_colors" type="PoolColorArray" setter="set_emission_colors" getter="get_emission_colors"> + </member> + <member name="emission_normals" type="PoolVector2Array" setter="set_emission_normals" getter="get_emission_normals"> + </member> + <member name="emission_points" type="PoolVector2Array" setter="set_emission_points" getter="get_emission_points"> + </member> + <member name="emission_rect_extents" type="Vector2" setter="set_emission_rect_extents" getter="get_emission_rect_extents"> + </member> + <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles2D.EmissionShape"> + </member> + <member name="emission_sphere_radius" type="float" setter="set_emission_sphere_radius" getter="get_emission_sphere_radius"> + </member> + <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting"> + </member> + <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio"> + </member> + <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps"> + </member> + <member name="flag_align_y" type="bool" setter="set_particle_flag" getter="get_particle_flag"> + </member> + <member name="flatness" type="float" setter="set_flatness" getter="get_flatness"> + </member> + <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta"> + </member> + <member name="gravity" type="Vector2" setter="set_gravity" getter="get_gravity"> + </member> + <member name="hue_variation" type="float" setter="set_param" getter="get_param"> + </member> + <member name="hue_variation_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="initial_velocity" type="float" setter="set_param" getter="get_param"> + </member> + <member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime"> + </member> + <member name="linear_accel" type="float" setter="set_param" getter="get_param"> + </member> + <member name="linear_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates"> + </member> + <member name="normalmap" type="Texture" setter="set_normalmap" getter="get_normalmap"> + </member> + <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot"> + </member> + <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time"> + </member> + <member name="radial_accel" type="float" setter="set_param" getter="get_param"> + </member> + <member name="radial_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio"> + </member> + <member name="scale" type="float" setter="set_param" getter="get_param"> + </member> + <member name="scale_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="scale_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale"> + </member> + <member name="spread" type="float" setter="set_spread" getter="get_spread"> + </member> + <member name="tangential_accel" type="float" setter="set_param" getter="get_param"> + </member> + <member name="tangential_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> + </member> + <member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness"> + </member> + <member name="texture" type="Texture" setter="set_texture" getter="get_texture"> + </member> + </members> + <constants> + <constant name="DRAW_ORDER_INDEX" value="0" enum="DrawOrder"> + </constant> + <constant name="DRAW_ORDER_LIFETIME" value="1" enum="DrawOrder"> + </constant> + <constant name="PARAM_INITIAL_LINEAR_VELOCITY" value="0" enum="Parameter"> + </constant> + <constant name="PARAM_ANGULAR_VELOCITY" value="1" enum="Parameter"> + </constant> + <constant name="PARAM_ORBIT_VELOCITY" value="2" enum="Parameter"> + </constant> + <constant name="PARAM_LINEAR_ACCEL" value="3" enum="Parameter"> + </constant> + <constant name="PARAM_RADIAL_ACCEL" value="4" enum="Parameter"> + </constant> + <constant name="PARAM_TANGENTIAL_ACCEL" value="5" enum="Parameter"> + </constant> + <constant name="PARAM_DAMPING" value="6" enum="Parameter"> + </constant> + <constant name="PARAM_ANGLE" value="7" enum="Parameter"> + </constant> + <constant name="PARAM_SCALE" value="8" enum="Parameter"> + </constant> + <constant name="PARAM_HUE_VARIATION" value="9" enum="Parameter"> + </constant> + <constant name="PARAM_ANIM_SPEED" value="10" enum="Parameter"> + </constant> + <constant name="PARAM_ANIM_OFFSET" value="11" enum="Parameter"> + </constant> + <constant name="PARAM_MAX" value="12" enum="Parameter"> + </constant> + <constant name="FLAG_ALIGN_Y_TO_VELOCITY" value="0" enum="Flags"> + </constant> + <constant name="FLAG_MAX" value="2" enum="Flags"> + </constant> + <constant name="EMISSION_SHAPE_POINT" value="0" enum="EmissionShape"> + </constant> + <constant name="EMISSION_SHAPE_CIRCLE" value="1" enum="EmissionShape"> + </constant> + <constant name="EMISSION_SHAPE_RECTANGLE" value="2" enum="EmissionShape"> + </constant> + <constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape"> + </constant> + <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape"> + </constant> + </constants> +</class> diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index a04e38af5c..60f097f3f9 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -330,6 +330,12 @@ Draws a textured rectangle region at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture. </description> </method> + <method name="force_update_transform"> + <return type="void"> + </return> + <description> + </description> + </method> <method name="get_canvas" qualifiers="const"> <return type="RID"> </return> @@ -570,7 +576,7 @@ Disable 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="29"> - Canvas item transform has changed. Only received if requested. + Canvas item transform has changed. Notification is only received if enabled by [method set_notify_transform] or [method set_notify_local_transform]. </constant> <constant name="NOTIFICATION_DRAW" value="30"> CanvasItem is requested to draw. diff --git a/doc/classes/ClippedCamera.xml b/doc/classes/ClippedCamera.xml new file mode 100644 index 0000000000..509ddb01fc --- /dev/null +++ b/doc/classes/ClippedCamera.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="ClippedCamera" inherits="Camera" category="Core" version="3.1"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="add_exception"> + <return type="void"> + </return> + <argument index="0" name="node" type="Object"> + </argument> + <description> + </description> + </method> + <method name="add_exception_rid"> + <return type="void"> + </return> + <argument index="0" name="rid" type="RID"> + </argument> + <description> + </description> + </method> + <method name="clear_exceptions"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="get_collision_mask_bit" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <description> + </description> + </method> + <method name="remove_exception"> + <return type="void"> + </return> + <argument index="0" name="node" type="Object"> + </argument> + <description> + </description> + </method> + <method name="remove_exception_rid"> + <return type="void"> + </return> + <argument index="0" name="rid" type="RID"> + </argument> + <description> + </description> + </method> + <method name="set_collision_mask_bit"> + <return type="void"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <argument index="1" name="value" type="bool"> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="clip_to_areas" type="bool" setter="set_clip_to_areas" getter="is_clip_to_areas_enabled"> + </member> + <member name="clip_to_bodies" type="bool" setter="set_clip_to_bodies" getter="is_clip_to_bodies_enabled"> + </member> + <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask"> + </member> + <member name="margin" type="float" setter="set_margin" getter="get_margin"> + </member> + <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="ClippedCamera.ProcessMode"> + </member> + </members> + <constants> + <constant name="CLIP_PROCESS_PHYSICS" value="0" enum="ProcessMode"> + </constant> + <constant name="CLIP_PROCESS_IDLE" value="1" enum="ProcessMode"> + </constant> + </constants> +</class> diff --git a/doc/classes/CollisionObject.xml b/doc/classes/CollisionObject.xml index 22b9725121..5e4e740498 100644 --- a/doc/classes/CollisionObject.xml +++ b/doc/classes/CollisionObject.xml @@ -191,9 +191,9 @@ </members> <signals> <signal name="input_event"> - <argument index="0" name="camera" type="Object"> + <argument index="0" name="camera" type="Node"> </argument> - <argument index="1" name="event" type="Object"> + <argument index="1" name="event" type="InputEvent"> </argument> <argument index="2" name="click_position" type="Vector3"> </argument> diff --git a/doc/classes/CollisionObject2D.xml b/doc/classes/CollisionObject2D.xml index 1ef72c0ca2..b507204f0d 100644 --- a/doc/classes/CollisionObject2D.xml +++ b/doc/classes/CollisionObject2D.xml @@ -204,9 +204,9 @@ </members> <signals> <signal name="input_event"> - <argument index="0" name="viewport" type="Object"> + <argument index="0" name="viewport" type="Node"> </argument> - <argument index="1" name="event" type="Object"> + <argument index="1" name="event" type="InputEvent"> </argument> <argument index="2" name="shape_idx" type="int"> </argument> diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index b66239181a..2e3cc2e5d1 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 as red, green and blue (r,g,b) components. Additionally, "a" represents the alpha component, often used for transparency. Values are in floating point and usually range from 0 to 1. Some methods (such as set_modulate(color)) may accept values > 1. + A color is represented as red, green and blue (r,g,b) components. Additionally, "a" represents the alpha component, often used for transparency. Values are in floating point and usually range from 0 to 1. Some methods (such as set_modulate(color)) may accept values > 1. You can also create a color from standardised color names with Color.ColorN (e.g. Color.green) or [method @GDScript.ColorN]. </description> <tutorials> diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml index 4d52eacba8..554e6b5632 100644 --- a/doc/classes/ColorPicker.xml +++ b/doc/classes/ColorPicker.xml @@ -26,7 +26,7 @@ The currently selected color. </member> <member name="deferred_mode" type="bool" setter="set_deferred_mode" getter="is_deferred_mode"> - If [code]true[/code] the color will apply only after the user releases the mouse button, otherwise it will apply immediatly even in mouse motion event (which can cause performance issues). + 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"> If [code]true[/code] shows an alpha channel slider (transparency). diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml index 6ac2911c11..8bc6d05bd4 100644 --- a/doc/classes/ColorPickerButton.xml +++ b/doc/classes/ColorPickerButton.xml @@ -4,7 +4,7 @@ Button that pops out a [ColorPicker]. </brief_description> <description> - Encapsulates a [ColorPicker] making it accesible by pressing a button. Pressing the button will toggle the [ColorPicker] visibility. + Encapsulates a [ColorPicker] making it accessible by pressing a button. Pressing the button will toggle the [ColorPicker] visibility. </description> <tutorials> </tutorials> diff --git a/doc/classes/ConfigFile.xml b/doc/classes/ConfigFile.xml index ec0381bda5..a4709c1c86 100644 --- a/doc/classes/ConfigFile.xml +++ b/doc/classes/ConfigFile.xml @@ -18,7 +18,7 @@ var err = config.load("user://settings.cfg") 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 = get_value("display", "width", 1024) + var screen_width = config.get_value("display", "width", 1024) # Store a variable if and only if it hasn't been defined yet if not config.has_section_key("audio", "mute"): config.set_value("audio", "mute", false) diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 4301102e4a..1a27aea23f 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -38,7 +38,7 @@ <argument index="0" name="event" type="InputEvent"> </argument> <description> - The node's parent forwards input events to this method. Use it to process and accept inputs on UI elements. See [method accept_event]. + Use this method to process and accept inputs on UI elements. See [method accept_event]. Replaces Godot 2's [code]_input_event[/code]. </description> </method> @@ -229,9 +229,9 @@ extends Control func get_drag_data(position): - var mydata = make_data() - set_drag_preview(make_preview(mydata)) - return mydata + var mydata = make_data() + set_drag_preview(make_preview(mydata)) + return mydata [/codeblock] </description> </method> @@ -723,7 +723,7 @@ </description> </signal> <signal name="gui_input"> - <argument index="0" name="ev" type="Object"> + <argument index="0" name="event" type="InputEvent"> </argument> <description> Emitted when the node receives an [InputEvent]. diff --git a/doc/classes/Curve.xml b/doc/classes/Curve.xml index c7f2f7bb8d..490772e400 100644 --- a/doc/classes/Curve.xml +++ b/doc/classes/Curve.xml @@ -49,6 +49,13 @@ Removes all points from the curve. </description> </method> + <method name="get_point_count" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the number of points describing the curve. + </description> + </method> <method name="get_point_left_mode" qualifiers="const"> <return type="int" enum="Curve.TangentMode"> </return> diff --git a/doc/classes/Curve2D.xml b/doc/classes/Curve2D.xml index 26de8be42c..ab9b27542c 100644 --- a/doc/classes/Curve2D.xml +++ b/doc/classes/Curve2D.xml @@ -111,7 +111,7 @@ <argument index="1" name="t" type="float"> </argument> <description> - Returns the position between the vertex "idx" and the vertex "idx"+1, where "t" controls if the point is the first vertex (t = 0.0), the last vertex (t = 1.0), or in between. Values of "t" outside the range (0.0 >= t <=1) give strange, but predictable results. + Returns the position between the vertex "idx" and the vertex "idx"+1, where "t" controls if the point is the first vertex (t = 0.0), the last vertex (t = 1.0), or in between. Values of "t" outside the range (0.0 >= t <=1) give strange, but predictable results. If "idx" is out of bounds it is truncated to the first or last vertex, and "t" is ignored. If the curve has no points, the function sends an error to the console, and returns (0, 0). </description> </method> diff --git a/doc/classes/Curve3D.xml b/doc/classes/Curve3D.xml index 1355c74faf..c3ee309f0b 100644 --- a/doc/classes/Curve3D.xml +++ b/doc/classes/Curve3D.xml @@ -135,7 +135,7 @@ <argument index="1" name="t" type="float"> </argument> <description> - Returns the position between the vertex "idx" and the vertex "idx"+1, where "t" controls if the point is the first vertex (t = 0.0), the last vertex (t = 1.0), or in between. Values of "t" outside the range (0.0 >= t <=1) give strange, but predictable results. + Returns the position between the vertex "idx" and the vertex "idx"+1, where "t" controls if the point is the first vertex (t = 0.0), the last vertex (t = 1.0), or in between. Values of "t" outside the range (0.0 >= t <=1) give strange, but predictable results. If "idx" is out of bounds it is truncated to the first or last vertex, and "t" is ignored. If the curve has no points, the function sends an error to the console, and returns (0, 0, 0). </description> </method> diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml index 800a76ccf1..06c996e13e 100644 --- a/doc/classes/Dictionary.xml +++ b/doc/classes/Dictionary.xml @@ -35,7 +35,7 @@ <method name="erase"> <return type="bool"> </return> - <argument index="0" name="key" type="var"> + <argument index="0" name="key" type="Variant"> </argument> <description> Erase a dictionary key/value pair by key. @@ -44,7 +44,7 @@ <method name="has"> <return type="bool"> </return> - <argument index="0" name="key" type="var"> + <argument index="0" name="key" type="Variant"> </argument> <description> Return true if the dictionary has a given key. diff --git a/doc/classes/EditorFileSystem.xml b/doc/classes/EditorFileSystem.xml index ade6d2034d..5a8b506f9e 100644 --- a/doc/classes/EditorFileSystem.xml +++ b/doc/classes/EditorFileSystem.xml @@ -93,10 +93,6 @@ Remitted if a resource is reimported. </description> </signal> - <signal name="script_classes_updated"> - <description> - </description> - </signal> <signal name="sources_changed"> <argument index="0" name="exist" type="bool"> </argument> diff --git a/doc/classes/EditorFileSystemDirectory.xml b/doc/classes/EditorFileSystemDirectory.xml index bb3ff91639..9dd28d2400 100644 --- a/doc/classes/EditorFileSystemDirectory.xml +++ b/doc/classes/EditorFileSystemDirectory.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="EditorFileSystemDirectory" inherits="Object" category="Core" version="3.1"> <brief_description> - A diretory for the resource filesystem. + A directory for the resource filesystem. </brief_description> <description> A more generalized, low-level variation of the directory concept. diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml index b21d402468..aaba30ccc9 100644 --- a/doc/classes/EditorImportPlugin.xml +++ b/doc/classes/EditorImportPlugin.xml @@ -41,6 +41,7 @@ return FAILED var mesh = Mesh.new() + # Fill the Mesh with data read in 'file', left as exercise to the reader var filename = save_path + "." + get_save_extension() ResourceSaver.save(filename, mesh) diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index 19bd7e6d52..f073c5e40b 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="EditorInterface" inherits="Node" category="Core" version="3.1"> <brief_description> - Editor interface and main components. + Godot editor's interface. </brief_description> <description> - Editor interface. Allows saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], [ScriptEditor], the editor viewport, as well as information about scenes. Also see [EditorPlugin] and [EditorScript]. + EditorInterface gives you control over Godot editor's window. It allows customizing the window, saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects, and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], [ScriptEditor], the editor viewport, and information about scenes. </description> <tutorials> </tutorials> @@ -24,14 +24,14 @@ <return type="Control"> </return> <description> - Returns the base [Control]. + Returns the main container of Godot editor's window. You can use it, for example, to retrieve the size of the container and place your controls accordingly. </description> </method> <method name="get_edited_scene_root"> <return type="Node"> </return> <description> - Returns the edited scene's root [Node]. + Returns the edited (current) scene's root [Node]. </description> </method> <method name="get_editor_settings"> @@ -52,7 +52,7 @@ <return type="Array"> </return> <description> - Returns an [Array] of the currently opened scenes. + Returns an [Array] with the file paths of the currently opened scenes. </description> </method> <method name="get_resource_filesystem"> @@ -66,7 +66,7 @@ <return type="EditorResourcePreview"> </return> <description> - Returns the [EditorResourcePreview]\ er. + Returns the [EditorResourcePreview]. </description> </method> <method name="get_script_editor"> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index 62fc56e990..ac139f18c9 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. + 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. </description> <tutorials> <link>http://docs.godotengine.org/en/3.0/development/plugins/index.html</link> @@ -31,7 +31,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. If your plugin is being removed, also make sure to remove your control by calling [method remove_control_from_bottom_panel]. + 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]. </description> </method> <method name="add_control_to_container"> @@ -44,7 +44,7 @@ <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. Please remember that you have to manage the visibility of your custom controls yourself (and likely hide it after adding it). - If your plugin is being removed, also make sure to remove your custom controls too. + 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> </method> <method name="add_control_to_dock"> @@ -57,7 +57,7 @@ <description> Add the control to a specific dock slot (see DOCK_* 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. - If your plugin is being removed, also make sure to remove your control by calling [method remove_control_from_docks]. + 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> </method> <method name="add_custom_type"> @@ -74,7 +74,7 @@ <description> Add 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 [method EditorPlugin.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 'is' 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> @@ -122,7 +122,7 @@ <argument index="3" name="ud" type="Variant" default="null"> </argument> <description> - Adds a custom menu to 'Project > 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. + Add a custom menu to 'Project > 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. </description> </method> <method name="add_tool_submenu_item"> @@ -133,6 +133,7 @@ <argument index="1" name="submenu" type="Object"> </argument> <description> + Like [method add_tool_menu_item] but adds the [code]submenu[/code] item inside the [code]name[/code] menu. </description> </method> <method name="apply_changes" qualifiers="virtual"> @@ -165,15 +166,21 @@ This function is used for plugins that edit specific object types (nodes or resources). It requests the editor to edit the given object. </description> </method> - <method name="forward_canvas_gui_input" qualifiers="virtual"> - <return type="bool"> + <method name="forward_canvas_draw_over_viewport" qualifiers="virtual"> + <return type="void"> </return> - <argument index="0" name="event" type="InputEvent"> + <argument index="0" name="overlay" type="Control"> </argument> <description> + This method is called when there is an input event in the 2D viewport, e.g. the user clicks with the mouse in the 2D space (canvas GUI). Keep in mind that for this method to be called you have to first declare the virtual method [method handles] so the editor knows that you want to work with the workspace: + [codeblock] + func handles(object): + return true + [/codeblock] + Also note that the edited scene must have a root node. </description> </method> - <method name="forward_draw_over_viewport" qualifiers="virtual"> + <method name="forward_canvas_force_draw_over_viewport" qualifiers="virtual"> <return type="void"> </return> <argument index="0" name="overlay" type="Control"> @@ -181,10 +188,10 @@ <description> </description> </method> - <method name="forward_force_draw_over_viewport" qualifiers="virtual"> - <return type="void"> + <method name="forward_canvas_gui_input" qualifiers="virtual"> + <return type="bool"> </return> - <argument index="0" name="overlay" type="Control"> + <argument index="0" name="event" type="InputEvent"> </argument> <description> </description> @@ -197,8 +204,12 @@ <argument index="1" name="event" type="InputEvent"> </argument> <description> - Implement this function if you are interested in 3D view screen input events. It will be called only if currently selected node is handled by your plugin. - If you would like to always gets those input events then additionally use [method set_input_forwarding_always_enabled]. + This method is called when there is an input event in the 3D viewport, e.g. the user clicks with the mouse in the 3D space (spatial GUI). Keep in mind that for this method to be called you have to first declare the virtual method [method handles] so the editor knows that you want to work with the workspace: + [codeblock] + func handles(object): + return true + [/codeblock] + Also note that the edited scene must have a root node. </description> </method> <method name="get_breakpoints" qualifiers="virtual"> @@ -212,6 +223,7 @@ <return type="EditorInterface"> </return> <description> + Return the [EditorInterface] object that gives you control over Godot editor's window and its functionalities. </description> </method> <method name="get_plugin_icon" qualifiers="virtual"> @@ -253,7 +265,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 the [method EditorPlugin.queue_save_layout] is called or the editor layout was changed(For example changing the position of a dock). + 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). </description> </method> <method name="handles" qualifiers="virtual"> @@ -262,14 +274,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 true, then you will get the functions [method EditorPlugin.edit] and [method EditorPlugin.make_visible] called when the editor requests them. + Implement this function if your plugin edits a specific type of object (Resource or Node). If you return true, 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. </description> </method> <method name="has_main_screen" qualifiers="virtual"> <return type="bool"> </return> <description> - Return true if this is a main screen editor plugin (it goes in the main screen selector together with 2D, 3D, Script). + Return true if this is a main screen editor plugin (it goes in the workspaces selector together with '2D', '3D', and 'Script'). </description> </method> <method name="hide_bottom_panel"> @@ -318,7 +330,7 @@ <argument index="0" name="control" type="Control"> </argument> <description> - Remove the control from the bottom panel. Don't forget to call this if you added one, so the editor can remove it cleanly. + Remove the control from the bottom panel. You have to manually [code]queue_free()[/code] the control. </description> </method> <method name="remove_control_from_container"> @@ -329,7 +341,7 @@ <argument index="1" name="control" type="Control"> </argument> <description> - Remove the control from the specified container. Use it when cleaning up after adding a control with [method add_control_to_container]. Note that you can simply free the control if you won't use it anymore. + Remove the control from the specified container. You have to manually [code]queue_free()[/code] the control. </description> </method> <method name="remove_control_from_docks"> @@ -338,7 +350,7 @@ <argument index="0" name="control" type="Control"> </argument> <description> - Remove the control from the dock. Don't forget to call this if you added one, so the editor can save the layout and remove it cleanly. + Remove the control from the dock. You have to manually [code]queue_free()[/code] the control. </description> </method> <method name="remove_custom_type"> @@ -347,7 +359,7 @@ <argument index="0" name="type" type="String"> </argument> <description> - Remove a custom type added by [method EditorPlugin.add_custom_type] + Remove a custom type added by [method add_custom_type] </description> </method> <method name="remove_export_plugin"> @@ -441,17 +453,17 @@ <argument index="0" name="screen_name" type="String"> </argument> <description> - Emitted when user change main screen view (2D, 3D, Script, AssetLib). Works also with screens which are defined by plugins. + Emitted when user change the workspace (2D, 3D, Script, AssetLib). Also works with custom screens defined by plugins. </description> </signal> <signal name="resource_saved"> - <argument index="0" name="resource" type="Object"> + <argument index="0" name="resource" type="Resource"> </argument> <description> </description> </signal> <signal name="scene_changed"> - <argument index="0" name="scene_root" type="Object"> + <argument index="0" name="scene_root" type="Node"> </argument> <description> Emitted when user change scene. The argument is a root node of freshly opened scene. @@ -470,17 +482,21 @@ </constant> <constant name="CONTAINER_SPATIAL_EDITOR_MENU" value="1" enum="CustomControlContainer"> </constant> - <constant name="CONTAINER_SPATIAL_EDITOR_SIDE" value="2" enum="CustomControlContainer"> + <constant name="CONTAINER_SPATIAL_EDITOR_SIDE_LEFT" value="2" enum="CustomControlContainer"> + </constant> + <constant name="CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT" value="3" enum="CustomControlContainer"> + </constant> + <constant name="CONTAINER_SPATIAL_EDITOR_BOTTOM" value="4" enum="CustomControlContainer"> </constant> - <constant name="CONTAINER_SPATIAL_EDITOR_BOTTOM" value="3" enum="CustomControlContainer"> + <constant name="CONTAINER_CANVAS_EDITOR_MENU" value="5" enum="CustomControlContainer"> </constant> - <constant name="CONTAINER_CANVAS_EDITOR_MENU" value="4" enum="CustomControlContainer"> + <constant name="CONTAINER_CANVAS_EDITOR_SIDE_LEFT" value="6" enum="CustomControlContainer"> </constant> - <constant name="CONTAINER_CANVAS_EDITOR_SIDE" value="5" enum="CustomControlContainer"> + <constant name="CONTAINER_CANVAS_EDITOR_SIDE_RIGHT" value="7" enum="CustomControlContainer"> </constant> - <constant name="CONTAINER_CANVAS_EDITOR_BOTTOM" value="6" enum="CustomControlContainer"> + <constant name="CONTAINER_CANVAS_EDITOR_BOTTOM" value="8" enum="CustomControlContainer"> </constant> - <constant name="CONTAINER_PROPERTY_EDITOR_BOTTOM" value="7" enum="CustomControlContainer"> + <constant name="CONTAINER_PROPERTY_EDITOR_BOTTOM" value="9" enum="CustomControlContainer"> </constant> <constant name="DOCK_SLOT_LEFT_UL" value="0" enum="DockSlot"> </constant> diff --git a/doc/classes/EditorProperty.xml b/doc/classes/EditorProperty.xml index 32d3a2703d..7d09554330 100644 --- a/doc/classes/EditorProperty.xml +++ b/doc/classes/EditorProperty.xml @@ -98,7 +98,7 @@ <signal name="resource_selected"> <argument index="0" name="path" type="String"> </argument> - <argument index="1" name="resource" type="Object"> + <argument index="1" name="resource" type="Resource"> </argument> <description> </description> diff --git a/doc/classes/EditorResourcePreviewGenerator.xml b/doc/classes/EditorResourcePreviewGenerator.xml index fb9af47b1f..c4dcbbbc82 100644 --- a/doc/classes/EditorResourcePreviewGenerator.xml +++ b/doc/classes/EditorResourcePreviewGenerator.xml @@ -16,10 +16,12 @@ </return> <argument index="0" name="from" type="Resource"> </argument> + <argument index="1" name="size" type="Vector2"> + </argument> <description> - Generate a preview from a given resource. This must be always implemented. - Returning an empty texture is an OK way to fail and let another generator take care. - Care must be taken because this function is always called from a thread (not the main thread). + Generate a preview from a given resource with the specified size. This must always be implemented. + Returning an empty texture is an OK way to fail and let another generator take care. + Care must be taken because this function is always called from a thread (not the main thread). </description> </method> <method name="generate_from_path" qualifiers="virtual"> @@ -27,10 +29,12 @@ </return> <argument index="0" name="path" type="String"> </argument> + <argument index="1" name="size" type="Vector2"> + </argument> <description> - Generate a preview directly from a path, implementing this is optional, as default code will load and call generate() - Returning an empty texture is an OK way to fail and let another generator take care. - Care must be taken because this function is always called from a thread (not the main thread). + Generate a preview directly from a path with the specified size. Implementing this is optional, as default code will load and call [method generate]. + Returning an empty texture is an OK way to fail and let another generator take care. + Care must be taken because this function is always called from a thread (not the main thread). </description> </method> <method name="handles" qualifiers="virtual"> diff --git a/doc/classes/EditorScenePostImport.xml b/doc/classes/EditorScenePostImport.xml index 09cae25403..76c105dd25 100644 --- a/doc/classes/EditorScenePostImport.xml +++ b/doc/classes/EditorScenePostImport.xml @@ -4,44 +4,45 @@ Post process scenes after import </brief_description> <description> - The imported scene can be automatically modified right after import by specifying a 'custom script' that inherits from this class. The [method post_import]-method receives the imported scene's root-node and returns the modified version of the scene - </description> - <tutorials> - <link>http://docs.godotengine.org/en/latest/learning/workflow/assets/importing_scenes.html?highlight=post%20import</link> - </tutorials> - <demos> + 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. + 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 -extends EditorScenePostImport + tool # needed so it runs in editor + extends EditorScenePostImport -# This sample changes all node names + # This sample changes all node names -# get called right after the scene is imported and gets the root-node -func post_import(scene): - # change all node names to "modified_[oldnodename]" - iterate(scene) - return scene # remember to return the imported scene + # Called right after the scene is imported and gets the root node + func post_import(scene): + # change all node names to "modified_[oldnodename]" + iterate(scene) + return scene # remember to return the imported scene -func iterate(node): - if node!=null: - node.name = "modified_"+node.name - for child in node.get_children(): - iterate(child) -[/codeblock] + func iterate(node): + if node != null: + node.name = "modified_"+node.name + for child in node.get_children(): + iterate(child) + [/codeblock] + </description> + <tutorials> + <link>http://docs.godotengine.org/en/latest/getting_started/workflow/assets/importing_scenes.html#custom-script</link> + </tutorials> + <demos> </demos> <methods> <method name="get_source_file" qualifiers="const"> <return type="String"> </return> <description> - Returns the source-file-path which got imported (e.g. [code]res://scene.dae[/code] ) + Returns the source file path which got imported (e.g. [code]res://scene.dae[/code]). </description> </method> <method name="get_source_folder" qualifiers="const"> <return type="String"> </return> <description> - Returns the resource-folder the imported scene-file is located in + Returns the resource folder the imported scene file is located in. </description> </method> <method name="post_import" qualifiers="virtual"> @@ -50,7 +51,7 @@ func iterate(node): <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 + Gets called after the scene got imported and has to return the modified version of the scene. </description> </method> </methods> diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml index bd85075b7e..9d48669a6b 100644 --- a/doc/classes/EditorSettings.xml +++ b/doc/classes/EditorSettings.xml @@ -48,11 +48,11 @@ Erase a given setting (pass full property path). </description> </method> - <method name="get_favorite_dirs" qualifiers="const"> + <method name="get_favorites" qualifiers="const"> <return type="PoolStringArray"> </return> <description> - Get the list of favorite directories for this project. + Get the list of favorite files and directories for this project. </description> </method> <method name="get_project_metadata" qualifiers="const"> @@ -122,13 +122,13 @@ <description> </description> </method> - <method name="set_favorite_dirs"> + <method name="set_favorites"> <return type="void"> </return> <argument index="0" name="dirs" type="PoolStringArray"> </argument> <description> - Set the list of favorite directories for this project. + Set the list of favorite files and directories for this project. </description> </method> <method name="set_initial_value"> diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml index 48e3c295f1..ce0b619d67 100644 --- a/doc/classes/GraphEdit.xml +++ b/doc/classes/GraphEdit.xml @@ -247,7 +247,7 @@ </description> </signal> <signal name="node_selected"> - <argument index="0" name="node" type="Object"> + <argument index="0" name="node" type="Node"> </argument> <description> Emitted when a GraphNode is selected. diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index 55693bd49c..56accdcd9e 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -487,10 +487,10 @@ OpenGL texture format RG 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. + 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. </constant> <constant name="FORMAT_RGBA8" value="5" enum="Format"> - OpenGL texture format RGBA with four components, each with a bitdepth of 8. + 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. </constant> <constant name="FORMAT_RGBA4444" value="6" enum="Format"> OpenGL texture format RGBA with four components, each with a bitdepth of 4. @@ -526,13 +526,13 @@ A special OpenGL texture format where the three color components have 9 bits of precision and all three share a single 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. + 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. </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. + 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. </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. + 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. </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. @@ -541,7 +541,7 @@ 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. </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. + 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. </constant> <constant name="FORMAT_BPTC_RGBF" value="23" enum="Format"> Texture format that uses BPTC compression with signed floating-point RGB components. @@ -550,7 +550,7 @@ Texture format that uses BPTC 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. + 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. </constant> <constant name="FORMAT_PVRTC2A" value="26" enum="Format"> Same as PVRTC2, but with an alpha component. @@ -577,13 +577,13 @@ Ericsson Texture Compression format 2 variant SIGNED_RG11_EAC, 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. + 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. </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. + 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. </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. + 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. </constant> <constant name="FORMAT_MAX" value="37" enum="Format"> </constant> diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml index 0bff3317db..5c57899468 100644 --- a/doc/classes/ImageTexture.xml +++ b/doc/classes/ImageTexture.xml @@ -36,7 +36,7 @@ <argument index="1" name="flags" type="int" default="7"> </argument> <description> - Create a new [code]ImageTexture[/code] from an [Image] with "flags" from [Texture].FLAG_*. + Create a new [code]ImageTexture[/code] from an [Image] with "flags" from [Texture].FLAG_*. An sRGB to linear color space conversion can take place, according to [Image].FORMAT_*. </description> </method> <method name="get_format" qualifiers="const"> diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index a4346c1485..338d01ae5f 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -46,6 +46,7 @@ </return> <description> If the device has an accelerometer, this will return the acceleration. Otherwise, it returns an empty [Vector3]. + Note this method returns an empty [Vector3] when running from the editor even when your device has an accelerometer. You must export your project to a supported device to read values from the accelerometer. </description> </method> <method name="get_action_strength" qualifiers="const"> @@ -94,6 +95,7 @@ <argument index="0" name="axis" type="String"> </argument> <description> + Returns the index of the provided axis name. </description> </method> <method name="get_joy_axis_string"> @@ -102,6 +104,7 @@ <argument index="0" name="axis_index" type="int"> </argument> <description> + Receives a [code]JOY_AXIS_*[/code] Enum and returns its equivalent name as a string. </description> </method> <method name="get_joy_button_index_from_string"> @@ -110,6 +113,7 @@ <argument index="0" name="button" type="String"> </argument> <description> + Returns the index of the provided button name. </description> </method> <method name="get_joy_button_string"> @@ -118,6 +122,7 @@ <argument index="0" name="button_index" type="int"> </argument> <description> + Receives a [code]JOY_BUTTON_*[/code] Enum and returns it's equivalent name as a string. </description> </method> <method name="get_joy_guid" qualifiers="const"> @@ -292,7 +297,9 @@ <argument index="2" name="hotspot" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> - Set a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified. Passing [code]null[/code] to the image parameter resets to the system cursor. See enum [code]CURSOR_*[/code] for the list of shapes. + 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]hotspot[/code] must be within [code]image[/code]'s size. </description> </method> <method name="set_default_cursor_shape"> @@ -301,6 +308,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. </description> </method> <method name="set_mouse_mode"> @@ -381,7 +390,7 @@ Pointing hand cursor. Usually used to indicate the pointer is over a link or other interactable item. </constant> <constant name="CURSOR_CROSS" value="3" enum="CursorShape"> - Cross cursor. Typically appears over regions in which a drawing operation can be performance or for selections. + 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. diff --git a/doc/classes/InputEventMouseButton.xml b/doc/classes/InputEventMouseButton.xml index 50641dceed..a3a9055087 100644 --- a/doc/classes/InputEventMouseButton.xml +++ b/doc/classes/InputEventMouseButton.xml @@ -18,7 +18,7 @@ Mouse button identifier, one of the BUTTON_* or BUTTON_WHEEL_* constants in [@GlobalScope]. </member> <member name="doubleclick" type="bool" setter="set_doubleclick" getter="is_doubleclick"> - If [code]true[/code] the mouse button's state is a double-click. If [code]false[/code] the mouse button's state is released. + 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. diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml index 4723cf8ee4..38d32fe7c8 100644 --- a/doc/classes/ItemList.xml +++ b/doc/classes/ItemList.xml @@ -33,7 +33,7 @@ <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. + 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 true the list item will be selectable. </description> </method> @@ -222,7 +222,7 @@ </argument> <description> Select the item at the specified index. - Note: This method does not trigger the item selection signal. + Note: This method does not trigger the item selection signal. </description> </method> <method name="set_item_custom_bg_color"> diff --git a/doc/classes/KinematicBody.xml b/doc/classes/KinematicBody.xml index 0c66319ae7..17310ab4dc 100644 --- a/doc/classes/KinematicBody.xml +++ b/doc/classes/KinematicBody.xml @@ -115,6 +115,8 @@ <argument index="6" name="floor_max_angle" type="float" default="0.785398"> </argument> <description> + Moves the body while keeping it attached to slopes. Similar to [method move_and_slide]. + As long as the [code]snap[/code] vector is in contact with the ground, the body will remain attached to the surface. This means you must disable snap in order to jump, for example. You can do this by setting[code]snap[/code] to[code](0, 0, 0)[/code] or by using [method move_and_slide] instead. </description> </method> <method name="test_move"> diff --git a/doc/classes/LargeTexture.xml b/doc/classes/LargeTexture.xml index 763b38f49e..9526604e6d 100644 --- a/doc/classes/LargeTexture.xml +++ b/doc/classes/LargeTexture.xml @@ -74,7 +74,7 @@ <argument index="1" name="texture" type="Texture"> </argument> <description> - Sets the [Texture] of the piece with index "idx" to "ofs". + Sets the [Texture] of the piece with index "idx" to "texture". </description> </method> <method name="set_size"> diff --git a/doc/classes/MainLoop.xml b/doc/classes/MainLoop.xml index 9454a16988..ad763e6532 100644 --- a/doc/classes/MainLoop.xml +++ b/doc/classes/MainLoop.xml @@ -47,7 +47,7 @@ <method name="_input_event" qualifiers="virtual"> <return type="void"> </return> - <argument index="0" name="ev" type="InputEvent"> + <argument index="0" name="event" type="InputEvent"> </argument> <description> </description> @@ -91,7 +91,7 @@ <method name="input_event"> <return type="void"> </return> - <argument index="0" name="ev" type="InputEvent"> + <argument index="0" name="event" type="InputEvent"> </argument> <description> </description> diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml index afb5d7db93..4852d4701d 100644 --- a/doc/classes/Mesh.xml +++ b/doc/classes/Mesh.xml @@ -48,6 +48,40 @@ Returns all the vertices that make up the faces of the mesh. Each three vertices represent one triangle. </description> </method> + <method name="get_surface_count" qualifiers="const"> + <return type="int"> + </return> + <description> + Return the amount of surfaces that the [code]Mesh[/code] holds. + </description> + </method> + <method name="surface_get_arrays" qualifiers="const"> + <return type="Array"> + </return> + <argument index="0" name="surf_idx" type="int"> + </argument> + <description> + Returns the arrays for the vertices, normals, uvs, etc. that make up the requested surface (see [method ArrayMesh.add_surface_from_arrays]). + </description> + </method> + <method name="surface_get_blend_shape_arrays" qualifiers="const"> + <return type="Array"> + </return> + <argument index="0" name="surf_idx" type="int"> + </argument> + <description> + Returns the blend shape arrays for the requested surface. + </description> + </method> + <method name="surface_get_material" qualifiers="const"> + <return type="Material"> + </return> + <argument index="0" name="surf_idx" type="int"> + </argument> + <description> + Return a [Material] in a given surface. Surface is 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"> @@ -124,22 +158,31 @@ <constant name="ARRAY_COMPRESS_DEFAULT" value="97280" enum="ArrayFormat"> </constant> <constant name="ARRAY_VERTEX" value="0" enum="ArrayType"> + Array of vertices. </constant> <constant name="ARRAY_NORMAL" value="1" enum="ArrayType"> + Array of normals. </constant> <constant name="ARRAY_TANGENT" value="2" enum="ArrayType"> + Array of tangents as an array of floats, 4 floats per tangent. </constant> <constant name="ARRAY_COLOR" value="3" enum="ArrayType"> + Array of colors. </constant> <constant name="ARRAY_TEX_UV" value="4" enum="ArrayType"> + Array of UV coordinates. </constant> <constant name="ARRAY_TEX_UV2" value="5" enum="ArrayType"> + Array of second set of UV coordinates. </constant> <constant name="ARRAY_BONES" value="6" enum="ArrayType"> + Array of bone data. </constant> <constant name="ARRAY_WEIGHTS" value="7" enum="ArrayType"> + Array of weights. </constant> <constant name="ARRAY_INDEX" value="8" enum="ArrayType"> + Array of indices. </constant> <constant name="ARRAY_MAX" value="9" enum="ArrayType"> </constant> diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml index b78d82199c..1908fdd684 100644 --- a/doc/classes/MultiMesh.xml +++ b/doc/classes/MultiMesh.xml @@ -30,6 +30,14 @@ Get the color of a specific instance. </description> </method> + <method name="get_instance_custom_data" qualifiers="const"> + <return type="Color"> + </return> + <argument index="0" name="instance" type="int"> + </argument> + <description> + </description> + </method> <method name="get_instance_transform" qualifiers="const"> <return type="Transform"> </return> @@ -50,6 +58,16 @@ Set the color of a specific instance. </description> </method> + <method name="set_instance_custom_data"> + <return type="void"> + </return> + <argument index="0" name="instance" type="int"> + </argument> + <argument index="1" name="custom_data" type="Color"> + </argument> + <description> + </description> + </method> <method name="set_instance_transform"> <return type="void"> </return> @@ -65,6 +83,8 @@ <members> <member name="color_format" type="int" setter="set_color_format" getter="get_color_format" enum="MultiMesh.ColorFormat"> </member> + <member name="custom_data_format" type="int" setter="set_custom_data_format" getter="get_custom_data_format" enum="MultiMesh.CustomDataFormat"> + </member> <member name="instance_count" type="int" setter="set_instance_count" getter="get_instance_count"> </member> <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh"> @@ -83,5 +103,11 @@ </constant> <constant name="COLOR_FLOAT" value="2" enum="ColorFormat"> </constant> + <constant name="CUSTOM_DATA_NONE" value="0" enum="CustomDataFormat"> + </constant> + <constant name="CUSTOM_DATA_8BIT" value="1" enum="CustomDataFormat"> + </constant> + <constant name="CUSTOM_DATA_FLOAT" value="2" enum="CustomDataFormat"> + </constant> </constants> </class> diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml index 10e7f1b172..d8d7d9acfc 100644 --- a/doc/classes/MultiplayerAPI.xml +++ b/doc/classes/MultiplayerAPI.xml @@ -90,7 +90,7 @@ </methods> <members> <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 slave. 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 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. </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 MultiplayerAPI's [member network_peer] refuses new incoming connections. @@ -141,25 +141,28 @@ Used with [method Node.rpc_config] or [method Node.rset_config] to disable a method or property for all RPC calls, making it unavailable. Default for all methods. </constant> <constant name="RPC_MODE_REMOTE" value="1" enum="RPCMode"> - 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 the remote end, not locally. Analogous to the [code]remote[/code] keyword. Calls and property changes are accepted from all remote peers, no matter if they are node's master or slaves. + 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 the remote end, not locally. Analogous to the [code]remote[/code] keyword. Calls and property changes are accepted from all remote peers, no matter if they are node's master or puppets. </constant> - <constant name="RPC_MODE_SYNC" value="2" enum="RPCMode"> - Behave like [code]RPC_MODE_REMOTE[/code] but also make the call or property change locally. Analogous to the [code]sync[/code] keyword. + <constant name="RPC_MODE_MASTER" value="2" enum="RPCMode"> + 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 the network master for this node. Analogous to the [code]master[/code] keyword. Only accepts calls or property changes from the node's network puppets, see [method Node.set_network_master]. </constant> - <constant name="RPC_MODE_MASTER" value="3" enum="RPCMode"> - 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 the network master for this node. Analogous to the [code]master[/code] keyword. Only accepts calls or property changes from the node's network slaves, see [method Node.set_network_master]. + <constant name="RPC_MODE_PUPPET" value="3" enum="RPCMode"> + 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="4" enum="RPCMode"> - 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 slaves for this node. Analogous to the [code]slave[/code] keyword. Only accepts calls or property changes from the node's network master, see [method Node.set_network_master]. + <constant name="RPC_MODE_SLAVE" value="3" enum="RPCMode"> + Deprecated. Use [code]RPC_MODE_PUPPET[/code] instead. Analogous to the [code]slave[/code] keyword. </constant> - <constant name="RPC_MODE_REMOTESYNC" value="5" enum="RPCMode"> - Behave like [code]RPC_MODE_REMOTE[/code] but also make the call or property change locally. Same as [code]RPC_MODE_SYNC[/code] which is only kept for compatibility. Analogous to the [code]remotesync[/code] keyword. + <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. </constant> - <constant name="RPC_MODE_MASTERSYNC" value="6" enum="RPCMode"> + <constant name="RPC_MODE_SYNC" value="4" enum="RPCMode"> + Deprecated. Use [code]RPC_MODE_REMOTESYNC[/code] 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. </constant> - <constant name="RPC_MODE_SLAVESYNC" value="7" enum="RPCMode"> - Behave like [code]RPC_MODE_SLAVE[/code] but also make the call or property change locally. Analogous to the [code]slavesync[/code] keyword. + <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. </constant> </constants> </class> diff --git a/doc/classes/NetworkedMultiplayerPeer.xml b/doc/classes/NetworkedMultiplayerPeer.xml index e878b3a746..ea6fe6d11c 100644 --- a/doc/classes/NetworkedMultiplayerPeer.xml +++ b/doc/classes/NetworkedMultiplayerPeer.xml @@ -92,13 +92,13 @@ </signals> <constants> <constant name="TRANSFER_MODE_UNRELIABLE" value="0" enum="TransferMode"> - Packets are sent via unordered UDP packets. + 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. </constant> <constant name="TRANSFER_MODE_UNRELIABLE_ORDERED" value="1" enum="TransferMode"> - Packets are sent via ordered UDP packets. + 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. </constant> <constant name="TRANSFER_MODE_RELIABLE" value="2" enum="TransferMode"> - Packets are sent via TCP packets. + 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. </constant> <constant name="CONNECTION_DISCONNECTED" value="0" enum="ConnectionStatus"> The ongoing connection disconnected. diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index d02e3dfdfa..90e9436307 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -50,7 +50,7 @@ <argument index="0" name="event" type="InputEvent"> </argument> <description> - Called when there is an input event. The input event propagates through the node tree until a node consumes it. + Called when there is an input event. The input event propagates up through the node tree until a node consumes it. It is only called if input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_input]. To consume the input event and stop it propagating further to other nodes, [method SceneTree.set_input_as_handled] can be called. For gameplay input, [method _unhandled_input] and [method _unhandled_key_input] are usually a better fit as they allow the GUI to intercept the events first. @@ -93,7 +93,7 @@ <argument index="0" name="event" type="InputEvent"> </argument> <description> - Propagated to all nodes when the previous [InputEvent] is not consumed by any nodes. + Called when an [InputEvent] hasn't been consumed by [method _input] or any GUI. The input event propagates up through the node tree until a node consumes it. It is only called if unhandled input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_unhandled_input]. To consume the input event and stop it propagating further to other nodes, [method SceneTree.set_input_as_handled] can be called. For gameplay input, this and [method _unhandled_key_input] are usually a better fit than [method _input] as they allow the GUI to intercept the events first. @@ -105,7 +105,7 @@ <argument index="0" name="event" type="InputEventKey"> </argument> <description> - Propagated to all nodes when the previous [InputEventKey] is not consumed by any nodes. + Called when an [InputEventKey] hasn't been consumed by [method _input] or any GUI. The input event propagates up through the node tree until a node consumes it. It is only called if unhandled key input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_unhandled_key_input]. To consume the input event and stop it propagating further to other nodes, [method SceneTree.set_input_as_handled] can be called. For gameplay input, this and [method _unhandled_input] are usually a better fit than [method _input] as they allow the GUI to intercept the events first. @@ -185,6 +185,7 @@ </argument> <description> Returns a child node by its index (see [method get_child_count]). This method is often used for iterating all children of a node. + To access a child node via its name, use [method get_node]. </description> </method> <method name="get_child_count" qualifiers="const"> @@ -265,6 +266,15 @@ Returns the parent node of the current node, or an empty [code]Node[/code] if the node lacks a parent. </description> </method> + <method name="find_parent" qualifiers="const"> + <return type="Node"> + </return> + <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. + </description> + </method> <method name="get_path" qualifiers="const"> <return type="NodePath"> </return> @@ -581,7 +591,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]sync[/code], [code]master[/code], [code]slave[/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). Also see [method rset] and [method rset_config] for properties. </description> </method> <method name="rpc_id" qualifiers="vararg"> @@ -634,7 +644,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]sync[/code], [code]master[/code], [code]slave[/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). Also see [method rpc] and [method rpc_config] for methods. </description> </method> <method name="rset_id"> @@ -691,7 +701,7 @@ <argument index="1" name="recursive" type="bool" default="true"> </argument> <description> - Sets the node's network master to the peer with the given peer ID. The network master is the peer that has authority over the node on the network. Useful in conjunction with the [code]master[/code] and [code]slave[/code] keywords. Inherited from the parent node by default, which ultimately defaults to peer ID 1 (the server). If [code]recursive[/code], the given peer is recursively set as the master for all children of this node. + Sets the node's network master to the peer with the given peer ID. The network master is the peer that has authority over the node on the network. Useful in conjunction with the [code]master[/code] and [code]puppet[/code] keywords. Inherited from the parent node by default, which ultimately defaults to peer ID 1 (the server). If [code]recursive[/code], the given peer is recursively set as the master for all children of this node. </description> </method> <method name="set_physics_process"> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index cf86176086..dad4ce898d 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -43,6 +43,12 @@ Centers the window on the screen if in windowed mode. </description> </method> + <method name="close_midi_inputs"> + <return type="void"> + </return> + <description> + </description> + </method> <method name="delay_msec" qualifiers="const"> <return type="void"> </return> @@ -95,7 +101,7 @@ </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', ['-c', '3', 'godotengine.org'])[/code] will resolve to [code]ping -c 3 godotengine.org[/code] in the system's shell. + 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. @@ -593,6 +599,12 @@ Resumes native video playback. </description> </method> + <method name="open_midi_inputs"> + <return type="void"> + </return> + <description> + </description> + </method> <method name="print_all_resources"> <return type="void"> </return> diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml index f4ad196ad2..fcd105d66b 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -185,7 +185,7 @@ </argument> <description> Get indexed object property by String. - Property indices get accessed with colon seperation, for example: [code]position:x[/code] + Property indices get accessed with colon separation, for example: [code]position:x[/code] </description> </method> <method name="get_instance_id" qualifiers="const"> diff --git a/doc/classes/PackedScene.xml b/doc/classes/PackedScene.xml index 8d810bc9c4..0d58e61c3a 100644 --- a/doc/classes/PackedScene.xml +++ b/doc/classes/PackedScene.xml @@ -11,7 +11,7 @@ var scene = PackedScene.new() var result = scene.pack(child) if result == OK: - ResourceSaver.save("res://path/name.scn", scene) // or user://... + ResourceSaver.save("res://path/name.scn", scene) # or user://... [/codeblock] </description> <tutorials> diff --git a/doc/classes/Physics2DDirectSpaceState.xml b/doc/classes/Physics2DDirectSpaceState.xml index f0fee77a5a..aa54d9a11a 100644 --- a/doc/classes/Physics2DDirectSpaceState.xml +++ b/doc/classes/Physics2DDirectSpaceState.xml @@ -19,7 +19,7 @@ </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 [1, 1]. - If the shape can not move, the array will be empty ([code]dir.empty()==true[/code]). + If the shape can not move, the array will be empty. </description> </method> <method name="collide_shape"> @@ -47,7 +47,7 @@ [code]point[/code]: The intersection point. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. - If the shape did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. + If the shape did not intersect anything, then an empty dictionary is returned instead. </description> </method> <method name="intersect_point"> @@ -61,6 +61,10 @@ </argument> <argument index="3" name="collision_layer" type="int" default="2147483647"> </argument> + <argument index="4" name="collide_with_bodies" type="bool" default="true"> + </argument> + <argument index="5" name="collide_with_areas" type="bool" default="false"> + </argument> <description> Checks whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields: [code]collider[/code]: The colliding object. @@ -68,7 +72,7 @@ [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. - Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in. + Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody]s or [Area]s, respectively. </description> </method> <method name="intersect_ray"> @@ -82,6 +86,10 @@ </argument> <argument index="3" name="collision_layer" type="int" default="2147483647"> </argument> + <argument index="4" name="collide_with_bodies" type="bool" default="true"> + </argument> + <argument index="5" name="collide_with_areas" type="bool" default="false"> + </argument> <description> Intersects a ray in a given space. The returned object is a dictionary with the following fields: [code]collider[/code]: The colliding object. @@ -91,8 +99,8 @@ [code]position[/code]: The intersection point. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. - If the ray did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. - Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in. + If the ray did not intersect anything, then an empty dictionary is returned instead. + Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody]s or [Area]s, respectively. </description> </method> <method name="intersect_shape"> @@ -109,7 +117,7 @@ [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. - The number of intersections can be limited with the second parameter, to reduce the processing time. + The number of intersections can be limited with the [code]max_results[/code] parameter, to reduce the processing time. </description> </method> </methods> diff --git a/doc/classes/Physics2DShapeQueryParameters.xml b/doc/classes/Physics2DShapeQueryParameters.xml index 391ad6276f..f9e0c5e3de 100644 --- a/doc/classes/Physics2DShapeQueryParameters.xml +++ b/doc/classes/Physics2DShapeQueryParameters.xml @@ -22,6 +22,10 @@ </method> </methods> <members> + <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled"> + </member> + <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled"> + </member> <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer"> The physics layer the query should be made on. </member> diff --git a/doc/classes/PhysicsBody.xml b/doc/classes/PhysicsBody.xml index 14053c6a35..af00027ed3 100644 --- a/doc/classes/PhysicsBody.xml +++ b/doc/classes/PhysicsBody.xml @@ -27,6 +27,7 @@ <argument index="0" name="bit" type="int"> </argument> <description> + Returns an individual bit on the collision mask. </description> </method> <method name="get_collision_mask_bit" qualifiers="const"> @@ -35,6 +36,7 @@ <argument index="0" name="bit" type="int"> </argument> <description> + Returns an individual bit on the collision mask. </description> </method> <method name="remove_collision_exception_with"> @@ -54,6 +56,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> + Sets individual bits on the layer mask. Use this if you only need to change one layer's value. </description> </method> <method name="set_collision_mask_bit"> @@ -64,6 +67,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> + Sets individual bits on the collision mask. Use this if you only need to change one layer's value. </description> </method> </methods> @@ -74,7 +78,7 @@ 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"> - The physics layers this area can scan for collisions. + The physics layers this area scans for collisions. </member> </members> <constants> diff --git a/doc/classes/PhysicsBody2D.xml b/doc/classes/PhysicsBody2D.xml index ccc704c7ec..4278979049 100644 --- a/doc/classes/PhysicsBody2D.xml +++ b/doc/classes/PhysicsBody2D.xml @@ -27,7 +27,7 @@ <argument index="0" name="bit" type="int"> </argument> <description> - Return an individual bit on the collision mask. + Returns an individual bit on the collision mask. </description> </method> <method name="get_collision_mask_bit" qualifiers="const"> @@ -36,7 +36,7 @@ <argument index="0" name="bit" type="int"> </argument> <description> - Return an individual bit on the collision mask. + Returns an individual bit on the collision mask. </description> </method> <method name="remove_collision_exception_with"> @@ -56,7 +56,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> - Set/clear individual bits on the layer mask. This makes getting a body in/out of only one layer easier. + Sets individual bits on the layer mask. Use this if you only need to change one layer's value. </description> </method> <method name="set_collision_mask_bit"> @@ -67,7 +67,7 @@ <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 individual bits on the collision mask. Use this if you only need to change one layer's value. </description> </method> </methods> @@ -78,10 +78,10 @@ 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"> - The physics layers this area can scan for collisions. + The physics layers this area scans for collisions. </member> <member name="layers" type="int" setter="_set_layers" getter="_get_layers"> - Both collision_layer and collision_mask. Returns collision_layer when accessed. Updates collision_layers and collision_mask when modified. + Both [member collision_layer] and [member collision_mask]. Returns [member collision_layer] when accessed. Updates [member collision_layer] and [member collision_mask] when modified. </member> </members> <constants> diff --git a/doc/classes/PhysicsDirectBodyState.xml b/doc/classes/PhysicsDirectBodyState.xml index 91fc4df4ff..2f3501ae5d 100644 --- a/doc/classes/PhysicsDirectBodyState.xml +++ b/doc/classes/PhysicsDirectBodyState.xml @@ -15,6 +15,8 @@ <argument index="0" name="force" type="Vector3"> </argument> <description> + Adds a constant directional force without affecting rotation. + This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code]. </description> </method> <method name="add_force"> @@ -25,6 +27,7 @@ <argument index="1" name="position" type="Vector3"> </argument> <description> + Adds a constant force (i.e. acceleration). </description> </method> <method name="add_torque"> @@ -33,6 +36,7 @@ <argument index="0" name="torque" type="Vector3"> </argument> <description> + Adds a constant rotational force (i.e. a motor) without affecting position. </description> </method> <method name="apply_central_impulse"> @@ -41,6 +45,8 @@ <argument index="0" name="j" type="Vector3"> </argument> <description> + Applies a single directional impulse without affecting rotation. + This is equivalent to ``apply_impulse(Vector3(0,0,0), impulse)``. </description> </method> <method name="apply_impulse"> @@ -51,6 +57,7 @@ <argument index="1" name="j" type="Vector3"> </argument> <description> + Apply a positioned impulse (which will be affected by the body mass and shape). This is the equivalent of hitting a billiard ball with a cue: a force that is applied once, and only once. Both the impulse and the position are in global coordinates, and the position is relative to the object's origin. </description> </method> <method name="apply_torque_impulse"> @@ -59,6 +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. </description> </method> <method name="get_contact_collider" qualifiers="const"> diff --git a/doc/classes/PhysicsDirectSpaceState.xml b/doc/classes/PhysicsDirectSpaceState.xml index 3f0e1a4f70..1fd00fa21c 100644 --- a/doc/classes/PhysicsDirectSpaceState.xml +++ b/doc/classes/PhysicsDirectSpaceState.xml @@ -21,7 +21,7 @@ </argument> <description> Checks whether the shape can travel to a point. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [1, 1]. - If the shape can not move, the array will be empty ([code]dir.empty()==true[/code]). + If the shape can not move, the returned array will be [0, 0]. </description> </method> <method name="collide_shape"> @@ -41,14 +41,14 @@ <argument index="0" name="shape" type="PhysicsShapeQueryParameters"> </argument> <description> - Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. If it collides with more than a shape, the nearest one is selected. The returned object is a dictionary containing the following fields: + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. If it collides with more than one shape, the nearest one is selected. The returned object is a dictionary containing the following fields: [code]collider_id[/code]: The colliding object's ID. [code]linear_velocity[/code]: The colliding object's velocity [Vector3]. If the object is an [Area], the result is [code](0, 0, 0)[/code]. [code]normal[/code]: The object's surface normal at the intersection point. [code]point[/code]: The intersection point. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. - If the shape did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. + If the shape did not intersect anything, then an empty dictionary is returned instead. </description> </method> <method name="intersect_ray"> @@ -60,7 +60,11 @@ </argument> <argument index="2" name="exclude" type="Array" default="[ ]"> </argument> - <argument index="3" name="collision_layer" type="int" default="2147483647"> + <argument index="3" name="collision_mask" type="int" default="2147483647"> + </argument> + <argument index="4" name="collide_with_bodies" type="bool" default="true"> + </argument> + <argument index="5" name="collide_with_areas" type="bool" default="false"> </argument> <description> Intersects a ray in a given space. The returned object is a dictionary with the following fields: @@ -70,8 +74,8 @@ [code]position[/code]: The intersection point. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. - If the ray did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. - Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in. + If the ray did not intersect anything, then an empty dictionary is returned instead. + Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody]s or [Area]s, respectively. </description> </method> <method name="intersect_shape"> @@ -87,7 +91,7 @@ [code]collider_id[/code]: The colliding object's ID. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. - The number of intersections can be limited with the second parameter, to reduce the processing time. + The number of intersections can be limited with the [code]max_results[/code] parameter, to reduce the processing time. </description> </method> </methods> diff --git a/doc/classes/PhysicsMaterial.xml b/doc/classes/PhysicsMaterial.xml index bfebb472a5..3eebcc57a1 100644 --- a/doc/classes/PhysicsMaterial.xml +++ b/doc/classes/PhysicsMaterial.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PhysicsMaterial" inherits="Resource" category="Core" version="3.1"> <brief_description> + A material for physics properties. </brief_description> <description> + Provides a means of modifying the collision properties of a [PhysicsBody]. </description> <tutorials> </tutorials> @@ -14,8 +16,10 @@ <member name="absorbent" type="bool" setter="set_absorbent" getter="is_absorbent"> </member> <member name="bounce" type="float" setter="set_bounce" getter="get_bounce"> + The body's bounciness. Default value: [code]0[/code]. </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> <member name="rough" type="bool" setter="set_rough" getter="is_rough"> </member> diff --git a/doc/classes/PhysicsServer.xml b/doc/classes/PhysicsServer.xml index 88a104cb11..f79baea0be 100644 --- a/doc/classes/PhysicsServer.xml +++ b/doc/classes/PhysicsServer.xml @@ -1518,9 +1518,7 @@ <constant name="BODY_MODE_RIGID" value="2" enum="BodyMode"> Constant for rigid bodies. </constant> - <constant name="BODY_MODE_SOFT" value="3" enum="BodyMode"> - </constant> - <constant name="BODY_MODE_CHARACTER" value="4" enum="BodyMode"> + <constant name="BODY_MODE_CHARACTER" value="3" enum="BodyMode"> Constant for rigid bodies in character mode. In this mode, a body can not rotate, and only its linear velocity is affected by physics. </constant> <constant name="BODY_PARAM_BOUNCE" value="0" enum="BodyParameter"> diff --git a/doc/classes/PhysicsShapeQueryParameters.xml b/doc/classes/PhysicsShapeQueryParameters.xml index 2f36e81e27..7cca231ad2 100644 --- a/doc/classes/PhysicsShapeQueryParameters.xml +++ b/doc/classes/PhysicsShapeQueryParameters.xml @@ -19,6 +19,10 @@ </method> </methods> <members> + <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled"> + </member> + <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled"> + </member> <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask"> </member> <member name="exclude" type="Array" setter="set_exclude" getter="get_exclude"> diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml index 62e4fc5d9d..3d5eada066 100644 --- a/doc/classes/Plane.xml +++ b/doc/classes/Plane.xml @@ -157,11 +157,11 @@ </member> </members> <constants> - <constant name="X" value="Plane( 1, 0, 0, 0 )"> + <constant name="PLANE_YZ" value="Plane( 1, 0, 0, 0 )"> </constant> - <constant name="Y" value="Plane( 0, 1, 0, 0 )"> + <constant name="PLANE_XZ" value="Plane( 0, 1, 0, 0 )"> </constant> - <constant name="Z" value="Plane( 0, 0, 1, 0 )"> + <constant name="PLANE_XY" value="Plane( 0, 0, 1, 0 )"> </constant> </constants> </class> diff --git a/doc/classes/PoolByteArray.xml b/doc/classes/PoolByteArray.xml index 120d80ba39..ae722b1053 100644 --- a/doc/classes/PoolByteArray.xml +++ b/doc/classes/PoolByteArray.xml @@ -81,7 +81,7 @@ </method> <method name="invert"> <description> - Reverse the order of the elements in the array (so first element will now be the last). + Reverse the order of the elements in the array. </description> </method> <method name="push_back"> @@ -129,7 +129,7 @@ <argument index="1" name="to" type="int"> </argument> <description> - Returns the slice of the [code]PoolByteArray[/code] between indices (inclusive) as a new [code]PoolByteArray[/code]. Any negative index is considered to be from the end of the array. + Returns the slice of the [code]PoolByteArray[/code] between indices (inclusive) as a new [code]PoolByteArray[/code]. Any negative index is considered to be from the end of the array. </description> </method> </methods> diff --git a/doc/classes/PoolColorArray.xml b/doc/classes/PoolColorArray.xml index 0c93a565f5..021d5f5089 100644 --- a/doc/classes/PoolColorArray.xml +++ b/doc/classes/PoolColorArray.xml @@ -47,7 +47,7 @@ </method> <method name="invert"> <description> - Reverse the order of the elements in the array (so first element will now be the last). + Reverse the order of the elements in the array. </description> </method> <method name="push_back"> diff --git a/doc/classes/PoolIntArray.xml b/doc/classes/PoolIntArray.xml index 43cb5d77de..347dcb09f2 100644 --- a/doc/classes/PoolIntArray.xml +++ b/doc/classes/PoolIntArray.xml @@ -47,7 +47,7 @@ </method> <method name="invert"> <description> - Reverse the order of the elements in the array (so first element will now be the last). + Reverse the order of the elements in the array. </description> </method> <method name="push_back"> diff --git a/doc/classes/PoolRealArray.xml b/doc/classes/PoolRealArray.xml index 0808b44104..c0c6ef8700 100644 --- a/doc/classes/PoolRealArray.xml +++ b/doc/classes/PoolRealArray.xml @@ -47,7 +47,7 @@ </method> <method name="invert"> <description> - Reverse the order of the elements in the array (so first element will now be the last). + Reverse the order of the elements in the array. </description> </method> <method name="push_back"> diff --git a/doc/classes/PoolStringArray.xml b/doc/classes/PoolStringArray.xml index 9f6c4306cb..8b3ac4c16a 100644 --- a/doc/classes/PoolStringArray.xml +++ b/doc/classes/PoolStringArray.xml @@ -47,7 +47,7 @@ </method> <method name="invert"> <description> - Reverse the order of the elements in the array (so first element will now be the last). + Reverse the order of the elements in the array. </description> </method> <method name="join"> diff --git a/doc/classes/PoolVector2Array.xml b/doc/classes/PoolVector2Array.xml index 072281158c..ecf8f5a6ba 100644 --- a/doc/classes/PoolVector2Array.xml +++ b/doc/classes/PoolVector2Array.xml @@ -47,7 +47,7 @@ </method> <method name="invert"> <description> - Reverse the order of the elements in the array (so first element will now be the last). + Reverse the order of the elements in the array. </description> </method> <method name="push_back"> diff --git a/doc/classes/PoolVector3Array.xml b/doc/classes/PoolVector3Array.xml index 7aa5dfc090..456b54d209 100644 --- a/doc/classes/PoolVector3Array.xml +++ b/doc/classes/PoolVector3Array.xml @@ -47,7 +47,7 @@ </method> <method name="invert"> <description> - Reverse the order of the elements in the array (so first element will now be the last). + Reverse the order of the elements in the array. </description> </method> <method name="push_back"> diff --git a/doc/classes/ProceduralSky.xml b/doc/classes/ProceduralSky.xml index df0519b2ad..090b626433 100644 --- a/doc/classes/ProceduralSky.xml +++ b/doc/classes/ProceduralSky.xml @@ -5,7 +5,7 @@ </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 becuase it is updated on a background thread when multi-threading is available. + 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. </description> <tutorials> </tutorials> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 358b7292a5..0b7c0a63ad 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -83,6 +83,8 @@ <argument index="0" name="pack" type="String"> </argument> <description> + Loads the contents of the .pck or .zip file specified by [code]pack[/code] into the resource filesystem (res://). Returns true 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]. </description> </method> <method name="localize_path" qualifiers="const"> @@ -100,6 +102,7 @@ <argument index="0" name="name" type="String"> </argument> <description> + Returns true if the specified property exists and its initial value differs from the current value. </description> </method> <method name="property_get_revert"> @@ -108,12 +111,14 @@ <argument index="0" name="name" type="String"> </argument> <description> + Returns the initial value of the specified property. Returns null if the property does not exist. </description> </method> <method name="save"> <return type="int" enum="Error"> </return> <description> + Saves the configuration to the project.godot file. </description> </method> <method name="save_custom"> @@ -122,6 +127,7 @@ <argument index="0" name="file" type="String"> </argument> <description> + Saves the configuration to a custom file. </description> </method> <method name="set_initial_value"> @@ -157,6 +163,8 @@ </method> </methods> <members> + <member name="application/boot_splash/bg_color" type="Color" setter="" getter=""> + </member> <member name="application/boot_splash/fullsize" type="bool" setter="" getter=""> Scale the boot splash image to the full window length when engine starts (will leave it as default pixel size otherwise). </member> @@ -208,7 +216,7 @@ <member name="audio/output_latency" type="int" setter="" getter=""> </member> <member name="audio/video_delay_compensation_ms" type="int" setter="" getter=""> - Setting to harcode audio delay when playing video. Best to leave this untouched unless you know what you are doing. + 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=""> Default compression level for gzip. Affects compressed scenes and resources. @@ -226,6 +234,8 @@ </member> <member name="debug/gdscript/warnings/constant_used_as_function" type="bool" setter="" getter=""> </member> + <member name="debug/gdscript/warnings/deprecated_keyword" type="bool" setter="" getter=""> + </member> <member name="debug/gdscript/warnings/enable" type="bool" setter="" getter=""> </member> <member name="debug/gdscript/warnings/function_conflicts_constant" type="bool" setter="" getter=""> @@ -576,6 +586,14 @@ <member name="memory/limits/multithreaded_server/rid_pool_prealloc" type="int" setter="" getter=""> 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="mono/debugger_agent/port" type="int" setter="" getter=""> + </member> + <member name="mono/debugger_agent/wait_for_debugger" type="bool" setter="" getter=""> + </member> + <member name="mono/debugger_agent/wait_timeout" type="int" setter="" getter=""> + </member> + <member name="mono/export/include_scripts_content" type="bool" setter="" getter=""> + </member> <member name="network/limits/debugger_stdout/max_chars_per_second" type="int" setter="" getter=""> 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> @@ -597,9 +615,6 @@ <member name="network/remote_fs/page_size" type="int" setter="" getter=""> Page size used by remote filesystem. </member> - <member name="network/ssl/certificates" type="String" setter="" getter=""> - If your game or application uses HTTPS, a certificates file is needed. It must be set here. - </member> <member name="node/name_casing" type="int" setter="" getter=""> When creating nodes names automatically, set the type of casing in this project. This is mostly an editor setting. </member> @@ -622,7 +637,7 @@ Fix to improve physics jitter, specially on monitors where refresh rate is different than physics FPS. </member> <member name="rendering/environment/default_clear_color" type="Color" setter="" getter=""> - Default background clear color. + Default background clear color. Overridable 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=""> Max buffer size for blend shapes. Any blend shape bigger than this will not work. @@ -656,6 +671,9 @@ </member> <member name="rendering/quality/directional_shadow/size.mobile" type="int" setter="" getter=""> </member> + <member name="rendering/quality/driver/driver_fallback" type="String" setter="" getter=""> + Whether to allow falling back to other graphics drivers if the preferred driver is not available. Best means use the best working driver (this is the default). Never means never fall back to another driver even if it does not work. This means the project will not run if the preferred driver does not function. + </member> <member name="rendering/quality/driver/driver_name" type="String" setter="" getter=""> </member> <member name="rendering/quality/filters/anisotropic_filter_level" type="int" setter="" getter=""> @@ -723,6 +741,8 @@ <member name="rendering/threads/thread_model" type="int" setter="" getter=""> Thread model for rendering. Rendering on a thread can vastly improve performance, but syncinc to the main thread can cause a bit more jitter. </member> + <member name="rendering/vram_compression/import_bptc" type="bool" setter="" getter=""> + </member> <member name="rendering/vram_compression/import_etc" type="bool" setter="" getter=""> If the project uses this compression (usually low end mobile), texture importer will import these. </member> diff --git a/doc/classes/RID.xml b/doc/classes/RID.xml index ee34560afd..a289b68c9a 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, 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]. </description> <tutorials> </tutorials> @@ -17,14 +17,14 @@ <argument index="0" name="from" type="Object"> </argument> <description> - Create a new RID instance with the ID of a given resource. When not handed a valid resource, silently stores the unused ID 0. + Creates a new RID instance with the ID of a given resource. When not handed a valid resource, silently stores the unused ID 0. </description> </method> <method name="get_id"> <return type="int"> </return> <description> - Retrieve the ID of the referenced resource. + Returns the ID of the referenced resource. </description> </method> </methods> diff --git a/doc/classes/RayCast.xml b/doc/classes/RayCast.xml index dce73d9c29..84c83d1282 100644 --- a/doc/classes/RayCast.xml +++ b/doc/classes/RayCast.xml @@ -6,6 +6,7 @@ <description> A RayCast represents a line from its origin to its destination position, [code]cast_to[/code]. It is used to query the 3D space in order to find the closest object along the path of the ray. RayCast can ignore some objects by adding them to the exception list via [code]add_exception[/code], by setting proper filtering with collision layers, or by filtering object types with type masks. + RayCast can be configured to report collisions with [Area]s ([member collide_with_areas]) and/or [PhysicsBody]s ([member collide_with_bodies]). Only enabled raycasts will be able to query the space and report collisions. RayCast calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame) use [method force_raycast_update] after adjusting the raycast. </description> @@ -51,24 +52,14 @@ <return type="Object"> </return> <description> - Return the closest object the ray is pointing to. Note that this does not consider the length of the ray, so you must also use [method is_colliding] to check if the object returned is actually colliding with the ray. - Example: - [codeblock] - if RayCast.is_colliding(): - var collider = RayCast.get_collider() - [/codeblock] + Return the first object that the ray intersects, or [code]null[/code] if no object is intersecting the ray (i.e. [method is_colliding] returns [code]false[/code]). </description> </method> <method name="get_collider_shape" qualifiers="const"> <return type="int"> </return> <description> - Returns the collision shape of the closest object the ray is pointing to. Note that this does not consider the length of the ray, so you must also use [method is_colliding] to check if the object returned is actually colliding with the ray. - Example: - [codeblock] - if RayCast.is_colliding(): - var shape = RayCast.get_collider_shape() - [/codeblock] + Returns the shape ID of the first object that the ray intersects, or [code]0[/code] if no object is intersecting the ray (i.e. [method is_colliding] returns [code]false[/code]). </description> </method> <method name="get_collision_mask_bit" qualifiers="const"> @@ -98,7 +89,7 @@ <return type="bool"> </return> <description> - Return whether the closest object the ray is pointing to is colliding with the vector (considering the vector length). + Return whether any object is intersecting with the ray's vector (considering the vector length). </description> </method> <method name="remove_exception"> @@ -135,6 +126,12 @@ <member name="cast_to" type="Vector3" setter="set_cast_to" getter="get_cast_to"> 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> + <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> <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask"> The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. </member> diff --git a/doc/classes/RayCast2D.xml b/doc/classes/RayCast2D.xml index 79e733bcdc..afb80f2f6e 100644 --- a/doc/classes/RayCast2D.xml +++ b/doc/classes/RayCast2D.xml @@ -6,6 +6,7 @@ <description> A RayCast represents a line from its origin to its destination position, [code]cast_to[/code]. It is used to query the 2D space in order to find the closest object along the path of the ray. RayCast2D can ignore some objects by adding them to the exception list via [code]add_exception[/code], by setting proper filtering with collision layers, or by filtering object types with type masks. + RayCast2D can be configured to report collisions with [Area2D]s ([member collide_with_areas]) and/or [PhysicsBody2D]s ([member collide_with_bodies]). Only enabled raycasts will be able to query the space and report collisions. RayCast2D calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame) use [method force_raycast_update] after adjusting the raycast. </description> @@ -43,31 +44,21 @@ <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. Note: [code]enabled == true[/code] is not required for this to work. </description> </method> <method name="get_collider" qualifiers="const"> <return type="Object"> </return> <description> - Returns the closest object the ray is pointing to. Note that this does not consider the length of the ray, so you must also use [method is_colliding] to check if the object returned is actually colliding with the ray. - Example: - [codeblock] - if RayCast2D.is_colliding(): - var collider = RayCast2D.get_collider() - [/codeblock] + Return the first object that the ray intersects, or [code]null[/code] if no object is intersecting the ray (i.e. [method is_colliding] returns [code]false[/code]). </description> </method> <method name="get_collider_shape" qualifiers="const"> <return type="int"> </return> <description> - Returns the collision shape of the closest object the ray is pointing to. Note that this does not consider the length of the ray, so you must also use [method is_colliding] to check if the object returned is actually colliding with the ray. - Example: - [codeblock] - if RayCast2D.is_colliding(): - var shape = RayCast2D.get_collider_shape() - [/codeblock] + Returns the shape ID of the first object that the ray intersects, or [code]0[/code] if no object is intersecting the ray (i.e. [method is_colliding] returns [code]false[/code]). </description> </method> <method name="get_collision_mask_bit" qualifiers="const"> @@ -97,7 +88,7 @@ <return type="bool"> </return> <description> - Return whether the closest object the ray is pointing to is colliding with the vector (considering the vector length). + Return whether any object is intersecting with the ray's vector (considering the vector length). </description> </method> <method name="remove_exception"> @@ -134,6 +125,12 @@ <member name="cast_to" type="Vector2" setter="set_cast_to" getter="get_cast_to"> 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> + <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> <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask"> The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. </member> diff --git a/doc/classes/RemoteTransform.xml b/doc/classes/RemoteTransform.xml index a7deb273b6..1a5d1eb907 100644 --- a/doc/classes/RemoteTransform.xml +++ b/doc/classes/RemoteTransform.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="RemoteTransform" inherits="Spatial" category="Core" version="3.1"> <brief_description> - RemoteTransform leads the [Transform] of another [Spatial] derived Node in the scene. + RemoteTransform pushes its own [Transform] to another [Spatial] derived Node in the scene. </brief_description> <description> - RemoteTransform leads the [Transform] of another [Spatial] derived Node (called the remote node) in the scene. - It can be set to track another Node's position, rotation and/or scale. It can update using either global or local coordinates. + RemoteTransform pushes its own [Transform] to another [Spatial] derived Node (called the remote node) in the scene. + It can be set to update another Node's position, rotation and/or scale. It can use either global or local coordinates. </description> <tutorials> </tutorials> @@ -18,13 +18,13 @@ 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 tracked. Default value: [code]true[/code]. + If [code]true[/code] the remote node's position is updated. Default value: [code]true[/code]. </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 tracked. Default value: [code]true[/code]. + If [code]true[/code] the remote node's rotation is updated. Default value: [code]true[/code]. </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 tracked. Default value: [code]true[/code]. + If [code]true[/code] the remote node's scale is updated. Default value: [code]true[/code]. </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]. diff --git a/doc/classes/RemoteTransform2D.xml b/doc/classes/RemoteTransform2D.xml index bc562dcdad..d83ec9f6b1 100644 --- a/doc/classes/RemoteTransform2D.xml +++ b/doc/classes/RemoteTransform2D.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="RemoteTransform2D" inherits="Node2D" category="Core" version="3.1"> <brief_description> - RemoteTransform2D leads the [Transform2D] of another [CanvasItem] derived Node in the scene. + RemoteTransform2D pushes its own [Transform2D] to another [CanvasItem] derived Node in the scene. </brief_description> <description> - RemoteTransform2D leads the [Transform2D] of another [CanvasItem] derived Node (called the remote node) in the scene. - It can be set to track another Node's position, rotation and/or scale. It can update using either global or local coordinates. + RemoteTransform2D pushes its own [Transform2D] to another [CanvasItem] derived Node (called the remote node) in the scene. + It can be set to update another Node's position, rotation and/or scale. It can use either global or local coordinates. </description> <tutorials> </tutorials> @@ -18,13 +18,13 @@ 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 tracked. Default value: [code]true[/code]. + If [code]true[/code] the remote node's position is updated. Default value: [code]true[/code]. </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 tracked. Default value: [code]true[/code]. + If [code]true[/code] the remote node's rotation is updated. Default value: [code]true[/code]. </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 tracked. Default value: [code]true[/code]. + If [code]true[/code] the remote node's scale is updated. Default value: [code]true[/code]. </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]. diff --git a/doc/classes/ResourceSaver.xml b/doc/classes/ResourceSaver.xml index ae0d8e909d..bf3ea95bce 100644 --- a/doc/classes/ResourceSaver.xml +++ b/doc/classes/ResourceSaver.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ResourceSaver" inherits="Object" category="Core" version="3.1"> <brief_description> - Resource Saving Interface. + Resource saving interface. </brief_description> <description> - Resource Saving Interface. This interface is used for saving resources to disk. + Resource saving interface, used for saving resources to disk. </description> <tutorials> </tutorials> @@ -17,7 +17,7 @@ <argument index="0" name="type" type="Resource"> </argument> <description> - Return the list of extensions available for saving a resource of a given type. + Returns the list of extensions available for saving a resource of a given type. </description> </method> <method name="save"> @@ -30,7 +30,7 @@ <argument index="2" name="flags" type="int" default="0"> </argument> <description> - Save a resource to disk, to a given path. + Saves a resource to disk. </description> </method> </methods> diff --git a/doc/classes/RigidBody.xml b/doc/classes/RigidBody.xml index 038464e127..f9e0f821a9 100644 --- a/doc/classes/RigidBody.xml +++ b/doc/classes/RigidBody.xml @@ -30,6 +30,8 @@ <argument index="0" name="force" type="Vector3"> </argument> <description> + Adds a constant directional force without affecting rotation. + This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code]. </description> </method> <method name="add_force"> @@ -40,6 +42,7 @@ <argument index="1" name="position" type="Vector3"> </argument> <description> + Adds a constant force (i.e. acceleration). </description> </method> <method name="add_torque"> @@ -48,6 +51,7 @@ <argument index="0" name="torque" type="Vector3"> </argument> <description> + Adds a constant rotational force (i.e. a motor) without affecting position. </description> </method> <method name="apply_central_impulse"> @@ -56,6 +60,8 @@ <argument index="0" name="impulse" type="Vector3"> </argument> <description> + Applies a single directional impulse without affecting rotation. + This is equivalent to ``apply_impulse(Vector3(0,0,0), impulse)``. </description> </method> <method name="apply_impulse"> @@ -82,7 +88,7 @@ <return type="Array"> </return> <description> - Return a list of the bodies colliding with this one. By default, number of max contacts reported is at 0 , see [method set_max_contacts_reported] 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. + Return a list of the bodies colliding with this one. By default, number of max contacts reported is at 0 , see [method set_max_contacts_reported] 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. </description> </method> <method name="set_axis_velocity"> @@ -162,14 +168,14 @@ </members> <signals> <signal name="body_entered"> - <argument index="0" name="body" type="Object"> + <argument index="0" name="body" type="Node"> </argument> <description> Emitted when a body enters into contact with this one. Contact monitor and contacts reported must be enabled for this to work. </description> </signal> <signal name="body_exited"> - <argument index="0" name="body" type="Object"> + <argument index="0" name="body" type="Node"> </argument> <description> Emitted when a body shape exits contact with this one. Contact monitor and contacts reported must be enabled for this to work. @@ -178,7 +184,7 @@ <signal name="body_shape_entered"> <argument index="0" name="body_id" type="int"> </argument> - <argument index="1" name="body" type="Object"> + <argument index="1" name="body" type="Node"> </argument> <argument index="2" name="body_shape" type="int"> </argument> @@ -192,7 +198,7 @@ <signal name="body_shape_exited"> <argument index="0" name="body_id" type="int"> </argument> - <argument index="1" name="body" type="Object"> + <argument index="1" name="body" type="Node"> </argument> <argument index="2" name="body_shape" type="int"> </argument> diff --git a/doc/classes/RigidBody2D.xml b/doc/classes/RigidBody2D.xml index 2265c777c8..1f6b3934c2 100644 --- a/doc/classes/RigidBody2D.xml +++ b/doc/classes/RigidBody2D.xml @@ -173,14 +173,14 @@ </members> <signals> <signal name="body_entered"> - <argument index="0" name="body" type="Object"> + <argument index="0" name="body" type="Node"> </argument> <description> Emitted when a body enters into contact with this one. [member contact_monitor] must be [code]true[/code] and [member contacts_reported] greater than [code]0[/code]. </description> </signal> <signal name="body_exited"> - <argument index="0" name="body" type="Object"> + <argument index="0" name="body" type="Node"> </argument> <description> Emitted when a body exits contact with this one. [member contact_monitor] must be [code]true[/code] and [member contacts_reported] greater than [code]0[/code]. @@ -189,7 +189,7 @@ <signal name="body_shape_entered"> <argument index="0" name="body_id" type="int"> </argument> - <argument index="1" name="body" type="Object"> + <argument index="1" name="body" type="Node"> </argument> <argument index="2" name="body_shape" type="int"> </argument> @@ -202,7 +202,7 @@ <signal name="body_shape_exited"> <argument index="0" name="body_id" type="int"> </argument> - <argument index="1" name="body" type="Object"> + <argument index="1" name="body" type="Node"> </argument> <argument index="2" name="body_shape" type="int"> </argument> diff --git a/doc/classes/SceneState.xml b/doc/classes/SceneState.xml index 36cddf08df..bd2f883cae 100644 --- a/doc/classes/SceneState.xml +++ b/doc/classes/SceneState.xml @@ -4,7 +4,7 @@ A script interface to a scene file's data. </brief_description> <description> - Maintains a list of resources, nodes, exported and overridden properties, and built-in scripts associated with a scene. + Maintains a list of resources, nodes, exported, and overridden properties, and built-in scripts associated with a scene. </description> <tutorials> </tutorials> diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml index c85bee9b84..1985845552 100644 --- a/doc/classes/SceneTree.xml +++ b/doc/classes/SceneTree.xml @@ -271,10 +271,10 @@ </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] protecion when accessing the [MultiplayerAPI] from threads. + 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> <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 slave. 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 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. </member> <member name="paused" type="bool" setter="set_pause" getter="is_paused"> If [code]true[/code] the SceneTree is paused. @@ -329,21 +329,21 @@ </description> </signal> <signal name="node_added"> - <argument index="0" name="node" type="Object"> + <argument index="0" name="node" type="Node"> </argument> <description> Emitted whenever a node is added to the SceneTree. </description> </signal> <signal name="node_configuration_warning_changed"> - <argument index="0" name="node" type="Object"> + <argument index="0" name="node" type="Node"> </argument> <description> Emitted when a node's configuration changed. Only emitted in tool mode. </description> </signal> <signal name="node_removed"> - <argument index="0" name="node" type="Object"> + <argument index="0" name="node" type="Node"> </argument> <description> Emitted whenever a node is removed from the SceneTree. diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml index 09c60afc2f..128d7475cc 100644 --- a/doc/classes/Script.xml +++ b/doc/classes/Script.xml @@ -4,8 +4,8 @@ A class stored as a resource. </brief_description> <description> - A class stored as a resource. The script exends the functionality of all objects that instance it. - The 'new' method of a script subclass creates a new instance. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes. + A class stored as a resource. A script exends the functionality of all objects that instance it. + The [code]new[/code] method of a script subclass creates a new instance. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes. </description> <tutorials> <link>http://docs.godotengine.org/en/3.0/getting_started/step_by_step/scripting.html</link> @@ -17,7 +17,7 @@ <return type="bool"> </return> <description> - Returns true if the script can be instanced. + Returns [code]true[/code] if the script can be instanced. </description> </method> <method name="get_base_script" qualifiers="const"> @@ -31,6 +31,7 @@ <return type="String"> </return> <description> + Returns the script's base type. </description> </method> <method name="has_script_signal" qualifiers="const"> @@ -39,14 +40,14 @@ <argument index="0" name="signal_name" type="String"> </argument> <description> - Returns true if the script, or a base class, defines a signal with the given name. + Returns [code]true[/code] if the script, or a base class, defines a signal with the given name. </description> </method> <method name="has_source_code" qualifiers="const"> <return type="bool"> </return> <description> - Returns true if the script contains non-empty source code. + Returns [code]true[/code] if the script contains non-empty source code. </description> </method> <method name="instance_has" qualifiers="const"> @@ -55,14 +56,14 @@ <argument index="0" name="base_object" type="Object"> </argument> <description> - Returns true if 'base_object' is an instance of this script. + Returns [code]true[/code] if [code]base_object[/code] is an instance of this script. </description> </method> <method name="is_tool" qualifiers="const"> <return type="bool"> </return> <description> - Returns true if the script is a tool script. A tool script can run in the editor. + Returns [code]true[/code] if the script is a tool script. A tool script can run in the editor. </description> </method> <method name="reload"> @@ -77,7 +78,7 @@ </methods> <members> <member name="source_code" type="String" setter="set_source_code" getter="get_source_code"> - The script source code, or an empty string if source code is not available. When set, does not reload the class implementation automatically. + The script source code or an empty string if source code is not available. When set, does not reload the class implementation automatically. </member> </members> <constants> diff --git a/doc/classes/ScriptCreateDialog.xml b/doc/classes/ScriptCreateDialog.xml index a3ad3a778e..3de068dbcb 100644 --- a/doc/classes/ScriptCreateDialog.xml +++ b/doc/classes/ScriptCreateDialog.xml @@ -31,7 +31,7 @@ </methods> <signals> <signal name="script_created"> - <argument index="0" name="script" type="Object"> + <argument index="0" name="script" type="Script"> </argument> <description> Emitted when the user clicks the OK button. diff --git a/doc/classes/ScriptEditor.xml b/doc/classes/ScriptEditor.xml index 4bfd07fdad..435ab8aafc 100644 --- a/doc/classes/ScriptEditor.xml +++ b/doc/classes/ScriptEditor.xml @@ -70,14 +70,14 @@ </methods> <signals> <signal name="editor_script_changed"> - <argument index="0" name="script" type="Object"> + <argument index="0" name="script" type="Script"> </argument> <description> Emitted when user changed active script. Argument is a freshly activated [Script]. </description> </signal> <signal name="script_close"> - <argument index="0" name="script" type="Object"> + <argument index="0" name="script" type="Script"> </argument> <description> Emitted when editor is about to close the active script. Argument is a [Script] that is going to be closed. diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml index 02f58a88cb..d310561233 100644 --- a/doc/classes/ScrollContainer.xml +++ b/doc/classes/ScrollContainer.xml @@ -4,7 +4,7 @@ A helper node for displaying scrollable elements (e.g. lists). </brief_description> <description> - A ScrollContainer node with a [Control] child and scrollbar child ([HScrollbar], [VScrollBar], or both) 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 with a [Control] child and scrollbar child ([HScrollbar], [VScrollBar], or both) 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). </description> <tutorials> </tutorials> diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml index 76049d8947..7f9a124683 100644 --- a/doc/classes/Shader.xml +++ b/doc/classes/Shader.xml @@ -24,7 +24,7 @@ <return type="int" enum="Shader.Mode"> </return> <description> - Returns the shader mode for the shader, eiter [code]MODE_CANVAS_ITEM[/code], [code]MODE_SPATIAL[/code] or [code]MODE_PARTICLES[/code] + Returns the shader mode for the shader, either [code]MODE_CANVAS_ITEM[/code], [code]MODE_SPATIAL[/code] or [code]MODE_PARTICLES[/code] </description> </method> <method name="has_param" qualifiers="const"> diff --git a/doc/classes/ShaderMaterial.xml b/doc/classes/ShaderMaterial.xml index 5abba9fba9..7491d22479 100644 --- a/doc/classes/ShaderMaterial.xml +++ b/doc/classes/ShaderMaterial.xml @@ -20,6 +20,22 @@ Returns the current value set for this material of a uniform in the shader. </description> </method> + <method name="property_can_revert"> + <return type="bool"> + </return> + <argument index="0" name="name" type="String"> + </argument> + <description> + </description> + </method> + <method name="property_get_revert"> + <return type="Variant"> + </return> + <argument index="0" name="name" type="String"> + </argument> + <description> + </description> + </method> <method name="set_shader_param"> <return type="void"> </return> diff --git a/doc/classes/Shape.xml b/doc/classes/Shape.xml index fcd01bc25a..bc1a429418 100644 --- a/doc/classes/Shape.xml +++ b/doc/classes/Shape.xml @@ -4,7 +4,7 @@ Base class for all 3D shape resources. </brief_description> <description> - Base class for all 3D shape resources. All 3D shapes that inherit from this can be set into a [PhysicsBody] or [Area]. + Base class for all 3D shape resources. Nodes that inherit from this can be used as shapes for a [PhysicsBody] or [Area] objects. </description> <tutorials> <link>http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html</link> @@ -13,6 +13,10 @@ </demos> <methods> </methods> + <members> + <member name="margin" type="float" setter="set_margin" getter="get_margin"> + </member> + </members> <constants> </constants> </class> diff --git a/doc/classes/Shape2D.xml b/doc/classes/Shape2D.xml index 6c13496fc4..2772538cec 100644 --- a/doc/classes/Shape2D.xml +++ b/doc/classes/Shape2D.xml @@ -22,7 +22,7 @@ <argument index="2" name="shape_xform" type="Transform2D"> </argument> <description> - Return whether this shape is colliding with another. + Returns [code]true[/code] if this shape is colliding with another. This method needs the transformation matrix for this shape ([code]local_xform[/code]), the shape to check collisions with ([code]with_shape[/code]), and the transformation matrix of that shape ([code]shape_xform[/code]). </description> </method> @@ -36,7 +36,7 @@ <argument index="2" name="shape_xform" type="Transform2D"> </argument> <description> - Return a list of the points where this shape touches another. If there are no collisions, the list is empty. + Returns a list of the points where this shape touches another. If there are no collisions the list is empty. This method needs the transformation matrix for this shape ([code]local_xform[/code]), the shape to check collisions with ([code]with_shape[/code]), and the transformation matrix of that shape ([code]shape_xform[/code]). </description> </method> @@ -72,7 +72,7 @@ <argument index="4" name="shape_motion" type="Vector2"> </argument> <description> - Return a list of the points where this shape would touch another, if a given movement was applied. If there are no collisions, the list is empty. + Returns a list of the points where this shape would touch another, if a given movement was applied. If there are no collisions the list is empty. This method needs the transformation matrix for this shape ([code]local_xform[/code]), the movement to test on this shape ([code]local_motion[/code]), the shape to check collisions with ([code]with_shape[/code]), the transformation matrix of that shape ([code]shape_xform[/code]), and the movement to test onto the other object ([code]shape_motion[/code]). </description> </method> diff --git a/doc/classes/ShortCut.xml b/doc/classes/ShortCut.xml index 6da9d7c59d..1b5fc035c2 100644 --- a/doc/classes/ShortCut.xml +++ b/doc/classes/ShortCut.xml @@ -16,7 +16,7 @@ <return type="String"> </return> <description> - Returns the Shortcut's [InputEvent] as a [String]. + Returns the shortcut's [InputEvent] as a [String]. </description> </method> <method name="is_shortcut" qualifiers="const"> @@ -25,20 +25,20 @@ <argument index="0" name="event" type="InputEvent"> </argument> <description> - Returns [code]true[/code] if the Shortcut's [InputEvent] equals [code]event[/code]. + Returns [code]true[/code] if the shortcut's [InputEvent] equals [code]event[/code]. </description> </method> <method name="is_valid" qualifiers="const"> <return type="bool"> </return> <description> - If [code]true[/code] this Shortcut is valid. + If [code]true[/code] this shortcut is valid. </description> </method> </methods> <members> <member name="shortcut" type="InputEvent" setter="set_shortcut" getter="get_shortcut"> - The Shortcut's [InputEvent]. + The shortcut's [InputEvent]. Generally the [InputEvent] is a keyboard key, though it can be any [InputEvent]. </member> </members> diff --git a/doc/classes/SoftBody.xml b/doc/classes/SoftBody.xml index c3c789a6de..196d29fc60 100644 --- a/doc/classes/SoftBody.xml +++ b/doc/classes/SoftBody.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="SoftBody" inherits="MeshInstance" category="Core" version="3.1"> <brief_description> + A soft mesh physics body. </brief_description> <description> + A deformable physics body. Used to create elastic or deformable objects such as cloth, rubber, or other flexible materials. </description> <tutorials> </tutorials> @@ -15,6 +17,7 @@ <argument index="0" name="body" type="Node"> </argument> <description> + Adds a body to the list of bodies that this body can't collide with. </description> </method> <method name="get_collision_layer_bit" qualifiers="const"> @@ -23,6 +26,7 @@ <argument index="0" name="bit" type="int"> </argument> <description> + Returns an individual bit on the collision mask. </description> </method> <method name="get_collision_mask_bit" qualifiers="const"> @@ -31,6 +35,7 @@ <argument index="0" name="bit" type="int"> </argument> <description> + Returns an individual bit on the collision mask. </description> </method> <method name="is_ray_pickable" qualifiers="const"> @@ -45,6 +50,7 @@ <argument index="0" name="body" type="Node"> </argument> <description> + Removes a body from the list of bodies that this body can't collide with. </description> </method> <method name="set_collision_layer_bit"> @@ -55,6 +61,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> + Sets individual bits on the layer mask. Use this if you only need to change one layer's value. </description> </method> <method name="set_collision_mask_bit"> @@ -65,6 +72,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> + Sets individual bits on the collision mask. Use this if you only need to change one layer's value. </description> </method> <method name="set_ray_pickable"> @@ -80,8 +88,12 @@ <member name="areaAngular_stiffness" type="float" setter="set_areaAngular_stiffness" getter="get_areaAngular_stiffness"> </member> <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer"> + 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"> + The physics layers this area scans for collisions. </member> <member name="damping_coefficient" type="float" setter="set_damping_coefficient" getter="get_damping_coefficient"> </member> @@ -96,6 +108,7 @@ <member name="pressure_coefficient" type="float" setter="set_pressure_coefficient" getter="get_pressure_coefficient"> </member> <member name="simulation_precision" type="int" setter="set_simulation_precision" getter="get_simulation_precision"> + 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> diff --git a/doc/classes/Spatial.xml b/doc/classes/Spatial.xml index ef1bcc30b3..7fd7b5deed 100644 --- a/doc/classes/Spatial.xml +++ b/doc/classes/Spatial.xml @@ -13,6 +13,12 @@ <demos> </demos> <methods> + <method name="force_update_transform"> + <return type="void"> + </return> + <description> + </description> + </method> <method name="get_parent_spatial" qualifiers="const"> <return type="Spatial"> </return> @@ -296,11 +302,11 @@ 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, specified in terms of YXZ-Euler angles in the format (X-angle, Y-angle, Z-angle), in radians. - Note that in the mathematical sense, rotation is a matrix and not a vector. The three Euler angles, which are the three indepdent parameters of the Euler-angle parametrization of the rotation matrix, are stored in a [Vector3] data structure not because the rotation is a vector, but only because [Vector3] exists as a convenient data-structure to store 3 floating point numbers. Therefore, applying affine operations on the rotation "vector" is not meaningful. + 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. </member> <member name="rotation_degrees" type="Vector3" setter="set_rotation_degrees" getter="get_rotation_degrees"> - Rotation part of the local transformation, specified in terms of YXZ-Euler angles in the format (X-angle, Y-angle, Z-angle), in 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> <member name="scale" type="Vector3" setter="set_scale" getter="get_scale"> Scale part of the local transformation. @@ -312,7 +318,7 @@ Local translation of this node. </member> <member name="visible" type="bool" setter="set_visible" getter="is_visible"> - Visibility of this node. Toggles if this node is rendered. + If [code]true[/code] this node is drawn. Default value: [code]true[/code]. </member> </members> <signals> diff --git a/doc/classes/SpatialMaterial.xml b/doc/classes/SpatialMaterial.xml index 4f48889531..354c6686bb 100644 --- a/doc/classes/SpatialMaterial.xml +++ b/doc/classes/SpatialMaterial.xml @@ -64,12 +64,12 @@ </member> <member name="detail_uv_layer" type="int" setter="set_detail_uv" getter="get_detail_uv" enum="SpatialMaterial.DetailUV"> </member> - <member name="distance_fade_enable" type="bool" setter="set_distance_fade" getter="is_distance_fade_enabled"> - </member> <member name="distance_fade_max_distance" type="float" setter="set_distance_fade_max_distance" getter="get_distance_fade_max_distance"> </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> <member name="emission" type="Color" setter="set_emission" getter="get_emission"> </member> <member name="emission_enabled" type="bool" setter="set_feature" getter="get_feature"> @@ -376,5 +376,13 @@ </constant> <constant name="EMISSION_OP_MULTIPLY" value="1" enum="EmissionOperator"> </constant> + <constant name="DISTANCE_FADE_DISABLED" value="0" enum="DistanceFadeMode"> + </constant> + <constant name="DISTANCE_FADE_PIXEL_ALPHA" value="1" enum="DistanceFadeMode"> + </constant> + <constant name="DISTANCE_FADE_PIXEL_DITHER" value="2" enum="DistanceFadeMode"> + </constant> + <constant name="DISTANCE_FADE_OBJECT_DITHER" value="3" enum="DistanceFadeMode"> + </constant> </constants> </class> diff --git a/doc/classes/Sprite.xml b/doc/classes/Sprite.xml index dd7fe010ba..52650c7300 100644 --- a/doc/classes/Sprite.xml +++ b/doc/classes/Sprite.xml @@ -18,6 +18,14 @@ Returns a Rect2 representing the Sprite's boundary relative to its local coordinates. </description> </method> + <method name="is_pixel_opaque" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="pos" type="Vector2"> + </argument> + <description> + </description> + </method> </methods> <members> <member name="centered" type="bool" setter="set_centered" getter="is_centered"> diff --git a/doc/classes/StreamPeer.xml b/doc/classes/StreamPeer.xml index ebe29c7e24..74ac8a79c0 100644 --- a/doc/classes/StreamPeer.xml +++ b/doc/classes/StreamPeer.xml @@ -81,10 +81,10 @@ <method name="get_string"> <return type="String"> </return> - <argument index="0" name="bytes" type="int"> + <argument index="0" name="bytes" type="int" default="-1"> </argument> <description> - Get a string with byte-length "bytes" from the stream. + 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]. </description> </method> <method name="get_u16"> @@ -118,10 +118,10 @@ <method name="get_utf8_string"> <return type="String"> </return> - <argument index="0" name="bytes" type="int"> + <argument index="0" name="bytes" type="int" default="-1"> </argument> <description> - Get a utf8 string with byte-length "bytes" from the stream (this decodes the string sent as utf8). + 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]. </description> </method> <method name="get_var"> @@ -203,6 +203,15 @@ 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. </description> </method> + <method name="put_string"> + <return type="void"> + </return> + <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. + </description> + </method> <method name="put_u16"> <return type="void"> </return> @@ -245,7 +254,7 @@ <argument index="0" name="value" type="String"> </argument> <description> - Put a zero-terminated utf8 string into the stream. + Put a zero-terminated utf8 string into the stream prepended by a 32 bits unsigned integer representing its size. </description> </method> <method name="put_var"> diff --git a/doc/classes/StreamPeerTCP.xml b/doc/classes/StreamPeerTCP.xml index 5fc8e99ced..664ffc60c3 100644 --- a/doc/classes/StreamPeerTCP.xml +++ b/doc/classes/StreamPeerTCP.xml @@ -43,7 +43,7 @@ Return the port of this peer. </description> </method> - <method name="get_status" qualifiers="const"> + <method name="get_status"> <return type="int" enum="StreamPeerTCP.Status"> </return> <description> @@ -78,7 +78,7 @@ A status representing a [code]StreamPeerTCP[/code] that is connected to a host. </constant> <constant name="STATUS_ERROR" value="3" enum="Status"> - A staus representing a [code]StreamPeerTCP[/code] in error state. + A status representing a [code]StreamPeerTCP[/code] in error state. </constant> </constants> </class> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index a42f508b59..d404c32b38 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -339,7 +339,7 @@ <method name="format"> <return type="String"> </return> - <argument index="0" name="values" type="var"> + <argument index="0" name="values" type="Variant"> </argument> <argument index="1" name="placeholder" type="String" default="{_}"> </argument> diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index 73d60e49b7..6f8c76d1ea 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -157,16 +157,6 @@ If you need these to be immediately updated, you can call [method update_dirty_quadrants]. </description> </method> - <method name="set_celld"> - <return type="void"> - </return> - <argument index="0" name="position" type="Vector2"> - </argument> - <argument index="1" name="data" type="Dictionary"> - </argument> - <description> - </description> - </method> <method name="set_cellv"> <return type="void"> </return> @@ -258,7 +248,7 @@ Amount to offset alternating tiles. Uses HALF_OFFSET_* constants. Default value: HALF_OFFSET_DISABLED. </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. + The TileMap's quadrant size. Optimizes drawing by batching, using chunks of this size. Default value: 16. </member> <member name="cell_size" type="Vector2" setter="set_cell_size" getter="get_cell_size"> The TileMap's cell size. @@ -288,7 +278,7 @@ The TileMap orientation mode. Uses MODE_* constants. Default value: MODE_SQUARE. </member> <member name="occluder_light_mask" type="int" setter="set_occluder_light_mask" getter="get_occluder_light_mask"> - 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). + 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"> The assigned [TileSet]. diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml index 56bb33c5e1..3f0d6317a6 100644 --- a/doc/classes/TileSet.xml +++ b/doc/classes/TileSet.xml @@ -44,6 +44,14 @@ <description> </description> </method> + <method name="autotile_get_size" qualifiers="const"> + <return type="Vector2"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + </description> + </method> <method name="autotile_set_bitmask_mode"> <return type="void"> </return> @@ -54,6 +62,16 @@ <description> </description> </method> + <method name="autotile_set_size"> + <return type="void"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <argument index="1" name="size" type="Vector2"> + </argument> + <description> + </description> + </method> <method name="clear"> <return type="void"> </return> @@ -67,7 +85,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Creates a new tile which will be referenced by the given ID. + Creates a new tile with the given ID. </description> </method> <method name="find_tile_by_name" qualifiers="const"> @@ -99,7 +117,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Removes the tile referenced by the given ID. + Removes the given tile ID. </description> </method> <method name="tile_add_shape"> @@ -116,6 +134,7 @@ <argument index="4" name="autotile_coord" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> + Adds a shape to the tile. </description> </method> <method name="tile_get_light_occluder" qualifiers="const"> @@ -124,7 +143,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Returns the light occluder of the tile. + Returns the tile's light occluder. </description> </method> <method name="tile_get_material" qualifiers="const"> @@ -133,7 +152,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Returns the material of the tile. + Returns the tile's material. </description> </method> <method name="tile_get_modulate" qualifiers="const"> @@ -142,6 +161,7 @@ <argument index="0" name="id" type="int"> </argument> <description> + Returns the tile's modulation color. </description> </method> <method name="tile_get_name" qualifiers="const"> @@ -150,7 +170,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Returns the name of the tile. + Returns the tile's name. </description> </method> <method name="tile_get_navigation_polygon" qualifiers="const"> @@ -177,6 +197,7 @@ <argument index="0" name="id" type="int"> </argument> <description> + Returns the tile's normal map texture. </description> </method> <method name="tile_get_occluder_offset" qualifiers="const"> @@ -205,6 +226,7 @@ <argument index="1" name="shape_id" type="int"> </argument> <description> + Returns a tile's given shape. </description> </method> <method name="tile_get_shape_count" qualifiers="const"> @@ -213,6 +235,18 @@ <argument index="0" name="id" type="int"> </argument> <description> + Returns the number of shapes assigned to a tile. + </description> + </method> + <method name="tile_get_shape_offset" qualifiers="const"> + <return type="Vector2"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <argument index="1" name="shape_id" type="int"> + </argument> + <description> + Returns the offset of a tile's shape. </description> </method> <method name="tile_get_shape_one_way" qualifiers="const"> @@ -223,6 +257,7 @@ <argument index="1" name="shape_id" type="int"> </argument> <description> + Returns the one-way collision value of a tile's shape. </description> </method> <method name="tile_get_shape_transform" qualifiers="const"> @@ -233,6 +268,7 @@ <argument index="1" name="shape_id" type="int"> </argument> <description> + Returns the [Transform2D] of a tile's sahpe. </description> </method> <method name="tile_get_shapes" qualifiers="const"> @@ -241,7 +277,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Returns the array of shapes of the tile. + Returns an array of the tile's shapes. </description> </method> <method name="tile_get_texture" qualifiers="const"> @@ -250,7 +286,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Returns the texture of the tile. + Returns the tile's texture. </description> </method> <method name="tile_get_texture_offset" qualifiers="const"> @@ -268,6 +304,7 @@ <argument index="0" name="id" type="int"> </argument> <description> + Returns the tile's [enum TileMode]. </description> </method> <method name="tile_get_z_index" qualifiers="const"> @@ -276,6 +313,7 @@ <argument index="0" name="id" type="int"> </argument> <description> + Returns the tile's z-index (drawing layer). </description> </method> <method name="tile_set_light_occluder"> @@ -363,7 +401,7 @@ <argument index="1" name="occluder_offset" type="Vector2"> </argument> <description> - Set an offset for the tile's light occluder. + Sets an offset for the tile's light occluder. </description> </method> <method name="tile_set_region"> @@ -374,7 +412,7 @@ <argument index="1" name="region" type="Rect2"> </argument> <description> - Set the tile's sub-region in the texture. This is common in texture atlases. + Sets the tile's sub-region in the texture. This is common in texture atlases. </description> </method> <method name="tile_set_shape"> @@ -387,6 +425,20 @@ <argument index="2" name="shape" type="Shape2D"> </argument> <description> + Sets a shape for the tile, enabling collision. + </description> + </method> + <method name="tile_set_shape_offset"> + <return type="void"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <argument index="1" name="shape_id" type="int"> + </argument> + <argument index="2" name="shape_offset" type="Vector2"> + </argument> + <description> + Sets the offset of a tile's shape. </description> </method> <method name="tile_set_shape_one_way"> @@ -399,6 +451,7 @@ <argument index="2" name="one_way" type="bool"> </argument> <description> + Enables one-way collision on a tile's shape. </description> </method> <method name="tile_set_shape_transform"> @@ -411,6 +464,7 @@ <argument index="2" name="shape_transform" type="Transform2D"> </argument> <description> + Sets a [Transform2D] on a tile's shape. </description> </method> <method name="tile_set_shapes"> diff --git a/doc/classes/Timer.xml b/doc/classes/Timer.xml index d1c8722901..65d638c4c0 100644 --- a/doc/classes/Timer.xml +++ b/doc/classes/Timer.xml @@ -32,25 +32,26 @@ <return type="void"> </return> <description> - Stop (cancel) the Timer. + Stops the timer. </description> </method> </methods> <members> <member name="autostart" type="bool" setter="set_autostart" getter="has_autostart"> - If [code]true[/code], Timer will automatically start when entering the scene tree. Default value: [code]false[/code]. + If [code]true[/code] the timer will automatically start when entering the scene tree. Default value: [code]false[/code]. </member> <member name="one_shot" type="bool" setter="set_one_shot" getter="is_one_shot"> - If [code]true[/code], Timer will stop when reaching 0. If [code]false[/code], it will restart. Default value: [code]false[/code]. + If [code]true[/code] the timer will stop when reaching 0. If [code]false[/code] it will restart. Default value: [code]false[/code]. </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. + 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"> - Processing mode. Uses TIMER_PROCESS_* constants as value. + 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]. </member> <member name="wait_time" type="float" setter="set_wait_time" getter="get_wait_time"> Wait time in seconds. @@ -59,16 +60,16 @@ <signals> <signal name="timeout"> <description> - Emitted when the Timer reaches 0. + Emitted when the timer reaches 0. </description> </signal> </signals> <constants> <constant name="TIMER_PROCESS_PHYSICS" value="0" enum="TimerProcessMode"> - Update the Timer during the physics step at each frame (fixed framerate processing). + Update the timer during the physics step at each frame (fixed framerate processing). </constant> <constant name="TIMER_PROCESS_IDLE" value="1" enum="TimerProcessMode"> - Update the Timer during the idle time at each frame. + Update the timer during the idle time at each frame. </constant> </constants> </class> diff --git a/doc/classes/Transform.xml b/doc/classes/Transform.xml index 24c009d922..09edfe4235 100644 --- a/doc/classes/Transform.xml +++ b/doc/classes/Transform.xml @@ -141,18 +141,18 @@ </description> </method> <method name="xform"> - <return type="var"> + <return type="Variant"> </return> - <argument index="0" name="v" type="var"> + <argument index="0" name="v" type="Variant"> </argument> <description> Transforms the given [Vector3], [Plane], or [AABB] by this transform. </description> </method> <method name="xform_inv"> - <return type="var"> + <return type="Variant"> </return> - <argument index="0" name="v" type="var"> + <argument index="0" name="v" type="Variant"> </argument> <description> Inverse-transforms the given [Vector3], [Plane], or [AABB] by this transform. diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml index b38d9a1a86..bf0a745aa8 100644 --- a/doc/classes/Transform2D.xml +++ b/doc/classes/Transform2D.xml @@ -143,18 +143,18 @@ </description> </method> <method name="xform"> - <return type="var"> + <return type="Variant"> </return> - <argument index="0" name="v" type="var"> + <argument index="0" name="v" type="Variant"> </argument> <description> Transforms the given [Vector2] or [Rect2] by this transform. </description> </method> <method name="xform_inv"> - <return type="var"> + <return type="Variant"> </return> - <argument index="0" name="v" type="var"> + <argument index="0" name="v" type="Variant"> </argument> <description> Inverse-transforms the given [Vector2] or [Rect2] by this transform. diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index 533df57564..0431718066 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -37,7 +37,7 @@ </description> </method> <method name="create_item"> - <return type="Object"> + <return type="TreeItem"> </return> <argument index="0" name="parent" type="Object" default="null"> </argument> @@ -94,7 +94,7 @@ <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]. + 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. </description> </method> @@ -244,7 +244,7 @@ </members> <signals> <signal name="button_pressed"> - <argument index="0" name="item" type="Object"> + <argument index="0" name="item" type="TreeItem"> </argument> <argument index="1" name="column" type="int"> </argument> @@ -286,7 +286,7 @@ </description> </signal> <signal name="item_collapsed"> - <argument index="0" name="item" type="Object"> + <argument index="0" name="item" type="TreeItem"> </argument> <description> Emitted when an item is collapsed by a click on the folding arrow. @@ -324,7 +324,7 @@ </description> </signal> <signal name="multi_selected"> - <argument index="0" name="item" type="Object"> + <argument index="0" name="item" type="TreeItem"> </argument> <argument index="1" name="column" type="int"> </argument> diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml index 123226183a..1dc03ed314 100644 --- a/doc/classes/Tween.xml +++ b/doc/classes/Tween.xml @@ -9,8 +9,8 @@ [codeblock] var tween = get_node("Tween") tween.interpolate_property($Node2D, "position", - Vector2(0, 0), Vector2(100, 100), 1, - Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) + Vector2(0, 0), Vector2(100, 100), 1, + 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. @@ -44,7 +44,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"> @@ -70,7 +70,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"> @@ -147,7 +147,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"> @@ -171,7 +171,7 @@ </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"> @@ -301,7 +301,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"> @@ -327,7 +327,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"> diff --git a/doc/classes/UndoRedo.xml b/doc/classes/UndoRedo.xml index b9550c17fb..0ea5c6e005 100644 --- a/doc/classes/UndoRedo.xml +++ b/doc/classes/UndoRedo.xml @@ -4,8 +4,29 @@ Helper to manage UndoRedo in the editor or custom tools. </brief_description> <description> - Helper to manage UndoRedo in the editor or custom tools. It works by storing calls to functions in both 'do' an 'undo' lists. + Helper to manage UndoRedo 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': + [codeblock] + var undoredo = get_undo_redo() # method of EditorPlugin + + func do_something(): + pass # put your code here + + func undo_something(): + pass # put here the code that reverts what's done by "do_something()" + + func _on_MyButton_pressed(): + var node = get_node("MyNode2D") + undoredo.create_action("Move the node") + undoredo.add_do_method(self, "do_something") + undoredo.add_undo_method(self, "undo_something") + undoredo.add_do_property(node, "position", Vector2(100,100)) + undoredo.add_undo_property(node, "position", node.position) + undoredo.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. </description> <tutorials> </tutorials> @@ -20,6 +41,7 @@ <argument index="1" name="method" type="String"> </argument> <description> + Register a method that will be called when the action is committed. </description> </method> <method name="add_do_property"> @@ -32,7 +54,7 @@ <argument index="2" name="value" type="Variant"> </argument> <description> - Set a property with a custom value. + Register a property value change for 'do'. </description> </method> <method name="add_do_reference"> @@ -41,7 +63,7 @@ <argument index="0" name="object" type="Object"> </argument> <description> - Add a 'do' reference 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"> @@ -52,6 +74,7 @@ <argument index="1" name="method" type="String"> </argument> <description> + Register a method that will be called when the action is undone. </description> </method> <method name="add_undo_property"> @@ -64,7 +87,7 @@ <argument index="2" name="value" type="Variant"> </argument> <description> - Undo setting of a property with a custom value. + Register a property value change for 'undo'. </description> </method> <method name="add_undo_reference"> @@ -73,7 +96,7 @@ <argument index="0" name="object" type="Object"> </argument> <description> - Add an 'undo' reference 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"> @@ -98,7 +121,7 @@ <argument index="1" name="merge_mode" type="int" enum="UndoRedo.MergeMode" default="0"> </argument> <description> - Create a new action. After this is called, do all your calls to [method add_do_method], [method add_undo_method], [method add_do_property] and [method add_undo_property]. + Create a new action. After this is called, do all your calls to [method add_do_method], [method add_undo_method], [method add_do_property], and [method add_undo_property], then commit the action with [method commit_action]. </description> </method> <method name="get_current_action_name" qualifiers="const"> @@ -120,12 +143,14 @@ <return type="bool"> </return> <description> + Redo last action. </description> </method> <method name="undo"> <return type="bool"> </return> <description> + Undo last action. </description> </method> </methods> diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index 4bc18b926e..7e03e7f0fe 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -109,7 +109,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], or a percentage of how far along the interpolation is. + 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. </description> </method> <method name="distance_squared_to"> @@ -175,7 +175,7 @@ <argument index="1" name="t" type="float"> </argument> <description> - Returns the result of the 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], a percentage of how far along the interpolation is. + Returns the result of the 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. </description> </method> <method name="normalized"> @@ -227,7 +227,7 @@ <argument index="1" name="t" type="float"> </argument> <description> - Returns the result of SLERP between this vector and "b", by amount "t". "t" should be a float of 0.0-1.0, a percentage of how far along the interpolation is. + 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. </description> </method> @@ -267,16 +267,22 @@ </members> <constants> <constant name="ZERO" value="Vector2( 0, 0 )"> + Null vector. </constant> <constant name="INF" value="Vector2( inf, inf )"> + Infinite vector. </constant> <constant name="LEFT" value="Vector2( -1, 0 )"> + Left unit vector. </constant> <constant name="RIGHT" value="Vector2( 1, 0 )"> + Right unit vector. </constant> <constant name="UP" value="Vector2( 0, -1 )"> + Up unit vector. </constant> <constant name="DOWN" value="Vector2( 0, 1 )"> + Down unit vector. </constant> </constants> </class> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index b4dcc6c6aa..4211c34d8e 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -78,7 +78,7 @@ <argument index="3" name="t" type="float"> </argument> <description> - Performs a cubic interpolation between vectors [code]pre_a[/code], [code]a[/code], [code]b[/code], [code]post_b[/code] ([code]a[/code] is current), by the given amount (t). (t) should be a float of 0.0-1.0, a percentage of how far along the interpolation is. + Performs a cubic interpolation between vectors [code]pre_a[/code], [code]a[/code], [code]b[/code], [code]post_b[/code] ([code]a[/code] is current), by the given amount [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="distance_squared_to"> @@ -151,7 +151,7 @@ <argument index="1" name="t" type="float"> </argument> <description> - Returns the result of the 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], a percentage of how far along the interpolation is. + Returns the result of the 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.. </description> </method> <method name="max_axis"> @@ -228,7 +228,7 @@ <argument index="1" name="t" type="float"> </argument> <description> - Returns the result of SLERP between this vector and "b", by amount "t". "t" should be a float of 0.0-1.0, a percentage of how far along the interpolation is. + 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. </description> </method> @@ -280,20 +280,28 @@ Enumerated value for the Z axis. </constant> <constant name="ZERO" value="Vector3( 0, 0, 0 )"> + Null vector. </constant> <constant name="INF" value="Vector3( inf, inf, inf )"> + Infinite vector. </constant> <constant name="LEFT" value="Vector3( -1, 0, 0 )"> + Left unit vector. </constant> <constant name="RIGHT" value="Vector3( 1, 0, 0 )"> + Right unit vector. </constant> <constant name="UP" value="Vector3( 0, 1, 0 )"> + Up unit vector. </constant> <constant name="DOWN" value="Vector3( 0, -1, 0 )"> + Down unit vector. </constant> <constant name="FORWARD" value="Vector3( 0, 0, -1 )"> + Forward unit vector. </constant> <constant name="BACK" value="Vector3( 0, 0, 1 )"> + Back unit vector. </constant> </constants> </class> diff --git a/doc/classes/VideoStream.xml b/doc/classes/VideoStream.xml index 6bfa48511b..9f2655ed1b 100644 --- a/doc/classes/VideoStream.xml +++ b/doc/classes/VideoStream.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VideoStream" inherits="Resource" category="Core" version="3.1"> <brief_description> + Base resource for video streams. </brief_description> <description> </description> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 05649193a6..9cd501630e 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -46,6 +46,13 @@ Returns the total transform of the viewport. </description> </method> + <method name="get_modal_stack_top" qualifiers="const"> + <return type="Control"> + </return> + <description> + Returns the topmost modal in the stack. + </description> + </method> <method name="get_mouse_position" qualifiers="const"> <return type="Vector2"> </return> @@ -104,6 +111,12 @@ Returns [code]true[/code] if there are visible modals on-screen. </description> </method> + <method name="gui_is_dragging" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> <method name="input"> <return type="void"> </return> diff --git a/doc/classes/ViewportContainer.xml b/doc/classes/ViewportContainer.xml index 8c60fb473d..dde429440d 100644 --- a/doc/classes/ViewportContainer.xml +++ b/doc/classes/ViewportContainer.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ViewportContainer" inherits="Container" category="Core" version="3.1"> <brief_description> + Control for holding [Viewport]s. </brief_description> <description> + A [Container] node that holds a [Viewport], automatically setting its size. </description> <tutorials> </tutorials> @@ -12,6 +14,7 @@ </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> <member name="stretch_shrink" type="int" setter="set_stretch_shrink" getter="get_stretch_shrink"> </member> diff --git a/doc/classes/VisibilityEnabler.xml b/doc/classes/VisibilityEnabler.xml index 83ba9495e5..5f0a4ef0f4 100644 --- a/doc/classes/VisibilityEnabler.xml +++ b/doc/classes/VisibilityEnabler.xml @@ -14,8 +14,10 @@ </methods> <members> <member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled"> + If [code]true[/code] [RigidBody] nodes will be paused. </member> <member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled"> + If [code]true[/code] [AnimationPlayer] nodes will be paused. </member> </members> <constants> diff --git a/doc/classes/VisibilityEnabler2D.xml b/doc/classes/VisibilityEnabler2D.xml index 8dfbaec6e8..eab9bd1991 100644 --- a/doc/classes/VisibilityEnabler2D.xml +++ b/doc/classes/VisibilityEnabler2D.xml @@ -14,16 +14,22 @@ </methods> <members> <member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled"> + If [code]true[/code] [RigidBody2D] nodes will be paused. </member> <member name="pause_animated_sprites" type="bool" setter="set_enabler" getter="is_enabler_enabled"> + If [code]true[/code] [AnimatedSprite] nodes will be paused. </member> <member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled"> + If [code]true[/code] [AnimationPlayer] nodes will be paused. </member> <member name="pause_particles" type="bool" setter="set_enabler" getter="is_enabler_enabled"> + If [code]true[/code] [Particles2D] nodes will be paused. </member> <member name="physics_process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled"> + 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"> + If [code]true[/code] the parent's [method Node._process] will be stopped. </member> </members> <constants> diff --git a/doc/classes/VisibilityNotifier.xml b/doc/classes/VisibilityNotifier.xml index 2f22dc99bf..95da708420 100644 --- a/doc/classes/VisibilityNotifier.xml +++ b/doc/classes/VisibilityNotifier.xml @@ -26,14 +26,14 @@ </members> <signals> <signal name="camera_entered"> - <argument index="0" name="camera" type="Object"> + <argument index="0" name="camera" type="Camera"> </argument> <description> Emitted when the VisibilityNotifier enters a [Camera]'s view. </description> </signal> <signal name="camera_exited"> - <argument index="0" name="camera" type="Object"> + <argument index="0" name="camera" type="Camera"> </argument> <description> Emitted when the VisibilityNotifier exits a [Camera]'s view. diff --git a/doc/classes/VisibilityNotifier2D.xml b/doc/classes/VisibilityNotifier2D.xml index b98f2794d2..aaaa9b63bb 100644 --- a/doc/classes/VisibilityNotifier2D.xml +++ b/doc/classes/VisibilityNotifier2D.xml @@ -36,14 +36,14 @@ </description> </signal> <signal name="viewport_entered"> - <argument index="0" name="viewport" type="Object"> + <argument index="0" name="viewport" type="Viewport"> </argument> <description> Emitted when the VisibilityNotifier2D enters a [Viewport]'s view. </description> </signal> <signal name="viewport_exited"> - <argument index="0" name="viewport" type="Object"> + <argument index="0" name="viewport" type="Viewport"> </argument> <description> Emitted when the VisibilityNotifier2D exits a [Viewport]'s view. diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml index 395fb9e829..58b3d33cdb 100644 --- a/doc/classes/VisualServer.xml +++ b/doc/classes/VisualServer.xml @@ -1552,7 +1552,7 @@ <argument index="0" name="feature" type="String"> </argument> <description> - Returns true, if the OS supports a certain feature. Features might be s3tc, etc, etc2 and pvrtc, + Returns [code]true[/code] if the OS supports a certain feature. Features might be s3tc, etc, etc2 and pvrtc, </description> </method> <method name="immediate_begin"> @@ -2185,6 +2185,16 @@ Returns the value of a certain material's parameter. </description> </method> + <method name="material_get_param_default" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="material" type="RID"> + </argument> + <argument index="1" name="parameter" type="String"> + </argument> + <description> + </description> + </method> <method name="material_get_shader" qualifiers="const"> <return type="RID"> </return> @@ -3110,7 +3120,7 @@ <argument index="2" name="scale" type="bool"> </argument> <description> - Sets a boot image. The color defines the background color and if scale is [code]true[/code], the image will be scaled to fit the screen size. + Sets a boot image. The color defines the background color and if scale is [code]true[/code] the image will be scaled to fit the screen size. </description> </method> <method name="set_debug_generate_wireframes"> @@ -3484,7 +3494,7 @@ <argument index="0" name="shrink" type="bool"> </argument> <description> - If [code]true[/code], sets internal processes to shrink all image data to half the size. + If [code]true[/code] sets internal processes to shrink all image data to half the size. </description> </method> <method name="texture_set_size_override"> @@ -3507,7 +3517,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - If [code]true[/code], the image will be stored in the texture's images array if overwritten. + If [code]true[/code] the image will be stored in the texture's images array if overwritten. </description> </method> <method name="viewport_attach_camera"> @@ -3600,7 +3610,7 @@ <argument index="1" name="active" type="bool"> </argument> <description> - If [code]true[/code], sets the viewport active, else sets it inactive. + If [code]true[/code] sets the viewport active, else sets it inactive. </description> </method> <method name="viewport_set_canvas_layer"> @@ -3659,7 +3669,7 @@ <argument index="1" name="disabled" type="bool"> </argument> <description> - If [code]true[/code] a viewport's 3D rendering should be disabled. + If [code]true[/code] a viewport's 3D rendering is disabled. </description> </method> <method name="viewport_set_disable_environment"> @@ -3670,7 +3680,7 @@ <argument index="1" name="disabled" type="bool"> </argument> <description> - If [code]true[/code] rendering of a viewport's environment should be disabled. + If [code]true[/code] rendering of a viewport's environment is disabled. </description> </method> <method name="viewport_set_global_canvas_transform"> @@ -3692,7 +3702,7 @@ <argument index="1" name="enabled" type="bool"> </argument> <description> - If [code]true[/code] the viewport should render to hdr. + If [code]true[/code] the viewport renders to hdr. </description> </method> <method name="viewport_set_hide_canvas"> @@ -3703,7 +3713,7 @@ <argument index="1" name="hidden" type="bool"> </argument> <description> - If [code]true[/code] the viewport's canvas should not be rendered. + If [code]true[/code] the viewport's canvas is not rendered. </description> </method> <method name="viewport_set_hide_scenario"> @@ -3795,7 +3805,7 @@ <argument index="1" name="enabled" type="bool"> </argument> <description> - If [code]true[/code] the viewport should render its background as transparent. + If [code]true[/code] the viewport renders its background as transparent. </description> </method> <method name="viewport_set_update_mode"> @@ -3806,7 +3816,7 @@ <argument index="1" name="update_mode" type="int" enum="VisualServer.ViewportUpdateMode"> </argument> <description> - Sets when the viewport should be updated. See VIEWPORT_UPDATE_MODE_* constants for options. + Sets when the viewport should be updated. See [enum ViewportUpdateMode] constants for options. </description> </method> <method name="viewport_set_usage"> @@ -3817,7 +3827,7 @@ <argument index="1" name="usage" type="int" enum="VisualServer.ViewportUsage"> </argument> <description> - Sets what should be rendered in the viewport. See VIEWPORT_USAGE_* constants for options. + Sets the viewport's 2D/3D mode. See [enum ViewportUsage] constants for options. </description> </method> <method name="viewport_set_use_arvr"> @@ -3828,7 +3838,7 @@ <argument index="1" name="use_arvr" type="bool"> </argument> <description> - If [code]true[/code] the viewport should use augmented or virtual reality technologies. See [ARVRInterface]. + If [code]true[/code] the viewport uses augmented or virtual reality technologies. See [ARVRInterface]. </description> </method> <method name="viewport_set_vflip"> @@ -3839,7 +3849,7 @@ <argument index="1" name="enabled" type="bool"> </argument> <description> - If [code]true[/code] the viewport's rendering should be flipped vertically. + If [code]true[/code] the viewport's rendering is flipped vertically. </description> </method> </methods> diff --git a/doc/classes/WindowDialog.xml b/doc/classes/WindowDialog.xml index 39487f5020..f7f2d10fcd 100644 --- a/doc/classes/WindowDialog.xml +++ b/doc/classes/WindowDialog.xml @@ -24,7 +24,7 @@ If [code]true[/code] the user can resize the window. Default value: [code]false[/code]. </member> <member name="window_title" type="String" setter="set_title" getter="get_title"> - The text displayed in the window's title bar. Default value: "Save a File". + The text displayed in the window's title bar. </member> </members> <constants> diff --git a/doc/classes/float.xml b/doc/classes/float.xml index ef3c3d72eb..0c5536b5fe 100644 --- a/doc/classes/float.xml +++ b/doc/classes/float.xml @@ -35,7 +35,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/makemd.py b/doc/tools/makemd.py deleted file mode 100644 index 056f1ca82d..0000000000 --- a/doc/tools/makemd.py +++ /dev/null @@ -1,360 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import sys -import os.path as path -import os -import xml.etree.ElementTree as ET - -input_list = [] - -for arg in sys.argv[1:]: - if not path.exists(arg): - exit("path {} doesn't exist".format(arg)) - elif path.isdir(arg): - input_list += filter(path.isfile, [path.join(arg, f) for f in os.listdir(arg)]) - else: # assuming is a file - input_list.append(arg) - -if len(input_list) < 1: - print 'usage: makemd.py <classes.xml>' - sys.exit(0) - - -def validate_tag(elem, tag): - if elem.tag != tag: - print "Tag mismatch, expected '" + tag + "', got " + elem.tag - sys.exit(255) - - -class_names = [] -classes = {} - - -def make_class_list(class_list, columns): - - f = open('class_list.md', 'wb') - prev = 0 - col_max = len(class_list) / columns + 1 - col_count = 0 - row_count = 0 - last_initial = '' - fit_columns = [] - - for n in range(0, columns): - fit_columns += [[]] - - indexers = [] - last_initial = '' - - idx = 0 - for n in class_list: - col = idx / col_max - if col >= columns: - col = columns - 1 - fit_columns[col] += [n] - idx += 1 - if n[:1] != last_initial: - indexers += [n] - last_initial = n[:1] - - row_max = 0 - f.write("\n") - - for n in range(0, columns): - if len(fit_columns[n]) > row_max: - row_max = len(fit_columns[n]) - - f.write("| ") - for n in range(0, columns): - f.write(" | |") - - f.write("\n") - f.write("| ") - for n in range(0, columns): - f.write(" --- | ------- |") - f.write("\n") - - for r in range(0, row_max): - s = '| ' - for c in range(0, columns): - if r >= len(fit_columns[c]): - continue - - classname = fit_columns[c][r] - initial = classname[0] - if classname in indexers: - s += '**' + initial + '** | ' - else: - s += ' | ' - - s += '[' + classname + '](class_' + classname.lower() + ') | ' - - s += '\n' - f.write(s) - - f.close() - - -def dokuize_text(txt): - - return txt - - -def dokuize_text(text): - pos = 0 - while True: - pos = text.find('[', pos) - if pos == -1: - break - - endq_pos = text.find(']', pos + 1) - if endq_pos == -1: - break - - pre_text = text[:pos] - post_text = text[endq_pos + 1:] - tag_text = text[pos + 1:endq_pos] - - if tag_text in class_names: - tag_text = make_type(tag_text) - else: - - # command - - cmd = tag_text - space_pos = tag_text.find(' ') - if cmd.find('html') == 0: - cmd = tag_text[:space_pos] - param = tag_text[space_pos + 1:] - tag_text = '<' + param + '>' - elif cmd.find('method') == 0: - cmd = tag_text[:space_pos] - param = tag_text[space_pos + 1:] - - if param.find('.') != -1: - (class_param, method_param) = param.split('.') - tag_text = '[' + class_param + '.' + method_param.replace("_", "_") + '](' + class_param.lower() + '#' \ - + method_param + ')' - else: - tag_text = '[' + param.replace("_", "_") + '](#' + param + ')' - elif cmd.find('image=') == 0: - tag_text = '![](' + cmd[6:] + ')' - elif cmd.find('url=') == 0: - tag_text = '[' + cmd[4:] + '](' + cmd[4:] - elif cmd == '/url': - tag_text = ')' - elif cmd == 'center': - tag_text = '' - elif cmd == '/center': - tag_text = '' - elif cmd == 'br': - tag_text = '\n' - elif cmd == 'i' or cmd == '/i': - tag_text = '_' - elif cmd == 'b' or cmd == '/b': - tag_text = '**' - elif cmd == 'u' or cmd == '/u': - tag_text = '__' - else: - tag_text = '[' + tag_text + ']' - - text = pre_text + tag_text + post_text - pos = len(pre_text) + len(tag_text) - - # tnode = ET.SubElement(parent,"div") - # tnode.text=text - - return text - - -def make_type(t): - global class_names - if t in class_names: - return '[' + t + '](class_' + t.lower() + ')' - return t - - -def make_method( - f, - name, - m, - declare, - event=False, -): - - s = ' * ' - ret_type = 'void' - args = list(m) - mdata = {} - mdata['argidx'] = [] - for a in args: - if a.tag == 'return': - idx = -1 - elif a.tag == 'argument': - idx = int(a.attrib['index']) - else: - continue - - mdata['argidx'].append(idx) - mdata[idx] = a - - if not event: - if -1 in mdata['argidx']: - s += make_type(mdata[-1].attrib['type']) - else: - s += 'void' - s += ' ' - - if declare: - - # span.attrib["class"]="funcdecl" - # a=ET.SubElement(span,"a") - # a.attrib["name"]=name+"_"+m.attrib["name"] - # a.text=name+"::"+m.attrib["name"] - - s += ' **' + m.attrib['name'].replace("_", "_") + '** ' - else: - s += ' **[' + m.attrib['name'].replace("_", "_") + '](#' + m.attrib['name'] + ')** ' - - s += ' **(**' - argfound = False - for a in mdata['argidx']: - arg = mdata[a] - if a < 0: - continue - if a > 0: - s += ', ' - else: - s += ' ' - - s += make_type(arg.attrib['type']) - if 'name' in arg.attrib: - s += ' ' + arg.attrib['name'] - else: - s += ' arg' + str(a) - - if 'default' in arg.attrib: - s += '=' + arg.attrib['default'] - - argfound = True - - if argfound: - s += ' ' - s += ' **)**' - - if 'qualifiers' in m.attrib: - s += ' ' + m.attrib['qualifiers'] - - f.write(s + '\n') - - -def make_doku_class(node): - - name = node.attrib['name'] - - f = open("class_" + name.lower() + '.md', 'wb') - - f.write('# ' + name + ' \n') - - if 'inherits' in node.attrib: - inh = node.attrib['inherits'].strip() - f.write('####**Inherits:** ' + make_type(inh) + '\n') - if 'category' in node.attrib: - f.write('####**Category:** ' + node.attrib['category'].strip() - + '\n') - - briefd = node.find('brief_description') - if briefd != None: - f.write('\n### Brief Description \n') - f.write(dokuize_text(briefd.text.strip()) + '\n') - - methods = node.find('methods') - - if methods != None and len(list(methods)) > 0: - f.write('\n### Member Functions \n') - for m in list(methods): - make_method(f, node.attrib['name'], m, False) - - events = node.find('signals') - if events != None and len(list(events)) > 0: - f.write('\n### Signals \n') - for m in list(events): - make_method(f, node.attrib['name'], m, True, True) - d = m.find('description') - if d == None or d.text.strip() == '': - continue - f.write('\n') - f.write(dokuize_text(d.text.strip())) - f.write('\n') - - members = node.find('members') - - if members != None and len(list(members)) > 0: - f.write('\n### Member Variables \n') - - for c in list(members): - s = ' * ' - s += make_type(c.attrib['type']) + ' ' - s += '**' + c.attrib['name'] + '**' - if c.text.strip() != '': - s += ' - ' + c.text.strip() - f.write(s + '\n') - - constants = node.find('constants') - if constants != None and len(list(constants)) > 0: - f.write('\n### Numeric Constants \n') - for c in list(constants): - s = ' * ' - s += '**' + c.attrib['name'] + '**' - if 'value' in c.attrib: - s += ' = **' + c.attrib['value'] + '**' - if c.text.strip() != '': - s += ' - ' + c.text.strip() - f.write(s + '\n') - - descr = node.find('description') - if descr != None and descr.text.strip() != '': - f.write('\n### Description \n') - f.write(dokuize_text(descr.text.strip()) + '\n') - - methods = node.find('methods') - - if methods != None and len(list(methods)) > 0: - f.write('\n### Member Function Description \n') - for m in list(methods): - - d = m.find('description') - if d == None or d.text.strip() == '': - continue - f.write('\n#### <a name="' + m.attrib['name'] + '">' + m.attrib['name'] + '</a>\n') - make_method(f, node.attrib['name'], m, True) - f.write('\n') - f.write(dokuize_text(d.text.strip())) - f.write('\n') - - f.close() - - -for file in input_list: - tree = ET.parse(file) - doc = tree.getroot() - - if 'version' not in doc.attrib: - print "Version missing from 'doc'" - sys.exit(255) - - version = doc.attrib['version'] - class_name = doc.attrib['name'] - if class_name in class_names: - continue - class_names.append(class_name) - classes[class_name] = doc - -class_names.sort() - -make_class_list(class_names, 2) - -for cn in class_names: - c = classes[cn] - make_doku_class(c) diff --git a/doc/tools/makerst.py b/doc/tools/makerst.py index 93ad823d42..63a5c8cbbf 100755 --- a/doc/tools/makerst.py +++ b/doc/tools/makerst.py @@ -309,10 +309,41 @@ def rstize_text(text, cclass): return text +def format_table(f, pp): + 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 += "-" + 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") + f.write(sep) + f.write('\n') + + def make_type(t): global class_names if t in class_names: - return ':ref:`' + t + '<class_' + t.lower() + '>`' + return ':ref:`' + t + '<class_' + t + '>`' return t @@ -332,16 +363,15 @@ def make_enum(t): c = "@GlobalScope" e = t if c in class_names: - return ':ref:`' + e + '<enum_' + c.lower() + '_' + e.lower() + '>`' + return ':ref:`' + e + '<enum_' + c + '_' + e + '>`' return t def make_method( f, - name, - m, - declare, cname, + method_data, + declare, event=False, pp=None ): @@ -351,7 +381,7 @@ def make_method( t = "" ret_type = 'void' - args = list(m) + args = list(method_data) mdata = {} mdata['argidx'] = [] for a in args: @@ -377,9 +407,9 @@ def make_method( if declare or pp == None: - s = '**' + m.attrib['name'] + '** ' + s = '**' + method_data.attrib['name'] + '** ' else: - s = ':ref:`' + m.attrib['name'] + '<class_' + cname + "_" + m.attrib['name'] + '>` ' + s = ':ref:`' + method_data.attrib['name'] + '<class_' + cname + "_" + method_data.attrib['name'] + '>` ' s += '**(**' argfound = False @@ -406,8 +436,8 @@ def make_method( s += ' **)**' - if 'qualifiers' in m.attrib: - s += ' ' + m.attrib['qualifiers'] + if 'qualifiers' in method_data.attrib: + s += ' ' + method_data.attrib['qualifiers'] if (not declare): if (pp != None): @@ -418,6 +448,37 @@ def make_method( f.write(t + s + "\n") +def make_properties( + f, + cname, + prop_data, + description=False, + pp=None +): + t = "" + if 'enum' in prop_data.attrib: + t += make_enum(prop_data.attrib['enum']) + else: + t += make_type(prop_data.attrib['type']) + + if description: + s = '**' + prop_data.attrib['name'] + '**' + setget = [] + if 'setter' in prop_data.attrib and prop_data.attrib['setter'] != '' and not prop_data.attrib['setter'].startswith('_'): + setget.append(("*Setter*", prop_data.attrib['setter'] + '(value)')) + if 'getter' in prop_data.attrib and prop_data.attrib['getter'] != '' and not prop_data.attrib['getter'].startswith('_'): + setget.append(('*Getter*', prop_data.attrib['getter'] + '()')) + else: + s = ':ref:`' + prop_data.attrib['name'] + '<class_' + cname + "_" + prop_data.attrib['name'] + '>`' + + if (pp != None): + pp.append((t, s)) + elif description: + f.write('- ' + t + ' ' + s + '\n\n') + if len(setget) > 0: + format_table(f, setget) + + def make_heading(title, underline): return title + '\n' + underline * len(title) + "\n\n" @@ -435,6 +496,8 @@ def make_rst_class(node): f.write(".. _class_" + name + ":\n\n") f.write(make_heading(name, '=')) + # Inheritance tree + # Ascendents if 'inherits' in node.attrib: inh = node.attrib['inherits'].strip() f.write('**Inherits:** ') @@ -451,16 +514,15 @@ def make_rst_class(node): inh = inode.attrib['inherits'].strip() else: inh = None - f.write("\n\n") + # Descendents inherited = [] for cn in classes: c = classes[cn] if 'inherits' in c.attrib: if (c.attrib['inherits'].strip() == name): inherited.append(c.attrib['name']) - if (len(inherited)): f.write('**Inherited By:** ') for i in range(len(inherited)): @@ -468,56 +530,51 @@ def make_rst_class(node): f.write(", ") f.write(make_type(inherited[i])) f.write("\n\n") + + # Category if 'category' in node.attrib: f.write('**Category:** ' + node.attrib['category'].strip() + "\n\n") + # Brief description f.write(make_heading('Brief Description', '-')) briefd = node.find('brief_description') if briefd != None: f.write(rstize_text(briefd.text.strip(), name) + "\n\n") - methods = node.find('methods') + # Properties overview + members = node.find('members') + if members != None and len(list(members)) > 0: + f.write(make_heading('Properties', '-')) + ml = [] + for m in list(members): + make_properties(f, name, m, False, ml) + format_table(f, ml) + # Methods overview + methods = node.find('methods') if methods != None and len(list(methods)) > 0: - f.write(make_heading('Member Functions', '-')) + f.write(make_heading('Methods', '-')) ml = [] for m in list(methods): - make_method(f, node.attrib['name'], m, False, name, False, ml) - longest_t = 0 - longest_s = 0 - for s in ml: - 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 += "-" - sep += "+\n" - f.write(sep) - for s in ml: - rt = s[0] - while (len(rt) < longest_s): - rt += " " - st = s[1] - while (len(st) < longest_t): - st += " " - f.write("| " + rt + " | " + st + " |\n") - f.write(sep) - f.write('\n') + make_method(f, name, m, False, False, ml) + format_table(f, ml) + + # Theme properties + theme_items = node.find('theme_items') + if theme_items != None and len(list(theme_items)) > 0: + f.write(make_heading('Theme Properties', '-')) + ml = [] + for m in list(theme_items): + make_properties(f, name, m, False, ml) + format_table(f, ml) + # Signals events = node.find('signals') if events != None and len(list(events)) > 0: f.write(make_heading('Signals', '-')) for m in list(events): f.write(".. _class_" + name + "_" + m.attrib['name'] + ":\n\n") - make_method(f, node.attrib['name'], m, True, name, True) + make_method(f, name, m, True, True) f.write('\n') d = m.find('description') if d == None or d.text.strip() == '': @@ -525,26 +582,7 @@ def make_rst_class(node): f.write(rstize_text(d.text.strip(), name)) f.write("\n\n") - f.write('\n') - - members = node.find('members') - if members != None and len(list(members)) > 0: - f.write(make_heading('Member Variables', '-')) - - for c in list(members): - # Leading two spaces necessary to prevent breaking the <ul> - f.write(" .. _class_" + name + "_" + c.attrib['name'] + ":\n\n") - s = '- ' - if 'enum' in c.attrib: - s += make_enum(c.attrib['enum']) + ' ' - else: - s += make_type(c.attrib['type']) + ' ' - s += '**' + c.attrib['name'] + '**' - if c.text.strip() != '': - s += ' - ' + rstize_text(c.text.strip(), name) - f.write(s + '\n\n') - f.write('\n') - + # Constants and enums constants = node.find('constants') consts = [] enum_names = set() @@ -557,23 +595,12 @@ def make_rst_class(node): else: consts.append(c) - if len(consts) > 0: - f.write(make_heading('Numeric Constants', '-')) - for c in list(consts): - s = '- ' - s += '**' + c.attrib['name'] + '**' - if 'value' in c.attrib: - s += ' = **' + c.attrib['value'] + '**' - if c.text.strip() != '': - s += ' --- ' + rstize_text(c.text.strip(), name) - f.write(s + '\n') - f.write('\n') - + # Enums if len(enum_names) > 0: - f.write(make_heading('Enums', '-')) + f.write(make_heading('Enumerations', '-')) for e in enum_names: - f.write(" .. _enum_" + name + "_" + e + ":\n\n") - f.write("enum **" + e + "**\n\n") + f.write(".. _enum_" + name + "_" + e + ":\n\n") + f.write("enum **" + e + "**:\n\n") for c in enums: if c.attrib['enum'] != e: continue @@ -585,13 +612,27 @@ def make_rst_class(node): s += ' --- ' + rstize_text(c.text.strip(), name) f.write(s + '\n') f.write('\n') + + # Constants + if len(consts) > 0: + f.write(make_heading('Constants', '-')) + for c in list(consts): + s = '- ' + s += '**' + c.attrib['name'] + '**' + if 'value' in c.attrib: + s += ' = **' + c.attrib['value'] + '**' + if c.text.strip() != '': + s += ' --- ' + rstize_text(c.text.strip(), name) + f.write(s + '\n') f.write('\n') + # Class description descr = node.find('description') if descr != None and descr.text.strip() != '': f.write(make_heading('Description', '-')) f.write(rstize_text(descr.text.strip(), name) + "\n\n") + # Online tutorials global godot_docs_pattern tutorials = node.find('tutorials') if tutorials != None and len(tutorials) > 0: @@ -604,35 +645,43 @@ def make_rst_class(node): if match.lastindex == 2: # Doc reference with fragment identifier: emit direct link to section with reference to page, for example: # `#calling-javascript-from-script in Exporting For Web` - f.write("- `" + groups[1] + " <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n") + f.write("- `" + groups[1] + " <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n\n") # Commented out alternative: Instead just emit: # `Subsection in Exporting For Web` - # f.write("- `Subsection <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n") + # f.write("- `Subsection <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n\n") elif match.lastindex == 1: # Doc reference, for example: # `Math` - f.write("- :doc:`../" + groups[0] + "`\n") + f.write("- :doc:`../" + groups[0] + "`\n\n") else: # External link, for example: # `http://enet.bespin.org/usergroup0.html` - f.write("- `" + link + " <" + link + ">`_\n") - f.write("\n") + f.write("- `" + link + " <" + link + ">`_\n\n") + + # Property descriptions + members = node.find('members') + if members != None and len(list(members)) > 0: + f.write(make_heading('Property Descriptions', '-')) + for m in list(members): + f.write(".. _class_" + name + "_" + m.attrib['name'] + ":\n\n") + make_properties(f, name, m, True) + if m.text.strip() != '': + f.write(rstize_text(m.text.strip(), name)) + f.write('\n\n') + # Method descriptions methods = node.find('methods') if methods != None and len(list(methods)) > 0: - f.write(make_heading('Member Function Description', '-')) + f.write(make_heading('Method Descriptions', '-')) for m in list(methods): f.write(".. _class_" + name + "_" + m.attrib['name'] + ":\n\n") - make_method(f, node.attrib['name'], m, True, name) + make_method(f, name, m, True) f.write('\n') d = m.find('description') if d == None or d.text.strip() == '': continue f.write(rstize_text(d.text.strip(), name)) f.write("\n\n") - f.write('\n') - - f.close() file_list = [] |